Percabangan (branching) adalah salah satu bentuk kontrol program. Percabangan berguna untuk mengatur alur jalannya program sesuai dengan suatu kondisi yang terpenuhi. Dalam Python, terdapat tiga keywords untuk melakukan percabangan, yaitu if, elif, dan else. If merupakan penanda awal suatu percabangan. Suatu program akan menjalankan alur tertentu jika memenuhi kondisi yang ditentukan pada blok if. Elif atau kependekan dari else if adalah suatu percabangan setelah if. Sama seperti if, elif akan menjalankan kode program di bawahnya jika kondisi dalam blok if atau elif sebelumnya tidak terpenuhi (bernilai false) dan kondisi pada blok elif tersebut terpenuhi. Else merupakan kondisi penutup dari sebuah percabangan. Dapat dikatakan bahwa else adalah solusi percabangan terakhir, sehingga else tidak memerlukan syarat seperti halnya if dan elif. Perulangan (looping) adalah suatu bentuk kontrol program yang memungkinkan kita mengulang eksekusi program selama kondisi masih terpenuhi. Dalam Python, terdapat dua macam perulangan, yaitu for dan while. For merupakan bentuk iterasi yang akan menjalankan suatu kode blok program selama elemen dari koleksi yang akan diiterasi belum habis. Koleksi elemen tersebut dapat berupa sebuah range integer, ataupun berupa sebuah list yang akan diiterasi satu per satu elemen di dalamnya. Program di atas akan mengeluarkan output sebagai berikut: While adalah bentuk pengulangan yang akan terus berjalan selama kondisi terpenuhi (syarat bernilai true). Dalam menggunakan while loop, kita harus memastikan bahwa perulangan akan berhenti pada suati nilai tertentu dengan membuat kondisinya menjadi false. Program di atas akan mengeluarkan output sebagai berikut: Continue adalah sebuah perintah di dalam loop yang akan membuat kontrol langsung kembali ke awal blok kode loop dan langsung mengevaluasi iterasi selanjutnya (seluruh perintah di bawah itu akan dilompati) Program di atas akan mengeluarkan output sebagai berikut: Break adalah sebuah perintah di dalam loop yang akan membuat kontrol langsung keluar dari loop. Seluruh perintah di bawah perintah break dan seluruh iterasi setelahnya akan dilompati (tidak akan dieksekusi). Program di atas akan mengeluarkan output sebagai berikut:
Percabangan A. Definisi Percabangan Percabangan adalah cara yang digunakan dalam program untuk mengambil keputusan ke satu kemungkinan True atau False dari beberapa kondisi. Didalam pemrograman kita harus dapat menentukan aksi apa yang harus dikerjakan oleh pemroses (processor) ketika sebuah kondisi terpenuhi, dengan menggunakan operasi logik Ø Contoh Int a=10; a < 5 Percabangan yang digunakan pada bahasa pemrograman khususnya bahasa C++, terdapat 2 metode. 1. If- else 2. Switch-case. B. Macam-macam Percabangan 1. If-else Pernyataan Percabangan If-Else digunakan untuk memecahkan persoalan untuk mengambil suatu keputusan diantara banyak pernyataan yang ada. Statement if digunakan untuk melakukan proses percabangan di dalam program. Statement If Statement if digunakan untuk melakukan proses percabangan didalam program. Contoh expresi If a = 10 then { Aksi yang dilakukan } Notasi Algoritmik Statement If if kondisi then aksi Endif Contoh Di Bahasa Pemrograman Contoh di bahasa pemrograman C++ if nama_matakuliah==“algoritma” { printf(“selamat datang di mata kuliah algoritma”); } Percabangan If Dengan 2 Kondisi If kondisi 1 then { aksi 1; } If kondisi 2 then { aksi 2; } Else { aksi yang dilakukan ketika nilai if diatas tidak menghasilkan nilai true; } Contoh (notasi algortimik) PROGRAM MENCARI PROGRAM { MENCARI NILAI DARI SEBUAH VARIABEL } DEKLARASI X=INT; ALGORITMA Read (x) If (x>0) then write (“bilangan adalah bilangan bulat positif”); End if If (x<0) write (“bilangan adalah bilangan bulat negatif”); End if Else write (“maaf nilai variabel yang anda masukkan adalah salah”); End if Lebih dari 3 Kondisi if kondisi 1 then Aksi 1 end if else if kondisi 2 then aksi 2 end if ef kondisi 3 then aksi 3 end if else kondisi default end if Contoh Ø Menentukan bilangan terbesar Int a,b,c; if (a >= b ) and (a >=b) then write (“bilangan terbesar adalah a”) end if if (b >= a) and (b>= c) then write (“bilangan terbesar adalah b”) end if if (c>=a) and (c>=b) then write (“bilangan terbesar adalah c”) end if else write (“bilangan yang anda masukkan adalah salah”) end if
2.
Switch-case Percabangan Case · Struktur statement if dan else menjadi sangat panjang ketika, banyak kondisi yang harus dievaluasi. Contoh Contoh konversi angka ke teks — read angka — if (angka=1 ) then — write (‘satu’) — end if — else — If (angka=2) then — write (‘dua’) — end if — If (angka=3) then — write (‘tiga’) — end if — If (angka=4)then — write (‘empat’) — end if — else — write (‘anda memasukkan bukan angka’); — end if Percabangan case (notasi algoritmik) — read angka — case angka — 1 : write(‘satu’) — 2 : write(‘dua’) — 3 : write(‘tiga’) — 4 : write(‘empat) — Otherwise : write (“angka yang anda masukkan adalah salah’) — End case If vs case — Menggunakan if jika kondisi yang akan dievaluasi jumlah nya sedikit — Menggunakan case jika kondisi yang akan dievaluasi jumlahnya lebih banyak Contoh program 1. Untuk menentukan bilangan terbesar, bilangan terkecil, rata-rata. { int a,b,c,d,e,f,g,h,i,j; float rata_rata; printf("masukkan nilai A :"); scanf("%d",&a); printf("masukkan nilai B :"); scanf("%d",&b); printf("masukkan nilai C :"); scanf("%d",&c); printf("masukkan nilai D :"); scanf("%d",&d); printf("masukkan nilai E :"); scanf("%d",&e); printf("masukkan nilai F :"); scanf("%d",&f); printf("masukkan nilai G :"); scanf("%d",&g); printf("masukkan nilai H :"); scanf("%d",&h); printf("masukkan nilai I :"); scanf("%d",&i); printf("masukkan nilai J :"); scanf("%d",&j); if((a>=b)&&(a>=c)&&(a>=d)&&(a>=e)&&(a>=f)&&(a>=g)&&(a>=h)&&(a>=i)&&(a>=j)) { printf("Nilai terbesar adalah A\n",a); } //============================== (A) if((b>=a)&&(b>=c)&&(b>=d)&&(b>=e)&&(b>=f)&&(b>=g)&&(b>=h)&&(b>=i)&&(b>=j)) { printf("Nilai terbesar adalah B\n",b); } //============================== (B) if((c>=b)&&(c>=a)&&(c>=d)&&(c>=e)&&(c>=f)&&(c>=g)&&(c>=h)&&(c>=i)&&(c>=j)) { printf("Nilai terbesar adalah C\n",c); } //=============================== (C) if((d>=a)&&(d>=b)&&(d>=c)&&(d>=e)&&(d>=f)&&(d>=g)&&(d>=h)&&(d>=i)&&(d>=j)) { printf("Nilai terbesar adalah D\n",d); } //=============================== (D) if((e>=a)&&(e>=b)&&(e>=c)&&(e>=d)&&(e>=f)&&(e>=g)&&(e>=h)&&(e>=i)&&(e>=j)) { printf("Nilai terbesar adalah E\n",e); } //=============================== (E) if((f>=a)&&(f>=b)&&(f>=c)&&(f>=d)&&(f>=e)&&(f>=g)&&(f>=h)&&(f>=i)&&(f>=j)) { printf("Nilai terbesar adalah F\n",f); } //=============================== (F) if((g>=a)&&(g>=b)&&(g>=c)&&(g>=d)&&(g>=e)&&(g>=f)&&(g>=h)&&(g>=i)&&(g>=j)) { printf("Nilai terbesar adalah G\n",g); } //=============================== (G) if((h>=a)&&(h>=b)&&(h>=c)&&(h>=d)&&(h>=e)&&(h>=f)&&(g>=h)&&(g>=i)&&(g>=j)) { printf("Nilai terbesar adalah H\n",h); } //=============================== (H) if((i>=a)&&(i>=b)&&(i>=c)&&(i>=d)&&(i>=e)&&(i>=f)&&(i>=g)&&(i>=h)&&(i>=j)) { printf("Nilai terbesar adalah I\n",i); } //=============================== (I) if((j>=a)&&(j>=b)&&(j>=c)&&(j>=d)&&(j>=e)&&(j>=f)&&(j>=g)&&(j>=h)&&(j>=i)) { printf("Nilai terbesar adalah J\n",j); } //=============================== (J) //*************************************************************************** if((a<=b)&&(a<=c)&&(a<=d)&&(a<=e)&&(a<=f)&&(a<=g)&&(a<=h)&&(a<=i)&&(a<=j)) { printf("Nilai terkecil adalah A\n",a); } //============================== (A) if((b<=a)&&(b<=c)&&(b<=d)&&(b<=e)&&(b<=f)&&(b<=g)&&(b<=h)&&(b<=i)&&(b<=j)) { printf("Nilai terkecil adalah B\n",b); } //============================== (B) if((c<=b)&&(c<=a)&&(c<=d)&&(c<=e)&&(c<=f)&&(c<=g)&&(c<=h)&&(c<=i)&&(c<=j)) { printf("Nilai terkecil adalah C\n",c); } //=============================== (C) if((d<=a)&&(d<=b)&&(d<=c)&&(d<=e)&&(d<=f)&&(d<=g)&&(d<=h)&&(d<=i)&&(d<=j)) { printf("Nilai terkecil adalah D\n",d); } //=============================== (D) if((e<=a)&&(e<=b)&&(e<=c)&&(e<=d)&&(e<=f)&&(e<=g)&&(e<=h)&&(e<=i)&&(e<=j)) { printf("NilaiNilai terkecil adalah E\n",e); } //=============================== (E) if((f<=a)&&(f<=b)&&(f<=c)&&(f<=d)&&(f<=e)&&(f<=g)&&(f<=h)&&(f<=i)&&(f<=j)) { printf("Nilai terkecil adalah F\n",f); } //=============================== (F) if((g<=a)&&(g<=b)&&(g<=c)&&(g<=d)&&(g<=e)&&(g<=f)&&(g<=h)&&(g<=i)&&(g<=j)) { printf("Nilai terkecil adalah G\n",g); } //=============================== (G) if((h<=a)&&(h<=b)&&(h<=c)&&(h<=d)&&(h<=e)&&(h<=f)&&(g<=h)&&(g<=i)&&(g<=j)) { printf("Nilai H=%d, lebih kecil dari A,B,D,E,F,G,H,I, dan J\n",h); } //=============================== (H) if((i<=a)&&(i<=b)&&(i<=c)&&(i<=d)&&(i<=e)&&(i<=f)&&(i<=g)&&(i<=h)&&(i<=j)) { printf("Nilai terkecil adalah I\n",i); } //=============================== (I) if((j<=a)&&(j<=b)&&(j<=c)&&(j<=d)&&(j<=e)&&(j<=f)&&(j<=g)&&(j<=h)&&(j<=i)) { printf("Nilai terkecil adalah J\n",j); } float x; x=(a+b+c+d+e+f+g+h+i+j)/10; printf("rata_rata = %f\n",x); Maka outputnya:
2. Switch-case
int bulan; printf("Masukkan bulan : "); scanf("%d", &bulan); switch (bulan) { case 1: printf("Januari"); break; case 2: printf("Februari"); break; case 3: printf("Maret"); break; case 4: printf("April"); break; case 5: printf("Mei"); break; case 6: printf("Juni"); break; case 7: printf("Juli"); break; case 8: printf("Agustus"); case 9: printf("September"); break; case 10: break; printf("Oktober"); break; case 11: printf("November"); break; case 12: printf("Desember"); break; default : printf("Bukan bulan"); break; } Maka outputnya:
Page 2 |