Modul 1 - FUNGSI REKURSIF

download Modul 1 - FUNGSI REKURSIF

of 13

Transcript of Modul 1 - FUNGSI REKURSIF

LAPORAN RESMI PRAKTIKUM ALGORITMA STRUKTUR DATA MODUL 1 FUNGSI REKURSIF

Sesi / Kelompok : D1 / 06

Nama Praktikan : OKTYAWAN ADITYA (1034010153) RIRIN ROSALINE T. (1034010085)

ASISTEN DOSEN : MIN UMAMI (0834010199) DUDY HERRYANTO (0834010190)

LABORATORIUM PEMROGRAMAN KOMPUTER JUR. TEKNIK INFORMATIKA FAKULTAS TEKNIK INDUSTRI UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN JAWA TIMUR 2010

LEMBAR PENGESAHANTelah diperiksa dan disetujui Laporan Resmi :

Praktikum Modul Judul Rombongan Group

: Bahasa Pemrograman 1 : 1 (Satu) : Fungsi Rekursif : D : D1

Surabaya,

April 2011

Menyetujui, Asisten Penguji

(__________________) NPM:

I.

Dasar Teori

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi ini akan terus berjalan sampai kondisi berhenti terpenuhi, oleh karena itu dalam sebuah fungsi rekursif perlu terdapat 2 blok penting, yaitu blok yang menjadi titik berhenti dari sebuah proses rekursi dan blok yang memanggil dirinya sendiri. Contoh contoh penerapan rekursif : 1. Fungsi cetak ke layar Fungsi ini mencetak nilai dari paremeter yang dilempar kepadanya. Jika nilai dari parameter tersebut > 0, fungsi akan mencetak nilai dari parameter tersebut dan kemudian memanggil dirinya lagi, jika tidak, program berhenti.

2. Fungsi pangkat Fungsi ini digunakan untuk menghitung nilai: Xn dengan n berupa bilangan bulat positif. Solusi dari persoalan ini: JIKA n = 1 MAKA Xn = X SELAIN ITU: Xn = X * Xn-1 Sebagai contoh diambil nilai X=5 dengan n=3, pelukisan proses pemecahannya:

Berikut adalah fungsi pangkat dengan menggunakan solusi di atas:

a adalah bilangan yang dipangkatkan, sedangkan b adalah bilangan pemangkatnya. Jika nilai dari b adalah 1, return a, lainnya return a dikali dengan fungsi pangkat dengan parameter a dan b-1. Untuk lebih jelas, terapkan dalam program.

3. Fungsi faktorial Faktorial dapat dibuat dengan menerapkan rekursif. Berikut ini adalah fungsi faktorial rekursif dari sebuah program.

Fungsi faktorial diatas akan melakukan rekursi selama nilainya > 1. Sebagai contoh: 4!, pelukisan penyelesaiannya:

II. Soal 1. Buatlah program Menara Hanoi (Tower Of Hanoi) dengan batas inputan min 3 lempengan & maks. 5 lempengan dengan 3 menara (tower)!!

III. Algoritma

1. Mulai. 2. Telah di inisialisasikan, untuk fungsi pada program : void tower dimana fungsi tsb memiliki deklarasi (char dari_tower, char ke_tower, char hasil_towers, int k). 3. Telah di inisialisasikan, untuk void main memiliki deklarasi (int lempeng). 4. Inputkan jumlah lempeng (3-5) : 5. Jika lempeng=5, lakukan perpindahan lempeng sesuai inputan. Namun, jika inputan lebih atau kuran dari batasan inputan di atas, maka lakukan langkah ke-8. 6. Panggil void towers. 7. Cetak hasil perpindahan lempeng dari beberapa tower, lalu lakukan langkah ke-9. 8. Cetak Angka yang anda inputkan tidak sesuai batas min. maks. program!! , lalu lakukan langkah ke-9. 9. Selesai.

IV. Flow Chart

START

Char dari_tower, ke_tower, hasil_tower Int k, lempeng

Inputkan jumlah lempeng (3-5):

IF (lempeng>=3 && lempeng Inputkan berapa banyak lempeng (3-5) : "); ||\n"); ||\n"); - Pindahkan lempeng 1 dari tower %c ke tower %c",dari_tower,ke_tower);

printf("||================================================||\n"); scanf("%d",&lempeng); printf("||================================================||\n"); if(lempeng>=3 && lempeng=3 && lempeng=3 &