Algortima,


Apa itu algoritma?

Secara kasar algoritma yang menurut saya pribadi adalah "Suatu aturan yang dimana memiliki sebuah tujuan yang pasti dan memiliki flow atau alur yang pasti untuk hasil akhir sebuah aturan tesebut"

Algoritma sendiri memiliki arti yang sedikit berbeda namun memiliki makna sama dalam beberapa sumber.

Namun secara definisi, algoritma adalah "urutan langah langkah untuk memecahkan masalah secara logis dan sistematis"

Kata algoritma sendiri diambil dari nama ilmuan muslim yaitu Abu Ja'far Muhammad bin Musa Al-Kharizmi (780-846 M)

Apa Sebenarnya Fungsi Algoritma?

Algoritma sendiri memiliki banyak fungsing, diantaranya adalah:
  • Jantung dalam ilmu komputer atau informatika
  • Algoritma dapat juga disebut sebagai panduan, seperti resep memasak, membuat pakaian, atau bahkan merakit mobil dll, dengan syarat memiliki definisi yang pasti dan tidak ambigu.
Berdasarkan contoh diatas, algoritma tidak selalu harus indentik dengan ilmu komputer saja, namu ilmu komputer sudah pasti memiliki algoritma yang berjalan di dalamnya.

Pemulisan algoritma sendiri memiliki banyak tipe, tergantung dengan penggunaan algoritma tersebut, contohnya:
  • Dalam bahasa natural (b.indo/eng) "Algoritma" namun penamaan tersebut terkadangan membingungkan atau ambigu, karna tidak ada keterangan penggunaan algoritma tersebut untuk apa.
  • Adapaun Flow Chart (diagram alir) Algoritma tipe ini sering digunakan sebagai bagan organisasi ataupun flow eskalasi untuk sebuah organisasi dikarenakan datanya yang mudah dibaca, namun jika data yang ditampilkan lumayan panjang, maka akan membuat repot dalam sisi visualisasinya.
  • Pseudo-code Algoritma tipe ini digunakan oleh para programmer dikarenakan strukturnya yang mirip dengan bahasa pemrograman sehingga lebih nyaman dan efektif untuk digunakan oleh para developer.

Contoh Penggunaan Algoritma

Algoritma dalam bahasa natural

  1. Bilangan pertama dan bilangan Maksimal (maks) memiliki data bilangan yang sama
  2. Bandingkan Bilangan kedua dengan bilangan Maks.
  3. Apabila bilangan Maks lebih besar dengan bilangan kedua, maka buat bilangan Maks sama dengan bilangan kedua
  4. ambil bilangan ketiga dan bandingkan dengan bilangan Maks
  5. Apabila bilangan Maks lebih besar dengan bilangan ketiga, maka buat bilangan Maks sama dengan bilangan ketiga.
  6. Variable Maks memiliki bilangan paling besar, tampilkan isinya.
Contoh: 
  1. Variable A adalah 3
  2. Variable B adalah 2
  3. Variable C adalah 1
  4. Variable Maks adalah Variable A, yaitu 3
  5. Variable B lebih besar dengan variable Maks? (Tidak)
  6. Variable C lebih besar variable Maks? (Tidak)
  7. Variable Maks adalah bilangan terbesar (3)


Algortitma dalam bentuk Flowchart




Algoritma dalam bentuk pseudo-code


--




Contoh Algoritma yang baik

Algoritma dapat dikatakan baik jika memenuhi syarat berikut:
  1. Didokumentasikan dengan baik (pengoprasian, pemeliharaan, dan pengembangan).
  2. Adanya penjelasan (description) dalam pelaksanaan suatu prosessnya.
  3. Tidak ambigous (bermakna ganda)
  4. Harus berhenti setelah mengerjakan sejumlah langkah terbatas (mempunyai titik henti)

Aspek Penting dalam Algoritma

  1. Finitenss
    • Algoritma harus berhenti after a finite number steps
  2. Definiteness
    • Setiap langkah harus didefinisikan secara tepat, dan tidak boleh membingungkan (ambigous)
  3. Input
    • sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan
  4. Output
    • sebuah algoritma harus memiliki satu atau lebih output yang biasanya bergantu pada input
  5. Effectiveness
    • Seitap algoritma diharap memiliki sifat efektif


Refrensi

https://id.wikipedia.org/wiki/Muḥammad_bin_Mūsā_al-Khawārizmī
https://en.wikipedia.org/wiki/Algorithm