BAB II PROSES REKURSI DAN ITERASI

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB II PROSES REKURSI DAN ITERASI"

Transkripsi

1 1 BAB II PROSES REKURSI DAN ITERASI 2.1. Konsep Rekursi dan Iterasi Proses rekursi merupakan suatu fenomena yang menarik dalam pemrograman komputer. Rekursi adalah suatu proses perulangan untuk menyelesaikan suatu permasalahan berdasarkan suatu hubungan rekurens (recurrence relation). Rekursi dapat didefinisikan sebagai suatu prosedur atau fungsi yang melakukan eksekusi dengan memanggil atau memproses subprogram yang arahnya ke prosedur atau fungsi dirinya sendiri. Artinya, bahwa nilai suatu fungsi dengan argumen tertentu dapat dihitung dari fungsi yang sama dengan argumenargumen yang mempunyai hubungan rekurens. Jelasnya, prosedur rekursi adalah suatu proses berulang yang dilaksanakan dengan cara memanggil prosedur atau fungsi yang sama yaitu dirinya sendiri. Proses pemanggilan ke prosedur atau fungsi dirinya sendiri tersebut berlangsung secara berulang-ulang yang dapat berarti tidak diketahui kapan proses tersebut akan berakhir. Sedangkan iterasi merupakan suatu proses perulangan yang dilaksanakan oleh suatu prosedur atau fungsi atau sub program dengan cara memasukkan secara langsung nilai-nilai argumennya. Dalam proses iterasi, proses perulangan dikendalikan oleh suatu pencacah (counter) yang akan selalu berubah setiap kali selesai dilakukan proses perulangan. Dalam prakteknya, kita dapat secara bebas memilih salah satu di antara kedua teknik tersebut untuk diterapkan dalam program aplikasi. Namun sebagai seorang programer yang baik tentu harus mampu mengembangkan sebuah program aplikasi yang efisien dan optimal. Oleh karenanya kita harus mempertimbangkan tentang beberapa aspek untuk menentukan salah satu teknik yang paling tepat di antara kedua teknik tersebut untuk digunakan. Aspekaspek yang dimaksud adalah : 1. Efisiensi proses eksekusi program

2 2 2. Kemudahan penggunaan / penerapan dalam program aplikasi 3. Kejelasan logika untuk mengecek validitas prosedur 4. Kesederhanaan pengguna statemen dalam program Sungguh sangat sulit untuk menjawab pertanyaan apakah program yang menggunakan prosedur rekursi akan lebih baik bila dibandingkan dengan program yang menggunakan prosedur iterasi. Ataukah justru sebaliknya, prosedur secara iterasi akan lebih baik digunakan dalam program. Sebagaimana terjadi pada setiap permasalahan yang akan diselesaikan yang tidak terbatas dalam dunia pemrograman komputer, setiap alternatif penyelesaian akan selalu mempunyai kelebihan dan kelemahan yang tentu saja akan menjadi lebih baik untuk diterapkan jika terjadi kesesuaian antara kondisi pemasalahan dengan karakteristik yang dimiliki oleh teknik yang digunakan. Sehubungan dengan hal tersebut penerapan teknik rekursi dan iterasi juga akan memberikan hasil yang terbaik jika memenuhi keempat aspek tersebut di atas. Hal ini berarti bahwa kita tidak akan dapat menentukan prosedur yang lebih unggul di antara kedua prosedur di atas sebelum mengetahui permasalahannya. Pembahasan dalam bab ini, akan membawa Pembaca ke dalam suatu pemahaman tentang kedua teknik tersebut dan pada akhirnnya akan dapat membandingkan dan mengetahui tentang keunggulan dan kelemahan penggunaan teknik rekursi dan iterasi. Selanjutnya diharapkan, Pembaca akan mampu menentukan salah satu teknik yang sesuai untuk diterapkan pada saat menyelesaikan permasalahan pemrograman yang dihadapi Beberapa Contoh Permasalahan Untuk membantu memahami proses yang terjadi dalam teknik rekursi dan iterasi, berikut ini akan disajikan beberapa contoh permasalahan yang sering dijumpai dalam pemrograman komputer yang dapat diselesaikan secara rekursi dan iterasi. Dengan memahami contoh-contoh yang disajikan diharapkan Pembaca akan memahami proses yang terjadi dalam kedua teknik tersebut, dapat

3 3 membedakan kedua teknik tersebut jika diterapkan ke dalam program-program aplikasi, serta dapat menentukan teknik yang paling tepat untuk digunakan dalam program aplikasi yang akan dikembangkan Perkalian Dua Bilangan Integer Dalam contoh berikut ini akan disajikan tentang bagaimana menyelesaikan permasalahan perkalian dua bilangan bulat prositif (integer) yang dapat diselesaikan secara rekursi dan iterasi. Dalam cara yang pertama, permasalahan tersebut akan diselesaikan dengan teknik rekursi yang dapat dinotasikan sebagai berikut ini : Kali(A,B) = A ; jika B = 1 Kali(A,B) = (A + Kali (A,B-1)) ; jika B > 1 Arti dari masing-masing notasi di atas adalah sebagai berikut : Kali(A,B) : nilai hasil operasi perkalian antara A dan B A dan B : nilai-nilai bilangan yang dioperasikan (operand) Dari contoh di atas dapat dipahami, bahwa jika B mempunyai harga 1, maka nilai pada Kali(A,B) akan sama dengan harga A. Sebaliknya jika B mempunyai harga lebih dari 1, maka nilai pada Kali(A,B) tidak dapat langsung ditemukan, tetapi harus dihitung terlebih dahulu nilai pada Kali(A,B-1). Untuk mendapatkan nilai pada Kali(A,B-1) harus dihitung terlebih dahulu nilai pada Kali(A,B-2). Untuk memperoleh nilai Kali(A,B-2) harus dihitung terlebih dahulu nilai pada Kali(A,B-3), dan untuk memperoleh nilai Kali(A,B-3) harus dihitung terlebih dahulu nilai pada Kali(A,B-4). Demikian seterusnya proses ini akan selalu diulang secara selama nilai B lebih dari 1. Solusi dalam bentuk flowchart untuk menyelesaikan perkalian dua bilangan integer yang dilakukan secara rekursi ditunjukkan pada Gambar 2.1. Sedangkan solusi dalam bentuk algoritmanya dapat dituliskan sebagai berikut ini:

4 4 A dan B merupakan variabel untuk menyimpan nilai-nilai bilangan yang akan dikalikan. Kali(A,B) merupakan variabel untuk menyimpan nilai hasil operasi perkalian A dan B. 1. Mulai 2. Proses berulang langkah-2 untuk mengecek apakah harga B = 1 IF B=1 Jika ya, Kali(A,B) = A, lanjutkan ke langkah-3 Jika tidak, Kali(A,B) = A + Kali (A,B-1) 3. Cetak hasil Kali (A,B) 4. Selesai Mulai Baca A, B YA B=1 TIDAK Kali(A,B) = A Kali(A,B) = A+Kali(A,B-1) Cetak Kali(A,B) Selesai Gambar 2.1 : Flowchart prosedur perkalian dua bilangan integer secara rekursi Untuk lebih jelasnya, perhatikan proses yang terjadi dalam perkalian dua bilangan integer yang dilakukan secara rekursi dalam contoh-contoh berikut ini :

5 5 6x1 = 6 6x2 = 6 + 6(2-1) = = 12 6x3 = 6 + 6(3-1) = (3-2) = = 18 6x4 = 6 + 6(4-1) = (4-2) = (4-3) = = 24 Dalam contoh-contoh di atas, A mempunyai harga 6 dan B mempunyai harga 1, 2, 3, dan 4. Perhatikan apa yang akan terjadi seandainya harga A=1, dan B mempunyai harga yang sangat besar. Tentu saja, jika terjadi demikian maka proses yang terjadi dalam prosedur rekursi tersebut akan mengulang proses penjumlahan harga A (=1) secara berulang sebanyak B kali. Proses seperti ini tentu menjadi sangat tidak efisien untuk dilakukan. Permasalahan tersebut sebenarnya dapat diatasi dengan memberikan sedikit modifikasi pada prosedur di atas. Modifikasi dapat dilakukan dengan memberikan langkah tambahan untuk melakukan pengecekan guna membandingkan besarnya harga A dan B. Proses pengecekan ini dilakukan pada bagian awal proses. Harga masukan yang lebih kecil selanjutnya ditetapkan sebagai A. Dengan melakukan modifikasi seperti ini, maka proses rekursi dalam perkalian dua bilangan integer akan menjadi lebih baik / efisien.

6 6 Solusi dalam bentuk algoritma perkalian dua bilangan integer hasil modifikasi tersebut dapat dituliskan sebagai berikut ini: A dan B merupakan variabel untuk menyimpan nilai-nilai bilangan yang akan dikalikan. BANTU merupakan variabel bantuan untuk menukar nilai A dan B Kali(A,B) merupakan variabel untuk menyimpan nilai hasil operasi perkalian A dan B. 1. Mulai 2. Cek apakah B lebih dari A IF B > A Jika ya, BANTU = A A = B B = A 3. Proses berulang langkah-3 untuk mengecek apakah harga B = 1 IF B = 1 Jika ya, Kali(A,B) = A, lanjutkan ke langkah-4 Jika tidak, Kali(A,B) = A + Kali (A,B-1) 4. Cetak hasil Kali (A,B) 5. Selesai Teknik kedua untuk menyelesaikan perkalian dua bilangan integer adalah menyelesaikannya secara iterasi. Notasinya dapat dituliskan sebagai berikut : Kali(A,B) = A+A+A+A+...+A B kali Perulangan penambahan A pada fungsi Kali(A,B) dilakukan sebanyak B kali. Contoh : 6 x 1 = 6 1 kali

7 7 6 x 2 = kali = 12 6 x 3 = = 18 3 kali 6 x 4 = = 24 4 kali Flowchart penerapan teknik iterasi untuk perkalian dua bilangan integer dalam contoh di atas ditunjukkan pada Gambar 2.2. Selanjutnya, solusi dalam bentuk algoritma untuk perkalian dua bilangan integer dengan teknik iterasi dapat dituliskan sebagai berikut ini : A dan B merupakan variabel untuk menyimpan nilai bilangan yang akan dikalikan. Kali(A,B) merupakan variabel untuk menyimpan nilai hasil operasi perkalian A dan B. 1. Mulai 2. Tentukan, harga awal fungsi Kali(A,B) Kali(A,B) = 0 3. Proses berulang langkah-3 selama B<>0 Cek harga B WHILE B <>0 Jika ya, hitung Kali(A,B) = Kali(A,B) + A B = B Cetak hasil Kali(A,B) 5. Selesai

8 8 Mulai Baca A,B Kali(A,B) =0 Kali(A,B) = Kali(A,B) + A TIDAK B=0 YA Kali (A,B) B = B - 1 Selesai Gambar 2.2 : Flowchart prosedur perkalian dua bilangan integer secara iterasi Dalam cara iterasi, juga mungkin terjadi kasus perkalian bilangan 1 dengan suatu bilangan lain yang mempunyai harga sangat besar, sehingga akan mengakibatkan diulangnya proses perulangan yang tidak efisien. Hal ini juga dapat diatasi dengan memberikan sedikit modifikasi sebagaimana dilakukan pada bagian sebelumnya pada teknik rekursi. Efektifitas proses perkalian dua bilangan integer dalam contoh-contoh di atas sangat ditentukan oleh berapa kali langkah yang harus dilakukan untuk menemukan hasil akhir perhitungan yang dicari. Dengan membandingkan kedua contoh penyelesaian masalah di atas, kita dapat menarik kesimpulan bahwa

9 9 penggunaan teknik iterasi untuk mengalikan dua bilangan integer pada umumnya akan lebih efektif dari pada jika dikerjakan dengan teknik rekursi Mencari Bilangan FIBONACCI Bilangan FIBONACCI adalah suatu deret bilangan bulat positif (integer) tak berhingga yang secara berurutan adalah didefinisikan sebagai berikut ini : dst Jika diamati deret bilangan FIBONACCI di atas, maka dapat dipahami bahwa nilai bilangan FIBONACCI suku ke-n dalam deret tersebut dapat dihitung dengan menjumlahkan dua bilangan terdekat pada urutan sebelumnya. Sebagai contoh, suku bilangan ke-6 dapat dihitung dengan menjumlahkan suku bilangan ke-5 dan ke-4. Nilai bilangan FIBONACCI suku-5 dapat dihitung dengan cara menjumlahkan suku bilangan ke-4 dan ke3. Nilai bilangan FIBONACCI suku-4 dapat dihitung dengan cara menjumlahkan suku bilangan ke-3 dan ke-2. Nilai bilangan FIBONACCI suku-3 dapat dihitung dengan cara menjumlahkan suku bilangan ke-2 dan ke-1. Secara umum nilai bilangan FIBONACCI suku-n dapat dihitung dengan menjumlahkan nilai-nilai bilangan FIBONACCI suku-(n-1) dan ke-(n-2). Dengan demikian, nilai-nilai bilangan FIBONACCI untuk n=1 dan n=2 merupakan nilainilai awal yang perlu ditetapkan sebelumnya. Nilai-nilai awal tersebut digunakan sebagai dasar untuk menghitung nilai-nilai bilangan FIBONACCI untuk suku-suku berikutnya, yaitu bernilai 1 (lihat deret FIBONACCI di atas). Pencarian nilai suku bilangan FIBONACCI secara rekursi dapat dinotasikan sebagai berikut ini : FIBONACCI(n)= n ; jika n=1 atau n=2 FIBONACCI(n)= FIBONACCI(n-1)+FIBONACCI(n-2) ; jika n>2

10 10 Contoh : Mencari bilangan FIBONACCI suku ke-4 dapat dihitung secara rekursi dengan cara sebagai berikut : FIBONACCI (4) = FIBONACCI(3) + FIBONACCI(2) = FIBONACCI(2)+FIBONACCI(1)+ 1 = = 3 Ingat nilai bilangan FIBONACCI suku ke-2 dan ke-1 adalah 1, sehingga dari hasil perhitungan diperoleh harga FIBONACCI suku ke-4 adalah sama dengan 3. Untuk harga-harga bilangan FIBONACCI pada suku-suku selanjutnya dapat dihitung dengan cara yang sama seperti di atas. Tentu bukan hal yang sulit untuk melakukannya, tetapi perlu kecermatan untuk mendapatkan hasil akhir perhitungan yang benar. Mulai Baca n YA FIBONACCI (n) = 1 n = 1 OR n = 2 TIDAK FIBONACCI (n) = FIBONACCI(n-1) + FIBONACCI (n-2) Cetak FIBONACCI (n) Selesai Gambar 2.3 : Flowchart prosedur mencari bilangan FIBONACCI secara rekursi

11 11 Flowchart prosedur untuk mencari nilai bilangan FIBONACCI suku ke-n secara rekursi ditunjukkan Gambar 2.3. Sedangkan, solusi dalam bentuk algoritmanya dapat dituliskan sebagai berikut ini : Masukan suku bilangan FIBONACCI yang akan dicari (=n). FIBONACCI merupakan variabel untuk menyimpan harga suku bilangan Fibonacci yang dicari. 1. Mulai 2. Baca n 3. Proses berulang langkah-2 Cek harga n IF (n=1) OR (n=2) Jika ya, FIBONACCI(n) = 1, lanjutkan ke langkah-4 Jika tidak, FIBONACCI(N) = FIBONACCI(n - 1) + FIBONACCI(n - 2) 4. Cetak hasil FIBONACCI(n) 5. Selesai Cara lain untuk menghitung nilai suku bilangan FIBONACCI adalah dengan menggunakan teknik iterasi. Dalam teknik iterasi nilai suku bilangan FIBONACCI dihitung dengan melaksanakan suatu proses perulangan yang memanfaatkan nilai bilangan FIBONACCI suku ke-1 sebagai dasar perhitungan untuk mencari nilai pada suku ke-2. Nilai pada suku ke-2 digunakan sebagai dasar mencari nilai suku ke-3. Nilai pada suku ke-3 digunakan sebagai dasar mencari nilai suku ke- 4. Demikian seterusnya hingga nilai bilangan FIBONACCI pada suku ke-n yang dikehendaki ditemukan. Flowchart prosedur untuk mencari nilai bilangan FIBONACCI suku ke-n dengan teknik iterasi ditunjukkan pada Gambar 2.4. Logika proses yang terjadi pada teknik iterasi untuk mencari nilai bilangan FIBONACCI suku ke-n adalah dimulai dengan penetapan harga-harga awal untuk variabel I, FIBONACCI, dan TERAKHIR. I digunakan sebagai variabel pencacah (counter) dalam proses perulangan. FIBONACCI digunakan sebagai variabel bilangan FIBONACCI yang mempunyai harga awal 1 pada suku ke-1.

12 12 TERAKHIR digunakan sebagai variabel untuk menyimpan harga hasil perhitungan bilangan FIBONACCI terakhir pada setiap kali perulangan. Harga awal untuk variabel TERAKHIR adalah 1. Langkah selanjutnya adalah pengecekan harga n yang merupakan variabel untuk menyimpan data suku ke berapa yang akan dicari. Jika n=1, artinya akan dihitung harga bilangan FIBONACCI suku ke-1, maka nilainya adalah 1 yaitu harga awal yang telah ditetapkan. Sebaliknya, jika n>1, maka akan dilakukan proses berulang selama harga pancacah I kurang dari atau sama dengan n. Variabel BANTU digunakan sebagai variabel bantuan untuk menyimpan nilai sementara suku terakhir dalam deret FIBONACCI selama proses perulangan. Pada akhirnya proses akan berhenti dan nilai yang dicari akan diketemukan jika I=n, dan hasil perhitungannya tersimpan dalam variabel FIBONACCI. Algoritma untuk mencari nilai bilangan FIBONACCI suku ke-n dengan menerapkan teknik iterasi adalah dituliskan sebagai berikut ini : Masukkan harga suku bilangan FIBONACCI yang akan akan dicari (n). FIBONACCI merupakan variabel untuk menyimpan harga bilangan fibonacci yang dicari. BANTU merupakan variabel bantuan untuk menampung hasil perhitungan sementara. 1. Mulai 2. Tentukan harga-harga awal I, FIBONACCI, dan TERAKHIR I = 1 FIBONACCI = 1 TERAKHIR = 0 3. Cek harga n IF n = 1 Jika ya, maka FIBONACCI = 1, lanjutkan ke langkah-6 4. Proses berulang langkah-4 hingga langkah-5 untuk menghitung FIBONACCI Hitung BANTU = FIBONACCI I = I + 1

13 13 5. Hitung FIBONACCI = FIBONACCI + TERAKHIR TERAKHIR = BANTU 6. Cetak Hasil FIBONACCI 7. Selesai Mulai I = 1 FIBOANCCI = 1 TERAKHIR = 1 TIDAK n = 1 YA FIBONACCI = 1 n < > 1 Bantu = FIBONACCI I = I+ 1 FIBONACCI = FIBONACCI + TERAKHIR TERAKHIR = BANTU Cetak FIBONACCI Selesai Gambar 2.4. : Flowchart prosedur mencari bilangan FIBONACCI secara iterasi Sebagaimana terjadi dalam perkalian dua bilangan integer, dalam contoh kasus perhitungan nilai bilangan FIBONACCI ini, secara umum teknik iterasi mampu melaksanakan proses perhitungan secara lebih efisien dibandingkan jika

14 14 diselesaikan dengan menerapkan teknik rekursi. Dan tentu saja, hasil perhitungannya akan dapat ditemukan secara lebih cepat. Cobalah untuk menghitung berapa kali proses perulangan yang harus dilakukan untuk mencari nilai bilangan FIBONACCI suku ke-1, ke-2, ke-3, ke-4, dan ke-5 apabila diselesaikan secara rekursi. Bandingkan hasilnya jika diselesaikan secara iterasi, prosedur manakah yang lebih baik untuk diterapkan dalam perhitungan bilangan FIBONACCI tersebut Mencari Nilai Faktorial Bilangan Integer Faktorial suatu biangan dalam matematika dinotasikan menggunakan tanda "! " yang dituliskan di belakang bilangan yang akan dihitung faktorialnya. Harga Faktorial merupakan hasil perkalian suku-suku pada suatu bilangan yang dihitung. Berikut ini diberikan contoh untuk menghitung nilai Faktorial suatu bilangan, yaitu : 6! = 6 x 5 x 4 x 3 x 2 x 1 = 720 5! = 5 x 4 x 3 x 2 x 1 = 120 4! = 4 x 3 x 2 x 1 = 24 3! = 3 x 2 x 1 = 6 2! = 2 x 1 = 2 1! = 1 (digunakan sebagai nilai awal)

15 15 Mencari nilai faktorial suatu bilangan bulat positif (integer) sebagaimana contoh di atas merupakan contoh permasalahan lain yang dapat diselesaikan dengan menerapkan teknik iterasi maupun teknik rekursi. Secara rekursi notasi untuk menghitung nilai faktorial dapat dituliskan sebagai berikut : FAKTORIAL(n) = 1 ; jika n = 0 FAKTORIAL(n) = n x FAKTORIAL(n-1) ; jika n > 0 Contoh : 5! = 5 x 4! = 5 x 4 x 3! = 5 x 4 x 3 x 2! = 5 x 4 x 3 x 2 x 1! = 5 x 4 x 3 x 2 x 1 x 0! = 5 x 4 x 3 x 2 x 1 x 1 x 1 = 120 Dalam kasus seperti ini, maka proses dalam prosedur akan melompat ke dalam fungsi dirinya selama harga n > 0. dalam contoh di atas, harga dari 5! adalah 120. Selanjutnya flowchart prosedur untuk menghitung nilai faktorial suatu bilangan secara rekursi ditunjukkan pada Gambar 2.5. Solusi dalam bentuk algoritma untuk menghitung nilai faktorial suatu bilangan secara rekursi dapat dituliskan sebagai berikut ini : Masukkan bilangan yang akan dihitung nilai faktorialnya (=n). FAKTORIAL merupakan variabel untuk menyimpan harga faktorial yang dicari. 1. Mulai 2. Proses berulang langkah-2 Cek harga n IF n = 0 Jika ya, FAKTORIAL(n) = 1, lanjutkan ke langkah-3 Jika tidak, FAKTORIAL(n) = n x FAKTORIAL(n 1) 3. Cetak hasil

16 16 4. Selesai FAKTORIAL(n) Mulai Baca n n = 0 FAKTORIAL(n) = 1 FAKTORIAL(n)= nxfaktorial(n-1) Cetak FAKTORIAL(n) Selesai Gambar 2.5. : Flowchart prosedur menghitung nilai Faktorial secara rekursi Cara lain untuk menghitung nilai Faktorial adalah menyelesaikannya dengan menggunakan teknik iterasi. Dalam cara kedua ini, nilai Faktorial dihitung dengan melakukan suatu proses perulangan untuk mengalikan setiap faktor bilangan yang dicari nilai faktorialnya. Dalam contoh berikut / counter yaitu X. Hasil perhitungan pada setiap iterasi perulangan ditampung pada variabel memori yaitu AKHIR. Hasi akhir nilai faktorial yang dicari akan diperoleh setelah proses perulangan berhenti yaitu ketika X=0 dan akan disimpan dalam variabel yang dinamakan FAKTORIAL. Flowchart prosedur untuk menghitung nilai faktorial dengan teknik iterasi adalah ditunjukan pada Gambar 2.6. Sedangkan solusi dalam bentuk algoritma prosedur untuk menghitung nilai faktorial secara iterasi dapat dituliskan sebagai berikut :

17 17 Masukkan bilangan yang akan dicari nilai faktorialnya (=n). X, BANTU dan AKHIR adalah variabel bantuan untuk menghitung nilai faktorial. 1. Mulai 2. Tentukan harga-harga awal X dan AKHIR X = n AKHIR = 1 3. Proses berulang selama x <> 0 WHILE X <> 0 Hitung AKHIR = AKHIR x X X = X Tentukan FAKTORIAL = AKHIR 5. Cetak hasil FAKTORIAL 6. Selesai Mulai X = n AKHIR = 1 YA While X <> 0 TIDAK AKHIR = AKHIR x X X = X - 1 FAKTORIAL = AKHIR Cetak FAKTORIAL Selesai Gambar 2.6. : Flowchart prosedur menghitung nilai faktorial secara iterasi

18 18 Dalam contoh kasus mencari nilai Faktorial suatu bilangan, ternyata penyelesaian akan lebih efisien jika diselesaikan dengan prosedur secara iterasi. Logika proses penyelesaiannya begitu mudah dipahami, proses perhitungannya sederhana, dan mudah, sehingga memudahkan dalam pengecekan jika terjadi kesalahan dalam prosedur penyelesaian. Sehingga teknik iterasi relatif lebih baik dibanding teknik rekursi Keunggulan Dan Kelemahan Teknik Rekursi dan Iterasi Dengan mencermati beberapa contoh yang disajikan di atas, maka beberapa keunggulan dan kelemahan penggunaan teknik rekursi dan iterasi dalam program-program aplikasi akan dapat saling dibandingkan. Berikut adalah pernyataan umum berkaitan dengan penggunaan teknik rekursi dan iterasi yang dapat disimpulkan berkaitan dengan dua teknik tersebut. 1. Kecepatan Pada umumnya pemakaian teknik iterasi mempunyai kecepatan yang lebih tinggi jika dibandingkan jika menggunakan teknik rekursi. Alasan utamanya, karena teknik rekursi mempunyai jumlah langkah keluar masuk blok fungsi atau prosedur secara berulang yang relatif jauh lebih banyak. Prosedur rekursi melakukan proses berulang yang sebenarnya telah dilakukan sebelumnya. Selain itu teknik rekursi harus melakukan langkah-langkah tambahan sehubungan dengan operasi "tumpukan" (stack) yang diakibatkan proses perulangan pada fungsi dirinya sendiri. 2. Kemudahan dipahami Pada umumnya logika program aplikasi yang menerapkan teknik iterasi relatif lebih mudah dipahami. Hal ini sangat bermanfaat bagi keperluan pengecekan kesalahan prosedur dalam program dan kemudian membetulkannya (debuging). 3. Keterbatasan penggunaan

19 19 Secara nalari kita akan lebih mudah menerapkan teknik iterasi ke dalam prgram-program aplikasi dari pada menggunakan teknik rekursi. Ini merupakan alasan subyektif yang sangat bergantung pada diri kita masingmasing. Namun demikian, pada beberapa kasus pemrograman ada kalanya kita tidak mungkin dapat menghindarkan diri untuk menggunakan teknik rekursi pada beberapa permasalahan yang hanya akan dapat diselesaikan menggunakan teknik rekursi. Salah satu contoh kasus permasalahan yang hanya akan dapat diselesaikan secara efisien jika menggunakan teknik rekursi adalah permainan Menara Hanoi yang sangat sulit bagi kita untuk menentukan sampai kapan program harus berhenti melakukan proses perulangan. Penyelesaian permainan Menara Hanoi telah banyak dibahas dalam buku-buku pemrograman yang beredar saat ini, sehingga tidak akan dibahas dalam buku ini. Beberapa contoh permasalahan lain yang dapat diselesaikan dengan menerapkan teknik rekursi dan iterasi adalah proses pencarian (searching) data dari suatu larik data yang telah urut. Jika cacah data sangat besar, tentu saja akan lebih efisien jika diselesaikan menggunakan teknik rekursi yaitu dengan metoda "binary search" dari pada menggunakan teknik iterasi dalam metoda "linear search" (kedua metoda ini akan dibahas pada Bab VI). Teknik rekursi merupakan suatu teknik pemrograman yang penting dan berdaya guna untuk digunakan pada penyelesaian masalah-masalah pemrograman yang perlu mengekspresikan ke dalam suku-suku dari program dengan menambahkan langkah-langkah sejenis (menggunakan fungsi yang sama) berdasarkan suatu hubungan rekurens (recurance relations). Dalam hal ini teknik rekursi mempunyai tingkat efisiensi yang lebih baik dari pada penggunaan teknik iterasi. 4. Penggunaan memori Dalam hal pemanfaatan memori, teknik rekursi akan menghasilkan peta penggunaan memori yang terstruktur, sedangkan teknik iterasi tidak demikian.

20 20 5. Keterbatasan perangkat lunak bahasa pemrograman Penggunaan teknik rekursi akan memberikan implementasi struktur data "tumpukan" (stack) yang dilakukan secara internal oleh komputer. Akibatnya, tidak semua bahasa pemrograman komputer mampu melakukan teknik rekursi. Namun demikian bahasa-bahasa pemrograman versi baru telah mendukung penerapan teknik rekursi, misal bahasa C++, Turbo C, Turbo Pascal, Asembler, dan lain-lain. Khusus untuk bahasa Assembler, sekalipun mendukung penggunaan teknik rekursi artinya bahwa programer dapat memanfaatkan bahasa pemrograman tersebut untuk memecahkan permasalahan dengan menggunakan teknik rekursi, namun programmer harus merancang dan menginisialisasikan sendiri tentang pengolahan operasi tumpukan (stack). Sebagai catatan tambahan, pada akhirnya penggunaan teknik rekursi atau iterasi pada program-program aplikasi adalah bergantung pada masing-masing pemrogram aplikasi. Mungkin dalam kasus-kasus tertentu teknik rekursi akan lebih baik diterapkan, namun karena tak cukup mampu atau karena lebih suka menggunakan teknik iterasi yang sebenarnya sangat bertele-tele dan tidak efisien, dan pada akhirnya tekni iterasi yang dipilih dan digunakan, maka tidak mungkin bagi orang lain untuk mencegahnya. Sebagai pesan pada akhir bab ini, kita harus berusaha untuk merancang dan mengembangkan program aplikasi yang efisien dan optimal. Gunakanlah teknik rekursi atau iterasi secara tepat. Kita perlu merancang dan mengembangkan program-program aplikasi yang berkualitas, efisien, dan efektif.

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com ALGORITHM 3 Rekursif Algorithm Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif Algoritma dan Pemrograman Lanjut Pertemuan Ke-5 Rekursif Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran Yogyakarta

Lebih terperinci

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Rekursif Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursi diimplementasikan dalam sebuah fungsi yang

Lebih terperinci

BAB VII PENCARIAN DATA (SEARCHING)

BAB VII PENCARIAN DATA (SEARCHING) 1 BAB VII PENCARIAN DATA (SEARCHING) Seperti halnya dengan pengurutan data, pencarian data (searching) merupakan operasi yang penting dalam pengolahan data. Bahkan, tidak jarang keduanya digunakan secara

Lebih terperinci

BAB V Tujuan 5.1 Rekursi Dasar

BAB V Tujuan 5.1 Rekursi Dasar BAB V Rekursi Tujuan 1. Memahami rekursi sebagai konsep yang dapat digunakan untuk merumuskan solusi sederhana dalam sebuah permasalahan yang sulit untuk diselesaikan secara iteratif dengan menggunakan

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 9 Rekusif A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo 2 Pendahuluan Algoritma

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo

Lebih terperinci

Rekursif/ Iterasi/ Pengulangan

Rekursif/ Iterasi/ Pengulangan Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi Penyaji : Rekursif : Zulkarnaen NS 1 Rekursif/ Iterasi/ Pengulangan Instruksi perulangan digunakan untuk menjalankan satu atau beberapa insturksi

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo 2 1 Pendahuluan Algoritma

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif PRAKTIKUM 7-8 REKURSIF A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif B. DASAR TEORI Rekursif berarti bahwa suatu proses bisa memanggil

Lebih terperinci

Pertemuan 4 Diagram Alur / Flowchart

Pertemuan 4 Diagram Alur / Flowchart Pertemuan 4 Diagram Alur / adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan

Lebih terperinci

BAB XI METODA COBA-SALAH (TRIAL-ERROR)

BAB XI METODA COBA-SALAH (TRIAL-ERROR) 1 BAB XI METODA COBA-SALAH (TRIAL-ERROR) Metoda coba-salah atau trial-error merupakan salah satu metoda yang penting dan berdaya guna dalam perhitungan-perhitungan yang sangat sulit jika diselesaikan dengan

Lebih terperinci

Decission : if & if else

Decission : if & if else PRAKTIKUM 5 Decission : if & if else A. TUJUAN PEMBELAJARAN 1. Menjelaskan tentang operator kondisi (operator relasi dan logika) 2. Menjelaskan penggunaan pernyataan if 3. Menjelaskan penggunaan pernyataan

Lebih terperinci

PERTEMUAN 7 REVIEW (QUIZ)

PERTEMUAN 7 REVIEW (QUIZ) PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

BAB XIII MENGECEK KESAMAAN DUA VEKTOR

BAB XIII MENGECEK KESAMAAN DUA VEKTOR 1 BAB XIII MENGECEK KESAMAAN DUA VEKTOR Dalam banyak kesempatan, seringkali kita memerlukan operasi untuk mengecek kesamaan di antara dua kelompok data. Dengan memanfaatkan ide dalam beberapa algoritma

Lebih terperinci

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C Praktikum 6 Rekursi POKOK BAHASAN: Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C TUJUAN BELAJAR: Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan

Lebih terperinci

FUNGSI PADA PYTHON. def <nama_fungsi>(arg1, arg2, arg3,,argn) : <statemen-statemen>

FUNGSI PADA PYTHON. def <nama_fungsi>(arg1, arg2, arg3,,argn) : <statemen-statemen> FUNGSI PADA PYTHON 1. Pendahuluan Fungsi (Function) adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses

Lebih terperinci

PENGAMBILAN KEPUTUSAN

PENGAMBILAN KEPUTUSAN Praktikum 5 (1/3) PENGAMBILAN KEPUTUSAN A. TUJUAN 1. Menjelaskan tentang operator kondisi (operator relasi dan logika) 2. Menjelaskan penggunaan pernyataan if 3. Menjelaskan penggunaan pernyataan if-else

Lebih terperinci

Perulangan Rekursif dan Perulangan Iteratif

Perulangan Rekursif dan Perulangan Iteratif Struktur Rekursif Perulangan Rekursif dan Perulangan Iteratif Rekursif adalah suatu proses yang bisa memenggil dirinya sendiri. Perulangan rekursif merupakan salah satu metode didalam pemrograman yang

Lebih terperinci

oleh : Edhy Suta tanta

oleh : Edhy Suta tanta ALGORITMA TEKNIK PENYELESAIAN PERMASALAHAN UNTUK KOMPUTASI oleh : Edhy Sutanta i KATA PENGANTAR Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-nya sehingga buku

Lebih terperinci

BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN

BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN 1 BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN Dalam banyak usaha pemecahan permasalahan, seringkali harus diselesaikan dengan menggunakan persamaan-persamaan matematis, baik persamaan linier, persamaan kuadrat,

Lebih terperinci

Algoritma Perulangan. Kuliah algoritma dan pemrograman

Algoritma Perulangan. Kuliah algoritma dan pemrograman Algoritma Perulangan Kuliah algoritma dan pemrograman Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari yang pertama sampai dengan instruksi terakhir, kemudian setiap instruksi

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan

Lebih terperinci

Struktur Kontrol. (Repetition)

Struktur Kontrol. (Repetition) Struktur Kontrol 1. Pemilihan (Selection) 2. Pengulangan (Repetition) PERULANGAN/ LOOPING/ REPETITION While Do-While For Nested For Perulangan Pernyataan While, Do while, For, dan Nested For dapat digunakan

Lebih terperinci

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah REKURSIF DASAR PEMROGRAMAN Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah THE HANDSHAKE PROBLEM Ada n orang di dalam sebuah ruangan. Jika masing-masing orang harus bersalaman dengan setiap

Lebih terperinci

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT S1 Teknik Informatika-Unijoyo 2 Struktur

Lebih terperinci

TUGAS PEMROGRAMAN DASAR PENGULANGAN WHILE

TUGAS PEMROGRAMAN DASAR PENGULANGAN WHILE TUGAS PEMROGRAMAN DASAR PENGULANGAN WHILE 10115220 Ikhsan Darmawan 10115238 Setiadi Zainal Muttaqin 10115249 Moch Agung Gumelar TEKNIK INFORMATIKA UNIVERSITAS KOMPUTER INDONESIA TAHUN 2016 KATA PENGANTAR

Lebih terperinci

ALGORITMA PERULANGAN

ALGORITMA PERULANGAN Pertemuan 08 ALGORITMA PERULANGAN Pada Bab ini anda akan mempelajari 1. Pengertian algoritma perulangan 2. Perulangan for-do 3. Perulangan while-do 4. Perulangan repeat-until Algoritma Perulangan Ada kalanya

Lebih terperinci

I Putu Gede Darmawan

I Putu Gede Darmawan Cepat Mahir Algoritma dalam C I Putu Gede Darmawan IPGD_BALI@yahoo.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan

Lebih terperinci

Bab 4 Perintah Perulangan

Bab 4 Perintah Perulangan Bab 4 Perintah Perulangan Proses perulangan (loop) adalah proses yang mengerjakan satu atau lebih statement lainnya secara berulang-ulang. Pada bahasa BASIC terdapat beberapa perintah untuk proses perulangan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT S1 Teknik Informatika-Unijoyo

Lebih terperinci

Soal Ujian Akhir Semester Pendek TA. 2006/2007 D3-Manajemen Informatika

Soal Ujian Akhir Semester Pendek TA. 2006/2007 D3-Manajemen Informatika Soal Ujian Akhir Semester Pendek TA. 2006/2007 D3-Manajemen Informatika Mata Ujian : Logika dan Algoritma Dosen : Heri Sismoro, S.Kom., M.Kom. Hari, tanggal : Selasa, 07 Agustus 2007 Waktu : 100 menit

Lebih terperinci

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I Dasar Pemrograman Kondisi dan Perulangan By : Hendri Sopryadi, S.Kom, M.T.I Kondisi dan Perulangan Pendahuluan Dalam sebuah proses program, biasanya terdapat kode penyeleksian kondisi, kode pengulangan

Lebih terperinci

Bab 3. Decision 1 (Pengambilan Keputusan)

Bab 3. Decision 1 (Pengambilan Keputusan) Bab 3. Decision 1 (Pengambilan Keputusan) Konsep Pemrograman Politeknik Elektronika Negeri Surabaya Overview Kondisi & Operator Kondisi Operator Relasi Operator Logika Prioritas Operator Relasi & Logika

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA S1-TI ALGORITMA & PEMROGRAMAN MODUL V STRUKTUR KONTROL PERULANGAN SEM I WAKTU 100 MNT I. STRUKTUR PERULANGAN Salah satu kelebihan

Lebih terperinci

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah REKURSIF IF2121/ALGORITMA DAN STRUKTUR DATA Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah THE HANDSHAKE PROBLEM Ada n orang di dalam sebuah ruangan. Jika masing-masing

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif PRAKTIKUM 7-8 REKURSIF A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif B. DASAR TEORI Rekursif berarti bahwa suatu proses bisa memanggil

Lebih terperinci

V. PENGULANGAN. while (kondisi) { Pernyataan ; } Copyright PIK Unsri Agustus 2006

V. PENGULANGAN. while (kondisi) { Pernyataan ; } Copyright PIK Unsri Agustus 2006 V. PENGULANGAN Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian : 1. Kondisi pengulangan

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK PEMROGRAMAN BERORIENTASI OBJEK Fungsi Budhi Irawan, S.Si, M.T 10/27/2017 9:12:31 AM 1 PENDAHULUAN Fungsi merupakan kumpulan statemen yang dikelompokan menjadi satu bagian kode (blok program) untuk menyelesaikan

Lebih terperinci

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I I. Pengertian Algoritma Algorithm sebenarnya berasal dari kata algorism yang berarti proses menghitung dengan angka Arab. Perencanaan dan perancangan program komputer

Lebih terperinci

Design and Analysis Algorithm

Design and Analysis Algorithm Design and Analysis Algorithm Pertemuan 04 Drs. Achmad Ridok M.Kom Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi, S.Kom., M.Kom. Ratih Kartika Dewi, ST, M.Kom Contents Dasar Analisis Algoritma Rekursif 2

Lebih terperinci

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma Pemrograman 2B (Pemrograman C++) Algoritma Pemrograman 2B (Pemrograman C++) Jurusan Sistem Komputer Dr. Lily Wulandari Materi 4 FUNGSI (FUNCTION) PADA C++ 1 Outline Konsep Dasar Fungsi Standar File Header Definisi Fungsi Deklarasi Fungsi

Lebih terperinci

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F Latihan 1 2 Buatlah program untuk menampilkan kuadrat dari suatu bilangan secara berulang sebanyak n kali 1. Buat method

Lebih terperinci

Kata kunci: definisi, relasi rekursi linier berkoefisien konstan, solusi relasi rekurensi, dan solusi homogen & partikelir

Kata kunci: definisi, relasi rekursi linier berkoefisien konstan, solusi relasi rekurensi, dan solusi homogen & partikelir Relasi Rekursi *recurrence rekurens rekursi perulangan. Kata kunci: definisi, relasi rekursi linier berkoefisien konstan, solusi relasi rekurensi, dan solusi homogen & partikelir menuliskan definisi dari

Lebih terperinci

BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM

BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM 1 BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM 12.1. Mencari Data Maksimum Untuk menjelaskan proses pencarian data terbesar atau data maksimum dari sekelompok data, di bawah ini akan diberikan contohnya terlebih

Lebih terperinci

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA Khusnawi, S.Kom, M.Eng 2010 ( Structure(pErulanGan RePetiTion Pendahuluan Saat membuat suatu program setiap instruksi bisa dimulai dari

Lebih terperinci

OPERATOR DAN STATEMEN I/O

OPERATOR DAN STATEMEN I/O OPERATOR DAN STATEMEN I/O PEMROGRAMAN TURBO C++ OPERATOR Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. OPERATOR PENUGASAN Operator Penugasan

Lebih terperinci

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 03

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 03 Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 03 Contents 31 2 Fungsi Rekursif Format Fungsi Rekursif 3 Analisa Efisiensi Algoritma Rekursif 2 Apa itu fungsi rekursif? Fungsi

Lebih terperinci

BAB I PENDAHULUAN Konsep Algoritma

BAB I PENDAHULUAN Konsep Algoritma 1 BAB I PENDAHULUAN 1.1. Konsep Algoritma Penyelesaian permasalahan dengan menggunakan alat bantu sistem komputer paling tidak akan melibatkan lima tahapan, yaitu: 1. Analisis masalah 2. Merancang algoritma

Lebih terperinci

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke- 6 dan 7 Pengulangan atau Looping Rahmady Liyantanto liyantanto88@yahoo.com liyantanto.wordpress.com Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa

Lebih terperinci

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b.

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a. Membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018 ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018 INSTITUT TEKNOLOGI SUMATERA 2018 MODUL 2 Petunjuk Praktikum Modul ini dilaksanakan dalam 1 (satu) sesi praktikum. Tiap sesi praktikum dilaksanakan dalam 3

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY Perulangan Pertemuan 3. Algoritma dan Struktur Data Pendahuluan Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Jika

Lebih terperinci

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL Tim Pengajar KU1071 Sem. 1 2009-2010 1 Overview Notasi Pengulangan 1. Berdasarkan jumlah pengulangan repeat n times aksi 2. Berdasarkan kondisi berhenti repeat aksi

Lebih terperinci

Catatan Kuliah STRUKTUR DATA BAB III REKURSIF

Catatan Kuliah STRUKTUR DATA BAB III REKURSIF BAB III REKURSIF Rekursif adalah proses suatu program (fungsi / prosedur) yang memanggil dirinya sendiri. Harus diperhatikan kondisi akhir dari proses rekursif agar tidak terjadi proses yang tidak berujung.

Lebih terperinci

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C Percabangan: IF dan IF-ELSE Perintah yang digunakan adalah if dan if-else Bentuk umum: Bentuk if if (kondisi) { //lakukan sejumlah

Lebih terperinci

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF 1. Tujuan Instruksional Umum MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF a. Mahasiswa dapat melakukan perancangan aplikasi menggunakan algoritma rekursif. b. Mahasiswa mampu

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) :: Noor Ifada :: S1 Teknik -Unijoyo 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan kondisi

Lebih terperinci

Teori Algoritma. Algoritma Perulangan

Teori Algoritma. Algoritma Perulangan Alam Santosa Teori Algoritma Perulangan Algoritma Perulangan Seperti pernah dibahas sebelumnya, kemampuan komputer adalah melakukan pekerjaan yang sama tanpa merasa lelah maupun bosan. Syarat utama memanfaatkan

Lebih terperinci

Aplikasi Rekursif dalam Analisis Sintaks Program

Aplikasi Rekursif dalam Analisis Sintaks Program Aplikasi Rekursif dalam Analisis Sintaks Program Albertus Kelvin / 13514100 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

BAB III PENGENALAN STRUKTUR BAHASA PASCAL. Kompetensi Dasar : 1. Mahasiswa mengenal dan memahami struktur bahasa Pascal

BAB III PENGENALAN STRUKTUR BAHASA PASCAL. Kompetensi Dasar : 1. Mahasiswa mengenal dan memahami struktur bahasa Pascal BAB III PENGENALAN STRUKTUR BAHASA PASCAL Kompetensi Dasar : 1. Mahasiswa mengenal dan memahami struktur bahasa Pascal Indikator : 1. Mahasiswa mampu membedakan komponen struktur bahasa Pascal. 2. Mahasiswa

Lebih terperinci

Algoritma & Pemrograman #5

Algoritma & Pemrograman #5 Algoritma & Pemrograman #5 by antonius rachmat c, s.kom, m.cs Pembahasan Buatlah program untuk mengetahui kuadran dari inputan koordinat x dan y! Buatlah program untuk mencari bilangan terbesar dari 3

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu

Lebih terperinci

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer. FUNGSI (FUNCTION) PADA C++ KONSEP DASAR Program komputer yang dibuat untuk menjawab permasalahan umumnya berukuran sangat besar. Pengalaman telah menunjukkan bahwa cara terbaik untuk mengembangkan dan

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif PRAKTIKUM 7 REKURSIF 1 A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif B. DASAR TEORI Rekursif adalah suatu proses atau prosedur dari

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa.

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa. SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa. Semantik mendefinisikan arti dari program yang benar secara syntax dari bahasa tersebut. Semantik suatu bahasa membutuhkan

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-1 (Pengantar Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Arti Penting Algoritma Program Terstruktur dan Algoritma Notasi

Lebih terperinci

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Dr. Putu Harry Gunawan (PHN Review 1. Tentukan kompleksitas waktu Big-Oh untuk relasi

Lebih terperinci

Solusi Rekursif pada Persoalan Menara Hanoi

Solusi Rekursif pada Persoalan Menara Hanoi Solusi Rekursif pada Persoalan Menara Hanoi Choirunnisa Fatima 1351084 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 4013, Indonesia

Lebih terperinci

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera PERULANGAN P E N G A N TA R P R O G R A M S T U D I Institut Teknologi Sumatera TUJUAN Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemen-elemen dalam pengulangan. Mahasiswa

Lebih terperinci

MODUL V REPETITIVE. Modul Praktikum Bahasa Pemrograman Visual (BPV)

MODUL V REPETITIVE. Modul Praktikum Bahasa Pemrograman Visual (BPV) MODUL V REPETITIVE A. TUJUAN 1. Memahami algoritma struktur For-Next 2. Dapat menggunakan algoritma For-Next 3. Memahami algoritma Do While Loop dan Do Until Loop 4. Dapat memahami Do While dan Do Loop

Lebih terperinci

Design and Analysis of Algorithm

Design and Analysis of Algorithm Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-1 (Pengantar Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Bahasa Pemrograman Arti Penting Algoritma

Lebih terperinci

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran Setelah mempelajari materi kegiatan pembelajaran ini mahasiswa akan dapat : 1) Mengenal bentuk perulangan while, do while dan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-6 (Pengulangan atau Looping [1]) 1 Sub Pokok Bahasan Pendahuluan Struktur Pengulangan Pengulangan tanpa kondisi dan dengan kondisi Struktur FOR (menaik dan menurun) 2

Lebih terperinci

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION 5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION Rekursif Ada kalanya kita mengalami kesulitan untuk mendefinisikan suatu obyek secara eksplisit. Mungkin lebih mudah untuk mendefinisikan obyek tersebut

Lebih terperinci

Algoritma dan Struktur Data STACK

Algoritma dan Struktur Data STACK Algoritma dan Struktur Data STACK Teknik Informatika Universitas Muhammadiyah Malang 2016 Tujuan Instruksional Mahasiswa mampu : Memahami tentang konsep stack Mengetahui mekanisme pengoperasian sebuah

Lebih terperinci

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu DAFTAR ISI BAB 1 Pengantar Sistem Komputer Dan Pemrograman 1.1 Sistem Komputer 1.2 Program, Aplikasi, Pemrogram, dan Pemrograman 1.3 Kompiler dan Interpreter 1.4 Kesalahan Program BAB 2 Pengantar Algoritma

Lebih terperinci

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S. ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN Disusun Oleh : Sakina Mawardah Teknik Informatika Dosen : Asep M. Yusuf, S.T UNIVERSITAS NASIONAL PASIM DAFTAR ISI A. Algoritma Percabangan...

Lebih terperinci

Struktur Data Review Algoritma, Pemrograman. Presented by Rijal Fadilah, S.Si

Struktur Data Review Algoritma, Pemrograman. Presented by Rijal Fadilah, S.Si Struktur Data Review Algoritma, Pemrograman Presented by Rijal Fadilah, S.Si Algoritma Informal : seperangkat langkah yg mendefinisikan bagaimana suatu pekerjaan dilaksanakan Algoritma : suatu kumpulan

Lebih terperinci

Algoritma Pemograman 1 A. Minggu 1

Algoritma Pemograman 1 A. Minggu 1 Algoritma Pemograman 1 A Minggu 1 ALGORITMA Adalah inti dari ilmu komputer. Algoritma adalah urutan-urutan dari instruksi langkah-langkah untuk menyelesaikan suatu masalah. Algoritma adalah blueprint dari

Lebih terperinci

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming Reinhard Benjamin Linardi, 13515011 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas KATA PENGANTAR Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas Mahasiswa (LTM) untuk mata kuliah Logika dan Algoritma. Tak lupa kami mengucapkan banyak terima kasih kepada

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015 PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2014/2015 Fungsi Rekursif Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Fungsi yang memanggil

Lebih terperinci

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1 SEARCHING Pencarian data (searching) yang sering juga disebut dengan table look-up atau storage and retrieval information, adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer

Lebih terperinci

Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat

Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat Gilang Ardyamandala Al Assyifa (13515096) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Kendali Program 2. Ekohariadi FT Unesa

Kendali Program 2. Ekohariadi FT Unesa Kendali Program 2 Ekohariadi FT Unesa Mekanisme pemrograman yang mengeksekusi serangkaian pernyataan berulang-ulang selama beberapa kali, atau sampai kondisi tertentu terpenuhi, disebut loop. Kamu dapat

Lebih terperinci

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman Jurusan Teknik Informatika Fakultas Teknik Universitas Maritim Raja Ali Haji ALGORITMA DAN PEMOGRAMAN I. ALGORITMA II. BAHASA

Lebih terperinci