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.Â
Fungsi Flowchart
Flowchart memiliki beberapa fungsi penting, antara lain:
- Memudahkan pemahaman: Flowchart menyajikan informasi yang kompleks dalam bentuk visual yang lebih mudah dipahami oleh manusia.
- Membantu perencanaan: Sebelum membuat program atau sistem, flowchart dapat digunakan untuk merencanakan langkah-langkah yang diperlukan.
- Memudahkan debugging: Jika terjadi kesalahan dalam suatu program, flowchart dapat digunakan untuk melacak di mana kesalahan tersebut terjadi.
- Dokumentasi: Flowchart dapat dijadikan sebagai dokumentasi untuk menjelaskan bagaimana suatu sistem atau program bekerja.
- Komunikasi: Flowchart dapat digunakan untuk berkomunikasi dengan orang lain tentang suatu proses, terutama bagi mereka yang tidak memiliki latar belakang teknis.
Jenis Flowchart
Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik dalam penggunaanya. Berikut adalah jenis-jenisnya:
Flowchart dokumen
Pertama ada flowchart dokumen (document flowchart) atau bisa juga disebut dengan paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri alur form dari satu bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat, dan disimpan.Flowchart program
Selanjutnya kita akan membahas flowchart program. Flowchart ini menggambarkan secara rinci prosedur dari proses program. Flowchart program terdiri dari dua macam, antara lain: flowchart logika program (program logic flowchart) dan flowchart program komputer terinci (detailed computer program flowchart).Flowchart proses
Flowchart proses adalah cara penggambaran rekayasa industrial dengan cara merinci dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.Flowchart sistem
Yang keempat ada flowchart sistem. Flowchart sistem adalah flowchart yang menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam sistem secara menyeluruh. Selain itu flowchart sistem juga menguraikan urutan dari setiap prosedur yang ada di dalam sistem.Flowchart skematik
Terakhir ada flowchart skematik. Flowchart ini menampilkan alur prosedur suatu sistem, hampir sama dengan flowchart sistem. Namun, ada perbedaan dalam penggunaan simbol-simbol dalam menggambarkan alur. Selain simbol-simbol, flowchart skematik juga menggunakan gambar-gambar komputer serta peralatan lainnya untuk mempermudah dalam pembacaan flowchart untuk orang awam.
Simbol Flowchart
Flowchart memiliki beberapa simbol yang memiliki kegunaanya masing masing, berikut merupakan flowchart yang sering digunakan untuk menyelesaikan studi kasus masalah dalam proses pembuatan flowchart.
Contoh penerapan flowchart pada study case pemesanan tiket pesawat
Dari flowchart di atas dapat diuraikan dengan alur penyelesaian masalah sebagai berikut:
- 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.
- End: Proses pemesanan selesai.
Hasil output flowchart
Definisi Pemrograman
Pemrograman adalah proses menuliskan instruksi-instruksi (kode) dalam suatu bahasa pemrograman tertentu untuk membuat program komputer. Bahasa pemrograman berfungsi sebagai alat untuk menerjemahkan algoritma ke dalam bentuk yang dapat dimengerti oleh komputer.
Hubungan Algoritma dan Pemrograman
Algoritma dan pemrograman memiliki hubungan yang sangat erat. Algoritma adalah konsep dasar yang mendasari pembuatan program. Setiap program komputer pada dasarnya adalah implementasi dari satu atau lebih algoritma.
- Algoritma sebagai rancangan: Algoritma bertindak sebagai blueprint atau rancangan sebelum program dibuat.
- Pemrograman sebagai implementasi: Pemrograman adalah proses mengubah algoritma menjadi kode yang dapat dieksekusi oleh komputer.
Kesimpulan
Algoritma memberikan landasan yang kuat untuk membangun program yang baik, sedangkan flowchart membantu kita untuk memahami, merancang, dan mendokumentasikan algoritma tersebut. Dengan menguasai kedua konsep ini, kita akan lebih mampu untuk mengembangkan aplikasi dan sistem yang berkualitas.
Daftar Pustaka
- Knuth, D. E. (1997). The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd ed.). Addison-Wesley.
- Boyer, C. B. (1991). A History of Mathematics. Wiley.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). MIT Press.
- Pressman, R. S. (2010). Engineering a Software Product (7th ed.). McGraw-Hill.
- Ronny Setiawan (2014). Flowchart Adalah: Fungsi, Jenis, Simbol, dan Contohnya. https://www.dicoding.com/blog/flowchart-adalah/
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H