Professional Documents
Culture Documents
A. Sejarah algoritma
Sebelum membahas defenisi algoritma terlebih dahulu kita mengenal asal muasal kata algoritma
tersebut. Algoritma diambil dari nama ilmuwan ahli matematika dari uzbekistan bernama Jafar
mohammad Ibn Musa Al-khuwarizmi (algorizm) dalam kitabnya yang berjudul al jabr w` almuqabala yang artinya buku pemugaran dan pengurangan ( rules of restoration and reduction)
sekitar tahun 825. Kata algorizm menjadi populer karena populernya angka arab digunakan
dalam perhitungan masa kini. Lebih lanjut, kata algorithm berubah menjadi algoritma setelah
pemrograman komputer dimulai di indonesia.
B.Defenisi algoritma
Adapun defenisi algoritma yaitu sebagai berikut
1.Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini.
Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1.Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi
permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus
sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya
menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan
permasalahan-permasalahan kecil yang terbentuk.
2.Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada
suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian
permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma
Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub
permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan
yang dihadapi.
3.Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik,
bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan
pilihan "serakah" apa yang dilihat terbaik pada saat itu.
D.Syarat/ciri Algoritma
Syarat sebuah algoritma yang baik menurut Donald E. Knuth sebagai berikut:
1.Finiteness
Algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2.Definiteness
Setiap langkah algoritma harus didefenisikan dengan tepat dan tidak menimbulkan makna ganda.
Sehingga, langkah yang tepat menuliskan algoritma adalah dengan menggunakan languange
(bahasa pemprograman computer).
3.Input
Setiap algoritma memerlukan data sebagai data untuk masukan untuk diolah.
4.Output
Setiap algoritma memberikan satu atau beberapa hasil luaran.
5.Effectiveness
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar sebisa mungkin harus dapat
dilaksanakan dan efektif.
E.Jenis Proses Algoritma
Jenis proses Algoritma sebagai berikut:
1.Sequace Process merupakan Instruksi dikerjakan secara sekuensial (berurutan).
2.Selection Process merupakan Instruksi dikerjakan jika memenuhi kriteria tertentu.
3.Interation Process merupakan Instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.Concurret Process merupakan beberapa instruksi dikerjakan secara bersama.
F.Algoritma sebagai subbidang ilmu komputer
Ilmu komputer (computer science) adalah ilmu pengetahuan yang berisi tentang teori,
metodologi, desain dan implementasi, yang berhubungan dengan komputasi, komputer dan
algoritmanya dalam perspektif perangkat lunak (sofware) maupun perangkat keras (hardware).
Ilmu komputer sangat berkaitan erat dengan algoritma, hampir semua bidang dari ilmu komputer
(computer science) tidak terlepas dari algoritma. Bahkan pada saat ini, studi tentang algoritma
telah menjadi subbidang khusus dalam ilmu komputer. Studi atau ilmu yang mempelajari tentang
Perlu dipahami bahwa, tidak ada kaida yang baku dalam penggunaan bagan alir diatas karena
merupakan gambaran hasi analisis suatu masalah. Bagan alir dapat bervariasi antara satu
pemprogram dengan pemprogram lainnya. Secara garis besar, bagan alir terdiri dari 3 bagian
utama yaitu, input, proses, dan, output.
Hal-hal yang perlu diperhatikan dalam pembuatan bagan alir adalah:
1.Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit sehingga jalannya
proses menjadi singkat.
2.Jalannya proses digambarkan dari atas ke bawah dan berikan tanda panah untuk memperjelas.
3.Sebuah flowchart diawali dari satu tiik START (mulai) dan akhiri dengan END (selesai)
2.Penulisan menggunakan Pseudo-code
Ilmuwan komputer menyukai menuliskan algoritma agar lebih praktis yaitu notasi pseudo code.
Pseudo code (pseudo berarti semu atau tidak sebenarnya) merupakan notasi yang mirip dengan
notasi bahasa pemprograman. Pseudo code merupakan campuran antara bahasa alami (natural)
dengan bahasa pemprograman. Kemudahan menggunakan pseudo code adalah kemudahan
2.Struktur pemilihan
Struktur pemilihan (seleksi) menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi
(pengambilan keputusan).
3.Struktur pengulangan
Instruksi yang dapat mengulangi pelaksanaan sederetan instruksi-intruksi sesuai dengan
persyaratan yang ditetapkan. Suatu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang tampa lelah.