Anda di halaman 1dari 28

Logika dan Algoritma

Algoritma percabangan
Tujuan
• Mengenal dan mengimplementasikan struktur kontrol
algoritma percabangan
pseudocode
• Pseudocode adalah cara penulisan algoritma yang
hampir menyerupai Bahasa Pemrograman, namun
Pseudocode ditulis lebih sederhana dengan
menggunakan bahasa baku yang mudah dipahami
oleh manusia
Pseudocode..
• Struktur Pseudocode
Judul
{Berisi Judul Algoritma}
Deskripsi
{Berisi Deklarasi Variabel atau Konstantan}
Implementasi
{Berisi Inti Algoritma}
Contoh pseudocode
Algoritma percabangan (kondisi)
• Algoritma percabangan adalah salah satu instruksi
dalam algoritma yang digunakan untuk memberikan
pilihan kepada program perintah mana yang harus
diproses dan perintah mana yang harus dilewati sesuai
dengan kondisi yang diberikan
• Di dalam algoritma, instruksi percabangan
dikategorikan menjadi beberapa jenis yaitu,
percabangan 1 kondisi, percabangan 2 kondisi,
percabangan 3 kondisi, percabangan lebih dari 3
kondisi dan percabangan bersarang
Sintak umum
• satu kondisi
IF (Kondisi1) THEN
• Lebih dari dua kondisi
IF (Kondisi1) THEN
pernyataan 1
pernyataan 1
END IF ELSE IF (kondisi2) then
pernyataan 2
• dua kondisi ELSE
IF (Kondisi1) THEN pernyataan 3
pernyataan 1 END IF
ELSE
pernyataan 2
END IF
Algoritma Percabangan..
• IF dapat diartikan sebagai (JIKA), sedangkan THEN
dapat anda artikan dengan sebutan MAKA, sedangkan
ELSE dapa anda artiken sebagai (JIKA BUKAN / SELAIN
ITU).
• Kondisi, umumnya akan membandingkan 2 buah
operan dengan menggunakan operator
pembanding seperti:
> (lebih besar), < (lebih kecil), >= (lebih besar atau sama
dengan), <= (lebih kecil atau sama dengan), == (sama
dengan), <> (tidak sama dengan)
Contoh
• satu kondisi • Lebih dari dua kondisi
IF( nilai >=80) THEN IF( nilai >=80) THEN
write("LULUS") grade=‘A’
END IF ELSE IF( nilai>=65) THEN
grade=‘B’
• dua kondisi ELSE
IF( nilai >=80) THEN grade=‘C’
write("LULUS") END IF
ELSE
write("GAGAL")
END IF
Contoh kasus lebih dari dua kondisi
• Buatlah algoritma untuk menentukan grade dari
nilai rata-rata (NR) mahasiswa.
Jika NR 80 s.d 100 maka grade=A,
jika NR 66 s.d 79.99 maka grade=B
selain itu grade=C
Penyelesaian kasus dengan flowchart
Penyelesaian kasus dengan pseudocode
Deklarasi:
var NR:real
grade:char
read(NR)
if(NR<=100 AND NR<=80) then
grade=‘A’
else if(NR<80 AND NR>=66) then
grade=‘B’
else
grade=‘C’
end if
write(grade)
Algoritma Percabangan Bersarang
• Algoritma percabangan bersarang merupakan
bentuk algoritma percabangan dimana pada
setiap setiap pernyataan untuk kondisi IF di
dalamnya terdapat Instruksi IF Lagi.
• Algoritma percabangan bersarang artinya di
dalam IF terdapat IF lagi.
Sintak umum IF bersarang
IF(Kondisi a) THEN IF(Kondisi a) THEN
IF(kondisi x)THEN
pernyataan 1 IF(kondisi x) THEN
ELSE IF pernyataan 1
pernyataan 2 ELSE IF
ENDIF pernyataan 2
ELSE ENDIF
pernyataan b
ENDIF ELSE
pernyataan b
ENDIF
Contoh kasus
Buatlah algoritma untuk menentukan besar diskon dari
sejumlah total bayar dengan ketentuan jika total bayar
diatas 30000 akan mendapatkan diskon 10% selain itu
tidak mendapatkan diskon.

1. Siapkan variabel totBayar, diskon


2. Baca input variabel totBayar
3. Jika totBayar > 30000 maka diskon=0.1
selain itu diskon=0
4. Cetak diskon
Mulai
Penyelesaian flowchart

Var totBayar:double,
diskon:double

totBayar > Diskon=0.1


Read(totBayar) 30000?

Diskon=0

Write(diskon)
Selesai
Penyelesaian pseudocode
Deklarasi
var totBayar:integer, diskon:real
Deskripsi
read(totBayar)
if (totBayar > 30000) then
diskon=0.1
else
diskon=0
endif
write(diskon)
Penyelesaian dengan program JavaScript
<!DOCTYPE html>
<script>
var totBayar, diskon; //deklarasi
totBayar = prompt("masukkan total bayar", ""); //input
//proses
if(totBayar>30000){
diskon=0.1;
}
else
{
diskon=0;
}
document.write(diskon);//output
</script>
</html>
Kasus tambahan..
• Bagaimana jika outputnya ditambahkan tampilan
harga yang harus dibayarkan setelah dipotong
diskon?
Studi Kasus 2
Problem: buatlah algoritma untuk
menentukan diterimanya seorang
karyawan dengan syarat harus pria
dan harus IPK lebih dari 3.00
Studi kasus 2..
• Penyelesaian kasus dengan cara native
1. Siapkan variabel jenisKelamin, IPK
2. Baca nilai dari variabel jenisKelamin
3. Baca nilai dari variabel IPK
4. Jika jenisKelamin = ‘pria’ DAN IPK > 3 maka
tampilkan tulisan ‘diterima’
selain itu
tampilkan tulisan ‘ditolak’
Mulai
Studi kasus 2..
• Penyelesaian kasus dengan
Var jk, IPK Flowchart

Read( jk, IPK )

Jk=‘pria’ &&
Write(‘Diterima’)
ipk>3

Write(‘ditolak’ )

Selesai
Studi kasus 2..
• Penyelesaian kasus dengan program javascript
<!DOCTYPE html>
<script>
var jk, ipk; //deklarasi
jk = prompt("masukkan jenis kelamin", ""); //input
ipk = prompt("masukkan ipk", ""); //input
//proses
if(jk=='pria' && ipk>3){
document.write('diterima'); //ouput1
}
else
{
document.write('ditolak'); //output 2
}
</script>
</html>
Studi Kasus 3
• Contoh algoritma dengan operator logika OR
Problem: buatlah algoritma untuk
menentukan diskon belanja dengan
persyaratan jika total belanja lebih
dari 30000 atau memiliki kartu
member maka diskon = 10% selain itu
diskon=0%
Studi kasus 3..
Penyelesaian kasus dengan cara native
1. Siapkan variabel totBelanja, member
2. Baca dari variabel totBelanja
3. Baca dari variabel member
3. Jika totBelanja >30000 OR member==1 maka
tampilkan tulisan ‘diskon 10%’
selain itu
tampilkan tulisan ‘diskon 0%’
Mulai Penyelesain dengan Flowchart
Var totBelanja, member

Read( totBelanja,
member )

totBelanja>30000
Write(‘diskon 10%’)
OR member=1

Write(‘diskon 0%’)

Selesai
• Penyelesaian kasus dengan program javascript
<!DOCTYPE html>
<script>
var totBelanja, member; //deklarasi
totBelanja = prompt("masukkan nilai", ""); //input
member = prompt("ada kartu member?", ""); //input
//proses
if((totBelanja >=30000) || (member==1)){
document.write("diskon 10%"); //ouput1
}
else
{
document.write("diskon 0%"); //output 2
}
</script>
</html>
latihan
• Buatkan pseudocode untuk kasus 2 dan kasus 3

Anda mungkin juga menyukai