1. Pengantar Algoritma

- HOME -

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 ::

suatu saat kita disuruh seseorang untuk membuat suatu program untuk mencari rata-rata , nilai maksimum, dan nilai minimum dari suatu deretan data ............................................................. ( PROBLEM 1.1 )

algoritma Narasi untuk PROBLEM 1.1 dapat berbentuk sebagai berikut :::
untuk mencari rata - rata, tambahkan semua element data lalu dibagi dengan jumlah data ( coba bedakan element dengan jumlah data , jika kita punya sebuah deretan data dengan element-element ::: { 90, 78, 45, 32, 89, 100, 77 }, maka, yang termasuk dalam element - elementnya yaitu {90},{78},{45} dsb, sedangkan jumlah data-nya sebesar 7 )

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.


Copyright @2004 , by Floyd
Hosted by www.Geocities.ws

1