6 ii–1 ∑
𝑛
(𝑡𝑗 − 1)
𝑗=2
7 A[i + 1] key n–1
Untuk menghitung waktu komputasi algoritma tersebut, maka kita menjumlahkan semua T(n)
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 n n n
Selanjutnya, (t j 1) dapat diubah menjadi
j 2
tj -
j 2
1 , maka akan menjadi
j 2
t
j 2
j (n 1) .
Maka T(n) menjadi
n n
T(n) = 4n 3 t j 2 t j (n 1)
j 2 j 2
n n
T(n) = 4n 3 t j 2 t j 2n 2
j 2 j 2
n adalah banyaknya data. Sehingga ketika terdapat sebanyak 4 data, maka perintah for
akan terlaksanakan sebanyak 4 kali, yaitu 3 kali saat kondisinya terpenuhi dan 1 kali pada saat
kondisinya tak terpenuhi. Hal inilah yang menyebabkan perintah di bawahnya menjadi (n-1),
karena pada saat kondisi perintah for tidak terpenuhi, maka perintah di bawahnya tidak
dijalankan. tj adalah banyak perintah while dijalankan, hal ini dapat digambarkan sebagai
berikut:
misalnya kita memiliki 4 data untuk diurutkan
A: a b c d
Maka ketika algoritma Insertion-Sort dijalankan, maka perintah While akan berjalan sebanyak:
Max:
t2=2 t3=3 t4=4
A:
a b c d
Min:
t2=1 t3=1 t4=1
Maka,
tj =1 adalah kasus terbaik/best case atau tj minimum. Kasus ini terjadi ketika semua data
telah terurut. Maka dengan menggunakan rumus T(n) akan didapatkan:
n
T(n) = 2n 31 1 5n 4
j 2