Anda di halaman 1dari 21

STRUKTUR DASAR ALGORITMA

Konstruksi Dasar

Algoritma berisi langkah-langkah penyelesaian suatu masalah, yang dapat berupa runtunan aksi,
pemilihan aksi dan pengulangan aksi.

Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma.


RUNTUNAN

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 dikerjakan satu per satu.

• 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.

• Akhir instruksi merupakan akhir algoritma.


Pengaruh Urutan Instruksi

• Langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan

Langkah 1 Langkah 2 Langkah 3

• 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

Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil.

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)

Dari kedua algoritma hasil C dan D adalah SAMA


Pengaruh Urutan Instruksi

Contoh urutan instruksi yang berbeda tetapi mempengaruhi hasil.

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)

Dari kedua algoritma hasil C dan D adalah TIDAK SAMA


PERSOALAN PERTUKARAN

Tuliskan algoritma untuk membaca dua buah nilai dengan


peubah (variabel) A dan B, kemudian nilainya ditukar nilai A
menjadi B dan nilai B menjadi A.

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

write(A, B) { cetak nilai A dan B sebelum pertukaran }

{pertukarkan nilai A dan B}


C ← A { tampung nilai A ke dalam C}
A ← B { nilai B dapat dimasukkan ke dalam A }
B ← C { nilai B diisi dengan nilai A yang tersimpan di C }

write(A, B) { cetak nilai A dan B setelah pertukaran }


Tugas Runtunan

a. Buatlah pseudocode untuk pertukaran tanpa menggunakan variable tambahan

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.

Hitung gaji bersih karyawan dan dicetak ke layar.

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.

Kata if dan then merupakan kata kunci untuk struktur pemilihan.

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.

Tiga kasus : Empat kasus :

Dan seterusnya untuk lima kasus, enam kasus, …….


Contoh Masalah dengan Satu Kasus
Tulislah algoritma yang membaca sebuah karakter, lalu menuliskan pesan “huruf hidup” jika
karakter tersebut merupakan salah satu dari karakter huruf vocal

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 :

Baca bilangan bulat itu adalah x.


Analisis kasus :
Kasus 1 : jika x > 0, maka x adalah bilangan positif
Kasus 2 : jika x < 0, maka x adalah bilangan negatif
Kasus 3 : jika x = 0, maka x adalah bilangan nol
Contoh Masalah dengan Tiga Kasus atau Lebih
Struktur CASE

Untuk masalah dengan dua kasus atau lebih, konstruksi CASE dapat menyederhanakan penulisan
if-then-else yang bertingkat-tingkat.

Konstruksi CASE sebagai berikut :


Contoh kasus Struktur CASE
Buatlah algoritma yang membaca nomor bulan (integer), lalu
menuliskan nama bulan sesuai angka bulannya. Misalnya jika dibaca
bulan 8, maka tercetak “Agustus”.
Penyelesaian :
Masalah ini memiliki 13 buah kasus karena nama bulan berbeda-beda
bergantung pada nomor bulan yang diberikan (ada 12 bulan dalam
kalender masehi). Satu kasus tambahan adalah bila nomor bulan yang
dimasukkan di luar rentang 1 …. 12.
Contoh kasus Struktur CASE

Hasil :

Anda mungkin juga menyukai