·
Macam-macam Percabangan ( Branching )
1.
IF
Merupakan salah
satu bentuk pernyataan yang berguna untuk mengambil keputusan terhadap sebuah
kemungkinan. Bentuk pernyataan if berupa :
if (kondisi) {
// yang akan
dijalankan
}
Contoh :
public class jika{
public static void main (String []
args){
int nilai = 10;
if (nilai == 10) {
System.out.println("sepuluh");
}
}
}
Output
E:\>javac jika.java
E:\>java jika
sepuluh
Jika program diatas
dijalankan, maka hasilnya adalah tulisan "Sepuluh" karena kondisi
pada if bernilai true, jika kondisi bernilai salah, misal nilai = - 100, maka
program tidak akan menghasilkan tulisan apa-apa.
2.
IF Bersarang
Percabangan if bersarang merupakan gabungan beberapa if
dan dapat pula digabungkan dengan if-else. Bentuk pernyataan if bersarang
adalah sebagai berikut :
if (kondisi1) {
// perintah kondisi1
} else if (kondisi2) {
// perintah kondisi2
} else if (kondisi3) {
// perintah kondisi3
} else {
// perintah jika semua kondisi tidak ada yang benar
}
Contoh
:
public class jika_bersarang {
public static void main (String [] args){
int nilai = 6;
char index ;
if (nilai >= 8) {
index = 'A';
} else if (nilai >= 7)
{
index = 'B';
} else if (nilai >= 6)
{
index = 'C';
} else if (nilai >= 5)
{
index = 'D';
} else {
index = 'E';
}
System.out.println
(index);
}
}
Output
E:\>javac jika_bersarang.java
E:\>java jika_bersarang
C
3 IF – ELSE
Percabangan if-else merupakan
percabangan yang sama dengan percabangan if namun memiliki kondisi false,
artinya jika kondisi pada if tidak terpenuhi maka perintah pada else akan
dijalankan. Bentuk pernyataan if-else berupa:
if
(kondisi) {
// jalankan jika kondisi
true
}
}
else{
// jalankan jika kondisi
false
}
|
Output
E:\>javac jika2.java
E:\>java jika2
Bukan Sepuluh
Jika program diatas dijalankan, maka hasilnya adalah tulisan "Bukan
Sepuluh", hal ini dikarenakan nilai bernilai 8, bukan 10.
4.
SWITCH – CASE
Percabangan
switch-case merupakan percabangan yang kondisinya hanya dapat menggunakan
perbandingan = = (sama dengan). Bentuk pernyataan percabangan switch-case
adalah sebagai berikut :
switch (variabel) {
case nilai1 :
// jalankan instruksi
break; // hentikan
case nilai2 :
// jalankan instruksi
break; // hentikan
case nilai3 :
// jalankan instruksi
break; // hentikan
case nilai4 :
// jalankan instruksi
break; // hentikan
default:
// jalankan instruksi
break; // hentikan
Pada percabangan switch pertama,
diperlukan sebuah variabel, setelah itu pada bagian case dibandingkan, jika
sama, maka instruksi akan dijalankan sampai menemui tanda break.
Contoh :
public class pilih_pilih {
public static void main (String
[] args){
int hari = 5;
switch (hari) {
case 1 :
case 2 :
case 3 :
case 4 :
case 5 :
case 6 :
System.out.println
("Bukan Hari Libur");
break;
case 7 :
System.out.println
("Hari Libur");
default :
System.out.println
("Hari Tidak Diketahui");
break;
}
}
}
Output
E:\>javac
pilih_pilih.java
E:\>java pilih_pilih
Bukan Hari Libur
·
Macam-macam Perulangan ( Looping )
Loop atau perulangan adalah suatu bentuk kegiatan
mengulang suatu statement sampai batas yang diinginkan. Dalam pemograman Loop
atau perulangan sangat berguna sekali. Kegunaan sederhana dalam perulangan
terlukis seperti ini: Jika kita ingin menuliskan kata “saya ganteng” sebanyak
seribu kali maka kita harus membuat seribu baris kata “saya ganteng” dalam kode
pemrogaman kita. Tapi dengan adanya perulangan maka kita hanya cukup menuliskan
5 sampai 7 baris kode saja. Dalam praktek sebenarnya, tentu saja perulangan sangat
membantu sekali. Misal untuk memuat seluruh isi table dari sebuah database
dimana datanya ingin kita tampilkan.
Loop
atau perulangan dalam Java dapat dilakukan dengan 3 teknik:
1.
FOR
Perulangan dengan
teknik ini dikontrol oleh tiga bagian yang ada dalam tanda kurung dan
masing-masing bagian ini dipisahkan oleh titik-koma. Pada bagian
pertama(inisialisasi ekspresi), sebuah variabel akan di deklarasikan sebagai
sebuah titik awal dari perulangan, biasanya variable ini mempunyai tipe data
integer atau float. Sementara pada bagian kedua disinilah perulangan akan
diperiksa apakah masih memenuhi syarat atau tidak, jika masih memenuhi syarat
maka statement dibawahnya akan di eksekusi.
Sedangkan bagian
ketiga adalah bagian dimana jika bagian kedua masih memenuhi syarat maka nilai
variabel akan ditambahkan sesuai dengan syarat yang dituliskan. Bagian ketiga
ini secara otomatis akan tidak dibaca oleh program jika kondisi pada bagian
ke-dua sudah tidak lagi memenuhi syarat, dan perulangan pun menjadi terhenti.
Flowchart
Perulangan For
for (inisialisasi ekspresi; kondisi loop; ekspresi penambahan){
// pernyataan
}
Contoh :
public class perulangan1 {
public static void main (String[]args){
for (int i=0; i <=5; i++){
System.out.println("Saya
Ganteng");
}
}
}
Output
E:\>javac
perulangan1.java
E:\>java perulangan1
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
2.
WHILE
Perulangan dengan
menggunakan teknik while ini sebenarnya adalah suatu bentuk perulangan yang
memodifikasi teknik pencabangan (branching) secara kasar. Pernyataan yang ada
didalam blok perulangan akan dieksekusi dengan cara memeriksa ekspresi yang
ada, sepanjang ekspresi bernilai true maka statement akan terus di eksekusi.
Variabel sebagai kontrol perulangan bentuk ini diinisialisai di luar blok
perulangan ini. Dan penambahan atau increment nilai variabel berada didalam
blok perulangan ini. Kelebihan perulangan dengan bentuk ini adalah variabel
yang dideklarasikan tidak hanya bertipe integer atau float saja namun bisa juga
bertipe boolean atau string.
while(ekspresi){
//statement
}
Contoh :
public class Perulangan2 {
public static
void main(String[]args){
int i=0;
while(i<=5){
System.out.println("Saya Ganteng");
i++;
}}}
Output
E:\>javac
perulangan2.java
E:\>java
perulangan2
Saya
Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Flowchart Perulangan While
3.
DO – WHILE
Perulangan dengan
bentuk seperti ini adalah perulangan dengan membalikkan logika perulangan
dengan teknik while. Dalam perulangan dengan bentuk ini, pernyataan dieksekusi
dulu, baru kemudian kondisi variabel kontrol perulangannya diperiksa apakah
memenuhi syarat atau tidak. Variabel kontrol perulangan tetap diinisialisasi
diluar blok perulangan dan harus tetap bersifat incremental / bertambah dan
letak incrementalnya ada dalam blok perulangan. Secara logika maka diagram yang
bisa menggambarkan proses perulangan tersebut adalah:
Flowchart
Perulangan Do
While
do{
//statement
}
while(ekspresi);
Contoh :
public class Perulangan3 {
public static void main (String [] args){
int i=0;
do{
System.out.println("Saya
Ganteng");
i++;
}while(i<=5);
}
}
Output
E:\>javac
perulangan3.java
E:\>java perulangan3
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
Saya Ganteng
4.
Perulangan Rekursif
Metoda rekursif
adalah metoda mengulang dirinya sendiri. Metoda ini memanggil dirinya sendiri
untuk melakukan proses berulang-ulang. Kasus sederhana yang sering muncul
adalah proses berulang-ulang menghitung hasil factorial. Misalnya adalah
factorial dari 5 adalah 1 x 2 x 3 x 4 x 5. Dari proses itu kita ketahui bahwa
untuk menghitung factorial 5 manualnya seperti 1 x 2 = 2, lalu hasil 2 ini
dikalikan 3 sehingga hasilnya adalah 6, lalu hasil 6 ini dikalikan lagi dengan
4 sehingga hasilnya adalah 36, lalu hasil 36 ini dikalikan dengan 5 sehingga
hasilnya adalah 120.
Yang dinamakan
rekursif, hasil dari proses awal digunakan lagi untuk proses berikutnya sampai
batas yang diinginkan.
Kelebihan perulangan rekursif:
• Sangat mudah untuk melakukan perulangan dengan batasan
yang luas dalam artian melakukan perulangan dalam skala yang besar.
• Dapat melakukan perulangan dengan batasan fungsi.
Kekurangan perulangan rekursif:
• Tidak bisa melakukan nested loop atau looping
bersarang.
• Biasanya membuat fungsi sulit untuk dipahami, hanya
cocok untuk persoalan tertentu saja.
• Trace error
sulit.
• Memerlukan stack yang lebih besar, sebab setiap kali
fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack
dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun).
• Proses agak berbelit-belit karena terdapat pemangilan
fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk.
Contoh membuat Perhitungan Faktorial :
import java.io.*;
public class Faktorial {
public static void main(String[]
args) throws IOException{
InputStreamReader key = new
InputStreamReader(System.in);
BufferedReader input = new
BufferedReader(key);
String n;
int i,j,k=1;
System.out.print("Masukkan Nilai = ");
n=input.readLine();
j=Integer.parseInt(n);
System.out.print(j +"
"+"!=");
for(i=j;i>=1;i--){
System.out.print(i);
if(i>1)
System.out.print("x");
k=k*i;
}
System.out.print("\n");
System.out.println(j+ "
" +"!="+" "+k);
}
}
Output
E:\>javac
Faktorial.java
E:\>java Faktorial
Masukkan Nilai = 5
5 !=5x4x3x2x1
5 != 120
Komentar
Posting Komentar