Halo semuanya.. Kali
ini saya mau berbagi sedikit pengetahuan tentang algoritma ya.. Buat
teman-teman yang mau masuk ke dunia pemrograman, harus tahu nih apa sih
algorima itu ? Apakah algoritma itu ada hubungannya dengan logaritma ?
Jawabannya adalah tidak ya teman-teman. Jadi, algoritma itu apa ?
Algoritma adalah inti
dari ilmu komputer berupa urutan-urutan instruksi atau langkah-langkah untuk
menyelesaikan suatu masalah. Algoritma merupakan blueprint dari sebuah program.
Program adalah instruksi-instruksi kode yang dijalankan oleh komputer. Program
ditulis dengan bahasa pemrograman. Bahasa pemrograman adalah bahasa yang bisa
dibaca dan dijalankan oleh komputer. Nah, bahasa pemrograman inilah yang
menerjemahkan algoritma ke dalam kode-kode program. Tiap bahasa pemrograman
mempunyai susunan dan karakteristik kode yang berbeda, kita tidak harus bisa
menguasai semua bahasa pemrograman, fokus saja pada satu bahasa pemrograman
yang menurut kita nyaman, tapi kalau bisa ya ngikutin perkembangan juga ya..
Apakah program dan software itu sama ? Program itu adalah bagian dari software.
Atau bisa dikatakan software itu hasil dari program-program yang dibuat, yang
tentunya dijalankan oleh komputer.
Algoritma sebaiknya
disusun sebelum membuat program. Jadi jika kita ingin membuat suatu program,
harus tahu dulu langkah-langkah penyelesaian masalah nya bagaimana, urutannya
bagaimana, data yang diperlukan apa saja, hasil yang diinginkan seperti apa.
Jika kita sudah tahu langkah-langkahnya, pasti enak bikin programnya, tidak
buntu di tengah jalan saat ngoding. Fungsi dari algoritma yaitu untuk
memudahkan programmer dalam menyusun rencana pembuatan program. Jika algoritma
yang dibuat sudah benar, maka program akan mudah dibuat dan output/hasilnya
akan sama di bahasa pemrograman apapun yang dipakai.
Lalu, apa saja
kriteria dari sebuah algoritma ? Kriterianya yaitu ada input dan output,
efektivitas dan efisien, serta susunannya terstruktur. Input dan output disini
berupa data yang dimasukkan dan yang ditampilkan. Efektivitas maksudnya adalah,
algoritma atau langkah yang dibuat harus dengan cara yang tepat sesuai tujuan.
Sedangkan efisien maksudnya adalah, algoritma yang dibuat itu tidak
berbelit-belit, langkahnya sederhana, cepat, tidak banyak memakan memori, tapi
tetap benar sesuai tujuan. Terstruktur artinya langkah-langkah yang dibuat
harus benar sesuai urutan, step by step, tidak boleh melompat-lompat langkahnya
karena komputer melakukan perintah sesuai dengan urutan yang diprogram.
Bagaimana cara membuat
algoritma ? Algoritma bisa dibuat dengan tulisan maupun gambar. Jika dengan
tulisan, kita bisa membuatnya dengan bahasa sendiri misal bahasa Indonesia atau
bahasa Inggris. Kita juga bisa menuliskannya dengan pseudocode. Pseudocode
adalah penulisan algoritma dengan kode yang hampir sama dengan bahasa
pemrograman tetapi lebih singkat untuk gambaran besarnya saja. Jika dengan
gambar, kita bisa membuat algoritma dengan flowchart. Flowchart adalah bagan
yang menggambarkan urutan-urutan dari algoritma yang dibuat. Flowchart ini
dibuat dengan bentuk-bentuk yang telah ditetapkan sesuai fungsi algoritmanya.
Contoh : algoritma
untuk menentukan sebuah bilangan ganjil atau genap.
Tidak sulit kita
menentukan sebuah bilangan adalah bilangan ganjil atau genap. Namun, bagaimana
kita memerintah komputer agar komputer bisa menghasilkan output “ganjil” atau
“genap” dari sebuah angka yang diberikan kepadanya, tidaklah mudah. Inipun
masih tergantung pada operator apa saja yang dimiliki bahasa pemrogramannya.
Secara bahasa natural,
kita bisa menulis algoritmanya:
1.
Masukkan sebuah angka
2.
Bagi angka tersebut
dengan dua
3.
Bila sisa hasil baginya
adalah 0, maka cetak “genap” “ganjil”
4.
Bila sisa hasil baginya
adalah 1, maka cetak “ganjil”
Algoritma dengan
pseudocode
1.
input angka
2.
hasil = angka % 2
3.
if hasil=0, output “genap”
4.
if hasil=1, output
“ganjil”
Algoritma dengan
flowchart
Komentar
Posting Komentar