Lompat ke konten
Kategori Home » Teknik Informatika » Jenis Jenis Algoritma dan Fungsinya

Jenis Jenis Algoritma dan Fungsinya

  • oleh

Algoritma mengacu pada langkah-langkah dan proses berurutan yang harus diikuti untuk memecahkan masalah. Ada berbagai macam algoritma yang dirancang untuk memecahkan masalah yang berbeda meskipun dalam pemrograman kami mempertimbangkan Algoritma penting berikut untuk memecahkan masalah.

Berikut ini adalah Jenis Jenis Algoritma dan Fungsinya :

1. Algoritma Brute Force

Algoritma Brute Force  adalah algoritma yang paling sederhana yang dapat dibuat untuk memecahkan masalah. Setiap masalah dapat diselesaikan dengan pendekatan brute force meskipun umumnya tidak dengan kompleksitas ruang dan waktu yang cukup besar.

2. Algoritma Greedy

Algoritma greedy adalah keputusan dibuat yang baik pada saat itu tanpa mempertimbangkan masa depan. Ini berarti bahwa beberapa lokal terbaik dipilih dan menganggapnya sebagai optimal global.

Ada dua properti dalam algoritma ini , yaitu :

  • Properti : Greedily choosing
  • Properti substruktur optimal: Jika solusi optimal dapat ditemukan dengan mengambil solusi optimal untuk submasalahnya.

Algoritma ini mudah untuk perangkat dan sebagian besar waktu yang paling sederhana. Tetapi membuat keputusan terbaik secara lokal tidak selalu berhasil.

3. Algoritma Rekursif

Algoritma Rekursif adalah salah satu algoritma yang paling sederhana yang digunakan ,  karena tidak memerlukan pemikiran khusus tentang setiap submasalah. Artinya kita hanya perlu memikirkan kasus-kasus yang ada dan solusi dari subproblem yang paling sederhana, semua kompleksitas lainnya akan ditangani secara otomatis. Rekursi adalah alat yang sangat kuat meskipun kita harus selalu menjaga manajemen memori di sini karena rekursi bekerja menggunakan tumpukan rekursif yang dipanggil setiap kali fungsi rekursi dipanggil. Rekursi berarti memanggil dirinya sendiri untuk memecahkan submasalahnya.

4. Algoritma Backtracking

Algoritma Backtracking adalah peningkatan dari algoritma brute force. Di sini kita mulai dengan satu opsi yang mungkin dari banyak yang tersedia dan mencoba untuk memecahkan masalah jika kita mampu memecahkan masalah dengan langkah yang dipilih maka kita akan mencetak solusi lain kita akan mundur dan memilih beberapa yang lain dan mencoba untuk menyelesaikannya. Ini adalah bentuk rekursi, hanya saja ketika opsi yang diberikan tidak dapat memberikan solusi, kami mundur ke opsi sebelumnya yang dapat memberikan solusi, dan melanjutkan dengan opsi lain.

5. Algoritma Divide & Conquer

Algoritma Divide & Conquer adalah salah satu algoritma yang paling banyak digunakan dalam pemrograman. Algoritma ini membagi masalah menjadi submasalah dan kemudian menyelesaikannya masing-masing dan kemudian menggabungkannya untuk membentuk solusi dari masalah yang diberikan.

Alasan enapa algoritma ini sering dugunakan karena algoritma ini banyak digunakan dalam berbagai masalah karena cukup stabil dan optimal untuk sebagian besar masalah yang ditanyakan.

6. Algoritma Dinamis

Algoritma Dinamis adalah algoritma yang paling dicari karena menyediakan cara yang paling efisien untuk memecahkan masalah. Ini berarti mengingat masa lalu dan menerapkannya pada hasil yang sesuai di masa depan dan karenanya algoritma ini cukup efisien dalam hal kompleksitas waktu.

Pemrograman Dinamis memiliki dua property, diantaranya adalah:

  • Substruktur Optimal: Solusi optimal untuk suatu masalah berisi solusi optimal untuk submasalahnya.
  • Submasalah yang tumpang tindih: Sebuah solusi rekursif berisi sejumlah kecil submasalah yang berbeda.

7. Algoritma Acak

Algoritma Acak adalah jenis algoritma yang membuat keputusan berdasarkan angka acak yaitu menggunakan angka acak dalam logikanya. Contoh terbaik dari ini adalah memilih elemen pivot di quicksort. Keacakan ini untuk mengurangi kompleksitas waktu atau kompleksitas ruang meskipun tidak digunakan secara teratur. Probabilitas memainkan peran paling signifikan dalam algoritma ini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *