selection -...

29
by:Teguh Cahyono,ST.M.Kom. 1 SELECTION Algoritma

Upload: vomien

Post on 09-Aug-2019

271 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

by:Teguh Cahyono,ST.M.Kom. 1

SELECTION

Algoritma

Page 2: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 3: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 4: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 5: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 6: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 7: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 8: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 9: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 10: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

by:Teguh Cahyono,ST.M.Kom. 10

If Then…Else (1)

If kondisi ?

Statement1 Statement2

tidak Benar

else Then

Page 11: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 12: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 13: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 14: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 15: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 16: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 17: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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 :

Page 18: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 19: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 20: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 21: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 22: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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;

Page 23: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 24: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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

Page 25: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 26: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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`];

Page 27: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 28: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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.

Page 29: SELECTION - teguh-cahyono.blog.unsoed.ac.idteguh-cahyono.blog.unsoed.ac.id/files/2010/04/bab-IV-seleksi.pdf• Selection didalam program pascal digunakan untuk mengontrol jalannya

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]