ALGORITMA
Algoritma memegang peranan penting dalam bidang pemrograman. Sebegitu
pentingnya suatu algoritma, sehingga perlu dipahami konsep dasar algoritma.
Apalagiuntuk seorang programer, tentu diperlukan suatu algoritma sehingga dapat membuat
program yang lebih efektif dan efisien. Bagi kebanyakan orang, algoritma sangat
membantu dalam memahami konsep logika pemrograman.
Algoritma adalah kumpulan instruksi yang dibuat secara jelas untuk menunjukan
langkah-langkah penyelesaian suatu masalah. Pada umumnya algoritma kurang lebih sama
dengan suatu prosedur yang sering dilakukan setiap hari, misalnya prosedur untuk
mengganti ban bocor/pecah, prosedur pemakaian telepon umum, prosedur membuat kue
dan lain-lain.
Dalam bidang komputer, misalnya EDP (Elektronik Data Processing) atau MIS
(Management Information System), algoritma sering dimanfaatkan untuk menyelesaikan
suatu masalah atau untuk proses pengambilan keputusan. Seorang sistem analisis (analisist
system) tentunya menggunakan algoritma untuk merancang suatu sistem. Bagi seorang
programer, algoritma digunakan untuk membuat modul-modul program.
Guna memahami suatu algoritma, harus dimiliki pengetahuan dasar matematika
karena pada dasarnya algoritma lahir dari konsep logika matematika. Disini yang perlu
dilatih adalah kemampuan logikanya agar benar-benar bisa menyusun langkah-langkah
penyelesaian masalah dengan baik.
Pada bagian konsep dasar dibahas komponen utama, desain, dan contoh pembuatan. Selanjutnya, untuk mendapatkan algoritma yang efisien serta mendapatkan rumusan matematika sebagai ukuran kerumitan (kompleksitas) maka dibahas analisis algoritma dengan menggunakan
notasi O (big O).
Konsep Dasar Algoritma
Algoritma adalah kumpulan instruksi/perintah yang dibuat secara jelas dan
sistematis berdasarkan urutan yang logis (logika) untuk penyelesaian suatu masalah.
French,C.S. (1984) menyatakan sejumlah konsep yang mempunyai relevansi
dengan masalah rancangan program yaitu kemampuan komputer, kesulitan dan ketepatan.
Penerapan dari konsep tersebut biasanya digunakan dalam rancangan algoritma. Dalam
merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu
kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flow chart,
sedangkan Knuth (1973) menyarankan algoritma fundamental.
Untuk keperluan matematika dan program komputer metode yang sering digunakan yaitu :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Pseudo Code)
3. Algoritma Fundamental
Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness,
definiteness, input, output dan effectiveness.
Sehingga dalam merancang sebuah algoritma ada 3 (tiga) komponen yang harus ada yaitu:
1. Komponen masukan (input)
Komponen ini biasanya terdiri dari pemilihan variable, jenis variable, tipe variable,
konstanta dan parameter (dalam fungsi).
2. Komponen keluaran (output)
Komponen ini merupakan tujuan dari perancangan algoritma dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam
komponen keluaran. Karakteristik keluaran yang baik adalah benar (menjawab)
permasalahan dan tampilan yang ramah (Frendly).
3. Komponen proses (processing)
Komponen ini merupakan bagian utama dan terpenting dalam merancang sebuah
algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan
semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dan
lain-lain).
Kode Semu
Dalam merancang sebuah algoritma menggunakan kode semu, komponenkomponen
input, output dan proses harus terdefinisi secara jelas. Disamping itu beberapa
ketentuan dan aturan pendefinisian memang secara baku tidak ditemukan dalam beberapa
buku literatur, namun aturan-aturan yang di ajukan dibawah ini akan membantu
mempermudah perancangan algoritma dan evaluasi serta analisis algoritma.
Aturan-aturan tersebut :
1. Kode semu harus dimulai dengan judul. Aturan ini secara mudah dapat dimengerti
fungsi dan manfaatnya. Judul harus dapat menjelaskan spesifikasi masalah yang
dirancang algoritmanya. Penulisannya dapat dengan huruf kapital semuanya atau tidak.
2. Kode semu harus ditulis dengan nomor yang menunjukkan urutan-urutan langkahlangkah
dalam algoritma.
3. Pendeklarasian variabel, konstanta, parameter, rumus dan pernyataan harus sederhana Contoh. 1.1
Bandingkan kedua algoritma ini. Masalah : Mencari akar-akar persamaan non linear dengan
metode bagi dua.
A. Kode semu yang dirancang tidak menggunakan aturan.
Penyelesaian:
1. Formulasikan sebuah persaman non linier
2. Cari nilai bawah xb yang menyebabkan nilai fungsif(xb) positif atau negatif,
kemudian cari nilai atas xa yang menyebabkan nilai fungsi f(xa) berlawanan (positif
negatif) dengan nilai bawah.
3. Bandingkan nilai f(xb) dengan f(xa)
4. Jika f(xb).f(xa) > 0 maka ulangi langkah 2
5. Jika f(xb).f(xa) < 0 maka bagi dua interval xb dengan xa. Ulangi langkah 3
6. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh
B. Kode semu yang dirancang menggunakan aturan
Penyelesaian:
Algoritma Bagi Dua
1. Formulasikan masalah f(x)
2. Cari taksiran bawah (xb) dan taksiran atas (xa)
3. Bandingkan dan evaluasi, jika f(xb).f(xa) > 0 maka ulangi langkah 2
4. Jika f(xb).f(xa) < 0 maka bagi dua interval dengan (xb+xa) / 2, kembali bandingkan
dan evaluasi.
5. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh
Konsep Dasar Algoritma
Algoritma adalah kumpulan instruksi/perintah yang dibuat secara jelas dan
sistematis berdasarkan urutan yang logis (logika) untuk penyelesaian suatu masalah.
French,C.S. (1984) menyatakan sejumlah konsep yang mempunyai relevansi
dengan masalah rancangan program yaitu kemampuan komputer, kesulitan dan ketepatan.
Penerapan dari konsep tersebut biasanya digunakan dalam rancangan algoritma. Dalam
merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu
kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flow chart,
sedangkan Knuth (1973) menyarankan algoritma fundamental.
Untuk keperluan matematika dan program komputer metode yang sering digunakan yaitu :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Pseudo Code)
3. Algoritma Fundamental
Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness,
definiteness, input, output dan effectiveness.
Sehingga dalam merancang sebuah algoritma ada 3 (tiga) komponen yang harus ada yaitu:
1. Komponen masukan (input)
Komponen ini biasanya terdiri dari pemilihan variable, jenis variable, tipe variable,
konstanta dan parameter (dalam fungsi).
2. Komponen keluaran (output)
Komponen ini merupakan tujuan dari perancangan algoritma dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan dalam
komponen keluaran. Karakteristik keluaran yang baik adalah benar (menjawab)
permasalahan dan tampilan yang ramah (Frendly).
3. Komponen proses (processing)
Komponen ini merupakan bagian utama dan terpenting dalam merancang sebuah
algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan
semantik), rumusan, metode (rekursi, perbandingan, penggabungan, pengurangan dan
lain-lain).
Kode Semu
Dalam merancang sebuah algoritma menggunakan kode semu, komponenkomponen
input, output dan proses harus terdefinisi secara jelas. Disamping itu beberapa
ketentuan dan aturan pendefinisian memang secara baku tidak ditemukan dalam beberapa
buku literatur, namun aturan-aturan yang di ajukan dibawah ini akan membantu
mempermudah perancangan algoritma dan evaluasi serta analisis algoritma.
Aturan-aturan tersebut :
1. Kode semu harus dimulai dengan judul. Aturan ini secara mudah dapat dimengerti
fungsi dan manfaatnya. Judul harus dapat menjelaskan spesifikasi masalah yang
dirancang algoritmanya. Penulisannya dapat dengan huruf kapital semuanya atau tidak.
2. Kode semu harus ditulis dengan nomor yang menunjukkan urutan-urutan langkahlangkah
dalam algoritma.
3. Pendeklarasian variabel, konstanta, parameter, rumus dan pernyataan harus sederhana Contoh. 1.1
Bandingkan kedua algoritma ini. Masalah : Mencari akar-akar persamaan non linear dengan
metode bagi dua.
A. Kode semu yang dirancang tidak menggunakan aturan.
Penyelesaian:
1. Formulasikan sebuah persaman non linier
2. Cari nilai bawah xb yang menyebabkan nilai fungsif(xb) positif atau negatif,
kemudian cari nilai atas xa yang menyebabkan nilai fungsi f(xa) berlawanan (positif
negatif) dengan nilai bawah.
3. Bandingkan nilai f(xb) dengan f(xa)
4. Jika f(xb).f(xa) > 0 maka ulangi langkah 2
5. Jika f(xb).f(xa) < 0 maka bagi dua interval xb dengan xa. Ulangi langkah 3
6. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh
B. Kode semu yang dirancang menggunakan aturan
Penyelesaian:
Algoritma Bagi Dua
1. Formulasikan masalah f(x)
2. Cari taksiran bawah (xb) dan taksiran atas (xa)
3. Bandingkan dan evaluasi, jika f(xb).f(xa) > 0 maka ulangi langkah 2
4. Jika f(xb).f(xa) < 0 maka bagi dua interval dengan (xb+xa) / 2, kembali bandingkan
dan evaluasi.
5. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh

Tidak ada komentar:
Posting Komentar