A.
Jenis-jenis Struktur Percabangan
Didalam bahasa pascal terdapat 2 jenis struktur percabangan, yaitu
:
n Struktur percabangan IF; dan
n Struktur percabangan CASE
B.
Struktur Percabangan IF
Struktur percabangan IF dibagi menjadi 3
cara :
a.
IF untuk 1
kondisi pemecahan
b.
IF untuk 2
kondisi pemecahan
c.
IF
bersarang (lebih dari 2 kondisi pemecahan)
- IF untuk 1 kondisi pemecahan
1.
Syntax
(Aturan Penulisan) :
IF ekspresi/kondisi THEN
BEGIN
Aksi
END;
2.
Cara Kerja
:
AKSI akan dikerjakan jika
EKSPRESI/KONDISI bernilai TRUE
3.
Contoh
Kasus : Jika nilai >= 65 maka siswa dinyatakan lulus
4.
Solusi :
IF nilai >= 65 THEN
BEGIN
writeln(‘Siswa dinyatakan lulus’);
END;
- IF untuk 2 kondisi pemecahan
1.
Syntax
(Aturan Penulisan) :
IF ekspresi/kondisi THEN
BEGIN
Aksi 1
END
ELSE
BEGIN
Aksi 2
END;
2.
Cara Kerja
:
AKSI 1 akan dikerjakan jika
EKSPRESI/KONDISI bernilai TRUE
AKSI 2 akan dikerjakan jika
EKSPRESI/KONDISI bernilai FALSE
3.
Contoh
Kasus : Jika nilai >= 65 maka siswa dinyatakan lulus; jika tidak maka siswa
dinyatakan tidak lulus
4.
Solusi :
IF nilai >= 65 THEN
BEGIN
writeln(‘Siswa dinyatakan lulus’);
END
ELSE
BEGIN
writeln(‘Siswa dinyatakan tidak
lulus’);
END;
- IF Bersarang (lebih dari 2 kondisi pemecahan)
1.
Syntax (Aturan Penulisan) :
IF ekspresi/kondisi 1 THEN
BEGIN
Aksi 1
END
ELSE
BEGIN
IF
ekspresi/kondisi 2 THEN
BEGIN
Aksi 2
END
ELSE
BEGIN
Aksi
3
END;
END;
2.
Cara Kerja :
· Jika EKSPRESI/KONDISI 1 bernilai TRUE maka :
Aksi 1 akan
dikerjakan
· Jika EKSPRESI/KONDISI 1 bernilai FALSE maka :
· Jika EKSPRESI/KONDISI 2 bernilai TRUE maka :
Aksi 2 akan
dikerjakan
· Jika EKSPRESI/KONDISI 2 bernilai FALSE maka :
Aksi 3 akan
dikerjakan
3.
Contoh Kasus :
· Jika nilai UAS >= 65 maka siswa dinyatakan LULUS jika tidak
maka :
· Jika Absensi siswa >= 80 maka siswa dinyatakan LULUS
· Jika tidak maka siswa dinyatakan TIDAK LULUS
4.
Solusi :
IF nilai_UAS >= 65 THEN
BEGIN
writeln(‘Siswa
dinyatakan lulus’);
END
ELSE
BEGIN
IF absensi_siswa >= 80 THEN
BEGIN
writeln(‘Siswa
dinyatakan lulus’);
END
ELSE
BEGIN
writeln(‘Siswa
dinyatakan tidak lulus’);
END;
END;
C. Pernyataan
If, if-else dan if bersarang
- Pernyataan If merupakan salah satu bentuk pernyataan berkondisi yang berguna untuk pengambilan keputusan terhadap dua buah kemungkinan. Pernyataan if sendiri pada dasarnya memiliki dua buah bentuk, yaitu yang tidak mengandung else dan yang mengandung else di bawah ini contoh pernyataan if yang tidak memakai else :
import java.util.Scanner;
public class contohif1 {
public static void main(String[] args) {
Scanner masukan = new Scanner(System.in);
int nilai;
System.out.println("Masukkan nilai akhir mata
kuliahnya :");
nilai = masukan.nextInt();
if(nilai < 55) System.out.println("Mahasiswa
tersebut tidak lulus"); } }
Contoh program diatas Jika di inputkan nilai < 55, maka
akan muncul keterangan mahasiswa tersebut tidak lulus, tetapi jika nilai >
atau = 55, maka program akan berhenti tanpa menampilkan suatu pesan.
- Pernyataan if-else
Bentuk kedua pernyataan if adalah if-else, pada bentuk
ini, anda bisa mengatur pernyataan-pernyataan yang dijalankan sewaktu kondisi
bernilai benar ataupun sewaktu kondisi bernilai salah contoh pernyataan
if-else.
import java.util.Scanner;
public class contohif1 {
public static void main(String[] args) {
Scanner masukan = new Scanner(System.in);
int nilai;
System.out.println("Masukkan nilai akhir mata
kuliahnya :");
nilai = masukan.nextInt();
if(nilai < 55) System.out.println("Mahasiswa
tersebut tidak lulus"); else
System.out.println("Mahasiswa tersebut lulus");
} } Jika program diatas dijalankan maka Jika di inputkan nilai < 55, maka
akan muncul keterangan mahasiswa tersebut tidak lulus, tetapi jika nilai >
atau = 55, maka program akan menampilkan pesan mahasiswa tersebut lulus.
- Pernyataan if bersarang
Suatu pernyataan if bisa berada dalam pernyataan if.
Pernyataan if seperti ini disebut if bersarang(nested if). Contoh penggunaan if
bersarang yaitu untuk menentukan nilai suatu ujian tergolong A, B, C, D atau E
dengan kriteria berikut :
Nilai Skor
Nilai ≥ 80 A
Nilai ≥ 70 B
Nilai ≥ 55 C
Nilai ≥ 40 D
Nilai < 40 E Programnya adalah seperti berikut : 1 2 3
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import java.util.Scanner;
public class ifbersarang { public static void main(String[] args) { Scanner
masukan = new Scanner(System.in);
System.out.print("Masukkan Nilai ujian :"); int
nilai = masukan.nextInt(); if (nilai >= 90)
System.out.println("Nilainya A");
else if (nilai >= 70)
System.out.println("Nilainya B");
else if (nilai >=55)
System.out.println("Nilainya C");
else if (nilai >=40)
System.out.println("nilainya D");
else
System.out.println("nilainya E");
}
}
Ketika nilai lebih besar atau sama dengan 80 maka variabel
skor diisi dengan ‘A’. Jika tidak, maka akan dilakukan pengujian apakah nilai
lebih besar atau sama dengan 70. Pada pengujian ini, jika ekspresi bernilai
benar, skor diisi dengan ‘B’, jika tidak, dilakukan pengujian apakah nilai
lebih besar atau sama dengan 55. Jika ya, skor diisi ‘C’. Jika tidak, pengujian
berikutnya yaitu apakah nilai lebih besar atau sama dengan 40. Jika ya, skor
diisi dengan ‘D’. Jika tidak, skor diisi dengan ‘E’.
Nested IF merupakan pernyataan if berada didalam
pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah
if(syarat)
if(syarat)
..Perintah;
else
…perintah;
else
if(syarat)
…perintah;
else
… perintah;
if(syarat)
if(syarat)
..Perintah;
else
…perintah;
else
if(syarat)
…perintah;
else
… perintah;
Misalnya di berikan masalah seperti
berikut ini,
Sebuah Website memberikan komisi
kepada setiap afliaternya untuk setiap penjualan produknya.
- jika mampu menjual barang hingga 300000, maka akan mendapatkan bonus Rp.10.000, dan komisi 10% dari pendapatannya hari itu.
- Jika pendapatannya lebih dari Rp.300.000 s/d Rp.500.000 , maka akan mendapatkan bonus Rp.50.000 dan komisi 20% dari pendapatannya hari itu.
- Jika pendapatanya lebih dari Rp.1.000.000 maka akan mendapatkan bonus Rp.100.000 dan komisi 30% dari penjualannya hari itu.
Maka kita dapat menyelesaikan contoh
program NESTED IF (IF bersarang) sbb:
#include<iostream.h>
void main()
{
float pendapatan, jasa, bonus, total;
cout<<”Pendapatan Hari ini Rp. “;
cin>>pendapatan;
if(pendapatan>=0 && pendapatan <=300000)
{
jasa=10000;
bonus=0.1*pendapatan;
}
else
{
if(pendapatan<=500000)
{
jasa=20000;
bonus=0.15*pendapatan;
}
if(pendapatan<=1000000)
{
jasa=50000;
bonus=0.2*pendapatan;
}
else
{
jasa=100000;
bonus=0.3*pendapatan;
}
}
total=bonus+jasa;
cout<<”Jasa Penjualan Rp.”<<jasa<<endl;
cout<<”Bonus Rp.”<<bonus<<endl;
cout<<”============================”<<endl;
cout<<”Hasil Total Rp.”<<total<<endl;
}
void main()
{
float pendapatan, jasa, bonus, total;
cout<<”Pendapatan Hari ini Rp. “;
cin>>pendapatan;
if(pendapatan>=0 && pendapatan <=300000)
{
jasa=10000;
bonus=0.1*pendapatan;
}
else
{
if(pendapatan<=500000)
{
jasa=20000;
bonus=0.15*pendapatan;
}
if(pendapatan<=1000000)
{
jasa=50000;
bonus=0.2*pendapatan;
}
else
{
jasa=100000;
bonus=0.3*pendapatan;
}
}
total=bonus+jasa;
cout<<”Jasa Penjualan Rp.”<<jasa<<endl;
cout<<”Bonus Rp.”<<bonus<<endl;
cout<<”============================”<<endl;
cout<<”Hasil Total Rp.”<<total<<endl;
}
Hasil ouput dari program di atas
adalah :
2 komentar:
Sangat bermanfaat. Trimakasih
Boleh saya bertanya?
Saya ingin membuat TA tentang sensor kemiringan,bagaimana codingnya dalam kondisi jika x>=60 arus mati,jika x>=-60 arus mati,dan jika sudah mencapai sudut tersebut,saklar tidak mengalirkan arus lagi meskipun kemiringan kembali ke posisi semula,jd saklar hrus di offkan dulu untuk merestart ulang,,
Terimaksih atas perhatianya
Posting Komentar