a.
Pengertian Algoritma
Pandangan mengenai komputer sebagai sebuah mesin yang “pintar” adalah
pendapat yang salah, karena komputer hanyalah suatu alat yang diberi
serangkaian perintah oleh manusia sehingga dapat menyelesaikan permasalahan
secara cepat, akurat, bahkan berulang-ulang tanpa kenal lelah dan bosan.
Sekumpulan instruksi yang merupakan penyelesaian masalah itu dinamakan program. Agar program dapat
dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu bahasa
yang dimengerti oleh komputer. Bahasa komputer yang digunakan dalam menulis
program dinamakan bahasa pemrograman. Urutan
langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma. Jadi algoritma adalah urutan logis
pengambilan keputusan untuk pemecahan masalah. Kata logis merupakan kata kunci.
Langkah-langkah tersebut harus logis, ini berarti nilai kebenarannya harus
dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar
dapat memberikan hasil yang salah. Sebagai contoh tinjau persoalan
mempertukarkan isi dua buah bejana, A dan B. Bejana A berisi larutan yang
berwarna merah, sedangkan bejana B berisi air berwarna biru. Kita ingin
mempertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna merah. Ada 2
algoritma untuk menyelesaikan permasalahan tersebut, yaitu :
a) Algoritma yang pertama, ada dua langkah :
(1)
Tuangkan larutan dari bejana A
ke dalam bejana B
(2)
Tuangkan larutan dari bejana B ke
dalam bejana A
Algoritma tukar isi bejana di atas tidak
menghasilkan pertukaran yang benar, karena langkah-langkahnya tidak logis
sehingga yang terjadi adalah percampuran keduanya.
b) Algoritma yang kedua, ada 3 langkah :
(1) Tuangkan larutan dari bejana A ke dalam bejana C
(2) Tuangkan larutan dari bejana B ke dalam bejana A
(3) Tuangkan larutan dari bejana C ke dalam bejana B
Sekarang, dengan algoritma tukar isi bejana yang sudah diperbaiki ini, isi
bejana A dan B dapat dipertukarkan dengan benar.
Dari kedua contoh algoritma di atas dapat diambil 2 pesan penting. Pertama,
algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti,
algoritma memberi hasil yang benar.
b.
Dasar-dasar
Algoritma
1). Proses, Instruksi dan Aksi
Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu
proses. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap langkah instruksi tersebut melakukan
suatu tindakan atau aksi. Bila suatu
aksi dilaksanakan, maka sejumlah operasi
yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan
suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum
dimulai, t0, dan keadaan pada saat
aksi selesai dikerjakan, t1.
To : Keadaan sebelum aksi
dikerjakan
Aksi
T1 : Keadaan
setelah aksi dikerjakan
Sebagai contoh, tinjau kembali algoritma yang menggambarkan proses
mempertukarkan larutan dari dua buah bejana A dan B. Pada setiap pelaksanaan
aksi kita amati keadaan awal dan keadaan akhirnya.
To : bejana A berisi larutan
berwarna merah, bejana B berisi
larutan berwarna biru (bejana C masih kosong).
(1) Tuangkan larutan dari bejana A ke dalam
bejana C
T1 : bejana A
kosong, bejana C berisi larutan berwarna
Merah
To : bejana A
kosong, bejana B berisi larutan berwarna
biru.
(2) Tuangkan larutan dari bejana B ke dalam
bejana A
T1 : bejana A
berisi larutan berwarna biru, bejana B kosong
To : bejana B
kosong, bejana C berisi larutan berwarna
merah.
(3) Tuangkan larutan dari bejana C ke dalam
bejana B
T1 : Bejana B
berisi larutan berwarna merah, bejana A
sudah berisi larutan berwarna biru (bejana C
kosong).
Keadaan awal dan keadaan akhir algoritma dapat dijadikan acuan bagi
pemrogram dalam merancang suatu algoritma. Keadaan akhir mencerminkan hasil
yang diinginkan dari sebuah keadaan awal. Algoritma berisi langkah-langkah
pencapaian keadaan akhir dari keadaan awal yang didefinisikan.
Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang
global lebiha dahulu. Langkah global ini diperhalus sampai ke langkah yang
lebih rinci. Pendekatan desain algoritma seperti ini dinamakan perancangan
puncak turun (top-down design). Cara
pendekatan seperti ini angat bermanfaat dalam membuat algoritma untuk masalah
yang cukup rumit atau kompleks.
2). Struktur Dasar Algoritma
Algoritma berisi
langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi, pemilihan aksi dan pengulangan aksi. Ketiga jenis langkah
tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat
dibangun dari 3 buah struktur dasar, yaitu :
(1) Runtunan
(sequence)
(2) Pemilihan
(selection)
(3) Pengulangan
(repetition)
i. Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi
menentukan keadaan akhir dari suatu algoritma. Bila urutannya diubah, maka
hasil akhirnya mungkin juga akan berubah.
ii. Pemilihan
Ada kalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi.
Penulisan pemilihan secara umum :
If kondisi then
Aksi
Dalam bahasa indonesia, if berarti “jika” dan then artinya “maka”. Kondisi adalah persyaratan
yang dapat bernilai salah atau benar. Aksi hanya dilakukan jika kondisi
bernilai benar. Perhatikan kata yang digarisbawahi, if dan then
merupakan kata kunci(keywords) untuk
struktur pemilihan ini. Dalam kehidupan sehari-hari, kita sering menuliskan
pernyataan tindakan bila suatu persyaratan dipenuhi. Misalnya :
If Zaki
memperoleh juara kelas then
Ayah akan
membelikannya sepeda
If jalan panenan macet
then
Ambil alternatif jalan dipati ukur
Struktur pemilihan if-then hanya memberikan satu pilihan aksi jika kondisi
dipenuhi (bernilai benar), dan tidak memberi pilihan aksi lain jika bernilai
salah. Bentuk pemilihan yang lebih umum ialah memilih satu dari dua buah aksi
bergantung pada nilai kondisinya :
If kondisi then
Aksi 1
Else
Aksi 2
Else artinya “kalau tidak”. Bila kondisi bernilai
benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan.
Misalnya pada pernyataan berikut :
If hari
hujan then
Pergilah
dengan naik beca
Else
Pergilah
dengan naik motor
Jika kondisi “hari hujan” bernilai benar, maka aksi “pergilah dengan naik
beca” dilakukan, sebaliknya aksi “pergilah dengan naik motor” akan dilakukan
jika “hari hujan” tidak benar.
iii. Pengulangan
Salah satu kelebihan
komputer adalah kemampuannya untuk melakukan melakukan pekerjaan yang sama
berulang kali tanpa mengenal lelah. Struktur pengulangan disebut kalang (loop), dan bagian algoritma yang diulang
(aksi) dinamakan badan kalang (loop body).