
Algoritma dapat diartikan sebagai suatu teknik untuk menyelesaikan masalah, terutama yang berhubungan dengan masalah komputer, seperti graph, mathematic, dan sebagainya.
salah satu contoh sederhana implementasi algoritma ( dalam kehidupan sehari - hari ) ::
jika kita ingin menelepon seseorang,
hal yang paling awal kita lakukan adalah memegang gagang telepon, lalu mengangkatnya, kemudian menekan tombol sesuai
nomor tujuan, tunggu beberapa detik sampai kita mendapat respon dari orang yang kita hubungi.
contoh lain :
jika kita ingin membaca, hal yang paling awal kita lakukan adalah mencari buku yang ingin kita baca,
buka buku, cari halaman yang kita inginkan, dan baca. mudah bukan ? ;)
dalam kasus di atas, algoritma dapat diartikan sebagai suatu langkah terbatas ( atau memiliki awal dan akhir ) dalam memecahkan suatu masalah.
dalam pemrograman , kita bisa meng-implementasi-kan algoritma dengan 3 cara, antara lain :::
1) narasi ( bahasa manusia )
2) pseudocode
3) flowchart
Narasi adalah algoritma yang dituliskan dalam kata-kata sesuai bahasa yang kita inginkan. misalnya, bahasa Indonesia.
salah satu contohnya ::
untuk mencari nilai maksimum, kita buat sebuah variabel max dan diinisialkan menjadi nilai minimum ( ato max := 0), lalu kita melakukan iterasi ( pengulangan, penelusuran, atau kalo dalam bahasa pascal kita pake syntax for ... to/downto ... do ... ), di dalam iterasi ini kita lakukan perbandingan, jika nilai saat ini ( ato nilai ke-i ) lebih besar dari max, maka berikan nilai data ke-i ke variabel max
untuk mencari nilai minimum, kita buat sebuah variabel min dan diinisialkan menjadi nilai maksimum ( ato min := 99999 ), lalu kita melakukan iterasi dari 1 sampai data terakhir, di dalam iterasi kita lakukan perbandingan, jika data ke-i < min, maka berikan nilai data ke-i ke variabel min
pseudocode adalah algoritma yang dituliskan dalam semi-code.
untuk PROBLEM 1.1 :::
1 function rata_rata(A) : real;
2 for i = 1 to length(A) do
3 jumlah <- jumlah + A[i]
4 rata_rata <- jumlah / length(A)
5
6 function min(A) : real;
7 min <- 99999
8 for i = 1 to length(A) do
9 if A[i] < min then min <- A[i]
10
11 function max(A) : real;
12 max <- 0
13 for i = 1 to length(A) do
14 if A[i] > max then max <- A[i]
ups, cara penulisannya, saya meniru USACO ;) gak pa-pa khan ? yach, meski gak bener-bener mirip ;)
kalo flowchart itu berupa gambar, grafik, bagan, yach, pokoknya sejenis itu. tapi, saya tidak mau membahas banyak soal flowchart, karena bentuk yang satu ini paling jarang digunakan.