Algoritma Adalah: Fungsi, Sifat, Contoh dan Jenisnya

Cahaya Bintang April 17, 2024

Dalam matematika dan ilmu komputer, sebuah algoritma (penyerapan dari bahasa Belanda: algoritma) adalah sekumpulan instruksi kompleks yang terbatas, biasanya digunakan untuk memecahkan atau melakukan kelas pemecahan masalah tertentu. Algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan pengolahan data.

Algoritme yang lebih maju dapat melakukan pengurangan otomatis (disebut sebagai penalaran otomatis) dan menggunakan tes matematika dan logis untuk mengarahkan eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan otomatis). Penggunaan fitur manusia sebagai deskriptor mesin metaforis telah dipraktikkan oleh Alan Turing dengan terminologi seperti memori, pencarian, dan stimulus.

Sebagai metode yang efektif, algoritme dapat diekspresikan dalam ruang dan waktu terbatas, dan dalam bahasa formal yang terdefinisi dengan baik untuk menghitung suatu fungsi. Mulai dari keadaan awal dan masukan awal (bisa kosong), instruksi menjelaskan pemrosesan yang, ketika dieksekusi, melewati sejumlah keadaan yang terdefinisi dengan baik, akhirnya menghasilkan keluaran dan diakhiri dengan keadaan akhir.

Pengertian Dari Algoritma

Algoritma adalah urutan langkah-langkah logis yang digunakan untuk memecahkan suatu masalah. Untuk memahami lebih dalam apa itu algoritma, sebaiknya kita lihat dulu beberapa sumber di bawah ini. Pertama, menurut praktisi matematika dan komputer Seymour Lipschutz dan Marc Lipson, gagasan tentang algoritme adalah daftar langkah demi langkah terbatas dari instruksi yang didefinisikan dengan jelas yang digunakan untuk memecahkan masalah tertentu.

Kedua, menurut Bitlabs, algoritma adalah perintah yang diarahkan pada komputer agar dapat menyelesaikan tugasnya sendiri. Instruksi ini harus ditulis secara khusus agar tugas dapat diselesaikan dengan benar, mulai dari istilah yang digunakan hingga langkah-langkahnya.

Ketiga, bersumber dari Tech Target, algoritma adalah prosedur atau formula untuk memecahkan suatu masalah, yang dilakukan dengan urutan tertentu. Program komputer dapat dilihat sebagai algoritma yang kompleks. Dalam matematika dan ilmu komputer, algoritme biasanya berarti prosedur kecil yang memecahkan masalah berulang.

Dari ketiga sumber di atas dapat disimpulkan bahwa algoritma adalah semua susunan logis yang diurutkan menurut sistematika tertentu dan digunakan untuk menyelesaikan suatu masalah.

Baca juga: Pengertian Startup Menurut Para Ahli dan Contohnya

Berikut ini Fungsi Algoritma yang Harus di Pahami

Berikut ini Fungsi Algoritma yang Harus di Pahami

Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Algoritma pemrograman membawa manfaat dan fungsi penting dalam kegiatan pemrograman. Algoritma umumnya digunakan untuk membantu siapa saja yang ingin mengubah suatu masalah menjadi bahasa pemrograman.

Dari fungsi tersebut, algoritme merupakan hasil pemikiran konseptual agar perintah-perintah dalam algoritme dapat dijalankan oleh komputer melalui bahasa pemrograman. Beberapa hal yang perlu kamu ketahui tentang fungsi algoritma adalah sebagai berikut:

  • Membantu memecahkan suatu masalah secara logis dan sistematis.
  • Memudahkan pembuatan program untuk memecahkan masalah tertentu.
  • Ini dapat digunakan berkali-kali untuk memecahkan masalah.
  • Membuat program yang kompleks dan besar menjadi sederhana.
  • Selesaikan masalah yang ada secara berurutan.
  • Memecahkan program kompleks yang memungkinkan komputasi tingkat tinggi.
  • Gunakan berulang kali atau lebih dari sekali.
  • Kemudahan pelacakan kesalahan karena alur kerja yang jelas.
  • Memudahkan untuk memodifikasi program tanpa harus mengubah dan mengganggu modul lain.
  • Memudahkan pembuatan program yang lebih rapi dan terstruktur sehingga lebih mudah dipahami dan dikembangkan.

Beberapa Sifat Algoritma dan Struktur Penulisannya

Beberapa Sifat Algoritma dan Struktur Penulisannya

Algoritma terdiri dari lima karakteristik utama yang saling terkait satu sama lain. Menurut Donald E. Knuth, lima karakteristik algoritma adalah sebagai berikut:

  • Ada input yaitu masalah yang dihadapi dan dicarikan solusinya nanti. Algoritma ini memiliki nilai input nol atau lebih.
  • Ada proses, yaitu tahapan-tahapan yang harus dilakukan untuk mencapai tujuan akhir
  • Adanya output yaitu solusi atau tampilan akhir yang dapat diperoleh dari suatu algoritma yang minimal memiliki satu output.
  • Adanya instruksi yang jelas, yaitu instruksi yang jelas dalam suatu algoritma agar nantinya tidak terjadi kesalahan pada saat menghasilkan keluaran tertentu.
  • Ada tujuan akhir yang sangat ingin dicapai yaitu akhir dari suatu program dimana program akan berhenti ketika telah berhasil mencapai tujuan akhirnya.

Inilah 6 Jenis Algoritma Beserta Contohnya yang Bisa Kamu Pahami

Inilah 6 Jenis Algoritma Beserta Contohnya yang Bisa Kamu Pahami

Seorang ahli matematika dan komputer bernama Dr. Christoph Koutschan mengatakan setidaknya ada 32 algoritma dalam ilmu komputer. Namun jika dilihat dari fungsinya, hanya ada enam algoritma dasar, yaitu:

Baca juga: Cara Cek Nomor Indosat Ooredoo 2023 (Aktif atau Tidak)

1. Rekursi

Algoritma rekursi adalah sesuatu yang akan memanggil dirinya berulang kali agar masalah dapat diselesaikan dengan baik. Berikut adalah beberapa kode yang dapat menemukan faktorial menggunakan algoritma rekursi.

Fakta(y)

Jika y adalah 0

kembali 1

return (yFact(y-1)) / disinilah rekursi terjadi*/

2. Divide and Conquer

Divide and Conquer membagi masalah besar menjadi masalah yang lebih kecil. Algoritma jenis ini sendiri sebenarnya terdiri dari dua bagian utama, yaitu:

  • Memecah masalah menjadi sub-masalah yang lebih independen dan lebih kecil dari yang lain dari jenis yang sama.
  • Memecahkan masalah awal setelah sebelumnya dapat memecahkan masalah yang lebih kecil secara terpisah.

Berikut adalah contoh pseudo code dari algoritma Divide and Conquer:

MergeSorting(ar[], l, r)

Jika r > l

Temukan titik tengah untuk membagi larik yang diberikan menjadi dua bagian:
m tengah = (l+r)/2

MergeSorting untuk paruh pertama:
PenggabunganSorting(ar, l, m)

MergeSorting untuk babak kedua:
PenggabunganSorting(ar, m+1, r)

Gabungkan bagian-bagian yang diurutkan dalam langkah 2 dan 3:
Penggabungan panggilan (ar, l, m, r)

3. Pemrograman Dinamis

Pemrograman Dinamis ini akan bekerja dengan mengingat hasil kemajuan sebelumnya dan juga menggunakannya untuk menemukan hasil baru. Artinya, pemrograman dinamis akan menyelesaikan masalah yang kompleks dengan memecahnya menjadi sub-masalah sederhana dan kemudian menyelesaikannya satu kali sehingga dapat digunakan di masa mendatang. Salah satu contoh pemrograman dinamis adalah deret Fibonacci, berikut contohnya:

Fibonacci(N) = 0 (untuk n=0)

= 0 (untuk n=1)

= Fibonacci(N-1)+Finacci(N-2)

4. Greedy

Tipe ini dapat digunakan untuk menyelesaikan masalah optimasi. Pada algoritma ini, kita akan menemukan solusi yang lebih optimal secara lokal tanpa harus menimbulkan konsekuensi apapun yang akan terjadi di masa depan dan dapat menemukan solusi yang lebih optimal di tingkat global. Namun, cara ini tidak menjamin kamuakan mendapatkan solusi yang optimal. Ada lima komponen yang terdapat dalam algoritma ini, yaitu:

  • Kumpulan kandidat yang akan dicari solusinya nanti.
  • Fungsi seleksi nantinya akan membantu memilih kandidat terbaik.
  • Fungsi kelayakan yang dapat membantu kamu menentukan kandidat yang dapat digunakan untuk menemukan solusi.
  • Fungsi tujuan mampu menetapkan nilai untuk solusi yang mungkin atau solusi parsial.
  • Fungsi solusi dapat memberi kamu tentang waktu untuk menemukan solusi untuk masalah tersebut.

5. Brute Force

Konsep algoritma ini sebenarnya sangat sederhana. Dalam prosesnya, brute force akan mengintegrasikan semua kemungkinan solusi untuk menemukan satu atau lebih dari satu solusi yang dapat menjawab suatu masalah. Contoh pencarian berurutan yang dilakukan dengan menggunakan brute force adalah sebagai berikut:

Algoritma S_Search (A[0..n], X)

A[n] ← X

saya ← 0

Sedangkan A[i] ≠ X do

saya ← saya + 1

jika saya <n kembalikan saya

yang lain mengembalikan -1

6. Algoritma Backtracking

Backtracking adalah teknik yang mampu menyelesaikan berbagai masalah secara rekursif dan mencoba mendapatkan solusi dengan memecahkan sebagian masalah secara bersamaan.

Jika salah satu solusi gagal, maka kami dapat menghapusnya dan mundur sehingga kami dapat menemukan solusi lain. Artinya, algoritme ini akan menyelesaikan sub-masalah dan jika gagal, maka algoritme ini akan membatalkan langkah terakhir dan mulai lagi mencari solusi dari masalah tersebut.

Baca juga: Download Nada Dering iPhone Untuk Pesan WA (Gratis)

Artikel Terkait