Pd
Email: darman@umkendari.ac.id
Pembahasan Materi:
Pengertian algoritma
Penulisan algoritma
Tahapan pelaksanaan pemrograman komputer
Implementasi algoritma menjadi program
Struktur dasar algoritma
1.1 Pendahuluan
Deskripsi:
Tuangkan kopi dari gelas A ke dalam gelas C (gelas A menjadi
kosong).
Tuangkan susu dari gelas B ke dalam gelas A (gelas B menjadi
kosong).
Tuangkan kopi dari gelas C ke dalam gelas B.
Syarat algoritma yang baik menurut Donald E. Knuth
harus memenuhi lima hal berikut ini:
1. Finiteness
Algoritma yang baik harus ada akhir atau berhenti
setelah mengerjakan sederetan instruksi. Algoritma
yang tiada akhir atau tidak dapat berhenti bukan
merupakan algoritma yang baik.
2. Defineteness
Setiap langkah algoritma harus didefinisikan dengan
tepat dan jelas sehingga tidak menimbulkan makna
ganda(ambiguous). Sebagai contoh, pernyataan
“Lakukan langkah di bawah ini beberapa kali”,
pernyataan tersebut jelas akan membingungkan
karena tidak ada yang membatasi berapa banyak
perintah yang harus dijalankan.
Bandingkan dengan pernyataan berikut: “Lakukan
langkah di bawah ini sebanyak 10 kali”.
3. Input
Algoritma yang baik harus memiliki masukan data
untuk diolah. Masukan adalah besaran atau nilai
yang diberikan kepada algoritma, masukan biasanya
diberikan di awal penulisan. Sebagai contoh, untuk
menghitung luas segitiga kita membutuhkan nilai
alas dan nilai tinggi, sehingga luas segitiga dapat
dihitung.
4. Output
Algoritma yang baik adalah algoritma yang
menghasilkan output atau keluaran yang merupakan
hasil dari pengolahan data masukan.
5. Effectiveness
Algoritma yang baik adalah algoritma yang
mempunyai langkah-langkah atau instruksi yang
effektif yaitu algoritma yang memiliki langkah yang
paling sederhana, sehingga dapat dikerjakan dalam
waktu yang cukup wajar.
1.2 Penulisan Algoritma
Permasalahan:
Hanya dapat menggunakan perahu untuk menyebrangi
sungai.
perahu minimal berisi 1 orang, maksimal berisi 2 orang.
Jumlah pemburu harus lebih banyak dari jumlah
kanibal.
Algoritma
penyeberangan
sungai ini
adalah salah
satu contoh
algoritma
runtunan,
karena jika
langkah yang
dilaksanakan
tidak berurutan
maka tidak akan
memecahkan
masalah.
2. Buatlah algoritma untuk menuliskan nilai mutlak
dari nilai yang dimasukkan oleh pengguna.
Pemahaman masalah:
Nilai mutlak x □| x| adalah sbb: | x | = x, jika x ≥ 0
| x | = -x, jika x < 0
Penjelasan algoritma:
Baris pertama meminta masukkan bilangan yang disimpan pada variabel x.
Baris kedua mengecek apakah nilai yang dimasukkan lebih kecil dari nol atau tidak, jika lebih kecil
maka kerjakan perintah nomer 3 jika tidak lebih kecil maka kerjakan perintah nomer 4.
Baris ketiga membuat nilai x menjadi positif (baris ini hanya dilakukan jika nilai x lebih kecil dari nol)
Baris keempat mencetak nilai x. Algoritma mencari nilai mutlak merupakan algoritma bentuk
percabangan, karena pada algoritma di atas kita dihadapkan pada sebuah kondisi yang akan
membuat program mempunyai dua arah (lihat baris kedua).
3. Buatlah algoritma untuk mencetak sebuah kata
yang diinput oleh pengguna sebanyak 5 kali.
Pemahaman masalah:
Meminta masukan berupa sebuah kata, kemudian
kata tersebut tercetak sebanyak 5 kali.
Penjelasan algoritma:
Langkah pertama meminta masukan sebuah kata yang disimpan pada variabel
Kt
Langkah kedua memberi nilai awal m=1, variabel M digunakan untuk
menyimpan hasil pengulangan (pencacah).
Langkah ketiga memberikan perintah untuk mengulangi langkah ketiga hingga
langkah kelima selama nilai M masih bernilai lebih kecil atau sama dengan 5.
Langkah keempat merupakan perintah untuk mencetak Kt.
Langkah kelima menambahkan variabel M dengan 1. variabel M harus
ditambah dengan nilai 1 agar kondisi pada langkah ketiga ada saatnya bernilai
salah, dalam hal ini digunakan untuk membatasi perulangan.
Algoritma mencetak kata yang yang dimasukkan oleh pengguna merupakan
bentuk algoritma pengulangan.
TUGAS MANDIRI
1. Buatlah algoritma untuk mencetak kalimat ”Algoritma
Pemrograman” sebanyak 50 kali.
2. Tulislah algoritma untuk meminta pengguna memasukkan
tiga buah bilangan bulat, kemudian menampilkan bilangan
terkecil dari ketiga bilangan tersebut.
3. Buatlah algoritma untuk menghitung akar persamaan
kuadrat. Akar persamaan kuadrat dapat dicari dengan
terlebih dahulu menghitung nilai determinan dengan rumus
D = B2 – 4 A C.
Jika nilai D < 0 maka didapat akar tidak nyata.
Jika nilai D = 0 maka X1 = X2, untuk menghitung nilai X didapat dari
rumus: –B / ( 2 A).
Jika nilai D > 0 maka terdapat dua akar X1= (-B + √D / 2A) dan X2= (-B -
√D / 2A).