STRUKTUR KONTROL
STRUKTUR PERCABANGAN IF … THEN … ELSE
ª Digunakan untuk menguji sebuah kondisi, bila kondisi terpenuhi (bernilai benar) maka akan dijalankan pernyataan tertentu.
Bentuk Umum :
IF kondisi THEN statement
IF kondisi THEN [blok] Statement ELSE [blok] Statement
IF kondisi THEN
BEGIN
Statement …
END;
IF kondisi THEN
BEGIN
IF kondisi THEN
BEGIN
Statement …
END;
END;
False True False
True
Contoh :
I f ( x > 0) Then
Wr i t eLn ( ' x bi l angan pos i t i f ' ) El s e
i f ( x < 0) Then
Wr i t eLn ( ' x bi l angan negat i f ' )
El s e
Wr i t eLn ( ' x adal ah nol ' ) ;
Algoritma dan Pemrograman 2 – Ticha Hal 27
Pr ogr am I F1; Var
Ni l ai : r eal ; Ket : s t r i ng[ 11] ; Begi n
Ket : = ' Ti dak Lul us ' ;
Wr i t e( ' Ni l ai y ang di dapat ?' ) ; ReadLn( Ni l ai ) ;
I f Ni l ai > 60 Then k et : = ' Lul us ' ; Wr i t eLn( Ket ) ;
End.
Hasilnya Æ Nilai yang didapat ? 70
Lul us
Pr ogr am I F2; Var
Ni l ai : r eal ; Ket : s t r i ng[ 11] ; Begi n
Wr i t e( ' Ni l ai y ang di dapat ?' ) ; ReadLn( Ni l ai ) ;
I f Ni l ai > 60 Then k et : = ' Lul us ' el s e
Ket : = ' Ti dak Lul us ' ; Wr i t eLn( Ket ) ;
End.
Pr ogr am I F3; Var
Bi l : i nt eger ;
Begi n
Wr i t e( ' Ket i k k an s embar ang bi l angan bul at : ' ) ; ReadLn( Bi l ) ;
I f bi l mod 2 = 0 Then
Wr i t e ( bi l , ' adal ah bi l angan Genap' ) El s e
Wr i t e ( bi l , ' adal ah bi l angan Ganj i l ' ) ; End.
Hasilnya Æ Ketikkan sembarang bilangan bulat : 70
70 adal ah bi l angan Genap
Pr ogr am I F4; Var
A, B : i nt eger ; Begi n
Wr i t e( ' Ket i k k an dua buah bi l angan bul at : ' ) ; ReadLn( A, B) ;
I f A > B Then
Wr i t e ( ' Bi l angan t er bes ar : ' , A) El s e
Wr i t e ( ' Bi l angan t er bes ar : ' , B) ; End.
Hasilnya Æ Ketikkan dua buah bilangan bulat: 70 60
Bi l angan t er bes ar : 70
Algoritma dan Pemrograman 2 – Ticha Hal 28
IF
Statement
IF
Pr ogr am I F5; Var
Pi l i h : i nt eger ; P, L : i nt eger ; Luas , Kel : i nt er ger ; Begi n
Wr i t e( ' Mas uk k an Panj ang Per s egi empat : ' ) ; ReadLn( P) ;
Wr i t e( ' Mas uk k an Lebar Per s egi empat : ' ) ; ReadLn( L) ;
Wr i t eLn;
Wr i t e( ' Pi l i h 1 unt uk hi t ung Luas dan 2 unt uk hi t ung Kel i l i ng' ) ; ReadLn( pi l i h) ;
I f Pi l i h=1 Then Begi n
Luas : = P * L;
Wr i t eLn( ' Luas per s egi panj ang adal ah : ' , l uas ) ; End;
El s e Begi n
Kel : = 2 * ( P + L) ;
Wr i t eLn( ' Kel i l i ng per s egi panj ang adal ah : ' , k el ) ; End;
End.
Pr ogr am I F6; Us es Cr t ; Var
Nama : St r i ng [ 10] Begi n
Cl r Sc r ;
Wr i t e( ' Ket i k k an nama Anda : ' ) ; ReadLn( Nama) ; I f Nama = ‘ ‘ Then
Wr i t eLn ( ‘ Wah i s i dul u donk ! ! ! ’ ) El s e
Wr i t e ( ' Hai , ‘ , Nama, ’ , k i t a j umpa l agi ’ ) ; End.
Algoritma dan Pemrograman 2 – Ticha Hal 29
Tugas !
1. Buat Program untuk menentukan indeks nilai mahasiswa berdasarkan ketentuan sebagai berikut :
- Nilai ujian > 80 Æ indeks nilai = A - 70 [ Nilai ujian < 80 Æ indeks nilai = B - 55 [ Nilai ujian < 70 Æ indeks nilai = C - 40 [ Nilai ujian < 55 Æ indeks nilai = D - Nilai ujian < 40 Æ indeks nilai = E
2. Buat program untuk menampilkan nama hari dengan ketentuan
- Masukkan kode hari
- Jika x = 0, maka Tulis ‘Minggu’ - Jika x = 1, maka Tulis ‘Senin’ - Jika x = 2, maka Tulis ‘Selasa’ - Jika x = 3, maka Tulis ‘Rabu’ - Jika x = 4, maka Tulis ‘Kamis’ - Jika x = 5, maka Tulis ‘Jumat’ - Jika x = 6, maka Tulis ‘Sabtu’
- Jika di isi selain nilai tsb, maka muncul peringatan “ Kode hari tidak valid”
3. Buat program untuk membuat hasil sbb:
Pilihan Menu
1. Menghitung luas lingkaran 2. Menghitung luas segitiga 3. Menghitung luas bujur sangkar
Pilih Nomor (0-3) ? _
Æ Jika di isi dengan 2 Æ maka Outputnya :
Panjang sisi alas ? 20 Tinggi segitiga ? 15
Luas Segitiga = 150.00
Pr ogr am I F6; Var
Ni l ai : r eal ; I ndek s : c har ; Begi n
Wr i t e( ' Mas uk k an ni l ai mahas i s wa : ' ) ; ReadLn( Ni l ai ) ;
I f Ni l ai > 80 Then I ndek s : = ' A' El s e
I F ( Ni l ai >= 70) and ( ni l ai < 80) Then
I ndek s : = ' B'
El s e
I F ( Ni l ai >= 55) and ( ni l ai < 70) Then
I ndek s : = ' C'
El s e
I F ( Ni l ai >= 40) and ( ni l ai < 55) Then
I ndek s : = ' D'
El s e
I ndek s : = ' E'
Wr i t eLn( ' I ndek s ni l ai uj i an = ' , i ndek s ) ; End.
Pr gor am I F7;
Var Pi l : by t e;
R, L, T, Luas : r eal ;
Begi n Cl r Sc r ;
Got oXY( 10, 2) ; Wr i t eLn( ‘ Pi l i han Menu’ ) ;
Got oXY( 10, 4) ; Wr i t eLn( ‘ 1. Menghi t ung Luas Li ngk ar an’ ) ; Got oXY( 10, 5) ; Wr i t eLn( ‘ 1. Menghi t ung Luas Segi t i ga’ ) ; Got oXY( 10, 6) ; Wr i t eLn( ‘ 1. Menghi t ung Laus Buj ur Sangk ar ’ ) ; Got oXY( 10, 15) ; Wr i t e( ‘ Pi l i h Nomor ( 0- 3) ? ‘ ) ; Read( pi l ) ;
Cl r Sc r ; Pi : = 3. 14; I f Pi l = 1 Then Begi n
Wr i t e( ‘ j ar i - j ar i l i ngk ar an ? ‘ ) ; Readl n( R) ; Luas : = pi * R * R;
Wr i t eLn ( ‘ Luas Li ngk ar an = ‘ , Luas : 9: 2) ; End;
I f Pi l = 2 Then Begi n
Wr i t e( ‘ Panj ang Si s i al as ? ‘ ) ; Readl n( L) ; Wr i t e( ‘ Ti nggi Segi Ti ga? ‘ ) ; Readl n( T) ; Luas : = 0. 5 * L * T;
Wr i t eLn ( ‘ Luas Segi t i ga = ‘ , Luas : 9: 2) ; End;
I f Pi l = 3 Then Begi n
Wr i t e( ‘ Panj ang Buj ur Sangk ar ? ‘ ) ; Readl n( T) ;
Wr i t e( ‘ Lebar Buj ur Sangk ar ? ‘ ) ; Readl n( L) ;
Luas : = L * T;
Wr i t eLn ( ‘ Luas Buj ur Snagk ar = ‘ , Luas : 9: 2) ; End;
End.
Algoritma dan Pemrograman 2 – Ticha Hal 31
STATEMENT CASE … OF
ª Biasanya digunakan untuk masalah dengan dua kasus atau lebih, atau dengan kata lain untuk menyederhanakan penulisan IF-THEN-ELSE yang bertingkat-tingkat.
Bentuk Umum Case – Of
CASE ekspresi OF
Case label list 1 : statement_1; Case label list 2 : statement_2;
… …
Case label list n : statement_n;
END;
Bentuk Umum : Case - Of…Else
CASE ekspresi OF
Case label list 1 : statement_1; Case label list 2 : statement_2;
. . .
Case label list n : statement_n; ELSE statement;
END;
Bentuk proses (flow chart) :
Daftar case label dapat berupa konstanta, range dari konstanta ynag bukan real
C/: 1 ‘A’
1,2,3,4 ‘A’,’B’,’C’,’D’,
1..5 ‘A’..’D’
Algoritma dan Pemrograman 2 – Ticha Hal 32
Decision
S-1 S-n
S-3 S-2
cll-1 cll-n
....dst....
Contoh/:
Buat program untuk menampilkan nama hari dengan ketentuan
- Masukkan kode hari
- Jika di isi selain nilai tsb, maka muncul peringatan “ Kode hari tidak valid”
Pr ogr am CASE3;
Perbedaan antara CASE dengan IF adalah
Æ statement if menyeleksi suatu kondisi dan terpenuhi, setelah memproses statement dalam lingkungan yang terpenuhi tersebut, proses penyeleksian masih dilakukan terhadap statement if berikutnya yang lain.
Pr ogr am Cont ohI f ;
Contoh Penggunaan CASE OF untuk data yang berupa range