BAB 2
LANDASAN TEORI
2.1
String Matching
2.1.1 Pengertian String Matching String matching adalah pencarian sebuah pattern pada sebuah teks (Cormen, T.H. et al. 1994). String matching digunakan untuk menemukan suatu string yang disebut dengan pattern dalam string yang disebut dengan teks (Charras, C. & Lecroq, T. 1997). Prinsip kerja algoritma string matching (Effendi, D. et al. 2013) adalah sebagai berikut: 1. Memindai teks dengan bantuan sebuah window yang ukurannya sama dengan panjang pattern. 2. Menempatkan window pada awal teks. 3. Membandingkan karakter pada window dengan karakter dari pattern. Setelah pencocokan (baik hasilnya cocok atau tidak cocok) dilakukan pergeseran ke kanan pada window. Prosedur ini dilakukan berulang-ulang sampai window berada pada akhir teks. Mekanisme ini disebut mekanisme sliding window. Algoritma string matching mempunyai tiga komponen utama (Effendi, D. et al. 2013), yaitu: 1. Pattern, yaitu deretan karakter yang akan dicocokkan dengan teks, dinyatakan dengan π₯[0 β¦ π β 1], panjang pattern dinyatakan dengan π. 2. Teks, yaitu tempat pencocokan pattern dilakukan. Dinyatakan dengan π¦[0 β¦ π β 1], panjang teks dinyatakan dengan π.
Universitas Sumatera Utara
6
3. Alfabet, berisi semua simbol yang digunakan oleh bahasa pada teks dan pattern, dinyatakan dengan β dengan ukuran dinyatakan ASIZE. 2.1.2 Cara Kerja String Matching Cara yang jelas untuk mencari pattern yang cocok dengan teks adalah dengan mencoba mencari di setiap posisi awal dari teks dan mengabaikan pencarian secepat mungkin jika karakter yang salah ditemukan (Knuth, D.E. et al. 1977). Proses pertama adalah menyelaraskan bagian paling kiri dari pattern dengan teks. Kemudian dibandingkan karakter yang sesuai dari teks dan pattern. Setelah seluruhnya cocok maupun tidak cocok dari pattern, window digeser ke kanan sampai posisi (π β π + 1) pada teks. Menurut Singh, R. & Verma, H.N. (2011), efisiensi dari algoritma terletak pada dua tahap: 1. Tahap praproses, tahap ini mengumpulkan informasi penuh tentang pattern dan menggunakan informasi ini pada tahap pencarian. 2. Tahap pencarian, pattern dibandingkan dengan window dari kanan ke kiri atau kiri ke kanan sampai kecocokan atau ketidakcocokan terjadi. Dengan sebuah nilai karakter (m < n) yang akan dicari dalam teks. Dalam algoritma pencocokan string, teks diasumsikan berada di dalam memori, sehingga bila kita mencari string di dalam sebuah arsip, maka semua isi arsip perlu dibaca terlebih dahulu kemudian disimpan di dalam memori. Jika pattern muncul lebih dari sekali di dalam teks, maka pencarian hanya akan memberikan keluaran berupa lokasi pattern ditemukan pertama kali (Wulan, 2011).
2.1.3 Klasifikasi Algoritma String Matching Algoritma string matching dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya (Charras, C. & Lecroq, T. 1997), yaitu: 1. From left to right Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk membaca. Algoritma yang termasuk dalam kategori ini adalah algoritma Brute Force, algoritma Morris dan Pratt yang kemudian dikembangkan menjadi algoritma Knuth-Morris-Pratt.
Universitas Sumatera Utara
7
2. From right to left Dari arah kanan ke kiri, arah yang biasanya menghasilkan hasil terbaik secara partikal. Contoh algoritma ini adalah algoritma Boyer-Moore, yang kemudian banyak dikembangkan menjadi algoritma Tuned Boyer-Moore, algoritma Turbo Boyer-Moore, algoritma Zhu Takaoka dan algoritma Horspool. 3. In a specific order Dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis. Algoritma yang termasuk kategori ini adalah algoritma Colussi dan algoritma Crochemore-perrin.
2.1.4 Teknik Algoritma String Matching Menurut Singla, N. & Garg, D. (2012), ada dua teknik utama dalam algoritma string matching, yaitu: 1. Exact string matching. Exact string matching, merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama. Bagian algoritma ini bermanfaat jika pengguna ingin mencari string dalam dokumen yang sama persis dengan string masukan. Beberapa algoritma exact string matching antara lain: a. Knuth-Morris-Pratt Metode ini mencari kehadiran sebuah kata dalam teks dengan melakukan observasi awal (preprocessing) dengan cara mengecek ulang kata sebelumnya. Algoritma ini melakukan pencocokan dari kiri ke kanan. b. Boyer-Moore Algoritma Boyer-Moore adalah algoritma string matching yang paling efisien dibandingkan algoritma string matching lainnya. Sebelum melakukan pencarian string, algoritma melakukan proses terlebih dahulu pada pattern, bukan pada string pada teks tempat pencarian. Algoritma ini melakukan pencocokan karakter yang dimulai dari kanan ke kiri. Karena sifatnya yang sangat efisien, Boyer-Moore memiliki banyak variasi penyederhanaannya. Salah satunya adalah algoritma Horspool yang akan digunakan dalam penelitian ini dan akan dijelaskan pada poin berikutnya.
Universitas Sumatera Utara
8
2. Approximate string matching atau Fuzzy string matching. Fuzzy string matching merupakan pencocokan string secara samar, maksudnya pencocokan string dimana string yang dicocokkan memiliki kemiripan memiliki susunan karakter yang berbeda (mungkin jumlah atau urutannya), tetapi string tersebut memiliki kemiripan baik kemiripan tekstual/penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching).
2.2
Algoritma Horspool
Algoritma Horspool adalah penyederhanaan dari algoritma Boyer-Moore yang dibuat oleh R. Nigel Horspool. Menurut Horspool, R.N. (1980), masalah dalam pencarian teks ini adalah mencari dalam teks yang besar untuk menemukan pattern pertama. Karena teks yang dicari bisa sangat besar (memungkinkan ratusan ribu karakter) maka penting untuk menggunakan teknik yang lebih efisien. Algoritma Horspool bekerja dengan metode yang hampir sama dengan algoritma Boyer-Moore namun tidak melakukan lompatan berdasarkan karakter pada pattern yang ditemukan tidak cocok pada teks. Algoritma Horspool mempunyai nilai pergeseran karakter yang paling kanan dari window. Pada tahap observasi awal (preprocessing), nilai shift akan dihitung untuk semua karakter. Pada tahap ini, dibandingkan pattern dari kanan ke kiri hingga kecocokan atau ketidakcocokan pattern terjadi. Karakter yang paling kanan pada window digunakan sebagai indeks dalam melakukan nilai shift. Dalam kasus ketidakcocokan (karakter tidak terdapat pada pattern) terjadi, window digeser oleh panjang dari sebuah pattern. Jika tidak, window digeser menurut karakter yang paling kanan pada pattern (Baeza-Yates, R.A. & Regnier, M. 1992).
2.2.1 Pencarian Dengan Algoritma Horspool Terdapat dua tahap pada pencocokan string menggunakan algoritma Horspool (Singh, R. & Verma, H.N. 2011), yaitu: 1. Tahap praproses Pada tahap ini, dilakukan observasi pattern terhadap teks untuk membangun sebuah tabel bad-match yang berisi nilai shift ketika ketidakcocokan antara pattern
Universitas Sumatera Utara
9
dan teks terjadi. Secara sistematis, langkah-langkah yang dilakukan algoritma Horspool pada tahap praproses adalah: a. Algortima Horspool melakukan pencocokan karakter ter-kanan pada pattern. b. Setiap karakter pada pattern ditambah ke dalam tabel bad-match dan dihitung nilai shift-nya. c. Karakter yang berada pada ujung pattern tidak dihitung dan tidak dijadikan karakter ter-kanan dari karakter yang sama dengannya. d. Apabila terdapat dua karakter yang sama dan salah satunya bukan karakter terkanan, maka karakter dengan indeks terbesar yang dihitung nilai shift-nya. e. Algoritma Horspool menyimpan panjang dari pattern sebagai panjang nilai shift secara default apabila karakter pada teks tidak ditemukan dalam pattern. f. Nilai (value) shift yang akan digunakan dapat dicari dengan perhitungan panjang dari pattern dikurang indeks terakhir karakter dikurang 1, untuk masing-masing karakter, π£πππ’π = π β π β 1. Sebagai contoh, dapat dilihat pada Tabel 2.1 berikut. Pattern: KARTIKA πΎ βπ΄ βπ
βπ ββ πΌπΎ βπ΄ β 0 1 2 3 4 5 6
Tabel 2.1 Bad-match pada praproses Karakter Index Value K 5 1 A 1 5 R 2 4 T 3 3 I 4 2 * 7 value = 7 β 5 β 1 = 1 value = 7 β 1 β 1 = 5 value = 7 β 2 β 1 = 4 value = 7 β 3 β 1 = 3 value = 7 β 4 β 1 = 2 * : karakter yang tidak dikenali
Universitas Sumatera Utara
10
2. Tahap pencarian Secara sistematis, langkah-langkah yang dilakukan algoritma Horspool pada tahap praproses adalah: a. Dilakukan perbandingan karakter paling kanan pattern terhadap window. b. Tabel bad-match digunakan untuk melewati karakter ketika ketidakcocokan terjadi. c. Ketika ada ketidakcocokan, maka karakter paling kanan pada window berfungsi sebagai landasan untuk menentukan jarak shift yang akan dilakukan. d. Setelah melakukan pencocokan (baik hasilnya cocok atau tidak cocok) dilakukan pergeseran ke kanan pada window. e. Prosedur ini dilakukan berulang-ulang sampai window berada pada akhir teks atau ketika pattern cocok dengan teks. Untuk menggambarkan rincian algoritma, akan diberikan contoh kasus dimana pattern P = βKARTIKAβ dan teks T = βADEMUTIARA KARTIKAβ. Inisialisasi awal dan pembuatan bad-match terlihat pada Tabel 2.2 dan Tabel 2.3 berikut. Tabel 2.2 Inisialisasi awal bad-match m 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 15 16 17 T A D E M U T I A R A K A R T I K A P K A R T I K A i 0 1 2 3 4 5 6 Tabel 2.3 Pembuatan bad-match P i v
A R 1 2 5 4
T 3 3
I 4 2
K 5 1
* 7
Seperti yang terlihat pada Tabel 2.2 di atas, inisialisasi awal bad-match dilakukan. Setiap teks dan pattern masing-masing diberi nilai m dan i, dimana m sebagai panjang pattern dan i sebagai indeks. Tabel 2.3 menunjukkan nilai pergeseran bad-match dengan menghitung nilai v seperti yang telah dilakukan pada Tabel 2.1. Pada tahap awal pencarian, dilakukan perbandingan karakter paling kanan pattern terhadap window. Apabila terjadi ketidakcocokan, akan dilakukan pergeseran ke kanan untuk melewati karakter yang tidak cocok dimana nilai pergeserannya terdapat
Universitas Sumatera Utara
11
pada tabel bad-match. Karakter paling kanan teks pada window berfungsi sebagai landasan untuk menentukan jarak geser yang akan dilakukan. Hal ini terlihat pada Tabel 2.4 berikut.
Tabel 2.4 Iterasi algoritma Horspool pertama m 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 15 16 17 T A D E M U T I A R A K A R T I K A P K A R T I K A i 0 1 2 3 4 5 6 Terdapat ketidakcocokan seperti yang terlihat pada Tabel 2.4. Karakter βIβ adalah karakter paling kanan teks pada window. Pada tabel bad-match, nilai geser karakter βIβ adalah 2. Maka, dilakukan pergeseran ke kanan pada window sebanyak 2 kali. Hal ini terlihat pada Tabel 2.5.
Tabel 2.5 Iterasi algoritma Horspool kedua m 1 2 3 5 6 T A D E M U P K A R i 0 1 2
7 T T 3
8 I I 4
9 10 11 12 13 14 15 16 15 16 17 A R A K A R T I K A K A 5 6
Pada Tabel 2.5, terdapat ketidakcocokan kembali antara karakter βRβ dan βAβ. Pada tabel bad-match, nilai geser karakter βRβ adalah 4. Maka, dilakukan pergeseran ke kanan pada window sebanyak 4 kali. Hal ini terlihat pada Tabel 2.6.
Tabel 2.6 Iterasi algoritma Horspool ketiga m 1 2 T A D P i
3 5 6 E M U
7 T
8 9 10 11 12 13 14 15 16 15 16 17 I A R A K A R T I K A K A R T I K A 0 1 2 3 4 5 6
Pada iterasi ketiga yang terlihat pada Tabel 2.6, kecocokan pattern dan teks terjadi pada karakter βAβ dan karakter βKβ. Namun, kembali terjadi ketidakcocokan antara karakter βIβ dan β(spasi)β. Maka, karakter paling kanan teks pada window menentukan jarak geser yang akan dilakukan. Sebagaimana yang terlihat pada Tabel 2.6, karakter βAβ berfungsi sebagai landasan nilai geser. Nilai geser karakter βAβ
Universitas Sumatera Utara
12
yang terdapat pada tabel bad-match adalah 5. Maka dilakukan pergeseran ke kanan pada window sebanyak 5 kali dan dilanjutkan dengan iterasi keempat seperti yang terlihat pada Tabel 2.7.
m 1 2 T A D P i
Tabel 2.7 Iterasi algoritma Horspool keempat 3 5 6 7 8 9 10 11 12 13 14 15 16 15 16 17 E M U T I A R A K A R T I K A K A R T I K A 0 1 2 3 4 5 6
Pada Tabel 2.7, window telah berada pada akhir teks dan semua pattern cocok dengan teks. Seluruh pencocokan karakter menggunakan algoritma Horspool telah selesai dan berhenti pada iterasi keempat.
Berikut adalah pseudocode algoritma Horspool pada tahap praproses: Procedure preBmBc ( input P : array[0. . m-1] of char, input m : integer, input/output BmBc : array [0 . . n-1] of integer ) Deklarasi: i : integer Algoritma: for (i := 0 to ASIZE β 1) BmBc[i] := m; endfor for (i := 0 to m-2) BmBc[P[i]] := m β i β 1; endfor
Dan berikut adalah pseudocode algoritma Horspool pada tahap pencarian: Procedure HorspoolSearch ( input m, n : integer, input P : array[0 . . m-1] of char, input T : array[0 . . n-1] of char, output find : array[0 . . m-1] of boolean ) Deklarasi: j : integer BmBc : array[0 . . n] of integer c : char Algoritma: preBmBc(P, m, BmBc) j := 0
Universitas Sumatera Utara
13 while (j <= n β m) do c = T[j + m β 1]; if (P[m β 1] == c && memcmp(P, T + j, m-1) == 0) then find[j] := true; endif j := j + BmBc[c]; endwhile
2.2.2 Kelebihan Algoritma Horspool Algoritma Horspool merupakan penyederhanaan dari algoritma Boyer-Moore dan mudah dalam implemenasinya. Algoritma Horspool hanya menggunakan pergeseran karakter-buruk yang terjadi pada Boyer-Moore (Charras, C. & Lecroq, T. 1997). Untuk melakukan dan menghitung nilai pergeseran bad-character adalah dengan melihat karakter paling kanan pada window. Algortima ini lebih efisien digunakan ketika ditemukan panjang pattern yang kecil (Sheik, S.S. et al. 2004). Adapun kelebihan algoritma Horspool telah digunakan dalam beberapa penelitian. Penelitian oleh Hastriana, E. (2010) yang membandingkan algoritma string matching
Knuth-Morris-Pratt
dengan
Boyer-Moore-Horspool
pada
simulasi
pengenalan sidik jari telah dihasilkan dari simulasi pengenalan sidik jari melalui tahap model pengembangan sistem RAD yang dibuat bahwa algoritma Boyer-MooreHorspool menghasilkan pencocokan yang lebih cepat dibanding Knuth-Morris-Pratt karena Boyer-Moore-Horspool melakukan pergeseran yang lebih jauh daripada Knuth-Morris-Pratt. Penelitian oleh Mirabella, F.M. (2012) yang membandingkan algoritma BoyerMoore dan variasi-variasinya dalam pencarian string telah dihasilkan bahwa algoritma Horspool jauh lebih sederhana penggunaannya dibandingkan algoritma Boyer-Moore tetapi total kompleksitas waktu yang dibutuhkan algoritma menyatakan algoritma Horspool masih kalah cepat dalam melakukan pencocokan string dibandingkan dengan beberapa variasi turunan algoritma Boyer-Moore. Penelitian oleh Tambun, E.D. (2010) yang membandingkan penggunaan algoritma Boyer-Moore dan algoritma Horspool pada pencarian string dalam bahasa medis telah dihasilkan dari pengujian dan analisa program yang dibuat bahwa pencarian string dalam bahasa medis dengan menggunakan algoritma Boyer-Moore lebih baik dibandingkan dengan algoritma Horspool dikarenakan bahasa medis banyak menggunakan kosakata yang panjang dengan karakter yang beragam. Namun, algoritma Boyer-Moore kurang cocok digunakan untuk teks dengan varian karakter
Universitas Sumatera Utara
14
yang sedikit (binary string) dikarenakan lompatan pengecekan yang dilakukan oleh Boyer-Moore menjadi cenderung lebih pendek.
2.3
Information Retrieval System
2.3.1 Pengertian Information Retrieval System Menurut Hasugian, J. (2006), sistem temu kembali informasi pada dasarnya adalah suatu proses untuk mengidentifikasi, kemudian memanggil (retrieval) suatu dokumen dari suatu simpanan (file), sebagai jawaban atas permintaan informasi. Secara sederhana, temu kembali informasi merupakan suatu sistem yang menyimpan informasi dan menemukan kembali informasi tersebut (Saptari, J. & Purwono, 2006). Sistem Temu Balik Informasi (Information Retrieval System) adalah ilmu mencari informasi dalam suatu dokumen, mencari dokumen itu sendiri dan mencari metadata yang menggambarkan suatu dokumen. Dalam sudut pandang pengguna, Sistem Temu Balik Informasi membantu pencarian informasi dengan memberikan koleksi informasi yang sesuai dengan kebutuhan pengguna (Wibowo, A. 2012).
2.3.2 Komponen Information Retrieval System Ada lima komponen Sistem Temu Balik Informasi (Hasugian, J. 2006), yaitu: 1. Pengguna. Pengguna STBI adalah orang yang menggunakan atau memanfaatkan STBI dalam rangka kegiatan pengelolaan dan pencarian informasi. Berdasarkan perannya, pengguna STBI dibedakakan atas 2 (dua) kelompok yaitu pengguna (user) dan pengguna akhir (end user). Pengguna (user) adalah seluruh pengguna STBI yang menggunakan STBI baik untuk pengelolaan (input data, backup data, maintenance) maupun untuk keperluan pencarian/penelusuran informasi, sedangkan pengguna akhir (end user) adalah pengguna yang hanya menggunakan STBI untuk keperluan pencarian dan atau penelusuran informasi. 2. Query. Query adalah format bahasa permintaan yang dimasukkan oleh pengguna kedalam STBI. Dalam interface STBI, selalu disediakan kolom/ruas sebagai tempat bagi pengguna untuk mengetikkan query-nya. Setelah query dimasukkan selanjutnya
Universitas Sumatera Utara
15
mesin akan melakukan proses pemanggilan (recall) terhadap dokumen yang diinginkan dari database. 3. Dokumen. Dokumen adalah istilah yang digunakan untuk penyebutan seluruh bahan pustaka. Dokumen dalam bahasa STBI online adalah seluruh dokumen elektronik (digital) yang telah diinput (dimasukkan) dan disimpan dalam database. Media penyimpanan database dapat berbentuk CD-ROM ataupun berbentuk harddisk. Database dapat diakses secara online maupun diakses secara offline. Database yang diakses secara online dapat pula diakses secara bersamaan (multiuser), sedangkan database offline hanya dapat digunakan oleh satu orang dalam waktu yang sama (single user). 4. Indeks Dokumen. Indeks adalah daftar istilah atau kata (list of terms). Dokumen yang dimasukkan/disimpan dalam database diwakili oleh indeks. Fungsinya adalah sebagai representasi subyek dari sebuah dokumen. Indeks memiliki tiga jenis yaitu: a. Indeks subyek adalah menentukan subyek dokumen pada istilah mana/apa yang menjadi representasi subyek dari sebuah dokumen. b. Indeks pengarang adalah mementukan nama pengarang mana yang menjadi representasi dari suatu karya. c. Indeks bebas adalah menjadikan seluruh kata/istilah yang terdapat pada sebuah dokumen menjadi sebuah representasi dari dokumen, terkecuali stopword. Stopword adalah kata yang tidak di indeks seperti : yang, that, meskipun, di, ke, dan lain-lain atau seluruh kata sandang/partikel. 5. Pencocokan. Pencocokkan istilah (query) yang dimasukkan oleh pengguna dengan indeks dokumen yang tersimpan dalam database dilakukan oleh mesin komputer. Komputerlah yang melakukan proses pencocokkan dalam waktu yang sangat singkat sesuai dengan kecepatan memory dan processing yang dimiliki oleh komputer. Komputer hanya dapat melakukan pencocokan berdasarkan kesamaan istilah dikarenakan tidak dapat berfikir seperti manusia. Oleh karena itu sering terjadi βambiguitasβ atau kesalahan makna untuk sebuah istilah.
Universitas Sumatera Utara
16
2.4
Android
Android adalah sebuah sistem operasi untuk perangkat mobile yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan sebuah aplikasi yang diinginkan. Pesatnya pertumbuhan Android karena merupakan sistem operasi open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun. Android dipasarkan dibawah lisensi Apache Software yang memungkinkan pengembangan distribusi tahap kedua, tahap ketiga dan seterusnya. Karena bersifat open source, maka pengembang aplikasi Android dapat memperoleh keuntungan tambahan melalui perbaikan yang dilakukan serta peningkatan tanpa harus terikat kepada lisensi semula.
2.4.1
Android SDK (Software Development Kit)
Android SDK adalah tools API (Aplication Programming Interface) yang dipergunakan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Beberapa fitur Android: 1. Framework,
adalah
layer
dimana
para
pembuat
aplikasi
melakukan
pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android. 2. Android Run Time, salah satunya Dalvik Virtual Machine yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana merupakan pengembangan linux kernel untuk melakukan threading dan manajemen tingkat rendah. 3. Browser yang terintegrasi. 4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1,0. 5. SQLite untuk penyimpanan data. 6. Media support yang mendukung audio, video dan gambar.
2.4.2
ADK (Android Development Tools)
ADK adalah plugin yang didesain untuk IDE Eclipse yang memberikan kemudahan dalam aplikasi Android menggunakan IDE Eclipse. Dengan ADT dapat dilakukan
Universitas Sumatera Utara
17
pembuatan package Android (.apk) yang digunakan untuk didistribusikan aplikasi Android yang dirancang. Semakin tinggi platform Android yang digunakan, dianjurkan menggunakan ADT yang lebih terbaru.
2.5
Android Studio
Android studio merupakan sebuah Integrated Development Environment (IDE) untuk platform Android. Android studio bersifat free dibawah Apache License 2.0. Android Studio di desain khusus untuk Android Development. Beberapa keunggulan yang terdapat pada Android Studio adalah: 1. Tampilan editor yang lebih baik dan bagus, What You See Is What You Get (WYSIWYG) editor. 2. Tampilan antarmuka yang lebih modern. 3. Gradle-based build system yang fleksibel. 4. Dapat mem-build banyak APK. 5. Google Cloud Platform built-in support, memudahkan integrasi dengan Google Cloud Messaging dan App Engine. Beberapa perbandingan Android Studio dan Eclipse ADT dapat dilihat pada Tabel 2.8 berikut. Tabel 2.8 Perbandingan Android Studio dan Eclipse ADT Features
Android Studio
Eclipse ADT
Gradle
ANT
Maven-based build dependencies
Yes
No
Build variants and multiple APK generation
Yes
No
Yes
No
Editor layout grafis
Yes
No
APK Signing and keystore management
Yes
No
NDK support
No
Yes
Build system
Advanced Android code completion and refactoring
Universitas Sumatera Utara