Menurut kamus besar bahasa
indonesia terbitan balai pustaka tahun 1988, “algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah”.
Menurut Microsoft Book-shelf, “algoritma adalah urutan langkah berhingga
untuk memecahkan masalah logika atau matematika”.
Berdasarkan defenisi-defenisi
tersebut maka dapat disimpulkan, “algoritma
adalah urutan langkah-langkah logis yang berhingga yang digunakan untuk
memecahkan masalah”.
Langkah-langkah di dalam algoritma
harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat
ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan
hasil yang salah.
Menurut Donald E. Knuth dalam
bukunya yang berjudul “the art of
computer programming”, algoritma harus mempunyai lima ciri penting:
- Algoritma harus berhenti setelah mengerjakan sejumlah langkah. Suatu program yang tidak pernah berhenti adalah program yang berisi algoritma yang salah.
- Setiap langkah harus didefenisikan dengan tepat dan tidak berarti-dua (ambigu).
- Algoritma memiliki nol atau lebih masukan (input). Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja.
- Algoritma mempunyai nol atau lebih keluaran (output). Keluaran ialah besaran yang memiliki hubungan dengan masukan.
- Algoritma harus sangkil (efektif). Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Algoritma adalah jantung ilmu
komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam
terminologi algoritma. Namun demikian, jangan beranggapan algoritma selalu
identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak proses
yang digambarkan dalam suatu algoritma.
Realisasi algoritma dalam bahasa pemrograman disebut dengan program. Sedangkan pemrograman adalah kegiatan mengkonversi algoritma ke dalam bahasa pemrograman. Bahasa pemrograman atau bahasa komputer adalah teknik komunikasi standar untuk memerintah komputer. Bahasa pemrograman adalah suatu set aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Suatu bahasa memungkinkan seorang programmer secara persis menentukan data yang mana akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan langkah apa secara persis yang akan diambil dalam berbagai situasi.
- NOTASI ALGORITMA
Notasi algoritma merupakan hal
dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram,
karena dalam notasi algoritma inilah terdapat instruksi atau langkah-langkah
suatu program. Notasi algoritma bukan notasi bahasa pemrograman, karena itu
program dalam notasi algoritma tidak dapat dijalankan oleh komputer. Notasi
algoritma bukan notasi bahasa pemrograman, sehingga siapapun dapat membuat
notasi algoritma yang berbeda.
Ciri notasi algoritma yang baik
yaitu dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang
penting mengenai notasi tersebut adalah mudah dibaca dan dimengerti. Di bawah
ini ada 3 notasi yang umum digunakan dalam penulisan algoritma, yaitu :
- Notasi Alami
- Flowchart / Diagram Alur
- Pseudocode
a. Notasi Alami
Penulisan algoritma dengan notasi
alami adalah dengan cara menuliskan instruksi-instuksi yang harus dilaksanakan
untuk memecahkan masalah dalam bentuk untaian kalimat deskriptif.
Dengan notasi bergaya kalimat ini,
deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali
dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya,
sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini
bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar,
notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke
notasi bahasa pemrograman cenderung relative sukar.
Contoh:
Algoritma_Menghitung_Luas_Persegi_Panjang
Langkah 1: Baca nilai panjang.
Langkah 2: Baca nilai lebar.
Langkah 3: Kalikan nilai panjang
dengan nilai lebar dan berikan nilainya ke hasil.
Langkah 4: Tampilkan nilai hasil.
b. Flowchart / Diagram Alir
Flowchart adalah gambaran dalam
bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang
menyatakan arah alur program tersebut. Diagram alur lebih menggambarkan aliran
instruksi di dalam program secara visual dibanding memperlihatkan struktur
program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil,
untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar
halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa
pemrograman cenderung relatif sukar.
Berikut adalah beberapa simbol yang
digunakan dalam menggambar suatu flowchart :
Contoh Flowchart:
Flowchart_Menghitung_Luas_Persegi_Panjang
c. Pseudocode
Pseudo-code adalah notasi yang
menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C.
Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa
instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan
sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda
titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya,
sembarang versi Pseudocode dapat diterima asalkan perintahnya tidak membingungkan
pembaca.
Keuntungan menggunakan notasi
Pseudocode adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena
terdapat korespodensi antara setiap Pseudocode dengan notasi bahasa
pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit.
Contoh notasi pseudocode adalah
sebagai berikut:
Algoritma_Menghitung_Luas_Persegi_Panjang
DEKLARASI:
Panjang
: integer
Lebar
: integer
Luas
: integer
DESKRIPSI:
read
(Panjang)
read
(Lebar)
Luas <<-- Panjang * Lebar
write (Luas)
Aturan penulisan algoritma dalam notasi
pseudocode.
Dalam
pseudocode algoritma terbagi atas 3 bagian, yaitu :
- Judul Algoritma
Judul
algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat
namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.
Contoh
judul algoritma:
Algoritma
LUAS_PERSEGIPANJANG
{ Menghitung luas persegi panjang. Algoritma
menerima masukan panjang dan lebar, menghitung luas, lalu mencetak luas persegi
panjang ke piranti keluaran }
Keterangan:
Algoritma LUAS_PERSEGIPANJANG merupakan
judul algoritma, sedangkan yang di dalama kurung kurawal ({ }) merupakan
spesifikasi atau penjelasan singkat tentang algoritma luas persegi panjang.
- Deklarasi
Bagian
deklarasai berguna untuk mendefenisikan semua nama yang dipakai dalam
algoritma. Nama tersebut dapat berupa nama tetapan, nama peubah (variable),
nama tipe, nama prosedur, dan nama fungsi.
Contoh
deklarasi:
DEKLARASI
{ nama peubah (variable) }
p : integer { tempat menampung
data panjang }
l : integer { tempat menampung
data lebar }
L : integer { tempat menampung data hasil penghitungan
luas }
- Deskripsi
Deskripsi
merupakan bagian inti dari suatu algoritma. Bagian ini berisi uraian
langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dalam
notasi yang akan di jelaskan pada bab selanjutnya. Misalnya notasi write digunakan untuk mencetak
data/informasi, notasi read
digunakan untuk membaca data, dan lain sebagainya. Setiap langkah algoritma dibaca
dari “atas” ke “bawah”. Urutan penulisan menentukan urutan pelaksanaan
perintah.
Contoh
deskripsi:
DESKRIPSI
read
(Panjang)
read
(Lebar)
Luas <<--- Panjang * Lebar
write
(Luas)
Keterangan:
Lambang
<<--- berarti penugasan atau
penginputan
No comments:
Post a Comment
Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!