Algoritma Pemrograman

Algoritma Pemrograman

Algoritma merupakan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis berdasar dari masalah yang akan diselesaikan. Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam proses komputasi numerik. Tanpa algoritma yang dirancang dengan baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.

Sekarang ini, algoritma juga dikenal sebagai jantung dari ilmu komputer atau informatika. Hal ini disebabkan banyaknya cabang ilmu komputer yang mengacu dalam terminologi algoritma, contohnya sebagai berikut :

  1. Algoritma perutean (routing) pesan di dalam jaringan komputer.
  2. Algoritma berensenham untuk menggambar garis lurus (bidang grafik komputer).
  3. Algoritma Knuth-Morris-Pratt untuk mencari suatu pola dalam teks (bidang information retrievel).

Sejarah Algoritma

Algoritma berasal dari nama penulis buku, yakni Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi yang berasal dari Uzbekistan. Orang Barat menyebut Al-Khwarizmi dengan Algorism. Pada saat itu, Al-Khwarizmi menulis buku dengan judul Al Jabar wal-Muqabala yang artinya 'Buku Pemugaran dan Pengurangan' (The book of Restoration and Reduction). Dari judul buku tersebut, kita juga memperoleh kata “aljabar” atau biasa dikenal dengan algebra.

Abu Abdullah Ibnu Musa al-Khawarizmi (770M-840M) lahir di Khawarizm (Kheva), kota yang berada di selatan Sungai Oxus (sekarang disebut Uzbekistan) pada 770 M. Al Khawarizmi merupakan salah satu ilmuan terkenal di zamannya. Ada beberapa cabang ilmu matematika yang berhasil ditemukannya, antara lain yang dikenal sebagai astronom dan geografer.

Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat gambaran (diagram alur) diatas kertas.

Awal Penggunaan Pertama

Pada 1950, algoritma pertama kali digunakan pada Algoritma Eucliden (Euclid Algorithm). Euclid sendiri merupakan seorang matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku yang berjudul Element.

Di dalam buku tersebut, dijelaskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut sebagai algoritma pada abad-abad modern.

Algoritma Menurut para ahli

Menurut Donald E. Knuth (1973,p4), algoritma dalam pengertian modern mempunyai kemiripan dengan istilah resep, proses, metode, teknik, prosedur, rutin. Algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus.

Menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Berdasarkan dua pengertian algoritma di atas, dapat disimpulkan bahwa algor itma merupakan suatu istilah yang luas, yang tidak hanya berkaitan dengan dunia komputer.

Jenis Algoritma

  1. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
  2. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
  3. Metode serakah, Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.

Ciri Algoritma

Lima ciri yang harus dipunyai algoritma agar menjadi algoritma yang benar adalah sebagai berikut.

  1. Algoritma harus berhenti setelah mengerjakan langkah terbatas. Dalam hal ini, jika langkah-langkah yang ada telah dipenuhi dan telah dieksekusi, algortima haruslah berhenti.
  2. Setiap langkah harus didefinisikan agar tidak memiliki arti dua (ambiguous).
  3. Algoritma mempunyai nol atau lebih masukan (input).
  4. Algoritma mempunyai nol atau lebih keluaran (output).
  5. Algoritma haruslah efektif, yakni mempunyai langkah yang sederhana agar dapat dikerjakan dengan waktu yang efektif.

Cara Penulisan Algoritma

  1. Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)
    Cara yang digunakan dengan mendeskripsikan langkah-langkah yang akan dilakukan dalam mencapai suatu tujuan.
  2. Menggunakan Flowchart
    Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.
  3. Menggunakan Pseudocode
    Pseudocode merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Pseudo-code biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik.

Semoga Bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Apa itu pemrograman web
    Apa itu pemrograman web?? Mungkin anda sering mendengar ungkapan itu dari banyak orang yang sering menggunakan internet. Jika diartikan secara sederhana pemrograman web adalah bahasa pemrograman yang digunakan untuk membuat web. Tapi seperti apakah sebenarnya pemrograman web, dan bahasa apa saya yang bisa digolongkan dalam pemrograman web.
  • Kamus Istilah dalam dunia Adsense
    Banyak istilah dalam adsense yang bagi kita masih asing, silahkan simak daftarnya disini.
  • Mengenal istilah Multimedia
    Multimedia berasal dari bahasa latin yang terdiri dari kata multum dan medium yang merupakan media yang menggabungkan dua unsur atau lebih media yang terdiri dari teks, grafik, gambar, foto, audio, video, dan animasi secara terintegrasi. Pada umumnya aplikasi multimedia di komputer meliputi game, software pembelajaran, dan materi referensi seperti ensiklopedia dimana pengguna aplikasi dapat berinteraksi dengan aplikasi tersebut serta dapat berpindah dari satu topik bahasan ke topik bahasan lainnya.
  • Hati-hati penipuan berkedok pembeli online
    Yang namanya kejahatan kayanya gak pernah kehabisan akal, mungkin tambah canggih aja. Sudah sering terdengar cerita teman atau saudara yang dapat sms sebagai pemenang undian dari operator selular atau sebuah produk dan ujung-ujungnya ternyata penipuan.
  • Internet bagi Dunia Kedokteran
    Pertumbuhan dan perkembangan internet selama ini memberikan banyak dampak positif ke berbagai sektor kehidupan, termasuk sektor kesehatan. Dalam bidang kedokteran, sudah banyak sekali manfaat yang diberikan hasil dari perkembangan internet seperti antara dokter dan pasien dapat melakukan konsultasi medis jarak jauh, seminar melalui video konferens, ataupun menampilkan video tentang simulasi.

Kiriman terbaru