DISUSUN OLEH :
MUHAMMAD AQSA RAMADHAN (H071201074)
Pseudo-code Algoritma
Notasi Pseudocode
Linear-Search(A, key)
1 indeks 1;
2 ada False;
3 while indeks length[A] and ada = False
4 if A[indeks] = key then
5 ada True;
6 indeks indeks + 1;
7 indeks indeks - 1;
8 if ada = False then
9 indeks length[A] + 1;
10 A[indeks] key;
11 return indeks
Implementasi lain ide algoritma kedalam pseudo-code boleh jadi menghasilkan jumlah
baris yang lebih sedikit, namun fungsi laju running time algoritma akan tetap samaterhadap
jumlah data
Ketentuan Pseudocode
Selama statemen perulangan memeriksa bahwa pernyataan (indeks length[A] dan ada
= False) bernilai Benar.
Perulangan berlanjut dengan indeks = indeks + 1.
Penghentian (termination)
Jika key ditemukan A[indeks] = key maka prulangan berhenti ada = True ATAU jika tidak
ada lagi data yg bisa dibandingkan indeks > length[A].
Algoritma Insertion Sort
Insertion-Sort(A)
1 for j 2 to length[A]
2 key A[j]
3 ij–1
4 while (i > 0 A[i] > key)
5 A[i + 1] A[i]
6 ii–1
7 A[i + 1] key
• Baris 1, j <- 2 , indeks elemen kedua dari vektor akan digunakan untuk dibandingkan
dengan elemen dari indeks depannya
• Baris 2, key <- A[j] menyimpan sementara nilai
• Baris 3, i <- j-1 menginisialisasi nilai elemen didepan key.
• Baris 4, pada kondisi while pertama i > 0 artinya perulangan berlanjut sampai tidak ada
lagi elemen yang berada didepan key.
• Baris 5, A[i + 1] <- A[i] merupakan proses penukaran dari elemen depan key menuju ke
belakang key.
• Baris 6, i <- i-1 proses iterasi agar nilai terus bergerak ke bawah.
• Baris 7, A[i + 1] <- key adalah proses penambahan elemen A menjadi nilai dari key
Analisis Algoritma
5 A[i + 1] A[i]
j =2 (t j − 1)
n
6 ii–1
j =2 (t j − 1)
n
7 A[i + 1] key
n-1
n n n
T (n) = n + (n -1) + (n -1) + å t j + å (t j -1) + å (t j -1) + (n -1)
j=2 j=2 j=2
n
= 2n + 3å t j -1
j=2
Waktu komputasi tidak hanya tergantung pada jumlah data, tetapi juga tergantung pada
bagaimana barisan input data