Penggunaan Algoritma
Pemrograman Diawali dengan Pembuatan Algoritma
Algoritma adalah urutan langkah-langkah yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. Langkah-langkah di dalam algoritma haruslah logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salahnya. Pengaruh sebenarnya algoritma pada pemograman yaitu pada letak langkah-langkah sebelum membuat program itu sebelumnya diracik dahulu menjadi sebuah algoritma kemudian programmer mentranslasikan algoritma menjadi sebuah program yang dapat diaplikasikan. Jika hanya algoritma saja yang telah dibuat, hal tersebut seperti bahan mentah dari sebuah program, karena algoritma hanyalah sebuah rancangan belum menjadi program.
Pentingnya algoritma disini adalah agar pengerjaan suatu program dapat dilakukan dengan runtut dan rapi. Bisa saja kita membuat program terlebih dahulu tapi hal tersebut dapat dipastikan, dalam pengerjaannya, akan tersendat-sendat. Hal itu dikarenakan dalam proses pembuatan program, seorang programmer akan membayangkan atau menghayal bagaimana aplikasi yang dibuat nantinya, yang kemudian diperparah dengan terjadimya bugs maupun error karena belum memprediksi kesalahan dan lain-lainnya sebelumnya .
Maka dari itu pembuatan algoritma harus disertai logika yang selaras karena logika dan algoritma merupakan ilmu atau seni untuk mengurutkan suatu pekerjaan seurut-urutnya. Pembuat algoritma juga harus dapat mengimajinasikan aplikasi yang akan dibuat nantinya dan membuat langkah-langkah tersebut dapat dipahami oleh pembuat program(programmer). Sebelum membuat algoritma, dijadikan dulu sebuah pemodelan atau rancangan membuat algoritma jadi pemograman disitu menjadi bagian dari rancangan-rancangan yang sudah diperhitungkan dan diracik sesempurna mungkin, karena itu semua satu kesatuan dari algoritma dan pemograman saling berkaitan
Kelebihan dan Kekurangan dalam Menggunakan Algoritma
Berdasarkan jenisnya :
1. Algoritma Brute Force
Kelebihan :
· Dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability).
· Sederhana dan mudah dimengerti.
· Menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks.
· Menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi seperti penjumlahan atau perkalian dan buah bilangan, menentukan elemen minimum atau maksimum di dalam tabel (list).
Kekurangan :
· Jarang menghasilkan algoritma yang mangkus.
· Beberapa algoritma brute force lambat sehingga tidak dapat diterima.
· Tidak
sekontruktif atau sekreatif teknik pemecahan masalah lainnya.
2. Algoritma Divide and Conquer
Kelebihan :
· Mengurangi kompleksitas pencarian solusi suatu masalah
· Meningkatkan pada Brute Force dengan satu basis efisiensi kelas
· Mudah untuk menganalisis menggunakan Recurrence Templates.
· Idealnya cocok untuk perhitungan parallel.
Kekurangan :
· Sering membutuhkan rekursi yang menyebabkan overhead.
· Dapat diterapkan dan inferior untuk solusi algoritmik yang lebih sederhana.
1. Alogaritma Decrease and Conquer
Kelebihan :
· Dapat diimplementasikan baik top down (rekursif) atau bawah ke atas (tanpa rekursi)
· Seringkali sangat efisien
· Mengarah ke suatu bentuk kuat dari grafik traversal
· Breadth and Depth First Search
Kekurangan :
· Kurang berlaku secara luas (terutama penurunan oleh faktor konstan)
Referensi
https://www.slideshare.net/ohohervin/perbandingan-algoritma-brute-force-divide-and-conquer
Komentar
Posting Komentar