PERCABANGAN
PERCABANGAN Percabangan adalah suatu kondisi dimana sebuah instruksi tidak dijalankan secara sekuensial, tetapi lebih berdasarkan pada kondisi kondisi tertentu yang ditetapkan oleh pembuat program. Pada inti pemrograman, percabangan memegang peranan yang sangat penting dalam penyusunan program
Jenis Percabangan Proses percabangan memiliki 3 jenis, antara lain : Percabangan Tunggal Percabangan Ganda Percabangan Lebih dari 2
PERCABANGAN TUNGGAL Percabangan tunggal bekerja apabila hanya ada 1 alternatif instruksi saja yang dijalankan. Logika ini memungkinkan kompiler untuk menjalankan sebuah instruksi atau tidak sama sekali. Kompiler baru akan menjalankan instruksi yang ada di dalam notasi percabangan apabila kondisi yang diinginkan terpenuhi atau memberikan nilai akhir true Apabila kondisi tersebut memberikan nilai akhir false maka tidak akan ada instruksi yang dijalankan.
Notasi If (kondisi) { Instruksi yang hendak dijalankan ...... }
Contoh Program membaca inputan dari keyboard dan apabila diinput oleh karakter vokal maka program akan menuliskan “Huruf Hidup” dan apabila bukan maka program tidak akan menjalankan apapun.
PROGRAM #include <stdio.h> void main(){ char huruf; scanf(“%c”,&huruf); if (huruf == „a‟ || huruf = „i‟ || huruf = „u‟ || huruf ==‟e‟ || huruf == „o‟) printf (“Huruf Hidup”); }
CONTOH Program membaca apakah bilangan yang diinput habis dibagi 2 atau tidak, apabila habis dibagi 2 maka program akan menuliskan “Bilangan genap” dan bukan maka program tidak akan menjalankan apapun
PROGRAM #include <stdio.h> void main() { int angka; scanf(“%d”,&angka); if (angka % 2 == 0) printf (“Bilangan Genap”); }
PERCABANGAN GANDA Percabangan ganda apabila terdapat 2 alternatid instruksi yang dijalankan. Logika ini memungkinkan kompiler menjalankan salah satu dari 2 alternatif instruksi yang ada, dan salah satu instruksi pasti dijalankan.
NOTASI If (kondisi) { Instruksi pertama } Else Instruksi kedua
CONTOH Program memeriksa inputan apakah bilangan ganjil atau genap. Apabila diperiksa bilangan genap maka tulis “Bilangan genap” dan kalau bukan maka tulis “Bilangan ganjil”.
PROGRAM #include <stdio.h> void main(){ int angka; scanf(“%d”,&angka); if (angka % 2 == 0) printf (“Bilangan Genap”); else printf(“Bilangan Ganjil”); }
CONTOH Program memeriksa bilangan yang lebih besar dari 2 inputan bilangan
PROGRAM #include <stdio.h> void main() { int angka1, angka2; scanf(“%d”,&angka1); scanf(“%d”,&angka2); if (angka1 > angka2) printf (“Bilangan pertama lebih besar dari Bilangan kedua”); else printf (“Bilangan kedua lebih besar dari Bilangan pertama”); }
PERCABANGAN LEBIH DARI DUA Pada dasarnya hanya terdapat 2 jenis seleksi dalam struktur algoritma pemrograman, namun bukan berarti hanya bisa dikembangkan pada 2 jenis tersebut saja. Struktur seleksi dapat dikembangkan menjadi bentuk yang tidak terbatas dan dapat dikombinasikan kedalam bentuk perulangan selama notasi penulisannya tidak terdapat kesalahan. Kemampuan logika seseorang dalam merancang program dan mengamati dari permasalahan yang ada menjadi bagian yang paling penting dalam melakukan pengembangan dari bentuk seleksi ini. Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih dari 2
CONTOH Program untuk menentukan grade dari sebuah nilai ujian, dengan aturan grade A untuk rentang nilai 80 – 100, grade B untuk nilai 70 – 80 dan grade C untuk nilai 50 – 70 dan grade D untuk nilai dibawah itu.
PROGRAM #include <stdio.h> void main(){ int nilai; scanf(“%d”,&nilai); if (nilai >= 80 && nilai <= 100) print(“Grade A”); else if (nilai >= 70 && nilai <= 80) printf(“Grade B”); else if (nilai >= 50 && nilai <= 70) printf(“Grade C”); else printf(“Grade D”); }
CASE Struktur case sebenarnya memiliki fungsi yang sama dengan struktur if yang telah kita pelajari diatas. Struktur case ini dapat meringkaskan alur logika yang terjadi apabila diaplikasikan pada pada alur seleksi yang memiliki lebih dari 2 kondisi.
NOTASI switch (kondisi) { case kondisi_1 : break; case kondisi2 : default : }
CASE Struktur logika seleksi menggunakan struktur case ini jauh lebih ringkas apabila diaplikasikan pada struktur seleksi yang memiliki kondisi lebih dari 2. Kompiler program akan menjalankan instruksi dari struktur case dan memeriksa setiap kondisi yang ada, apabila belum ada kondisi yang bernilai benar maka kompiler akan terus menjalankan instruksi dibawahnya sampai ditemukan kondisi yang bernilai benar. Namun apabila hingga kondisi terakhir diperiksa dan tidak ditemukan kondisi yang bernilai benar maka kondisi default yang akan dijalankan
CONTOH Program untuk menentukan apakah karakter „%‟, spasi, „&‟ atau „$‟ yang ditekan oleh pengguna melalui keyboard
PROGRAM #include <stdio.h> void main(){ int tombol; scanf(“%d”,&tombol); swicth(tombol) { case ’32’: printf(“Anda menekan tombol spasi”); break; case ’36’: printf(“Anda menekan tombol $”); case ’37’ : printf(“Anda menekan tombol %”); case ’38’: printf(“Anda menekan tombol &”); default : printf(“Anda tidak mematahui aturan.”); }}
PERBEDAAN IF DAN CASE i. Struktur if dapat menerima kondisi yang berupa operasi logika. Sedangkan stuktur case tidak. ii. Struktur case lebih efektif apabila digunakan untuk logika seleksi lebih dari 2 kondisi. iii. Struktur case dan sktuktur if dapat dikombinasikan kedalam satu bagian, dengan catatan tata cara penulisan notasi tidak terdapat kesalahan. iv. Struktur case tidak dapat melakukan pengecekan terhadap tipe data string / kalimat.
REFERENSI http://www.academia.edu/8883178/Proses_Percabangan_ pada_pascal