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. Flowchart
Algoritma
. if i > 0 . .
else
. . end if .
1
1.1
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. Flowchart Algoritma
Keterangan : Menentukan apakah suatu bilangan adalah genap atau ganjil Kamus : X : integer { masukan dari user } M : integer { sisa pembagian dengan dua } Algoritma : 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 "); }
1.2
return 0;
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. Flowchart
Algoritma . . if X > 0 and X <= 5 . . . end if . . .
3
1.3
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 ; } . .
2
. . if X == 1 . . elif X == 2 . . elif X == 3 . . . .
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. Flowchart I
Flowchart II
Algoritma
. 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 while...do dan pada kolom owchart II adalah perulangan 4
yang disebut dengan for..loop. Pada kolom paling kanan, merupakan cara penulisan algoritma untuk perulangan for..loop. 2.1
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. Flowchart dan algoritma hasil perancangan program untuk menghitung pangkat suatu bilangan dapat dilihat sebagai berikut. Flowchart
Algoritma
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 } Algoritma : 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