Review - Type Data Boolean
Adalah mengembalikan nilai
True (Benar) atau False (Salah)
Dik x = 2
x > 3 à False
x < 3 à True
Table Kebenaran
X
|
Y
|
AND
|
OR
|
T
|
T
|
T
|
T
|
T
|
F
|
F
|
T
|
F
|
T
|
F
|
T
|
F
|
F
|
F
|
F
|
Dik x = true, y = false
Tentukan nilai (x and y) or
x
(T and F) or T
F or T à T
- Ilustrasi PEMILIHAN
Misalnya akan dibuat sebuah program sebagai berikut
Keterangan : Jika yang dipilih oleh user adalah menu
‘1’, maka program akan menampilkan harga sebesar 7.000. Jika yang dipilih oleh
user adalah menu ‘2’, maka program akan menampilkan harga sebesar 8.000. Perhatikan,
apabila yang dipilih adalah menu yang lain, maka programpun akan menampilkan
daftar yang berbeda pula.
Diperlukan suatu mekanisme pemilihan agar program
mampu merespon dengan baik inputan dari
user.
Algoritma diatas apabila di terjemahkan dalam bahasa
natural adalah sebagai berikut
Jika input menu adalah 1, maka tuliskan ‘Harga :
7.000’
Selain itu, Jika input menu adalah 2, maka tuliskan
‘Harga : 8.000’
Selain itu, Jika input menu adalah 3, maka tuliskan
‘Harga : 9.000’
Selain itu, Jika input menu adalah 4, maka tuliskan
‘Harga : 6.000’
Selain itu, tuliskan ‘Menu yang anda inputkan salah’
- Seleksi menggunakan IF Then Else
Format umum dari IF Then Else adalah sbb
If Kondisi_1 terpenuhi Then
Statement_1
Else If Kondisi_2 terpenuhi
Then Statement_2
Else If Kondisi_3 terpenuhi
Then Statement_3
Else If Kondisi_4 terpenuhi
Then Statement_4
Else (Selain dari Kondisi
diatas)
Statement Else
Apa
Itu Kondisi?
Dalam contoh kasus diatas (program pemilihan menu) terdapat
5 buah Kondisi, yaitu :
Kondisi apabila yang dipilih adalah
menu 1
Kondisi apabila yang dipilih adalah
menu 2
Kondisi apabila yang dipilih adalah
menu 3
Kondisi apabila yang dipilih adalah
menu 4
Dan 1 buah Kondisi Else
Yaitu kondisi dimana menu yang
dipilih selain menu 1,2,3 dan empat
Apa itu
Statement ?
Dalam contoh kasus diatas (program
pemilihan menu) terdapat sebuah statement untuk setiap kondisinya, yaitu :
Kondisi menu 1 à statemennya adalah : harga 7.000
Kondisi menu 2 à statemennya adalah : harga 8.000
Kondisi menu 3 à statemennya adalah : harga 9.000
Kondisi menu 4 à statemennya adalah : harga 6.000
Kondisi Else à statementnya adalah : menu yang anda inputkan salah
Dengan
demikian contoh aplikasi diatas dapat dituliskan program utuhnya sbb
Program PilihMenu ;
Uses
wincrt;
var
Menu : char;
Begin
clrscr;
writeln('MENU :');
writeln('1. Bakso');
writeln('2. Mie Ayam');
writeln('3. Siomay');
writeln('4. Bubur Ayam');
writeln;
write('Pilih Menu : ') ;
readln(Menu);
|
||||||
If Menu = '1' then
|
write('Harga = 7.000');
|
Else If Menu = '2' then
|
write('Harga
= 8.000');
|
Else If Menu = '3' then
|
write('Harga
= 9.000');
|
Else If Menu = '4' then
|
write('Harga
= 6.000');
|
else
|
write('Menu
yang anda inputkan salah');
End;
End.
- Contoh Program - Operasi Matematis
program PemilihanOperasi;
uses
wincrt;
var
Bil1 : integer;
Bil2 : integer;
Hasil
: Real;
Operasi : Char;
begin
write('Masukan Bilangan
Pertama : ');
readln(Bil1);
write('Masukan Bilangan
Kedua : ');
readln(Bil2);
writeln;
writeln('Operasi Matematika
:');
Writeln('1. Penjumlahan');
Writeln('2. Pengurangan');
Writeln('3. Perkalian');
Writeln('4. Pembagian');
write('Operasi yang
diinginkan : ');
readln(Operasi);
If Operasi = '1' Then
Begin
Hasil := Bil1 + Bil2 ;
write(Bil1, ' + ', Bil2, ' = ', Hasil:2:2);
End
Else If Operasi = '2' then
Begin
Hasil := Bil1 - Bil2;
write(Bil1, ' - ', Bil2, ' = ', Hasil:2:2);
End
Else If Operasi = '3' then
Begin
Hasil := Bil1 * Bil2;
write(Bil1, ' x ', Bil2, ' = ', Hasil:2:2);
End
Else If Operasi = '4' then
Begin
Hasil := Bil1 / Bil2;
write(Bil1, ' / ', Bil2, ' = ', Hasil:2:2);
End
Else
Begin
write('Pilihan Anda Salah');
End;
end.
- Contoh Program Penentuan Nilai
program PenentuanNilai;
uses
wincrt;
var
Score : integer;
Nilai : Char;
begin
write('Inputkan Score Ujian
Anda : ');
readln(Score);
If (Score > 80) and
(Score <= 100) Then
Begin
Write('Nilai A') ;
End
Else If (Score > 70) and
(Score <= 80) Then
Begin
Write('Nilai B') ;
End
Else If (Score > 60) and
(Score <= 70) Then
Begin
Write('Nilai C') ;
End
Else If (Score > 50) and
(Score <= 60) Then
Begin
Write('Nilai D') ;
End
Else If Score <= 50 Then
Begin
Write('Nilai E') ;
End
Else
Begin
Write('Score diluar range yang diperbolehkan')
End;
end.
Keterangan Range Nilai :
A : 81 – 100
B : 71 – 80
C : 61 – 70
D : 51 – 60
E : 0 – 50
- Contoh Program Penentuan GENAP_GANJIL
Program
GENAP_GANJIL;
Uses
Wincrt;
Var
Bilangan : integer;
Begin
Repeat
clrscr;
write('Inputkan Sebuah Bilangan : ');
readln(Bilangan);
If Bilangan mod 2 = 0 then
Begin
write('GENAP');
End
Else
Begin
write('GANJIL');
End;
readln;
until keypressed;
End.i
- Contoh Program Penentuan Tahun Kabisat
Program
Penentu_Kabisat;
Uses
Wincrt;
Var
Tahun : integer;
Begin
Repeat
clrscr;
write('Inputkan Tahun : ');
readln(Tahun);
If Tahun mod 4 = 0 then
Begin
write('KABISAT');
End
Else
Begin
write('BUKAN KABISAT');
End;
readln;
until keypressed;
End.
- Seleksi Menggunakan Case Of
Format Umum Case Of
Case variable Of
Kondisi_1 : Begin
Statemen_1;
End;
Kondisi_2 : Begin
Statemen_2;
End;
Kondisi_3 : Begin
Statemen_3;
End;
.
.
Kondisi_N : Begin
Statemen_N;
End;
Else
Begin
Statement Else ;
End;
End;
Yang perlu diperhatikan
adalah, variable yang digunakan dalam pernyataan kondisi, haruslah variable
yang memiliki tingkat ordinalitas, integer dan char . Sedangkan type data
String tidak dapat dipergunakan dalam Case Of
Contoh 1, Mencari Jumlah Hari – Case Of
Program
JumlahHari;
Uses
Wincrt;
Var
Tahun : Integer;
DigitBulan : integer;
Begin
Write('Inputkan Tahun = ');
Readln(Tahun);
Repeat
Write('Inputkan Digit Bulan : ');
Readln(DigitBulan);
case DigitBulan Of
1,3,5,7,8,10,12 : Begin
Write('Jumlah hari =
31 hari');
End;
4,6,9,11 : Begin
Write('Jumlah hari
= 30 hari');
End;
2 : Begin
If Tahun mod 4 =
0 then
Begin
Write('Jumlah hari = 29 hari')
End
Else
Begin
Write('Jumlah hari = 28 hari')
End;
End;
Else
Begin
Write('Inputan salah!!!');
End;
End;
readln;
until Keypressed;
End
Contoh 2, Menentukan Nilai – Case Of
program PenentuanNilai;
uses
wincrt;
var
Score : integer;
Nilai : Char;
begin
Repeat
write('Inputkan Score Ujian
Anda : ');
readln(Score);
Case Score Of
81..100 : Begin
Nilai := 'A' ;
Write('Nilainya = ',
Nilai);
End;
71..80 : Begin
Nilai := 'B' ;
Write('Nilainya = ',
Nilai);
End;
61..70 : Begin
Nilai := 'C';
Write('Nilainya = ',
Nilai);
End;
51..60 : Begin
Nilai := 'D';
Write('Nilainya = ',
Nilai);
End;
0..50
: Begin
Nilai := 'E' ;
Write('Nilainya = ',
Nilai);
End
Else
Begin
Write('Nilai yang anda inputkan tidak
terdapat dalam jangkauan') ;
End;
End;
readln;
until keypressed;
end.
Contoh 3, Menentukan Upah Mingguan – Case Of
Program
UpahMingguan;
Uses
wincrt;
Var
Golongan : Char;
UpahNormal, UpahLembur, UpahTotal : LongInt;
Jam_kerja : LongInt;
Begin
Repeat
clrscr;
write('Inputkan Golongan Anda : ');
Readln(Golongan);
write('Inputkan Jumlah Jam Kerja : ');
Readln(Jam_Kerja) ;
if jam_kerja >= 40 Then
Begin
Case Golongan of
'A'
: Begin
UpahNormal := 40 *
5000;
End;
'B'
: Begin
UpahNormal := 40 * 6000;
End;
'C'
: Begin
UpahNormal := 40 * 7000;
End;
End;
End
else
Begin
Case Golongan of
'A'
: Begin
UpahNormal := Jam_Kerja *
5000;
End;
'B'
: Begin
UpahNormal := Jam_Kerja *
6000;
End;
'C'
: Begin
UpahNormal := Jam_Kerja *
7000;
End;
End;
End;
If Jam_Kerja > 40 then
Begin
Case Golongan of
'A' :
Begin
UpahLembur := (Jam_Kerja - 40) *
7000;
End;
'B' : Begin
UpahLembur := (Jam_Kerja - 40) *
8000;
End;
'C' : Begin
UpahLembur := (Jam_Kerja - 40) *
9000;
End;
End;
End;
UpahTotal := UpahNormal + UpahLembur;
Writeln('Upah Normal = ', UpahNormal);
Writeln('Upah Lembur = ', UpahLembur);
Writeln('Upah Total = ', UpahTotal);
readln;
until keypressed;
End.
1 komentar:
thank,,,membantu sekali bro
Posting Komentar