Definisi, Tahap Pengembangan, dan Penyajian Lagoritma

| Rabu, 11 September 2013
Mungkin bagi kalian yg berkecimung di dunia pemrograman sudah tidak asing lagi dengan istilah Algoritma.
Namun disini saya akan berusaha membantu teman-teman yg ingin mulai belajar bahasa pemrograman untuk mengetahui sebenarnya apa itu Algoritma, bagaimana tahap pengembangannya dan bagaimana cara penyajian algoritma itu sendiri


1.      Definisi Alogaritma
Dalam matematika dan komputasi, Algoritma atau Algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan Algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. Algoritma secara sederhana dapat diartikan sebagai urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis. Misalkan saja “Algoritma aktifitas pagi hari ini sebelum berangkat kuliah” yaitu (1) turun dari tempat tidur, (2) mandi, (3) berpakaian, (4) makan pagi, (5) pergi kuliah. Jadi perlu diingat bahwa Algoritma tidak hanya diterapkan pada dunia komputasi, tetapi juga Algoritma diterapkan dalam kehidupan sehari-hari.
Terdapat beragam klasifikasi Algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis Algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain Algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu Algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak Algoritma yang berbeda.
a.       Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
b.      Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
c.       Metode Serakah. Sebuah Algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
Kompleksitas dari suatu Algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan Algoritma tersebut untuk menyelesaikan masalah. Secara informal, Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara Algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Jadi intinya, Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan.

2.      Tahap Pengembangan Algoritma
Tahap-tahap pengembangan Algoritma antara lain:
a.       Defenisi Masalah;
b.      Membuat Model;
c.       Rancangan Algoritma;
d.      Tulis Program;
e.       Compile, apabila terjadi “Compile Error” atau “Sintak Error” kita dapat melakukan pengecekan ulang (perbaikan) pada tahap menulis program. Jika tidak terjadi “Compile Error” atau “Sintak Error” maka lanjut pada tahap selanjutnya;
f.       Executable code: =>Run, apabila terjadi error maka kita dapat melakukan pengecekan ulang (perbaikan) pada tahap menulis program, merancang algoritma, membuat model, atau pada tahap mendifinidikan masalah. Jika tidak terjadi error maka lanjut pada tahap selanjutnya;
g.      Dokumentasi

3.      Penyajian Algoritma
Algoritma dapat disajikan dengan menggunakan banyak cara, diantaranya:
a.       Structure English
Penyajian Algoritma dengan Structure English dilakukan dengan menyusun uraian kata yang menggunakan bahasa Inggris atau dengan bahasa lain, misalnya bahasa Indonesia. Algoritma dengan Structure English dapat ditulis dengan menggunakan huruf besar di awal kalimat dan selanjutnya dengan huruf kecil, atau dengan menggunakan huruf besar seluruhnya. Untuk memperjelas dapat ditambahkan nomor urut untuk setiap langkah yang ada. Karena menggunakan bahasa yang sehari-hari digunakan manusia, maka penyajian Algoritma dengan bahasa alamiah dapat dipahami oleh pembaca yang belum memahami bahasa pemrograman, misalnya pemakai sistem.
b.      Pseudocode (sandi semu)
Penulisan sandi semu menggunakan simbol-simbol perintah yang mirip dengan yang menggunakan di dalam bahasa pemrograman. Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai, dan code yang berarti program. Pseudocode ditulis dengan menggunakan huruf besar, sedangkan variabel atau komentar ditulis dengan menggunakan huruf kecil. Untuk memperjelas struktur Algoritma, digunakan tabulasi yang berbeda untuk penulisan sandi semu yang berada dalam kalang (loop) atau struktur kondisional. Dengan penulisan sandi semu mirip dengan penulisan program, maka Algoritma yang ditulis dengan sandi semu lebih tepat digunakan untuk mengkomunikasikan Algoritma kepada pemrogram.
c.       Flowchart
Bagan alir (flowchart) adalah suatu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir . Jenis-jenis flowchart adalah sebagai berikut:
1)                  Program Flowchart
Simbol-simbol yang menggambarkan proses secara rinci dan detail antara instruksi yang satu dengan iunstruksi yang lainnya di dalam suatu program komputer yang bersifat logik (software).
2)                  Sistem Flowchart
Simbol-simbol yang menggambarkan urutan prosedur secar detail di dalam suatu sistem komputerisasi dan bersifat fisik (hardware).
 
Untuk lebih jelasnya saya akan memberikan link untuk mendapatkan bahan pembelajaran tentang algoritma agar kalian dapat memahaminya lebih dalam lagi


Referensi         :

1 komentar:

Next
▲Top▲