Anda di halaman 1dari 42

PEMILIHAN PROSES

(Selection)

Pencabangan
Keputusan (Decision)
Penyeleksian Kondisi (Syarat)

Afdal, Andalas Physics 2018


Kuis:

1. a) Tuliskan contoh masalah dengan dua pilihan yang harus


dipilih salah satunya.
b) Bagaimana cara menentukan pilihan yang harus dipilih? (atau
apa syaratnya)

2. a) Tuliskan masalah atau kasus dengan beberapa (lebih dari dua)


pilihan yang harus dipilih salah satunya.
b) Bagaimana cara menentukan pilihan yang harus dipilih?

Afdal, Andalas Physics 2018


Kasus:
Bagaimana cara menentukan seorang siswa naik kelas atau tidak?

Syarat naik kelas:


nilai rata-rata (NR)  50.

Keputusan:
Naik Kelas atau Tidak Naik Kelas

Proses:
bila NR  50 (syarat terpenuhi) maka naik kelas,
bila tidak maka tidak naik kelas.

Di sini ”tidak” berarti NR < 50, dimana syarat tidak terpenuhi.


Afdal, Andalas Physics 2018
Syarat dan pernyataan dapat dibalik asalkan tidak mengubah hasil.

Syarat tidak naik kelas:


nilai rata-rata (NR) < 50.

Keputusan:
Naik Kelas atau Tidak Naik Kelas

Syarat:
bila NR < 50 (syarat terpenuhi) maka tidak naik kelas,
bila tidak maka naik kelas.

Di sini ”tidak” berarti NR  50, dimana syarat tidak terpenuhi.

Afdal, Andalas Physics 2018


Pilihan Tunggal
Flow chart pilihan tunggal

Benar
Syarat

Pernyataan
Salah
Ya
T>
100 ?
Bunyikan Alarm
Tidak

Afdal, Andalas Physics 2018


Bentuk umum perintah pascal untuk pilihan tunggal:

IF syarat THEN pernyataan;

• IF dan THEN adalah kata simpan (ditulis apa adanya)


• Syarat adalah pernyataan yang bernilai BOOLEAN (benar atau
salah)
• pernyataan adalah perintah yang akan dikerjakan bila syarat
terpenuhi (bernilai benar).

Contoh perintah pascal untuk pilihan tunggal:


Readln(T);
IF T > 100 THEN Writeln ‘Air Matang’ ;

Afdal, Andalas Physics 2018


Pernyataan BOOLEAN

 Syarat di dalam operasi Pemilihan Proses haruslah


pernyataan yang bernilai BOOLEAN.
 Pernyataan boolean adalah pernyataan yang
membandingkan dua buah variabel dengan operator
boolean.
 Pernyataan boolean bernilai benar atau salah.

Afdal, Andalas Physics 2018


Operator Relasi Yang Mengembalikan Hasil Boolean

Operator
Fungsi atau arti
Matematika Pascal
= = Sama dengan
 <> Tidak sama dengan
< < Lebih kecil daripada
> > Lebih besar daripada
 <= Lebih kecil atau sama dengan
 >= Lebih besar atau sama dengan

Afdal, Andalas Physics 2018


Contoh Pernyataan BOOLEAN

1. Apakah nilai rata-rata < 50? Salah


NR < 50?
2. Apakah nilai rata-rata  50 ?
Benar
3. Apakah temperatur < 30 ?
4. Apakah A = B ?

Salah
A=B?

Benar
Salah
pswd = kode ?

Benar

Afdal, Andalas Physics 2018


Pilihan Ganda
Masalah dengan pilihan ganda adalah masalah yang terdiri dari dua
pilihan (kemungkinan) jawaban atau solusi atau tindakan.
Contoh Kasus Pilihan Ganda

1. Menentukan naik kelas atau tidak waktu di SMA. Siswa naik kelas
bila nilai rata-rata (NR)  50 dan tidak naik kelas bila NR < 50.
2. Menentukan sifat gaya Coulomb, F. Bila F > 0 maka ”gaya tolak-
menolak”, bila F < 0 maka ”gaya tarik-menarik”.
3. Menentukan jenis bilangan, ganjil atau genap.

Afdal, Andalas Physics 2018


Flow Chart Pilihan Ganda

Salah
Kondisi?

Pernyataan2
Benar

Pernyataan1

Jika kondisi bernilai benar maka akan dikerjakan Pernyataan1,


sedangkan bila kondisi tidak dipenuhi (bernilai salah) maka yang akan
dikerjakan adalah Pernyataan2.
Afdal, Andalas Physics 2018
Contoh:
Flow chart program untuk menentukan naik kelas atau tidak.

Tidak
NR  50 ?

‘Tidak Naik Kelas’


Ya

‘Naik Kelas’

Afdal, Andalas Physics 2018


Persyaratan dapat dibalik, tetapi posisi pernyataan juga harus
dibalik atau disesuaikan.

Tidak
NR < 50 ?

‘Naik Kelas’
Ya

‘Tidak Naik Kelas’

Afdal, Andalas Physics 2018


Bentuk umum perintah pascal untuk pilihan ganda:

IF kondisi THEN pernyataan1


ELSE pernyataan2;

Jika kondisi benar maka yang akan dikerjakan adalah pernyataan1,


sedangkan bila kondisi bernilai salah maka yang akan dikerjakan
adalah pernyataan2.

Contoh:
Readln(NR);
IF NR >= 50 THEN writeln (‘Naik Kelas’)
ELSE Writeln (‘Tidak Naik Kelas’);

Afdal, Andalas Physics 2018


Readln(NR);
IF NR < 50 THEN writeln (‘Tidak Naik Kelas’)
ELSE Writeln (‘Naik Kelas’);

Jika kondisi benar (NR < 50) maka yang akan dikerjakan adalah
menampilkan tulisan ‘Tidak Naik Kelas’, sedangkan bila kondisi
bernilai salah (NR  50) maka yang akan dikerjakan adalah
menampilkan tulisan ‘Naik Kelas’.

Readln(NR);
IF NR < 50 THEN Status := ‘Tidak Naik Kelas’
ELSE Status := ‘Naik Kelas’;
Writeln (status);Afdal, Andalas Physics 2018
Contoh soal:
Buatlah flow chart program untuk menentukan jenis bilangan, apakah
ganjil atau genap.
Mulai
Buat perintah
Input Bilangan (x) pascalnya!

Hitung sisa bagi bilangan


dengan 2
sisa  x MOD 2

Sisa = 0? Tidak

Ya
Cetak ‘ Bilangan Genap’ Cetak ‘Bilangan Ganjil’

Selesai
Afdal, Andalas Physics 2018
Pilihan Jamak / Multi
Bentuk ini digunakan bila terdapat banyak (lebih dari dua) pilihan.

Contoh kasus dengan tiga alternatif pilihan:


Menentukan apakah benda akan mengapung, melayang, atau
tenggelam berdasarkan perbandingan nilai densitas benda (ρb)
terhadap densitas fluida (ρf).

Kondisi / Syarat Keadaan


rb = r f Mengapung
r b = rf Melayang
rb > r f Tenggelam

Afdal, Andalas Physics 2018


Flow Chart Pilihan Jamak dengan Tiga Pilihan

Ya Pernyataan 1
Kondisi 1?

Tidak

Ya
Kondis 2 ? Pernyataan 2

Tidak
Perhatikan: untuk kasus
dengan tiga pilihan,
Pernyataan 3 hanya ada dua kondisi yang
diperiksa.

Jika kondisi1 benar maka dikerjakan Pernyataan1, bila kondisi1 salah


maka akan diperiksa Kondisi2, bila Kondisi2 benar maka akan dikerjakan
Pernyataan2, bila Kondisi2 salah maka dikerjakan Pernyataan3.
Afdal, Andalas Physics 2018
Bentuk umum perintah pascal untuk pilihan jamak:

IF kondisi1 THEN Pernyataan1


ELSE IF kondisi2 THEN Pernyataan2
ELSE Pernyataan3;

Contoh Perintah Pascal:

RhoB := mb/vb;
IF RhoB < RhoF THEN writeln (‘Benda Terapung’)
ELSE IF RhoB = RhoF THEN Writeln (‘Benda
Melayang’)
ELSE Writeln (‘Benda Tenggelam’);
Afdal, Andalas Physics 2018
Contoh:
Sebuah muatan positif q bergerak dengan kecepatan v memasuki
“selektor-kecepatan” yang memiliki medan listrik E berarah ke
bawah, dan medan magnet B berarah ke dalam. Muatan tersebut
akan mendapat dua gaya sekaligus, yaitu gaya Coulomb Fc = qE

yang berarah ke bawah, dan gaya Lorentz FL = qvB yang berarah ke

atas. Butlah flowchart program yang dapat menentukan besar gaya


Coulomb, gaya Lorentz, arah gerak muatan dan menampilkannya
pada
Arahkeluaran.
gerak muatan mengikuti ketentuan:
 belok ke atas bila FL > FC,
 diteruskan bila FL = FC
 belok ke bawah bila FL < FC, atau
Masukan adalah nilai q, v, B,
Afdal,dan
AndalasE.
Physics 2018
Flowchart 

Afdal, Andalas Physics 2018


Perintah Pascal:

IF FL > FC THEN gerak := ‘belok ke atas’

ELSE IF FL < FC THEN gerak := ‘belok ke bawah’


ELSE gerak := ‘diteruskan’;

Afdal, Andalas Physics 2018


Contoh:
Buatlah flowchart dan program untuk menentukan tipe dan nilai
akar-akar suatu persamaan kuadrat (PK). Tipe akar-akar persaman
kuadrat ditentukan oleh nilai diskriminannya (D):
• bila D > 0, maka PK memiliki 2 buah akar real.
• bila D = 0, maka PK memiliki akar kembar.
• bila D < 0 maka PK memiliki akar-akar kompleks.

Input program:
- Nilai a, b, c dari persamaan kuadrat

Keluaran program:
• Persamaan kuadratnya
• Tipe akarnya
• Nilai akar-akarnya

Afdal, Andalas Physics 2018


Flowchart
Mulai

Input parameter –parameter


persamaan kuadrat:
a
b
c

D  b 2  4ac

Tampilkan persamaan kuadrat


y = ax2 + bx +c

Afdal, Andalas Physics 2018


Flowchart 

Ya
Cetak ('pk punya dua akar real : ')
D > 0?

Tidak
x1  (b  D ) / 2a
Ya x2  (b  D ) / 2a
D=0?
Tidak Cetak ('akar pertama = ', x1)
Cetak ('akar kedua = ', x2)
Cetak ('pk punya dua akar kompleks : ')

Re  -b/(2a)
Cetak ('pk punya akar kembar : ')
Im  D / 2a

X1  -b /(2a)
cetak (‘ x1 = ', Re, ' + ', Im , ‘ i ‘ );
cetak (‘ x2 = ', Re, ' - ', Im , ‘ i ‘ ); Cetak (‘ akar = ', x1)

Selesai
Afdal, Andalas Physics 2018
Program: if d > 0 then
begin
writeln('pk punya dua akar real : ') ;
Program persamaankuadrat; x1:= (-b + sqrt(d))/(2*a);
uses crt; x2:= (-b - sqrt(d))/(2*a) ;
var writeln('akar pertama = ',x1:5:2);
a,b,c,d:integer; writeln('akar kedua = ',x2:5:2);
x1,x2, Re, Im : real; end
begin else if d = 0 then
clrscr; begin
write('bilangan pertama : '); read(a); writeln ('pk punya akar kembar :');
write('bilangan kedua : '); read(b); x1:= -b /(2*a);
write('bilangan ketiga : '); read(c); writeln('akar = ',x1:5:2);
writeln('y =',a,'x^2 +', b, 'x +', c); end
d:=b*b-4*a*c; else
begin
writeln ('pk punya dua akar kompleks :');
Re := -b/(2*a);
Im := sqrt(abs(D))/(2*a);
writeln('x1 = ', Re:3:1, ' + ', Im:3:1, 'i');
writeln('x2 = ', Re:3:1, ' - ', Im:3:1, 'i');
end;
end.
Afdal, Andalas Physics 2018
Contoh kasus dengan 5 alternatif pilihan
Menentukan wujud H2O berdasarkan temperaturnya:

Kondisi / Syarat Keadaan


T <0 Es
T =0 Mencair
0 < T < 100 Air
T = 100 Menguap
T > 100 Uap

Afdal, Andalas Physics 2018


Flow Chart Pilihan Jamak dengan 5 Pilihan

Ya
T<0? Wujud  ‘ Es ’
Tidak
Ya
T=0? Wujud  ‘ Mencair ’

Tidak
Ya
T < 100 ? Wujud  ‘ Air ’
Tidak

Ya
T = 100 ? Wujud  ‘ Menguap ’
Tidak

Wujud  ‘ Uap ’

Perhatikan:
untuk kasus dengan lima pilihan,
Afdal, Andalas Physics 2018
hanya ada empat kondisi yang diperiksa.
Contoh
Konversi nilai angka menjadi nilai huruf:

Nilai Angka Nilai Huruf


(Syarat) (Keadaan atau Keputusan)
NA < 40 E
40  NA < 55 D
55  NA < 60 C
60  NA < 65 C+
65  NA < 70 B-
70  NA < 75 B
75  NA < 80 B+
80  NA < 85 A-
NA  85 A

Afdal, Andalas Physics 2018


Ya
NA < 40 ? NH  ‘E’
Tidak
Flowchart
Ya
konversi nilai NA < 55 ? NH  ‘D’
angka menjadi
Tidak
nilai huruf:
Ya
NA < 60 ? NH  ‘C’

Tidak
Ya
NA < 65 NH  ‘C+’

Ya
NA < 85 NH  ‘A-’

Tidak

NH  ‘A’
Flowchart alternatif, Ya
konversi nilai angka NA  85 ? NH  ‘A’
menjadi nilai huruf: Tidak
Ya
NA  80 ? NH  ‘A-’
Tidak
Ya
NA  75 ? NH  ‘B+’

Tidak
Ya
NA  70 NH  ‘B’

Ya
NA  40 NH  ‘D’

Tidak

NH  ‘E’
Perintah Pascal:

if ( NA >=85)then NH := 'A'
else if ( NA >= 80 ) then NH := 'A-'
else if ( NA >= 75 ) then NH := 'B+'
else if (NA >=70) then NH := 'B'
else if (NA >= 65) then NH := 'B-'
else if NA >= 60 then NH := 'C+'
else if (NA >= 55) then NH := 'C'
else if NA >= 40 then NH := 'D'
else NH := 'E‘;
Afdal, Andalas Physics 2018
Bentuk CASE
CASE Ungkapan OF
A : pernyataan_1;
B : pernyataan_2;
C : pernyataan_3;

M : pernyataan_M;
ELSE
Pernyataan_N ;
END
Ungkapan adalah ekspresi yang bertipe ordinal ( integer, char, boolean )
A sampai M adalah konstanta yang bertipe sama dengan ungkapan.
Pernyataan yang akan dikerjakan adalah pernyataan yang kode-nya
bernilai sama dengan nilai ungkapan.

Pernyataan bisa berupa pernyataan jamak (banyak perintah). Bila


pernyataan berupa pernyataan jamak maka harus pakai Begin-End
Afdal, Andalas Physics 2018
Buatlah program yang dapat menampilkan data nama barang,
harganya, dan stok tersisa berdasarkan kode yang diinputkan
dengan struktur CASE OF. Daftar kode barang adalah sebagai
berikut:

Kode Nama Barang Harga Stok


Barang (Rp.) Tersisa
1 Buku 60000 8
2 Pensil 10000 23
3 Kalkulator 500000 18

Afdal, Andalas Physics 2018


Contoh Program dengan CASE .. OF :
2 : Begin
Program CaseOf ; writeln('---------------------------');
Uses crt; Writeln(' Nama Barang : Pensil ');
Var Writeln(' Harga : Rp. 10.000');
Kode : integer; writeln(' Stok tersisa: 23');
Begin End;
clrscr;
Write('Masukkan Kode Barang : '); 3 : Begin
Readln (Kode); writeln('---------------------------');
clrscr; Writeln(' Nama Barang : Kalkulator ');
case kode of Writeln(' Harga : Rp. 500.000');
writeln(' Stok tersisa: 18');
1 : Begin End;
writeln('--------------------------');
Writeln(' Nama Barang : Buku'); Else
Writeln(' Harga : Rp. 60.000'); writeln('anda salah memasukkan Kode');
writeln(' Stok tersisa: 8'); end;
End;
End.
Afdal, Andalas Physics 2018
Suatu alat dirancang untuk dapat memberitahu temperatur udara
normal atau ekstrim, dengan ketentuan: kondisi normal bila
tempertur antara 5 sampai 35 oC, di luar itu temperatur dalam
kondisi ekstrim. Buatlah flowchart dan program untuk alat tersebut.

IF T > 5 AND T < 35 THEN writeln(‘kondisi normal’)


ELSE writeln(‘kondisi ekstrim);

Afdal, Andalas Physics 2018


Status DO atau tidak seorang mahasiswa ditentukan berdasarkan IPK
dan sks kumulatif. Bila IPK < 2,00 atau sks kumulatif < 40 maka DO,
bila tidak maka tidak DO.
Buatlah flowchart dan program untuk alat tersebut.

IF IPK < 2.00 OR sks < 40 THEN status:= ‘DO’


ELSE status := ‘Aman’ ;

Afdal, Andalas Physics 2018


Tugas Kelompok (deadline: Kamis 6-2-20 jam 13.25)
{Kerjakan sesuai aturan yang ada di RPS}

Untuk setiap kasus berikut, tentukan:


a) Jumlah alternatif pilihan yang tersedia.
b) Apa saja pilihan itu dan apa syarat pilihan dapat dicapai.
c) Tulis flow chart
d) Tulis perintah pascal

Afdal, Andalas Physics 2018


1. Bagaimana wujud dari H2O berdasarkan temperatur?

2. Berapa jumlah sks maksimum yang boleh diambil oleh


seorang mahasiswa dalam satu semester berdasarkan
IPK?
3. Bagaimana cara menentukan nilai huruf berdasarkan
nilai angka?
4. Bagaimana sistem alarm otomatis pada pemanas air
bekerja berdasarkan temperatur?

Afdal, Andalas Physics 2018


Hubungan antara jarak fokus (f), jarak benda (s), dan jarak bayangan
(d) dari sebuah benda yang berada di depan cermin cekung adalah
d= fs/(s-f). Pusat kelengkungan cermin adalah c = 2f. Pembesaran
bayangan (m) dinyatakan oleh m = d/s = k/h dengan h adalah tinggi
benda, dan k adalah tinggi bayangan. Jadi, k = mh. Sebuah benda
awalnya menempel pada cermin, kemudian digeser sebesar s
sampai posisinya sekurang-kurangnya sama dengan c. Buat
flowchart dan program yang dapat menentukan: jarak, tinggi,
perbesaran, dan sifat bayangan dari benda tersebut. untuk setiap
posisinya. Masukan program: jarak benda, jarak fokus dan tinggi
benda. Sifat bayangan bergantung pada posisi benda dengan
kemungkinan seperti berikut:
Posisi Posisi
Sifat Bayangan Sifat Bayangan
benda benda
0<s<f Maya, tegak, diperbesar s=c Nyata, terbalik, sama besar
s=f Bayangan tidak terbentuk s>c Nyata, terbalik, diperkecil
f<s<c Nyata, terbalik, diperbesar
Afdal, Andalas Physics 2018
Sebuah balon udara berbentuk bola dengan jari-jari 9,5 m diisi
helium. Massa keselurah balon adalah 1000 kg, massa jenis udara
adalah 1,29 kg/m3 dan massa jenis helium adalah 0,179 kg/m3, dan
percepatan gravitasi 10 m/s.
Tentukan massa maksimum kargo yang dapat diangkut balon udara
tersebut.
Buatlah program yang bisa menentukan “keadaan gerak” balon
udara apakah: diam, hampir naik, atau naik berdasarkan massa
kargo. Keluaran program adalah “keadaan gerak” dan nilai volume
balon (vb), gaya ke atas (Fa), dan percepatan.

Afdal, Andalas Physics 2018


Afdal, Andalas Physics 2018

Anda mungkin juga menyukai