Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan dan percabangan dalam penyusunan program 1 Percabangan Percabangan dalam pembuatan sebuah program adalah cara untuk memutuskan untuk melakukan perintah primitif tertentu dengan kondisi tertentu Kondisi yang bisa digunakan adalah apakah suatu variabel berisi nilai tertentu dan variabel ag yang digunakan untuk membuat suatu kondisi dari program Pada contoh yang dapat dilihat pada tabel dibawah, merupakan kondisi dimana nilai dari variabel i lebih besar dari nol Operator logika yang dapat digunakan dalam bahasa C / python adalah >, <, >=, <=, ==, dan!= Dalam bahasa C, string (char* atau char[]) tidak bisa dikondisikan dengan menggunakan operator tersebut, tetapi pada python bisa if i > 0 else end if 1
11 Ganjil / Genap Salah satu kasus yang mudah adalah bagaimana menentukan suatu bilangan adalah bilangan genap atau ganjil Teori yang digunakan untuk menentukan suatu bilangan ganjil/genap adalah jika bilangan tersebut dibagi dengan dua Jika sisa hasil pembagiannya adalah 0 maka bilangan tersebut termasuk bilangan genap sedangkan jika hasil pembagiannya adalah 1 maka bilangan tersebut termasuk bilangan ganjil Tabel berikut merupakan perancangan program dalam bentuk owchart atau algoritma untuk kasus tersebut Keterangan : Menentukan apakah suatu bilangan adalah genap atau ganjil Kamus : X : integer masukan dari user M : integer sisa pembagian dengan dua : Read X M = X % 2 if M == 0 print " Genap " else print " Ganjil " end if Dari dua algoritma diatas, kita dapat menyusun kode program dalam bahasa C atau python sesuai dengan perintah primitif yang telah dideskripsikan pada owchart / algoritma diatas berikut merupakan implementasi rancangan program diatas dalam bahasa python dan C Kode Program 1 Implementasi algoritm atau owchart program deteksi bilangan ganjil/genap dalam bahasa python #!/ usr / bin / python X = input (" Masukkan bilangan = ") M = X % 2 if M == 0: print " Bilangan Genap " else : print " Bilangan Ganjil " 2
Kode Program 2 Implementasi algoritma atau owchart program deteksi bilangan ganjil/genap dalam bahasa C # include < stdio h > int main ( int argc, char ** argv ) int X, M; printf (" Masukkan bilangan = "); scanf ("% d", &X ); if ( (X % 2) == 0 ) printf (" Bilangan Genap \n "); else printf (" Bilangan Ganjil \n "); return 0; 12 Percabangan Dengan Kondisi Lebih Dari Satu Percabangan yang telah dijabarkan pada paragraf sebelumnya, adalah percabangan dengan satu kondisi saja Bagaimana jika kita membutuhkan beberapa kondisi untuk percabangan? Dalam perancangan program maupun pada saat implementasi pada bahasa pemrograman, suatu kondisi (true / false) dapat dimanipulasi dengan menggunakan dua operator logika (and dan or) dan kombinasinya untuk dapat membuat beberapa kondisi pada suatu percabangan Selain dengan menggunakan operator logika, kita dapat menggunakan percabangan bertingkat untuk merepresentasikan percabangan dengan beberapa kondisi Pada peracangan program dengan menggunakan owchart akan digunakan percabangan bertingkat untuk merepresentasikan percabangan dengan kondisi lebih dari satu sedangkan pada algoritma digunakan percabangan dengan operator logika untuk memanipulasi kondisi pada percabangan Tabel berikut merupakan cara mendeskripsikan suatu percabangan dengan kondisi lebih dari satu dalam bentuk owchart dan algoritma if X > 0 and X <= 5 end if 3
13 Switch Case Switch case merupakan salah satu cara percabangan yang menggunakan beberapa pilihan kondisi yang dinginkan Switch case terdapat pada C tetapi tidak terdapat pada python dan digantikan dengan percabangan biasa Bahasa C Bahasa Python switch (X) case 1: break ; case 2: break ; if X == 1 elif X == 2 elif X == 3 2 Perulangan Perulangan merupakan salah satu cara untuk mendapatkan suatu nilai yang berurutan dan memproses data yang beurutan tersebut masing-masing Perulangan sangat bergunakan dalam menyelesaikan suatu permasalahan yang harus memproses beberapa data yang berurutan Berikut merupakan contoh bagaimana mendeklarasikan suatu perulangan pada perancangan program dengan owchart dan algoritma I II for i <- 1 to 10 do print i end for Pada tabel diatas, deskripsi yang dijabarkan pada kolom owchart I adalah perulangan yang disebut dengan whiledo dan pada kolom owchart II adalah perulangan 4
yang disebut dengan forloop Pada kolom paling kanan, merupakan cara penulisan algoritma untuk perulangan forloop 21 Pangkat Dari Suatu Bilangan Contoh kecil permasalahan yang dapat diselesaikan dengan menggunakan perulangan adalah menghitung pangkat dari suatu bilangan Penyelesaiannya cukup mudah yaitu dengan melakukan perulangan sesuai dengan pangkat yang diinginkan dan melakukan operasi kali terhadap suatu variabel yang pada saat inisialisasi di set ke nilai 1 dan algoritma hasil perancangan program untuk menghitung pangkat suatu bilangan dapat dilihat sebagai berikut Keterangan : Menghitung pangkat dengan rumus X^Y Kamus : X : integer nilai masukan dari user Y : integer pangkat masukan dari user H : integer variabel untuk menampung hasil perkalian L : integer variabel untuk looping : Read X Read Y H <- 1 L <- 0 while L < Y H <- H * X L <- L + 1 end while print H Dapat dilihat pada hasil perancangan algoritma diatas, dikenalkan perulangan dengan menggunakan while Perbedaan mendasar antara while dengan for adalah pada while Anda harus mengupdate sendiri variabel yang digunakan untuk proses perulangan sedangkan pada for variabel looping yang digunakan akan diupdate sendiri oleh program Implementasi hasil perancangan pada bahasa pemrograman C dan python dapat dilihat pada kode program 3 dan kode program 4 5
Kode Program 3 Implementasi algoritm atau owchart program perhitungan pangkat dari suatu bilangan dalam bahasa python #!/ usr / bin / python X = input (" Masukkan bilangan = ") Y = input (" Masukkan pangkat = ") L = 0 H = 1 while L < Y: H = H * X L = L + 1 print H Kode Program 4 Implementasi algoritma atau owchart program perhitungan pangkat dari suatu bilangan dalam bahasa C # include < stdio h > int main ( int argc, char ** argv ) int X, Y, H, L; printf (" Masukkan bilangan = "); scanf ("% d ",& X ); printf (" Masukkan pangkat = "); scanf ("% d ",& Y ); H = 1; L = 0; while (L < Y) H = H * X; L = L + 1; printf ("% d\n", H ); return 0; 6