Halo kembali lagi di blog saya, kali ini saya mau melanjutkan pembahasan struktur kendali percabangan atau kata lainnya yaitu seleksi. Di Java pada dasarnnya ada 2 yaitu IF
dan SWITCH
, jadi di postingan kali ini kita tidak hanya menggunakan bahasa dari bahasa pemograman java tapi juga kita akan sedikit menggambarkan bagaimana alur supaya lebih paham dan bagaimana cara memvisualisasikan koding yang kita buat. Ok langsung aja ke topik yang pertama yaitu kita akan membahas tentang seleksi dengan IF
Seleksi dengan IF
berikut ini adalah sample code percabangan dengan if
dengan kasus yang umum digunakan:
int bil1 = 10;
int bil2 = -10;
if (bil1 == bil2) {
System.out.println("10 == -10");
}else if(bil1 < bil2){
System.out.println("10 < -10");
} else {
System.out.println("lain-lain")
}
Pada dasarnya seleksi dengan IF ini kalo digambarkan ke diagram UML dengan activity diagram berdasarkan koding diatas jadi seperti berikut:
- Nah jadi disini kita mendefinisikan 2 variable integer yaitu
bil1 = 10
danbil2 = -10
. - Seleksi pertama yaitu
bil1 == bil2
jadi kita ubah ke bilangan jadi10 == -10
hasilnyafalse
karena 10 tidak sama dengan -10 maka perintah dalam(bil1 == bil2)
dilewat atau tidak dijalankan. - Seleksi ke dua yaitu
bil1 < bil2
jadi kita ubah ke bilangan jadi10 < -10
hasilnyafalse
karena 10 lebih besar dari -10 maka peritah dalam(bil1 < bil2)
dilewat atau tidak dijakankan. else
adalah pilihan terakhir artinya jika kedua seleksi gagal atau bernilai salah maka otomatis perintah dalam else akan dijalankan dengan begitu kesimpulannya adalahlain-lain
Nah sekarang kita akan coba studi kasus yang lain, berikut codingannya:
int bil = 10;
if (bil == 10) {
System.out.println("yang ini diksekusi (==)");
} else if(bil % 2 = 0){
System.out.println("yang ini diksekusi (%)");
} else{
System.out.println("Lain-lain");
}
Sekarang coba tebak outputnya yang mana?
yang ini diksekusi (==)
?yang ini diksekusi (%)
?Lain-lain
?
Ok, nah jadi jawabanya seperti berikut supaya lebih gampang kita buat dulu activity diagramnya dulu seperti berikut:
Berikut penjelasnnya:
bil = 10
kemudian diseksi10 == 10
maka hasilnya benar. ok kita udah tau ya jawabanya yang ini. tpi angap ja gak tau.bil = 10
kemudian diseleksi10 % 2 = 0
jadi 10 dibagi 2 sama dengan 5 sisanya khan 0 maka hasilnya benar tpi perintah didalamnya tidak akan diksekusi karena buat apa khan statement pertama udah benar dan sebenarnya statement ke 2 ini tidak dieksekusi lagi karena statement ke 1 udah bener jadi hasilnya adalahyang ini dieksekusi (==)
Sekarang anda sudah tau ya konsep percabagan dengan IF
jadi kesimpulannya dari kasus diatas adalah dimana hasil seleksinya pertama kali udah bener selanjutanya akan diabaikan, Selanjutnya kita bahas tentang seleksi dengan Switch-case
Peracabagan dengan Switch-Case
Percabagan switch-case
sebenarnya tidak jauh berbeda tpi disini kita akan lihat bagaimana cara kerja dari percabagan ini, berikut adalah contoh kasus sederhaan dari kodingnya sering kita jumpai yaitu seperti berikut:
Integer ip = 4;
switch(ip){
case 4: System.out.println("A"); break;
case 3: System.out.println("B"); break;
case 2: System.out.println("C"); break;
case 1: System.out.println("D"); break;
default: System.out.println("E");
}
Nah kasus diatas kita menentukan ip anda memiliki grade apa?
- A
- B
- C
- D
- E
Ok, supaya gampang seperti biasa kita visualisaksikan menggunakan diagram activity seperti berikut:
Nah jadi hasilnya adalah A
, kenapa A jadi gini penjelasnnya:
- Membuat variable
int ip = 4
, kemudian pada dasarnya sama seperti if yaitu kita memasukan expresinya kemudian si switch ini akan mencari mana value yang cocok - Setelah menemukan case pertama yaitu
case: 4
maka dia akan menjalankan perintah didalamnya yaituSystem.out.println("A")
kemudian ada keywordbreak;
ini artinya kita keluar dari seleksi. maka dari itu hasilnya4
Selanjutnya sekarang kita modifikasi sedikin dari koding yang sama seperti berikut:
Integer ip = 2;
switch(ip){
case 4: System.out.print("A");
case 3: System.out.print("B"); break;
case 2: System.out.print("C");
case 1: System.out.print("D"); break;
default: System.out.print("E");
}
Nah sekarang apa outputnya? seperti biasa kita bisa gunakan diagram activity untuk mempermudah menggambarkan dari koding diatas seperti berikut:
Gimana jelaskan apa yang ada saya visualisaksikan dengan, mungkin anda bisa menafsirkan dengan bahasa diri sendiri bagaimana cara kerjanya, tapi disini saya juga bakalan menjelaskan tapi maaf kalo kata-katanya belibet hheehehe, maklum bukan anak bahasa yang pintar merangkai kata-kata.
- Ok jadi gini, pertama sama seperti tadi kita membuat dulu variable
ip = 2
. - Setelah itu si switch meriksa nih case mana yang sesuia.
- Ketemulah
case : 2
setelah itu dia akan menampilkan kelayar yaituC
setelah itu menampilkan lagi ke layar yaituD
setelah itu baru dia keluar karena ada keywordbreak;
. - Kesimpulannya jadi hasilnya dalah
CD
.
Ok mungkin cukup sekian dulu penjelasan mengenai cara mudah untuk membaca koding dengan mentranslate ke UML Diagrams - Activity diagrams. see you next post!.