Pengertian Algoritma Pemrograman
Logika
Logika, dalam bahasa inggris "logic - science or method of reasoning" - yaitu metode atau langkah-langkah untuk mengambil keputusan dari suatu masalah, fakta atau pernyataan. Logika biasanya diselaraskan dengan fikiran atau nalar, yaitu proses berfikir manusia untuk menyelaraskan fakta atau pernyataan sehingga sampai pada suatu titik kesimpulan. Data, Pernyataan maupun fakta yang akan difikirkan boleh salah boleh benar. Di sinilah letak kerja penalaran.Algoritma dan Pemrograman
Menurut batasan umum, algoritma adalah : Sekumpulan langkah-langkah atau instruksi-instruksi yang terbatas untuk menyelesaikan suatu masalah. Asal kata algoritma - terjemahan dari istilah asing algorithm - diambil dari sebuah nama seorang astronom dan ahli matematika bangsa Arab, yaitu Al-Khowarizmi yang mengarang kitab Al-Jabr W'al Muqabala, dikenal sekarang sebagai ilmu aljabar. Semula, langkah-langkah seperti disebutkan pada batasan diatas dikaitkan dengan langkah-langkah untuk penyelesaian masalah numerik, tetapi pada akhirnya digunakan pada hal-hal yang lebih umum.Langkah-langkah logis untuk menyelesaikan suatu masalah dengan bantuan komputer, sedangkan proses membuat suatu aplikasi atau program disebut pemrograman atau dalam istilah bahasa inggris disebut : programming, kemudian bahasa yang digunakan untuk menuliskan langkah langkah dalam bentuk perintah dan statement disebut bahasa pemrograman atau dalam istilah bahasa asing disebut : programming language.
Tahapan-tahapan dalam Pemrograman
Tahapan-tahapan yang dilakukan untuk menyelesaikan suatu masalah dengan komputer, mulai dari masalah tersebut diberikan hingga akhir penyelesaian adalah :1. Penentuan batasan masalah
2. Pengembangan Model
3. Merancang Algoritma
4. Mengoreksi Algoritma
5. Pemrograman
6. Pengujian dan Analisis Program
7. Dokumentasi
Pembatasan Masalah
Seringkali masalah yang dihadapi masih belum begitu jelas, batasan masih kabur dan pada sejumlah hal, inti persoalan (Batasan) masih kabur. Oleh karenanya dibutuhkan penalaran atas masalah yang dihadapi, hingga pembatasan masalah dapat diciptakan lebih jelas, demikian pun* ruang lingkup permasalahan dapat* ditentukan dengan tegas. Namun demikian, pada tahapan ini butuh difikirkan hal-hal yang bisa menampung beberapa perkembangan masalah yang akan data. Dapat disimpulkan bahwa pemahaman yang baik terhadap suatu persoalan berarti separuh dari kegiatan untuk menuntaskan masalah tersebut sudah dilalui.Pengembangan Model
Model ialah suatu sistem yang secara fisis ataupun matematis menganut kondisi-kondisi yang telah diputuskan dalam sistem aslinya, dimana sifat yang didapatkan dari model itu dapat dipergunakan untuk mengetahui sistem aslinya tanpa mesti berurusan secara langsung dengan sistem aslinya. Dengan mengembangkan model atas sebuah permasalahan, maka diinginkan pemecahan masalah itu dapat dilakukan secara lebih sistematis.Rancangan Algoritma
Setelah sebuah masalah dicernakan dengan jelas yaitu melewati pembatasan masalah, lantas model telah dibuat, maka langkah selanjutnya ialah menyusun langkah-langkah untuk menyelesaikan sebuah masalah, kebenaran langkah-langkah itu secara logika mesti bisa ditelusuri. Walaupun langkah-langkah yang diciptakan dalam rancangan algoritma ini masih adalah langkah-langkah yang tidak terlalu rinci, namun secara menyeluruh ia harus bisa mengambarkan tahapan solusi dengan jelas, oleh sebab itulah dikembangkan metode algoritma yang akan diterangkan pada bab mendatang.Koreksi Algoritma
Koreksi dilakukan secara dini untuk memperbaiki alur logika yang dianggap kurang tepat, karena langkah-langkah pada rancangan algoritma belum melibatkan hal-hal yang terlalu rinci maka koreksi pada tahap ini lebih mudah dilaksanakan. Bila ada kerancuan dalam algoritma, maka yang perlu ditinjau ulang adalah model, besar kemungkinan model yang dibuat tidak mencerminkan secara tepat kondisi aslinya. Kemungkinan lain adalah meninjau ulang pembatasan masalah, karena model dapat keliru bila batasan masalah tidak jelas.Pemrograman
Pemilihan bahasa yang tepat untuk menyelesaikan suatu permasalahan sangat penting di sini karena ada beberapa bahasa yang khusus diarahkan pada suatu keperluan tertentu, seperti :- Bahasa Cobol untuk keperluan bisnis
- Bahasa C, Modula-2 untuk pemrograman sistem
- Bahasa Simula untuk simulasi
Untuk hal-hal yang lebih umum bahasa-bahasa : Pascal, Basic, bahkan bahasa-bahasa yang disebutkan diatas dapat digunakan, tentunya dengan beberapa kendala yang akan dihadapi. Pada tahap pemrograman ini, selain penentuan bahasa pemrograman yang akan digunakan, seringkali harus ditentukan struktur data yang sesuai dengan model yang telah dibuat, untuk mencapai penyelesaian yang berdaya guna dan berhasil guna. Dalam kaitan ini pemilihan bahasa pemrograman harus lebih teliti karena tidak semua bahasa pemrograman mendukung struktur data yang diinginkan.
Pengujian dan Analisis
Program yang telah selesai dibuat, kemudian diuji di laboratorium dan hasilnya dianalisis, untuk melihat : kecepatan, pemakaian memori, dsb. Seringkali program diuji di lapangan oleh calon pemakai atau bila perlu oleh pihak lain yang lebih luas untuk memperoleh umpan balik yang lebih sempurna.Dokumentasi
Meskipun dalam gambar diatas, terlihat bahwa blok Dokumentasi berada pada bagian akhir, tetapi kegiatan dokumentasi dilakukan secara menyeluruh, yaitu dimulai dari tahap awal hingga pengujian dan analisis. Hal ini diperlukan karena setiap peninjauan ulang dan koreksi memerlukan dokumentasi yang lengkap. Dokumentasi diperlukan juga untuk kegiatan pemeliharaan dan pengembangan program.Contoh Perhitungan Upah Buruh
Perhitungan upah buruh dalam satu minggu (5 hari kerja), terdiri dari dua komponen1. Upah Harian, (H rupiah / hari) bila ia bekerja 8 jam sehari
2. Upah Lembur, (L rupiah /jam) bila ia bekerja lebih dari 8 jam dalam sehari
Diinginkan untuk menghitung pendapatan seorang buruh dalam satu minggu, bila diketahui data jam kerja untuk setiap harinya.
Algoritma Perhitungan Upah Buruh
1. Total Pendapatan -> 0
2. Baca data jam kerja untuk hari ke 1.
3. Upah Hari Ini = H + (jam kerja - 8) x L ,
4. Total Pendapatan =Total Pendapatan + Upah Hari Ini
5. Ulangi 2 s/d 4 hingga hari ke 5.
Misalkan Upah Harian H = 10000 rupiah / hari
Upah Lembur L = 2000 rupiah / jam
Jam kerja hari ke 1 s/ d 5 adalah : 10, 8, 12, 8 dan 8 jam
Pendapatan hari ke 1 = 10000 + (10-8) x 2000
Pendapatan hari ke 2 = 10000
Pendapatan hari ke 3 = 10000 + (12-4) x 2000
Pendapatan hari ke 4 = 10000
Pendapatan hari ke 5 = 10000
Total Pendapatan dalam seminggu (5 hari) kerja = 70.000 rupiah.
Contoh ini menunjukan bagaimana pembatasan masalah masih belum begitu jelas, karena masih harus dipertanyakan lagi beberapa hal, misalnya :
a. Bagaimana perhitungan bila jam kerja kurang dari 8 jam
b. Apakah ada jumlah minimal dan maksimal jam lembur
Bila pertanyaan-pertanyaan tidak dapat dijawab, maka algoritma perlu ditinjau kembali, sehingga perhitungan menjadi benar, tidak merugikan buruh ataupun majikan.
Struktur Dasar Algoritma
Dalam Algoritma terdapat tiga bentuk struktur dasar dalam menyusun suatu algoritma, diantaranya yaitu:1. Sekuensial (runtunan)
Bentuk struktur sekuensial itu seperti disamping, pada struktur sekuensial ni langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan. dimulai dari langkah pertama, kedua, dan seterusnya. Pada dasarnya suatu program memang menjalankan suatu proses dari yang dasar seperti struktur ini.2. Struktur Seleksi (Percabangan)
Struktur seleksi menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi atau pengambilan suatu keputusan. Struktur ini ditandai selalu dengan bentuk flowcart decision (flowcart yang berbentuk belah ketupat). struktur seleksi Banyak contoh yang dapat kita terapkan pada struktur jenis ini jika itu menyangkut keputusan, diantaranya: diskon yang berbeda berdasarkan jumlah barang yang ingin dibeli. seleksi3. Struktur Perulangan
Struktur ini memberikan suatu perintah atau tindakkan yang dilakukan beberapa kali. Misalnya jika teman mau menuliskan kata “Belajar C” sebanyak sepuluh kali. akan lebih efisien jika teman menggunakan sturktur ini dari pada sekedar menuliskannya berturut-turut sebanyak sepuluh kali.Cara Penulisan Algoritma
Ada tiga cara penulisan algoritma, yaitu :1. Structured English (SE)
SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada Contoh dan merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.2. Pseudocode
Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan. Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma.Apabila Contoh ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti pada contoh
Contoh Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada contoh di atas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.
3. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuK notasi-notasi tertentu.Secara lebih detil, ini akan dibahas pada bagian berikutnya
0 komentar:
Posting Komentar