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 :

Lebih Detail lagi ada di sini,
BalasHapusPranala -> CARA PENYAJIAN ALGORITMA