STRUKTUR DASAR ALGORITMA - Runtunan & Seleksi
STRUKTUR DASAR ALGORITMA - Runtunan & Seleksi
Konstruksi Dasar
Algoritma berisi langkah-langkah penyelesaian suatu masalah, yang dapat berupa runtunan aksi,
pemilihan aksi dan pengulangan aksi.
Runtunan adalah struktur algoritma paling dasar yang berisi rangkaian instruksi yang diproses
secara sekuensial, satu per satu, mulai dari instruksi pertama sampai instruksi terakhir.
• Tiap instruksi dilaksanakan tepat sekali; tidak ada instruksi yang diulang.
• Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagaimana
yang tertulis di dalam teks algoritmanya.
• Urutan instruksi dalam algoritma adalah penting. Urutan instruksi menunjukkan urutan
logik penyelesaian masalah.
• Urutan instruksi yang berbeda mungkin tidak ada pengaruh terhadap solusi persoalan,
tetapi mungkin juga menghasilkan keluaran yang berbeda, tergantung pada
masalahnya.
Pengaruh Urutan Instruksi
Deklarasi : Deklarasi :
A, B, C, D : integer A, B, C, D : integer
Deskripsi : Deskripsi :
1. read (A, B) {1} 1. read (A, B)
2. C A + B {2} 2. D A * B
3. D A * B {3} 3. C A + B
4. write (C, D) {4} 4. write (C, D)
Deklarasi : Deklarasi :
A, B, C, D : integer A, B, C, D : integer
Deskripsi : Deskripsi :
1. read (A, B) {1} 1. D = A * B
2. C = A + B {2} 2. C = A + B
3. D = A * B {3} 3. read (A, B)
4. write (C, D) {4} 4. write (C, D)
Penyelesaian:
Runtunan instruksinya adalah sebagai berikut:
C ← A { tampung nilai A ke dalam nilai C }
A ← B { nilai B dapat dimasukkan ke dalam A }
B ← C { nilai B diisi dengan nilai A yang tersimpan di C }
PERSOALAN PERTUKARAN
PROGRAM Pertukaran
{Mempertukarkan nilai A dan B}
DEKLARASI
A, B, C : integer
ALGORITMA
{misalkan A diisi 8 dan B diisi 5}
A ← 8; B ← 5
b. Suatu perusahaan mempunyai n orang karyawan dengan asumsi penggajian sebagai berikut:
1. Gaji setiap karyawan akan sama jumlahnya.
2. Gaji karyawan dihitung dengan cara gaji pokok ditambah tunjangan dikurangi pajak.
3. Pajak yang berlaku di perusahaan tersebut adalah 15% dari gaji pokok setelah ditambah tunjangan.
4. Tunjangan yang didapat dari perusahaan adalah 20%.
5. Gaji pokok bisa berubah tergantung kebijakan perusahaan.
c. Tulis algoritma untuk menghitung komisi yang diterima salesman berdasarkan nilai penjualan yang
dicapainya. Salesman akan mendapat komisi sebesar 5 % dari hasil penjualannya. Masukannya nama
salesman dan hasil penjualan kemudian tampilkan nama salesman dan besarnya komisi yang
diterimanya
PEMILIHAN (SELECTION)
Struktur pemilihan adalah struktur dalam algoritma untuk memproses salah satu keputusan
dari beberapa alternatif yang tersedia sesuai dengan kondisi tertentu.
Dalam algoritma terkadang setidaknya mungkin saja mengandung instruksi pemilihan, pada
struktur pemilihan program harus mampu memproses pengujian untuk mengambil salah
satu keputusan dari beberapa alternatif yang diberikan. Keputusan yang diproses harus
sesuai dengan syarat dan ketentuan yang diberikan dimana syarat dan ketentuan tersebut
mungkin saja berbeda untuk setiap kasus.
PEMILIHAN (SELECTION)
Contoh Struktur pemilihan, misal untuk kasus menentukan nilai siswa A, B, C dan D dari nilai Angka yang diperolehnya.
Pada saat menyusun algoritma agar mampu menentukan nilai siswa apakah siswa mendapatkan nilai A, B, C atau D dari
nilai angka yang diperolehnya, tentunya harus menyediakan beberapa alternatif pilihan sesuai ketentuan yang berlaku,
misalnya sebagai berikut:
• Alternatif 1: Nilai A jika nilai angka >85.
• Alternatif 2: Nilai B jika nilai angka Antara 70 sampai dengan 85
• Alternatif 3: Nilai C jika nilai angka antara 60 dan 70 dan
• Alternatif 4: Nilai D jika nilai angka lebih kecil dari 60.
Setiap siswa tentunya memiliki nilai bermacam macam dengan range 1 sampai 100, ketika algoritma dibuat untuk
menentukan nilai siswa, maka nilai siswa akan diproses dengan cara melihat beberapa ketentuan yang tersedia, nilai
siswa akan menghasilkan A,B,C maupun D sesuai yang cocok dengan salah satu alternatif di atas.
Misal jika siswa mendapatkan nilai 75, dari kasus di atas siswa akan mendapatkan nilai B karena nilainya ada diantara 70
dan 85, sementara jika siswa mendapatkan nilai 50, maka dia akan mendapatkan Nilai D.
Struktur pemilihan sesuai dengan ilustrasi kasus di atas, akan mampu memproses salah satu keputusan dari beberapa
alternatif yang diberikan sesuai dengan kondisi yang cocok.
PEMILIHAN (SELECTION)
Pernyataan kondisional :
Dalam Bahasa Indonesia if berarti “jika” dan then artinya “maka”; kondisi adalah persyaratan
yang dapat bernilai benar atau salah; aksi setelah kata then hanya dilaksanakan apabila kondisi
bernilai benar.
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi dipenuhi, dan tiak
memberikan pilihan aksi lain jika kondisi bernilai salah.
Bentuk pemilihan memilih satu dari dua buah aksi bergantung pada nilai kondisinya :
PEMILIHAN (SELECTION)
Masalah yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan konstruksi if-then-else
bertingkat-tingkat.
Penyelesaian :
Huruf vokal ada lima yaitu a, i, u, e, dan o. Bandingkan karakter yang dibaca dengan kelima
huruf tersebut. Jika karakter masukan sama dengan salah satu huruf vocal tersebut, maka
tuliskan pesan bahwa karakter tersebut adalah huruf hidup.
Contoh Masalah dengan Dua Kasus
Karyawan honorer di PT “ABC” digaji berdasarkan jumlah jam kerjanya selama satu
minggu. Upah per jam misalkan Rp. 2000,00. Bila jumlah jam kerja lebih besar dari 48
jam, maka sisanya dianggap sebagai jam lembur. Upah lembur misalkan Rp.
3.000,00/jam. Tulislah algoritma yang membaca jumlah jam kerja seorang karyawan
selama satu minggu, lalu menentukan upah mingguannya.
Penyelesaian :
Misalkan jumlah jam kerja karyawan adalah JJK.
Analisis kasus :
Kasus 1 : jika JJK ≤ 48, maka upah = JJK*2000
Kasus 2 : jika JJK > 48, maka
lembur = JJK – 48
upah = 48*2000 +lembur*3000
Contoh Masalah dengan Dua Kasus
Versi1 :
Contoh Masalah dengan Tiga Kasus atau Lebih
Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menentukan apakah bilangan
tersebut positif, negatif, atau nol.
Penyelesaian :
Untuk masalah dengan dua kasus atau lebih, konstruksi CASE dapat menyederhanakan penulisan
if-then-else yang bertingkat-tingkat.
Hasil :