Definisi Kompleksitas Algoritma ANALISIS DAN PERANCANGAN SISTEM

bernilai 4. Bandingkanlah maka hasil maksimum yang diperoleh untuk mengambil pergeseran yaitu 4 kali pergeseran. Langkah 2 : Index 0 1 2 3 4 5 6 7 8 9 bmBc B A C B A B A B A B Index 1 2 3 bmGs A B A B Keterangan : Terlihat semua karakter cocok. Jika semua karakter telah cocok maka harus shift dengan nilai bmGs [0]. Nilai bmGs [0] pada Tabel 2.3 adalah bernilai 2. Maka lakukan pergeseran sebanyak 2 kali tanpa membandingkan nilai bmGs dan bmBc. Langkah 3 : Index 0 1 2 3 4 5 6 7 8 9 bmBc B A C B A B A B A B Index 1 2 3 bmGs A B A B Keterangan : Terlihat semua karakter telah cocok dan window berada pada akhir teks maka tidak ada lagi pergeseran.

2.3 Definisi Kompleksitas Algoritma

Kebenaran suatu algoritma harus diuji dengan jumlah masukan tertentu untuk melihat kinerja algoritma berupa waktu yang diperlukan untuk menjalankan algoritmanya dan ruang memori yang diperlukan untuk struktur datanya. Algoritma yang bagus adalah algoritma yang mangkus efisien. Kemangkusan algoritma diukur dari jumlah waktu dan ruang memori yang dibutuhkan untuk menjalankan algoritma tersebut. Algoritma yang mangkus adalah algoritma yang meminimumkan kebutuhan waktu dan ruang. Aplikasi sebuah algoritma dapat dikatakan baik atau efisien adalah memerlukan kriteria formal yang digunakan untuk menilai algoritma tersebut yaitu kemangkusan algoritma dengan kompleksitasnya. Besaran yang dipakai untuk menerangkan model penilaian waktu atau ruang algoritma adalah dengan menggunakan kompleksitas algoritma. Ada dua macam kompleksitas algoritma, yaitu kompleksitas waktu dan kompleksitas ruang. Kompleksitas waktu dari algoritma adalah mengukur jumlah perhitungan komputasi yang dikerjakan oleh komputer ketika menyelesaikan suatu masalah dengan menggunakan algoritma. Ukuran yang dimaksud mengacu ke jumlah langkah-langkah perhitungan dan waktu tempuh pemrosesan. Kompleksitas waktu merupakan hal penting untuk mengukur efisiensi suatu algoritma. Kompleksitas waktu dari suatu algoritma yang terukur sebagai suatu fungsi ukuran masalah. Kompleksitas waktu dari algoritma berisi ekspresi bilangan dan jumlah langkah yang dibutuhkan sebagai fungsi dari ukuran permasalahan. Kompleksitas ruang berkaitan dengan sistem memori yang dibutuhkan dalam eksekusi program. Untuk mengukur kebutuhan waktu sebuah algoritma yaitu dengan mengeksekusi langsung algoritma tersebut pada sebuah komputer, lalu dihitung berapa lama durasi waktu yang dibutuhkan untuk menyelesaikan sebuah persoalan dengan n yang berbeda-beda. Kemudian dibandingkan hasil komputasi algoritma tersebut dengan notasi kompleksitas waktunya untuk mengetahui efisiensi algoritmanya Nugraha, D.W. 2012. Kompleksitas algoritma diukur berdasarkan kinerjanya dengan menghitung waktu eksekusi suatu algoritma. Menurut Cormen et al. 2009 waktu eksekusi algoritma dapat diklasifikasikan menjadi tiga kelompok besar, yaitu best-case kasus terbaik, average-case kasus rata-rata dan worst-case kasus terjelek. Pada pemrograman yang dimaksud dengan kasus terbaik, kasus terjelek dan kasus rata-rata suatu algoritma adalah besar kecilnya atau banyak sedikitnya sumber- sumber yang digunakan oleh suatu algoritma. Makin sedikit makin baik, makin banyak makin jelek Subandijo. 2011. 2.4 Definisi Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi-aplikasi baru Safaat, N. 2015. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia Buulolo, E. 2013.

2.5 Penelitian yang relevan