Algoritma Pemrograman
Sebelum belajar algoritma pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu program yaitu:
- Mendefinisikan masalah
- Mencari solusinya
- Menentukan algoritma
- Menulis program
- Menguji program
- Mendokumentasikan program
- Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program.
Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer.
Sejarah Algoritma
Dilihat dari istilahnya, algoritma berasal dari nama seorang ahli matematika muslim bernama Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi (780 M - 850 M), dan lebih dikenal dengan nama Al-Khuwarizm sebagai Algorism yang diartikan sebagai proses menghitung dengan angka arab. Seiring dengan perkembangan jaman istilah Algorism berubah menjadi algorithm yang kemudian diartikan sebagai metode perhitungan (komputasi) secara umum. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
Dalam matematika dan ilmu komputer, algoritma adalah urutan atau langkah-langkah untuk penghitungan atau untuk menyelesaikan suatu masalah yang ditulis secara berurutan. Sehingga, algoritma pemrograman adalah urutan atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer.
Algoritma merupakan metode yang efektif yang ditujukkan pada daftar yang terbatas dari kumpulan perintah yang telah didefinisikan untuk menghitung suatu fungsi. Dimulai dari nilai awal, kemudian kumpulan perintah yang pada saat dieksekusi akan memproses kondisi-kondisi yang telah ditetapkan hingga menghasilkan output dan kemudian menentukan kondisi akhir.
Devinisi Algoritma
Algoritma adalah urutan langkah-langkah yang logis untuk penyelesaian suatu masalah yang disusun secara sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi. Inti dari mempelajari algoritma adalah untuk menemukan solusi dari suatu permasalahan yang dihadapi agar menemukan jalan keluar yang terbaik. Untuk menyelesaikan masalah yang dihadapi, algoritma membutuhkan spesifikasi input (masukan) yang benar sesuai yang diperlukan, memprosesnya melalui serangkaian langkah-langkah dan menghasilkan output sebagai solusi dari permasalahan yang dihadapi.
Sebuah algoritma harus disusun secara sistematis dan logis, pengertian logis disini bukan hanya jelas saja, namun teruji kebenarannya. Artinya sebuah algortima yang disusun harus memiliki nilai akhir berupa sebuah kebenaran. Sebuah algoritma yang mendapatkan nilai akhir yang salah maka langkah-langkah yang disusun tidak bisa dikatakan sebuah algoritma. Kemudian sebuah algoritma tidak boleh membuat sebuah kerancuan (ambigu) dalam hal makna atau tidak boleh memiliki makna ganda atau kias.
- Algoritma adalah inti dari ilmu komputer
- Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
- Algoritma adalah blueprint dari program
Penyusunan Algoritma Sebaiknya disusun sebelum membuat program. Kriteria suatu algoritma adalah sebagai berikut:
- Ada input dan output
- Efektifitas dan efisien
- Terstruktur
Menurut Donal E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma setidaknya memiliki lima ciri penting:
- Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas dengan kata lain algroritma harus memiliki langkah terbatas .
- Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous)
- Memiliki masukan (input) atau kondisi awal
- Memiliki keluaran (output) atau kondisi akhir
- Algoritma harus efektif dan efisien, bila diikuti benar-benar akan menyelesaikan masalah
Algoritma Bahasa Natural
Salah satu cara mempresentasikan algoritma adalah dengan bahasa natural atau bahasa sehari-hari. Algoritma dengan bahasa natural atau bahasa sehari-hari dapat dengan mudah kita jumpai di kehidupan sehari-hari dan mempunyai struktur yang sederhana karena lebih mudah untuk dipahami.
Perhatikan algoritma bahasa natural sederhana berikut:
Jika seseorang yang ingin berkirim surat kepada keluarganya di tempat lain, langkah-langkah yang harus dilakukan adalah:
- Menyiapkan Peralatan Tulis
- Menulis surat
- Surat dimasukkan ke dalam amplop tertutup
- Amplop ditempeli perangko secukupnya
- Pergi ke Kantor Pos terdekat untuk mengirimkannya
Algoritma Pseudocode
Pseudocode terdiri dari kata Pseudo yang berarti menyerupai dan Code yang berarti kode. Jadi secara kata maka pseudocode merupakan kode-kode yang menyerupai kode-kode program yang sesungguhnya, tidak ada aturan standar dalam penulisannya, ditujukan untuk dibaca manusia, bukan dibaca mesin (komputer).
Perhatikan algoritma pseudocode sederhana berikut:
Algoritma menghitung luas persegi panjang:
- Masukkan panjang (P)
- Masukkan lebar (L)
- Luas P * L
- Tulis Luas
Struktur Algoritma
1. Bagian Kepala (Nama / Judul Algoritma)
Nama algoritma memberikan gambaran secara singkat apa tujuan dari algoritma tersebut, misalkan nama resep masakan, petunjuk melakukan sesuatu, jadwal kegiatan, langkah-langkah penyelesaian sebuah masalah, dan sebagainya. Pemberian nama algoritma dilakukan secara singkat dan jelas, namun harus sudah mewakili maksud dari algoritma tersebut. Di dalam algoritma komputer biasanya nama algoritma dituliskan tanpa menggunakan spasi tetapi menggunakan underscore, misalkan Algoritma IsiBalok atau Algoritma Isi_Balok.
2. Bagian Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian deklarasi ini dijelaskan kebutuhan agar algoritma dapat berjalan dengan baik. Istilah lainnya di sinilah alat dan bahan didefinisikan. Di dalam algoritma pemrograman komputer, di dalam bagian deklarasi harus menjelaskan input (masukan) apa saja yang akan diproses oleh algoritma termasuk jenis data input (tipe data) dengan jelas, juga output apa yang akan dihasilkan serta semua hal yang akan dipakai dalam algoritma pemrograman. Yang didefiniskan dalam algoritma ini termasuk variabel, tipe data, konstanta, nama prosedur, tipe, dan fungsi.
3. Bagian Deskripsi Algoritma
Di dalam bagian ini menjelaskan tentang serangkaian langkah-langkah (instruksi) atau pernyataan (statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output sesuai yang diharapkan oleh seorang pemrogram. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah dan urutan penulisan menentukan urutan perintah.