2.7. Analisis Kinerja Algoritma
Algoritma merupakan suatu prosedur yang jelas untuk menyelesaikan suatu persoalan
dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya. Suarga, 2006.
Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien. Efisiensi suatu
algoritma dapat diukur dari waktu eksekusi algoritma dan kebutuhan ruang memori. Algoritma yang efisien adalah algoritma yang meminimumkan kebutuhan waktu dan
ruang. Algoritma memiliki kompleksitas, dimana ukuran kompleksitas tersebut merupakan acuan utama untuk mengetahui kecepatan dari algoritma tersebut.Besaran
yang digunakan untuk menjelaskan model pengukuran waktu dan ruang ini adalah kompleksitas algoritma.
2.8. Kompleksitas Algoritma
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi
yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki
kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Waktu yang
diperlukan untuk menjalankan suatu algoritma harus semakin cepat. Karena kompleksitas waktu menjadi hal yang sangat penting.
Kompleksitas algoritma terdiri dari dua macam yaitu kompleksitas waktu dan kompleksitas ruang. Ulfah Nur Azizah, 2013. Pada penulisan skripsi ini penulis
hanya menggunakan kompleksitas waktu, yaitu Big θ Theta.
Universitas Sumatera Utara
2.8.1. Kompleksitas Waktu Time Complexity Kompleksitas waktu Time Complexity, dinyatakan oleh Tn, diukur dari jumlah
perhitungan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n, dimana ukuran masukan n merupakan jumlah data
yang diproses oleh sebuah algoritma. Jumlah tahapan komputasi dihitung dari berapa kali suatu operasi dilaksanakan di dalam sebuah algoritma sebagai fungsi ukuran
masukan n. Running time adalah sejumlah waktu yang dibutuhkan untuk mengeksekusi setiap baris pseudocode. Running time dari sebuah algoritma adalah
jumlah dari running time dari setiap statement yang dieksekusi.
Kompleksitas waktu Time Complexity adalah hubungan waktu komputasi dan jumlah input. Kompleksitas waktu biasanya tentang ukuran dari sebuah array
atau obyek. Kompleksitas waktu tidak digunakan untuk fungsi yang sederhana seperti menginput username dari database atau mengenkripsi password melainkan digunakan
untuk menyortir sebuah fungsi, perhitungan rekursif dan secara umum biasanya untuk perhitungan waktu.
Big θ Theta adalah bagian dari kompleksitas waktu dari sebuah algoritma. Big θ Theta Didefinisikan bahwa fn merupakan Theta dari gn dan dinotasikan
fn = θgn jika dan hanya jika terdapat tiga konstanta positif n
, c
1
dan c
2
sedemikian berlaku Robert Setiadi, 2008 :
| C
1
gn | = | fn | = |C
2
gn |; ∀n n
0.
Universitas Sumatera Utara
2.9. Penelitian Terdahulu