Pengertian Algoritma: Fungsi, Ciri-Ciri, Macam-Macam, dan Contoh Algoritma

Ketika membaca atau mendengar kata “algoritma”, sebagian besar dari kita akan beranggapan bahwa kata tersebut berhubungan dengan bahasa pemrograman, ilmu komputer, atau matematika. Ya itu benar, tetapi sebenarnya apa pengertian algoritma itu?

Artikel ini akan membahas secara lengkap topik seputar algoritma, di antaranya:

  • Penjelasan apa itu algoritma, baik pengertiannya secara umum maupun menurut beberapa ahli.
  • Ciri-ciri algoritma secara umum.
  • Fungsi dan manfaat algoritma.
  • Jenis-jenis algoritma.
  • Contoh algoritma dalam kehidupan sehari-hari.

Yuk, simak artikel ini sampai akhir agar kamu lebih paham.

Pengertian Algoritma

Apa itu algoritma (algorithm)? Secara umum, pengertian algoritma adalah suatu urutan dari beberapa langkah logis dan sistematis yang kita gunakan untuk menyelesaikan masalah tertentu.

Pendapat lain mengatakan definisi algoritma adalah proses atau serangkaian aturan yang harus kita ikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh komputer.

Dengan kata lain, semua susunan logis yang berurutan berdasarkan sistematika tertentu dan kita gunakan untuk memecahkan suatu masalah dapat kita sebut dengan algoritma.

Biasanya algoritma kita gunakan untuk melakukan penghitungan, penalaran otomatis, serta mengolah data pada komputer dengan menggunakan software.

Dalam algoritma terdapat rangkaian terbatas dari beberapa intruksi untuk menghitung suatu fungsi yang jika tereksekusi dan terproses akan menghasilkan output, lalu berhenti pada kondisi akhir yang sudah kita tentukan.

Berikut ini tiga bentuk dasar algoritma:

  • Algoritma Sekuensial (Sequence Algorithm); yaitu sebuah perintah yang dapat tersusun dengan sistematis dan berurutan yang nantinya muncul beberapa instruksi.
  • Algoritma Perulangan (Looping Algorithm); yaitu sebuah perintah yang dapat digunakan untuk mengulang beberapa banyak perintah dengan memperhitungkan syarat-syarat tertentu.
  • Conditional Algorithm (Algoritma Percabangan atau Bersyarat) ; yaitu suatu perintah yang dapat digunakan untuk memilih salah satu dari beberapa pilihan yang ada.

Baca juga: Pengertian Komputer

Pengertian Algoritma Menurut Para Ahli

Agar lebih memahami apa itu algoritma, maka kita dapat merujuk pada pendapat para ahli berikut ini:

1. Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi

Menurut Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi  (ahli matematika dari Uzbekistan), pengertian algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan permasalahan.

2. Donald Ervin Knuth

Menurut Donald Ervin Knuth, definisi algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu masalah tertentu.

3. S. E. Goodman dan S.T. Hedetniemi

Menurut Goodman dan Hedetniemi, pengertian algoritma adalah urutan terbatas dari operasi-operasi yang terdefinisi dengan baik, dimana masing-masing membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu masalah.

4. Seymour Lipschutz dan Marc Lipson

Menurut Seymour Lipschutz dan Marc Lipson (praktisi matematika dan komputer), pengertian algoritma adalah suatu daftar langkah demi langkah yang terhingga dari intruksi-intruksi yang terdefinisikan dengan jelas yang digunakan untuk memecahkan permasalahan tertentu.

5. Marvin Minsky

Menurut Marvin Minsky (pakar Artificial Intelligence), pengertian algoritma adalah seperangkat aturan yang memberitahukan kepada kita dari waktu ke waktu, tepatnya bagaimana untuk bertindak.

6. Andrey Andreyevich Markov

Menurut Andrey Andreyevich Markov (ahli matematika dari Rusia), pengertian algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang diinginkan.

Baca juga: Pengertian Software

Ciri-Ciri Algoritma

Ciri-Ciri Algoritma

Algoritma memiliki lima ciri utama yang saling berhubungan satu dengan lainnya. Menurut Donald E. Knuth, adapun ciri-ciri algoritma adalah sebagai berikut:

  1. Ada Input, yaitu permasalahan yang dihadapi dan akan dicarikan solusinya. Algoritma memiliki nilai nol atau lebih input (masukan).
  2. Ada Proses, yaitu langkah-langkah yang harus dilakukan untuk mencapai tujuan akhir.
  3. Ada Output, yaitu solusi atau tampilan akhir yang didapatkan dari suatu algoritma. Algoritma memiliki minimal satu output.
  4. Ada intruksi-intruksi yang jelas dan tidak ambigu, yaitu instrukti yang jelas dalam algoritma sehingga tidak terjadi kesalahan dalam menghasilkan output.
  5. Ada tujuan akhir yang dicapai, yaitu akhir dari program dimana program akan berhenti ketika tujuan akhir telah tercapai.

Baca juga: Pengertian Teknologi

Fungsi Algoritma Secara Umum

Manfaat Algoritma Adalah

Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Lebih jelasnya, adapun beberapa fungsi dan manfaat algoritma adalah sebagai berikut:

  • Untuk membantu menyederhanakan suatu program yang rumit dan besar.
  • Untuk memudahkan dalam membuat sebuah program untuk masalah tertentu.
  • Algoritma dapat kita gunakan berkali-kali untuk menyelesaikan suatu permasalahan.
  • Membantu memecahkan suatu permasalahan dengan logika dan sistematis.
  • Untuk meminimalisir penulisan program secara berulang-ulang.
  • Agar dapat melakukan pendekatan top-down dan divide and conquer.
  • Untuk memudahkan membuat program yang lebih rapih dan terstruktur sehingga lebih mudah kalian pahami dan kembangkan.
  • Memudahkan proses modifikasi pada program karena bisa kita lakukan hanya pada satu modul tanpa harus mengubah modul lainnya.
  • Ketika terjadi kesalahan, algoritma dapat membantu menemukannya karena alur kerja yang jelas.
  • Memudahkan proses dokumentasi.

Baca juga: Teknologi Informasi

Macam-Macam Algoritma

Pengertian Algoritma Adalah

Sebenarnya ada berapa banyak jenis algoritma? Menurut Dr. Christoph Koutschan, seorang ahli matematika dan komputer asal Jerman, ada 32 algoritma penting dalam ilmu komputer.

Namun berdasarkan fungsinya, terdapat enam jenis algoritma dasar, yaitu:

1. Algoritma Rekursi

Algoritma rekursi (Recursive Algorithm) adalah algoritma yang memanggil dirinya sendiri secara berulang-ulang hingga masalah terpecahkan.

Sebagai contoh, berikut adalah kode yang menemukan faktorial dengan menggunakan Algoritma rekursi:

Fact(y)

If y is 0

return 1

return (y*Fact(y-1)) /* this is where the recursion happens*/

2. Algoritma Divide and Conquer

Algoritma divide and conquer adalah algoritma yang membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Secara umum, Algoritma ini terdiri dari dua bagian, yaitu;

  • Memecah masalah menjadi beberapa sub-masalah independen yang lebih kecil dari jenis yang sama.
  • Menemukan solusi akhir dari masalah asli setelah menyelesaikan masalah yang lebih kecil ini secara terpisah.

Menggabungkan pengurutan dan pengurutan cepat dapat dilakukan dengan algoritma divide and conquer. Berikut adalah contoh kode semu dari algoritma ini:

MergeSorting(ar[], l,  r)

If r > l

1. Find the mid-point to divide the given array into two halves:

middle m = (l+r)/2

2. Call mergeSorting for the first half:

Call mergeSorting(ar, l, m)

3. Call mergeSorting for the second half:

Call mergeSorting(ar, m+1, r)

4. Merge the halves sorted in step 2 and 3:

Call merge(ar, l, m, r)

Baca juga : 10+ Contoh Daftar Riwayat Hidup (CV) Lamaran Kerja yang Menarik dan Kreatif

3. Algoritma Dynamic Programming

Algoritma ini bekerja dengan mengingat hasil dari proses yang lalu dan menggunakannya untuk menemukan hasil baru. Dengan kata lain, algoritma pemrograman dinamis memecahkan masalah kompleks dengan memecahnya menjadi beberapa sub masalah sederhana dan kemudian memecahkannya masing-masing satu kali dan kemudian menyimpannya untuk digunakan di masa mendatang.

Urutan Fibonacci adalah salah satu contoh algoritma Pemrograman Dinamis, berikut contohnya dalam kode semu:

Fibonacci(N) = 0 (for n=0)

= 0 (for n=1)

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

4. Algoritma Greedy

Algoritma ini kita gunakan untuk menyelesaikan masalah optimisasi. Dalam algoritma ini, kita akan menemukan solusi optimal secara lokal (tanpa memperhatikan konsekuensi apa pun di masa mendatang) dan berharap menemukan solusi optimal di tingkat global.

Metode ini tidak menjamin bahwa kita akan dapat menemukan solusi yang optimal.

Algoritma ini memiliki 5 komponen:

  • Kumpulan kandidat yang kita coba cari solusinya.
  • Fungsi pemilihan yang membantu memilih kandidat terbaik.
  • Fungsi kelayakan yang membantu dalam menentukan apakah kandidat dapat kita gunakan untuk menemukan solusi.
  • Fungsi obyektif yang memberikan nilai pada solusi yang mungkin atau solusi parsial.
  • Fungsi solusi yang memberi tahu kapan kita telah menemukan solusi untuk masalah tersebut.

5. Algoritma Brute Force

Ini merupakan salah satu algortima yang memiliki konsep yang paling sederhana. Algoritma brute force akan mengiterasi semua solusi yang mungkin untuk mencari satu atau lebih dari satu solusi yang dapat menyelesaikan suatu masalah.

Berikut adalah contoh pencarian Sekuensial yang kita lakukan dengan menggunakan brute force:

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

A[n] ← X

i ← 0

While A [i] ≠ X do

i ← i + 1

if i < n return i

else return -1

6. Algoritma Backtracking

Algoritma Backtracking adalah teknik untuk memecahkan masalah secara rekursif dan mencoba untuk mendapatkan solusi untuk masalah dengan menyelesaikan satu bagian masalah pada saat yang bersamaan. Jika salah satu solusi gagal, kita menghapusnya dan mundur untuk menemukan solusi lain.

Dengan kata lain, algoritma backtracking memecahkan sub masalah dan jika gagal memecahkan masalah, algortima ini membatalkan langkah terakhir dan mulai lagi untuk menemukan solusi untuk masalah tersebut.

Baca juga: Pengertian Internet

Contoh Algoritma

Pada dasarnya algoritma tidak hanya dalam ilmu komputer dan matematika saja, tetapi dapat juga terdapat dalam berbagai kegiatan manusia sehari-hari.

Berikut ini adalah beberapa contoh algoritma:

1. Menentukan Bilangan Ganjil atau Genap

Contoh algoritma menentukan bilangan ganjil atau genap:

  • Masukkan sebuah bilangan bulat.
  • Bagi bilangan tersebut dengan angka 2.
  • Jika bilangan tersebut habis kita bagi dengan 2 maka bilangan tersebut genap.
  • Jika bilangan tersebut tidak habis kita bagi dengan 2 (terdapat sisa 1) maka bilangan tersebut ganjil.

Flowchart menentukan bilangan ganjil atau genap;

3. Membuat Kopi Instan

Contoh algortima membuat kopi instan

  • Buka kemasan kopi sachet.
  • Tuangkan kopi ke dalam gelas.
  • Siapkan air panas.
  • Tuangkan air panas ke dalam gelas berisi kopi.
  • Aduk kopi hingga merata.
  • Kopi instan siap untuk diminum.

Flowchart membuat kopi instan;

Contoh Algoritma

4. Mengirim SMS

Contoh algoritma mengirim SMS

  • Buka menu SMS pada ponsel
  • Pilih kontak/ nomor telepon
  • Ketik pesan yang akan dikirim
  • Tekan tombol kirim
  • SMS akan terkirim

Flowchart mengirim SMS

Diagram Alur

2. Masak Mie Instan

Contoh algoritma memasak mie instan:

  • Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkuk, sendok dan garpu.
  • Masukkan air ke dalam panci.
  • Masak air di atas kompor dengan api sedang.
  • Biarkan hingga air mendidih.
  • Masukkan mie instan ke dalam air mendidih.
  • Aduk perlahan hingga 3 menit.
  • Jika mie sudah matang masukkan bumbu.
  • Aduk mie hingga bumbu merata.
  • Sajikan mie instan.

Baca juga: Cara Menghitung Persen

Kesimpulan

Mengacu pada penjelasan di atas maka dapat kita simpulkan bahwa algoritma adalah prosedur untuk menyelesaikan suatu masalah, baik itu dalam ilmu matematika, ilmu komputer, bahkan masalah kehidupan manusia sehari-hari.

Algoritma mencakup perhitungan, penalaran, dan pemrosesan data yang dapat kita sajikan dalam bahasa alami, kode, diagram alur (flowchart), dan lain-lain.

Dan dari contoh algoritma di atas kita dapat memahami bahwa suatu algoritma dapat kita ekspresikan dan analisis melalui diagram alur (flowchart).

Demikianlah penjelasan ringkas mengenai pengertian algoritma, ciri-ciri, fungsi, klasfifikasi, dan contoh algoritma. Semoga artikel ini bermanfaat dan menambah wawasan kamu.

3 thoughts on “Pengertian Algoritma: Fungsi, Ciri-Ciri, Macam-Macam, dan Contoh Algoritma”

  1. Penjelasan dan pemaparan yang jelas dan terstruktur, ya mirip algorima juga.
    terima kasih, dan terus berbagi, apapun ilmu bermanfaat yang kita punya.
    good jobs.

    Reply

Leave a Comment