Upload
vomien
View
271
Download
0
Embed Size (px)
Citation preview
by:Teguh Cahyono,ST.M.Kom. 1
SELECTION
Algoritma
by:Teguh Cahyono,ST.M.Kom. 2
Selection
• Selection didalam program pascal
digunakan untuk mengontrol jalannya
program agar dapat memilih salah satu
sekian banyak pilihan yang ada
by:Teguh Cahyono,ST.M.Kom. 3
1. Selection IF
• Statement If Struktur dari statemen If
dapat berupa If Then atau if then Else
dengan diagram sintak:
IF Ungkapan Then Statement
Else Statement
Statement If
by:Teguh Cahyono,ST.M.Kom. 4
a. Statement If Then• Bentuk dari struktur if Then adalah sebagai berikut :
If ungkapan Then Statement
• Ungkapan adalah kondisi yang akan diseleksi oleh statement If . Bila kondisi yang diseleksi terpenuhi, maka statement yang mengikuti Then akan diproses. Bila kondisi tidak terpenuhi , maka yang akan diproses adalah statement berikutnya
IF
Kondisi
Statement
Benar
Then
tidak
by:Teguh Cahyono,ST.M.Kom. 5
Contoh1 :
V a r
N i l a i U j i a n : r e a l ;
K e t : s t r i n g [ 1 1 ] ;
B e g i n
K e t : = ’ T i d a k L u l u s ’ ;
W r i t e ( ‘ N i l a i y a n g d i d a p a t ? ’ ) ;
R e a d L n ( N i l a i U j i a n ) ;
( * S e l e k s i n i l a i y a n g d i d a p a t , l u l u s a t a u t i d a k * )
I f N i l a i U j i a n > 6 0 T h e n K e t : = ’ L u l u s ’
W r i t e L n ( K e t ) ;
E n d .
Bila digambarkan dalam diagram alir
Output :
Nilai yang didapat ? 70
Lulus
by:Teguh Cahyono,ST.M.Kom. 6
Begin
Ket := ‘Tidak Lulus
Write (‘Nilai Yang didapat ?’);
Readln(NilaiUjian);
Nilai Ujian >60
Ket := ‘Lulus’;
Writeln(Ket);
End
Ya
Tidak
by:Teguh Cahyono,ST.M.Kom. 7
Contoh2 :uses
wincrt;
Label
10;
Var
R, T, Isi : real;
Jawab : char;
Begin
10: WriteLn;
Write('Jari-jari Lingkaran ?'); ReadLn(R);
Write('Tinggi Silinder ?'); ReadLn(T);
Isi :=Pi* R*R *T;
Writeln;
Writeln('Isi Silinder = ',Isi:9:2);
Writeln;
Write('Akan Menghitung lagi (Y/T) ?');
Readln(jawab);
If (jawab='T') or (jawab ='Y') then Goto 10;
End.
by:Teguh Cahyono,ST.M.Kom. 8
Begin
Writeln;
Write(‘jari-jari Lingkaran ?’)
Readln(R)
Writeln(‘Tinggi Silinder ?’)
Readln(T)
Isi := Pi *R*R * T;
Writeln;
Writeln(isi Silinder = ‘, Isi :9:2);
Wrteln;
Wrteln(Akan Menghitung lagi (Y/T) ?’);
Realdn(Jawab);
(Jawab =’Y’) or
(Jawab = ‘T’)
End
ya
Tidak
by:Teguh Cahyono,ST.M.Kom. 9
b. If Then…… ElseStruktur If Then….Else merupakan pengembangan dari struktur If-Then dengan struktur sebagai berikut:
If Kondisi Then
Statement 1
Else
Statement 2
Statement 1 dapat berupa blok statement akan di proses bilamana kondisi yang diseleksi benar (terpenuhi) sedang statement2 atau dapat berupa blok statement akan diproses bilamana kondisi yang diseleksi tidak terpenuhi.
by:Teguh Cahyono,ST.M.Kom. 10
If Then…Else (1)
If kondisi ?
Statement1 Statement2
tidak Benar
else Then
by:Teguh Cahyono,ST.M.Kom. 11
Contoh Var
NilaiUjian : real;
Begin
Write(‘Nilai yang didapat ?’);
ReadLn(NilaiUjian);
(* Seleksi nilai yang didapat, lulus atau tidak *)
If NilaiUjian > 60 Then
WriteLn(’Lulus’)
Else
WriteLn(’Tidak Lulus’);
End.
Begin
W rite ln (‘n ila i yang d idapat ? ’);
R eadln(n ila iU jian);
N ila i U jian 60 ?
W rite ln(‘T idak Lulus’); W rite ln(‘Lulus’);
End.
by:Teguh Cahyono,ST.M.Kom. 12
c. Struktur If TersarangStruktur Iftersarang (Nested If) merupakan bentuk dari
suatu statemen If berada dalam lingkungan
statemen if yang lainnya. Misalnya
by:Teguh Cahyono,ST.M.Kom. 13
Bentuk if tersarang Bila digambarkan dalam diagram alir
dapat berupa
If Kondisi
If kondisi
Statemen1 Statemen2
Tidak Benar
Tidak Benar
by:Teguh Cahyono,ST.M.Kom. 14
Struktur if dapat juga berupa sbb :
If Kondisi Then
Else
Statemen3;
If Kondisi then
Statemen1
Else
Statemen2
If kondisi1 ?
If kondisi2
?
Statem en2 Statem ent1Statem en3
T idak Benar
T idak Benar
by:Teguh Cahyono,ST.M.Kom. 15
Bentuk if tersarang dapat juga berupa
If Kondisi1 then
Begin
End;
If Kondisi2 Then
Begin
End
If Kondisi3 Then
Begin
End
If kondisi4 Then
Statemen1
Else
Statemen2;
If Kondis i1 ?
If Kondis i2 ?
If kondis i3 ?
If Kondis i4 ?
S tatem en1 Statem en2
T idak
Benar
T idak
Benar
T idak
Benar
T idak Benar
by:Teguh Cahyono,ST.M.Kom. 16
2. Statement Case• Statemen Case dapat berbentuk Case Of atau Case Of…Else
sintak dari bentuk diagram Case Of adalah Sbb:
Case Ungkapan OfStatemen case
Kasus
;
Bagian Else
End
;
Konstanta Konstanta statemen; ;Kasus
;
Else StatemenBagian Else
by:Teguh Cahyono,ST.M.Kom. 17
a. Struktur Case Of• Struktur Case-of mempunyai suatu ungkapan logika yang
disebut dengan selector dan sejumlah statemen yang diawali dengan sutu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
• Perbedaan dengan struktur If adalah bila statemen If menyeleksi suatu kondisi dan terpenuhi, setelah memproses statemen dalam lingkungan yang terpenuhi tersebut, proses penyelesaian masih dilakukan terhadap statemen If berikut yang lain. Sedang pada struktur Case-of bila salah satu kondisi terpenuhi (nilai case label sama dengan nilai selector) dan statemen tersebut telah diproses, selanjutnya statemen –statemen yang lainnya dalam lingkungan Case tidak akan diseleksi lagi.
• Bentuk dari struktur Case-of adalah sbb :
by:Teguh Cahyono,ST.M.Kom. 18
CASE ungkapan OF
Daftar case-label 1: statemen1;
Daftar case-label 2: statemen2;
Daftar case-label 3: statemen3;
.
.
.
Daftar case-label n: statemenn;
END;
Daftar case label dapat berupa sebuah konstanta
atau range dari konstanta yang bukan bertipe real.
by:Teguh Cahyono,ST.M.Kom. 19
Contoh :1: (nilai integer 1)
1,2,3,4: (nilai integer 1,2,3,4)
1..5: (nilai integer 1,2,3,4,5)
’A’: (nilai karakter ‘A’)
’A’,’B’: (nilai karakter ’A’ dan ’B’)
’A’..’D’ (nilai karakter ’A’,’B’,’C’ dan ’D’)
’*’: (nilai karakter ’*’)
Contoh :
Nilai ujian yang diberikan dalam bentuk A,B,C,D,E,F mempunyai arti sebagai berikut :
Nilai ’A’ berarti sangat baik
Nilai ’B’ berarti baik
Nilai ’C’ berarti cukup
Nilai ’D’ berarti kurang
Nilai ’E’ berarti gagal
by:Teguh Cahyono,ST.M.Kom. 20
Var
Nilai : char;
Begin
Write(‘Nilai huruf yang didapat ? ‘); ReadLn(Nilai);
Case Nilai Of
‘A’ : WriteLn(‘Sangat Baik’);
‘B’ : WriteLn(‘Baik’);
‘C’ : WriteLn(‘Cukup’);
‘D’ : WriteLn(‘Kurang’);
‘E’,’F’ : WriteLn(‘Gagal’);
End;
End.
OutPut
: Nilai huruf yang didapat ? C
Cukup
by:Teguh Cahyono,ST.M.Kom. 21
b. Struktur Case Of….. Else
• Struktur Case Of….. Else merupakan
pengembangan dari struktur Case-of dan juga
merupakan pengembangan dari standar Pascal.
Pada struktur Case-of bila tidak ada kondisi
yang terpenuhi berarti tidak ada statemen
didalam lingkungan Case-of yang diproses.
• Dengan struktur Case-of.....Else, bila tidak ada
kondisi yang terpenuhi, maka statemen yang
akan diproses didalam lingkungan Case-of
adalah statemen yang ada di Else.
by:Teguh Cahyono,ST.M.Kom. 22
ContohUses Crt;
Var
Pilihan : byte;
R,L,T,Luas : real;
Begin
ClrScr;
GotoXY(10,2) ; WriteLn(‘ <<< PILIHAN >>> ‘);
GotoXY(10,4) ; WriteLn(‘1. Menghitung Luas Lingkaran’);
GotoXY(10,6) ; WriteLn(‘2. Menghitung Luas Segitiga’);
GotoXY(10,8) ; WriteLn(‘3. Menghitung Luas Bujur-sangkar’);
GotoXY(10,20) ; WriteLn(‘Pilih Nomer (1-3) ?’); Read(Pilihan);
ClrScr;
Case Pilihan of
1: Begin
Write (’Jari-jari Lingkaran ?’); ReadLn(R);
Luas := Pi * R*R;
WriteLn(’Luas Lingkaran = ’, Luas:9:2);
End;
by:Teguh Cahyono,ST.M.Kom. 23
2: Begin
Write (’Panjang sisi alas ? ’); ReadLn(L);
Write (’Tinggi segitiga ? ’); ReadLn(T);
Luas := 0.5 * L * T;
WriteLn;
writeLn(’Luas segitiga =’,Luas:9:2);
End;
3: Begin
Write (’Panjang bujur-sangkar ?’); ReadLn(T);
Write (’Lebar bujur-sangkar ?’); ReadLn(L);
Luas := T * L;
WriteLn;
WriteLn (’Luas bujur sangkar = ’, Luas:9:2);
End;
Else
Begin
WriteLn(’Pilihannya hanya 1,2 atau 3’);
WriteLn(’Anda tadi pilih nomer berapa ? ...... Ngawur !!!’);
End;
End;
End.
by:Teguh Cahyono,ST.M.Kom. 24
Output :
<<< PILIHAN >>>1. Menghitung Luas Lingkaran
2. Menghitung Luas Segitiga
3. Menghitung Luas Bujur-sangkar
Pilih nomer (1-3) ? 3
by:Teguh Cahyono,ST.M.Kom. 25
OPERASI SET• Deklarasi Set
set merupakan tipe data terstruktur yg terdiri dari elemen yg disebut Anggota Set, yg tdk memiliki urutan dan tidak boleh ada dua anggota set yg sama.
Bentuk Umum :
type
<NamaTipe>=set of <TipeData>;
Contoh :
type
Karakter = set of Char;
Angka = set of Integer;
Tanggal = aet of 1..31;
Hari = set of (Senin,Selasa,Rabu,Kamis,Jumat,Sabtu,Minggu);
Var
kar:karakter;
bil:angka;
tgl:tanggal;
Seminggu:hari;
• Penulisan nilai didalam suatu set
Nilai-nilai dalam suatu set dapat dituliskan dgn beberapa cara, yi disebutkan satu per satu (enumerasi) atau dituliskan dalam rentang tertentu.
by:Teguh Cahyono,ST.M.Kom. 26
• Notasi Set Enumerasi
Elemen-elemen yg terdapat dalam set dinyatakan satu per satu.
Bentuk Umum :
NamaVar:=[elemen1,elemen2,….elemenN];
Contoh :
Angka := [1,2,3,4,5,6];
Huruf := [`A`,`B`,`C`,`D`,`E`];
• Notasi Set Rentang
Elemen-elemen yg dinyatakan secara rentang berdasarkan tipe dasar set tersebut.
Bentuk Umum :
NamaVar:=[Rentang1,Rentang2,…,RentangN]
Contoh :
Angka : =[1..6];
AngkaAngka := [0..5,10..20,35..50];
Huruf := [`A`..`C`,`G`..`Z`];
by:Teguh Cahyono,ST.M.Kom. 27
• Memberikan nilai pada variabel set
type
Karakter = set of char;
Angka = set of integer;
Tanggal = set of 1...31;
var
kar:karakter;
bil:angka;
tgl:tanggal;
Begin
kar:=[`a`,`b`];
bil:=[1..10,20..50];
tgl:=[1,2,3,4];
End.
by:Teguh Cahyono,ST.M.Kom. 28
Operasi – Operasi Dalam Set
• Salah satu operasi dasar dalam set ialah menyatakan apakah suatu nilai tertentu merupakan anggota dari set tersebut. Operator set `in` digunakan untuk tujuan tersebut.
• Bentuk umum:
SuatuNilai in SuatuSet
Contoh:
If(`z` in Huruf) then {statement}
While not (NilaiSet in AngkaSet) do {statement}
Operator `in` dpt digunakan untuk membandingkan anggota dari suatu set dengan set yg lain. Hasil yg muncul, True jika elemen merupakan anggota set, False jika tidak.
by:Teguh Cahyono,ST.M.Kom. 29
Operasi Gabungan (Union)
• Adalah operasi yg menggabungkan dua set menjadi satu. Anggota dari dua set tersebut, dijadikan satu dan menghasilkan set baru dan tidak menghasilkan duplikasi anggota set.
• Notasi : +
• Contoh :
[1,2,3] + [4,5,6] [1,2,3,4,5]
[1,2,3] + [2,3,5,6,7]