SKRIPSI APLIKASI KAMUS BAHASA LATIN HEWAN DAN TUMBUHAN MENGGUNAKAN METODE BRUTE FORCE DAN FITUR AUTOCOMPLETE BERBASIS ANDROID Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
NUR IMRAN RUSLAN E1E1 10 097
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2016
HALAMAN PENGESAHAN Skripsi Sarjana
APLIKASI KAMUS BAHASA LATIN HEWAN DAN TUMBUHAN MENGGUNAKAN ALGORITMA BRUTE FORCE DAN FITUR AUTOCOMPLETE BERBASIS ANDROID Adalah benar dibuat oleh saya sendiri dan belum pernah dibuat dan diserahkan sebelumnya baik sebagian ataupun seluruhnya, baik oleh saya ataupun oleh orang lain, baik di Universitas Halu Oleo ataupun institusi pendidikan lainnya.
Kendari,
Maret 2016 Pas Foto 3X4
Nur Imran Ruslan E1E1 10 097
Kendari,
Maret 2016
Pembimbing II
Pembimbing I
Subardin, ST., MT. NIP.
Bambang Pramono, S.Si, MT NIP. 19710425 200801 1 010
Mengetahui, Ketua Jurusan Teknik Informatika Fakultas Teknik UHO,
Ika Purwanti Ningrum, S.Kom., M.Cs NIP. 19830116 201012 2 002
ii
HALAMAN PENGESAHAN Skripsi Sarjana
Aplikasi Kamus Bahasa Latin Hewan Dan Tumbuhan Menggunakan Algoritma Brute Force Dan Fitur Autocomplete Berbasis Android
Telah diuji dan dipertahankan sidang penguji skripsi Jurusan Teknik Informatika Fakultas Teknik Universitas Halu Oleo dan dinyatakan memenuhi syarat guna memperoleh gelar Sarjana Teknik.
Kendari,
Maret 2016
Tim Penguji :
Tanda Tangan
1. Bambang Pramono, S.Si.,MT.
1. .......................................................
Pembimbing I 2. Subardin, ST., MT.
2. .......................................................
Pembimbing II 3. Sutardi, S.Kom.,MT.
3. .......................................................
Ketua Sidang 4. Isnawaty, S.Si., MT.
4. .......................................................
Sekretaris Sidang 5. LM. Fid Aksara, S.Kom., M.Kom.
5. .......................................................
Penguji III Mengesahkan,
Dekan Fakultas Teknik UHO,
Ketua Jurusan Teknik Informatika Fakultas Teknik UHO,
Mustarum Musaruddin, ST, MIT, PhD NIP. 19730122 200112 1 002
Ika Purwanti Ningrum, S.Kom., M.Cs NIP: 19830116 201012 2 002
iii
HALAMAN PERNYATAAN Dengan ini saya menyatakan bahwa Laporan Skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sejauh yang penulis ketahui bahwa tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Kendari, Maret 2016 Penulis,
Nur Imran Ruslan
iv
INTISARI
Nur Imran Ruslan, E1E1 10 097 Aplikasi Kamus Bahasa Latin Hewan Dan Tumbuhan Menggunakan Metode Brute Force Dan Fitur Autocomplete Berbasis Android. Skripsi, Fakutas Teknik, 2016 (xix+79 halaman+Lampiran) Kamus bahasa latin hewan dan tumbuhan berbasis android adalah suatu pengembangan aplikasi mobile yang memungkinkan penggunanya dapat mencari kata dengan mudah dan cepat. Aplikasi ini memungkinkan pengguna dengan cepat mencari arti dari bahasa latin hewan maupun tumbuhan. Proses yang terjadi pada aplikasi ini meliputi pencarian kesamaan kata dengan menggunakan metode pencarian Brute Force. Inputan berupa nama hewan atau tumbuhan merupakan nilai string yang akan dijadikan parameter pencarian didalam database. Hasil pengujian Kamus pencarian menggunakan metode Brute Force berhasil dengan kecepatan kurang dari satu detik waktu pencarian. Dalam pengujian ini, digunakan enam kali pencarian dimana tiga dari enam pencarian menggunakan kata hewan dan sisanya menggunakan kata tumbuhan. Kecepatan proses pencarian menggunakan metode Brute Force bergantung dengan panjang kata atau (String) yang dicari. (Kata Kunci: Kamus Android, Kamus Hewan dan Tumbuhan, Brute Force)
v
ABSTRACT
Imran Nur Ruslan, E1E1 10 097 Application Dictionary Latin Animals And Plants Using Brute Force Method And FeatureBased Android Autocomplete. Mini Thesis, Faculty of Engineering, 2016 (xix+79 page+Attachments) Latin dictionary of animals and plants is a development of Android-based mobile application that allows users to search for words easily and quickly. This application allows users to quickly search for the meaning of the Latin animals and plants. The process that occurs in these applications include word similarity search using the search Brute Force. Input form Animal or Plant name is a string value that will be used as search parameters in the database. The test results Dictionary search using the Brute Force successfully at speeds of less than one second search time. In this test, is used six times a search in which three of the six search using the Animal and Plant remainder using the word. Speed search process using brute force methods depend on the length of the word or (String) sought. (Keywords: Android Dictionary, Dictionary of Animals and Plants, Brute Force)
vi
Halaman Persembahan
Alhamdulillah Puji Syukur Atas Kehadirat Allah SWT Atas Rahmat Dan Hidayah-Nya. Tak Lupa Pula Junjungan Shalawat Dan Salam Kepada Nabi Muhammad SAW, Sehingga Penulis Dapat Menyelesaikan Tugas Akhir Ini. Tugas Akhir Ini Saya Persembahkan Secara Khusus, Dan Dengan Hati Yang Tulus Saya Sebagai Penulis Menyampaikan Rasa Terima Kasih Yang Sebesar-Besarnya Dan Penghargaan Yang Tak Terhingga Kepada : Bapak & Ibu Tercinta Bapak M. Ruslan. B Dan Ibu Hj. Hartini Yang Telah Mendoakan, Mendidik, Memberikan Kasih Sayang, Bantuan Materi Serta Dorongan Yang Senantiasa Tanpa Henti. Terima Kasih Sebesar-Besarnya. Ucapan Terima Kasih Juga Untuk Kakakku Tersayang Nur Yanti Meliana Latif, SH, Serta Kedua Adikku Nurul Hikmah Ruslan, Amd. Farm. Dan Nur Salsabila Ruslan Yang Selalu Memberikan Kasih Sayang Serta Dukungan Semangat. Untuk Semua Keluarga Besarku Terima Kasih Atas Do’a Dan Dukungannya, Semoga Allah SWT Membalas Kebaikan Kalian. Dengan Segalah Kerendahan Hati Saya Menyampaikan Terima Kasih Dan Penghargaan Yang Setinggi-Tingginya Untuk Kedua Pembimbingku Bapak Bambang Pramono,S.Si., MT. Selaku Pembimbing I Dan Bapak Subardin, ST., MT. Selaku Pembimbing II. Terima Kasih Atas Bimbingannya Selama Ini. Semoga Allah SWT Senantiasa Memberi Rahmat Dan Hidayah-Nya Kepada Bapak Beserta Keluarga. Amin. Kepada Dosenku Ibu Isnawaty, S.Si.,MT. Terima Kasih Atas Bimbingan Dan Bantuannya Selama Ini. Semoga Allah SWT Senantiasa Memberi Rahmat Dan HidayahNya Kepada Ibu Beserta Keluarga. Amin. Kepada Para Staf Jurusan Teknik Informatika UHO Ibu Elti Dan Ibu Anisa. Terima Kasih Atas Bantuannya Dan Dukungannya. Semoga Allah SWT Senantiasa Membalas Semua Kebaikannya. Amin.
vii
Spesial Thanks Untuk Yang Tersayang Nur Ayuwani Jasmin, SH. Atas Dorongan Dan Motivasinya. Atas Dukungan, Serta Semangatnya. Terima Kasih Untuk Sahabat-Sahabat Seperjuangan Teknik Informatika 010 Edwin Saputra, ST., Arisandi, ST., Ongki, ST., Rahmat Oktavianus, L.M Jamsir S, ST., Muh. Hatta, ST., Wahyudi Sabir,ST., Terima Kasih Dan Tetap Semangat Dalam Menggapai Tujuan Dan Cita-Cita Kita Semua. Semoga Allah Swt Melimpahkan Rezeki. Amin. Terima Kasih Juga Teman-Teman Yang Senantiasa Membantu Dan Mempunyai Peran Dan Andil Penting Sehingga Saya Sebagai Penulis Dapat Menyelesaikan Tugas Akhir Ini. Terima Kasih Kepada My Brothers Chlyfen Richard, Yechal Dan Hardyan Destro KHV, Terima Kasih Atas Bantuannya. Kepada Semua Pihak Yang Tidak Dapat Saya Sebutkan Satu-Persatu, Terima Kasih Atas Bantuannya Dan Dukungannya Yang Telah Kalian Berikan Sehingga Tugas Akhir Ini Dapat Terselesaikan. Alhamdulillah. Setiap Langkah Pasti Punya Tujuan Terjadi Dengan Atau Tanpa Bantuan Langkah Kakimu Melesat Atau Tersendat Jalani Karena Dia Kan Jadi Sahabat Ketika Niat Raga Sudah Menjadi Takdir Jurang Terdalam Pun Akan Segera Berakhir Rintangan Di Ujung Langit Pasti Akan Teraih.. Raihlah Masa Depanmu Yang Cerah (Fade2Black)
So... Thank You ... You’re All The Best ...
viii
KATA PENGANTAR
Assalamu’alaikum Warrahmatullahi Wabarakatuh. Alhamdulillah, Segala puji dan syukur ke hadirat Allah SWT yang telah melimpahkan segala rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan tugas akhir ini yang berjudul “Aplikasi Kamus Bahasa Latin Hewan Dan Tumbuhan Menggunakan Algoritma Brute Force Dan Fitur Autocomplete Berbasis Android” untuk melengkapi salah satu persyaratan yang diajukan dalam rangka menempuh ujian akhir untuk memperoleh gelar Sarjana Teknik pada Jenjang Strata Satu Program Studi Teknik Informatika di Fakultas Teknik Universitas Halu Oleo Kendari. Penulis menyadari bahwa penulisan skripsi ini tidak akan terwujud tanpa adanya dukungan dan bantuan dari berbagai pihak sehingga dalam kesempatan ini penulis menghaturkan penghargaan dan ucapan terima kasih yang sebesar-besarnya kepada yang terhormat : 1. Bapak Prof. Dr. Ir. Usman Rianse, M.Si. Selaku Rektor Universitas Halu Oleo. 2. Bapak Mustarum Musaruddin, ST, MIT, PhD. Selaku Dekan Fakultas Teknik Universitas Halu Oleo. 3. Ibu Ika Purwanti Ningrum, S.Kom., M.Cs. Selaku Ketua Jurusan Program Studi S-1 Teknik Informatika Fakultas Teknik Universitas Halu Oleo. ix
4. Bapak Bambang Pramono, S.Si., MT. Selaku dosen pembimbing I yang telah meluangkan waktunya untuk membimbing penulis. 5. Bapak Subardin, ST., MT. Selaku dosen pembimbing II yang telah meluangkan waktunya untuk membimbing penulis. 6. Bapak Sutardi, S.Kom., MT., Ibu Isnawaty, S.Si., MT., Bapak LM. Fid Aksara, S.Kom., M.Kom., Selaku dosen penguji terimakasih atas koreksi dan sarannya saat ujian seminar proposal, hasil, dan ujian akhir (skripsi). 7. Seluruh dosen serta para staf Fakultas Teknik Universitas Halu Oleo, khususnya pada Program Studi Teknik Informatika, terima kasih atas bimbingan dan ilmu pengetahuannya. 8. Orang tua, kakak dan adik-adikku tercinta yang tanpa hentinya mendoakan dan terus memberikan semangat. 9. Rekan-rekan Mahasiswa Jurusan Teknik Informatika angkatan 2010 yang telah memberi masukan penulis baik selama mengikuti perkuliahan maupun dalam penulisan skripsi ini. 10. Senior dan junior di Teknik Informatika Universitas Halu Oleo (IT 2007, 2008, 2010, 2011, 2012, 2013, 2014, 2015). 11. Seluruh teman-teman dan semua pihak yang tidak dapat saya sebutkan satu persatu, terima kasih atas semua dukungan dan bantuannya sehingga terselesaikannya Laporan Skripsi / Tugas Akhir (TA) ini.
x
Penulis sadar bahwa masih banyak kekurangan dalam penulisan laporan tugas akhir ini, untuk itu penulis mengharapkan saran serta kritik yang membangun dari pembaca. Penulis berharap bahwa tugas akhir ini dapat menginspirasi orang lain sehingga di masa mendatang tugas akhir ini dapat dikembangkan lebih lanjut dan semoga tugas akhir ini dapat bermanfaat. Wassalamualaikum Warrahmatullahi Wabarakatuh.
Kendari,
Maret 2016
Penulis,
Nur Imran Ruslan NIM. E1E1 10 097
xi
DAFTAR ISI
HALAMAN JUDUL .................................................................................
i
HALAMAN PENGESAHAN SKRIPSI ..................................................
ii
HALAMAN PENGESAHAN SIDANG ..................................................
iii
HALAMAN PERNYATAAN ...................................................................
iv
INTISARI ..................................................................................................
v
ABSTRACT ...............................................................................................
vi
HALAMAN PERSEMBAHAN ...............................................................
vii
KATA PENGANTAR ...............................................................................
ix
DAFTAR ISI ..............................................................................................
xii
DAFTAR GAMBAR .................................................................................
xvii
DAFTAR TABEL .....................................................................................
xix
BAB I PENDAHULUAN ..........................................................................
1
1.1 Latar Belakang ................................................................................
1
1.2 Rumusan Masalah ...........................................................................
3
1.3 Batasan Masalah..............................................................................
3
1.4 Tujuan Penelitian ............................................................................
4
1.5 Manfaat Penelitian ..........................................................................
5
1.6 Sistematika Penulisan .....................................................................
5
1.7 Tinjauan Pustaka .............................................................................
6
BAB II LANDASAN TEORI ...................................................................
9
2.1 Kamus .............................................................................................
9
xii
2.1.1 Pengertian Kamus ..................................................................
9
2.1.2 Jenis-Jenis Kamus ..................................................................
9
2.2 Bahasa Latin ....................................................................................
13
2.3 Hewan Dan Tumbuhan ...................................................................
13
2.3.1 Hewan ....................................................................................
13
2.3.2 Tumbuhan ..............................................................................
14
2.4 Algoritma Brute Force ....................................................................
14
2.5 Kebutuhan Fitur Pada Aplikasi.......................................................
18
2.5.1 Fitur Autocomplete .................................................................
18
2.6 Java..................................................................................................
19
2.6.1 Pengertian Java.......................................................................
19
2.6.2 Kelebihan Dan Kekurangan Java...........................................
20
2.6.3 Fitur Java ................................................................................
23
2.7 Android ...........................................................................................
24
2.7.1 Pengertian Android ................................................................
24
2.7.2 Sejarah Sistem Android..........................................................
25
2.8 Arsitektur Android .........................................................................
27
2.9 IDE Eclipse ....................................................................................
29
2.10 Android SDK ...............................................................................
31
2.11 ADT (Android Development Tools) .............................................
32
2.12 SQLite...........................................................................................
32
2.13 Unified Modelling Language (UML) ...........................................
34
2.13.1 Use Case Diagram ............................................................
34
xiii
2.13.2 Use Case Narrative ...........................................................
38
2.13.3 Class Diagram ..................................................................
38
2.13.4 Activity Diagram ...............................................................
39
2.13.5 Sequence Diagram ............................................................
41
2.14 Flowchart .....................................................................................
44
BAB III METODOLOGI PENELITIAN ...............................................
46
3.1 Metode Pengumpulan Data dan Informasi ......................................
46
3.2 Metode Pengembangan Sistem .......................................................
46
3.3 Tempat dan Waktu Penelitian .........................................................
48
3.3.1
Tempat.................................................................................
48
3.3.2
Waktu ..................................................................................
48
BAB IV PERANCANGAN DAN ANALISIS .........................................
50
4.1 Analisis Sistem ................................................................................
50
4.2 Analisis Masalah .............................................................................
50
4.3 Analisis Algoritma Brute Force ......................................................
50
4.3.1
Implementasi Algoritma Brute Force .................................
50
4.3.1.1 Cara Kerja Algoritma Brute Force ...............................
51
4.3.2
Proses Pencarian Brute Force Dalam String .......................
52
4.4 Analisis Kebutuhan Nonfungsional ................................................
53
4.4.1
Analisis Kebutuhan Perangkat Keras ..................................
54
4.4.2
Analisis Kebutuhan Perangkat Lunak .................................
54
4.5 Analisis Kebutuhan Fungsional ......................................................
54
4.5.1 Perancangan Sistem .............................................................
55
xiv
4.5.1.1 Use Case Diagram .......................................................
55
4.5.1.2 Definisi Aktor...............................................................
56
4.5.1.3 Definisi Use Case.........................................................
56
4.5.2 Activity Diagram ..................................................................
57
4.5.2.1 Activity Diagram Kamus Hewan .................................
57
4.5.2.2 Activity Diagram Kamus Tumbuhan ...........................
58
4.5.3
Sequence Diagram ............................................................
58
4.6 Flowchart System ............................................................................
59
4.7 Gambaran Umum Sistem ................................................................
60
4.7.1 Perancangan Sistem Arsitektur .............................................
60
4.7.2 Perancangan Interface ...........................................................
60
4.7.2.1 Perancangan Tampilan Splash Screen ........................
61
4.7.2.2 Form Menu Utama ......................................................
61
4.7.2.3 Form Kamus Latin Hewan Dan Tumbuhan ................
62
4.7.2.4 Form Gallery...............................................................
62
4.7.2.5 Form About Us ............................................................
63
4.7.2.6 Button Keluar ..............................................................
63
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM .....................
64
5.1 Pembuatan Database......................................................................
64
5.2 Implementasi Sistem ......................................................................
67
5.2.1 Implementasi Sistem Aplikasi Kamus Latin Hewan Dan Tumbuhan .............................................................................
67
5.3 Pengujian Sistem .............................................................................
73
xv
BAB VI PENUTUP ..................................................................................
75
6.1 Kesimpulan ....................................................................................
75
6.2 Saran ...............................................................................................
76
DAFTAR PUSTAKA ................................................................................
77
LAMPIRAN
xvi
DAFTAR GAMBAR
Gambar 2.1 Flowchart Brute Force ............................................................
17
Gambar 2.2 Arsitektur Android ..................................................................
29
Gambar 2.3 Contoh Use Case Diagram .....................................................
35
Gambar 2.4 Contoh Asosiasi pada Use Case Diagram ..............................
36
Gambar 2.5. Contoh Extend pada Use Case Diagram................................
36
Gambar 2.6 Contoh Includes pada Use Case Diagram .............................
37
Gambar 2.7 Contoh Defends On pada Use Case Diagram ........................
37
Gambar 2.8 Contoh Inheritance pada Use Case Diagram .....................................
37
Gambar 2.9 Contoh Class Diagram ............................................................
38
Gambar 2.10 Struktur Kelas Objek .............................................................
39
Gambar 2.11 Activity Diagram ...................................................................
39
Gambar 2.12 Contoh Sequence Diagram....................................................
41
Gambar 2.13 Simbol Aktor .........................................................................
42
Gambar 2.14 Object ....................................................................................
42
Gambar 2.15 Pesan......................................................................................
42
Gambar 2.16 Aktivasi .................................................................................
42
Gambar 2.17 Pesan Kembali .......................................................................
43
Gambar 2.18 Self Call .................................................................................
43
Gambar 2.19 Frame ....................................................................................
43
Gambar 4.1 Use Case Sistem ......................................................................
56
Gambar 4.2 Activity Diagram Kamus Hewan ............................................
57
Gambar 4.3 Activity Diagram Kamus Tumbuhan ......................................
58
Gambar 4.4 Sequence Diagram System ......................................................
58
xvii
Gambar 4.5 Flowchart System ....................................................................
59
Gambar 4.6 Alur Sistem Aplikasi Kamus Latin Hewan Dan Tumbuhan ...
60
Gambar 4.7 Splash Screen ..........................................................................
61
Gambar 4.8 Form menu Utama ..................................................................
61
Gambar 4.9 Form Kamus Latin Hewan dan Tumbuhan .............................
62
Gambar 4.10 Form Gallery .........................................................................
62
Gambar 4.11 Form About Us ......................................................................
63
Gambar 4.12 Button Keluar ........................................................................
63
Gambar 5.1 Struktur Tabel Hewan dan Tumbuhan ....................................
64
Gambar 5.2 Tampilan Splash Screen ..........................................................
68
Gambar 5.3 Form menu Utama ..................................................................
68
Gambar 5.4 Form Kamus Hewan ...............................................................
69
Gambar 5.5 Form Kamus Tumbuhan .........................................................
69
Gambar 5.6 Form About Us ........................................................................
71
Gambar 5.7 Galery Hewan Dan Tumbuhan ................................................
72
Gambar 5.8 Form Detail Gallery Hewan Dan Tumbuhan .........................
72
xviii
DAFTAR TABEL
Tabel 2.1 Tabel Notasi Use Case Diagram ................................................
35
Tabel 2.2 Tabel Elemen Activity Diagram ..................................................
40
Tabel 2.3 Simbol Flowchart .......................................................................
44
Tabel 3.1 Waktu Penelitian .........................................................................
49
Tabel 4.1 Tabel String Teks ........................................................................
52
Tabel 4.2 Tabel String Yang Akan Dicari ..................................................
53
Tabel 4.3 Tabel Cara Kerja Algoritma Brute Force ...................................
53
Tabel 4.4 Spesifikasi Perangkat Keras ...................................................................................
54
Tabel 4.5 Spesifikasi Perangkat Lunak .......................................................
54
Tabel 4.6 Definisi Aktor .............................................................................
56
Tabel 4.7 Use Case .....................................................................................
56
Tabel 5.1 Table Data Hewan .......................................................................
64
Tabel 5.2 Table Data Tumbuhan .................................................................
66
Tabel 5.3 Hasil Pengujian Fungsionalitas ...................................................
73
Tabel 5.4 Hasil Pengujian Performansi .......................................................
74
xix
BAB I PENDAHULUAN
1.1
Latar Belakang Kehidupan manusia tidak lepas dengan adanya berbagai macam makhluk
hidup lainnya yang berada di alam semesta seperti hewan dan tumbuhan dimana itu semua terdapat dan bisa kita pelajari dalam dunia biologi, selain kita bisa mempelajari seputar siklus hidup, jenis serta ciri-ciri dari makhluk hidup tersebut kita juga bisa mempelajari nama latin makhluk hidup tersebut untuk mengetahui penggolongan ciri dan jenisnya berdasarkan nama latinnya, dalam bahasa ilmiah atau bisa disebut dengan bahasa latin. Tetapi dalam beberapa kasus para siswa sering kali mengalami kesulitan ketika diharuskan untuk mengenal bahkan menghafal nama ilmiah dari hewan dan tumbuhan tersebut. Teknologi mobile merupakan bagian yang familiar dalam kehidupan masyarakat Indonesia. Hal itu disebabkan ukuranya yang cukup kecil sehingga mudah dibawa dan fungsinya yang memudahkan untuk berkomunikasi setiap saat dan dimana saja. Bahkan hanya komunikasi verbal yang dimungkinkan dengan teknologi ini, teknologi pengaksesan informasi juga mengalami dampak yang positif, pembangunan teknologi telepon seluler beberapa tahun belakangan juga menawarkan potensi untuk pengalaman multimedia yang berkualitas. Ukuran yang kecil dan fungsi yang memudahkan komunikasi dan pengaksesan data merupakan salah satu sebab menariknya dunia mobile untuk terus dieksplorasi dan dikembangkan, termasuk untuk kepentingan edukasi yang bersifat ubiquitos (dimana saja dan kapan saja). Handphone telekomunikasi
yang
efektif.
Seiring
merupakan dengan
sebuah
berjalannya
waktu
sarana serta
berkembangnya dunia informasi dan teknologi, handphone dengan tidak menghilangkan fungsi utamanya bermetamorfosis menjadi perangkat yang multifungsi. Kemajuan teknologi informasi juga menyebabkan berkembangnya sistem operasi ponsel. Salah satu sistem operasi ponsel yang saat ini sedang banyak digunakan adalah android. Android adalah salah satu platform yang diidam-
1
2
idamkan masyarakat, selain platform Blackberry yang akhir-akhir ini menjadi trend masa kini, yang hampir digunakan oleh semua usia dari yang muda hingga tua. Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat bergerak mencakup sistem operasi, middleware, dan aplikasi kunci . Dengan adanya aplikasi ini diharapkan masyarakat umum khususnya pelajar akan mempermudah dalam mempelajari bahasa latin hewan dan tumbuhan guna mendukung proses belajar dari pelajaran yang terkait seperti halnya pelajaran ilmu pengetahuan alam & biologi. Ilmu biologi memiliki karakteristik khusus yang berbeda dengan ilmu lainnya dalam hal objek, persoalan, dan metodenya. Berdasarkan struktur keilmuan menurut BSCS (Biological Science Curriculum Study), biologi mempunyai objek berupa Kerajaan diantaranya dunia hewan, dunia tumbuhan dan protista. Objek yang berjumlah ribuan jenis menjadi kesulitan tersendiri untuk dipelajari. Salah satu hal yang mempermudah dalam belajar biologi adalah pengelompokkan dengan dasar tertentu. Salah satunya dengan pemberian nama ilmiah yang sederhana, mudah dipahami, dan dapat digunakan sebagai alat komunikasi ilmiah diseluruh dunia dalam ilmu biologi. (Martinus, 2008). Nama ilmiah dari makhluk hidup terutama hewan dan tumbuhan merupakan salah satu hal yang pada dasarnya sangat menarik untuk dipelajari dan diketahui, karena nama ilmiah makhluk hidup memberikan peran penting, antara lain, dengan nama ilmiah maka akan dengan mudah mengetahui ciri-ciri, hubungan kekerabatan, dan interaksi makhluk hidup di lingkungan. Tetapi pada umumnya para siswa terutama bagi mereka yang sedang mempelajari nama ilmiah hewan dan tumbuhan mengalami kesulitan dalam mempelajari nama ilmiah tersebut karena semua menggunakan bahasa latin atau bahasa biologi. Dalam mempelajari tentang nama ilmiah hampir semua masyarakat dan para pelajar pada umumnya tidak menggunakan media bantu, karena memang media yang tersedia kebanyakan hanya berupa buku dan itu tidak semua orang mempunyai buku tersebut. Dan ketidaktersediaan media teknologi informasi yang dapat dengan cepat memberikan informasi tentang nama ilmiah hewan atau tumbuhan membuat para siswa semakin sulit dalam mempelajari nama ilmiah tersebut. Kekurangan
3
lainnya dalam mempelajari nama ilmiah hewan ataupun tumbuhan adalah tidak adanya gambar-gambar hewan dan tumbuhan beserta tata namanya. Tidak adanya media yang mendukung inilah semakin membuat para siswa kesulitan untuk mempelajari nama ilmiah hewan dan tumbuhan dan memperoleh informasi tentang bahasa ilmiah dari hewan dan tumbuhan secara cepat dan akurat. Dari beberapa masalah yang telah dikemukakan tersebut, maka perlu adanya sebuah pembangunan aplikasi yang dapat membantu mengatasi hal tersebut. Ada beberapa metode yang dapat di implementasikan dalam pembangunan aplikasi tersebut salah satunya adalah metode brute force. Dimana metode brute force pendekatan yang lempang untuk memecahkan suatu masalah (straight forward). Brute force biasanya didasarkan pada pernyataan masalah (problem statement) definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung, jelas (obvious way). Berdasarkan latar belakang yang telah diuraikan maka penulis mengambil judul tugas akhir “Aplikasi Kamus Bahasa Latin Hewan Dan Tumbuhan Menggunakan Metode Brute Force Dan Fitur Autocomplete Berbasis Android”.
1.2
Rumusan Masalah Berdasarkan latar belakang yang telah diuraikan sebelumnya, maka
rumusan
masalah
dalam
pembuatan
aplikasi
ini
adalah
bagaimana
mengimplementasikan metode brute force untuk pembuatan aplikasi kamus bahasa latin tumbuhan dan hewan sebagai media pembelajaran (khusunya mata pelajaran biologi) berbasis smartphone android.
1.3
Batasan Masalah Batasan masalah dalam pembuatan aplikasi dalam penelitian skripsi ini
yaitu sebagai berikut: 1. Tumbuhan dan hewan yang di masukkan kedalam basis data merupakan hewan dan tumbuhan yang datanya mempunyai sumber yang jelas.
4
2. Data-data yang diperoleh untuk mendukung aplikasi bersumber dari buku “Kamus nomenklatur zoologi dan botani” karya Surawan Martinus dan R. Sapto Hartono serta “Kamus biologi” karya Sastra Adiwijaya dan Drs. Abd. Mutholib Ilyas. 3. Istilah bahasa latin hewan dan tumbuhan yang dimasukkan pada aplikasi akan di kenali apabila istilah tersebut sudah terdapat dalam basis data. 4. Aplikasi ini dibuat untuk menampilkan informasi mengenai bahasa latin hewan dan tumbuhan. 5. Aplikasi ini berisi nama hewan dan tumbuhan, bahasa latin hewan dan tumbuhan, gambar hewan dan tumbuhan, suara dan teks penjelasan mengenai hewan dan tumbuhan. 6. Aplikasi ini hanya sebatas menampilkan kamus bahasa latin hewan dan tumbuhan dalam bentuk aplikasi mobile berbasis android. 7. Proses pencarian dalam bentuk kata bukan kalimat. 8. Proses pencarian brute force pada kamus membandingkan karakter per karakter dengan posisi dari kiri ke kanan dalam secara berurutan dimulai dari awal teks setelah mengetikkan inputan data yang ingin dicari atau ditampilkan hingga brute force memberitahukan posisi hasil ditemukan atau tidak ditemukan. 9. Aplikasi ini hanya dapat dijalankan pada sistem operasi android dengan minimal versi 2.3 gingerbread sampai 5.0 lollipop. 10. Metode yang di gunakan adalah metode brute force. 11. Menggunakan database SQlite. 12. Bahasa pemrograman yang digunakan bahasa pemrograman android.
1.4
Tujuan Penelitian Adapun tujuan penelitian skripsi ini adalah merancang aplikasi kamus
bahasa latin hewan dan tumbuhan dengan menerapkan metode brute force guna memberikan informasi mengenai nama atau bahsa latin dari hewan dan tumbuhan dalam membantu proses pembelajaran (khusunya mata pelajaran biologi) berbasis smartphone android.
5
1.5
Manfaat Penelitian Manfaat yang diharapkan bisa diperoleh dari penelitian skripsi ini adalah
sebagai berikut: 1. Memberi kemudahan bagi pengguna untuk mencari istilah-istilah asing dalam bahasa latin hewan dan tumbuhan. 2. Membantu pembelajaran biologi dan ilmu pengetahuan alam mengenai nama latin hewan dan tumbuhan. 3. Aplikasi kamus bahasa latin hewan dan tumbuhan ini bersifat gratis. Para pengguna bisa menginstalnya di smartphone android guna di pergunakan sebagai media pembelajaran sekaligus informasi mengenai bahasa latin hewan dan tumbuhan dikarenakan kurangnya sumber atau media berupa buku yang tersedia. 4. Mempermudah proses dalam belajar tentang kamus bahasa latin hewan dan tumbuhan kapanpun dan dimanapun tanpa perlu membawa buku.
1.6
Sistematika Penulisan Sistematika penulisan penelitian skripsi ini adalah sebagai berikut:
BAB I PENDAHULUAN Bab ini menjelaskan mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, sistematika penulisan. BAB II LANDASAN TEORI Bab ini memuat pengertian-pengertian dan teori-teori yang menjadi acuan dalam pembuatan analisa dan pemecahan dari permasalahan yang dibahas. BAB III METODOLOGI PENELITIAN Bab ini membahas tentang bagaimana dan seperti apa metodologi yang digunakan dalam melakukan penelitian, mulai dari tahap pengumpulan data sampai pada tahap pengembangan aplikasi. BAB IV ANALISIS DAN PERANCANGAN Bab ini berisi gambaran umum dari sistem, pemodelan sistem menggunakan Unified Modelling Language (UML) dan desain interface.
6
BAB V IMPLEMENTASI Bab ini berisi pembahasan mengenai implementasi analisis dan desain ke dalam bahasa pemrograman android dan pengujian aplikasi. BAB VI PENUTUP Bab ini berisi kesimpulan dan saran untuk penelitian Tugas Akhir. DAFTAR PUSTAKA LAMPIRAN
1.7
Tinjauan Pustaka Berkaca dari berkembangnya teknologi modern, ilmu pengetahuan dan
teknologi, beberapa jenis kamus ada di perpustakaan atau yang beredar dibeberapa toko buku dirasa masih kurang dalam memenuhi kebutuhan manusia. Kamus identik dengan buku yang tebal yang sulit di bawa dan kurang praktis dalam menggunakannya. Maka dari itu diperlukan adanya sebuah aplikasi kamus yang lebih praktis yang bisa di akses dimana saja dan kapan pun. Aplikasi kamus semacam ini sudah pernah dibuat sebelumnya, namun dengan program aplikasi yang berbeda-beda. Beberapa aplikasi yang berhubungan dengan kamus elektronik yang pernah dibuat adalah : 1. Susanto, 2014, Teknik Informatika STMIK Budidarma Medan, judul penelitian ini adalah perancangan aplikasi kamus istilah hewan dan tumbuhan dengan menerapkan algoritma boyer-moore Berbasis mobile. Dalam penelitiannya dideskripsikan mengenai pembangunan aplikasi kamus mobile yang akan memanfaatkan algoritma boyer-moore. Yang merupakan algoritma pencocokan string yang paling efisien pada aplikasi kamus. Dan dirancang menggunakan perangkat lunak bantuan yaitu simulator eclipse IDE (integrated development environment) dengan database
SQLite
dalam
perancangan
tersebut,
untuk
mengimplementasikan cara kerja dan hasil dari translasi kata istilah latin nama hewan dan tumbuhan tersebut akan dideskripsikan mengenai
7
pembangunan aplikasi kamus mobile yang akan memanfaatkan algoritma boyer-moore. Salah satu dari metode pencarian string matching untuk mempermudah dan mempercepat pencarian dari nama istilah latin hewan dan tumbuhan. Dimana metode boyer-moore ini melakukan pencarian katanya dimulai dari posisi kanan hingga akhirnya sampai pada posisi paling kiri, langkah ini berbeda dengan metode pencarian string matching sejenisnya yang memulai pencarian kata dari posisi kiri. Metode ini menerapkan prinsip good sufix (dimana karakter yang dicari disejajarkan dengan karakter yang menyerupainya) serta prinsip bad character (dimana jika karakter tidak memiliki kemiripan akan langsung dieliminasi). Dengan kedua prinsip ini, informasi string yang diperoleh dalam pencarian akan semakin banyak sehingga output yang dihasilkan akan menjadi lebih baik. 2. Irna Rahayu, 2015, Teknik Informatika Universitas Halu Oleo, judul penelitian ini adalah Implementasi kamus kedokteran dengan metode Interpolasi (interpolation) dan mencari kemiripan kata menggunakan algoritma
levensthein
distance
pada
perangkat
android.
Dalam
penelitiannya, penulis mencoba membangun aplikasi kamus kedokteran berbasis android. Yang memiliki fungsi sarana terjemahan istilah kedokteran yang dapat digunakan dimanapun dan kapanpun. Algoritma dan metode yang digunakan adalah metode pencarian interpolasi untuk proses pencarian dan algoritma levensthein distance. Dimana metode interpolatin search hanya dapat dilakukan pada list yang telah berurut dan berada pada struktur array dan data yang dicari diperkirakan ada dalam list, teknik ini menemukan item dengan memperkirakan seberapa jauh kemungkinan item berada dari posisi saat itu dan pencarian berikutnya. Algoritma levensthein distance menghitung jumlah operasi string paling sedikit yang diperlukan untuk mentransformasikan suatu string menjadi string yang lain. Hasil dari penelitian berupa aplikasi kamus kedokteran yang dapat menerjemahkan kata dengan cepat dan dapat menampilkan pilihan kata yang dicari tidak di temukan.
8
3. Mesran, 2014, Teknik Informatika STMIK Budidarma Medan, judul penelitian ini adalah implementasi algoritma brute force dalam pencarian data katalog buku perpustakaan. Dalam penelitiannya, algoritma yang digunakan yaitu brute force karena algoritma ini dapat digunakan untuk melakukan pencarian string atau teks. Brute force adalah algoritma untuk mencocokkan pattern dengan semua teks antara 0 dan n-m untuk menemukan
keberadaan
pattern
dalam
teks.
Berdasarkan
arah
pencariannya, algoritma ini diklasifikasikan sebagai algoritma yang membaca string dari kiri ke kanan. Kesimpulan dari penelitian ini adalah aplikasi pencarian membantu perpustakaan dalam memberikan layanan terhadap pengunjung perpustakaan untuk melakukan pencarian terhadap katalog buku perpustakaan dalam waktu singkat dan dengan Penerapan algoritma
brute force
dapat
melakukan pencocokan
string
dan
memberikan hasil yang di inginkan dalam pencarian data katalog buku perpustakaan.
BAB II LANDASAN TEORI
2.1
Kamus
2.1.1
Pengertian Kamus Menurut Hoetomo M.A, kamus yaitu buku acuan yang memuat kata dan
ungkapan yang biasanya disusun menurut abjad berikut keterangan tentang maknanya. Kamus adalah sejenis buku rujukan yang menerangkan makna katakata. Kamus berfungsi untuk membantu seseorang mengenal perkataan baru. Selain menerangkan maksud kata kamus juga mungkin mempunyai pedoman sebutan, asal usul (etimologi) sesuatu perkataan dan juga contoh penggunaan bagi sesuatu perkataan. Untuk memperjelas kadang kala terdapat juga ilustrasi didalam kamus. Kata kamus diserap dari bahasa Arab qamus, dengan bentuk jamaknya qawamis. Kata Arab itu sendiri berasal dari kata Yunani okeanos yang berarti lautan. Sejarah kata itu jelas memperlihatkan mana dasar yang terkandung dalam kata kamus, yaitu wadah pengetahuan, khusunya pengetahuan bahasa, yang tidak terhingga dalam dan luasnya. dalam pengertian lain, Kamus adalah buku acuan yang memuat kata dan ungkapan, biasanya disusun menurut abjad beserta penjelasan tentang makna dan pemakainya (Kamus Besar Bahasa Indonesia). Kamus disusun sesuai dengan abjad dari A-Z dengan tujuan untuk memudahkan pengguna kamus dalam mencari istilah yang diinginkannya dengan cepat dan mudah. Kamus memiliki kegunaan untuk memudahkan penggunanya dalam mencari istilah-istilah yang belum dipahami maknanya.
2.1.2
Jenis-Jenis Kamus
1. Berdasarkan Bahasa Sasaran Berdasarkan bahasa sasarannya dapat dibedakan adanya kamus ekabahasa (monolingual), kamus dwibahasa (bilingual), dan kamus aneka bahasa (multilingual).
9
10
a. Kamus Ekabahasa Kamus ekabahasa adalah kamus yang bahasa sumbernya sama dengan bahasa sasarannya. Atau dengan kata lain, kata-kata yang dikamuskan dijelaskan maknanya dengan kata-kata dari bahasa yang sama. b. Kamus Dwibahasa Kamus dwibahasa adalah kamus yang bahasa sumbernya tidak sama dengan bahasa sasarannya. dengan kata lain, kata-kata dari bahasa yang dikamuskan dijelaskan dengan kata-kata dari bahasa lain. c. Kamus Aneka Bahasa Kamus aneka bahasa adalah kamus yang kata-kata bahasa sumber dijelaskan dengan padanannya dalam tiga bahasa atau lebih.
2. Berdasarkan Ukurannya Yang dimaksud dengan ukuran di sini adalah tebal-tipisnya sebuah kamus. Tebal-tipisnya tentu berkaitan dengan banyaknya lema yang disajikan dan banyak sedikitnya informasi yang diberikan. a. Kamus Besar Kamus besar adalah kamus yang memuat semua kosakata, termasuk gabungan kata, idiom, ungkapan, pribahasa, akronim, singkatan, dan semua bentuk gramatika dari bahasa tersebut, baik yang masih digunakan maupun yang sudah arkais. b. Kamus Terbatas Kalau dalam kamus besar semua kata yang ada dalam suatu bahasa didaftarkan sebagai lema, maka dalam kamus terbatas ini jumlah kata yang dimasukkan sebagai lema dibatasi, begitu juga dengan makna dan keteranganketerangan lain dibatasi. Banyaknya kata yang dijadikan lema tergantung dari tujuan kamus itu. Kedalam kelompok kamus terbatas ini adalah: 1. Kamus saku Disebut kamus saku atau kamus kantong karena ukurannya yang kecil dan tidak tebal sehingga dapat dimasukkan ke dalam saku baju.
11
2. Kamus Pelajar Kamus pelajar juga merupakan kamus terbatas, yang jumlah lemanya ditentukan oleh tingkat pendidikan dimana kamus itu digunakan.
3. Berdasarkan Isinya Berikut akan diuraikan kamus-kamus berdasarkan isinya tersebut, yaitu : a. Kamus Lafal Kamus lafal adalah kamus berisi lema-lema yang disusun dari A sampai Z disertai cara mengucapkan lema-lema tersebut dan tidak ada keterangan lain. b. Kamus Ejaan Kamus ejaan adalah kamus yang mendaftarkan lema dengan ejaan yang benar, sesuai dengan pedoman ejaan, serta pemenggalan kata atas suku katanya. c. Kamus Sinonim Kamus sinonim adalah kamus yang penjelasan makna lemanya hanya berupa sinonim dari kata-kata tersebut baik dalam bentuk sebuah kata maupun dalam bentuk gabungan kata. d. Kamus Antonim Kamus antonim adalah kamus yang penjelasan lemanya dalam bentuk kata yang merupakan kebalikannya, lawannya, atau kontrasnya. e. Kamus Homonim Kamus homonim adalah kamus yang mendaftar bentuk-bentuk yang berhomonim beserta dengan makna atau penjelasan konsepnya. Bentuk-bentuk kata yang berhononim bukanlah sebuah kata, melainkan dua buah kata atau lebih. f. Kamus Idiom Kamus idiom adalah kamus yang memuat satuan-satuan bahasa berupa kata atau gabungan kata yang maknanya tidak dapat diprediksi dari unsur-unsur pembentuknya, baik secara leksikal, maupun gramatikal g. Kamus Akronim Kamus akronim adalah kamus yang hanya memuat singkatan kata dan ada dalam satu bahasa. Setiap lema yang berupa singkatan atau akronim itu hanya dijelaskan dengan kepanjanganya saja.
12
h. Kamus Etimologi Kamus etimologi adalah kamus yang penjelasan lemanya bukan mengenai makna, melainkan mengenai asal-usul kata itu, serta perubahan-perubahan bentuknya. i. Kamus Istilah Kamus istilah adalah kamus yang hanya memuat kata-kata atau gabungan kata yang menjadi istilah dalam suatu bidang ilmu atau kegiatan tertentu.
4. Kamus Berdasarkan Bentuknya Kamus berdasarkan bentuknya ada 2 macam, yaitu : a. Kamus Manual Kamus manual adalah buku referensi atau rujukan yang menerangkan kata-kata yang dicetak di lembaran kertas. Kamus manual mempunyai beberapa ukuran, yaitu kamus mini atau kamus saku, kamus kecil dan kamus besar (Anonymous, 2005). Pada umumnya kamus manual mempunyai halaman yang banyak (tebal). b. Kamus Elektronik Kamus elektronik adalah kumpulan kata-kata yang menerangkan kata-kata lain yang diciptakan dalam bentuk perangkat lunak atau software (Anonymous, 2005). Kamus elektronik dapat diciptakan berbasis handhold adalah : 1. Pencarian padanan kata menjadi lebih cepat dan mudah. 2. Penggunaan lebih efektif, karena bisa diakses melalui jaringan Intranet dan Internet. 3. Isi atau data kamus elektronik dapat ditambah atau dikurangi dengan mudah. Kamus elektronik lebih mengutamakan pada fasilitas pengolah kata elektronik, yaitu sebuah fasilitas yang memungkinkan aplikasi pengolah kata memeriksa ejaan dari dokumen yang diketik. Hal ini dapat meminimumkan kemungkinan salah eja atau salah ketik. Dinegara-negera maju, pengguna fasilitas pengolah kata elektronik sangat umum, sehingga menjadi salah satu indikator pemilihan terhadap pengolah kata yang hendak dipakai.
13
Pengguna kamus elektronik atau kamus digital dalam aplikasi pemrosesan teks merupakan hal yang tidak dapat dihindarkan. Kamus merupakan basis pemeriksaan,
basis
pengetahuan,
bahkan
sebagai
basis
penyelidikan
(Rinarizky,2007).
2.2
Bahasa Latin Bahasa Latin adalah sebuah bahasa Italik yang berasal dari Latium, sebuah
daerah di Italia sekeliling kota Roma yang termasuk dalam rumpun Indo Eropa. Bahasa ini menjadi penting karena munculnya kekaisaran Romawi dimana bahasa Latin adalah bahasa resminya. Pada puncak kejayaan kerajaan ini, bahasa Latin dituturkan dari pulau Britania di barat laut sampai Palestina di ujung tenggara dengan kata lain menjadi bahasa Internasional. Setelah runtuhnya kekaisaran Romawi, sekitar akhir abad ke-5, bahasa Latin tidak ikut runtuh melainkan semakin berkembang. Bahasa ini dipakai sebagai lingua franca, bahasa liturgis gereja dan bahasa ilmu pengetahuan, bahkan juga daerah-daerah yang tidak pernah ditaklukkan oleh Roma. Bahasa Latin juga mempunyai turunan yang disebut sebagai sermo vulgaris (bahasa Roman/bahasa Latin Rakyat) yang dituturkan oleh antara lain bala tentara Romawi menjadi pengantar di seluruh daerah kerajaan. Di beberapa tempat bahasa ini bahkan menggantikan bahasa setempat. Bahkan bahasa Inggris pun sebagian besar diambil dari bahasa latin ini (selain bahasa Yunani Kuno tentunya). (Susanto, 2015).
2.3
Hewan Dan Tumbuhan
2.3.1
Hewan Hewan atau binatang atau margasatwa atau satwa saja adalah kelompok
organisme yang diklasifikasikan dalam kerajaan Animalia atau Metazoa, adalah salah satu dari berbagai makhluk hidup yang terdapat di alam semesta. Hewan dapat terdiri dari satu sel (uniselular) atau pun banyak sel (multiselular). Semua hewan merupakan organisme heterotrof. (Suroso, 2003).
14
2.3.2
Tumbuhan Tumbuhan adalah organisme benda hidup yang terkandung dalam alam
Plantae. Biasanya, organisme yang menjalankan proses fotosintesis adalah diklasifikasikan sebagai tumbuhan.Tumbuhan memerlukan cahaya matahari untuk menjalani proses fotosintesis. Tumbuhan merangkumi semua benda hidup yang mampu menghasilkan makanan dengan menggunakan klorofil untuk menjalani proses fotosintesis dan menghasilkan kanji. Sel tumbuhan berbeda dengan sel hewan, dalam beberapa segi sel tumbuhan mempunyai dinding sel. (Permatasari, 2003).
2.4
Algoritma Brute Force Algoritma Brute force adalah salah satu cara penyelesaian masalah
khususnya di dalam dunia komputer. Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way). Algoritma yang secara jelas langsung ke pusat permasalahan. Algoritma ini biasanya tidak memerlukan teori khusus untuk mengimplementasikannya. Algoritma ini sering juga disebut Algoritma sapu jagad karena hampir semua persoalan pemrograman bisa diselesaikan dengan algoritma ini. Algoritma brute force sering disebut Algoritma tidak cerdas karena tidak memerlukan pemikiran secara kompleks, hanya dengan beberapa baris semua permasalahan dapat dipecahkan dengan mudahnya. (Munir, 2004). Sebenarnya, algoritma brute force merupakan algoritma yang muncul karena pada dasarnya alur pikir manusia adalah brute force (langsung/to the point). Beberapa karakteristik dari algoritma brute force dapat dijelaskan sebagai berikut:
15
1. Membutuhkan jumlah langkah yang banyak dalam menyelesaikan suatu permasalahan sehingga jika diterapkan menjadi suatu algoritma program aplikasi akan membutuhkan banyak memori. 2. Digunakan sebagai dasar dalam menemukan suatu solusi yang lebih efektif. 3. Banyak dipilih dalam penyelesaian sebuah permasalahan yang sederhana karena kemudahan cara berpikirnya. 4. Pada banyak kasus, algoritma ini banyak dipilih karena hampir dapat dipastikan dapat menyelesaikan banyak persoalan yang ada. 5. Digunakan sebagai dasar bagi perbandingan keefektifan sebuah algoritma. Kelebihan dan kelemahan metode brute force adalah sebagai berikut: a. Kelebihan: 1. Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability). 2. Metode brute force sederhana dan mudah dimengerti. 3. Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks. 4. Metode brute force menghasilkan algoritma baku (standard) untuk tugastugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau maksimum didalam tabel (list). b. Kelemahan: 1. Metode brute force jarang menghasilkan algoritma yang mangkus. 2. Beberapa algoritma brute force lambat sehingga tidak dapat diterima. 3. Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya. Dalam praktiknya, algoritma ini sering digunakan untuk teknik hacking atau cracking. Karena mencobai semua kemungkinan, maka bukan tidak mungkin sebuah password dapat dibobol. Kenneth Thompson pernah berkata, "When in doubt, use brute-force" (jika ragu, gunakan brute force). Pseudocode algoritma brute force dimulai dengan menentukan panjang pola dan teks, dimana panjang pola dan teks disimpan didalam variabel m dan n.
16
Hal ini digunakan untuk membatasi proses perulangan. Pada index dimulai dari angka 0 untuk pola dan teks dalam proses penyamaan antara pola dan teks secara satu persatu pola. Pola yang di cari mengalami pergeseran dari posisi awal kiri kemudian masuk ke kanan dalam sampai pola yang di cari sesuai dengan urutan teks yang ada kemudian pola tersimpan, jika pola sudah tersimpan maka index pada pola bergeser dengan membandingkan pola selanjutnya dengan teks selanjutnya sampai ditemukan hasil, jika pola tidak sesuai maka proses perbandingan pola dan teks akan berulang sampai ditemukan hasil yang sesuai, maka hasil akan tampil. kemudian Pencarian akan berakhir. Berikut Pseuducode brute force:
procedure BruteForceSearch( input m, n : integer, input P : array[0..m-1] of char, input T : array[0..n-1] of char, output ketemu : array[0..n-1] of boolean ) Deklarasi: i, j: integer Algoritma: for (i:=0 to m-n) do j:=0 while (j < m and T[i+j] = P[j]) do j:=j+1 endwhile if(j >= m) then ketemu[i]:=true; endif endfor
17
Adapun flowchart brute force ditunjukkan pada Gambar 2.1.
Gambar 2.1 Flowchart Brute Force Gambar 2.1 menjelaskan bahwa pada proses awal ditentukan nama hewan dan tumbuhan yang akan dicari lalu kata pencarian tesebut dijadikan sebagai pola. Nama hewan atau tumbuhan telah tersimpan didalam database sebagai teks. Teks pencarian ini akan diolah sesuai algoritma brute force. Masukkan pola nama hewan dan tumbuhan yang di cari, algoritma brute force akan menyeseleksi dengan menyesuaikan database yang telah di inputkan, jika data yang dicari tidak terdapat dalam database maka tidak akan menampilkan data tersebut, jika data yang di masukkan terdapat dalam database maka data akan tampil untuk menemukan pola nama hewan dan tumbuhan yang ingin dicari secara lengkap maka kita di isyaratkan untuk menambah jumlah pola yang ingin dicari, jika pola
18
lengkap yang dicari telah ditemukan maka hasil akan ditampilkan, proses akan berakhir. Begitu pula sebaliknya jika pola lengkap yang diinput tidak terdapat maka hasil yang ditampilkan adalah hasil yang dicari tidak ditemukan maka harus menginput ulang kembali pola dari kata hewan dan tumbuhan yang ingin dicari. 2.5
Kebutuhan Fitur Pada Aplikasi
2.5.1
Fitur Autocomplete Autocomplete adalah fungsi yang menampilkan perkiraan kata yang akan
dimasukkan tanpa harus mengetikkan keseluruhan kata. Fitur ini juga merupakan salah satu bentuk search yang sering kita jumpai pada saat melakukan pencarian di Google. Autocomplete atau autocompletion atau word completion adalah fasilitas yang disediakan oleh berbagai web browser, email-programs, search engine interface, source code editors, database query tools, word processor, dan command line interpreters. Autocomplete juga tersedia untuk atau sudah terintegrasi di dalam text editor. Autocomplete melibatkan program yang dapat melakukan prediksi terhadap sebuah kata atau frasa yang pengguna ingin tulis tanpa harus menulis keseluruhan kata atau frasa secara lengkap. Fasilitas/fitur ini efektif ketika proses prediksi itu mudah saat kata yang diprediksi berdasarkan pada kata yang telah ditulis sebelumnya. Autocomplete bekerja ketika penulis menulis huruf pertama atau beberapa huruf/karakter dari sebuah kata. Program yang melakukan prediksi akan mencari satu atau lebih kemungkinan kata sebagai pilihan. Jika kata yang dimaksud ada dalam pilihan itu, maka penulis dapat memilih itu. Jika kata yang dimaksud tidak ada dalam pilihan prediksi maka penulis harus menulis huruf/karakter selanjutnya. Ketika penulis memilih pilihan kata yang ada dalam daftar pilihan kata prediksi maka kata yang dipilih tersebut akan disisipkan pada teks. Dalam source code editor, autocomplete menyederhanakan struktur regular dari sebuah bahasa pemrograman. Biasanya hanya ada sejumlah kata yang berarti dalam konteks saat ini atau namespace, seperti nama dari sebuah variable atau nama dari sebuah fungsi. Contoh dari code completion adalah desain
19
IntelliSense dari Microsoft. Dia menampilkan sebuah pop-up list yang berisi prediksi yang mungkin dari karakter yang dimasukkan oleh pengguna untuk dipilih pengguna yang sesuai dengan apa yang diinginkan pengguna. Fitur ini sangat berguna dalam pemrograman berorientasi objek karena seringkali programmer tidak tahu secara benar member apa saja yang sebuah class punya. (Kusuma, 2013).
2.6
Java
2.6.1
Pengertian Java Java adalah bahasa pemograman tingkat tinggi yang berorientasi objek,
diedarkan oleh Sun Microsystem pada awal tahun 1996. Sejarah awal java berawal di tahun 1991 ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Patrick Naughton dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen seperti switchboxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus berukuran sangat kecil. Juga karena setiap vendor menggunakan CPUs (Central Processing Unit) yang berbeda, maka bahasa tersebut harus bersifat multiplatfrom, tidak terikat hanya pada satu arsitektur (Architecture Neutral). Proyek ini diberi nama Green Project. Karena harus bersifat Architecture Neutral, maka Green Project menggunakan Virtual Machine (atau dikenal dengan Java Virtual Machine) yang berasal dari model implementasi bahasa Pascal di awal-awal perkembangan PC. Dikarenakan insinyur-insinyur Sun berlatar belakang Unix2, jadi mereka mendasari bahasa pemograman mereka dengan C++ dari pada pascal. Secara khusus mereka membuat bahasa mereka berorientasi obyek (object oriented), bukan berorientasi prosedur (procedural oriented) seperti model bahasa pascal. Bahasa pemograman tersebut dinamakan Oak, kemudian diubah menjadi java. Karena pada awalnya ditujuan untuk pemograman device kecil, java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Perkembangannya sempat terhenti karena tidak ada yang tertarik dan
20
tidak memiliki pasar seperti yang diramalkan. Ketika teknologi internet berkembang, java diarahkan untuk menjadi bahasa pemograman internet karena fitur-fitur java seperti Architecture Neutral, real time, reliable dan secure sangat sesuai untuk pengembangan internet. (Widodo, 2011).
2.6.2
Kelebihan Dan Kekurangan Java Java merupakan pemrograman berorientasi objek dan bebas platform,
dikembangkan oleh Sun Microsystem dengan sejumlah keunggulan yang memungkinkan java dijadikan sebagai bahasa pengembang enterprise. Java merupakan bahasa pemrograman yang bersifat case sensitive yang berarti penulisan menggunakan huruf besar ataupun huruf kecil pada kode program dapat berarti lain. Misalnya penulisan “System” akan diartikan berbeda dengan “system” oleh interpreter. Disamping kelebihan pemrograman java juga memiliki kekurangan. Berikut ini adalah kelebihan dan kekurangan java : a. Kelemahan java Beberapa kelemahan dari java adalah sebagai berikut: 1. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft, Net Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. 2. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
21
3. Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
b. Kelebihan Java Bahasa pemrograman lain yang telah ada sebelum java lahir sudah merupakan bahasa yang baik dan mudah dipelajari oleh programmer profesional. Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai Java-Buzzwords. Kata-kata ini menjelaskan berbagai fitur tambahan dan beberapa hal yang membuat java demikian sukses dan diterima oleh dunia perangkat lunak. Berikut ini adalah keunggulan-keunggulan dari program java : 1. Platform Independent Salah satu keunggulan java adalah sifatnya yang ‘platform independence’, artinya java baik source program maupun hasil kompilasinya sama sekali tidak bergantung kepada sistem operasi dan platform yang digunakan. Source code sebuah aplikasi dengan bahasa java yang ditulis di atas sistem Windows NT misalnya, dengan gampang dapat dipindahkan ke sistem operasi UNIX tanpa harus mengedit satu baris kode-pun. Ini tentunya merupakan satu nilai tambah tersendiri. Bandingkan dengan bahasa C/C++ misalnya, jika kita bekerja pada UNIX FreeBSD dan ingin memindahkannya pada HP UNIX, kita terkadang harus juga mengedit source code-nya sehingga sesuai dengan HP UNIX, walaupun keduanya masih berada dalam keluarga UNIX. 2. Sederhana dan Berorientasi Objek Java lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan memudahkan programmer
22
profesional untuk dapat mengerti lebih jelas tentang java, fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek. Tujuannya agar konsep dasar dari teknologi java dapat dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin. Tidak hanya ini, penemu Java memastikan bahwa java juga bermula dari bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka membuang berbagai fitur yang rumit dan membingungkan. 3. Automatic garbage collection Automatic garbage collection atau pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++) yang dipakai secara luas. Dan fitur ini dapat membersihkan objek yang tidak terpakai dari memori. 4. Menghilangkan pewarisan berganda yang terdapat pada C++ Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak mengakibatkan kerugian dari pada keuntungan. Java telah didesain sedemikian rupa sehingga Anda tidak akan memerlukan teknik ini dalam pembuatan program apa pun. 5. Mengurangi pointer aritmetik Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi dan menghilangkan kemungkinan kesalahan seperti ini, penggunaan pointer pada Java telah dibatasi dengan menggunakan reference. 6. Library yang Lengkap Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program-program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan
23
komunitas java yang besar yang terus menerus membuat perpustakaanperpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. 7. Bersifat OOP (Object Oriented Programming) Karena bersifat OOP jadi sangat cocok bila digunakan untuk membangun program yang besar. OOP (Object Oriented Programming) yang artinya semua aspek yang terdapat di java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi-fungsi yang advance seperti komunikasi antara komputer sekalipun. 8. Bergaya C++ Memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke java. Saat ini pengguna java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke java. Universitasuniversitas di Amerika Serikat juga mulai berpindah dengan mengajarkan java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
2.6.3
Fitur Java Fitur-fitur utama dari java yaitu:
1) Mendukung multi threading. 2) Selalu memeriksa tipe object pada saat run-time. 3) Mempunyai automatic garbage collection untuk membersihkan objek yang tidak terpakai di memori. 4) Mendukung exception sebagai salah satu cara penanganan kesalahan.
24
2.7
Android
2.7.1
Pengertian Android Mengacu pada pendapat Nimodia dan Deshmukh (2012), android adalah
sebuah software stack untuk perangkat mobile yang mencakup sistem operasi, middleware dan key applications. Android memiliki platform yang bersifat open source dan sistem operasi untuk perangkat mobile berbasis pada sistem operasi Linux dan dikembangkan oleh Google dan Open Handset Alliance. Sistem operasi pada android ini berbasis bahasa pemrograman java menggunakan Android Software Development Kit (Android SDK) dan berjalan pada Linux Kernel, dengan middleware, library, Application Programming Interface (API) yang ditulis dalam bahasa C, dan software yang berjalan pada suatu kerangka aplikasi dengan menyertakan Java compatible libraries berbasis pada Apache Harmony, yaitu sebuah implementasi java bersifat open source dikembangkan oleh Apache Software Foundation yang terdiri dari Java Development Kit (JDK), virtual machine dan class library. Android memiliki beberapa fitur yang mendukungnya, dimana fitur-fitur tersebut terdapat pada perangkat mobile. Fitur-fitur yang mendukung android yaitu (Lee, 2011): 1.
Storage Menggunakan SQLite, mesin database SQL embedded, untuk menyimpan data.
2.
Connectivity Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, WiFi, LTE, dan WiMAX.
3.
Messaging Mendukung SMS dan MMS.
4.
Web browser Berbasis open-source WebKit, dengan Chrome’s V8 Java Script engine.
5.
Media support Mendukung media: MP3, MIDI, WAV, JPEG, PNG, dan lain-lain.
25
6.
Hardware support Mendukung hardware: Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, GPS.
7.
Multi-touch Mendukung multi-touch screens.
8.
Multi-tasking Mendukung multi-tasking applications.
9.
Flash support Android 2.3 mendukung Flash 10.1.
10.
Tethering Mendukung sharing koneksi internet seperti wireless hotspot.
2.7.2 Sejarah Sistem Android Google membeli sebuah perusahaan bernama android pada Juli 2005. Perusahaan tersebut dipimpin oleh beberapa orang yang berpengalaman di dunia mobile. Setelah pengakuisisian oleh Google, perusahaan tersebut menutup diri, kemudian rumor tersebar bahwa Google tengah mengembangkan ponsel. Rumor tersebut akhirnya menjadi kenyataan pada November 2007. Google tiba-tiba mengumumkan saat itu bahwa mereka memang mengembangkan sebuah ponsel Google, dan juga sistem operasi mobile baru yang disebut Android. Android didasarkan pada kernel linux dan dirancang untuk digunakan oleh Open Handset Alliance yang terdiri dari sekelompok puluhan pembuat hardware, carrier dan perusahaan terkait perangkat mobile lainnya. Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubi, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler.
26
Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar yang menggunakan android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010). Pada tanggal 5 November 2007, Open Handset Alliance, sebuah konsorsium dari beberapa perusahaan yang termasuk Texas Instruments , Broadcom
Corporation, Google, HTC,
Intel
, LG
, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel dan T-Handphone
ini
diresmikan
dengan
tujuan
untuk
mengembangkan standar terbuka untuk perangkat mobile. Seiring dengan pembentukan Open Handset Alliance, OHA juga meluncurkan
produk
pertama
mereka,
android,
sebuah
perangkat
mobile platform dibangun di atas kernel linux versi 2.6. Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, android, perangkat mobile yang merupakan modifikasi kernel linux 2.6. Sejak android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon pertama yang memakai sistem operasi android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan android. Kelebihan & Kekurangan sistem operasi android : 1. Adapun kelebihan sistem operasi android adalah sebagai berikut : a. Android ini merupakan sistem operasi opensource karena sistem operasi ini merupakan sistem operasi berbasis linux yang sifatnya opensource sehingga pemilik android ini bisa mengedit tampilan secara sendiri dengan mengubah kode xml.
27
b. Aplikasi yang terdapat di playstore merupakan aplikasi yang bagus tetapi dengan
banyaknya
aplikasi
gratis
ini
membuat
kita
leluasa
mendownloadnya tanpa harus memikirkan pembayaran. c. Sistem operasi ini sangat mudah kita temukan dan merupakan smartphone sejuta umat karena android ini dibandrol dari harga yang murah sampai harga yang mahal baik karena tergantung produsen pembuat smartphone ini. d. Fasilitas penuh USB. Anda bisa mengganti baterai, mass storage, diskdrive, dan USB tethering. e. Mendukung semua layanan yang ada di Google. f. Merupakan smartphone terbanyak yang memiliki media sosial. 2. Adapun kekurangannya yaitu adalah sebagai berikut : a. Banyak aplikasi yang terhubung dengan internet karena jaringan yang ada di Indonesia sangat tidak stabil sehingga mudah membuat baterai habis ataupun membuat smartphone yang kita gunakan selalu panas. b. Kebanyakan perusahaan tidak menyediakan update ke versi selanjutnya misalnya bagi versi ginggerbread sangat sulit untuk mendapatkan versi diatasnya seperti Ice Cream Sandwich ataupun Jelly Bean. c. Karena terlalu banyak aplikasi gratis dalam android store membuat kita harus lebih berhati-hati karena kebanyakan para developer memasang malware terhadap aplikasi yang kita gunakan. d. Sangat boros baterai karena harus bekerja ekstra untuk menjalankan semua proses yang ada di android. e. Banyaknya iklan pada aplikasi android.
2.8
Arsitektur Android Secara garis besar arsitektur android dapat dijelaskan dan digambarkan
sebagai berikut (Safaat, 2012: 6):
28
a. Application dan Widgets Application dan widgets adalah layer dimana pengguna berhubungan dengan aplikasi, yaitu saat melakukan instalasi dan menjalankan aplikasi tersebut. b. Applications Frameworks Application framework, yang mencakup program untuk mengatur fungsi-fungsi
dasar
smartphone.
Application
framework
merupakan
serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik telepon. Komponen-komponen
yang
termasuk
didalam
application
frameworks adalah sebagai berikut : a. Views b. Content provider c. Resource manager d. Notification manager e. Activity manager c. Libraries Libraries adalah layer dimana fitur-fitur android berada, biasanya libraries diakses untuk menjalankan aplikasi. Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libe, SSL, dan lain-lain. d. Android Run Time Layer ini merupakan layer yang membuat aplikasi android dapat dijalankan dimana dalam prosesnya menggunakan implementasi linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi android. Didalam Android Run Time dibagi menjadi dua bagian : a. Core Libraries Aplikasi android dibangun dalam bahasa java sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries.
29
b. Dalvik Virtual Machine Virtual mesin berbasis register
yang dioptimalkan untuk
menjalankan fungsi secara efisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah. e. Linux Kernel Linux kernel adalah layer dimana inti dari operating system dari android itu berada. Berisi file sistem yang mengatur sistem processing, memory, resource, drivers, dan sistem operasi android lainnya.
Gambar 2.2 Arsitektur android
2.9
IDE Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platformindependent). Berikut ini adalah sifat dari eclipse: a. Multi-platform Target sistem operasi eclipse adalah microsoft windows, linux, solaris, AIX, HP-UX dan Mac OS X.
30
b. Mulit-language Eclipse dikembangkan dengan bahasa pemrograman java, akan tetapi eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lain seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. c. Multi-role Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan web, dan lain sebagainya. Pada saat ini, eclipse merupakan salah satu IDE favorit karena gratis dan open source. Open source berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan membuat komponen yang disebut plug-in. Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak pengembangan IBM Visual Age for Java 4.0.
Produk eclipse ini
diluncurkan oleh IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk pengembangannya. Sejak 5 November 2001, konsorsium eclipse foundation mengambil alih pengembangan eclipse lebih lanjut. Sejak versi 3.0, eclipse pada dasarnya merupakan sebuah kernel. Apa yang dapat digunakan di dalam eclipse sebenarnya adalah fungsi dari plug-in yang sudah dipasang (di-install). Ini merupakan basis dari eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP: a. Core platform b. OSGi c. SWT (Standard Widget Toolkit) d. JFace e. Eclipse Workbench
31
Secara standar eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat eclipse kompatibel untuk mengembangkan program
Java,
dan
PDE
(Plug-in
Development
Environment)
untuk
mengembangkan plug-in baru. Eclipse beserta plug-in nya diimplementasikan dalam bahasa pemrograman java. Konsep eclipse adalah IDE adalah a.
Terbuka (open),
b.
Mudah diperluas (extensible) untuk apa saja, dan
c.
Tidak untuk sesuatu yang spesifik.
Eclipse tidak saja untuk mengembangkan program java, tetapi juga untuk berbagai macam keperluan. Perluasan apapun cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ maka telah terdapat plug-in CDT (C/C++ Development Tools) yang dapat dipasang di eclipse untuk eclipse menjadi perangkat untuk pengembangan C/C++. (Fatimah, 2011).
2.10
Android SDK (Software Development Kit) Android SDK (Software Development Kit) adalah tools API (Application
Programming Interface) yang diperlukan untuk memulai pengembangan suatu aplikasi pada platform android menggunakan bahasa pemrograman java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di-release oleh Google. Saat ini disediakan android SDK sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman java. Sebagai platform aplikasi netral, android memberi anda kesempatan untuk membuat aplikasi yang kita butuhkan yang bukan aplikasi bawaan smartphone. Beberapa fitur android yang paling penting adalah : 1. Framework, aplikasi yang mendukung penggantian komponen dan reusable 2. Mesin virtual dalvik, dioptimalkan untuk perangkat mobile. 3. Integrated browser, berdasarkan engine open source WebKit. 4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan klasifikasi opengl ES 1,0 (Opsional akselerasi hardware).
32
5. SQLite untuk penyimpanan data. 6. Media support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware). 7. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware). 8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware) lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse. (Safaat, 2012).
2.11
ADT (Android Development Tools) Android Development Tools (ADT) adalah plug-in untuk eclipse IDE yang
dirancang untuk memberikan lingkungan yang terintegrasi yang kuat di mana untuk membangun aplikasi android. ADT memperluas kemampuan eclipse untuk membiarkan anda cepat membuat proyek baru android, membuat aplikasi UI, menambahkan paket didasarkan pada android kerangka API, debug aplikasi anda menggunakan alat SDK android, dan bahkan ekspor ditandatangani (atau unsigned) .apk file dalam rangka untuk mendistribusikan aplikasi anda. Mengembangkan di eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai. Dengan dipandu setup proyek menyediakan, serta integrasi alat, XML custom editor, dan panel output debug, ADT
memberikan
anda
sebuah
peningkatan
yang
luar
biasa
dalam
mengembangkan aplikasi android. Semakin tinggi platform android yang kita gunakan, dianjurkan memakai ADT yang lebih baru, karena biasanya munculnya platform baru diikuti oleh munculnya versi ADT yang terbaru (Safaat, 2012).
2.12
SQLite SQLite adalah sebuah library yang mengimplementasi self-contained,
serverless, zero-configuration, transactional SQL database. SQLite merupakan
33
SQL database engine yang paling banyak digunakan karena kode untuk SQLite berada dalam public domain dan dengan demikian bebas untuk digunakan. Beberapa fitur yang terdapat pada SQLite adalah: 1.
Transaksi bersifat atomic, konsisten, terisolasi, dan tahan lama (ACID), bahkan jika terjadi kegagalan sistem atau power.
2.
Zero configuration, yang berarti tidak membutuhkan setup atau administration.
3.
Penerapan SQL92.
4.
Database yang lengkap disimpan di dalam single cross-platform disk file.
5.
Mendukung database dengan ukuran terabyte dan gigabyte, strings, dan blobs.
6.
Footprint yang berukuran kecil: kurang dari 350 KB jika terkonfigurasi penuh atau kurang dari 200 KB jika fitur –fitur tambahan tidak digunakan.
7.
Lebih cepat dari database client atau server yang sering digunakan pada umumnya untuk operasi – operasi yang bersifat umum.
8.
API yang sederhana dan mudah untuk digunakan.
9.
Ditulis dalam ANSI-C dan TCL binding terdapat didalamnya. Binding untuk bahasa lainnya tersedia secara terpisah.
10.
Tersedia sebagai single ANSI-C source-code file yang dapat ditambahkan dengan mudah.
11.
Mandiri, tidak bergantung kepada faktor eksternal.
12.
Cross platform: UNIX (Linux dan Mac OS X), OS/2, dan Windows (Win32 dan WinCE).
13.
Kode SQLite berada di public domain dan dapat digunakan untuk tujuan apapun.
14.
Memiliki Command Line Interface (CLI) client yang mandiri dan dapat digunakan untuk mengatur database dari SQLite.
34
2.13
Unified Modelling Language (UML) Menurut Whitten dan Bentley (2007), Unified Modelling Language
(UML) adalah sekumpulan aturan pemodelan yang digunakan untuk menentukan dan menggambarkan suatu sistem software yang berkaitan dengan objek. UML telah menjadi standar dalam bahasa pemodelan di bidang perancangan software. Standarisasi UML diatur dan dibuat oleh Object Management Group (OMG). Untuk menjalankan fungsinya dalam menentukan dan menggambarkan rancangan software, UML versi 2.0 menggunakan diagram-diagram sebagai berikut: 1.
Use Case Diagram
2.
Activity Diagram
3.
Class Diagram
4.
Object Diagram
5.
State Machine Diagram
6.
Sequence Diagram
7.
Communication Diagram
8.
Interaction Overview Diagram
9.
Timing Diagram
10.
Component Diagram
11.
Deployment Diagram
12.
Package Diagram
13.
Composite Structure Diagram Meskipun UML memiliki begitu banyak diagram, tidak semuanya
diperlukan dan harus digunakan dalam perancangan. Apabila sistem telah digambarkan dan dapat dipahami dengan baik menggunakan diagram yang ditentukan, maka tujuan dari UML telah tercapai. 2.13.1 Use Case Diagram Use case diagram adalah diagram yang mendeskripsikan interaksi antara sistem dengan pengguna dan menggambarkan siapa yang akan menggunakan
35
sistem serta bagaimana pengguna berinteraksi dengan sistem. (Whitten dan Bentley, 2007) Komponen notasi dasar yang dimiliki oleh use case diagram adalah aktor dan use case. Berikut adalah notasi yang terdapat pada use case diagram:
Tabel 2.1 Tabel Notasi Use Case Diagram Notasi
Deskripsi
Aktor
Aktor adalah pengguna sistem. Aktor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bias dianggap sebagai aktor.
Use Case
Use case digambarkan sebagai elips dengan nama use case dituliskan didalam elips tersebut.
Gambar 2.3 Contoh Use Case Diagram
Dalam use case diagram terdapat hubungan yang digunakan, antara lain (Whitten dan Bentley, 2007): 1.
Asosiasi Asosiasi mendeskripsikan suatu hubungan antara aktor dan use case.
Asosiasi
dapat
digambarkan
dengan
suatu
garis
yang
menghubungkan aktor dan use case. Sebuah asosiasi yang digambarkan
36
dengan suatu garis dengan anak panah menunjukkan interaksi antara use case dengan aktor sebagai inisiator. Sedangkan asosiasi yang digambarkan tanpa anak panah menggambarkan interaksi antara use case dengan actor penerima.
Gambar 2.4 Contoh Asosiasi pada Use Case Diagram 2.
Extends Pada suatu use case dapat terdiri dari fungsi-fungsi yang kompleks dan menyebabkan use case sulit dimengerti. Oleh karena itu digunakan extends dengan cara use case tersebut menghasilkan use case baru yang berfungsi untuk mempermudah dalam pemahaman terhadap suatu use case. Use case hasil dari extends disebut dengan extention use case yang hanya dapat diakses oleh use case yang menggunakan extends.
Gambar 2.5 Contoh Extends pada Use Case Diagram 3.
Uses / Includes Pada suatu use case diagram sering ditemukan dua atau lebih use case yang melakukan fungsi yang sama tersebut. Fungsi tersebut digabungkan menjadi use case baru yang disebut use case abstrak, yang berfungsi untuk mengurangi redundansi dalam suatu use case diagram.
37
Gambar 2.6 Contoh Includes pada Use Case Diagram 4.
Depends On Depends On merupakan suatu hubungan ketergantungan antara satu use case dengan use case lainnya, dimana suatu use case tidak dapat berjalan jika use case lain belum dilakukan.
Gambar 2.7 Contoh Depends On pada Use Case Diagram 5.
Inheritance Inheritance
digunakan
untuk
mempermudah
penggambaran
hubungan antara dua atau lebih aktor yang memiliki langkah yang sama dalam sistem dengan membuat aktor abstrak.
Gambar 2.8 Contoh Inheritance pada Use Case Diagram
38
2.13.2 Use Case Narrative Use Case Narrative adalah sebuah teks yang mendeskripsikan suatu langkah yang ada pada use case dan bagaimana cara pengguna berinteraksi dengan sistem untuk menyelesaikan pekerjaannya pada sistem tersebut. (Whitten dan Bentley, 2007).
2.13.3 Class Diagram Class diagram merupakan gambaran grafis dari struktur objek, yang menunjukkan kelas objek yang ada pada suatu sistem dan hubungan antara kelaskelas objek tersebut. (Whitten dan Bentley, 2007)
Gambar 2.9 Contoh Class Diagram
Setiap kelas objek dibagi menjadi 3 (tiga) bagian, yaitu: 1.
Nama kelas Nama kelas harus unik atau dapat dibedakan antara kelas yang satu dengan kelas yang lain karena nama kelas merupakan identitas yang dimiliki oleh setiap kelas.
2.
Atribut kelas Atribut menunjukkan informasi yang dimiliki oleh suatu kelas atau informasi yang berhubungan dengan suatu kelas.
3.
Operasi kelas
39
Operasi digunakan untuk menunjukkan fungsi yang dapat dilakukan oleh suatu kelas.
Gambar 2.10 Struktur Kelas Objek
2.13.4 Activity Diagram Activity
diagram
adalah
suatu
diagram
yang
digunakan
untuk
menggambarkan proses bisnis, langkah-langkah dari use case dan logika perilaku dari objek. Dalam activity diagram lebih dari satu use case dapat digambarkan dengan satu activity diagram, tetapi satu activity diagram dapat digambarkan untuk setiap use case jika use case tersebut memiliki logika yang kompleks. (Whitten dan Bentley, 2007).
Gambar 2.11 Activity Diagram
Beberapa elemen yang digunakan dalam activity diagram adalah: (Whitten dan Bentley, 2007).
40
Tabel 2.2 Elemen Activity Diagram Initial node
Simbol
yang
menggambarkan
dimulainya proses. Action
Simbol yang merepresentasikan suatu aktivitas. Keseluruhan aktivitas dari diagram mengikuti urutan actions.
Flow
Simbol yang merepresentasikan jalur dari satu aktivitas ke aktivitas lainnya.
Decision /
Simbol
yang
merepresentasikan
Merge
keadaan kondisional, yaitu decision dan merge. 1. Decision Mengindikasi kondisi untuk memilih
salah
satu
alur
aktivitas. 2. Merge Mengindikasi
bergabungnya
alur aktivitas yang dipisahkan oleh decision sebelumnya. Fork / Join
Simbol
yang
merepresentasikan
keadaan paralel, yaitu fork dan join. 1. Fork Mengindikasikan adanya dua atau
lebih
actions
yang
berlangsung bersamaan. 2. Join Mengindikasi proses paralel.
berakhirnya
41
Activity
Simbol
yang
Final
berakhirnya proses.
merepresentasikan
Pada activity diagram dapat ditentukan siapa yang melakukan tindakan apa dengan membagi activity diagram ke dalam beberapa partitions atau swimlane yang menunjukkan aktivitas yang dilakukan oleh aktor tertentu. Suatu activity diagram dapat memiliki tiga atau lebih swimlane yang menunjukkan actor penerima. 2.13.5 Sequence Diagram Sequence diagram adalah salah satu UML diagram yang menggambarkan model logika dari sebuah use case dengan menggambarkan interaksi pesan antar objek dalam suatu urutan waktu. (Whitten dan Bentley, 2007)
Gambar 2.12 Contoh Sequence Diagram Beberapa elemen yang digunakan dalam sequence diagram adalah (Whitten dan Bentley, 2007): 1.
Aktor Aktor adalah suatu elemen yang dapat digunakan pada sequence diagram dimana digambarkan dengan aktor simbol yang mewakili pengguna dalam berinteraksi dengan interface.
42
Gambar 2.13 Simbol Aktor 2.
Objek Objek digunakan untuk mewakili kelas-kelas pada class diagram dan digambarkan dengan simbol persegi panjang yang didalamnya terdapat nama objek tersebut. Pada objek terdapat garis putus-putus yang disebut lifeline.
Gambar 2.14 Objek 3.
Pesan Pesan digunakan untuk menggambarkan interaksi antar objek yang ada pada sequence diagram.
Gambar 2.15 Pesan 4.
Aktivasi Aktivasi digambarkan dengan sebuah persegi panjang pada lifeline dan berfungsi untuk menunjukkan lamanya objek yang digunakan.
Gambar 2.16 Aktivasi
43
5.
Pesan kembali Pesan kembali digambarkan dengan simbol seperti pesan tetapi dengan garis putus-putus dan berfungsi untuk menanggapi pesan yang sebelumnya telah disampaikan.
Gambar 2.17 Pesan Kembali 6.
Self-call Suatu objek pada sequence diagram dapat mengirimkan pesan atau berinteraksi ke objek itu sendiri.
Gambar 2.18 Self-call 7.
Frame Penggunaan frame pada sequence diagram menunjukkan adanya perulangan (looping) pada daerah yang dibatasi oleh frame tersebut. Frame juga digunakan jika pada sequence diagram terdapat pilihan yang boleh dipilih atau tidak dipilih (optional) atau menggambarkan pilihan yang setidaknya ada sebuah proses yang dilakukan (alternate).
Gambar 2.19 Frame (Sumber: Whitten dan Bentley, 2007)
44
2.14
Flowchart Bagan Alir (flowchart) adalah bagan (chart) yang menunjukkan alir (flow)
di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat Bantu komunikasi dan untuk dokumentasi. Beberapa simbol yang akan digunakan dalam Flowchart, yaitu : Tabel 2.3 Simbol Flowchart Terminal: simbol ini menyatakan awal dan Start
akhir sebuah rangakain perjalanan sebuah sistem. Untuk awal sistem, dari simbol ini akan keluar sebuah garis yang menunjukkan arah proses berikutnya. Sebagai sebuah terminal
End
akhir, yang mengakhiri rangkain proses, akan ada sebuah tanda arah masuk (menuju) ke simbol ini, dan tak pernah ada tanda arah yang keluar. Processing: simbol ini menyatakan adanya sebuah kegiatan pengolahan data pada langkah tersebut. Simbol ini akan menerima masukan dari simbol lainnya, dan akan mengeluarkan hasil proses, untuk dilanjutkan pada langkah berikutnya, jadi akan terdapat dua garis penunjuk arah, masuk (kedalam simbol ini) dan keluar. Di dalam kotak simbol akan dituliskan proses-proses apa saja yang akan dikerjakan pada tahap ini. Input/Output: simbol ini digunakan untuk adanya proses pembacaan data file input, atau melakukan (output).
penulisan
pada
file
keluaran
45
Decision: simbol keputusan (decision symbol) digunakan untuk suatu kondisi di dalam program. Pada simbol ini diartikan akan adanya suatu alternatif (pilihan) proses. Hanya akan ada arah yang masuk kesimbol ini. Dan akan ada simbol yang keluar dari simbol decision ini, untuk
menggambarkan
adanya
beberapa
alternatif proses yang akan terjadi sesudah simbol decision ini. Bentuk pengujian akan menentukan pilihan arah proses mana yang akan dituju. Display: menandakan digunakan media layar (monitor, display) untuk menyajikan suatu informasi.
Off-page
Conector:
simbol
yang
akan
menandakan adanya suatu hubungan rangkaian langkah proses, yang harus berlanjut dihalaman lain. Connector: serupa dengan Off-page connector, yang gunanya adalah menyambung suatu rangkaian langkah proses. Tetapi simbol ini hanya dipakai untuk sambungan yang ada dihalaman yang sama. Preparation: simbol persiapan (preparation symbol) digunakan untuk memberi nilai awal suatu besaran.
BAB III METODOLOGI PENELITIAN
3.1
Metode Pengumpulan Data dan Informasi Dalam penyusunan skripsi ini, penulis membutuhkan data atau informasi
dan referensi yang relatif lengkap. Oleh karena itu penulis melakukan riset atau penelitian untuk mendapatkan data dan referensi yang diperlukan. Adapun metode pengumpulan data-data dan informasi yang diperlukan adalah studi pustaka, yaitu teknik pengumpulan data dengan menghimpun dan menganalisis dokumen. Dokumen yang termasuk didalamnya yaitu penelitian terdahulu, buku, artikel, dan jurnal yang berkaitan dengan objek penelitian yang didapatkan melalui internet. Secara rinci yang penulis lakukan pada studi pustaka ini adalah: 1. Mempelajari buku-buku atau dokumen-dokumen, jurnal dan artikel-artikel yang berhubungan dengan bahasa latin hewan dan tumbuhan. 2. Mempelajari penelitian sebelumnya yang berhubungan dengan kamus android mobile dan metode brute force.
3.2
Metode Pengembangan Sistem Metodologi pengembangan sistem yang digunakan adalah metode
Rational Unified Process (RUP) karena pengembangan aplikasi ini dalam ruang lingkup kecil/ menengah. Terdapat beberapa tahapan dalam metode ini, yaitu: 1. Inception Pada tahap ini penulis menentukan ruang lingkup proyek dari hasil observasi yang penulis lakukan, meliputi dari hasil penelitian skripsi-skripsi terdahulu. 2. Elaboration Pada tahap ini setelah penulis mengadakan observasi/studi pustaka, kemudian penulis melakukan identifikasi masalah, dan menentukan alur bisnis dan aplikasi serta wilayah persoalan data yang akan didukung oleh sistem yang akan dikembangkan serta ditentukan pula jangkauan atau batasan sistem.
46
47
Di dalam elaboration terdapat dua tahapan, yaitu: 1. Analisis Ada tiga fase dalam tahapan analisis sistem pada alur pengembangan sistem RUP, yaitu: a. Analisis masalah. b. Analisis persyaratan, mendefinisikan dan memprioritaskan persyaratanpersyaratan bisnis. c. Analisis keputusan, setelah mengetahui permasalahan dan persyaratan sistem yang diinginkan maka fase selanjutnya adalah analisis keputusan yang akan menghasilkan arsitektur aplikasi. Pada bagian ini juga digambarkan spesifikasi atau alur kerja sistem yang diusulkan. Perancangan sistem dilakukan setelah tahap analisis telah rampung, adapun metode yang digunakan adalah desain berorientasi objek atau Object Oriented Design (OOD). 2. Modelling (Perancangan) a. Perancangan Aplikasi Untuk perancangan aplikasi, penulis menggunakan alat bantu (tools) yaitu Unified Modelling Language (UML). UML merupakan sebuah bahasa yang menjadi standar untuk visualisasi, perancangan serta pendokumentasian sebuah software. Disebabkan UML menggunakan class dan operation, maka penggunaan UML lebih cocok digunakan dalam perancangan aplikasi yang bersifat object oriented. b. Perancangan Tampilan Pada tahap ini penulis melakukan perancangan terhadap user interface dari aplikasi ini. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem. 3. Construction Dalam tahapan construction ini meliputi bagaimana suatu aplikasi itu bisa diimplementasikan dan diuji coba.
48
a. Implementasi Dalam tahapan implementasi ini dijelaskan perangkat keras dan perangkat lunak apa saja yang dibutuhkan untuk mengimplementasikan aplikasi kamus bahasa latin hewan dan tumbuhan. b. Coding Pada
tahap
ini
dilakukan
pengkodean
sistem
(coding),
bahasa
pemrograman yang digunakan adalah bahasa pemrograman java (android). c. Testing Pada tahap ini dilakukan testing aplikasi yang telah dibangun, testing aplikasi menggunakan metode blackbox, pengujian ini dilakukan oleh peneliti dan beberapa user yang diambil secara random. Testing ini diperlukan untuk menjamin kualitas aplikasi, apakah sesuai dengan yang diharapkan. 4. Transition Pada tahap ini penulis membuat apa yang sudah dimodelkan di tahapantahapan sebelumnya menjadi suatu barang yang layak jadi.
3.3
Tempat dan Waktu Penelitian
3.3.1
Tempat Penelitian ini dilakukan di Laboratorium Sistem Informasi dan
Programming Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo Kendari. Jl. H.E.A. Mokodompit No. 1, Kampus Hijau Bumi Tridharma, Anduonohu.
3.3.2
Waktu Waktu yang diperlukan dalam penelitian ini dapat dilihat pada tabel
berikut:
49
Tabel 3.1 Tabel Waktu Penelitian Bulan No.
Tahapan I
1.
Inception
2.
Elaboration
3.
Construction
4.
Transition
II
III
IV
V
Penjelasan waktu penelitian: a. Pada bulan pertama, penulis melakukan tahapan inception dan elaboration, yaitu: menentukan ruang lingkup aplikasi dari hasil observasi yang penulis lakukan dan melakukan analisis masalah, kebutuhan, dan keputusan. b. Pada bulan kedua, penulis melakukan tahapan elaboration dan construction, yaitu: melakukan perancangan pada aplikasi yang akan dibuat dan melakukan pengkodean aplikasi (coding). c. Pada bulan ketiga dan keempat, penulis melakukan tahapan construction, yaitu: melakukan pengkodean aplikasi (coding) dan pengujian (testing) pada aplikasi. d. Pada bulan kelima, penulis melakukan tahapan transition, yaitu membuat apa yang sudah dimodelkan pada tahapan-tahapan sebelumnya menjadi suatu barang yang layak jadi.
BAB IV PERANCANGAN DAN ANALISIS
4.1
Analisis Sistem Analis sistem merupakan suatu tahapan yang betujuan untuk mengetahui
dan mengamati apa saja yang terlibat dalam suatu sistem. Pembahasan yang ada pada analisis sistem ini yaitu analisis masalah, analisis algoritma, analisis kebutuhan nonfungsional, dan analisis kebutuhan fungsional.
4.2
Analisis Masalah Dalam tugas akhir ini, berdasarkan studi literature dan hasil observasi
yang dilakukan. Penggunaan kamus buku yang susah dibawa dan penggunaannya yang lama dalam pencarian kata dan arti bahasa latin hewan maupun tumbuhan. Untuk itu dibutuhkan sebuah sistem yang dapat memberikan kemudahan bagi pengguna dari segi penggunaannya.
4.3
Analisis Algoritma Brute Force Algoritma brute force dalam pencocokan pola string sederhana tidaklah
serumit dengan menggunakan algoritma cerdas misalnya Knutt-Morris-Pratt Algorithm , algoritma brute force berperan memeriksa dan membandingkan pattern yang dicari dengan pattern yang ada di string. Bila hasil cocok, maka program melakukan keluaran sesuai dengan perintah. Bila hasil belum ditemukan maka program akan melakukan perulangan hingga jumlah peluang yang mungkin terjadi. 4.3.1
Implementasi Algoritma Brute Force Adapun simbol dari pencarian string ini adalah sebagai berikut :
t = teks (text), yaitu (long) string yang panjangnya n karakter p = pattern, yaitu string dengan panjang m karakter (m < n) yang akan dicari di dalam teks. c = character/karakter.
50
51
t : tc1, tc2, tc3, tc4, ... , tcn (pcm < tcn) p : pc1, pc2, pc3, ... , pcm Proses 1 t : tc1
tc2
Proses 2
tc3 tc4
t :
tc1
tc2
tc3
tidak cocok p : pc1 pc2 pc1
pc3
cocok p :
tc1 = tidak cocok (do next t)
p pindah 1 karakter ke kakanan pada t
pc1
tc1
tc2
pc1 pc2 pc3 tc2 = cocok (do next p)
proses kesamaan pc2
Proses 3 t :
pc2
tc3
Proses 4 tc3
tc4
t : tc1 tc2 tc3 tc4 cocok
p :
tc4
pc1 pc2
pc3
cocok p :
tc3 = cocok (do next p)
proses kesamaan pc3
tc4
pc1 pc2 pc3 pc3
tc4 = cocok
Tampilkan kecocokan string
4.3.1.1 Cara Kerja Algoritma Brute Force Secara sistematis, langkah-langkah yang dilakukan algoritma brute force pada saat mencocokkan string adalah: 1. Algoritma brute force mulai mencocokkan pattern pada awal teks. 2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi: 1. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch). 2. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
52
Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks. Misal : Teks = 4 dan Pattern =3 Proses 1 t:
a
y
a
Proses 2 m
t:
a
y
a
m
tidak cocok p: i
y
a
cocok
m
p:
t = tidak cocok (do next t)
i
p pindah 1 karakter ke kakanan pada t
y
a
y
a
m
i = cocok (do next p)
proses kesamaan pc2
Proses 3 t:
a
tc3
Proses 4 m
t: a
y
a
m
cocok p: n
y
a
cocok
m
p:
n = cocok (do next p)
proses kesamaan pc3
4.3.2
y
a
tc4
a
m
a = cocok
Tampilkan kecocokan pada teks
Proses Pencarian Brute Force Dalam String Proses pencarian yang brute force terhadap string, terlebih dahulu
disiapkan string yang disimpan dalam sistem atau yang akan dibaca oleh sistem untuk dijadikan pembanding dengan string yang akan dicari. Tabel 4.1 menunjukkan contoh string yang tersimpan dalam sistem.
Tabel 4.1 Tabel String Teks Char
A
Y
A
M
K
A
L
K
U
N
Indeks
0
1
2
3
4
5
6
7
8
9
53
Tabel 4.2 Tabel String Yang Akan Dicari Char
K
A
L
K
Indeks
0
1
2
3
Cara kerja algoritma brute force untuk mencari pola yang sama dapat dilihat pada tabel 4.3. Tabel 4.3 Tabel Cara Kerja Algoritma Brute Force
A Y A M K A L K U N K A L
K
K A
L
K A
Panjang Teks = 10 Panjang Pattern = 4 Jumlah perulangan = Panjang Teks–Panjang Pattern (ditambah 1 jika indeks dimulai dari 0)
K
Algoritma ini menyelesaikan masalah dengan mencoba kemungkinan dari awal hingga akhir secara terurut.
L K
K A L K K A L K K A L K K A L K K A L K A K
4.4
Analisis Kebutuhan Nonfungsional Analisis kebutuhan nonfungsional adalah sebuah langkah dimana seorang
pembangun aplikasi menganalisis sumber daya yang dibutuhkan untuk membangan aplikasi yang akan dibangun. Analisis kebutuhan nonfungsional yang dilakukan dibagi dalam dua tahap, yaitu analisis kebutuhan perangkat keras dan analisis kebuthan perangkat lunak.
54
4.4.1
Analisis Kebutuhan Perangkat Keras Perangkat keras yang digunakan pada pembangunan aplikasi kamus latin
hewan dan tumbuhan ini, dapat dilihat pada Tabel 4.4.
Tabel 4.4 Spesifikasi Perangkat Keras No
Nama Perangkat
1
Processor
2 3
Monitor Smartphone android
4.4.2
Spesifikasi Intel (R) Core i3 (R) (CPU 560 @ 2.53GHz 2.5 Ghz) LCD 14‟ dengan resolusi 1280 x 800 pixels Advan S5, ice cream sandwich 4.0.4
Analisis Kebutuhan Perangkat Lunak Perangkat lunak yang digunakan pada pembangunan aplikasi kamus
bahasa latin hewan dan tumbuhan ini, dapat dilihat pada Tabel 4.5.
Tabel 4.5 Spesifikasi Perangkat Lunak No 1 2 3 4 5
Nama Perangkat Operating System Java Development Kit (JDK) Software Development Tools Android Developer Tools Database Tools
Spesifikasi Windows Ultimate JDK 1.8.0 SDK ADT Sqlite
JDK dipilih sebagai perangkat lunak untuk bahasa pemrograman java, SDK dipilih sebagai perangkat lunak untuk memilih package dari android yang akan digunakan, ADT dipilih sebagai perangkat lunak untuk editor pembuatan program. 4.5
Analisis Kebutuhan Fungsional Analisis kebutuhan fungsional adalah segala bentuk data yang dibutuhkan
oleh sistem agar sistem dapat berjalan sesuai prosedur yang dibangun. Aplikasi yang dibangun dimodelkan menggunakan Unified Modelliing Language (UML), dan tools yang akan digunakan yaitu use case diagram dan flowchart. Kebutuhan
55
fungsional meliputi apa saja yang dapat dilakukan oleh sistem maupun pengguna didalam aplikasi. adapun kebutuhan fungsional untuk aplikasi ini adalah sebagai berikut: 1) Sistem mampu memberikan informasi mengenai nama latin hewan dan tumbuhan. 2) Sistem mampu melakukan pencarian nama latin hewan dan tumbuhan dengan memasukan nama latin hewan dan tumbuhan yang ingin dicari . 3) Sistem mampu menampilkan data pada galeri. 4) Sistem dapat memberikan bantuan pemakaian aplikasi kepada pengguna. 5) Sistem memberikan informasi tentang pengembang aplikasi. 4.5.1
Perancangan Sistem Perancangan sistem adalah segala bentuk data berupa tahapan-tahapan
yang dibutuhkan oleh sistem agar sistem dapat berjalan sesuai dengan prosedur yang dibangun. Aplikasi yang dibangun dimodelkan menggunakan Unified Modeling Language (UML), dan tools yang akan digunakan yaitu use case diagram, activity diagram, dan sequence diagram. 4.5.1.1 Use Case Diagram Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Aktor meupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi itu sendiri. Use case diagram digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem. Use case diagram juga menjelaskan apa yang dikerjakan oleh sistem yang akan di bangun dan siapa saja yang berinteraksi di dalamnya. Use case diagram aplikasi kamus latin hewan dan tumbuhan ditunjukkan pada Gambar 4.1.
56
Gambar 4.1 Use Case Diagram Sistem
4.5.1.2 Definisi Aktor Definisi aktor merupakan pengguna yang terlibat dalam perangkat lunak yang dibangun. Adapun definisi aktor pada aplikasi yang dibuat ditunjukan pada Tabel 4.6. Tabel 4.6 Definisi Aktor Aktor Aktor/User
Deskripsi Adalah orang yang memiliki hak akses untuk melakukan operasi proses kamus hewan, kamus tumbuhan,galeri, about us dan mengeluarkan aplikasi.
4.5.1.3 Definisi Use Case Definisi use case merupakan penjelasan mengenai urutan proses yang dilakukan oleh sistem yang dapat di akses oleh aktor. Adapun definisi use case pada aplikasi interaksi obat ditunjukan pada Tabel 4.7.
Tabel 4.7 Tabel Use Case Use case Form Kamus Hewan
Deskripsi Form proses inputan untuk mencari arti kata hewan yang diinputkan.
57
Form Kamus Tumbuhan Form proses inputan untuk mencari arti kata tumbuhan yang diinputkan. Form Galery
Form
menampilkan
gambar
hewan
dan
tumbuhan beserta arti dari nama latinnya. Form About Us
Merupakan tampilan form yang berisi data singkat mengenai aplikasi kamus hewan dan tumbuhan serta pengembang aplikasi.
Button Keluar
Merupakan tombol dimana user memilih untuk keluar dari penggunaan aplikasi.
4.5.2
Activity Diagram
4.5.2.1 Activity Diagram Kamus Hewan Activity diagram kamus hewan ini akan menjelaskan proses pencarian arti bahasa latin dari hewan yang dapat diakses melalui form kamus hewan. Ditunjukan pada Gambar 4.2. user
Sistem
*
*
Akses Form Kamus Hewan
Input Kata Hewan
Mencari Kata Brute Force
Hasil Pencarian
Gambar 4.2 Activity Diagram Kamus Hewan
58
4.5.2.2 Activity Diagram Kamus Tumbuhan Activity diagram kamus tumbuhan ini akan menjelaskan proses pencarian arti bahasa latin dari tumbuhan yang dapat diakses melalui form kamus tumbuhan. Dapat ditunjukan pada Gambar 4.3. user
Sistem
*
*
Akses Form Kamus Tumbuhan
Input Kata Tumbuhan
Mencari Kata Brute Force
Hasil Pencarian
Gambar 4.3 Activity Diagram Kamus Tumbuhan 4.5.3
Sequence Diagram Berikut adalah sequance diagram dari aplikasi kamus bahasa latin hewan
dan tumbuhan. Sequance diagram ditunjukkan pada Gambar 4.4.
Top Package::user
Pencarian (brute force)
1. input kata (String)
Menampilkan hasil pencarian
Gambar 4.4 Sequence Diagram Sistem
59
4.6
Flowchart System Flowchart system menjelaskan bagaimana aplikasi bekerja dimulai input
kata yang dicari, kemudian kata yang dimasukkan kedalam sistem dianggap sebagai pola dan akan disbanding dengan data yang ada hingga menampilkan hasil pencarian yang sesuai dengan data yang ada. Flowchart system ditunjukkan pada Gambar 4.5.
Gambar 4.5 Flowchart System
Berdasarkan gambar 4.5 dapat dijelaskan bahwa untuk melakukan pencarian terlebih dahulu ditentukan kata atau pola hewan dan tumbuhan yang akan dicari, kata tersebut akan diproses dengan metode brute force, dimana algoritma brute force bergeser dari posisi kiri ke kanan untuk mengecek satu persatu kata yang diinputkan dan menyamakan kata tersebut dengan teks yang ada didatabase lalu fitur autocomplete melengkapi kata yang ada dan menampilkan
60
kata secara lengkap yang sesuai dari hasil pencarian. Apabila kata atau pola ditemukan maka hasil akan ditampilkan, proses akan selesai dan apabila hasil tidak ditemukan maka kita diisyaratkan untuk menginput kata atau pola hewan dan tumbuhan baru yang akan dicari.
4.7
Gambaran Umum Sistem Gambaran umum sistem merupakan suatu proses yang menggambarkan
bagaimana suatu sistem dibangun untuk memenuhi kebutuhan pada fase analisis. Tahap perancangan terdiri dari dua bagian yaitu percangan arsitektur dan perancangan antarmuka. 4.7.1
Perancangan Sistem Arsitektur Dalam pencarian arti dari bahasa latin hewan atau tumbuhan dibagi
menjadi 3 tahap, tahap yang pertama adalah proses penginputan teks yang akan dicari, tahap kedua adalah proses pencocokan data inputan dengan data yang ada didalam database menggunakan algoritma brute force, tahap ketiga menampilkan hasil pencarian. Secara umum alur program ditunjukkan pada Gambar 4.6 sebagai berikut :
Gambar 4.6 Alur Sistem Aplikasi Kamus Latin Hewan Dan Tumbuhan Dimulai dari pengguna menginputkan kata yang dicari, kemudian sistem secara otomastis mencari data yang sesuai dengan kata yang diinputkan pengguna, apabila data ditemukan maka sistem akan menampilkan penjelasan dari kata yang diinputkan.
4.7.2
Perancangan Interface Perancangan interface adalah tahapan pembuatan rancangan antarmuka
untuk digunakan pada pembangunan aplikasi Kamus latin hewan dan tumbuhan.
61
4.7.2.1
Perancangan Tampilan Splash Screen Tampilan splash screen merupakan tampilan pembuka yang mucul ketika
aplikasi dijalankan sebelum ke menu utama. Tampilan splash screen dapat dilihat pada Gambar 4.7.
Gambar 4.7 Tampilan Splash Screen
4.7.2.2 Form Menu Utama Pada form ini user dapat memilih menu yang disediakan seperti menu untuk kamus hewan, kamus tumbuhan, gallery, about us dan keluar. Tampilan form menu utama dapat dilihat pada Gambar 4.8.
Gambar 4.8 Form Menu Utama
62
4.7.2.3 Form Kamus Latin Hewan Dan Kamus Tumbuhan Pada form ini user dapat mencari arti dari kata bahasa latin dari hewan dan tumbuhan. Tampilan form kamus hewan dan tumbuhan dapat dilihat pada Gambar 4.9.
Gambar 4.9 Form Kamus Hewan dan Tumbuhan
4.7.2.4 Form Gallery Pada form ini, user dapat melihat list gallery yang disediakan, berupa gambar hewan, tumbuhan dan keterangan serta kita bisa mendengar keterangan hewan dan tumbuhan dari rekaman suara yang ada. Tampilan form gallery dapat dilihat pada Gambar 4.10.
Gambar 4.10 Form Gallery
63
4.7.2.5
Form About Us Pada Form about us, user dapat melihat keterangan tentang aplikasi
kamus latin hewan dan tumbuhan. Tampilan form about us dapat dilihat pada Gambar 4.11.
Gambar 4.11 Form About
4.7.2.6 Button Keluar Pada button keluar user dapat meninggalkan penggunaan aplikasi ketika tidak lagi digunakan. Tampilan button keluar dapat dilihat pada Gambar 4.12.
Gambar 4.12 Button Keluar
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
5.1
Pembuatan Database Pembuatan database digunakan untuk menyimpan data inputan yang telah
dimasukkan. Dengan nama database db_kamus_komputer serta membuat dua tabel, antara lain tabel db_hewan dan table db_tumbuhan,lihat pada gambar 5.1.
Gambar 5.1 Struktur Tabel Hewan Dan Tumbuhan
Beberapa contoh tabel data hewan yang disimpan kedalam database yang berjumlah 50 data. Ditampilkan pada tabel 5.1.
Tabel 5.1 Tabel Data Hewan Id 1 2 3 4 5 6 7 8 9 10 11 12
Istilah Anjing Anoa Dataran Rendah Anoa Pegunungan Arwana Arwana Hijau Ayam Ayam Hutan Hijau Ayam Kalkun Babi Babi Hutan Babirusa Badak Bercula Satu
Latin Canis Familiaris Bubalus Depressicornis Bubalus Quarlesi Osteoglossum Bicirrhosum Scleropages Formosus Gallus Domestica Gallus Varius Meleagris Gallopavo Suidae Sus Scrofa Babyrousa Babyrussa Rhinoceros Sondaicus
64
65
13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Badak Sumatra Bajing Kelapa Bajing Tanah Banteng Banteng Jawa Bekantan Bekicot Belut Beruang Beruang Madu Beruk Beruk Mentawai Biawak Biawak Borneo Biawak Pohon Buaya Muara Bulu Babi Burung Anis Sulawesi Burung Beo Nias Burung Bidadari Halmahera Burung Celepuk Siau Burung Cendrawasih Burung Cerek Jawa Burung Elang Flores Burung Elang Jawa Burung Kakatua Putih Burung Kakatua Raja Burung Madu Sangihe Burung Maleo Burung Sempidan Kalimantan Burung Tekukur Burung Tokhtor Kalimantan Burung Tokhtor Sumatera Burung Trulek Jawa Burung Unta Cacing Daun Cacing Gelang Cacing Gilik
Dicerorhinus Sumatrensis Callasciurus Notatus Lariscus Hosei Bos Sondaicus Bos Javanicus Javanicus Nasalis Larvatus Achatina Fulica Monopterus Albus Ursus Helarctos Malayanus Macaca Nemestrinus Macaca Pagensis Varanus Salvator Lanthanotus Borneensis Varanus Dumerili Crocodylus Porosus Strogylocentrotus Cataponera Turdoides Gracula Religiosa Robusta Semioptera Wallacii Otus Siaoensis Paradisoaeidae Apoda Charadrius Javanicus Spizaetus Floris Spizaetus Bartelsi Cacatua Alba Probosciger Aterrimus Aethopyga Duyvenbodei Macrocephalon Maleo Lophura Bulweri Streptopelia Chinensis Carpococcyx Radiceus Carpococcyx Viridis Vanellus Macropterus Struthio Camelus Trematoda Ascaris Lumbricoides Nemotoda
66
Beberapa contoh tabel data tumbu yang disimpan kedalam database yang berjumlah 50 data. Ditampilkan pada tabel 5.2.
Tabel 5.2 Tabel Data Tumbuhan Id 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 29 33 34 35
Istilah Akasia Alang-Alang Alpukat Anggrek Anggrek Bulan Anggrek Hitam Anggrek Tebu Anggur Apel Bambu Bambu Ater Bambu Duri Bambu Kuning Bandotan Bawang Bombai Bawang Merah Bawang Putih Bayam Bayam Duri Bayam Merah Belimbing Belimbing Wuluh Bengkuang Buah Merah Bunga Ashar Bunga Bangkai Bunga Kenanga Bunga Matahari Cabai Cabai Rawit Bunga Matahari Cempaka Putih Cempedak Cendana
Latin Acassia Sp Imperata Cylindrica Persea Americana Orcidaceae Sp Phalaenopsis Amabilis Coelogyne Pandurata Grammatophyllum Speciosum Vitis Vinifera Malus Silveltris Melocanna Bambusoides Gigantochloa Atter Bambusa Blumeana Bambusa Vulgaris Ageratum Conyzoides Allium Fistulosum Allium Cepa Allium Sativum Amaranthus Spp Amarantus Spinosus Amarantus Melancholicus Averrhoa Carambola L. Averrhoa Bilimbi L. Pachyrrhizus Erosus Pandanus Conoideus Mirabilis Jalapa Rafflesia Arnoldi Cananga Odorata Helianthus Annuus L Capsicum Annum Capsicum Frutescens Helianthus Annuus L Michelia Alba Artocarpus Champeden Santalum Album
67
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Cengkeh Dadap Dadap Serep Damar Delima Duku Durian Eceng Eceng Gondok Flamboyan Gamal Gandum Ganja Jagung Jahe Jambu Biji
Syzygium Aromaticum Erythrina Sp Erythrina Lithosperma Miq Agathis Labillardieri Punica Granatum L Lansium Domesticum Durio Zibethinus Monochoria Vaginalis Eichhornia Crassipes Poinciana Regia Glerycidea Trificum Sativum Cannabis Sativa Zea Mays Zingiber Offcinalis Rosc Psidium Guajava
5.2 Implementasi Sistem Tahap ini bertujuan untuk mengetahui apakah kebutuhan sistem yang telah diintegrasikan telah terpenuhi. Merealisasikan apa yang terdapat pada tahapan sebelumnya sehingga menjadi sebuah aplikasi kamus bahasa latin hewan dan tumbuhan pada perangkat smartphone android yang sesuai dengan apa yang telah direncanakan. Mengimplementasikan tahap pengembangan rancangan menjadi kode program. Pada awal bagian ini dijabarkan spesifikasi implementasi yang dilakukan berdasarkan hasil pada tahap perancangan. Implementasi perancangan antarmuka terbagi menjadi lima bagian utama, di antaranya adalah: 5.2.1. Implementasi Sistem Aplikasi Kamus Latin Hewan Dan Tumbuhan 1. Tampilan Splash Screen Tampilan splash screen merupakan tampilan pembuka/proses loading yang mucul ketika aplikasi dijalankan sebelum ke menu utama. Lihat pada gambar 5.2
68
Gambar 5.2 Tampilan Splash Screen
2. Form Menu Utama Dalam form menu utama ini tampil beberapa pilihan menu, disini user bisa memilih menu yang disediakan, lihat pada gambar 5.3.
Gambar 5.3 Form Menu Utama
69
3. Form Pencarian Data Kamus Hewan Dalam form pemcarian data Kamus Hewan user dapat menginputkan kata hewan yang akan dicari dan melihat terjemahannya dengan cara mengklik salah satu daftar nama hewan, dapat dilihat pada gambar 5.4.
Gambar 5.4 Form Kamus Hewan
4.
Form Pencarian Data Kamus Tumbuhan Dalam form pemcarian Kamus Hewan user dapat menginputkan kata hewan yang akan dicari dan melihat terjemahannya dengan cara mengklik salah satu daftar nama hewan, dapat dilihat pada gambar 5.5.
Gambar 5.5 Form Kamus Tumbuhan
70
Souce code untuk pencarian kamus hewan dan kamus tumbuhan. public List
getAllKamus(String pilih, String search) { Cursor cursor; List lisKamus = new ArrayList(); if(search==""){ cursor = db.rawQuery("SELECT * FROM "+pilih+" ORDER BY istilah", null); } else{ cursor = db.rawQuery("SELECT * FROM "+pilih+" WHERE istilah like '%"+search+"%'",null); } if (cursor.getCount() >= 1) { cursor.moveToFirst(); do { Kamus kamus = new Kamus(); kamus.setArti(cursor.getString(cursor .getColumnIndexOrThrow(COL_ARTI))); kamus.setIstilah(cursor.getString(cursor .getColumnIndexOrThrow(COL_ISTILAH))); lisKamus.add(kamus); } while (cursor.moveToNext()); } return lisKamus; } public boolean stringMatching(String pattern, String text){ int pLen = pattern.length(); int tLen = text.length(); for (int i = 0;i <= tLen - pLen;i++){ int j; for (j = 0;j < pLen;j++){ if (text.charAt(i + j) != pattern.charAt(j)) break; }
71
if (j == pLen) return true; } return false; }
5.
Form About us Dalam form About us user dapat melihat keterangan tentang aplikasi, lihat pada gambar 5.6.
Gambar 5.6 Form About us
6.
Form Gallery Hewan Dan Tumbuhan Pada form gallery, pengguna bisa melihat list image dan mendengar penjelasan keterangan hewan dan tumbuhan melalui rekaman suara penerjemah dari daftar hewan dan tumbuhan. Dapat dilihat pada gambar 5.7.
72
Gambar 5.7 Gallery Hewan dan Tumbuhan
7.
Form Detail Gallery Dalam form detail galeri user dapat melihat tampilan gambar hewan dan tumbuhan serta mendengar keterangan melalui rekaman suara yang ada pada daftar galeri, lihat pada gambar 5.8.
Gambar 5.8 Detail Gallery Hewan Dan Tumbuhan
73
5.3
Pengujian Sistem Pengujian sistem merupakan tahap utama dalam pembuatan suatu aplikasi,
hasil pengujian yang didapatakan dijadikan sebagai tolak ukur dalam proses pengembangan selanjutnya. Pengujian fungsionalitas mengacu pada analisis kebutuhan peragkat lunak yang telah dijabarkan sebelumnya. Pada intinya yang dilakukan pada tahap ini adalah menguji apakah sistem dapat bekerja seperti yang diharapkan pada analisis kebutuhan. Pengujian performansi dilakukan untuk membandingkan hasil sebelum dan sesudah data ditampilkan.
Tabel 5.3 Hasil Pengujian Fungsionalitas No.
1.
2.
3.
4. 5.
Pengujian
Kriteria Keberhasilan
Menerima inputan berupa kata hewan pada menu kamus hewan Menerima inputan berupa kata tumbuhan pada menu kamus tumbuhan Mencari data kata hewan maupun tumbuhan menggunakan pencarian Brute Force Menampilkan data gallery menggunakan menu gallery Menguji tombol keluar dari sistem
Perangkat lunak dapat menerima masukan berupa kata atau teks dengan panjang teks yang berbeda-beda. Perangkat lunak dapat menerima masukan berupa kata atau teks dengan panjang teks yang berbeda-beda.
Status
Berhasil
Berhasil
Perangkat lunak dapat mencari data yang diinputkan. Berhasil
Perangkat lunak dapat menampilkan data gallery
Berhasil
Perangkat melakukan dispose system
Berhasil
74
tabel 5.3 menerangkan pengujian dari aspek fungsionalitas sudah sesuai dengan analisis kebutuhan sistem.Perangkat lunak dapat menerima masukan berupa kata atau teks yang mempunyai panjang berbeda-beda dan mencari pola string yang cocok menggunakan metode brute force.
Tabel 5.4 Hasil Pengujian Performansi No .
Input
Hasil
Waktu Pencarian
1.
- Anjing
- Canis Familiaris
Time < 1 second
2.
- Babirusa
- Babyrousa Babyrussa
Time < 1 second
3.
- Banteng Jawa
- Bos Javanicus Javanicus
Time < 1 second
4.
- Anggur
- Vitis Vinifera
Time < 1 second
5.
- Bawang Putih
- Allium Sativum
Time < 1 second
6.
- Anggrek
- Orcidaceae Sp
Time < 1 second
Tabel 5.4 menerangkan pengujian dari aspek performansi perangkat lunak ini membutuhkan waktu pencarian yang relatif sama dan cepat untuk ukuran string yang inputkan.
BAB VI PENUTUP
6.1
Kesimpulan Informasi adalah sesuatu yang sangat penting dan berguna bagi banyak orang.
Salah satu informasi yang dapat berguna yaitu bahasa latin hewan dan tumbuhan sebagai media informasi dan pembelajaran khususnya pada mata pelajaran biologi. Ditambah lagi dengan media pembelajaran seperti buku-buku dan kamus yang ketersediaannya sangat kurang sehingga penulis dalam tugas akhir ini merancang aplikasi kamus bahasa latin hewan dan tumbuhan berbasis android dengan menggunakan akses smartphone yang dapat diakses kapan saja dan dimana saja tanpa harus membawa buku yang tebal dan bersifat manual saja. Dari penelitian dan pengujian aplikasi maka kesimpulan yang dapat diambil dari penelitian, pengujian aplikasi dan penulisan tugas akhir ini adalah sebagai berikut: 1. Kamus dengan pencarian data menggunakan metode brute force memungkinkan pencarian data tidak ada yang terlewatkan. 2. Proses pencarian menggunakan metode brute force pada aplikasi ini berjalan normal dan efektif berdasarkan data pengujian yang telah dilakukan yaitu tingkat kecepatan yang terhitung cepat dimana proses pencarian memerlukan waktu kurang dari satu detik. 3. Aplikasi kamus bahasa latin hewan dan tumbuhan berbasis android lebih mempermudah mengakses kamus bahasa latin hewan dan tumbuhan melalui teknologi khususnya smartphone android. 4. Memberi fasilitas aplikasi yang berguna kepada para pengguna aplikasi nantinya untuk mengoptimalkan penggunaan smartphone sebagai sarana informasi dan edukasi.
75
76
5. Mempermudah pengguna untuk mencari arti dari bahasa latin hewan dan tumbuhan dengan berpatokan akan kurangnya sumber berupa buku dan media informasi lain mengenai bahasa latin hewan dan tumbuhan.
6.2
Saran Aplikasi yang dibangun tentunya masih memiliki beberapa kekurangan,
sehigga perlu adalah beberapa saran untuk proses pengembangan aplikasi kedepannya sehingga bisa menjadi lebih baik dan berkembang. Saran yang perlu diperhatikan untuk penelitian lebih lanjut adalah: 1. Membuat update data secara online agar pengetahuan pengguna lebih luas lagi. 2. Aplikasi ini hanya melakukan pencarian dalam bentuk kata atau teks. untuk pengembangan selanjutnya diharapkan aplikasi ini sudah bisa dikembangkan dengan pencarian dalam bentuk voice search atau pencarian menggunakan suara. 3. Fitur pada aplikasi diharapkan dapat di kembangkan lebih sehingga lebih efisien dalam hal penggunaan memori dan penggunaannya. 4. Agar data pada sistem tidak terlalu berat, maka perlu dilakukan kompresi untuk setiap file gambar dan suara ke ukuran terkecil untuk mengefesienkan penggunaan memori. 5. Perlunya penambahan fitur pada aplikasi sehingga lebih menarik user untuk menggunakannya.
77
DAFTAR PUSTAKA
Adiwijaya, S., dan Ilyas, A.M., 2008, Kamus Biologi, edisi : 1, Penerbit Pustaka Karya : Surabaya. Abdeen, R.A., 2011, An Algorithm for String Searching Based on Brute-Force Algorithm, IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011. Ambler, S.W., 2005, A Manager’s Introduction to The Rational Unified Process (RUP). Banowosari, L.Y., Darmawan, A., Kurniawan, K., dan Mitchell, M., Analisis Pada Fitur Autocomplete Suggestion Dan Semantik Pada Pencarian Di Mesin Pencari Google, Depok : Universitas Gunadarm, Volume :8, 14 – 15 Oktober 2014. Dharwiyanti, S., Pengantar Unified Modeling Language (UML), setia.staff.gunadarma.aca.id/Downloads/files/6039/MateriSuplemenUml. pdf,diakses Tanggal 18 Agustus 2015. Daemen, J., and Rijmen, V., 1999, AES Proposal: Rijndael. Fenty, E.M.A., Hanifa, A., dan Riyanto, N., 2014. Implementasi Algoritma Brute Force Dan Fitur Location Based Service (LBS) Pada Aplikasi Kumpulan Doa Harian Berbasis Android, Jurnal Pseucode, Jakarta : Teknik Informatika, Fakultas Sains Dan Teknologi, UIN Syarif Hidayatullah Jakarta, Volume : 2, Nomor : 1, Sepetember 2014. Hidayani, N., Sari, J.N., dan Suhatman, R., 2012, Perancangan dan Implementasi Metode Brute Force untuk Pencarian String pada Website PCR, Riau : Teknik Informatika dan Multimedia, Politeknik Caltex Riau. Hoetomo, M.A., 2005, Kamus Lengkap Bahasa Indonesia, Mitra pelajar : Surabaya. Kusuma, M.W., 2013, Pencocokan String dalam Fitur Autocompletion pada Text Editor atau Integrated Development Environment (IDE), Bandung : Institut Teknologi Bandung. Lee, W.M., 2011, Beginning Android Application Development, Indianapolis: Wiley Publishing. Meier, R., 2010, Professional Android 2 Application Development, Indianapolis: Wiley Publishing. Munansyah, A., 2007, Rational Unified Process, Bandung: STMIK LIKMI.
78
Martinus. S., dan Hartono, R.S., 2008, Kamus Nomenklature Zoologi Dan Botani, edisi : 1, Penerbit Andi : Yogyakarta. Mesran, 2014, Implementasi Algoritma Brute Force Dalam Pencarian Data Katalog Buku Perpustakaan, Medan : Teknik Informatika STMIK Budidarma Medan, Volume : III, Nomor : 1, Mei 2014. Munir, R., 2004, Algoritma Brute Force Bagian 2 – Algoritma Brute Force (Lanjutan).ppt, Bandung : ITB. Nimodia, C., and Deshmukh H.R., 2012, Android Operating System. Octhario, R., Pakereng, M.A.I., dan Beeh, Y.R., 2011, Perancangan dan Implementasi Perangkat Lunak Kamus Binomial Nomenclature Zoologi dan Botani dengan Menggunakan Teknologi Extensible Markup Language (XML) dan Synchronized Multimedia Integration Language (SMIL), Jurnal Teknologi Informasi-Aiti, Salatiga : Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga, Volume : 8, Nomor : 2, Agustus 2011 : 101 – 200. Parasayu, A., Aplikasi Kamus Nama Ilmiah Hewan Dan Tumbuhan Pada Ponsel Berbasis Android, Jurnal Informatika Universitas Gunadarma. Rahayu, I., 2015, Implementasi Kamus Kedokteran Dengan Metode Pencarian Interpolasi (Interpolation Search) Dan Mencari Kemiripan Kata Menggunakan Algoritma Lavensthein Distance Pada Perangkat Android, Kendari : Teknik Informatika Halu Oleo. Rossa, A.S., dan Shalahiddun, M., Rekayasa Perangkat Lunak (Terstruktur Dan Berorientasi Objek), Bandung : Modula. 2013. Susanto, 2014, Perancangan Aplikasi Kamus Istilah Latin Hewan Dan Tumbuhan Dengan Menerapkan Algoritma Boyer-Moore Berbasis Mobile, Medan : Teknik Informatika STMIK Budidarma Medan, Volume : IV, Nomor : 3, Oktober 2014. Safaat, N.H., 2013, Aplikasi Berbasis Android (Berbagai Implementasi Dan Pengembangan Aplikasi Mobile Berbasis Android), Bandung : Informatika. Safaat, N.H., 2012, Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android, Bandung: Informatika. Saragih, M.A., 2013, Implementasi Algoritma Brute Force Dalam Pencocokan Teks Font Italic Untuk Kata Berbahasa Inggris Pada Dokumen Microsoft Office Word, Medan : Teknik Informatika Stmik Budidarma Medan, Volume : IV, Nomor : 3, Agustus 2013. Susanto, A. E., Sejarah Bahasa Latin, www.scribd.com/doc/127313880/SejarahBahasa-Latin#scribd, Diakses Tanggal 16 Oktober 2015
79
Suroso, A., dan Permatasari, A., 2003, Ensiklopedia Sains dan Kehidupan: Refernsi dan Petunjuk Lengkap untuk ilmu Biologi, Fisika, dan Kimia, Jakarta: CV Tarity Samudra Berlian. Whitten, J.L., & Bentley, L.D., 2007, System Analysis and Design Methods (7th edition), New York: The McGraw-Hill Companies.
LAMPIRAN (DATA BASE & SOURCODE)
Lampiran 1. Tabel Data Base Hewan Id
Istilah
Latin
1
Anjing
Canis Familiaris
2
Anoa Dataran Rendah
Bubalus Depressicornis
3
Anoa Pegunungan
Bubalus Quarlesi
4
Arwana
Osteoglossum Bicirrhosum
5
Arwana Hijau
Scleropages Formosus
6
Ayam
Gallus Domestica
7
Ayam Hutan Hijau
Gallus Varius
8
Ayam Kalkun
Meleagris Gallopavo
9
Babi
Suidae
10
Babi Hutan
Sus Scrofa
11
Babirusa
Babyrousa Babyrussa
12
Badak Bercula Satu
Rhinoceros Sondaicus
13
Badak Sumatra
Dicerorhinus Sumatrensis
Gambar
14
Bajing Kelapa
Callasciurus Notatus
15
Bajing Tanah
Lariscus Hosei
16
Banteng
Bos Sondaicus
17
Banteng Jawa
Bos Javanicus Javanicus
18
Bekantan
Nasalis Larvatus
19
Bekicot
Achatina Fulica
20
Belut
Monopterus Albus
21
Beruang
Ursus
23
Beruang Madu
Helarctos Malayanus
24
Beruk
Macaca Nemestrinus
25
Beruk Mentawai
Macaca Pagensis
26
Biawak
Varanus Salvator
27
Biawak Borneo
Lanthanotus Borneensis
28
Biawak Pohon
Varanus Dumerili
29
Buaya Muara
Crocodylus Porosus
30
Bulu Babi
Strogylocentrotus
31
Burung Anis Sulawesi
Cataponera Turdoides
32
Burung Beo Nias
Gracula Religiosa Robusta
33
Burung Bidadari Halmahera
Semioptera Wallacii
34
Burung Celepuk Siau
Otus Siaoensis
35
Burung Cendrawasih
Paradisoaeidae Apoda
36
Burung Cerek Jawa
Charadrius Javanicus
37
Burung Elang Flores
Spizaetus Floris
38
Burung Elang Jawa
Spizaetus Bartelsi
39
Burung Kakatua Putih
Cacatua Alba
40
Burung Kakatua Raja
Probosciger Aterrimus
41
Burung Madu Sangihe
Aethopyga Duyvenbodei
42
Burung Maleo
Macrocephalon Maleo
43
44
45
Burung Sempidan Kalimantan Burung Tekukur Burung Tokhtor Kalimantan
Lophura Bulweri
Streptopelia Chinensis
Carpococcyx Radiceus
46
Burung Tokhtor Sumatera
Carpococcyx Viridis
47
Burung Trulek Jawa
Vanellus Macropterus
48
Burung Unta
Struthio Camelus
49
Cacing Daun
Trematoda
50
Cacing Gelang
Ascaris Lumbricoides
51
Cacing Gilik
Nemotoda
52
Cecak
Hemidactylus Frenatus
53
Cendrawasih Merah
Paradisca Rubra
54
Ceumpala Kuneng
Trichixos Pyrropygus
55
Cumi-Cumi
Loligo Indica
56
Cumi-Cumi Raksasa
Architeuthis Prinseps
57
Duyung
Holicara Dugong
58
Elang Bondol
Haliastur Indus
59
Elang Putih
Elanus Caerulens
60
Flamingo
Phoenicopteridae
61
Gagak
Carvus Macrorhynsus
62
Gajah
Elephas Maximus
63
Gajah Sumatera
64
Gorila
Simia Satyrus
65
Gurita
Octopus Vulgaris
66
Harimau
Felis Tigris
67
Harimau Sumatera
Panthera Tigris Sumatrae
68
Hiu Basking
Cethorhinus Maximus
Elephas Maximus Sumatranus
69
Hiu Karpet Berbintik
Hemiscyllium Freycineti
70
Hiu Kepala Martil
Sphyrna Pidatus
71
Hiu Mako
Isurus Oxyhyncus
72
Ikan Belida
Notopterus Chitala
73
Ikan Bulalao
Liza Dussumieri
74
Ikan Gabus
Ophicephalus Striatus
75
Ikan Kakap Merah
Lucanus Argentimaculatus
76
Ikan Kakap Putih
Lates Calcasifer
77
Ikan Paus
Balacnoptera
78
Jaguar
Panthera Onca
79
Jalak
Sturnupostor Jalla
80
Jalak Bali
Leucopsar Rothschild
81
Jangkrik
Gryllidae
82
Julang Sulawesi
Aceros Cassidix
83
Kadal
Tachydromus Seclineatus
84
Kadal Lidah Biru
85
Kambing Hutan Sumatera
86
Kancil Jawa
87
Kanguru Pohon Mantel Emas
Tiliqua Gigas Capricornis Sumatraensis Sumatraensis Tragulus Javanicus
Dendrolagus Pulcherrimus
88
Kasuari
Casuarius Galeattus
89
Katak Tanpa Paru-Paru
91
Kelabang
Scolopendra Gigantean
92
Kelinci
Lepus Cuniculus
93
Kelinci Belang Sumatera
Nesolagus Netscheri
94
Kepodang Emas
Oriolus Chinensis
95
Kera Hitam Sulawesi
Macaca Nigra
96
Kera Jawa
Macaca Foscularis
97
Kijang
Muntiacus Muntjak
Barbourula Kalimantanensis
98
Kodok Darah
Leptophryne Cruentata
99
Kodok Pohon Ungaran
Philautus Jacobsoni
100 Komodo
101 Kuau Kerdil Kalimantan
Varanus Komodoensis Polyplectron Schleiermacheri
102 Kuau Raja
Argusianus Argus
103 Kucing
Felis Domestica
104 Kucing Bakau
Prionailurus Bengalensis Javanensis
105 Kucing Merah
Felis Badia
106 Kuda
Equus Caballus
107 Kuda Laut
Hippocampus Kuda
108 Kuda Nil
Hippopotamus Amphibius
109 Kukang
Nycticebus Coucang
110 Kukang Jawa
Nycticebus Javanicus
111 Kupu-Kupu
Lepidoptera
112 Kuskus Gebe
Phalanger Alexandrae
113 Kuskus Matabiru
Phalanger Matabiru
114 Landak
Hystrix Brachyura
115 Landak Jawa
Hystrix Javanica
116 Lintah Jawa
Hirudinaria Javanica
117 Macan Kumbang
Panthera Pardus
119 Macan Tutul Jawa
Panthera Pardus Melas
120 Mandar Dengkur
Aramidopsis Plateni
121 Mentilin
Tarsius Bancanus
122 Merak Hijau
Pavo muticus
123 Musang
Paradascursus
124 Musang Air
Cynogale Bennettii
125 Musang Luwak
126 Musang Sulawesi
Paradoxurus Hermaphroditus Macrogalidia Musschenbroeckii
127 Nuri Hitam
Chalcopsitta Atra
128 Nuri Raja Ambon
Alisterus Amboinensis
129 Nuri Sayap Hitam
Eos Cyanogenia
130 Orang Utan Sumatera
Porgo Pygmaeus Abeli
131 Owa Jawa
Hylobates Moloch
132 Owa-Owa
Hyllobates Muelleri
133 Penyu Belimbing
Dermochelys Coriacea
134 Penyu Hijau
Chelonia Mydas
135 Perkutut
Geopelia Striata
136 Pesut
Orcella Fluminalis
137 Pesut Mahakam
Orcaella Brevirostris
138 Rangkong Badak
Buceros Rhinoceras
139 Rangkong Papan
Buceros Bicornis
140 Rusa Bawean
Axis Kuhlii
141 Rusa Moose
Alces Sp
142 Rusa Timor
Cervus Timorensis
143 Sanca Kembang
Malayopython Reticulates
144 Semut Rangrang
Oecophylla Smaragdina
145 Serangga Tomcat
Paederus Littoralis
146 Serindit
Loriculus Galgalus
147 Siamang
Hylobates Moloch
148 Sigung
Mydaus Javanensis
149 Singa
Panthera Leo
150 Surili
Presbytis Comata
151 Tarsius Sulawesi
Tarsius Tarsier
152 Trenggiling
Paramanis Javanica
153 Ular Sanca
Phyton Reticulatus
154 Ular Sanca Hijau
Chondrophyton Viridis
155 Ular Senduk
Naja Sputatrix
156 Walet
Collocalia Vestita
157 Zebra
Equus Quagga Selousi
Lampiran 2. Tabel Data Base Tumbuhan Id
Istilah
Latin
1
Akasia
Acassia Sp
2
Alang-Alang
Imperata Cylindrica
3
Alpukat
Persea Americana
4
Anggrek
Orcidaceae Sp
5
Anggrek Bulan
Phalaenopsis Amabilis
Gambar
6
Anggrek Hitam
Coelogyne Pandurata
7
Anggrek Tebu
Grammatophyllum Speciosum
8
Anggur
Vitis Vinifera
9
Apel
Malus Silveltris
10
Bambu
Melocanna Bambusoides
11
Bambu Ater
Gigantochloa Atter
12
Bambu Duri
Bambusa Blumeana
13
Bambu Kuning
Bambusa Vulgaris
14
Bandotan
Ageratum Conyzoides
15
Bawang Bombai
Allium Fistulosum
16
Bawang Merah
Allium Cepa
17
Bawang Putih
Allium Sativum
18
Bayam
Amaranthus Spp
19
Bayam Duri
Amarantus Spinosus
20
Bayam Merah
Amarantus Melancholicus
21
Belimbing
Averrhoa Carambola L.
22
Belimbing Wuluh
Averrhoa Bilimbi L.
23
Bengkuang
Pachyrrhizus Erosus
24
Buah Merah
Pandanus Conoideus
25
Bunga Ashar
Mirabilis Jalapa
27
Bunga Bangkai
Rafflesia Arnoldi
28
Bunga Kenanga
Cananga Odorata
29
Bunga Matahari
Helianthus Annuus L
30
Cabai
Capsicum Annum
31
Cabai Rawit
Capsicum Frutescens
32
Cempaka
Michelia Champaca
33
Cempaka Putih
Michelia Alba
34
Cempedak
Artocarpus Champeden
35
Cendana
Santalum Album
36
Cengkeh
Syzygium Aromaticum
37
Dadap
Erythrina Sp
38
Dadap Serep
Erythrina Lithosperma Miq
39
Damar
Agathis Labillardieri
40
Delima
Punica Granatum L
41
Duku
Lansium Domesticum
42
Durian
Durio Zibethinus
43
Eceng
Monochoria Vaginalis
44
Eceng Gondok
Eichhornia Crassipes
45
Flamboyan
Poinciana Regia
46
Gamal
Glerycidea
47
Gandum
Trificum Sativum
48
Ganja
Cannabis Sativa
49
Jagung
Zea Mays
50
Jahe
Zingiber Offcinalis Rosc
51
Jambu Biji
Psidium Guajava
52
Jambu Mete
Anacardium Occidentale
53
Jamur Tiram
Pleurotus Ostreatus
54
Jati
Tectona Grandis
55
Jeruk
Citrus Sp
56
Jeruk Bali
Citrus Maxima
57
Jeruk Nipis
Citrus Aurantifolia
58
Jeruk Purut
Citrus Hystrix
59
Kacang Buncis
Phaseolus Vulgaris
60
Kacang Kedelai
Glycine Max
61
Kacang Panjang
Vigna Sinensis
62
Kacang Polong
Pisum Sativum
63
Kacang Tanah
Arachis Hypogaea L
64
Kakao
Thebroma Cacao
65
Kaktus
Opuntia Spp
66
Kamboja
Plumeria Acuminata
67
Kapas
Gossypium Hirsutum
68
Kapuk
Ceiba Pentandra
69
Kapulaga
Amomum Cardamomum
70
Karet
Havea Brasiliensis
71
Kayu Angin
Usnea Sp
72
Kayu Besi
Eusideroxyloa Zwaggeri
73
Kayu Manis
Cinnamomum Burmannii
74
Kayu Putih
Melaleuca Leucadendra
75
Kelapa
Cocos Nucifera
76
Kelapa Sawit
Elaeis Guineensis
77
Kembang Kertas
Bougainvillea Spectabilis
78
Kembang Sepatu
Hibiscus Rosa-Sinensis L
79
Kemenyan
Styra Sp
80
Kenari
Canarium Commune
81
Kenari Belanda
Amygdalus Communis
82
Kencur
Kaempferia Galangal
83
Kentang
Solanum Tuberosum L
84
Kokoleceran
Vatica Bantamensis
85
Kubis
Brassica Oleraceae
86
Kumis Kucing
Orthosiphon Grandiflorus
87
Kunyit
Curcuma Domestica
88
Labu
Cucurbita Spp
89
Labu Besar
Benincasa Hispida
90
Labu Kuning
Cucurbita Pepo
91
Lada
Piper Nigrum
92
Lidah Buaya
Aloe Barbadensis Milleer
93
Mahoni
Swietenia Mahagoni
94
Mangga
Mangifera Indica
95
Manggis
Garcinia Mangostama
96
Mawar
Rosa Sp
97
Melati
Jasminum Sambac
98
Melati Gambir
Jasminum Officinale
99
Melinjo
Gnetum Gnemon
100 Mentimun
Cucumis Sativus
101 Murbei
Morus
102 Nanas
Ananas Comosus
103 Nangka
Artocarpus Heterophyllus
104 Nibung
Oncosperma Tigillarium
105 Nilam
Pogostemon Cablin
106 Padi
Oryza Sativa
107 Pala
Myristica Argentea
108 Palem
Arenga Pinnata
109 Palem Merah
Cyrtostachys Lakka Becc
110 Panili
Vanilla Planifolia
111 Pepaya
Carica Papaya
112 Pisang
Musa Paradisiacal
113 Pohon Andalas
Morus Macroura
114 Pohon Eboni
Diospyros Celebica
115 Pohon Kapur
Dryobalanops Aromatica
116 Pohon Katiau
Ganna Metloyauma
117 Pohon Lontar
Borassus Flabellifer
118 Pohon Matoa
Pometia Pinnata
119 Pohon Nagasari
Palaquium Rostratum
120 Rambutan
Nephelium Lappacerum
121 Rumput Angin
Spinifex Littoreus
122 Rumput Gajah
Artemisia Vulgaris
123 Rumput Jarum
Chrysopogon Aciculatus
124 Salada Air
Nasturtium Officinale
125 Salak
Salacca Zalacca
126 Sedap Malam
Polyanthes Tuberosa
127 Seledri
Apium Graviolens
128 Semangka
Citrullus Vulgaris
129 Sirih
Piper Betle
130 Sirsak
Annona Muricata L.
131 Sukun
Artocarpus Communis
132 Sukun Hutan
Artocarpus Blumei
133 Suplir
Adiantum Capillus-Veneris
134 Suweg Raksasa
Amorphophallus titanium
135 Tebu
Saccharum Officinale
136 The
Camellia Sinensis
137 Tembakau
Nicotiana Tabacum L
138 Terong
Solanum Melongenae
139 Terong Pipit
Solanum Torvum Sw
140 Tomat
Lycopersicon Esculentum
141 Tumbuhan Kepel
Stelechocarpus Burahol
142 Tusam Atau Pinus
Merkusii Jungh. Et Devries
143 Ubi Jalar
Ipomoea Batatas
144 Ubi Kayu
Manihot Utilissima
145 Wortel
Daucus Carota
146 Zaitun
Olea Europaea
LAMPIRAN 3. Source Code
Lampiran 1. DataBaseHelper.java package id.imranr.kamuskomputer; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; public class DatabaseHelper extends SQLiteAssetHelper { private static final String DB_NAME = "db_kamus_komputer"; private static final int DB_VER = 1; private String tb_hewan; public static final String COL_ID public static final String COL_ISTILAH public static final String COL_ARTI private static DatabaseHelper dbInstance; private static SQLiteDatabase db;
= "_id"; = "istilah"; = "latin";
private DatabaseHelper(Context context) { super(context, DB_NAME, null, DB_VER); } public static DatabaseHelper getInstance(Context context)
{ if (dbInstance == null) { dbInstance = new DatabaseHelper(context); db = dbInstance.getWritableDatabase(); } return dbInstance; } @Override public synchronized void close() { super.close(); if (dbInstance != null) { dbInstance.close(); } } public List getAllKamus(String pilih, String search) { Cursor cursor; List lisKamus = new ArrayList(); if(search==""){ cursor = db.rawQuery("SELECT * FROM "+pilih+" ORDER BY istilah", null); } else{ cursor = db.rawQuery("SELECT * FROM "+pilih+" WHERE istilah like '%"+search+"%'",null); } if (cursor.getCount() >= 1) { cursor.moveToFirst(); do { Kamus kamus = new Kamus(); kamus.setArti(cursor.getString(cursor .getColumnIndexOrThrow(COL_ARTI))); kamus.setIstilah(cursor.getString(cursor .getColumnIndexOrThrow(COL_ISTILAH))); lisKamus.add(kamus); } while (cursor.moveToNext()); } return lisKamus; } public boolean stringMatching(String pattern, String text){ int pLen = pattern.length(); int tLen = text.length(); for (int i = 0;i <= tLen - pLen;i++){ int j; for (j = 0;j < pLen;j++){ if (text.charAt(i + j) != pattern.charAt(j)) break; } if (j == pLen) return true; } return false; } public Cursor getBukuByJudul(String query) { Cursor cursor = null; if (TextUtils.isEmpty(query)) { cursor = db.query(tb_hewan, new String[] { COL_ID, COL_ARTI, COL_ISTILAH }, null, null, null, null, null, "10");
} else { cursor = db.query(tb_hewan, new String[] { COL_ID, COL_ARTI, COL_ISTILAH }, COL_ISTILAH + " like '" + query + "%'", null, null, null, null); } return cursor; } }
Lampiran 2. HewanActivity.java package id.imranr.kamuskomputer; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; public class HewanActivity extends Activity implements TextWatcher, OnItemClickListener { private EditText search; private ListView lv; private DatabaseHelper dbHelper; private ArrayAdapter adapter; private List listKamus; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv_data); lv.setEmptyView(findViewById(R.id.empty)); search = (EditText) findViewById(R.id.search); dbHelper = DatabaseHelper.getInstance(this); setData("tb_hewan",search.getText().toString()); search.addTextChangedListener(this); lv.setOnItemClickListener(this); } private void setData(String pilih,String search) { listKamus = dbHelper.getAllKamus("tb_hewan",search); adapter = new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, listKamus); lv.setAdapter(adapter); } @Override public void afterTextChanged(Editable arg0) { } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3)
{ } @Override public void onItemClick(AdapterView> arg0, View arg1, int position, long id) { Bundle b = new Bundle(); b.putString("istilah", adapter.getItem(position).getIstilah()); b.putString("arti", adapter.getItem(position).getArti()); Intent i = new Intent(this, KamusHewan.class); i.putExtras(b); startActivity(i); } }
Lampiran 3. TumbuhanActivity.java package id.imranr.kamuskomputer; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ListView; public class TumbuhanActivity extends Activity implements TextWatcher, OnItemClickListener { private EditText search; private ListView lv; private DatabaseHelper dbHelper; private ArrayAdapter adapter; private List listKamus; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv_data); lv.setEmptyView(findViewById(R.id.empty)); search = (EditText) findViewById(R.id.search); dbHelper = DatabaseHelper.getInstance(this); setData("tb_tumbuhan",search.getText().toString()); search.addTextChangedListener(this); lv.setOnItemClickListener(this); } private void setData(String pilih, String search) { listKamus = dbHelper.getAllKamus("tb_tumbuhan",search); adapter = new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, listKamus); lv.setAdapter(adapter); } @Override public void afterTextChanged(Editable arg0) { } @Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } @Override public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) { //adapter.getFilter().filter(s.toString()); setData("tb_tumbuhan",search.getText().toString()); } @Override public void onItemClick(AdapterView> arg0, View arg1, int position, long id) { Bundle b = new Bundle(); b.putString("istilah", adapter.getItem(position).getIstilah()); b.putString("arti", adapter.getItem(position).getArti()); Intent i = new Intent(this, KamusTumbuhan.class); i.putExtras(b); startActivity(i); } }
Lampiran 4. Kamus.java package id.imranr.kamuskomputer; public class Kamus { private String private String
istilah; arti;
public String getIstilah() { return istilah; } public void setIstilah(String istilah) { this.istilah = istilah; } public String getArti() { return arti; } public void setArti(String arti) { this.arti = arti; } @Override public String toString() { return this.istilah; } }
Lampiran 5. KamusHewan.java package id.imranr.kamuskomputer; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView;
public class KamusHewan extends Activity { private TextView txtArti, txtIstilah; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tumbuhan); txtArti = (TextView) findViewById(R.id.arti); txtIstilah = (TextView) findViewById(R.id.istilah); Bundle b = getIntent().getExtras(); if (b != null) { txtIstilah.setText(b.getString("istilah")); txtArti.setText(b.getString("arti")); } Button bt_back = (Button) findViewById(R.id.button1); bt_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(KamusHewan.this, HewanActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } }); Button bt_utama = (Button) findViewById(R.id.button2); bt_utama.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(KamusHewan.this, MenuActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.arti, menu); return true; } }
Lampiran 6. KamusTumbuhan.java package id.imranr.kamuskomputer; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; public class KamusTumbuhan extends Activity { private TextView txtArti, txtIstilah; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tumbuhan); txtArti = (TextView) findViewById(R.id.arti); txtIstilah = (TextView) findViewById(R.id.istilah); Bundle b = getIntent().getExtras(); if (b != null)
{ txtIstilah.setText(b.getString("istilah")); txtArti.setText(b.getString("arti")); } Button bt_back = (Button) findViewById(R.id.button1); bt_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(KamusTumbuhan.this, TumbuhanActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } }); Button bt_utama = (Button) findViewById(R.id.button2); bt_utama.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(KamusTumbuhan.this, MenuActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.arti, menu); return true; } }