ALGORITMA
1.1 Definisi
Algoritma merupakan urutan langkah-langkah untuk menyelesaikan masalah
yang disusun secara sitematis. Algoritma dibuat dengan tanpa memperhatikan bentuk
yang akan digunakan sebagai implementasinya, sehingga suatu Algoritma dapat
menjelaskan “bagaimana” cara melaksanakan fungsi yang dapat diekspresikan dengan
suatu program atau suatu komponen fisik.
Untuk menyelesaikan persoalan programmer haruslah :
1) Dapat mendesain algoritma yang menjelaskan bagaimana persoalan tersebut
diselesaikan.
2) Menulis / merubah algoritma menjadi suatu program dengan menggunakan
suatu Bahasa Pemrograman yang sesuai.
3) Menggunakan komputer untuk menjalankan program.
Flow-Chart
Menggambarkan secara keseluruhan urutan proses / logika, dimana persoalan yang
ada akan diselesaikan, dan menunjukkan tingkat dari detail penyelesaian persoalan
Merupakan cara yang klasik dalam menyajikan algoritma, digunakan simbol-simbol
sebagai berikut :
Start / Stop
1
Penghubung pada halaman yang sama
Cetak hasil
Pseudo Code
Stepwise Refinement Of Algorithms disebut juga sebagai “top-down” desain. Ide dari
“stepwise refinement” adalah membagi suatu proses yang akan diselesaikan menjadi
sejumlah langkah-langkah, yang masing-masing dijelaskan dengan algoritma yang lebih
kecil dan lebih sederhana dari pada proses secara keseluruhan.
Dengan Flow-Chart
Start
m=nn=r
m, n
r = mod(m / n)
Tidak
r=0
Ya Pbt =
Stop
2
Dengan Pseudo-Code
Deskripsi
1) Bagilah m dengan n, misalkan r adalah sisanya
2) Jika r = 0, maka n adalah jawabannya. Stop
Jika r 0, lakukan langkah 3
3) Ganti nilai m dengan nilai n, dan nilai n diganti dengan nilai r, ulangi langkah 1
Contoh 2:
Algoritma tukar isi bejana
Bejana A Bejana B
Bejana C
Bejana A Bejana B
3
Keterangan :
Untuk memindahkan isi dari Bejana A dan Bejana B, dibutuhkan Bejana C
(sebagai tempat penampungan sementara).
1) Isi Bejana C (Kosong) dari Bejana A (warna Merah)
2) Isi Bejana A (setelah Kosong) dari Bejana B (warna Biru)
3) Isi Bejana B (setelah Kosong) dari Bejana C (warna Merah)
4) Maka Isi Bejana A = Biru; Bejana B = Merah dan ; Bejana C = Kosong
MEMORY
Berdasarkan Aplikasi :
Bertujuan Khusus : Contoh COBOL (Bisnis dan Administrasi), FORTRAN
(Ilmiah), PROLOG (Kecerdasan Buatan), ASEMBLER (Pemrograman Mesin).
Bertujuan Umum : Contoh BASIC, PASCAL, C
Berdasarkan kedekatan:
Bahasa tingkat Rendah : Setiap Instruksi langsung dikerjakan komputer, tanpa
melalui TRANSLATOR, contoh : ASEMBLER.
Bahasa tingkat Tinggi : Mudah dipahami , berorentasi ke manusia,
perlu TRANSLATOR, contoh BASIC, PASCAL, C
4
ALGORITMA
Translasi
BAHASA
TINGKAT TINGGI
Kompilasi
BAHASA MESIN
BAHASA MESIN
Interpretasi oleh CPU
OPERASI
OPERASI
(baca, tulis,tulis,
(baca, hitung,
hitung, dsb.)
perbandingan
perbandingan
Algoritma terdiri dari langkah penyelesaian masalah, jadi algoritma adalah proses
Prosedural
Pemrograman Prosedural dibedakan:
Bagian Data
Bagian Instruksi.
Program terdiri atas sequence instruksi, yang dilaksanakan satu per satu secara urut oleh
pemroses (CPU), instruksi dapat berubah bila ada percabangan kondisional. Data di
RAM dimanipulasi oleh instruksi secara beruntun. Tahapan pelaksanaan program
mengikuti pola beruntun disebut Prosedural
5
BAB II
DASAR-DASAR ALGORITMA
PROSES
Sebuah Proses dikerjakan oleh Pemroses (CPU) menurut Algoritma yang sudah ditulis
INSTRUKSI
Algoritma disusun oleh sederetan langkah Instruksi yang logis
AKSI
Tiap langkah Instruksi mengerjakan suatu tindakan (Aksi). Sehingga bila suatu Aksi
dilaksanakan, maka sejumlah operasi yang sesuai dengan aksi dikerjakan oleh Pemroses.
1 2 3 4 5
10 15 5 17 2
No : 1 s/d 5 adalah nomor Elemen, sedangkan Angka 10, 15, 5, 17, 2 adalah data yang
akan diuruntukan dari kecil ke besar.
Cari nilai terkecil dari elemen 1 sampai dengan 5 { nilai adalah 2 pada elemen ke
5}, tukarkan dengan elemen pertama (angka 10), sehingga, menjadi
1 2 3 4 5
2 15 5 17 10
Cari nilai terkecil dari elemen 2 sampai dengan 5 { nilai adalah 5, pada elemen ke 3 },
tukarkan dengan elemen ke 2 (angka 15), sehingga, menjadi
1 2 3 4 5
2 5 15 17 10
Cari nilai terkecil dari elemen 3 sampai dengan 5 { nilai adalah 10, pada elemen ke 5 },
tukarkan dengan elemen ke 3 (angka 15), sehingga, menjadi
1 2 3 4 5
2 5 10 17 15
Cari nilai terkecil dari elemen 4 sampai dengan 5 { nilai adalah 15, pada elemen ke 5 },
tukarkan dengan elemen ke 4 (angka 17), sehingga, menjadi
6
1 2 3 4 5
2 5 10 15 17
SELESAI
DESKRIPSI
Untuk pass k = 1,2,… N-1, lakukan :
7
BAB III
ATURAN PENULISAN ALGORITMA
3.1 TEKS ALGORITMA
b) Kepala Algoritma
c) Deklarasi
d) Deskripsi
CONTOH
MENGHITUNG_NILAI_RATA_RATA
(Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari piranti masukan)
DEKLARASI
X : integer { peubah data bilangan bulat }
N : integer { banyaknya data bilangan bulat, N >
0}
K : integer { pencacah jumlah pengulangan }
Jumlah : integer { jumlah seluruh data bilangan bulat }
Rata : real { rata-rata data bilangan bulat }
DESKRIPSI :
read (N) { baca banyaknya data )
k1 { mulai dari data pertama }
jumlah 0
while k < N do
read (X)
jumlah jumlah + X
k k+1 { cacah pengulangan selanjutnya }
endwhile
(k>N)
8
(* DESKRIPSI *)
begin
write( ‘Jumlah data’); readln (N); {baca banyaknya data
} k := 1; {mulai dari data pertama}
jumlah := 0;
while k <= N do
begin
write(‘x = ?’}; readln X;
jumlah := jumlah + X;
k := k + 1;
end;
rata := jumlah / N;
writeln (‘Rata-rata = ‘, rata);
end.
9
10