SELECTION Algoritma by:teguh Cahyono,ST.M.Kom. 1
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. 2
1. Selection IF Statement If Struktur dari statemen If dapat berupa If Then atau if then Else dengan diagram sintak: Statement If IF Ungkapan Then Statement Else Statement by:teguh Cahyono,ST.M.Kom. 3
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 Benar tidak Then Statement by:teguh Cahyono,ST.M.Kom. 4
V a r B e g i n Contoh1 : 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 ] ; 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 * ) Bila digambarkan dalam diagram alir Output : Nilai yang didapat? 70 Lulus 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. by:teguh Cahyono,ST.M.Kom. 5
Begin Ket := Tidak Lulus Write ( Nilai Yang didapat? ); Readln(NilaiUjian); Nilai Ujian >60 Ya Tidak Ket := Lulus ; Writeln(Ket); End by:teguh Cahyono,ST.M.Kom. 6
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. 7
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 ) ya Tidak by:teguh Cahyono,ST.M.Kom. 8 End
b. If Then Else Struktur 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. 9
If Then Else (1) tidak If kondisi? Benar else Statement1 Then Statement2 by:teguh Cahyono,ST.M.Kom. 10
Contoh Var NilaiUjian : real; Begin Write( Nilai yang didapat? ); ReadLn(NilaiUjian); (* Seleksi nilai yang didapat, lulus atau tidak *) B egin W riteln ( nilai yang didapat? ); R eadln(nilaiu jian); N ilai U jian 60? If NilaiUjian > 60 Then WriteLn( Lulus ) Else WriteLn( Tidak Lulus ); End. W riteln( Tidak Lulus ); E nd. W riteln( Lulus ); by:teguh Cahyono,ST.M.Kom. 11
c. Struktur If Tersarang Struktur Iftersarang (Nested If) merupakan bentuk dari suatu statemen If berada dalam lingkungan statemen if yang lainnya. Misalnya by:teguh Cahyono,ST.M.Kom. 12
Bentuk if tersarang Bila digambarkan dalam diagram alir dapat berupa Tidak If Kondisi Benar Tidak If kondisi Benar Statemen1 Statemen2 by:teguh Cahyono,ST.M.Kom. 13
Struktur if dapat juga berupa sbb : Tidak If kondisi1? B enar If Kondisi Then If Kondisi then Statemen1 Else Statemen2 Statem en3 Tidak Statem en2 If kondisi2? B enar Statem ent1 Else Statemen3; by:teguh Cahyono,ST.M.Kom. 14
Bentuk if tersarang dapat juga berupa If K ondisi1? B enar If Kondisi1 then Begin T idak If K ondisi2? B enar If Kondisi2 Then Begin T idak If kondisi3? B enar If Kondisi3 Then Begin If kondisi4 Then Statemen1 Else Statemen2; T idak T idak B enar If K ondisi4? S tatem en1 S tatem en2 End End End; by:teguh Cahyono,ST.M.Kom. 15
2. Statement Case Statemen Case dapat berbentuk Case Of atau Case Of Else sintak dari bentuk diagram Case Of adalah Sbb: Statemen case Case Ungkapan Of Kasus ; End Bagian Else ; Kasus Konstanta ; Konstanta ; statemen ; Bagian Else Else Statemen by:teguh Cahyono,ST.M.Kom. 16
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. 17
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. 18
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. 19
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. 20
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. 21
Contoh Uses 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. 22
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. 23
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. 24
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. 25
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. 26
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. 27
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. 28
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] by:teguh Cahyono,ST.M.Kom. 29