Anda di halaman 1dari 18

Bab 3

INSTRUKSI UTAMA

Instruksi Runtunan (Sequential)


Instruksi Pemilihan :
If/Then/Else
Case
Instruksi Perulangan (Repetition) :
While do
Repeat Until
For
Pengantar

Pada bab ini akan dibahas instruksi utama yang dapat


digunakan dalam mengatur jalannya pelaksanaan
algoritma.
Secara garis besar hanya ada tiga macam kategori
instruksi utama, yaitu instruksi runtunan, pemilihan
dan perulangan.
Uraian lengkap tentang tiga instruksi utama tersebut
akan dibahas pada slide berikut.
Instruksi Runtunan (Sequential)

Instruksi runtunan adalah instruksi yang dikerjakan secara beruntun


atau baris per baris mulai dari baris pertama hingga baris terakhir,
tanpa ada loncatan atau perulangan. Berikut karakteristik instruksi
runtunan :
Tiap instruksi dikerjakan satu per satu sebanyak satu kali.
Urutan pelaksanaan instruksi sama dengan urutan penulisan
algoritma.
Instruksi terakhir merupakan akhir algoritma.
Urutan penulisan instruksi bisa menjadi penting; bila diubah dapat
menyebabkan hasil yang berbeda.
Contoh Instruksi runtunan : (suarga, hal : 19-20)
Algoritma Runtunan_l
{menunjukkan urutan yang berbeda memberi hasil yang berbeda }
Deklarasi
integer A, B;
Deskripsi
A 10;
A 2*A;
B A;
write(B);
Algoritma di atas menampilkan basil : 20
Algoritma Runtunan_2
{menunjukkan urutan yang berbeda memberi hasil yang berbeda }
Deklarasi
integer A, B;
Deskripsi
A 10;
B A;
A 2*A;
write(B);
dengan urutan yang diubah maka algoritma ini memberi basil : 10
Instruksi Pemilihan
Instruksi pemilihan adalah instruksi yang dipakai untuk memilih
satu aksi dari beberapa kemungkinan aksi berdasarkan suatu
persyaratan. Ada dua bentuk instruksi pemilihan yang sering
digunakan, yaitu if/then/else dan case.
Instruksi if/then/else digunakan untuk memilih alternatif
apabila suatu syarat atau kondisi dipenuhi (1 kasus), atau
memilih satu alternatif dari dua kemungkinan berdasarkan
apakah syarat terpenuhi atau tidak (2 kasus)
Instruksi case digunakan sebagai instruksi pemilihan di mana
aksi yang akan dilakukan hanya bergantung pada nilai dari satu
macam variabel. Dengan lain, variabel yang menentukan ini
mungkin memiliki banyak macam nilai dan setiap nilainya
berkaitan dengan satu macam aksi.
Instruksi If/Then/Else; Bentuk 1

Memiliki 3 bentuk umum, yaitu :


Bentuk 1 : Apabila syarat dipenuhi maka aksi
dijalankan. Pada contoh berikut nilai x akan
ditambah 5 apabila nilai x lebih besar dari 100.
contoh:
if ( x > 100 )
then x x + 5
endif.
Instruksi If/Then/Else; Bentuk 2
Bentuk 2 : Apabila syarat dipenuhi maka "aksi-1" dilaksanakan, tetapi
bila syarat tidak terpenuhi maka "aksi-2" yang Dilaksanakan.
Misal pada contoh berikut ini, bila a lebih besar dari 0 maka akan
ditampilkan "bilangan ini positif'. Selain itu, akan ditampilkan
"bilangan ini negatif
contoh:
if (a>0)
then write ("bilangan ini positif ")
else write ("bilangan ini negatif ")
endif.
Instruksi If/Then/Else; Bentuk 3

Bentuk 3 (bentuk bersusun): "aksi-l" dilaksanakan segera


ketika syarat-1 dipenuhi, "aksi-2" dilakukan apabila
syarat-1 tidak dipenuhi, tetapi syarat-2 dipenuhi, dan
"aksi-3" hanya dilakukan apabila kedua syarat tidak
terpenuhi. Bentuk umumnya sebagai berikut :
if (syarat-1 )
then if (syarat-2 )
then aksi-1
else aksi-2
endif
else aksi-3
endif.
Instruksi If/Then/Else; Bentuk 3 lanjut
Bentuk 3 (bentuk bersusun )
Pada bentuk disamping, "aksi-1" hanya dilakukan apabila
syarat-1 dan juga syarat-2 terpenuhi. Apabila syarat-1
tidak terpenuhi maka "aksi-3" langsung. Sedangkan "aksi-
2" hanya dilakukan apabila syarat-1 terpenuhi, tetapi
syarat-2 tidak.
Dalam bentuk bersusun ini, dapat diiihat bahwa jumlah
aksi yang mungkin dilakukan adalah jumlah instruksi if
ditambah 1. Dengan kata lain, bila ada 2 instruksi if yang
bersusun maka bisa disediakan 3 pilihan aksi, demikian
seterusnya.
C:ontoh 1 : Instruksi If/Then/Else
Algoritma berikut ini menunjukkan pemakaian instruksi pemilihai
if/then/else untuk menentukan apakah bilangan bulat yang dimasukkan
lewa keyboard adalah bilangan yang genap atau bilangan ganjil.
Algoritma Pemilihan_1
{contoh algoritma untuk menunjukkan pemakaian instruksi pemilihan.
Tugas : algoritma ini menerima satu bilangan bulat kemudian memeriksanya
Flowchart ? apakah bilangan genap atau bilangan ganjil }
Definisi Variabel
integer bilangan;
Rincian Langkah
write ("masukkan satu bilangan bulat : "); read (bilangan);
if ( bilangan %2==0 )
then write ( "bilangan genap ! ");
else write ( "bilangan ganjil ! ");
endif
Contoh 2 : Instruksi If/Then/Else
Algoritma berikut ini menunjukkan pemakaian instruks . pemilihan di mana ada 3 bilangan bulat
dimasukkan lewat keyboard kemudian dicari bilangan yang terbesar di antara ketiganya.
Algoritma Pemilihan_2
{ contoh algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar }
Deklarasi
integer A, B, C, maks;
Deskripsi
Tugas : write ("masukkan bilangan 1 : "); read ( A );
Flowchart ? write ("masukkan bilangan 2 : "); read ( B );
write ("masukkan bilangan 3 : "); read (C);
if(A>B)
then maks A;
else maks B;
endif.
if (C>maks)
then maksC;
endif.
write ("maksimum = ", maks);
Contoh 3 : Instruksi If/Then/Else
Algoritma berikut ini menunjukkan pemakaian instruks pemilihan yang dibuat bersusun untuk menetapkan
bilangan terbesar dari bilangan yang dimasukkan.
Algoritma Pemilihan_3
{contoh algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar, memanfaatkan
bentuk bersusun}
Definisi Variabel -
integer A, B, C, maks;
Rincian Langkah
write ("masukkan bilangan 1 : "); read ( A );
Tugas :
write ("masukkan bilangan 2 : "); read ( B );
Flowchart ?
write ("masukkan bilangan 3 : "); read ( C );
if (A>B)
then if (A>C)
then write (" maksimum ", A );
else write (" maksimum = ", C );
endif
else if ( B > C )
then write (" maksimum = ", B );
else write (" maksimum = ", C );
endif
endif
Instruksi Case
Instruksi case digunakan sebagai instruksi pemilihan di mana aksi yang akan
dilakukan hanya bergantung pada nilai dari satu macam variabel. Dengan kata
lain, variabel yang menentukan ini mungkin memiliki banyak macam nilai dan
setiap nilainya berkaitan dengan satu macam aksi.
Bentuk umum instruksi case:
case (variabel )
nilai-1 : aksi-1;
nilai-2 : aksi-2;
nilai-3 : aksi-3;

default : aksi-n;
endcase
Karakteristik Instruksi Case
Dimungkinkan ada n-buah aksi, mulai dari aksi-1 hingga aksi-n.
Setiap aksi hanya dilakukan apabila suatu nilai variabel dicapai
sesuai persyaratan. Misalnya, aksi-1 dilakukan hanya bila variabel
nilai-1, aksi-2 dilaksanakan apabila variabel bernilai nilai-
2,seterusnya.
Apabila tak satu pun nilai variabel yang cocok maka aksi-n
dikerjakan sebagai aksi "default" (hanya dikerjakan apabila tidak
ada yang memenuhi syarat).
Contoh: Instruksi Case
Gaji karyawan pada sebuah perusahaan didasarkan pada jam kerja dalam
satu bulan serta posisi atau golongannya dalam perusahaan itu. Upah per
jam menurut golongan adalah sebagai berikut:
Golongan A : Upah/jam (Rp) 5000
Golongan B : Upah/jam (Rp) 6000
Golongan C : Upah/jam (Rp) 7500
Golongan D : Upah/jam (Rp) 9000
Apabila karyawan bekerja lebih dari 150 jam per minggu maka kelebihan jam
kerja tersebut dihitung sebagai lembur dengan upah/jam 25% di atas upah
reguler. Buat sebuah algoritma yang menerima nama, golongan, serta jam
kerja karyawan, kemudian tampilkan gaji totalnya dalam satu bulan
Contoh: Penyelesaian Instruksi Case
Algoritma Gaji_Karyawan
{ algoritma yang menerima nama, golongan serta jam kerja kemudian menampilkan total gaji yang diterima karyawan}
Deklarasi
real gaji, total, jamkerja, lembur, upah;
string nama;
char golongan;
Deskripsi
write (" masukkan nama karyawan : ");
read ( nama );
write (" masukkan golongan-nya : ");
read ( golongan );
write (" masukkan jam kerjanya : ");
read ( jamkerja );
Contoh: Penyelesaian Instruksi Case
case ( golongan )
' A : upah 5000:
B : upah 6000:
C : upah 7500;
D : upah & 9000;
default : write (" goiongannya salah ! ");
upah 0;
endcase.
if ( jamkerja > 150 )
then lembur ( jamkerja - 150 )* upah * 0.25;
gaji 150 * upah;
else lembur 0;
gaji <-- jamkerja * upah;
Endif
total gaji + lembur;
write (" Gaji yang diterima sdr : ", nama, " adalah = Rp. ", total);

Anda mungkin juga menyukai