Pengertian Algoritma: Sejarah, Fungsi, Ciri Lengkap

Algoritma merupakan fondasi dari dunia komputasi dan ilmu komputer. Sebagai fondasi dari pemrograman dan komputasi, pemahaman yang mendalam tentang apa itu algoritma sangat penting. 

Dalam artikel ini akan dijelaskan apa itu algoritma, fungsi dan bagaimana algoritma berperan dalam dunia komputasi.

Pengertian Algoritma

Algoritma adalah serangkaian instruksi atau langkah-langkah yang direncanakan secara tersusun dan berurutan untuk menyelesaikan tugas atau masalah tertentu.

Algoritma bisa berupa urutan operasi matematika, perbandingan logis, manipulasi data, atau tindakan lain yang dapat dieksekusi oleh komputer atau manusia.

Meskipun komputer bisa melakukan perhitungan lebih cepat daripada manusia pada umumnya, tetapi komputer tidak bisa menyelesaikan masalah tanpa diajarkan oleh manusia terlebih dahulu melalui urutan langkah-langkah (algoritma) penyelesaian yang didefinisikan terlebih dahulu.

Agar lebih memahami apa itu algoritma mari kita pelajari pengertiannya dari beberapa sumber. Pada beberapa sumber buku diperoleh pengertian dari algoritma di antaranya :

  1. Algoritma menurut (Kani, 2020, 1.19) adalah suatu upaya dengan urutan operasi yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah untuk menghasilkan suatu output tertentu.
  2. Algoritma berasal dari kata algoris dan ritmis yang pertama kali diperkenalkan oleh Abu Ja’far Muhammad Ibn Musa Al Khwarizmi pada 825 M di dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari serangkaian langkah yang terstruktur dan sistematis untuk menyelesaikan masalah dengan bantuan komputer (Jando & Nani, 2018, 5).
  3. Algoritma menurut (Munir & Lidya, 2016, 5) adalah urutan langkah-langkah untuk menyelesaikan suatu persoalan.
  4. Algoritma merupakan sekumpulan instruksi atau langkah-langkah yang dituliskan secara sistematis dan digunakan untuk menyelesaikan masalah / persoalan logika dan matematika dengan bantuan komputer (Sismoro, 2005, 29).

Tujuan dan Fungsi Algoritma

Konsep dasar algoritma adalah memecahkan suatu masalah. Sudah jelas kalau tujuan dan fungsi dari algoritma berkaitan dengan pemecahan masalah secara lebih rinci dan terstruktur. Secara lebih jelas dapat bisa diuraikan bahwa tujuan adan fungsi algoritma adalah:

  • Memecahkan program yang sulit
  • Membuat program besar menjadi lebih sederhana
  • Dapat digunakan berkali-kali untuk memecahkan suatu permasalahan,
  • Memudahkan programmer untuk membuat program.
  • Meminimalisir kesalahan.

Karena algoritma itu terstruktur, maka kita bisa melihat alur algoritma untuk menemukan kesalahan. Selain itu program algoritma juga akan didokumentasi dengan mudah, terstruktur dan rapi sehingga akan sangat mudah dipahami oleh programmer atau mahasiswa lain.

Sejarah Algoritma

Konsep algoritma mempunyai sejarah yang panjang, dimulai dari peradaban kuno. Kata “algoritma” dapat ditelusuri kembali ke abad ke-9 ketika diciptakan oleh matematikawan Persia bernama Abdullah Muhammad bin Musa al-Khwarizmi, yang sering disebut sebagai “Bapak Aljabar”.

Pada abad ke-12, salah satu buku al-Khawarizmi tentang bilangan Hindu-Arab dalam bahasa Arab diterjemahkan ke dalam bahasa Latin dengan judul “Algoritmi de numero Indorum”. Setelah itu, kata latin ‘algoritmi’ diterjemahkan ke dalam bahasa Inggris sebagai ‘algorithm’.

Istilah “algoritma” saat ini dipakai untuk merujuk pada teknik komputasi apa pun. Hal ini terutama berlaku sejak pertengahan abad ke-20 ketika istilah ini sering digunakan dalam bidang komputasi.

Namun, gagasan tentang algoritma sudah ada jauh sebelum masa ini, ketika berbagai budaya dan peradaban mengembangkan metode dan teknik untuk memecahkan masalah dan membuat perhitungan.

Mari kita lihat timeline evolusi algoritma:

  • Sekitar tahun 1700-2000 SM – Seorang Mesir mengembangkan algoritma tertua yang diketahui untuk mengalikan dua bilangan.
  • Sekitar tahun 1600 SM – Bangsa Babilonia mengembangkan algoritma tertua yang diketahui untuk memfaktorkan dan mencari akar kuadrat.
  • Sekitar tahun 300 SM, Euclid yang agung menciptakan “algoritma Euclidean” yang terkenal, untuk mencari pembagi persekutuan terbesar dari dua bilangan.
  • Kemudian Eratosthenes pada tahun 200 SM dengan apa yang disebut “Saringan Eratosthenes”, digunakan oleh matematikawan Yunani untuk mencari bilangan prima.
  • Lui Hui menggambarkan eliminasi Gaussian pada tahun 263 M.
  • Brahmagupta menciptakan Chakravala pada tahun 628 M, Metode “Chakravala”, algoritma siklik yang dikembangkan oleh Brahmagupta, Bhaskara, dan Jayadeva untuk menyelesaikan persamaan kuadrat tak tentu.
  • Sekitar tahun 820 – Abdullah Muhammad bin Musa al-Khwarizmi menjelaskan algoritma untuk menyelesaikan persamaan linier dan kuadrat dalam Aljabar. Kata algoritma berasal dari namanya
  • Sekitar tahun 825 – Abdullah Muhammad bin Musa al-Khwarizmi, dalam makalahnya On Computation with Hindu Numerals, menjelaskan tentang sebuah algoritma, sebuah algoritma untuk menggunakan sistem angka Hindu-Arab. Itu diterjemahkan ke dalam bahasa Latin dan menjadi Algoritmi de numero Indorum. Nama penulisnya memunculkan kata algoritma (Latin Algorithmus) yang artinya “metode perhitungan”.
  • Sekitar tahun 850 – Algoritma kriptanalisis dan analisis frekuensi yang dikembangkan oleh Al-Kindi (Alkindus) dalam A Manuscript on Deciphering Cryptographic Messages. Ini berisi algoritma untuk enkripsi dan dekripsi.
  • Sekitar tahun 1025 – Ibnu Al-Haytham (Alhazen) adalah ahli matematika pertama yang menurunkan rumus jumlah empat pangkat, dan kemudian mengembangkan algoritma untuk menentukan rumus umum jumlah pangkat bilangan bulat, dasar untuk pengembangan integral.
  • Sekitar tahun 1400 – Ahmad al-Karkashandi menyajikan dalam Sub al-Asha-nya daftar sandi yang berisi permutasi dan transposisi, untuk pertama kalinya menciptakan sandi yang berisi banyak permutasi per karakter teks biasa. Dia juga memberikan komentar dan contoh pembacaan sandi di dunia nyata, termasuk tabel frekuensi huruf dan penggunaan kumpulan huruf yang tidak dapat muncul bersamaan dalam sebuah kata.

Selanjutnya algoritma kontemporer mengalami perkembangan signifikan selama revolusi industri pertengahan sampai akhir. Seorang matematikawan asal Inggris bernama George Boole menciptakan aljabar biner, yang menjadi dasar pengkodean komputer kontemporer.

Pada tahun 1936 Alan Turing seorang peneliti matematika dan komputer dengan mesin Turing ikoniknya, meresmikan ide algoritma tersebut untuk pertama kalinya. Hasilnya dunia komputasi telah berubah total sejak saat itu.

Selama tahun 1940-an dan1950-an, fokus penelitian berorientasi ke pembangunan komputer yang efisien untuk dipakai dalam berbagai masalah ilmiah, komersial, dan teknik.

Konsep logika algoritma Turing juga menjadi dasar untuk operasi berbasis variabel, di mana perhitungan simbol-simbol sebelumnya akan menentukan nilai simbol-simbol berikutnya. Dari sini, kemudian lahir algoritma progresif.

Perkembangan algoritma terus berlanjut. Seorang ilmuwan komputer dan ahli matematika Amerika bernama Donald Ervin Knuth berkontribusi pada pengembangan analisis ketat dari kompleksitas komputasi algoritma dan teknik matematika formal yang sistematis.

Saat ini algoritma menjadi dasar pemograman dari semua perangkat lunak dan sistem komputer. Algoritma sebenarnya telah hadir dalam kehidupan kita sehari-hari sadar atau tidak kita menggunakan algoritma dalam setiap kegiatan yang dilakukan.

Manfaat Algoritma

Algoritma juga berkaitan dengan pola pikir manusia untuk menyelesaikan masalah. Saya dan teman-teman saya dalam menyelesaikan masalah juga berbeda. Karena berkaitan dengan alur. Bahasa pemrograman juga sama. Saya dan teman-teman bisa jadi berbeda proses menyelesaikannya.

Meski sama-sama dimulai dengan kata start dan diakhiri kata end. Algoritma di sini bermanfaat untuk membantu berpikir secara sistematis dan terstrukur untuk menyelesaikan masalah. Membuang hal-hal yang tidak diperlukan dan fokus untuk mencari solusi dari permasalahan yang di hadapi.

Sifat Algoritma

Algoritma juga bisa diartikan sebagai alur berpikir untuk menyelesaikan masalah. Sehingga tidak ada batasan penggunaan bahasa atau simbol yang digunakan. Terserah saya, terserah kamu asal masalah selesai.

Algoritma juga tidak tergantung pada bahasa pemrograman. Yang jelas saya dapat menerapkan algoritma pemecahan masalah yang saya pikirkan pada seluruh bahasa pemrograman.

Untuk lebih jelasnya berikut adalah sifat-sifat algoritma:

  1. Tidak menggunakan simbol berupa sintaks dari suatu bahasa pemrograman tertentu.
  2. Tidak mesti selalu bergantung pada bahasa pemrograman tertentu.
  3. Notasinya bersifat umum dan dapat digunakan untuk seluruh bahasa pemrograman manapun.
  4. Algoritma dapat digunakan untuk mempresentasikan kehidupan sehari-hari, seperti tindakan yang sering kamu lakukan berupa suatu pekerjaan.
  5. Tidak cukup menyelesaikan masalah dengan satu cara saja, namun harus ada pengkondisian yang masuk akal.

Ciri Algoritma

Ada lima ciri utama dari algoritma, yaitu input, proses, output, instruksi yang jelas dan tujuan akhir. Tanpa kita sadari banyak permasalahan dalam kehidupan sehari-hari yang kita selesaikan menggunakan algoritma.

Salah satu contoh dalam kehidupan nyata yang menggunakan algoritma tanpa disadari adalah saat ingin membersihkan lantai rumah yang kotor.

1. Input

Input ini berupa permasalahan yang dihadapai dan hendak dicarikan solusinya. permasalahan lantai rumah yang kotor dan mulai memikirkan cara untuk membersihkan. Algoritma mempunyai input 0 atau lebih

2. Proses

Proses berupa langkah-langkah atau rencana apa saja yang harus dilakukan untuk mencapai tujuan akhir. Prosesnya adalah mulai mengambil sapu, menyiapkan kain pel dan air, hingga tujuan akhirnya adalah lantai yang rumah yang bersih. Minimal algoritma memiliki satu output

3. Output

Output berupa solusi atau tampilan akhir yang akan diperoleh. Dalam permasalahan lantai yang kotor output berupa lantai rumah yang bersih. Output yang dihasilkan algoritma minimal satu output.

4. Instruksi yang dimiliki jelas dan tidak memiliki arti ganda

Agar tidak terjadi kesalahan dalam output yang dihasilkan, instruktur harus jelas. Misal menyapu dan mengepel. Instrukturnya jelas yaitu menyapu untuk membersihkan sampah-sampah dan debu, dan mengepel agar lantai bersih.

5. Harus ada tujuan akhir yang dicapai (stoping role).

Program akan berhenti saat tujuan akhir dicapai. Setelah tujuan akhir berupa lantai yang bersih telah dicapai maka program pembersihan lantai akan berhenti.

Contoh Penggunaan Algoritma Dalam Kehidupan

Nah, bagi mahasiswa matematika, ilmu komputer, dan fisika pasti pernah mengambil mata kuliah wajib pemrograman komputer. Biasanya diajari membuat program paling sederhana. Sebelum membuat program diajari membuat algoritma berpikir. Mulai dari membuat tulisan langkah awal, proses sampai tujuan dari permasalahan, grafik, diagram hingga dituangkan dalam bahasa matematika.

Salah satu program sederhana yang pertama  kali dibuat adalah program kalkulator menggunakan bahasa pemrograman pascal. Inputnya berupa bahasa pemrograman yang diawali start lalu proses penambahan perintah operasi hingga end. Output-nya berupa program dari kalkulator sederhana.

Setelah yang sederhana bisa, kita bisa mengembangkan kalkulator sederhana mulai dari tampilan hingga membuat aplikasi kasir hingga transaksi di bidang ekonomi dalam jangkauan besar. Mulai dari pascal yang masih sederhana berupa kata-kata perintah dan digunakan dalam lingkup kecil, visual basic (vb) yang sudah mempertimbangkan visual sampai jejaring luas, hingga database yang bisa terhubung luas sehingga bisa diakses secara mudah.

Pertanyaan Singkat tentang Algoritma

Q: Siapa pelopor kajian Algoritma?
Muhammad Ibn Musa al-Khawarizmi, seorang sarjana, astronom, ahli geografi, dan matematikawan abad ke-9, menjadi terkenal karena kontribusinya dalam studi aljabar.

Q: Siapa yang disebut sebagai bapak aljabar linier?
Muhammad Ibnu Musa al-Khawarizmi dikenal sebagai bapak aljabar linier

Q: Siapa yang dikenal sebagai bapak algoritma?
Muhammad Ibn Musa al-Khawarizmi, Pada abad ke-12, salah satu buku al-Khawarizmi tentang bilangan Hindu-Arab dalam bahasa Arab diterjemahkan ke dalam bahasa Latin dengan judul “Algoritmi de numero Indorum”. Setelah itu, kata latin ‘algoritmi’ diterjemahkan ke dalam bahasa Inggris sebagai ‘algorithm’.

Q: Siapa Donald Ervin Knuth?
Donald Ervin Knuth adalah seorang penulis Amerika, ilmuwan komputer Amerika, ahli matematika, dan profesor di Universitas Stanford, profesor yang dikenal sebagai bapak analisis algoritma.

Q: Sebutkan buku terkenal Donald Knuth
“The Art of Computer Programming” adalah buku terkenal yang ditulis oleh Donald Knuth.

Q: Sebutkan beberapa aktivitas rutin harian yang dapat digambarkan sebagai proses algoritmik
Setiap pekerjaan rutin memerlukan langkah-langkah yang telah ditentukan sebelumnya, kita dapat menganggap semuanya sebagai proses algoritmik seperti,

  • Membuat teh/kopi
  • Menyiapkan makanan
  • Bersiaplah untuk pergi ke kantor
  • Menyelesaikan ujian
  • Pergi tur bersama teman-teman
  • Menghadiri/mengatur acara

Referensi:

  1. https://history-maps.com/story/History-of-Mathematics#Muhammad-ibn-Musa-al-Khwarizmi
  2. https://codecrucks.com/evolution-of-algorithm-origin-and-history/
  3. https://www.enjoyalgorithms.com/blog/history-of-algorithms
  4. https://academic-accelerator.com/encyclopedia/timeline-of-algorithms
  5. https://unida.ac.id/teknologi/artikel/pengertian-algoritma.html

Apakah artikel ini membantu?

Terima kasih telah memberi tahu kami!
PERHATIAN
Jika ingin mengcopy-paste referensi dari Jurnalponsel.com, pastikan untuk menambahkan sumber rujukan di daftar pustaka dengan format berikut:
Litalia. (). Pengertian Algoritma: Sejarah, Fungsi, Ciri Lengkap. Diakses pada , dari https://www.jurnalponsel.com/pengertian-algoritma-besertatujuan-fungsi-manfaat-sifat-ciri-lengkap/

Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.