Wikipedia

Hasil penelusuran

Senin, 29 Juli 2024

ALGORITMA


Algoritma adalah pendekatan logis yang dilakukan secara bertahap. Algoritma dapat didefinisikan sebagai pendekatan sistematis dalam pemecahan masalah tertentu. Pemahaman tentang algoritma dalam pemrograman sangat penting bagi programmer untuk melakukan tugasnya secara lebih efisien. Seorang programmer perlu memahami perbedaan antara algoritma dan program sebagai upaya mengoptimalkan program sesuai dengan sumber daya yang tersedia.

Cara Penyajian Algoritma

Algoritma menyediakan langkah-langkah abstrak dalam memproses satu urutan informasi terkait menjadi urutan informasi turunan yang berbeda. Konstituen suatu program bisa jadi tidak terkait secara konseptual yang ditulis menggunakan bahasa Inggris dan dapat dipahami oleh mereka yang memiliki latar belakang non-pemrograman.

Jenis- jenis Algoritma

Algoritma memiliki beberapa karakteristik di mana salah satunya adalah tidak ambigu. Algoritma mengambil input dan output yang terdefinisi dengan baik. Algoritma memiliki karakter sederhana dan generik serta dan dapat dijalankan dengan menggunakan sumber daya yang ada. Algoritma bersifat terbatas dan tidak tergantung pada bahasa pemrograman.

Jenis algoritma yang terpopuler adalah sebagai berikut:

1. Algoritma Brute Force

Jenis algoritma ini merupakan yang konsep yang paling sederhana. Jenis ini mengintegrasikan semua kemungkinan solusi untuk mencari satu atau lebih kemungkinan solusi yang dapat menyelesaikan suatu fungsi.

Pendekatan yang digunakan pada algoritma ini sifatnya lempang atau straight forward dalam memecahkan masalah. Karakteristik umum dari algoritma ini antara lain:

  • Tidak cerdas karena dalam penyelesaiannya membutuhkan langkah yang besar. Bahkan kadang disebut algoritma naïf.
  • Jarang disukai karena sisi tidak mangkusnya. Meski begitu, algoritma ini kadang akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus.
  • Algoritma ini lebih mudah diimplementasikan pada algoritma yang lebih canggih.

2. Algoritma Recursive

Algoritma ini merupakan metode pemecahan yang solusinya adalah memecahkan kasus yang lebih kecil sehingga masalah terpecahkan setelah dibuat sub-masalah hingga semakin mengecil dan tercapailah kasus dasar yang menjadi solusi penentuan masalah. Nantinya, beberapa sub masalah kecil tersebut digabungkan untuk menyelesaikan masalah awal.

Namun, ketika mengaplikasikan algoritma ini, kamu perlu memperhatikan beberapa hal. Pertama, hindari jika terjadi fungsi recursive yang tumpang tindih sehingga mengarah ke kompleksitas eksponensial. Sedang yang kedua, ingat, pengulangan kode bisa dicapai dengan rekursi.

3. Algoritma Randomized

Algoritma ini juga disebut algoritma acak, di mana algoritma ini menggunakan keacakan dalam pemecahan masalah. Algoritma ini didesain untuk menghasilkan solusi acak yang dekat dengan solusi optimal meski belum tentu dapat menemukan solusi optimal yang diharapkan. Salah satu contoh algoritma ini adalah pemanfaatan nomor random yang keluar ketika penentuan pivot.

4. Algoritma Sorting

Pada algoritma ini, elemen ditempatkan pada urutan numerikal dan lexicographical. Sangat sesuai dengan namanya. Artinya jenis logika yang digunakan berdasarkan dari urutan tertentu. Misal dari A ke Z, atau dari angka kecil ke besar. Jenis algoritma sorting sangat efisien dalam optimalisasi penggunaan algoritma lain. Jenis ini sering dimanfaatkan untuk kanonikalisasi data dalam menghasilkan output yang dapat dibaca pengguna.

Contoh penggunaan algoritma sorting adalah insertion sort, bubble sort, merge sort, dan sebagainya.

5. Algoritma Searching

Algoritma searching mengambil informasi yang tersimpan dalam suatu struktur data melalui nilai kontinu atau diskrit. Sesuai namanya, algoritma ini akan mencari data berdasarkan query yang spesifik baik pada data yang telah disortir atau belum.

Algoritma ini merupakan metode mendasar dalam operasi komputasi. Algoritma Searching yang tepat dapat menentukan apakah aplikasi berjalan cepat atau lambat. Contoh dari algoritma ini adalah pencarian angka biner atau linier.

6. Algoritma Hashing

Algoritma Hashing merupakan program satu arah, di mana programmer lain tidak dapat mengacak dan mengkodekan. Hashing melindungi data di mana tidak ada yang bisa mengakses server meski ada yang mendapatkan akses tersebut. Hanya programmer yang dapat menyelesaikan penyesuaian atau pengubahan data.

 

Tidak ada komentar:

Posting Komentar

MACAM MACAM JARINGAN KOMPUTER

 LAN,MAN, WAN, INTERNET