Logika dan Algoritma Job 4

LAPORAN PRAKTIKUM
PERCABANGAN BERSYARAT
( IF-THEN-ELSE BERTINGKAT, CASE )

Oleh:
Dwi Wuri Mud’mainah (3.34.13.1.06)
IK-1B

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2013

I.

Tujuan Instruksional Khusus :
Setelah Menyelesaikan praktek ini mahasiswa dapat :
1.

Mengetahui dan menjelaskan tentang struktur algoritma percabangan bersyarat ( ifthen-else bertingkat, case ).


2.

Membuat algoritma dalam bentuk flowcharts dan pseudocode yang melibatkan
permasalahanpermasalahan percabangan bersyarat( if-then-else bertingkat, case )
dimana komputer harus melakukan pemilihan untuk menuju ke salah satu cabang
berdasarkan kondisi tertentu.

3.

Mengimplementasikan algoritma yang telah dibuat ke dalam bahasa pemrograman
dengan menggunakan bahasa Pascal.

II. Alat dan Bahan
 PC minimal 486
 Disket DOS/Start Up Win98 , Program C, dan Data
III. Dasar Teori:
Salah satu proses didalam suatu algoritma adalah proses percabangan atau seleksi atau
bertingkat. Dalam algoritma ada beberapa struktur percabangan yang dikenal antara lain:
1. If-Then-Else bertingkat
2. Switch-Case

1. if-then-else bertingkat
Struktur diagram alirnya :
Bentuk pseudocode if-then-else
bertingkat
If (kondisi 1) then
Proses 1
Else If (kondisi 2) then
Proses 2
Else If (kondisi 3) then
Proses 3
……………..
Else If (kondisi n) then
Proses n
Else
Proses m
Endif
Endif
Endif
---- ----Endif


Dwi Wuri Mud’mainah

Page | 2

KONDISI adalah ungkapan yang digunakan untuk menyatakan suatu yang
disyaratkan (ungkapan akan bernilai boolean( kondisi true atau false))
2. Struktur Case
Struktur case merupakan struktur yang dirancang khusus untuk menangani
pengambilan keputusan yang melibatkan sejumlah alternatif.
Struktur diagram alirnya :

Bentuk pseudocode struktur CASE
Case (ungkapan)
case Alternatif_1:proses_1
case Alternatif_2:proses_2
case Alternatif_3:proses_3
…………..
case Alternatif_n :proses_n
otherwise proses_m
Endcase


Dwi Wuri Mud’mainah

Translasi struktur CASE ke bahasa
Pascal
Case (ungkapan) of
Alternatif_1:proses_1;
Alternatif_2:proses_2;
Alternatif_3:proses_3;
…………..
Alternatif_n :proses_n;
Else proses_m;
End;

Page | 3

Keterangan :
Ungkapan atau ekpresi dapat berupa ungkapan bernilai integer atau bertipe karakter.
Setiap alternatif (alternatif_1, alternatif_2, alternatif_3…… alternatif_n) dapat
berupa alternatif integer atau karakter. Setiap proses ( proses_1, proses_2, proses_3

…. Proses_n) dapat berupa proses tunggal atau proses jamak
Seperti halnya pengujian dalam IF-ELSE, pengujian dalam CASE juga dimulai dari
alternatif_1. Bila suatu nilai ungkapan sesuai dengan nilai alternatif, maka proses
yang ada dalam alternatif tersebut yang akan dikerjakan dan diakhiri dengan kata
kunci break ( keluar dari kalang case). Bila nilai ungkapan tidak ada yang cocok
dengan semua nilai alternatif maka proses otherwise yang dikerjakan.

IV. Langkah Kerja
1.

Hidupkan komputer anda !

2.

Jalankan Microsoft Visio, dengan cara menekan tombol Start→Program→MS
Office

2000→Microsoft

Visio.


Selanjutnya

gambarkanlah

algoritma

dari

permasalahan berikut ini dan simpan dalam satu nama file : Lat04.vsd
3.

Jalankan Microsoft Word, dengan cara menekan tombol Start→Program→MS
Office 2000→Microsoft Word. Selanjutnya tuliskan algoritma dari permasalahan
berikut ini dan simpan dalam satu nama file : Lat04.doc.

4.

Buatlah algoritma dengan bentuk flowcharts dan pseudocode untuk permasalan
berikut ini:

a. Diketahui tabel konversi nilai sebagai berikut :

Dwi Wuri Mud’mainah

Page | 4

b. Tugas anda adalah membuat algoritmanya untuk memasukkan nilai angka yang
diperoleh mahasiswa dan memprosesnya sehingga tampil nilai huruf dan
statusnya dari batasan nilai seperti tabel konversi nilai tersebut.
c. Gunakan perpaduan struktur If-Then-Else menyelesaikan permasalahan ini.
Pseudocode :
PROGRAM NILAI_MAHASISWA
DEKLARASI
nilai : integer
Nilai huruf ,Ket : char
DESKRIPSI
If (80 ≤ nilai ≤ 100) then
Nilai huruf ← A
Ket ← lulus
Else If (65 ≤ nilai ≤ 80) then

Nilai huruf ← B
Ket ← lulus
Else If (50 ≤ nilai ≤ 65)
Nilai huruf ← C
Ket ← lulus
Else If (30 ≤ nilai ≤ 50)
Nilai huruf ← D
Ket ← ulang
Else
Nilai huruf ← E
Ket ← ulang
Endif
Endif
Endif
Endif
endif

Dwi Wuri Mud’mainah

Page | 5


5. Buatlah algoritma dengan bentuk flowcharts dan pseudocode untuk permasalan
berikut ini:
a. Diketahui kode hari 1 s/d 7 yang mewakili nama hari Senin s/d Minggu.

Dwi Wuri Mud’mainah

Page | 6

b. Tugas anda adalah membuat algoritmanya untuk memasukkan kode hari
tersebut dan memprosesnya sehingga tampil nama hari yang sesuai dengan kode
harinya.
c. Gunakan struktur If-Then-Else dan struktur Case untuk menyelesaikan
permasalahan ini.
Pseudocode :
PROGRAM KODE_HARI
DEKLARASI
Angka : integer
Hari : string
DESKRIPSI

Input (angka)
if (angka=1) then
write (‘Hari Senin’)
else
if (angka=2) then
write (‘Hari Selasa’)
else
if (angka=3) then
write (‘Hari Rabu’)
else
if (angka=4) then
write (‘Hari Kamis’)
else
if (angka=5) then
write (‘Hari Jumat’)
else
if (angka=6) then
write (‘Hari Sabtu’)
else
write (‘Hari Minggu’)

Endif
Endif
Endif
Endif
Endif
Endif

Dwi Wuri Mud’mainah

Page | 7

Dwi Wuri Mud’mainah

Page | 8

6. Buatlah algoritma dengan bentuk flowcharts dan pseudocode untuk permasalan
berikut ini:
a. Diketahui kode bulan 1 s/d 12 yang mewakili nama bulan Januari s/d Desember.
b. Tugas anda adalah membuat algoritmanya untuk memasukkan kode bulan
tersebut dan memprosesnya sehingga tampil nama bulan dan jumlah hari dari
bulan tersebut yang sesuai dengan kode bulannya.
c. Gunakan

perpaduan

struktur

If-Then-Else

dan

struktur

Case

untuk

menyelesaikan permasalahan ini.
-

Flowchart

Dwi Wuri Mud’mainah

Page | 9

Dwi Wuri Mud’mainah

Page | 10

-

Pseudocode
PROGRAM KODE_BULAN
DEKLARASI
Kode : interger
Bulan : string
DESKRIPSI
Input (kode)
If (kode=1) then
Write (‘Bulan Januari’)
Else if (kode=2) then
Write (‘Bulan Februari’)
Else if (kode=3) then
Write (‘Bulan Maret’)
Else if (kode=4) then
Write (‘Bulan April’)
Else if (kode=5) then
Write (‘Bulan Mei’)
Else if (kode=6) then
Write (‘Bulan Juni’)
Else if (kode=7) then
Write (‘Bulan Juli’)
Else if (kode=8) then
Write (‘Bulan Agustus’)
Else if (kode=9) then

Dwi Wuri Mud’mainah

Page | 11

Write (‘Bulan September’)
Else if (kode=10) then
Write (‘Bulan Oktober’)
Else if (kode=11) then
Write (‘Bulan November’)
Else if (kode=12) then
Write (‘Bulan Desember’)
Else
Write (‘Kode anda salah’)
Endif
Endif

Endif
Case kode
Input (kode)
Case 1 : ‘jml_hari = 31 hari’
Case 2 : ‘jml_hari = 28/29 hari’
Case 3 : ‘jml_hari = 31 hari’
Case 4 : ‘jml_hari = 30 hari
Case 5 : ‘jml_hari = 31 hari’
Case 6 : ‘jml_hari = 30 hari’
Case 7 : ‘jml_hari = 31 hari’
Case 8 : ‘jml_hari = 31 hari’
Case 9 : ‘jml_hari = 30 hari’
Case 10: ‘jml_hari = 31 hari’
Case 11: ‘jml_hari = 30 hari
Case 12: ‘jml_hari = 31 hari’
Otherwise
‘Kode anda salah’
Endcase

7. Cobalah anda implementasikan permasalahan nomor 4, 5, dan 6 ke dalam bentuk
program dengan menggunakan bahasa pemrograman C.
-

Nomor 4
#include
int

Dwi Wuri Mud’mainah

Page | 12

main()
{
float nilai;
char a,b,c,d,e;
printf("Masukkan Nilai= ");
scanf("%f",&nilai);
if(nilai>=80 && nilai=65 && nilai=50 && nilai=30 && nilai