Pages

Selasa, 17 Desember 2013

ALGORITMA

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

0 komentar:

Posting Komentar