Setelah memelajari bagaimana mendefinisikan variabel dan memberi nilai serta menuliskan
ekspresi atau pernyataan yang berkaitan dengan variabel dan nilai, pada bab ini akan dibahas
instruksi utama yang dapat digunakan dalam mengatur jalannya pelaksanaan alogaritma.
Secara garis besar hanya ada tiga macam kategori instrukski utama, yaitu : Instruksi
Runtunan (Sequential), Instruksi Pemilihan (Selection), dan Instruksi Perulangan
(Repetition). Berikut ini akan dibahas satu per satu kategori instruksi utama tersebut.
Instruksi runtunan (Sequential) adalah instruksi yang dikerjakan secara beruntunan atau
berurutan, baris per baris, mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan
atau perulangan.
Berikut ini adalah contoh algoritma yang menggambarkan instruksi runtunan, di mana urutan
penulisan yang berbeda menghasilkan output yang berbeda.
Contoh 1 :
Algoritma Runtunan_1
Deklarasi
Integer A, B;
Deskripsi
A ← 10;
A ← 2 ˟ A;
B ← A;
Write(B);
Algoritma Runtunan_2
Definisi Variabel :
Integer A, B;
Rincian Langkah :
A ← 10;
B ← A;
A ← 2˟A;
Algoritma Runtunan_3
Deklarasi
real Luas;
Deskripsi
Read (Alas);
Read (Tinggi);
Luas ← Alas˟Tinggi/2;
Algoritma Runtunan_4
[algoritma menampilkan gaji bersih pegawai dengan memasukkan gaji pokok kemudian
menghitung tunjangan sebesar 25% dan pajak pph 15%]
Definisi variabel :
String nama;
real gajipokok,tunjangan,pajak;
real gajibersih;
Rincian langkah :
read (nama);
read (gajipokok);
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).
Bentuk 1 kasus
If (syarat)
Then aksi
Endif
Apabila syarat dipenuhi maka aksi dijalankan. Misal, pada contoh ini, nilai x akan ditambah 5
apabila nilainya lebih besar dari 100.
Then X ← X + 5
endif.
Bentuk 2 kasus
If (syarat)
then aksi-1
else aksi-2
endif
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 )
endif.
If (syarat-1)
then aksi-1
else if (syarat-2)
then aksi-2
else aksi-3
endif
endif
If (syarat-1)
then aksi-1
else if (syarat-2)
then aksi-2
else aksi-3
endif
endif
Pada bentuk ini, “aksi-1” 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.
If ( syarat-1 )
then if (syarat-2)
then aksi-1
else aksi-2
endif
else aksi-3
endif
Pada bentuk di atas, “aksi-1” hanya dilakukan apabila syarat-1 dan juga syarat-2 terpenuhi.
Apabila syarat-1 tidak terpenuhi maka “aksi-3” langsung dikerjakan, sedang “aksi-2” hanya
dilakukan apabila syarat-1 terpenuhi tetapi syarat-2 tidak.
Dalam bentuk bersusun ini dapat dilihat bahwa jumlah aksi yang mungkin dilakukan adalah
jumlah instruksi if ditambah 1. Dengan kata lain, bila ada 2 intruksi if yang bersusun maka
bisa disediakan 3 pilihan aksi. Begitu seterusnya.
Hal lain yang perlu diperhatikan adalah pasangan if/else. Apabila kita menarik garis dari if ke
pasangan else nya maka tidak boleh ada garis yang berpotongan apabila instruksi tersebut
bersusun, sehingga pasangan itu harus dimulai dari if/else yang paling dalam baru bergerak
keluar. Dengan kata lain, if terakhir berpasangan dengan else pertama, dan if pertama selalu
berpasangan dengan else yang terakhir.
Algoritma Pemilihan_1
Definisi Variabel
Integer bilangan;
Rincian Langkah
read (bilangan);
if ( bilangan % 2 == 0)
endif
Contoh 3 : Algoritma berikut ini menunjukkan pemakaian instruksi 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
read (A);
read (B)
read (C);
if ( A > B )
then maks ← A;
then maks ← B;
endif.
If ( C > maks )
Then maks ← C;
endif.
Contoh 4 : Algoritma berikut ini menunjukkan pemakaian instruksi pemilihan yang dibuat
bersusun untuk menetapkan bilangan terbesar dari 3 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
read ( A );
read ( B );
read ( C );
if ( A > B )
then if ( A > C )
endif
else if ( B > C )
endif
endif
Instruksi case digunakan sebagai instruksi pemilihan di mana aksi yang akan dilakukan
bergatung pada nilai dari satu macam variabel saja. Dengan kata lain, variabel yang
menentukan pilihan aksi mungkin memiliki banyak macam nilai dan setiap nilainya berkaitan
dengan satu macam aksi.
Case ( variabel )
nilai-1 : aksi-1;
nilai-2 : aksi-2;
nilai-3 : aksi 3;
...................
Default : aksi-n;
endcase.
Contoh 5 : Gaji karyawan pada sebuah perusahaan didasarkan pada jam kerja dalam satu
bulan serta posisi atau golongannya dalam perusahaan itu. Upah per ja menurit golongan
adalah sebagai berikut:
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.
Algoritma Gaji_Karyawan
[ algoritma yang menerima nama, golongan serta jam-kerja kemudian menampilkan total gaji
yang diterima karyawan ]
Definisi Variabel
char golonganl
Rincian Langkah
read ( nama );
read ( golongan );
read ( jamkerja );
case ( golongan )
‘ A ‘ : upah ← 5000;
‘ B ‘ : upah ← 6000;
‘ C ‘ : upah ← 7500;
‘ D ‘ : upah ← 9000;
endcase
else lembur ← 0;
1. Kondisi perulangan. Suatu kondisi yang harus dipenuhi agar perulangan dapat terjadi.
2. Badan (body) perulangan. Deretan instruksi yang akan diulang-ulang
pelaksanaannya.
3. Pencacah (counter) perulangan. Suatu variabel yang nilainya harus berubah agar
perulangan dapat terjadi dan pada akhirnya membatasi jumlah perulangan yang dapat
dilaksanakan.
Ada tiga macam bentuk instruksi perulangan yang biasa ditemukan dalam program, yaitu :
Perulangan : while – do
Perulangan : for
Satu per satu dari instruksi perulangan ini akan dibahas di sini.
Bentuk umum :
while (kondisi) do
..............
Instruksi-instruksi
..............
endwhile.
Makna dari bentuk instruksi tersebut adalah: ulangi .. instruksi-instruksi .. selama kondisi
yang diberikan masih terpenuhi.
Perhatikan :
1. Ada instruksi yang berkaitan dengan kondisi sebelum masuk ke while/do sehingga
kondisi ini benar (terpenuhi) dan pengulangan bisa dilaksanakan. Bila tidak,
kemungkinan instruksi while tidak bisa dijalankan.
2. Ada satu instruksi di antara instruksi-instruksi yang diulang yang mengubah nilai
variabel perulangan agar pada satu saat kondisi perulangan tidak terpenuhi sehingga
perulangan bisa berhenti, atau jumlah perulangan bisa dibatasi. Bila tidak, ada
kemungkinan perulangan berlangsung terus tak terhingga.
Contoh 6 : Algoritma berikut ini menggunakan while/do untuk menampilkan angka 1 hingga
100 secara berurutan. Perhatikan bahwa perintah: angka ← 1 adalah kondisi awal, sedangkan
instruksi: angka ← angka + 1 adalah instruksi yang bisa mengubah kondisi hingga tidak
terpenuhi, pada saat angka > 100.
Algoritma Perulangan_1
Deklarasi
Integer angka;
Deskripsi
angka ← 1;
write ( angka );
angka ← angka + 1;
endwhile
Contoh 7: Algoritma berikut ini menggunakan while/do dan juga of/then/else untuk
menampilkan syair “anak ayam yang mati” mulai dari 10 hingga habis. Langkah utama untuk
algoritma ini adalah: berikan nilai awal 10 ke jumlah anak ayam, kemudian lakukan
perulangan whle selama masih ada anak ayam (anak > 0), di mana dalam perulangan ini
ditampilkan “anak ayamku turun ...” kemudian jumlah anak dikurangi satu.
Algoritma Perulangan_2
Definisi Variabel
integer anak;
Rincian Langkah
anak ← 10;
anak ← anak – 1;
if ( anak > 0 )
endif.
endwhile.
Bentuk umum:
repeat
...............
instruksi – instruksi
...............
until ( kondisi ).
Makna dari bentuk instruksi tersebut adalah: ulangi pelaksanaan instruksi-instruksi hingga
kondisi terpenuhi.
Perhatikan :
1. Instruksi-instruksi akan diulang hanya apabila kondisi tidak terpenuhi, dan ketika
kondisi terpenuhi maka perulangan berhenti.
2. Instruksi-instruksi dikerjakan terlebih dahulu sebelum kondisi diperiksa.
3. Harus ada satu instruksi yang mendahului repeat/until agar kondisi tidak terpenuhi
sehingga perulangan bisa berlangsung.
4. Harus ada instruksi di antara instruksi yang diulang sehingga pada akhirnya dapat
mengubah kondisi menjadi terpenuhi dan perulangan berhenti.
5. Apabila di awal pelaksanaan kondisi sudah terpenuhi maka instruksi-instruksi paling
tidak dikerjakan satu kali.
Algoritma Perulangan_3
Definisi Variabel
Integer cacah;
Rincian Langkah
cacah ← 1;
repeat
cacah ← cacah + 1;
Algoritma Perulangan_4
Deklarasi
Deskripsi
read ( N );
cacah ← 1;
jumlah ← 0;
repeat
cacah ← cacah + 1;
Algoritma Perulangan_5
Deklarasi
real Rata;
Deskripsi
write ( “Masukkan N : “ );
read ( N );
cacah ← 1;
Jumlah ← 0;
repeat
read ( bilangan );
cacah ← cacah + 1;
Rata ← Jumlah / N;
Bentuk umum:
instruksi - instruksi
...............
endfor.
Perhatikan:
Contoh 11: Algoritma menampilkan “Halo .... “ sebanyak 10 kali dengan instruksi for.
Algoritma Perulangan_6
Deklarasi
integer cacah;
Deskripsi
endfor.
Contoh 12: Algoritma menghitung nilai rata dari N buah bilangan yang dimasukkan lewat
keyboard, menggunakan instruksi for.
Algoritma Perulangan_7
Deklarasi
real Rata;
Deskripsi
read ( N );
Jumlah ← 0;
read ( angka );
endfor.
Rata ← Jumlah / N;
Algoritma Perulangan_8
Deklarasi
integer cacah;
Deskripsi
write ( cacah );
endfor.
write ( “GO ! “ );