fbpx

Daftar Cloud Depa by Dewabiz - Dapatkan Saldo Gratis Secara Cuma Cuma!

Pengetahuan

Algoritma: Pengertian, Fungsi, Ciri-Ciri, Jenis-Jenis, dan Contohnya

dewabiz

Terdapat banyak istilah yang digunakan dalam dunia komputasi seperti AI, cloud, quantum computing, machine learning dan banyak lagi diantaranya. Selain beberapa kata tadi, ada satu kata juga yang tak kalah terkenal, yaitu algoritma. 

Lantas, apa itu algoritma? Apa itu algoritma pemrograman? Apa fungsi dan perbedaannya dengan program? Poin-poin yang akan kita bahas di bawah ini akan mengulas lebih detail tentang pengertian, fungsi, ciri, sampai contoh sebuah algoritma.

Jadi simak baik-baik dan siapkan buku catatan kalian untuk menulis hal-hal yang menurut kalian penting, ya!

person using macbook pro
Photo by Lukas on Pexels.com

Apa Itu Algoritma?

Algoritma adalah sebuah urutan dari beberapa tahapan yang sistematis dan masuk akal dengan tujuan untuk menyelesaikan masalah tertentu.  Algoritma biasanya dipakai untuk membantu setiap pengguna yang ingin mengkonversikan suatu permasalahan ke bahasa pemrograman.  Suatu algoritma membawa keuntungan dan fungsi penting pada pembuatan aktivitas pembuatan program. Dari fungsinya ini, algoritma adalah hasil dari buah pikir yang terkonsep sehingga perintah dalam algoritma bisa dijalankan oleh komputer sesuai bahasa pemrograman. 

Terlepas dari fungsinya, dikutip dari Pendidikanpedia, algoritma sendiri terbentuk dari 3 dasar utama, yakni:

  • Algoritma sekuensial, yaitu sebuah perintah yang bisa terbentuk secara sistematis dan berurutan yang bertujuan agar dapat menampilkan beberapa instruksi khusus.
  • Algoritma perulangan atau looping algorithm, adalah sebuah instruksi yang bisa dipakai untuk mengulang beberapa banyaknya instruksi dengan cara memperhitungkan syarat-syarat khusus.
  • Algoritma percabangan, merupakan sebuah instruksi yang berguna untuk memilih salah satu dari pilihan yang telah ada. 

Pengertian Algoritma Menurut Para Ahli 

  1. Donald Ervin Knuth 

Berdasarkan Donald Ervin Knuth, Algoritma merupakan sebaris aturan khusus berhingga yang dapat memberikan jejeran operasi supaya dapat menyelesaikan sebuah masalah khusus. 

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

Beliau merupakan pakar matematika yang berasal dari Uzbekistan. Menerangkan bahwa algoritma adalah suatu cara khusus yang bisa digunakan supaya bisa menyelesaikan masalah tertentu.

  1. S.E.Goodman dan S.T.Hedetniemi

Goodman dan Hedetniemi menggagas bahwa algoritma merupakan urutan terbatas dari berbagai operasi yang terdefinisi dengan baik. Yang dimana setiap hal tersebut membutuhkan memori juga waktu yang sedikit agar bisa menyelesaikan sebuah masalah tertentu. 

  1. Marvin Minsky

Pakar Artificial Intelligence (AI) ini menjelaskan bahwa algoritma merupakan sebuah perangkat yang berbentuk aturan yang dapat memberi informasi kepada kita secara bertahap dari waktu ke waktu dan informasi yang diberikan pun adalah cara untuk bertindak.

  1. Sismoro

Sismoro berpendapat bahwa algoritma adalah sekumpulan instruksi atau langkah-langkah yang sudah tertulis secara sistematis dan dipakai untuk menyelesaikan suatu persoalan bahkan persoalan matematika juga logika dengan bantuan komputer.

Fungsi Algoritma 

Fungsi dasar dari algoritma tidak lain dan tidak bukan yakni mampu memecahkan sebuah masalah. Namun bukan hanya itu, masih banyak lagi fungsi dan manfaat lain dari algoritma ini, di antaranya:

  • Bisa dipakai secara berulang dalam memecahkan suatu masalah. 
  • Mempermudah membuat program yang bisa memecahkan masalah khusus. 
  • Membantu dan menyederhanakan suatu program yang rumit dalam skala yang juga besar
  • Memecahkan sebuah masalah dengan logika dan sistematis
  • Dapat meminimalisir penulisan program secara berulang-ulang
  • Mempermudah pembuatan program secara rapi dan terstruktur 
  • Dapat melakukan pendekatan top-down dan divide and conquer
  • Mempermudah menemukan kesalahan sebab memiliki jalur kerja yang jelas
  • Mempermudah semua proses dokumentasi
  • Memudahkan proses modifikasi pada suatu program sebab bisa dilakukan hanya dengan satu modul saja tanpa merubah modul yang lainnya lagi. 

Ciri-Ciri Algoritma 

Semua macam metode pasti memiliki ciri-ciri, algoritma merupakan salah satu diantaranya. Sesuai dengan yang dikatakan Donald E. Knuth, algoritma memiliki beberapa ciri, yakni:

  1. Memiliki Input

Diwajibkan memiliki input yang berarti setiap masalah yang dihadapi kedepannya harus memiliki solusi bertujuan agar masalah dapat diselesaikan dengan baik. Pada algoritma, minimal memiliki dari nilai 0 atau memiliki nilai lebih. 

  1. Memiliki Output

Memiliki output yang artinya dapat dikatakan sebagai sebuah solusi dari suatu permasalahan yang sering sekali dihadapi. Pada algoritma, minimal harus memiliki 1 output atau lebih.  

  1. Jelas Prosesnya 

Algoritma diharuskan memiliki sebuah proses atau sekumpulan langkah-langkah yang harus dijalankan supaya dapat menyelesaikan masalah atau mencapai tujuan akhir. 

  1. Memiliki Instruksi yang Jelas

Algoritma akan baik-baik saja selama diberi instruksi yang jelas, agar sebuah kesalahan dapat diminimalisir dan bisa menciptakan output yang baik.

  1. Adanya Tujuan Akhir

Sepertinya sudah tidak aneh lagi jika algoritma memiliki tujuan akhir. Dengan adanya tujuan akhir, kita akan berhenti setelah mencapai tujuan akhir. 

Jenis-Jenis Algoritma

Pakar komputer dan matematika bernama Dr. Christoph Koutschan beranggapan bahwa terdapat setidaknya 32 algoritma pada ilmu komputer. Namun kita lihat berdasarkan fungsinya, hanya terdapat enam algoritma dasar, diantaranya adalah:

  1. Divide and Conquer

Divide and conquer bekerja membagi permasalahan yang besar menjadi permasalahan lain yang lebih kecil.  Jenis algoritma ini sendiri sebenarnya terdiri dari dua bagian utama, yakni: 

  • Memecahkan masalah pada beberapa sub masalah yang lebih independen dan lebih kecil dari jenis lainnya yang sama. 
  • Memecahkan masalah asli yang sebelumnya mampu memecahkankan masalah yang lebih kecil secara terpisah.

Berikut ini merupakan contoh kode semu dari algoritma divide and conquer:

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

  1. Call mergeSorting for the first half:

Call mergeSorting(ar, l, m)

  1. Call mergeSorting for the second half:

Call mergeSorting(ar, m+1, r)

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

Call merge(ar, l, m, r)

  1. Algoritma Backtracking

Backtracking merupakan sebuah teknik yang dapat menyelesaikan berbagai masalah secara rekursif dan mencobanya agar dapat mendapatkan solusi dengan cara memecahkan sebuah bagian masalah di waktu yang sama. 

Jika salah satu solusi ternyata gagal, maka kita bisa menghapusnya dan mundur supaya bisa mendapatkan solusi lain. 

Yang berarti, algoritma ini akan menyelesaikan sub masalah dan bila gagal maka algoritma ini akan membatalkan langkah terakhir dan mulai lagi supaya cepat menemukan solusi atas permasalahan tersebut. 

  1. Brute Force 

Konsep algoritma ini sebetulnya sangat sederhana. Pada prosesnya, brute force akan melakukan integrasi pada semua solusi yang mungkin untuk mencari satu hingga lebih dari satu solusi yang mampu menjawab sebuah masalah. 

Contoh pencarian sekuensial yang dikerjakan dengan memakai brute force yakni sebagai berikut:

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

  1.  Dynamic Programing 

Dynamic programing ini bekerja dengan mengingat hasil dari sebuah progres lama lalu memakainya agar dapat menemukan hasil yang baru. 

Yang berarti, program dinamis akan menyelesaikan masalah kompleks dengan cara memecahkannya menjadi beberapa sub masalah yang sederhana yang kemudian diselesaikan secara masing-masing sebanyak satu kali agar nantinya bisa disimpan untuk masa depan. 

Salah satu contoh dynamic programming yakni urutan fibonacci, berikut contohnya:

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

= 0 (for n=1)

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

  1. Greedy

Jenis yang dipakai untuk memecahkan masalah optimasi. Tanpa perlu memperhatikan konsekuensi yang akan terjadi nantinya, pada algoritma ini kita dapat mendapat solusi yang lebih optimal secara lokal. 

Tapi, metode ini juga tidak dapat menjamin untuk bisa mendapat solusi yang optimal. 

  1. Rekursi 

Algoritma rekursi merupakan suatu yang akan memanggil dirinya sendiri secara berulang-ulang supaya masalah yang diselesaikan bisa berjalan dengan baik. 

Berikut ini adalah kode-kode yang mampu menemukan faktorial dengan memakai algoritma rekursi. 

Fact(y)

If y is 0

return 1

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

Contoh Algoritma 

Menghitung Luas Segitiga

Algoritma menghitung luas segitiga 

Analisis: 

  • Input : a (alas) dan t (tinggi)
  • Luas Segitiga = a*t/2

Algoritma :

  • tulis nilai alas (a) juga nilai tinggi segitiga (t)
  • Lalu untuk menghitung luas menggunakan rumus alas dengan tinggi yang telah ditetapkan 
  • Rumus untuk menghitung Luas Segitiga yaitu L = 1/2*a*t
  • Nilai L (Luas) akan dicetak sebagai output ke perangkat output (keluaran)

Cara Memasak Mie Instan

Algoritma Memasak Mie Instan

  • Rebus air hingga mendidih
  • Buka bungkus mie instan lalu masukkan mie instan ke dalam air yang mendidih
  • Tunggu hingga mie sedikit layu
  • Jika sudah layu, lalu saring mie untuk membuang airnya
  • Simpan mie di atas piring yang bersih
  • Taburkan bumbu mie instan di atas mie
  • Aduk hingga merata
  • Mie siap disantap

Nah bagaimana? Cukup jelas bukan penjelasan kami tentang algoritma kali ini? Memang agak sedikit menguras otak namun konten kali ini merupakan konten yang dapat dikatakan menarik tentang apa itu algoritma.

Cukup sekian yang dapat kami sampaikan, jika ada pertanyaan atau kritik dan saran bisa kamu tinggalkan di kolom komentar ya! Sampai jumpa di kesempatan berikutnya.

[adv]

Baca Juga