Apa Itu Algoritma

Algoritma bisa diartikan sebagai suatu langkah-langkah yang dibuat untuk menyelesaikan sebuah permasalahan. Meskipun algoritma sering berkaitan dengan pembuatan sebuah program komputer, nyatanya algoritma bisa di implementasikan dalam semua bidang kehidupan.

Jadi bisa disimpulan bahwa algoritma adalah urutan langkah-langkah untum memecahkan sebuah masalah dari awal sampai akhir. Sehingga kita bisa memiliki sebuah aturan dan gambaran jelas dalam menyelesaikan masalah tersebut.

Jika kalian masih bingung, kita cari contoh sebuah contoh algoritma dalam kehidupan sehari hari.

Misalnya kita punya sebuah masalah “Bagaimana algortima membuat kopi?”

Maka algoritmanya adalah:

  1. Panasakan air sampai suhu 80 C
  2. Masukkan 1 sendok teh kopi ke cangkir.
  3. Masukkan 1 sendok teh gula ke cangkir.
  4. Jika air udah panas, tuangkan air ke dalam cangkir.
  5. Kopi siap disajikan.

Sudah mengerti maksud dari algoritma? Itulah contoh algoritma dalam kehidupan sehari-hari. Terkadang kita tidak sadar karena hal tersebut sudah menjadi kebiasaan.

Sejarah Alogritma

Lalu bagiamana dengan sejarah algoritma?

Algoritma berasal dari kata algorism yang artinya proses menghitung dalam bahasa arab. Asal kata algoritma ini memili sejarah yang cukup panjang dan berliku-liku.

Para ahli sejarah matematika menemukan asal kata alogrism berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.

Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction).

Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra).

Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm.

Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

Algoritma Dalam Pemrograman

Algoritma dalam pemrograman dapat didefiniskan sebagai urutan langkah-langkah penyelesaian masalah dengan sistematis dan logis.

Ada beberapa pertimbangan algoritma yang bagus yaitu:

  1. Logis artinya langkah-langkah itu harus benar dan mampu memberikan output yang sesuai dengan beberapa input dari sebuah program.

  2. Valid, artinya algoritma itu harus mampu memberikan hasil yang sesuai dengan yang diharapkan. Jadi output dari input yang kita berikan harus sesuai dengan yang diinginkan.

  3. Efesiensi, artinya sebuah algoritma selain harus mampu mencapai tujuan yang dikehendaki, algoritma itu juga harus efektif dan efisien. Baik itu dalam alokasi memory dan waktu proses saat sebuah program dijalankan.

Makanya penting untuk mengetahui apakah algortma yang sudah kita buat itu adalah algoritma terbaik yang kita butuhkan.

Algoritma vs Program

Apakah algoritma sama dengan program? jawabannya adalah tidak. Program adalah kumpulan dari peryataan komputer yang ditulis menggunakan bahasa pemrograman. Sedangkan metode dan tahapan sistematis di dalam program tersebut adalah algoritma.

Jadi bisa dikatakan program itu dibagun atas beberapa algoritma untuk mencapai tujuan tertentu.

“Program = Algortima + Koding (Bahasa pemrograman)”

Struktur Algoritma

Struktur algoritma adalah urutan yang ada di dalam proses algoritma. Biasanya struktur algoritma ini dapat dikelompokkan menjadi 3 bagian, yaitu:

  1. Runtutan (Sequence) Bagian ini yang paling umum ada dalam sebuah algoritma. Jadi langkah-langkah dalam sebuah algoritma itu harus dijalankan secara beruntutan dari awal sampai akhir.
  2. Pemilihan (Selection) Dalam sebuah runtutan algortma, biasanya akan ada pemilihan di dalamnya. Pemilihan ini akan menyebapkan algoritma memiliki percabangan di dalammnya.
  3. Pengulangan (Repetition) Selain pemilihan, dalam algortima memungkinkan memiliki sebuah perulangan. Case pengulangan ini akan sering muncul saat kita butuh melakukan step yang sama lebih dari 1 kali.

Flowcart

Untuk membuat algoritma dalam sebuah program, biasanya kita membuat dulu dalam bentuk gambar-gambar atau pseudocode yang digunakan pada penulisan algoritma. Tujuannya agar lebih mudah dibaca dan divisualkan.

Biasanya algoritma ini ditulis dalam sebuah Flowcart. Flowcart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Tidak ada aturan secara mutlak karena flowcart ini adalah gambaran dari pemikiran kita. Jadi setiap orang akan mungkin memiliki versi yang berbeda-beda.

Namun, ada standar mengenai diagram atau simbol-simbol dalam flowcart dan fungsinya.

Simbol Flowcart
Simbol Flowcart

Jadi jika kalian sedang membuat flowcart, simbolnya wajib mengikuti aturan diatas ya. Agar nantinya orang lain lebih mudah mengerti algoritma yang kalian buat.

Contoh Flowcart

Kita akan membagikan contoh flowcart yang sering ditemukan saat membuat program.

Contoh Flowcart Sederhana
Contoh Flowcart Sederhana
Contoh Flowcart Kompleks
Contoh Flowcart Kompleks

Pseudo Code (Kode Semu)

Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk menggambarkan suatu algoritma.

Pseudo Code dituliskan dengan menggunakan bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika yang digambarkan dapat dimengerti oleh orang awam sekalipun.

Contoh Pseudo-code :

  1. Masukkan bilangan pertama
  2. Masukkan bilangan kedua
  3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
  4. Tampilkan bilangan pertama
  5. Tampilkan bilangan kedua

Solusi Algoritma :

  1. Masukkan bilangan pertama (a)
  2. Masukkan bilangan kedua (b)
  3. if a > b then kerjakan langkah 4
  4. print a
  5. print b

Manfaat Algoritma

Kita sudah membahas apa itu algortima dan sejarahnya. Kita sudah membahas tentang cara membuat algoritma dengan menggunakan diagram flowcart.

Dapat kita simpulkan keuntungan dari membuat algoritma adalah:

  1. Mampu memecahkan masalah dengan terstruktur dan logis.
  2. Membantu memecahkan sebuah program yang besar menjadi kesatuan yang lebih kecil.
  3. Program yang dibuat dengan algoritma yang bagus akan menjadi lebih rapi dan terstruktur.
  4. Dengan adanya dokumentasi algortima, maka orang lain dapat dengan lebih mudah memahami fungsi dari program yang kita buat.

Contoh Soal Algoritma

Menentukan Bilangan Ganjil atau Genap

Untuk menentukan bilangan tersebut ganjil atau genap adalah dengan menentukan apakah bilangan terebut habis dibagi 2 atau tidak.

Jika habis dibagi 2 maka genap, jika tidak maka bilangan ganjil.

Contoh Flowcart Sederhana
Contoh Flowcart Mengecek Apakah Angka Genap / Ganjil

Menampilkan Bilangan Genap Diantara 10 sampai 30

Jadi bagaimana algoritma menampilan bilangan genap dari 10 - 30? Cek flowcart dibawah ya.

Contoh Flowcart Sederhana
Contoh Flowcart Menampilan Angka Genap

Menampilkan Tahun Kabisat

Jadi kita punya masalah apakah tahun yang di input user adalah tahun kabisat atau bukan. Algoritmanya seperti apa?

Tahun kabisat adalah tahun yang habis jika dibagi 4. Jadi algortimanya bisa dibuat seperti ini:

Contoh Flowcart
Contoh Flowcart Mencari tahun kabisat

Jadi itulah pembahasan kita tentang definisi algoritma baik itu dalam kehidupan sehari-hari maupun dalam bidang ilmu komputer.