Halo!
Setelah di post sebelumnya gw bahas seputar tipe data, penamaan, dan sekuens, kali ini kita akan mengenal pemilihan atau struktur algoritma percabangan dalam pemrograman bahasa C. Mengapa kita perlu tahu dan mempelajari konsep pemilihan dalam bahasa C? Jadi, suatu program tidak selamanya akan berjalan dengan mengikuti struktur berurutan (sekuens), kadang-kadang kita perlu mengubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat dari baris tertentu ke baris tertentu. Hal ini kadang disebut sebagai percabangan atau pemilihan atau keputusan. Ini seperti halnya ketika mobil atau motor berada dalam persimpangan jalan.
Pada struktur percabangan atau pemilihan ini, program akan berpindah urutan pelaksanaan jika dan hanya jika suatu kondisi yang disyaratkan terpenuhi. Bagaimana jika tidak terpenuhi? Program akan keluar atau memilih percabangan yang lain (bila ada dan memenuhi syarat).
Sebagai contoh mengenai masalah batasan umur, sbb;
Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton.
Dari konsep permasalahan tersebut, bisa dilihat bahwa yang diperbolehkan untuk menonton sebuah film, ialah mereka yang sudah berusia lebih dari 17 tahun. Lalu yang kurang dari sama dengan usia 17 tahun bagaimana? tidak dibolehkan nonton. Simpel bukan? Lalu bagaimana bila dituliskan dalam sebuah program bahasa C? Simak penjelasan berikut ini dulu ya, supaya paham dulu mengenai konsep pemilihan dalam bahasa C.
Dalam pembuatan sebuah program yang lebih kompleks, kita akan sering menjumpai permasalahan yang hanya bisa diatasi dengan menggunakan pemilihan. Pemilihan merupakan keadaan dimana aksi hanya dilakukan saat memenuhi syarat / kondisi tertentu. Kondisi pada pemilihan akan menghasilkan nilai true / false, dan nilai tersebut akan menentukan aksi yang akan dilakukannya. Dalam menganalisis suatu kasus pemilihan, maka sebagai seorang programmer, harus bisa mendefinisikan 2 hal penting dalam pemilihan, yakni kondisi dan aksi.
- Kondisi, berupa ekspresi yang menghasilkan true atau false.
- Aksi, yang akan dilakukan jika kondisi yang dipasangkan dengan aksi yang bersangkutan terpenuhi.
Kondisi dalam pemilihan umumnya menggunakan operator boolean (bila terdapat 2 kondisi). Operator boolean yang dapat digunakan antara lain;
1. <= (Less than or equal to)
(kondisi 1) <= (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) kurang dari atau sama dengan (kondisi 2).Contoh : a= 1, b= 3a <= b1 <= 3 ➡ maka akan mengambalikan nilai 1 atau true karena benar, 1 kurang dari sama dengan 3
2. >= (Greater than or equal to)
(kondisi 1) >= (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) lebih dari atau sama dengan (kondisi 2).Contoh : a=2, b=4a >= b2 >= 4 ➡ maka akan mengambalikan nilai 0 atau false karena salah, 2 tidak lebih besar atau sama dengan 4.
3. > (Greater than)
(kondisi 1) > (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) lebih besar dari (kondisi 2).Contoh : a=3, b=5a > b3 > 5 ➡ maka akan mengambalikan nilai 0 atau false karena salah, 3 tidak lebih besar dari 4.
4. < (Less than)
(kondisi 1) < (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) lebih kecil dari (kondisi 2).Contoh : a=4, b=6a < b4 < 6 ➡ maka akan mengambalikan nilai 1 atau true karena benar, 4 lebih kecil dari 6.
5. == (Equal to)
(kondisi 1) == (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) sama dengan (kondisi 2) (memiliki nilai yang sama).Contoh : a=5, b=7a == b5 == 7 ➡ maka akan mengambalikan nilai 0 atau false karena salah, 5 tidak sama dengan 7.
6. != (Not equal to)
(kondisi 1) != (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) tidak sama dengan (kondisi 2) (memiliki nilai yang berbeda).Contoh : a=6, b=8a != b6 != 8 ➡ maka akan mengambalikan nilai 1 atau true karena benar, 6 tidak sama dengan 8.
Operator ❗ (!) digunakan untuk membuat komplemen (hal yang berkebalikan) dari suatu kondisi boolean (lihat juga no 9)
7. && (Logical AND)
(kondisi 1) && (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) dan (kondisi 2) bernilai benar keduanya.Contoh : a=7, b=9a != b && a < b7 != 9 && 7 < 9 ➡ maka akan mengambalikan nilai 1 atau true karena kondisi 1 dan kondisi 2 semuanya bernilai benar, 7 tidak sama dengan 9 (benar) begitu juga 7 kurang dari 9 (benar).
8. || (Logical OR)
(kondisi 1) || (kondisi 2) akan mengembalikan nilai 1 atau true jika (kondisi 1) atau (kondisi 2) bernilai benar, atau keduanya bernilai benar.Contoh : a=8, b=10a == b || a < b8 == 10 || 8 < 10 ➡ maka akan mengambalikan nilai 1 atau true karena salah satu kondisi (kondisi 2) bernilai benar walaupun kondisi 1 bernilai salah, 8 sama dengan 10 (salah) tapi 8 kurang dari 10 (benar).
9. ! (Logical NOT)
!(kondisi) akan mengembalikan nilai 1 atau true jika (kondisi) bernilai 0 atau false atau salah.Contoh : a=9, b=11! (a >= b)! (9 >= 11) ➡ maka akan mengambalikan nilai 1 atau true karena kondisi (9 >= 10) bernilai 0 atau salah atau false.
Itulah 9 operator boolean yang dapat digunakan.
Kemudian, lanjut ke jenis dari pemilihan. Terdapat 2 jenis pemilihan, yakni IF-ELSE dan SWITCH.
◼ IF-ELSE, ada 3 alternatif penggunaan, yakni;
1. Satu Kasus
if(<kondisi>){
<aksi>;
}
Jika kondisi terpenuhi, maka aksi akan dieksekusi. Namun jika kondisi tidak terpenuhi, tidak akan dieksekusi.
2. Dua Kasus
if(<kondisi>){
<aksi>;
}else{
<aksi2>;
}
Jika kondisi terpenuhi, aksi akan dieksekusi. Namun jika kondisi tidak terpenuhi, maka program akan mengeksekusi aksi2 (bagian else).
3. Tiga Kasus atau Lebih
if(<kondisi1>){
<aksi1>;
}else if(<kondisi2>){
<aksi2>;
}else{
<aksi3>;
}
Jika kondisi1 terpenuhi, maka aksi1 akan dieksekusi dan pemilihan akan berhenti disitu. Namun, jika kondisi1 tidak terpenuhi, program akan mengecek kondisi2, dan jika masih tidak terpenuhi, program akan langsung mengeksekusi aksi3 (bagian else).
◼ SWITCH
Switch case sering digunakan untuk kasus yang memiliki banyak cabang sehingga akan menjadi lebih sederhana dibandingkan dengan menggunakan if else. Switch case biasanya digunakkan untuk membuat menu pada program.
Contoh:
switch(nama_variabel){
case 1: aksi1;
break;
case 2: aksi2;
break;
…………………
default: aksiD;
break;
}
break berfungsi untuk memaksa program agar keluar dari suatu kondisi perulangan. Pada contoh diatas, saat bertemu break, program akan keluar dari switch-case tersebut.
Oke, sampai sini, kalian harusnya sudah paham mengenai pemilihan atau percabangan dalam pemrograman, terutama pemrograman bahasa C.
Dari materi tersebut, maka kita sudah bisa menjawab kasus permasalahan yang gw berikan di atas tadi, yakni mengenai masalah batasan umur. Gw ulang, bahwa dari konsep permasalahan tersebut, kita bisa lihat bahwa yang diperbolehkan untuk menonton sebuah film, ialah mereka yang sudah berusia lebih dari 17 tahun. Lalu yang kurang dari atau sama dengan usia 17 tahun tidak dibolehkan nonton. Kita bisa menggunakan IF-ELSE untuk alternatif dua kasus, sbb;
if(usia > 17){
printf("Anda diperbolehkan menonton");
}else{
printf("Anda tidak diperbolehkan menonton");
}
bila digambarkan dalam sebuah flowchart, maka sbb;
Gmana? Sudah paham dan makin paham mengenai pemilihan atau percabangan dalam pemrograman?. Sampai sini pembahasan mengenai pemilihan atau percabangan atau keputusan selesai. Semoga membantu kalian dan bermanfaat.
Jangan lupa juga membaca mengenai kasus tipe string dalam bahasa C yang tak jauh juga dengan konsep pemilihan ini. Jika kalian mempelajari konsep pemilihan atau percabangan dalam pemrogramanan bahasa C ini, maka kalian pun wajib mempelajari dan memahami mengenai tipe string.
Baca di sini:
Terima kasih..