Algoritma dan Pemrograman saat ini telah di pelajari diseluruh dunia dan merupakah salah satu program wajib di sekolah-sekolah dan bangku kuliah. Kalau di bangku Kuliah, Algoritma dan Pemrograman adalah matakuliah wajib bagi mereka yang ambil jurusan Informatika, Sistem Informasi, Teknik Komputer bahkan Teknik Elektro. 

Bagi jurusan Informatika seperti di kampus Binus, matkul ini berbobot 6 SKS yang artinya sangat menentukan pada nilai IP mahasiswa. Matkul ini juga banyak ditakuti mahasiswa karena memang cukup susah. 

1. Sejarah Singkat Algoritma 

Algoritma ditemukan oleh seorang ilmuan timur tengah jaman peradaban islam bernama Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi (780-850 masehi) dan kata Algoritma (inggris: Algorithm) menurut sebagian ilmuan belakangan diambil dari namanya yakni Al-Khwarizmi . Dintinjau dari bahasa, Algoritma berasal dari kata algorism yang artinya perhitungan dalam angka arab namun para ahli sejarah kesulitan menemukan asal-usul istilah ini sampai akhirnya mereka menemukan bahwa Algorithm/Algoritma berasal dari nama penemunya seperti disebutkan diatas. 

Al-Khwarizmi Juga dikenal sebagai penemu Aljabar atau Algebra dan juga beliau ini adalah seorang ahli Astronomi dimasanya. 

2. Pengertian Algoritma 

Algoritma secara singkat dapat didefinisikan sebagai Langkah-langkah Sistematis dan Logis dalam menyelesaikan suatu masalah. Dengan konsep Algoritma maka suatu permasalahan harus diselesaikan secara Sistematis, Logis dan bisa diuji benar atau salahnya. 

Karena Algoritma adalah sebuah konsep, maka tentu setiap orang bisa mempunyai Algoritma yang berbeda-beda terhadap masalah yang sama. Contoh ada suatu permasalahan X dan solusinya adalah Y, maka tiap orang bisa mendapatkan Y dengan Algoritma mereke masing-masing, tidak harus sama akan tetapi menghasilkan output yang sama yaitu Y. 

Pada prakteknya penerapan Algoritma haruslah efisien. Efisien disini artinya Cepat, Tepat dan Simple. Seperti kasus membuat Software komputer, Software yang dibuat dengan Algoritma yang baik akan menghasilkan software yang efisien, tidak banyak bugs dan tidak makan banyak memory yang tidak perlu misalnya. 

Penyajian Algoritma biasanya tertuang dalam bentuk Pseudocode, Flowchart, dan Diagram-diagram. 

Contoh kita ingin membuat Aplikasi utk menghitung Luas segitiga. Maka Algoritma nya dapat ditulis sbb:

  1. Input panjang alas nya
  2. Input panjang tinggi nya
  3. masukan rumus matematikanya : 1/2 x alas x tinggi
  4. Tampilkan hasilnya
  5. selesai

Algoritma diatas lalu ditulis kedalam bahasa pemrograman seperti ( C, C++, java, Python, PHP, dsb) sesuai kebutuhan . 

misal dalam PHP 

function luasSegitiga($alas, $tinggi) {
    $luas = 1/2 * $alas * $tinggi;

    return $luas;
}

$alas = 4;
$tinggi = 5; 

echo luasSegitiga($alas, $tinggi);

3. Pemrograman 

Pemrograman adalah proses membuat suatu Program dengan Algoritma + Bahasa Pemrograman. Sebuah Software hanya bisa terwujud jika dibuat dengan Algoritma dan Bahasa Pemrograman. 

Langkah-langkah yang dilakukan dalam pemrograman yang umum adalah :

  • - Definisikan Masalah
  • - Mengumpulkan kebutuhan (requirement)
  • - Buat Algoritma dan Struktur Cara Penyelesaian
  • - Menulis Program dengan bahasa pemrograman
  • - Testing dan Verifikasi Program
  • - Implementasi/Instalasi Program
  • - Dokumentasi Program
  • - Pemeliharaan Program

Kita bisa memilih Bahasa Pemrograman apa saja yang kita mau dan kuasai. Namun tentu tidak semua bahasa pemrograman cocok dengan permasalahan yang ada dan kita wajib mencari tahu manakah yang cocok dan sesuai dengan kebutuhan kita. 

Contoh untuk membuat App Android kita bisa pilih bahasa pemrograman Java, untuk App iOS kita pakai Swift dan Objective-C, untuk Website kita bisa pakai PHP atau Javascript, membuat games bisa pakai C++ dsb. 

Dalam membangun aplikasi (Software Engineering), metoda yang umum digunakan adalah Waterfall, Agile, ScrumExtreme Programming, Rapid Application Development Methodology dan Spiral. Saya sendiri senang dengan Scrum namun terkadang masih pakai Waterfall.

Bacaan tambahan untuk kamu:

1. Memilih Bahasa Pemrograman Yang Tepat Untuk Web Development 

2. 5 Mata Kuliah Teknik Informatika Yang Susah