Kusnawi, S.Kom, M.Eng
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Program adalah kumpulan instruksi komputer Metode dan tahapan sistematis dalam program adalah algoritma
Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Program = Struktur data + Algoritma
Penulisan algortima tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma adalah independen dari bahasa pemrograman dan komputer yang melaksanakannya. Notasi algoritmik dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Apapun bahasa pemrograman yang akan dipakai, output yang dihasilkan sama dengan berdasarkan algoritma yang sama.
Input: algoritma dapat memiliki nol atau lebih inputan dari luar Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness(pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Effectiveness(tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif
Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar. Pemrosesan yang efisien (cost rendah) Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin. Sifatnya general Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general. Bisa Dikembangkan (expandable) Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
Mudah dimengerti Siapapun yang melihat, dia akan bisa memahami algoritma anda. Susah dimengertinya suatu program akan membuat susah di maintenance (dikelola). Portabilitas yang tinggi (Portability) Bisa dengan mudah diimplementasikan di berbagai platform komputer.
Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
1. Mendefinisikan Masalah Pada langkah ini masalah akan ditentukan terlebih dahulu, kemudian apa saja yang harus dipecahkan dengan komputer. Kemudian ditentukan masukan dan keluarannya.
2. Menentukan Solusi Setelah masalah didefiniskan dengan jelas, masukan apa diberikan sudah jelas, keluaran apa yang diinginkan juga sudah jelas, jalan selanjutnya adalah mencari jalan bagaimana masalah tersebut diselesaikan. Apabila masalahnya terlalu komplek, biasanya harus membaginya kedalam beberapa modul kecil agar lebih mudah diselesaikan.
3. Memilih Algoritma Langkah ini merupakan salah satu langkah penting dalam pemrograman komputer, karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik. Algoritma dapat disajikan dalam bentuk kata-kata (english structure – Indonesia), Pesoudocode dan Flowchart(bagan)
4. Menulis Program Pada langkah ini, akan dimulai penulisan kode program untuk memecahkan masalah. Agar komputer dapat memahami program yang disusun dengan suatu bahasa pemrograman, maka dibutuhkan suatu penterjemah, yaitu interpreter atau compiler.
Interpreter Interpreter berasal dari kata to interpret yang berarti menerjemahkan atau mengartikan. Interpreter merupakan penterjemah bahasa pemrograman yang menerjemahkan instruksi demi instruksi pada saat eksekusi program. Pada saat menerjemahkan, jika ditemukan kesalahan maka interpreter akan menampilkan pesan kesalahan dan proses eksekusi program akan langsung terhenti pada saat itu juga. Compiler compiler dari kata to compile yang berarti menyusun, mengumpulkan atau menghimpun. Compiler merupakan penerjemah bahasa pemrograman yang menerjemahkan instruksi-instruksi dalam satu kesatuan modul ke dalam bahasa mesin (obyek program). Dan mengalami proses linking yang berfungsi untuk menggabungkan modulmodul tersebut dengan modul lain yang berkaitan, sehingga akan dihasilkan suatu file executable yang akan dieksekusi oleh komputer.
Secara umum, sistematika pokok penulisan program terdiri dari inisialisasi, input, proses dan output. 1. Inisialisasi Pada beberapa bahasa pemrograman tersturktur seperti Pascal, C dan lain-lain. Proses inisialisasi merupakan suatu keharusan. Pada tahap ini pemrogram harus menuliskan nama program, piranti yang akan digunakan, konstanta, variabel, fungsi dan prosedur yang akan digunakan.
2. Input Pada tahap ini pemrogram menuliskan perintah-perintah untuk memasukkan data yang akan diproses dengan suatu prosedur. 3. Proses Pada tahap ketiga ini pemrogram menuliskan proses-proses pengolahan data, baik berupa rumus matematika, statistik maupun logika dan lain-lain. 4. Output Pada tahap terakhir ini pemrogram menuliskan perintah-perintah untuk menampilkan hasil pengolahan data dalam bentuk format tertentu, seperti tabel, grafik dan lain-lain.
5. Menguji Program (Testing dan Debuging) Testing dan debuging mempunyai tujuan yang sama yaitu menghasilkan program yang benar. Testing adalah proses mengeksekusi program secara intensif untuk menemukan kesalahan. Debuging adalah saat menemukan kesalahan sampai kesalahan itu diperbaiki sehingga tidak ada kesalahan lagi.
6. Menulis Dokumentasi Contoh dokumentasi sederhana adalah dengan menuliskan setiap baris program atau setiap beberapa baris program, dengan ditambahkan komentar yang menjelaskan dari suatu pernyataan.
7. Merawat Program Langkah ini dilakukan setelah program selesai dibuat dan sudah digunakan oleh pengguna. Hal yang paling sering terjadi disini adalah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin pengguna ingin tambahan suatu fasilitas baru. Jadi pemeliharaan program berarti melakukan koreksi, adaptasi dan melengkapi fasilitas guna mengantisipasi kebutuhan masa depan.
Proses Registrasi Pembayaran Mahasiswa Baru di STMIK AMIKOM Proses Aktivasi Fasilitas Wifi STMIK AMIKOM Seorang bapak ingin anaknya agar membelikan dia sebuah cerutu. Sesampainya di Toko, sang anak bertanya kepada penjaga kios. “hei Brother… dimana saya bisa menemukan cerutu ?” Penjaga kios menjawab, “ Di Pojok Boz..” Lalu sang anak pergi ke pojok toko tersebut dan mencari letak cerutu. Setelah memilih sebuah cerutu sang anak pergi ke kasir dan mengeluarkan uang pecahan 50 ribuan. Sang penjaga kios memberi kembalian berupa uang 10ribuan 1 lembar dan uang seribuan 3 lembar. Belum beranjak 15 meter dari pintu toko, sang kasir memanggil si anak dan mengatakan bahwa uang 50 ribuannya uang palsu. Sang anak kemudian mengeluarkan uang cadangan dari sakunya dan menukar uang 50 ribuan tersebut. Setelah urusan beres, ia pun kembali ke rumah.
Menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit. [clue : R = 4/5 * C dan F = 9/5 * C + 32]
Menghitung sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku.
Mengkonversi nilai angka ke huruf Nilai angka Nilai huruf : 80.0 - 100 A 65.0 - 79.9 B 55.0 – 64.9 C 45.0 – 54.9 D 0 – 44.9 E