Latar Belakang Algoritma
Algoritma, sebuah konsep fundamental dalam ilmu komputer, telah menjadi fondasi bagi segala bentuk komputasi. Istilah ini berasal dari nama matematikawan Persia, al-Khwarizmi. Pada dasarnya, algoritma adalah sekumpulan instruksi yang terstruktur dan logis, dirancang untuk menyelesaikan masalah komputasi.Â
Peran algoritma sangat krusial dalam perkembangan teknologi, seperti yang dijelaskan oleh Knuth (1997). Konsep algoritma sendiri telah ada sejak zaman kuno, misalnya algoritma Euclid untuk mencari FPB (Boyer, 1991). Algoritma dapat diklasifikasikan berdasarkan berbagai kriteria (Cormen et al., 2009).
Definisi Algoritma
- Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah.
- Berasal dari kata algoris dan ritmis. Diperkenalkan oleh Abu Ja’far Muhammad Musa Al-Khowarizmi (780-850) dalam bukunya yang berjudul Kitab Al Jabr Waal Muqobala (Rules of Restoration and Reduction).
- Pada pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari langkah-langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.
Secara formal, algoritma dapat didefinisikan sebagai urutan langkah-langkah yang terhingga, jelas, efektif, dan dapat diulang untuk menyelesaikan suatu masalah.
- Terhingga: Algoritma harus memiliki langkah-langkah yang terbatas dan tidak berjalan tanpa batas.
- Jelas: Setiap langkah harus didefinisikan dengan jelas dan tidak ambigu.
- Efektif: Setiap langkah harus dapat dijalankan dalam waktu yang terbatas dan menggunakan sumber daya yang terbatas.
- Dapat diulang: Algoritma dapat diterapkan pada input yang berbeda untuk menghasilkan output yang sesuai.
Contoh Masalah Algoritma: Pemesanan Tiket Pesawat
Mari kita ambil contoh sederhana: proses pemesanan tiket pesawat secara online. Algoritma untuk proses ini dapat diuraikan sebagai berikut:
- Mulai(Start): Pengguna membuka aplikasi atau website maskapai.
- Masukan data(Input): Pengguna memasukkan kota asal, kota tujuan, dan kelas penerbangan.
- Pencarian: Sistem mencari semua penerbangan yang sesuai dengan kriteria yang dimasukkan.
- Tampilan hasil: Sistem menampilkan daftar penerbangan yang tersedia beserta harga dan waktu tempuh.
- Pemilihan: Pengguna memilih penerbangan yang diinginkan.
- Pembayaran: Pengguna melakukan pembayaran.
- Konfirmasi(Output): Sistem mengirimkan konfirmasi pemesanan melalui email atau SMS.
- Selesai(End): Proses pemesanan selesai.
Pengertian Flowchart
Flowchart adalah representasi grafis dari suatu algoritma atau proses yang menunjukkan urutan langkah-langkah, keputusan, dan alur logika. Flowchart sering digunakan dalam pengembangan perangkat lunak untuk membantu perencanaan, desain, dan dokumentasi (Pressman, 2010).Â
Pengertian umum flowchart yaitu representasi visual dari suatu algoritma atau proses. Flowchart menggunakan simbol-simbol standar untuk menggambarkan langkah-langkah, keputusan, dan alur logika dari suatu sistem atau program. Dengan kata lain, flowchart adalah semacam peta jalan yang menunjukkan bagaimana suatu proses dilakukan dari awal hingga akhir.Â