Assalamu'alaikum Warahmatullahi Wabarakaatuh...
Salam sejahtera,
Hallo agan2 skalian, ketemu lagi dengan saya, mudah2an gak bosen :) . kali ini saya akan sharing ilmu dengan agan2 sekalian yang mungkin memiliki minat atau memang menggeluti bidang programming. Bahasan kali ini adalah mengenai algoritma. algoritma bisa dijelaskan sebagai "kerangka berfikir logis seorang programmer dalam memecahkan masalah pembuatan program/software komputer". seorang programmer yang baik haruslah faham dengan algoritma program komputer yang dibuat olehnya. ya iya lah, masak yang bikin sendiri gak faham. hehe :) OK, langsung aja di simak, tulisan berikut. semoga bermanfaat.
1. Definisi Algoritma
Urutan langkah-langkah untuk memecahkan masalah
- Urutan logis pengambilan keputusan untuk memecahkan masalah
- urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
- alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain.
- tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
- Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
- Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah
Algoritma Pemrograman Program
Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).
Pertimbangan dalam pemilihan algoritma :
Pertimbangan dalam pemilihan algoritma :
- Algoritma haruslah benar
- Mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut
- Efisiensi algoritma. (waktu dan memori)
Setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
Suatu Algoritma yg terbaik (The Best): “Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“
Suatu Algoritma yg terbaik (The Best): “Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“
Contoh algoritma :
Sebuah prosedur ketika akan mengirimkan surat kepada teman:
Tulis surat pada secarik kertas surat.
- Ambil sampul surat atau amplop.
- Masukkan surat ke dalam amplop.
- Tutup amplop surat dengan lem perekat.
- Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
- Tempelkan perangko pada amplop surat.
- Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
- Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
- Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
- Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Hal yang perlu diperhatikan dalam membuat algoritma:
- Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
- Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
- Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
- Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer.
- Algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Yang harus diperhatikan pada translasi Algoritma:
- Pendeklarasian variabel
- Pemilihan tipe data
- Pemakaian instruksi-instruksi
- Aturan sintaksis
- Tampilan hasil
- Cara pengoperasian compiler atau interpreter.
Beberapa syarat untuk menjadi algoritma yang baik (1)
- Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
- Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
- Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
- Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
Beberapa syarat untuk menjadi algoritma yang baik (2)
- Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
- Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
- Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan. setiap langkah harus jelas dan pasti.
- Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
Beberapa syarat untuk menjadi algoritma yang baik (3)
- Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
- Harus terminate. Jalannya algoritma harus ada kriteria berhenti.
- Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
Struktur Dasar Algoritma
- Struktur Runtunan (sequence) Digunakan untuk program yang pernyataannya sequential atau urutan.
- Struktur Pemilihan (selection) Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
- Struktur Perulangan (iteration) Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Nah gimana sob, sudah mengerti kan sekarang, apa itu argoritma ? khususnya algoritma pemrograman untuk komputer. Jadi cukup sampai disini dulu artikel sederhana ini, semoga bisa membantu dan bermanfaat buat kita semua.
No comments:
Post a Comment