PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
APLIKASI KAMUS BAHASA DAYAK NGAJU – INDONESIA BERBASIS ANDROID MENGGUNAKAN METODE HASH
SKRIPSI Diajukan untuk memenuhi salah satu syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh : Henfriyandie 065314057
JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS dan TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA
2013
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAYAK NGAJU – INDONESIAN APPLICATION DICTIONARY BASED ON ANDROID USING HASH METHOD
A THESIS Presented as Partial Fulfillment of the Requirments To Obtain the Sarjana Komputer Degree In Informatic Engineering Department
By : Henfriyandie 065314057
DEPARTEMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2013 ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSETUJUAN
SKRIPSI APLIKASI KAMUS BAHASA DAYAK NGAJU – INDONESIA BERBASIS ANDROID MENGGUNAKAN METODE HASH
Oleh : Henfriyandie NIM : 065314057
Telah disetujui oleh :
Dosen Pembimbing Tugas Akhir
Tanggal : …………..
Puspanintyas Sanjoyo Adi, S.T., M.T.
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PENGESAHAN SKRIPSI APLIKASI KAMUS BAHASA DAYAK NGAJU – INDONESIA BERBASIS ANDROID MENGGUNAKAN METODE HASH Dipersiapkan dan ditulis oleh : Henfriyandie NIM : 065314057 Telah dipertahankan di depan Panitia Penguji Pada Tanggal 10 Mei 2013 Dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap
Tanda Tangan
Ketua
JB. Budi Darmawan, S.T., M.Sc.
………………
Sekertaris
Eko Hari Parmadi, S.Si., M.Kom.
………………
Anggota
Puspaningtyas Sanjoyo Adi, S.T., M.T.
………………
Yogyakarta , ……………… Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan
P.H. Prima Rosa, S.Si., M.Sc. iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN “If A is success in life, then A = x + y + z. Work is x; y is play; and z is keeping your mouth shut “ - Albert Einstein -
Skripsi ini saya persembahkan untuk Tuhan Yesus Kristus. Almarhum Papah di surga, Mamah, 3 Adek saya. Teman hidup saya nanti. Sahabat dalam susah juga duka dan teman –teman.
TERIMA KASIH v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya orang lain kecuali telah disebutkan dalam kutipan atau daftar pustaka, sebagaimana layaknya karya ilmiah
Yoyakarta, 18 Juli 2013 Penulis,
Henfriyandie
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama
: Henfriyandie
NIM
: 065314057
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis Android Menggunakan Metode Hash
Berserta perangkat yang diperlukan(bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan mengalihkan dalam bentuk media lain,
mengelola
dalam
bentuk
pangkalan
data,
mendistribusikan
secara
terbatas,
dan
mempublikasikanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya Dibuat di Yogyakarta Pada tanggal : 18 Juli 2013
Yang menyatakan,
(Henfriyandie)
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRAK
APLIKASI KAMUS BAHASA DAYAK NGAJU - INDONESIA BERBASIS ANDROID MENGGUNAKAN METODE HASH
Sistem operasi android adalah salah satu sistem operasi mobile phone yang sedang berkembang saat ini. Sistem operasi ini bersifat open source, sehingga aplikasi ini dapat dibuat dan dikembangkan sendiri. Sehingga kita dapat membuat sendiri aplikasi yang dapat membantu kita, contohnya kamus dan aplikasi pembelajaran lainnya. Pada skripsi penulis ini mencoba memecahkan bagaimana menangani masalah yaitu memanfaatkan teknologi mobile yang mulai berkembang untuk membuat aplikasi kamus yang dapat mempermudah kita dalam mempelajari bahasa dayak Ngaju. Dalam pembuatan aplikasi ini penulis menggunakan metode hash, proses penyusunan kamus pada aplikasi ini menggunakan fungsi hash metode pembagian sisa string (division remainder method) sedangkan untuk penanganan tabrakan pada penyusunan kamus menggunakan metode double hashing. Fungsi Hash bertugas untuk menghitung indeks array yang berasal dari perhitungan kunci (indeks array dari perhitungan kunci disebut kode hash). Aplikasi yang dibangun tersebut dapat mempermudah melakukan pencarian kata dan padanan kata yang ingin dicari. Hasil pengujian software dengan fungsi hash metode pembagian sisa string dari 2500 data kata, yang terdapat pada kamus Dayak Ngaju – Indonesia dan kamus Indonesia - Dayak Ngaju, terdapat sekitar kurang dari setengah kata dari 2500 kata yang mengalami tabrakan pada saat penyusunan kamus tersebut dari panjang hashtable sebesar 2507. Berdasarkan pengujian dengan mengubah panjang hashtable, jumlah tabrakan semakin berkurang jika panjang hashtable bertambah besar.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT APPLICATION DAYAK NGAJU – INDONESIAN DICTIONARY BASED ON ANDROID USING HASH METHOD
Android operating system is one of mobile phone operating system that is being developed at this time. This operating systemis open source, so that these applications can be created and independently developed. So we can create our own applications that can helpus. For example, dictionaries Application and other eLearning applications. In this thesis author is trying to figure out how to handle problems that take advantage of emerging mobile technologies to create a dictionary application that can facilitate us to study Dayak Ngaju language. Within manufacture this application author use hash method, the process of preparing dictionaries application's uses hash function division remainder string method and for collision handling in the preparation of dictionaries using method double hashing. Hash functions assigned to calculate array index are derived from calculations of key (index array from key calculation called the hash code) Applications built to facilitate searching and matching search terms. Results of software testing with division remainder string hash function method from 2500 words of data contained in Dayak Ngaju dictionaries - Indonesian and Indonesian dictionaries - Dayak Ngaju, There are about less from a half words from 2500 words that in a collision during the preparation of the dictionaries with hashtable length is 2507. Based on testing by changing hashtable length, the amount of collision will decreasing if the length hashtable gets larger.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji syukur kepada Tuhan Yesus Kristus yang telah memberikan karunia dan kesempatan sehingga penulis dapat menyelesaikan skripsi dengan judul “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis Android Menggunakan Metode Hash” Penyusunan skripsi ini tidak lepas dari semua pihak yang turut memberikan dukungan dan doa, semangat yang sangat bermanfaat bagi penulis. Pada kesempatan ini penulis mengucapkan terima kasih sebesar – besarnya kepada : 1. Bapak Puspaningtyas Sanjoyo Adi S.T.,M.T. Selaku dosen pembimbing senantiasa memberikan masukan dan bantuan dalam membimbing penulis untuk menyelesakan skripsi ini. 2. Segenap dosen Universitas Sanata Dharma yang telah membantu memberikan bekal pengetahuan kepada penulis . 3. Bapak Makikit S.P., MMA(Alm), Ibu Maryatie S.Pd terima kasih atas semngat dan dukunganya serta pejuanganya. 4. Adik – adik yang dengan tulus memberikan perhatian, doa dan dukungan yang sangat besar.(Nani, Melan, Septi). 5. Erita Marlina Naibaho terima kasih atas semangat dan telah membantu saya untuk bangun pagi setiap hari. 6. Anak – Anak telat gaul Kost Monjali, Khususnya Andrew, Igma, Mas Titis, Johanes Calvin dan seluruh sahabat yang tidak dapat penulis sebutkan satu persatu x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7. Teman teman TIM ANDROID Siska, Putri, Itha, Laurin atas kerja sama dan masukan – masukanya 8. Teman teman angkatan 06, terutama Yosefa, Margareta Korlina, Kristi Wahyu, Angga, dan juga Rangga. Terima kasih atas dukungan dan inpirasi semangat kalian 9. Teman teman angkatan 07,08,09, dan anak – anak nongkrong di lab Basis Data Multimedia serta rekan – rekan yang tidak dapat penulis sebutkan atas kesediaanya dalam memberikan masukan, menemani dan mendengarkan keluh kesah dari penulis. Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada skripsi ini. Saran dan kritik penulis harapkan untuk kebaikan bersama. Semoga bermanfaat. Yogyakarta, 18 Juli 2013 Penulis
(Henfriyandie)
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI
HALAMAN JUDUL ............................................................................................................ i HALAMAN PERSETUJUAN ............................................................................................. iii HALAMAN PENGESAHAN .............................................................................................. iv HALAMAN PERSEMBAHAN .......................................................................................... v PERNYATAAN KEASLIAN KARYA .............................................................................. vi PERNYATAAN PERSETUJUAN ...................................................................................... vii ABSTRAK ............................................................................................................................ ix KATA PENGANTAR ......................................................................................................... x DAFTAS ISI ........................................................................................................................ xii DAFTAR GAMBAR ........................................................................................................... xiii BAB I PENDAHULUAN .................................................................................................... 1 1.1 Latar Belakang Masalah ..................................................................................... 1 1.2 Rumusan Masalah .............................................................................................. 2 1.3 Batasan Masalah ................................................................................................. 2 1.4 Tujuan ................................................................................................................ 2 1.5 Manfaat .............................................................................................................. 3 1.6 Metodologi Penelitian ........................................................................................ 3 1.7 Sistematika Penulisan ........................................................................................ 5 BAB II LANDASAN TEORI .............................................................................................. 8 2.1 Bahasa Pemrograman Java ................................................................................. 8 2.2 Metode Hash ....................................................................................................... 9 2.3 Kamus ................................................................................................................ 22 2.4 Bahasa Dayak Ngaju .......................................................................................... 31 2.5 Bentuk Susunan Kamus Bahasa Dayak Ngaju ................................................... 32 2.6 Android ............................................................................................................... 37 BAB III ANALISIS DAN DESAIN .................................................................................... 50 3.1 Analisis Kebutuhan Aplikasi............................................................................... 50 xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.2 Fungsi Hash Yang Digunakan ............................................................................ 51 3.3 Pseudocode Metode hash .................................................................................... 55 3.4 Diagram Alir ....................................................................................................... 59 3.5 Arsitektur Aplikasi ............................................................................................. 61 3.6 Use Case Diagram ............................................................................................. 62 3.7 Diagram Aktivitas .............................................................................................. 66 3.8 Sequence Diagram .............................................................................................. 71 3.9 Diagram Kelas .................................................................................................... 76 3.10 Model Desain Antar Muka Aplikasi ............................................................... 77 BAB IV IMPLEMENTASI DAN PENGUJIAN ................................................................. 86 4.1 Spesifikasi Perangkat Keras dan Lunak ............................................................. 87 4.2 Implementasi Desain Antar Muka ..................................................................... 88 4.3 Implementasi Diagram Kelas ............................................................................. 88 4.4 Pengujian ............................................................................................................ 110 BAB V KESIMPULAN DAN SARAN ............................................................................... 119 5.1 Kesimpulan ........................................................................................................ 119 5.2 Saran ................................................................................................................... 120 DAFTAR PUSTAKA .......................................................................................................... 122 LAMPIRAN ......................................................................................................................... 123 Lampiran I ................................................................................................................. 123 Lampiran II ................................................................................................................ 127 Lampiran III .............................................................................................................. 133
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 2.1 Keungulan Bahasa Pemrograman java .................................................. 9 Gambar 2.2 Contoh Linear Probing ......................................................................... 14 Gambar 2.3 Contoh Double Hashing ....................................................................... 16 Gambar 2.4 Metode Chaining .................................................................................. 18 Gambar 2.5 Karakter ASCII ..................................................................................... 21 Gambar 3.1 Contoh data yang dimasukan ke dalam Tabel Hash ............................. 53 Gambar 3.2 Struktur
Data Hash Table setelah
dilakukan
proses
Double
Hashing .................................................................................................................... 54 Gambar 3.3 Diagram Alir Penyusunan Kamus Bahasa Dayak Ngaju ..................... 59 Gambar 3.4 Diagram Alir Penyusunan Kamus Bahasa Indonesia ........................... 60 Gambar 3.5 Arstektur Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia............... 62 Gambar 3.6 Diagram Use Case Kamus .................................................................... 63 Gambar 3.7 Diagram Aktifitas Mencari arti kata ..................................................... 66 Gambar 3.8 Diagram Aktifitas Mengupdate Database Kamus ................................ 67 Gambar 3.9 Diagram Aktifitas Menganti Modulu ................................................... 68 Gambar 3.10 Diagram Aktifitas Menganti Konstanta ............................................. 69 Gambar 3.11 Diagram Aktifitas Tampil Tabrakan ................................................... 70 Gambar 3.12 Sequence Diagram Mencari Arti Kata Dayak – Indonesia ................ 71 Gambar 3.13 Sequence Diagram Mencari Arti Kata Indonesia – Dayak ................. 71 Gambar 3.14 Sequence Diagram Mengupdate Database Kamus ............................. 72 Gambar 3.15 Sequence Diagram Ganti Modulu ...................................................... 73 Gambar 3.16 Sequence Diagram Ganti Konstanta .................................................. 74 Gambar 3.17 Sequence Diagram Tampil Tabrakan Kata Bahasa Dayak ................ 75 Gambar 3.18 Sequence Diagram Tampil Tabrakan Kata Bahasa Indonesia ........... 75 Gambar 3.19 Diagram Kelas User ............................................................................ 76 Gambar 3.20 Diagram Kelas Admin ......................................................................... 77 Gambar 3.21 Desain Tampilan Menu Utama .......................................................... 78 xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar 3.19 Desain Tampilan Kamus ..................................................................... 79 Gambar 3.20 Desain Tampilan Update ..................................................................... 80 Gambar 3.21 Desain Tampilan Ganti Modulu ......................................................... 81 Gambar 3.22 Desain Tampilan Menu Utama .......................................................... 82 Gambar 3.23 Desain Tampilan Kamus .................................................................... 83 Gambar 3.24 Desain Tampilan Update .................................................................... 84 Gambar 3.25 Desain Tampilan Tentang .................................................................. 85 Gambar 4.1 Grafik Tabrakan Kata Dayak Ngaju .................................................... 113 Gambar 4.2 Grafik Tabrakan Kata Indonesia ......................................................... 115
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Komunikasi adalah salah satu dari kemampuan alamiah manusia.Kemampuan komunikasi manusia ini kemudian ditunjang oleh alat untuk berkomunikasi yaitu bahasa.Manusia dapat saling berkomunikasi dengan baik apabila menggunakan bahasa yang sama atau saling memahami bahasa yang digunakan satu sama lain. Masalah yang di hadapi dalam berkomunikasi adalah ketika dua orang yang berbeda bahasa dan berkomunikasi dalam bahasa mereka sendiri. Jalan keluarnya adalah dengan belajar mengerti bahasa yang digunakan oleh orang lain tersebut. Berdasarkan masalah penulis ingin membuat suatu aplikasi Kamus Bahasa Dayak Ngaju – Indonesia yang dapat membantu dapat berkomunikasi menggunakan bahasa Dayak Ngaju maupun bahasa Indonesia.Bahasa Indonesia dan Bahasa Dayak Ngaju penulis pilih dikarenakan bahasa Indonesia adalah bahasa resmi, sedangkan bahasa Dayak Ngaju adalah pengantar yang digunakan masyarakat Kalimantan Tengah. Perkembangan teknologi mobile phone tersebut juga diiringi dengan perkembangan teknologi sistem operasi pada mobile phonetersebut.Sistem operasi android adalah salah satu sistem operasi mobile phone yang berbasis pada
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2
linux.Sistem operasi android bersifat open source, Android menyediakan platform yang terbuka bagi pengembang untuk membuat sendiri aplikasi yangmereka inginkan.Beberapa aplikasi android yang populer banyak di kembangkan sendiri oleh pengembang dan dapat digunakan di sistem operasi mobile phone berbasis android. Metode Hash adalah salah satu metode yang menggunakan pengalokasian kunci pada proses pencarian, penyimpanan dan penghapusan pada elemen – elemen data.Hash digunakan untuk menyimpan data yang cukup besar pada Abstract Data Type(ADT) yang di sebutHash Table. Aplikasi Kamus Bahasa Dayak Ngaju – Bahasa Indonesia ini dibuat dengan menggunakan Metode Hash dalam proses penyusunan dan pencarian terjemahan dari katayang akan diterjemahkan. Metode ini akan sangat membantu karena struktur data dalam hash menggunakan pengalokasian kunci dan dengan kunci tersebut kita dapat mencari nilai(value) berdasarkan kunci tersebut.
1.2 Rumusan Masalah Berdasarkan latar belakangmasalah yang ada, dapat disimpulkan rumusan masalah pada tugas akhir ini adalah 1. Bagaimanakah membuat “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis AndroidMenggunakan Metode Hash”? 2. Bagaimana Algoritma Hash dapat memberikan solusi untuk proses penyusunan kata serta arti kata dan proses pencarian kata serta padanan kata ?
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3
1.3 Batasan Masalah Batasan masalah yang untuk Tugas Akhir ini adalah sebagai berikut : a. Program yang dipergunakan untuk aplikasi ini adalah Eclipse Juno 4.0 dan Android SDK Tools. b. Penulis membatasi bahasa Dayak yang digunakan dalam aplikasi ini, penulis hanya menggunakan bahasa Dayak Ngaju dan Bahasa Indonesia. c. Penulis membatasi jumlah data kata yaitu sebanyak 2500 data kata Bahasa Dayak Ngaju dan Bahasa Indonesia untuk di teliti. d. Aplikasi ini akan menangani penterjemahan kata bahasa Indonesia ke dalam Bahasa Dayak Ngaju dan penterjemahan kata dari bahasa Dayak Ngaju ke dalam bahasa Indonesia. e. Proses pencarian akan menggunakan Metode Hashpada aplikasi kamus bahasa Dayak Ngaju – Indonesia. f. Proses pencarian akan menggunakan Metode Hash pada aplikasi kamus bahasa Indonesia – Dayak Ngaju. g. Pengguna/User tidak dapat menambahkan kata baru ke dalam database. h. Aplikasi ini akan diuji coba dengan menggunakan Smartphone Mobileberbasis Android
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4
1.4 Tujuan Tujuan yang ingin di capai dalam penulisan tugas akhir ini adalah sebagai berikut 1. Membuat “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis Android 2.2 Menggunakan Metode Hash” yang dapat membantu pengguna aplikasi tersebut untuk memahami bahasa Dayak Ngaju secara mudah dan jelas. 2. Melakukan riset untuk mengetahui banyaknya tabrakan kata dalam penyusunan kamus menggunakan metode Hash pada studi kasus Kamus Bahasa Dayak Ngaju - Indonesia 3. Melakukan riset menggunakan metode Hash dalam pembuatan aplikasi kamus bahasa Dayak Ngaju – Indonesia berbasis Android.
1.5 Manfaat Manfaat yang di dapat dari penulisan Tugas Akhir ini adalah sebagai berikut : a. Bagi pengguna Hasil dari aplikasi ini dapat digunakan sebagai kamus digital berbahasa Dayak Ngaju dan digunakan untuk mempelajari bahasa dayak itu sendiri, b. Bagi penulis Mendapatkan bahan serta data dalam pembuatan “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis Android Menggunakan Metode Hash” serta mengembangkannya menjadi lebih baik.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 5
c. Bagi Akademik Hasil dari penulisan tugas akhir ini dapat digunakan sebagai referensi dalam penyusunan tugas akhir selanjutnya.
1.6 Metodologi Penelitian a. Survei mengenai informasi apa saja yang berkaitan tentang metode Hashing dan Bahasa Dayak Ngaju tersebut. b. Studi Litelatur i.
Mempelajari literlatur – literlatur yang dapat membantu dalam membuat Aplikasi ini, seperti buku, majalah, Karya Tulis Ilmiah, dan website – website yang dapat membantu dalam pembuatan aplikasi ini.
ii.
Mempelajari kendala – kendala yang akan dihadapi dalam pembuatan aplikasi ini.
iii.
Mempelajari pengunaan Eclipse Indigo dan Android SDK Tools.
c. Analisa Sistem Menganalisa kebutuhan sistem dan mengidentifikasi kebutuhan sistem dalam pembuatan aplikasi ini, berdasaikan survei dan studi litelatur yang telah dilakukan sebelumnya. d. Merancang dan Mengimplementasi Merancang dan mengimplementasi aplikasi yang akan dibuat agar sesuai dengan yang diharapkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6
e. Pengujian Pengujian akan dilakukan aplikasi ini sudah berjalan dengan baik, cepat, akurat, serta membantu masyarakat dalam menterjemahkan bahasa Dayak Ngaju dan bahasa Indonesia.
1.7 Sistematika Penulisan BAB I
PENDAHULUAN Pada bab ini berisi tentang latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II
LANDASAN TEORI Pada bab ini,
akan dibahas tentang berbagai landasan teori yang
mempengaruhi dan mendasari pembuatan “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis AndroidMenggunakan Metode Hash” BAB III
ANALISIS DAN DESAIN SISTEM Pada bab ini, penulis akan menjelaskan proses – proses analisa dan perancangan dari “Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia Berbasis Android Menggunakan Metode Hash”. Analisa sistem meliputi analisa kebutuhan aplikasi, desain aplikasi, Proses
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 7
Aplikasi, Arsitektur Aplikasi, use case diagram dan perancangan aplikasi. BAB IV
IMPLEMENTASI SISTEM DAN ANALISA Bab ini berisi tentang cara kerja dari perancangan sistem yang telah dibuat,
yang meliputi
implementasi
pembuatan aplikasi, dan
implementasi antarmuka(user interface) dari aplikasi yang di buat. Pada bab ini akan disajikan hasil analisa implementasi dari aplikasi yang dibuat dan telah diuji pada pengguna atau user. BAB V
PENUTUP Bab ini dibahas tentang kesimpulan dari hasil pengujian dan analisa serta saran –saran yang disampaikan dalam menyempurnakan penulisan laporan yang telah dibuat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI
2.1 Bahasa Pemrograman Java a. Sejarah Java Bahasa Pemrograman Java dikembangkan oleh Sun Microsystem pada tahun 1991. Pada awalnya Java bernama Oak(Object Application Kernel), Oak lahir dikarenakan oleh ketidakpuasan seorang insinyur di Sun Microsystem bernama James Gosling. Ia tidak puas dengan compiler C++ karena dinilai terlalu banyak menghasilkan bug, berbiaya besar, sangat tergantung pada platform, James Gosling
kemudian membuat sebuah
compiler baru sebagai solusi terhadap sejumlah kelemahan pada C++ tersebut. Pada Januari 1994,nama Oak di rasa kurang komersil dan diganti menjadi Java. Java memiliki sifat multiplatform, yang artinya java dapat dijalankan pada berbagai platform yang berbeda - beda. Program java yang dibuat bisa dijalankan pada komputer dengan platform yang berbeda, asalkan Java Virtual Machine sudah terinstal pada platform tersebut. Jika program yang dibuat pada platform window, maka program tersebut juga dapat dijalankan pada linux, Unix, Machintos dan lain – lain.
8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
Java juga dapat digunakan untuk membuat program yang berjalan diberbagai mobile device (dengan menggunakan J2ME), PDA, embedded system, dan lain – lain Gambar di bawah ini memperlihatkan keunggulan dari bahasa pemrograman java. Web Applications
GUI - Based Applications
Object - Oriented Applications
Multiplatform Applications
Java
Multithreaded Applications
Secure Applications
Distributed networking Applications
Mission - Critical Applications
Gambar 2.1 Keunggulan Bahasa Pemrograman Java
2.2 Metode Hash Sekarang telah banyak algoritma dan metode – metode pencarian yang digunakan untuk pengolahan data, terutama jika data tersebut tersedia dalam jumlah banyak. Salah satu metode yang dipergunakan saat ini adalah Metode Hash. Metode Hash atau Hashing adalah proses untuk melakukan kalkulasi pencarian posisi dari kunci pada table yang didasarkan pada nilai dari kunci
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
tersebut (Adam Drozdek, 2008). Hashing digunakan sebagai metode untuk menyimpan data dalam sebuah array agar proses penyimpanan data, pencarian data dan penghapusan data dapat dilakukan dengan cepat. Pada hashing ini terjadi proses menghitung posisi record yang di cari dalam array, bukan membandingkan record yang ada dengan isi array. Proses untuk mengkonversi nilai kunci (key) ke posisi larik atau array di sebut fungsi hash. Sedangkan array atau larik yang digunakan untuk menyimpan data di sebut table hash.
a. Fungsi Hash Fungsi Hash (dilambangkan dengan h) bertugas untuk menghitung indeks array yang berasal dari perhitungan kunci (indeks array dari perhitungan kunci disebut kode hash). Untuk mencari kunci di dalam tabel hash kita perlu menghitung kode hash kunci tersebut. Ada beberapa fungsi hash yang banyak digunakan saat ini 1. Metode Pembagian Sisa (Division – remainder method) Metode pembagian sisa menggunakan jumlah lokasi memori yang tersedia sebagai pembagi untuk membagi nilai yang asli dan menghasilkan sisa bagi. Sisa bagi tersebut adalah nilai hashnya. Secara umum rumus dari fungsi hash ini adalah h(k) = k mod m, k adalah nilai kunci dan m adalah jumlah lokasi memori yang tersedia pada array(larik).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
Fungsi hash ini akan menempatkan record dengan kunci (k) pada lokasi memori yang memiliki alamat (h(k)). Sebagai contoh, jika kita ingin menempatkan nomor mahasiswa dengan nomor mahasiswa 65314057 ke dalam table hash. Misalkan memori memiliki 100 buah alamat yang masing – masing alamat terdiri dari 2 karakter : 00…99. Untuk menentukan alamat dari NIM tersebut kita pilih bilangan prima yang dekat dengan 99, misalkan m = 97. Dengan menggunakan fungsi h(k) = k mod m, diperoleh h(65314057) = 77. Dengan demikian, nomor mahasiswa 65314057 akan disimpan dalam alamat 77.
2. Metode Midsquare Dalam metode ini, kunci yang diketahui dikuadratkan dan nilai tengah dari hasil kuadrat dari kunci tersebut diambil angka tengahnya sebagai alamat. Rumus untuk metode midsquare adalah sebagai berikut :
h(k)= l
nilai l diperoleh dengan menghapus digit – digit angka pada dua sisi dari k2, dengan catatan bahwa banyak digit di sebelah kiri dan sebelah kanan harus sama. Jika jumlah digit tidak sama, jika tidak sama maka digit
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
angka disebelah kiri seolah – olah ditambahkan dengan angka nol. Sehingga menghasilkan alamat yang benar. Sebagai contoh, ketika ingin menentukan alamat untuk nilai k = 65314057, adalah dengan mengkuadratkan nilai ktersebut kemudian mengambil nilai tengah dari hasil dari k2 tersebut. k = 65314057 k2=4265926|04|1799249 h(k) = 04
b. Resolusi Collision(Tabrakan) Dalam memasukan nilai kunci ke alamat dapat timbul kemungkinan bahwa rekaman(record) dengan nilai kunci yang sama dimasukan pada satu alamat rekaman yang sama. Kita harus memiliki satu cara untuk mengatasi tabrakan yang mungkin terjadi, yang disebut dengan collision resolution. Cara yang baik untuk mengatasi adanya tabrakan antarai lain dengan perbandingan banyaknya data kunci (n) dalam k, dan banyaknya alamat hash(m) dalam l(array atau larik). Perbandingan ini memiliki rumus,
. kemampuan
fungsi hash yang dilengkapi dengan prosedur untuk mengatasi tabrakan diukur dengan adanya perbandingan kunci yang diperlukan untuk mencari alamat dari rekaman yang mempunyai kunci k. efesiensi terhadap faktor beban dan diukur menggunakan dua besaran berikut ini :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
B() = rata – rata probe untuk pencarian yang berhasil G() = rata – rata probe untuk pencarian yang gagal
1. Open Addressing (Pengalamatan Terbuka) Di dalam metode pengalamatan terbuka, ketika kunci bertabrakan dengan kunci yang lain. Tabrakan dapat diselesaikan dengan menemukan tabel alamat hash yang kosong. Jika ternyata alamat hash sudah terisi, maka harus dicari alamat lain yang masih kosong. Ada beberapa cara yang digunakan untuk mengatasi tabrakan dengan open addressing sebagai berikut : a. Linear probing Cara termudah adalah dengan menggunakan linear probing, yaitu dengan mencari alamat berikutnya yang masih kosong. Dengan rumus :
h+1 mod m Keterangan : h = Index pada table hash m = Panjang table hash
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
Berikut adalah contoh kasus untuk LinearProbing, jika data 7, 13, 25, 27 ingin dimasukan ke dalam table hash dengan m = 13.
Gambar 2.2 Contoh Linear Probing Tabrakan yang terjadi pada data 39 di indeks 0 diselesaikan dengan bergeser ke indeks 1. Karena indeks 1 juga telah terisi maka data 39 bergeser ke indeks 2. Karena indeks 2 masih kosong maka data 39 dapat dimasukkan. b. Quadratic Probing Quadratic Probing mencari alamat baru untuk ditempati dengan proses perhitungan kuadratik yang lebih kompleks. Tidak ada rumus baku pada quadratic probing. Kita dapat menentukan sendiri rumus yang akan digunakan. c. Double Hashing Double hashing adalah salah satu metode pengalamatan terbaik yang tersedia untuk pengalamatan terbuka(open addressing) sebab
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
permutasi yang dihasilkan mempunyai banyak karakteristik permutasi yang terpilih secara acak(Thomas H. Cormen, 2009). Double Hashing menggunakan fungsi hash kedua dan menangani tabrakan dengan menempatkan item di dalam kolom yang tersedia(kosong). Fungsi hash kedua yang digunakan setelah alamat yang didapat dari fungsi hashawal telah terisi. Syarat dari metode ini adalah
ukuran
table
hashmerupakan
bilangan
prima,
untuk
menghindari siklus pencarian slot yang sama. Contoh fungsi hash adalah h1 = k mod m, dimana k adalah nilai kunci dan m adalah panjang tablehash. Jika hasil dari h1 mengalami tabrakan kunci pada table hash maka dapat menggunakan fungsi hash kedua
h2 = (k+s) mod m Keterangan : h2 = Fungsi hash ke – dua k
= Indeks table hash yang mengalami tabrakan
s
= Nilai jarak lompatan
m = Panjang table hash
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
Dengan s didapat dari rumus berikut :
s = c – (k mod c)
c adalah konstanta dengan syarat nilai c harus bilangan prima dan lebih kecil dari panjang table hash. Contoh kasus untuk double hashing adalah sebagai berikut : Jika data 76, 93, 40, 47, 10, dan 55 ingin dimasukan ke dalam tablehash dengan m = 7 dan nilai kontanta = 5.
Gambar 2.3 Contoh Double Hashing (Sumber : https://www.cs.washington.edu) Kelemahan dari open addressing adalah ukuran array(table hash) yang disediakan harus lebih besar dari jumlah data. Selain itu dibutuhkan memori yang lebih besar untuk meminimalkan terjadinya collision.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
Separate Chaining(Pengandengan) Metode pengandengan merupakan metode lain yang digunakan untuk mengatasi kemungkinan adanya tabrakan alamat hash. Metode ini memanfaatkan senarai berantai yang dipasang pada setiap alamat hash yang diketahui. Pada metode pengandengan ini, jumlah elemen yang dapat disimpan hanya dibatasi oleh kapasistas memori komputer yang tersedia. Jika kita memiliki sebuah alamat hash lengkap dan senarai menyimpan rekaman – rekaman yang mempunyai alamat hash yang sama, maka kita akan melihat adanya sebuah senarai tunggal berkepala. Sebagai contoh, jika kita mempunyai rekaman – rekaman yang kunci rekamanya dituliskan sebagai berikut : 35
56
15
50
91
100
28
11
29
79
83 43 Fungsi hash yang digunakan adalah k mod 10. Dengan demikian, alamat hashakan terdiri dari 10 buah alamat yang memiliki nomor 0 sampai 9.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
Gambar dibawah ini menunjukan alamat hash lengkap dengan senarai berantainya untuk menyimpan rekaman - rekaman di atas. Alamat Hash
Rekaman
0
50
100
91
11
83
43
35
15
1 2 3 4 5 6
56
7 8
28
9
29
79
Gambar 2.4 Metode Chaining(Pengandengan) c. Fungsi Hash Metode Pembagian Sisa Pada String Penanganan tipe data String pada fungsi hash adalah mengubah nilai karakter pada String diubah menjadi nilai char berdasarkan kode ASCII. Dan dilakukan proses untuk menghitung nilai kunci, dan akan diperoleh nilai kunci yang unik, dari beberapa String yang memiliki karakter kata yang sama tetapi akan di peroleh nilai kunci yang berbeda.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
Penanganan ukuran kunci haruslah dilakukan secara hati – hati, hal ini dilakukan untuk membuat ukuran kunci hasil transformasi menjadi tidak terlalu besar sehingga sulit untuk disimpan di memori. Ini dapat diselesaikan dengan memecah kunci transformasi menjadi potongan – potongan nilai, dan kemudian mengkombinasikan potongan – potongan nilai itu (Adi Nugroho, 2008). Penggunaan fungsi hash pada String menggunakan fungsi hash metode pembagian sisa(Division Remainder) yang diperbaharui dengan menambahkan proses penanganan tipe data String. Fungsi hash metode pembagian sisa(Division Remainder) String tersebut ditunjukan dengan rumus sebagai berikut :
NK = (((((An*X) mod h) * X + A1) mod h) * X + A0) mod h
Keterangan : NK = Nilai Kunci A = Nilai karakter kata pada String X = Jumlah keseluruhan karakter pada ASCII yaitu 128 h = Panjang table hash Pada rumus di atas terlebih dahulu nilai dari karakter kata akan dikalikan dengan X, kemudian akan dilakukan modulu. Nilai dari karakter kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
yang telah di modulu tersebut akan dikalikan dengan X dan kemudian nilainya akan ditambahkan dengan nilai karakter kata selanjutnya kemudian akan modulukan lagi. Proses tersebut akan terus berlanjut sampai dengan karakter kata habis, Setelah semua proses selesai maka akan didapat hasil dari nilai Kunci dari kata tersebut. Setiap katakter kata sebelum ditambahkan dengan karakter kata selanjutnya akan dikalikan dengan 128, hal tersebut dilakukan untuk mendapatkan nilai karakter yang unik.
Dan selesai penambahan
karakter kata akan dilakukan modulu panjang table hash, hal tersebut dilakukan agar nilai kunci tidak terlalu besar dari pada panjang table hash. Untuk mempermudah pemahaman tentang penangangan String di atas, disertakan contoh, jika ada 2 buah kata yaitu kau dan aku. Dua kata tersebut memiliki karakter yang sama. Dengan menggunakan penanganan string biasa kita hanya akan menambahkan nilai karakter kata tersebut(berdasarkan kode ASCII) sehingga menghasilkan nilai dari kata tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
Gambar 2.5 Karakter ASCII Untuk Karakter kau memiliki 3 karakter kata yaitu k,a,u. dan untuk aku memiliki 3 karakter kata a,k,u. Jika dilakukan penanganan string dengan biasa akan di dapat hasil sebagai berikut : Nilai Kata 1
= „k‟+‟a‟+‟u‟, setiap karakter diubah berdasarkan kode ASCII = 107+97+117 = 321
Nilai Kata 2
= „a‟+‟k‟+‟u‟ setiap karakterdiubah berdasarkan kode ASCII = 97+107+117 = 321
Dari hasil di atas didapatkan bahwa kedua kata tersebut memiliki nilai kata yang sama sehingga kita di lakukan fungsi hash, maka kedua kata tersebut akan mengalami tabrakan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
Maka dari itu akan dilakukan penanganan string yang lebih unik yaitu dengan menggunakan rumus di atas, agar nilai String yang dihasilkan menjadi lebih unik. Nilai Kata 1
= ((((k*128)Mod 13)*128+a)Mod 13)*128+u)Mod 13 ( setiap karakter diubah berdasarkan kode ASCII) = ((((107*128)Mod 13)*128+97)Mod 13)*128+117)Mod 13 =3
Nilai Kata 2
= ((((a*128)Mod 13)*128+k)Mod 13)*128+u)Mod 13 (setiap karakterdiubah berdasarkan kode ASCII) = ((((97*128)Mod 13)*128+107)Mod 13)*128+117)Mod 13 = 11
Dari hasil diatas di dapat bahwa dengan menggunakan penanganan string yang lebih khusus akan menghasilkan nilai kata yang lebih unik.
2.3 Kamus Kamus secara etimologi, kata kamus berasal dari kata dalam bahasa arab, yaitu qamus. Bahasa Arab menyerap kata qamus dari bahasa yunani kuno, okeanos, yang berarti lautan. Jika kita mencoba memahami sejarah kata itu maka jelaslah bahwa kata kamus memiliki makna dasar “wadah pengetahuan”. Khususnya, pengetahuan bahasa yang tidak terhingga dalam dan luas. Beberapa pakar telah memberikan definisi mengenai kamus. Di antaranya di sebutkan sebagai berikut;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
[1] Kamus adalah buku referensi yang memuat daftar kata atau gabungan kata dengan keterangan mengenai pelbagai segi maknanya dan penggunaanya dalam bahasa; biasanya disusun menurut abjad(dalam tradisi Yunani – Romawi menurut urutan abjad Yunani – Romawi), kemudian menurut abjad bahasa bersangkutan; dalam tradisi Arab menurut urutan jumlah konsonan (Kridalaksanan. 1982). [2] Kamus adalah buku berisi kumpulan kata –kata sebuah bahasa yang disusun secara alfabetis diikuti dengan definisi atau terjemahannya dalam bahasa lain (Pirre Labrouse, 1977). [3] Menurut kamus besar Bahasa Indonesia, kamus adalah buku acuan yang memuat kata, saran dan ungkapan yang disusun menurut abjad berikut keterangan tentang maknanya, pemakainya atau terjemahannya.
Menurut penulis, Kamus adalah kumpulan kata satu bahasa atau lebih yang disusun secara alfabetis beserta dengan arti, definisi ke dalam satu bahasa atau lebih, dan dimuat ke dalam sebuah buku baik dalam bentuk digital dan tertulis.
2.3.1
Fungsi Kamus Kamus merupakan hasil akhir dari kerja leksikografi adalah himpunan semua kosakata yang ada di dalam suatu bahasa. Berikut di bawah ini adalah fungsi – fungsi praktis dari kamus tersebut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
(1) Makna Kata Fungsi sebuah kamus yang pertama adalah menjelaskan makna atau arti sebuah kata. Namun, tidak semua kamus dapat memberikan informasi mengenai makna sebuah kata. Kamus besar atau kamus yang ideal mungin dapat memberi informasi makna semua kata yang ada dalam kamus suatu bahasa, tetapi mungkin juga tidak karena isi kamus terbatas. (2) Lafal Kata Sebuah kamus yang ideal juga berfungsi untuk menjelaskan lafal atau ucapan sebuah kata, yang baku atau tidak baik. Pada bahasa – bahasa yang sistem pengejaan katanya tidak ideal seperti bahasa inggris. Maka di dalam kamusnya setiap kata tentu disertai dengan ejaan fonetis untuk menunjukan lafal – lafal kata – kata itu. (3) Ejaan Kata Sebuah kamus yang ideal memiliki fungsi memberi petunjuk bagaimana ejaan yang benar dari setiap kata saat ini untuk bahasa Indonesia,
ejaan
yang
berlaku
adalah
Ejaan
Yang
Disempurnakan(EYD). (4) Penyukuan Kata Kamus juga memiliki fungsi agar kita bisa mengetahui suku kata, dengan membuka kamus kita dapat mengetahui suku kata yang kita cari atau ingin kita ketahui pada sebuah kamus. Contohnya :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
Lab – rak atau la – brak
-
Ge – og – ra – fi atau ge – o – gra – fi
25
Untuk mengetahui pemengalan yang benar, kita dapat melihatnya ke dalam kamus yang ideal. (5) Kebakuan Kata Sebuah kamus yang ideal dapat menunjukan mana kata yang baku dan mana pula yang tidak baku, misalnya dengan cara memberi tanda rujuk silang, artinya kata – kata yang tidak baku tetap didaftar sebagai lema, tetapi mengetahui makna dan informasi lainnya.
2.3.2
Cara Penyusunan Kamus Cara penyusunan kamus terbagi menjadi beberapa tahapan penting sebagai berikut : 1. Perancangan 2. Pembinaan data korpus 3. Pengisian dan Pengabjadan data 4. Pengolahan data 5. Pemberian makna
2.3.3
Berbagai Masalah Dalam Perkamusan a. Tujuan Kamus
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
Tujuan dari kamus disusun, menyangkut masalah kamus tersebut ditujukan kepada siapa dan seberapa besar ruang lingkupnya.Jika kamus tersebut di tujukan kepada pemilik bahasa itu sendiri, maka yang akan disusun adalah kamus ekabahasa. Jika kamus tersebut disusun bukan untuk orang yang bukan pemilik bahasa itu, maka yang harus disusun adalah kamus dwibahasa. Ruang lingkup kamus mengenai seberapa besar lema – lema yang akan dimuat, dan seberapa jauh makna serta definisi yang akan diberikan. Tujuan dari kamus diharapkan dapat memberikan semua informasi berkenaan dengan kosakata suatu bahasa. b. Korpus Data Kalau tujuan penyusunan sebuah kamus sudah ditentukan, maka masalah kedua yang muncul adala korpus data, yakni sumber yang akan digunakan untuk mengumpulkan data. Korpus data menyangkut masalah subtansi bahasa sumber, bahasa sasaran, dan ruang lingkup kamus yang akan dibuat. Jika bahasa sumbernya belum mempunyai ragam bahasa tulis, maka satu – satunya jalan untuk mendapatkan korpus data itu adalah merekam bahasa tersebut dari pertuturan yang dilakukan oleh para penutur bahasa itu. Jika bahasa sumber telah mempunyai ragam bahasa tulis, maka korpus data diambil dari naskah, buku, Koran, majalah atau terbitan lain tergantung dari tujuan kamus yang akan dibuat.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
27
Data untuk kamus dwi bahasa, kita dapat mengambilnya dari kamus bahasa sumber yang sudah ada dan kualitasnya cukup memadai. Kemudian kita tinggal mencari padanan kata dari bahasa sasaran. c. Pengumpulan Data Setelah masalah korpus telah diatasi, masalah selajutnya yang akan muncul adalah mengenai pengumpulan data. Misalnya saja yang disusun adalah kamus ekabahasa Indonesia. Maka data yang akan di kumpulkan bisa berupa kata kasar, kata berimbuhan, kata berulang, kata gabung, bentuk – bentuk idiomatik, ungkapan dan pribahasa. d. Susunan Lema dan Sublema Data yang dikumpulkan dari korpus akan menjadi lema dan sublema dalam kamus yang akan disusun. Lema dalam bahasa Indonesia berupa morfem dasar, baik yang bebas (seperti batu, pergi, dan pulang) maupun yang terikat (esperti juang, henti, dan abai). Sedangkan sublema berupa bentuk turunan, baik yang berimbuhan, berulang, maupun yang berkomposisi. Prinsip utama susunan lema dan sublema adalah mudah diikuti.Yang dimaksud mudah diikuti adalah kalau lema dan sublema itu disusun secara alfabetis, baik secara vertikal maupun horizontal. e. Masalah makna
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
Tujuan orang membuka kamus adalah untuk mengetahui makna kata. Oleh karena itu, sudah seharusnya makna dalam kamus dibuat baik dan selengkap mungkin. Hari hal itu, segala kemungkinan makna yang dimiliki oleh sebuah kata harus diterakan didalam kamus. Namun, dalam pemberian makna ini banyak masalah yang akan timbul antara lain : (1) Apa patokan yang menyatakan bahwa sebuah kata telah diberi makna atau definisi. Pemberian makna dalam kamus dwibahasa terlihat lebih mudah sebab sudah dianggap memadai kalo hanya diberi padanan katanya saja. Misal kamus Inggris – Indonesia. Table Meja Waterair Zip resleting. (2) Sering kali sukar dalam memberikan makna untuk kata kerja. Misalnya kata duduk, makan, dan tidur. Kesulitan seperti ini biasanya diatas dengan memberikan contoh pemakaian kata tersebut. (3) Banyak kata yang maknanya di suatu tempat tidak sama dengan tempat lain. (4) Banyak kata yang maknanya telah berubah, baik total, meluas, maupun menyempit. Misalnya, dulu kata ceramah bermakna “Uraian mengenai suatu topik dimuka orang banyak”, tetapi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
sekarang bermakna bawel. Makal hal seperti ini diinformasikan dalam rumusan makna dalam kamus.
f. Label – label Informasi Sebagai bagian dari penjelasan makna kata, maka pada setiap lema utama perlu diberi keterangan dalam bentuk singkatan yang berkenaan dengan : (1) Kelas kata, yakni verba(v), nomina(n), adjektiva(a), adverbial(ad), numeralia(num) dan sebagainya. (2) Asal - Usul Kata Untuk kepentingan ilmiah kata – kata yang masih terasa asing perlu diberi keterangan mengenai asal – usulnya. Misalnya kata ngaben dari bahasa bali. Kata – kata serapan yang sudah sangat umum tidak perlu diberi label asal – usulnya. (3) Bidang Pemakaian Kata – kata, terutama yang disebut istilah, perlu diberi keterangan bidang
pemakaianya.
Misalnya
kata
fonem
dari
bidang
linguistik(ling), kata deposito dari bidang perbangkan(bank). (4) Kata – kata arkais Kata – kata arkais adalah kata – kata yang saat ini tidak digunakan lagi dalam penuturan. Namun, kita bisa dapati saat kita membaca naskah – naskah lama. Misalnya kata tebuk, ungkai, oasik,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
dansayhdan. Dibelakang kata – kata ini perlu diberi label ark(arkais).
2.3.4
Jenis Kamus Berdasarkan lingkup isinya, Jenis kamus di bagi menjadi beberapa bagian sebagai berikut : a. Kamus Umum, yaitu kamus yang memuat semua kata dalam sebuah bahasa, Misalnya Kamus Umum Bahasa Indonesia. b. Kamus Khusus atau Kamus Istilah, yaitu kamus yang hanya memuat kata – kata dari bidang tertentu, contohnya kamus linguistic, kamus istilah kedokteran, kamus instilah teknologi dan banyak lagi. c. Kamus Eka Bahasa, yaitu kamus yang memuat kata – kata dari satu bahasa , biasanya berisi definisi, sinonim, dan contoh penggunaan dalam kalimat. Misalnya Kamus Besar Bahasa Indonesia. d. Kamus Dwibahasa yaitu kamus memuat dua bahasa, biasanya berisi kata dari sebuah bahasa yang makna atau definisinya dijelaskan dengan bahasa lain (Bahasa terjemahannya). Contohnya Kamus Bahasa Indonesia – Bahasa Inggris. e. Kamus Multibahasa yaitu kamus yang memuat lebih dari dua bahasa. Misalnya Kamus Bahasa Prancis – Indonesia – Inggris.
2.3.5
Kamus yang Ideal
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
Dalam dunia perkamusan dan leksikografi sangat disadari bahwa tidak akan ada kamus yang sempurna, yang dapat memberikan semua informasi mengenai kata dengan makna. Hal ini terjadi karena bahasa yang menjadi obyek kamus itu selalu berubah, seiring dengan perubahan sosial budaya dari masyarakat yang menggunakan kamus itu. Akibat dari hal tersebut, kamus yang ideal adalah kamus yang selalu terus – menerus direvisi agar kamus tersebut dapat terus – menerus mengupdate informasi yang diperlukan 2.4 Bahasa Dayak Ngaju Bahasa Dayak Ngaju atau bahasa Ngaju adalah bahasa yang tuturkan suku Dayak Ngaju dan suku – suku lain yang berada di provinsi Kalimantan Tengah. Jumlah penutur bahasa Dayak Ngaju ini lebih dari 1.000.000 orang, termasuk didalamnya yang berdialek Bakumpai, Mengkatip dan Mendawai. Terdapat perbedaan dialek dalam sub etnis yang ada di dalam suku Dayak Ngaju, seperti pada dialek Kapuas dan Kahayan, Katingan dan Mentawai, Mendawai dan Mengkantip. Perbedaan ini umumnya pada pilihan kata dan pengucapan kata, namun memiliki arti yang berbeda.Walaupun begitu perbedaan ini mudah untuk dipahami oleh para penuturnya sendiri. Menurut Tjilik Riwut, Pengguna bahasa ini adalah 54 anak suku Dayak Ngaju, antara lain adalah Balantikan, Kapuas, Rungan, Manuhing, Katingan, Saruyan, Mentobi, Mendawai, Bara-dia, Bara – Nio, Bara – ren, Mengkatip, Bukit, Berangas, dan Bakumpai.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
Contoh dan perbandingan antara kosakata bahasa Dayak Ngaju berdialek Bakumpai, bahasa Dayak Ngaju Kahayan, serta Bahasa Indonesia. Bakumpai
Ngaju
Indonesia
Jida
Dia
Tidak
Beken
Beken
Bukan
Kueh
Kueh
Mana
Si Kueh
Bara Kueh
Dari Mana
Hituh
Hetuh
Sini
Tukep/Parak
Tukep
Dekat
Mihup
Mihop
Minum
Batapas
Bapukan
Mencuci
Tabel 2.2 Kosakata 2.5 Bentuk Susunan Kamus Bahasa Dayak Ngaju Susunan lema di atur atas dasar pertimbangan : 1. Kemudahan Kemudahan berarti bahwa kamus itu tidak menimbulkan kesulitan bagi pemakainya pada waktu penggunaan kamus. 2. Kepraktisan Kepraktisan berarti kamus tidak rumit serta mudah dalam pemakaiannya. 3. Manfaat
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
Dari segi manfat, semoga dengan adanya kamus ini akan diperoleh banyak manfaat yang didapat dari pemakaian kamus ini. 4. Pembinaan dan Pengembangan Bahasa Dayak Ngaju Dari segi pembinaan dan pengembangan bahasa, kamus bahasa Dayak Ngaju ini diharapkan dapat menunjang usaha dan pengembangan bahasa Dayak Ngaju. Susunan Kamus Bahasa Dayak Ngaju - Indonesia disusun atas pokok pikiran berikut : (1) Kata Dasar Kata dasar atau bentuk dasar yang menjadi dasar pembentukan kata. Diberlakukan sebagai kata lema, sedangkan bentuk – bentuk derivasinya diberlakukan sebagai sub lema. Contoh kata dasar dan bentuk derivasinya adalah pukul dan kata mamukul, hapukul, rapukul, pamukul adalah bentuk derivasinya. (2) Kata Ulang Perlakukan terhadap kata ulang dalam Kamus Bahasa Dayak Ngaju Indonesia adalah sebagai berikut : -
Bentuk kata ulang yang mennjukan jamak( kata benda) seperti huma – huma/ rumah – rumah, bua – bua / buah – buah, tidak dimasukan secara langsung ke dalam kamus. Karena dalam bahasa dayak jarang sekali mengunakan kata ulang dalam hal yang menyangkut kata benda.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
34
Bentuk kata yang seolah – olah merupaka bentu ulang, seperti andang – andangalamat, di muat sebagai lema.
-
Bentuk ulang yang menunjukan jamak dalam proses, seperti manampayah – payah/ melihat – lihat, diberlakukan sebagai kata sub lema dan di letakan langsung sesudah bentuk kata yang di ulang. Contoh : Manampayah – payah Diletakan sesudah manampayah.
-
Bentuk kata ulang seperti lulang luli/ bolak – balik, yang salah satu unsur pembentuk katanya mempunyai betuk kata lain seperti haluli diberlakukan sebagai kata sublema yang diletakan sesudah kata lema yang menjadi dasar bentuk ulang itu.
-
Bentuk kata ulang seperti :birak – biraiporak poranda, kanih kate / kacau balau, yang masing – masing unsure pembantuknya katana tidak berderivikasi diperlakukan sebagai kata lema. Contoh : Birak – birai 1 porak poranda; 2 cerai berai Kanih – kate 1 berhamburan; 2 berserakan
(3) Gabungan Kata -
Gabungan kata atau kelompok kata yang merupakan frasa idiomatic ataupun tidak, berakfit atau tidak, tidak berdevirasi tidak diberlakukan sebagai kata lema, atau kata sublema. Tetapi diberlakukan sebagai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
contoh pemakaian yang berupa frasa yang diberi penjelasan. Letaknya langsung di bawa kata lema atau kata sublema yang berkaitan, yaitu kata pertama unsur pembentuk kata gabungan itu. Di susun berderet ke samping secara berurutan menurut abjad Contoh : Panjangapanjang, - Lenge panjang tangan; orang yang suka mencuri - Tampayah banyak pengalaman; orang perantauan -
Gabungan kata yang berdevirasi baik idiomatic maupun tidak seperti campur aduk, himbing lenge, atau bahambin lenge, diberlakukan sebagai kata lema dan diikuti bentuk – bentuk derivasinya sebagai sub lema. Contoh Campur aduk acampur aduk - Bacampur aduk 1 - Macampur aduk 1
(4) Peribahasa Peribahasa di perlakukan secara khusus, dicetak miring dan di tempatkan seem gabungan kata yang berupa frasa. Jika terdapat lebih dari satu peribahasa(dari sebuah kata lema), pribahasa itu di susun mernurut abjab dengan berpgang teguh pada huruf awal pada kata pertama peribahasa Contoh
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
Bakei nkera berekor panjang; bulu abu – abu; suka makan buah - Kilau bakei bagai kera Baliong nbeliung; alat perkakas tukang kayu - Hasundai baliong beliung bertemu kayu keras; bermusuhan (5) Urutan Susunan Kata Lema Kata lema di susun menurut abjad, baik secara horizontal maupun secara vertikal. Secara horizontal, misalnya kata lema yang mempunyai huruf b.a.b.a.idiletakan sesudah kata lema yang mempunyai sesudah kata lema yang memiliki deretan huruf b.a.b.a.h Contoh Balik n …. Babalik… Pambalik…. Tambalik…. Baling n…… Babaling….. Baliong n……. Balo … Balua v….. (6) Label dan Singkatan Kata 1. Label Kelas Kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Label
Arti
N
Nomina / Kata Benda
V
Verba / Kata kerja
A
Adjective / Kata Sifat
Adv
Adverbial / Kata Keterangan
Num
Numeralia / Kata Bilangan
P
Partikel / Kata Tugas
Pron
Pronominal / Kata Ganti
Sangiang
Bahasa Dayak Kuno
Alk
Alkitab
2. Label – label lain Label
Arti
Akr
Akronim
Cak
Ragam
Hor
ragam halus
Kas
ragam kasar
Ki
Kiasan
Pb
Peribahasa
Np
nama pohon
Ni
nama ikan
37
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Nb
nama binatang
Nt
nama tumbuhan
38
2.6 Android a. Sejarah Android Android adalah sebuah sistem operasi untuk perangkat mobileberbasis linux. Android dibuat dan dikembangkan oleh Android Inc, kemudian Google Inc membeli Android Inc tersebut. Kemudian untuk mengembangkan Android dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google.Inc. Pada Juli 2000, Google Inc bekerjasama dengan Android Inc, dalam pengembangan perangkat mobile ini. Pada saat itu banyak yang menganggap fungsi Android hanya sebagai perangkat mobile atau telepon seluler biasa. Pada saat rilis perdana Android, 5 September 2007. Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Pada 22 Oktober 2008, untuk pertama kalinya Google merilis Nexus One salah satu jenis smartphone yang menggunakan android sebagai sistem operasinya. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan android
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
b. Sistem Operasi Android Android adalah sistem operasi untuk perangkat mobile yang open source. Android menyediakan platform bagi para pengembang untuk menciptakan dan mengembangkan sendiri aplikasinya. Google Inc merilis kode – kode android dibawah lisensi Apache, sebuah lisensi perangkat lunak yang standard Open Source.
c. Arsitektur Android Arsitektur Sistem Operasi Android terdiri dari 5 bagian sebagai berikut : 1. Applications dan Widgets Applications dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita mendownload aplikasi kemudian kita melakukan instalasi dan menjalankan aplikasi tersebut. Layer ini terdapat aplikasi inti termasuk klien email, aplikasi sms, kalender, map, browser, kontak, dan lain – lain. Semua aplikasi ditulis menggunakan java programming language (Bahasa Pemograman Java) 2. Applications Frame works Android memberikan kemampuan pada pengembang untuk membangun aplikasi yang bagus dan kreatif. Pengembang bebas mengakses perangkat keras, akses informasi, resources, menjalankan services background, mengatur alarm, dan menambahkan status
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
notification, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi kategori inti. Arsiektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan Application Frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan atau pembuatan aplikasi yang akan dijalankan di sistem operasi android. Komponen – komponen yang termasuk didalam Applications Frameworks adalah sebagai berikut : a) Views b) Content Provider c) Resource Manager d) Notification Manager e) Activity Manager
3. Libraries Libraries adalah layer dimana fitur – fitur android berada, biasanya para
pembuat
aplikasi
mengakses
libraries
untuk
menjalankan
aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta libraries lain sebagai berikut :
Libraries media untuk memutar mp3 dan video.
Libraries untuk manajemen tampilan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
Libraries Graphics mengcakup SGL dan OpenGL untuk grafis 2D dan 3D.
Libraries SQLite untuk dukungan database.
Libraries SSL dan Webkits terintegrasi dengan web browserd an security.
Libraries LiveWebcoremencakup modern web browserdengan engine embedded web view
4. Android Run Time Android Run Time adalah layer yang membuat aplikasi android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine merupakan machine yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time di bagi menjadi dua bagian yaitu :
Core Libraries : Aplikasi Android di bangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan virtual machine java, sehingga di perlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa java/c yang ditangani oleh Core Libraries
Dalvik Virtual Machine (DVM): Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi – fungsi secara efisien,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah.
5. Linux Kernel Linux Kernel adalah layer di mana inti dari Operating System dari Android itu berada. Berisi file – file sistem yang mengatur sistem processing memory, resource, drivers, dan sistem – sistem operasi android lain. Linux kernel yang digunakan android adalah linux kernel release 2.6.
d. Fundamental Aplikasi Android Aplikasi Android ditulis dalam bahasa pemrograman java. Kode java dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi, di mana proses di package oleh tools yang dinamakan “apt tools” ke dalam paket Android sehingga menghasilkan file dengan ekstensi apk. Ada enam jenis komponen pada aplikasi android, yaitu : a)
Activities Suatu activity akan menyajikan user interface (UI) kepada penggunanya, sehingga pengguna dapat melakukan interaksi. Satu activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pindah
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
dari satu activity ke activity lain kita dapat melakukan satu even, misalnya klik tombol, memilih opsi atau menggunakan triggers tertentu.
b) Service Service tidak memiliki Graphics User Interface (GUI), tetapi service berjalan secara background, sebagai contoh dalam memainkan musik, service mungkin memainkan music atau mengambil data dari jaringan, tetapi setiap service harus berada dalam kelas induknya.
c) Broadcast Receiver Broadcast
Receiver
berfungsi
menerima
dan
bereaksi
untuk
menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai low, gambar telah selesai diambil oleh camera, atau mengubah referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi broadcast missalanya memberikan informasi pada aplikasi lain bahwa ada data yang diunduh ke perangkat dan siap untuk digunakan. Broadcast Receiver tidak memiliki User Interface (UI), tetapi memiliki sebuah activity untuk merespon informasi yang mereka terima, atau mungkin menggunakan Notification Manager untuk memberitahukan kepada pengguna, seperti lampu latar atau vibrating dan lain sebagainnya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
d) Content Provider Content Provider membuat kumpulan aplikasi data secara spesifik sehingga digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti dataSQLite. Content Providermenyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya ketika kita menggunakan aplikasi yang membutuhkan peta (Map) , atau aplikasi yang membutuhkan untuk mengakses data kontak dan navigasi, maka disinilah fungsi Content Provider
e. Android Versi 2.2 (Froyo : Frozen Yoghurt) Android Versi 2.2 diluncurkan pada bulan Mei 2010. Android ini sekarang banyak beredar di pasaran, salah satunya adalah dipakai di Samsung FX tab yang sudah ada di pasaran. Fitur yang tersedia di Android versi ini sudah kompleks diantaranya adalah : 1. Kerangka
aplikasi
memungkinkan
penggunaan
dan
pengahpusan
komponen yang tersedia. 2. Dalvik Virtual Machine dioptimalkan untuk perangkat mobile. 3. Grafik : grafik di 2D dan grafis 3D berdasarkan libraries OpenGL 4. SQLite untuk penyimpanan data 5. Mendukung media : audio, video, dan berbagai format gambar. 6. GSM, Bluetooth, EDGE, 3G, dan Wifi. 7. Kamera, Global Positioning System(GPS), kompas dan accelerometer.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
f. Siklus Hidup Activity Activitymemiliki tiga status dasar : 1. Running Status ini ketika activity berjalan di foreground, activity yang berkaitan aktif dengan pengguna. 2. Pause Jika activity telah kehilangan focus tetapi masih dapat dilihat oleh pengguna yang berarti ada activity yang berjalan di atas activity ini, sebuah activity yang transparan atau tidak menutupi layar penuh sehingga activity dalam status pause dapat terlihat. Sebuah activity dalam status pause tetap hidup, yaitu android tetap mempertahankan semua informasi dan tetap melekat pada WIndowManager hingga akhirnya dapat dimatikan oleh sistem ketika memori sanggat rendah. 3. Stop Activity benar – benar dihentikan karena ada activity yang lain memenuhi layar. Semua informasi dipertahakan tetapi tidak dapat dlihat oleh pengguna sehingga jendela tersembuni dan dapat dimatikan oleh sistem ketika memori di butuhkan. Metode yang terdapat pada Activity : -
OnCreate ()
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
Dipanggil ketika activity pertama kali dibuat. Biasanya merupakan metode dimana view yang ingin ditampilkan dibuat, membuka data file, maupun menginisiasi activity. Saat memanggil OnCreate,kerangka Android melewati sebuah Bundle obyek yang mengandung state activity yang disimpan ketika activity pertama dijalankan. -
OnStart() Dipanggil sebelum activity terlihat pada layar. Ketika activity dapat menjadi activity foredround , maka akan dipanggil
method
OnResume() sedangkan jika tidak akan dipanggil method OnStop(). -
OnResume() Dipanggil setelah OnStart()apabila activity dapat menjadi foreground. Saat ini, activity dapat bereaksi dengan pengguna. OnResume()juga akan dipanggil ketika activity ini tidak menjadi foreground karena ada activity lain lalu activity lain akhirnya selesai dan activity kembali menjadi foreground.
-
OnPause() Dipanggil ketika activity lain dibawa ke foreground. Pada status ini activity tidak memiliki asks ke layar.
-
OnStop() Dipanggil ketika activity tidak lagi terlihat karena adanya activity lain yang dibawa ke foreground atau activity ini dimatikan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
47
OnDestroy() Dipangil
terakhir
sebelum
activity
dimatikan
ketika
Androi
membutuhkan smber daya ang digunakan oleh activity. g. Daur Hidup Service Daur hidup service hamper sama dengan activity tetapi memiliki beberapa perbedaan detailnya. Nama Service OnCreate() dan OnStart()
Keterangan Dipanggil
apabila
seseorag
memanggilcontext.startService(intent).
klien Jika
service belum berjalan maka android aka membuatnya dan memanggil OnCreate() diikuti method berjalan
OnStart(). Apabila service telah android
hanya
akan
memanggil
OnStart(). OnBind()
Ketika klien membutuhkan koneksi ke serice maka akan dipanggil context.bind. pemanggilan ini akan mengakibatkan pembuatan service apabila service tidak sedang berjalan tanpa memanggil OnStart()
OnDestroy()
Sama degan activity, method ini akan dipanggil ketika service akan dimatikan. Android akan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
mematikan service apabila telah tidak lagi klien yang memulai.
h. Kelebihan Android Banyak sekali platform untuk perangkat seluler saat ini, termasuk di dalamnya Symbian, Iphone, Windows mobile, Blackberry, Java Mobile Edition, Linux Mobile, dan banyak lain. Namun ada beberapa hal yang menjadi kelebihan android. Walaupun beberapa fitur – fitur yang telah mucul sebelumnya pada platform lain, android adalah yang pertama mengabungkan hal – hal berikut : 1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem karena berbasiskan Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus membayar royalti. Sementara pengembang softwaremenyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor manapun. 2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan. 3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
tertanam
pada
Android
sehingga
memudahkan
49
dalam
pengembanganaplikasi. 4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi
lebih
stabil.
Pengguna
tak
perlu
kawatir
dalam
menggunakanaplikasi pada perangkat yang memorinya terbatas. 5. Dukungan grafis dan suara terbaik, dengan adanya dukungan 2D grafisdan animasi
yang
diilhami
oleh
Flash
menyatu
dalam
3D
menggunakanOpenGL memungkinkan membuat aplikasi maupun game yang berbeda. 6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini maupun yang akan datang. Semua program ditulis dengan menggunakan bahasa pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode program portabel antara ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh, trackball dan resolusi layar semua dapat disesuaikan dengan program.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III ANALISIS DAN DESAIN
Pada bab ini akan dijelaskan analisis dan desain Sistem aplikasi Kamus Bahasa Dayak Ngaju – Bahasa Indonesiayang akan dikembangkan.
3.1 Analisis Kebutuhan Aplikasi Analisis sistem adalah penjabaran dari suatu sistem yang utuh ke dalam bagian – bagian komponen dengan maksud mengidentifikasi dan mengevaluasi masalah dar sistem tersebut.
3.1 .1 Analisis Fungsional Analisis Fungsional merupakan gambaran mengenai fitur – fitur yang akan di masukan ke dalam aplikasi Kamus Bahasa Dayak Ngaju – Bahasa Indonesia. Fitur – fitur tersebut antara lain. a. Mampu menampilkan berbagai kosakata Bahasa Dayak Ngaju ke dalam Bahasa Indonesia. b. Mampu menampilkan berbagai kosakata Bahasa Indonesia ke dalam Bahasa Dayak Ngaju. c. Mampu menampilkan kosakata hasil pencarian Bahasa Dayak Ngaju dan kosakata hasil pencarian berbahasa Indonesia.
50
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
d. Terdapat metode untuk mengupdate kosakata baru, baik kosakata Bahasa Dayak Ngaju dan Kosakata Bahasa Indonesia.
3.2 Fungsi Hash Yang Digunakan Pada aplikasi Kamus Bahasa Dayak Ngaju – Indonesia ini, digunakan media penyimpanan file untuk menyimpan data – datanya. Database yang dibuat pada aplikasi ini hanya memanfaatkan file teks yang akan disimpan pada notepad dengan ekstensi “*.txt”. Sehingga nantinya ada perintah yang mengintekgrasikan file txt tersebut ke dalam software. Basis data pada aplikasi ini dibagi menjadi dua macam yaitu basis data yang berisi padanan kata Bahasa Dayak Ngaju ke Bahasa Indonesia yang disimpan dengan nama DayakIndo.txt dan basis data yang berisi padanan kata Bahasa Indonesia ke Bahasa Dayak yang disimpan dengan nama IndoDayak.txt. Proses pengolahan data dari txt ke dalam sistem adalah dengan mendapatkan key dan value yang berasal dari data txt. Proses tersebut dilakukan dengan memecah data – data menjadi lema serta padananya. kata yang menjadi lema akan menjadi key dan padananya akan menjadi value. Key tersebut akan dikonversi menjadi nilai key, nilai key tersebut diambil dari setiap karakter kata berdasarkan kode ASCII. Nilai key dari setiap karakter kata tersebut akan dihitung. Untuk memasukan key dan value ke dalam tabel hash terlebih dahulu harus dihitung index darikey menggunakan fungsi hash. fungsi hash yang akan digunakan adalah
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
Metode Pembagian Sisa String atau Division – Remainder String Method. Jika terdapat nilai key yang sama(terjadi tabrakan antar key) dan akan digunakan metode double hashing untuk menangani masalah tabrakan tersebut. Proses hitung nilai kata(nilai key) dan fungsi hash metode pembagian sisa string dapat dilihat dengan contoh sebagai berikut : nilai key dari kata tege untuk dimasukan ke dalam tabel hash. Ukuran panjang tabel hash(N) untuk contoh ini, digunakan panjang N adalah 10, proses perhitungan menggunakan rumus fungsi hash metode pembagian sisa string adalah sebagai berikut : Nilai key = „t‟+‟e‟+‟g‟+‟e‟ =((((109*13) mod 10)*128+101 mod 10)*128 + 103 mod 10) *128+101 mod 10 = 8 Nilai key(Kunci) menjadi index pada tabel hash, Index
= 8 mod 10
Index
=8
Maka didapatkan nilai index key untuk kata tege pada tabel hash, yaitu 8. Sehingga key dan value dapat dimasukan ke dalam tabel hash. Berikut ini adalah contoh gambaran data yang telah dimasukan ke dalam tabel hash. :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Index
Key
53
Value
0 1
. . . 8
tege
(v) ada
9
Gambar 3.1 Contoh data yang dimasukan ke dalam Tabel Hash Untuk Metode Double Hashing menggunakan Fungsi hash yang ke – dua melibatkan nilai key yang telah di dapat, digunakan untuk mendapatkan jarak loncatan. Misal, kita ingin memasukan kata ijuk yang memiliki nilai key 8pada table hash, dengan metode pembagian sisa untuk nilai key 8 didapatkan index key - nya adalah 8. Maka terjadi tabrakan dengan key untuk kata tege. Terhadap kata ijuk yang memiliki nilai key sama dengan kata tege, digunakan double hashing, contoh double hashing sebagai berikut : Fungsi Hash ke - dua = 5 – (8 mod 5) = 2 Fungsi di atas digunakan untuk mendapatkan increment(jarak lommpatan) jika terjadi tabrakan pada key. Index = 8 mod 10 Index = 8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
54
Index ke - 8 telah digunakan oleh key kata tege (Gambar 3.1) maka dilanjutkan perhitungan dengan melakukan double hashing untuk mendapatkan index posisi pada tabel hash untuk nilai key untuk kata ijuk . dijelaskan sebagai berikut : Index = (8+2) mod 10 = 0. Posisi 0 kosong sehingga didapat index key tersebut, key dan value dapat dimasukan ke tabel hash index 0.
Index
Key 0
Value ijuk
(n) sapu
tege
(v) mandi
1 2 3 4 5 6 7 ijuk
8 9
Index 8 sudah memiliki key dan value, dengan menggunakan metode Double Hashing, bisa didapatkan posisi index yang baru
Gambar 3.2 Struktur Data HashTable setelah dilakukan proses Double Hashing
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
55
3.3 Pseudocode Metode hash Pada pseudocode metode hash ini akan dijelaskan Proses Hitung Nilai kata, Metode Pembagian sisa, Metode double hashing, serta proses pencarian kata. Selanjutnya untukpseudocode proses hitung nilai kata(nilai key), metode pembagian sisa, metode double hashing, dan pencarian dijelaskan dengan pseudocode berikut ini : a. Pseudocode Hitung nilai kata(nilai key) 1 2 3 4 5 6
kata = tege(Contoh Kata) kata.tocharArray(); NilaiKata = 0 for i = 0 to panjang array nilaiKata do NilaiKata = (NilaiKata * 128 + kata[i]) % panjang array end for Pseudocode 3.1
Pada Pseudocode 3.1diawali dengan variabel kata yang memiliki nilai tege, terlebih dahulu Baris ke 1 sampai ke 3setiap karakter kata tege dikonversi berdasarkan kode ASCII, kemudian dihitung dan dimasukan ke dalam array nilaiKata. Baris ke – 4 dilakukan perulangan berdasarkan panjang array dari nilaiKata.
Baris ke – 5 dilakukan
perhitungan setiap nilai katakter kata yang terdapat pada index array nilaiKata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
56
b. Pseudocode Metode Pembagian Sisa String atau Division – Remainder String Method 1 2 3 4 5 6 7 9 8 9 10 11
kata = tege(Contoh kata) kata.tocharArray(); NilaiKata = 0 for i = 0 to panjang array nilaiKata do NilaiKata = (NilaiKata * 128 + kata[i]) % panjang array end for nilaiKey = NilaiKata ukuranTabel = 10 (Contoh ukuran table hash = 10) iTabel [] hasilBagi = 0 hasilBagi = nilaiKey Mod ukuranTabel iTabel [hasilBagi] = kata Pseudocode 3.2
Pada Pseudocode 3.2 baris ke – 1 sampai baris ke – 6 (lihat Pseudocode 3.1) di awali dengan proses Hitung nilai kata. Metode Pembagian Sisa String terdapat Baris ke – 9
sampai baris ke – 10 dilakukan proses
Modulu untuk mendapatkan nilai hasilBagi. Sehingga nilai variabel kata dapat di masukan ke dalam array iTabel dan index pada array iTabel untuk nilai variabel kata tersebut didapatkan dari nilai hasilBagi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
57
c. Pseudocode Metode Double Hashing 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
kata = ijuk (Contoh kata) kata.tocharArray(); NilaiKata = 0 for i = 0 to panjang array nilaiKata do NilaiKata = (NilaiKata * 128 + kata[i]) % panjang array end for nilaiKey = NilaiKata ukuranTabel = 10 M =7 iTabel [] hasilBagi = 0 iJarak = 0 hasilBagi = nilaiKeyMod ukuranTabel iJarak = M - (nilaiKey Mod M) while(index[hasilBagi] != null) hasilBagi = hasilBagi + iJarak hasilBagi = hasilBagi % ukuranTabel end while iTabel [hasilBagi] = kata Pseudocode 3.3
Pada Pseudocode 3.3 baris ke – 1 sampai baris ke – 6 (lihat Pseudocode 3.1) di awali dengan proses Hitung nilai kata. Baris ke – 9 nilai M digunakan untuk proses mendapatkan jarak lompatan(iJarak) dan nilai M tersebut diambil sembarang dengan syarat nilai M harus bilangan prima dan nilainya harus lebih kecil dari panjang penyimpanan index. Baris ke – 13
dilakukan proses Modulu untuk mendapatkan nilai
hasilBagi. Sehingga nilai variabel kata dapat dimasukan ke dalam array iTabel dan index pada array iTabel untuk nilai variabel kata tersebut didapatkan dari nilai hasilBagi. Baris ke – 14 dilakukan proses fungsi hash kedua untuk mendapatkan nilai iJarak. Proses ke – 15 sampai ke –
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
58
17 adalah proses Double Hashing yang dilakukan saat nilai dari index array iTabel tidak sama dengan null atau index tersebut sudah terisi. d. Pseudocode Proses Pencarian kata 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Read iKataInput iKataInput.tocharArray(); iJumlah = 0 for i = 0 to panjang array nilaiKata do iJumlah = (iJumlah * 128 + iKataInput[i]) % panjang array end for nilaiKey = iJumlah ukuranTabel = 10 M =7 iTabel [] iJarak = 0 hasilBagi = nilaiKeyMod ukuranTabel iJarak = M - (nilaiKey Mod M) while(index[hasilBagi] != null) if(index[hasilBagi].key = iKataInput) Return Index[hasilBagi].value hasilBagi = hasilBagi + iJarak hasilBagi = hasilBagi % ukuranTabel end while Pseudocode 3.4
Pada Pseudocode 3.4 baris ke – 2 sampai baris ke – 6 di awali dengan proses Hitung nilai kata. Baris ke – 11, dari nilai hasilBagi akan didapatkan index pada iTabel. Baris ke – 14 terjadi proses membandingkan isi(key) dari nilai array iTable yang memiliki index dari hasilBagi apakah sama dengan iKataInput. Jika sama nilai value akan dikembalikan. Jika tidak, akan dilakukan proses baris ke – 16 dan 17 untuk mendapatkan hasilBagi untuk index dari nilai array iTable yang lain kemudian dijalankan kembali ke proses baris ke – 15.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
59
3.4 Diagram Alir Diagram alir merupakan bagan – bagan yang mengambarkan aliran program Berikut adalah diagram Alir Penyusunan Kamus Bahasa Dayak Indonesia: Mulai
Baca File
Hitung Nilai Kata (nilai key)
Hasil Jumlah Nilai Kata(nilai key)
Ukuran Tabel = N
Fungsi Hash Index = key mod N
Data Pada Tabel Hash Kosong ?
Tidak
Fungsi Hash2 Hash2 = M – (key mod M) Index = key mod N Index = (Index+ Hash2) mod N
Ya Simpan key dan value
Selesai
Gambar 3.3 Diagram Alir Penyusunan Kamus Bahasa Dayak Ngaju – Indonesia
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Mulai
Input Kata
Hitung Nilai Kata Input
Jumlah Nilai Kata Input
Ukuran Tabel = N
Pencarian ke - 1 Index = Nilai Kata Input mod N
Tidak
Data pada Index = Kata Input
Tidak Pencarian ke – 2 Hash2= M – (key mod M) Index = key mod N Index = (Index+ Hash ke – dua) mod N
Ya
Index Tabel = null Output = value Ya
Selesai
Kata tidak ditemukan
Gambar 3.4 Diagram Alir Pencarian Panadan Kata Pada Kamus Bahasa Dayak Ngaju – Indonesia
60
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
61
Penjelasan Diagram Alir Penjelasan diagram alir ini digunakan untuk menjelaskan proses yang terjadi pada Diagram Alir Penyusunan Kamus Bahasa Dayak Ngaju – Indonesia dan Diagram Alir Pencarian Padanana Kata Pada Kamus Bahasa Dayak Ngaju – Indonesia. Penjelasan tentang Diagram Alir di atas dapat dilihat pada lampiran I.
3.5 Arsitektur Aplikasi Aplikasi ini akan dibuat menjadi 2 aplikasi berbeda, Untuk User(Pengguna Biasa) dan admin untuk melakukan riset. Aplikasi untuk user akan ada proses penyusunan kamus, pencarian padanan kata dan pembaharuan database kamus. Aplikasi untuk admin akan ada proses penyusunan kamus, pencarian padanan
kata,
menganti
modulu
pembagi
penyusunan
kamus
dan
pembaharuan database kamus. Pada aplikasi untuk admin akan menampilkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan, yang digunakan untuk keperluan riset Pada aplikasi ini metode hash proses penyusunan kamus dan pencarian padanan kata dilakukan di dalam aplikasi. Pada awal program data kata serta padananya diambil dari database yang berada didalam aplikasi. Untuk proses update isi database kamus userdan admin akan terhubung dengan server melalui jaringan internet. Aplikasi tidak terhubung langsung dengan internet(offline) kecuali untuk proses pengupdatetan database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
62
Internet
user Aplikasi
WebServer
Gambar 3.5 Arstektur Aplikasi Kamus Bahasa Dayak Ngaju - Indonesia
3.6 Use Case Diagram Use Case diagram merupakan pemodelan untuk behavior aplikasi yang akan dibuat. Use Case mendekripsikan sebuah interaksi satu atau lebih aktor dengan aplikasi yang akan dibuat. Secara umum, Use Case dibuat untuk mengetahui fungsi apa saja yang ada di dalam sebuah aplikasi dan siapa saja yang berhak menggunakan fungsi – fungsi dalam aplikasi tersebut.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
63
Sistem Mencari Arti Kata Mengupdate Kamus Menganti Modulu
User
Admin
Menganti Konstanta
Tampil Tabrakan
Gambar 3.6 Diagram Use Case Kamus Bahasa Dayak Ngaju – Indonesia
Pada diagram di atas terdapat 2 aktor yaitu user dan Admin. 2 use case yang dikerjakan oleh user dan 3 use case dikerjakan oleh Admin. Nama Use Case Mencari Arti Kata
Deskripsi Use Case Use
Aktor
Case
ini
mengambarkan
user
melakukan
User, Admin
pencarian
padanan kata Bahasa Dayak
Ngaju
Indonesia
dan
– begitu
juga sebaliknya. Mengupdate database
Use
Case
ini
kamus
mengambarkan
user
User, Admin
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
melakukan
64
update
database
aplikasi
kamus. Menganti Modulu
Use
Case
ini
mengambarkan
admin
mengubah
Modulu.
Modulu
tersebut
digunakan
Admin
dalam
penyusunan Kamus. Menganti Konstanta
Use
Case
ini
mengambarkan
admin
mengubah
konstanta.
Modulu
tersebut
digunakan
dalam
penyusunan Kamus. Tampil Tabrakan
UseCase
ini
mengambarkan
admin
menampilkan
jumlah
tabrakan jumlah mengalami dalam
kata kata
dan yang
tabrakan penyusunan
kamus. Tabel 3.3 Penjelasan Use Case
Skenario Use Case Skenario Use Case digunakan untuk mengembangkan kejadian yang terjadi dalam aplikasi dan yang telah teridentifikasi dari diagram
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
65
use case Kamus Bahasa Dayak Ngaju – Indonesia pada gambar 3.6. Skenario use case dari diagram use case diatas, dapat dilihat pada lampiran II.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
66
3.7 Diagram Aktivitas Berikut adalah diagram aktivitas dari aplikasi Kamus Dayak Ngaju – Indonesia Menggunakan Metode Hash : a. Diagram Aktifitas : Mencari Arti Kata User/Admin
Sistem
Mengklik Menu “Dayak Ngaju – Indonesia“ Menampilkan Halaman Pencarian Padanan Kata Memasukan kata Dayak Ngaju atau Indonesia
Melakukan Klik pada button “Cari” Memproses kata yang di input dan melakukan pencarian pada database
Menampilkan hasil pencarian kepada pengguna
Gambar 3.7 Diagram Aktifitas Mencari arti kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
b. Diagram Aktifitas : Mengupdate Kamus User / Admin
Sistem
Server
Mengklik Menu “Download File“ Mengirimkan inputan ke server Menerima inputan dan mengirimkan file database ke aplikasi Melakukan download file database kamus dari server
Menganti file database yang lama dengan yang baru
Gambar 3.8 Diagram Aktifitas Mengupdate Database Kamus
67
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
c. Diagram Aktifitas : Menganti Modulu Admin
Sistem
Mengklik Menu Menampilkan Halaman Setting Menganti Modulu Menerima Input dan menganti modulu
Gambar 3.9 Diagram Aktifitas Menganti Modulu
68
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
d. Diagram Aktifitas : Menganti Konstanta Admin
Sistem
Mengklik Menu Menampilkan Halaman Setting Menganti Konstanta Menerima Input dan menganti Konstanta
Gambar 3.10 Diagram Aktifitas Menganti Konstanta
69
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
e. Diagram Aktifitas : Tampil Tabrakan Admin
Sistem
Mengklik Button“Hasil Tabrakan” Menerima dan memproses Input
Menampilkan Jumlah tabrakan dan jumlah kata yang mengalami tabrakan
Gambar 3.11 Diagram Aktifitas Tampil Tabrakan
70
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
71
3.8 Diagram Sequence Berikut adalah diagram sequence dari aplikasi Kamus Dayak Ngaju – Indonesia Menggunakan Metode Hash : a. Diagram Sequence Use Case : Mencari Arti Kata Form Kamus
Input kata, klik button cari
Kata
Kamus
Table cari sama dengan kata input
Cari
Kembalikan nilai kata Tampil kata dan arti
Gambar 3.12 Sequence Diagram Mencari Arti Kata Dayak - Indonesia Alternatif 1 Form Kamus
Kata
Kamus
Klik ganti Bahasa Input kata, klik button cari Cari
Tampil kata dan arti
Table cari sama dengan kata input
Kembalikan nilai kata
Gambar 3.13 Sequence Diagram Mencari Arti Kata Indonesia - Dayak
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
72
Model Analisis
Form Kamus
Kamus
Kelas Analisis No Nama Kelas 1 Form Kamus
Kata
Dekripsi Untuk menampilkan form pencarian padanan kata Kamus Entity Untuk mengatur proses Pembentukan kamus dan pencarian kata Kata Entity Untuk menyimpan kata dan padanan kata. Tabel 3.11Kelas Analisis Use Case Mencari Kata
2
3
Tipe Interface
b. Diagram Sequence Use Case : Mengupdate Database Kamus Server
Form Update
Klik button Download File
Koneksi ke server
Mengirimkan file
mengantiFile
Gambar 3.14 Sequence Diagram Mengupdate Database Kamus
Model Analisis
Form Utama
Server
Internet
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
73
Kelas Analisis No 1
2
Nama Kelas Form Update
Tipe Interface
Dekripsi Untuk menampilkan form update database, proses download file database dari server, proses menganti file database kamus
Server Entity Tabel 3.15Kelas Analisis Use Case Mengupdate Database Kamus
c. Diagram Sequence Use Case: Menganti Modulu FormGantiModulu
input modulu
Gambar 3.15 Sequence Diagram Ganti Modulu Model Analisis
Form GantiModulu
Kelas Analisis No 1
Nama Kelas Tipe FormGantiModulu Interface
Dekripsi Untuk menampilkan form ganti Modulu dan Konstanta untuk admin. Tabel 3.16Kelas Analisis Use Case Ganti Modulu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
74
d. Diagram Sequence Use Case: Menganti Konstanta FormGantiModulu
input Konstanta
Gambar 3.16 Sequence Diagram Ganti Konstanta Model Analisis
Form GantiModulu
Kelas Analisis No 1
Nama Kelas Tipe FormGantiModulu Interface
Dekripsi Untuk menampilkan form ganti Modulu dan Konstanta untuk admin. Tabel 3.17Kelas Analisis Use Case Ganti Konstanta
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
75
e. Diagram Sequence Use Case: Tampil Tabrakan Form Kamus
klik button Jumlah Tabrakan
Kamus
Membentuk Kamus Dayak Kembalikan tabrakan
Tampil tabrakan
Gambar 3.17 Sequence Diagram Tampil Tabrakan Kata Bahasa Dayak
Alternatif 1 Form Kamus
Kamus
Klik ganti Bahasa
klik button Jumlah Tabrakan
Membentuk Kamus Indo kembalikan tabrakan
Tampil Tabrakan
Gambar 3.18 Sequence Diagram Tampil Tabrakan Kata Bahasa Indonesia
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
76
Model Analisis
Form Kamus
Kamus
Kelas Analisis No 1
Nama Kelas Form Kamus
Tipe Interface
Dekripsi Untuk menampilkan pesan Jumlah Tabrakan Kata yang mengalami tabrakan dan menampilkan pesan jumlah tabrakan kata 2 Kamus Entity Untuk mengatur proses Perhitungan Jumlah Kata yang mengalami tabrakan dan jumlah tabrakan kata Tabel 3.18Kelas Analisis Use Case Tampil Tabrakan
3.8 Diagram Kelas a. Diagram Kelas User FormKamus
FormUtama
Kamus
+ attribut
+ attribut
+ method
+ method
FormUpdate
Kata
+ attribut
+ attribut
+ attribut
+ method
+ method
+ method
FormTentang + attribut + method
Gambar 3.19 Diagram Kelas User
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
77
b. Diagram Kelas Admin FormKamus
FormUtama + attribut + method
Kamus
+ attribut
+ attribut
+ method
+ method
FormUpdate
Kata
+ attribut
+ attribut
+ method
+ method
FormGantiModulu + attribut + method
Gambar 3.20 Diagram Kelas Admin
3.9 Model Desain Antar Muka Aplikasi Model desain antarmuka adalah salah satu bagian penting dalam pengembangan aplikasi ini. Karena saat aplikasi ini digunakan yang pertama kali yang akan dilihat oleh pengguna adalah tampilan antar muka aplikasi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
a. Desain Antar Muka Kamus Dayak Ngaju Admin 1. Perancangan Antar Muka Menu Utama Desain : (1)HOME - Kamus Dayak Indonesia
(2)Kamus (3)Update
(5) Logo
Gambar 3.21 Desain Tampilan Menu Utama
Fungsi : -
Untuk menampilkan menu aplikasi yang akan dipilih oleh user.
Komponen Gambar : (1) Judul Halaman (2) Tombol Kamus (3) Tombol Update (4) Logo
78
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
79
2. Perancangan Antar Muka Menu Kamus Desain : Home (1)Dayak
(2)
(3)Indo
Kata : (4)Masukan kata di sini
(5) Cari
Arti : (6)
(7)Tampil Hasil Tabrakan
Gambar 3.19 Desain Tampilan Kamus
Fungsi : -
Untuk memasukan kata berbahasa Dayak Ngaju maupun kata berbahasa Indonesia.
-
Untuk melakukan pencarian dari kata yang dimasukan Komponen Gambar : (1) Text Dayak (2) Tombol Ganti (3) Text Indo (4) Kolom Input Kata (5) Tombol Cari
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
80
(6) Kolom Hasil Pencarian (7) Tombol Tampil Tabrakan
3. Perancangan Antar Muka Menu Update Desain : Home
(1)Download File
Gambar 3.20 Desain Tampilan Update
Fungsi : -
Untuk mengupdate file database kamus, baik file untuk database dayakindo.txt atau indodayak.txt.
-
Melakukan download file database dari webserver.
Komponen Gambar : (1) Tombol Download File
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
81
4. Perancangan Antar Muka Menu Ganti Modulu Desain : (1) Menganti Konstanta
(2) Menganti Modulu
Gambar 3.21 Desain Tampilan Ganti Modulu
Fungsi : -
Untuk tampilan menganti modulu dan konstanta dalam proses penyusunan kamus Komponen Gambar : (1) Tombol Menganti Konstanta (2) Tombol Menganti Modulu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
b. Model Desain Antar Muka User 1.Perancangan Antar Muka Menu Utama Desain : (1)HOME - Kamus Dayak Indonesia
(2)Kamus (3)Update (4)Tentang (5) Logo
Gambar 3.22 Desain Tampilan Menu Utama
Fungsi : -
Untuk menampilkan menu aplikasi yang akan dipilih oleh user. Komponen Gambar : (1) Judul Halaman (2) Tombol Kamus (3) Tombol Update (4) Tombol Tentang (5) Logo
82
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
83
2. Perancangan Antar Muka Menu Kamus Desain : Home (1)Dayak
(2)
(3)Indo
Kata : (4)Masukan kata di sini
(5) Cari
Arti : (6)
Gambar 3.23 Desain Tampilan Kamus
Fungsi : -
Untuk memasukan kata berbahasa Dayak Ngaju maupun kata berbahasa Indonesia.
-
Untuk melakukan pencarian dari kata yang dimasukan Komponen Gambar : (1) Text Dayak (2) Tombol Ganti (3) Text Indo (4) Kolom Input Kata (5) Tombol Cari
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
84
(6) Kolom Hasil Pencarian
3. Perancangan Antar Muka Menu Update Desain : Home
(1)Download File
Gambar 3.24 Desain Tampilan Update
Fungsi : -
Untuk mengupdate file database kamus, baik file untuk database dayakindo.txt atau indodayak.txt.
-
Melakukan download file database dari webserver.
Komponen Gambar : (1) Tombol Download File
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4. Perancangan Antar Muka Menu Tentang Desain : Home (1) Logo
(2)Aplikasi Kamus Bahasa Dayak Ngaju - Indonesia (3)Logo Sanata Dharma (4)Sekilas Tentang Software
(5)Informasi Label
(6)Kontak dan Email
Gambar 3.25 Desain Tampilan Tentang
Fungsi : -
Sebagai tampilan informasi Kamus Bahasa Dayak Ngaju - Indonesia Komponen Gambar : (1) Logo Kamus (2) Text Judul (3) Logo Universitas Sanata Dharma (4) Text penjelasan tentang software (5) Text Informasi Label Kata
85
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV IMPLEMENTASI DAN PENGUJIAN Pada Tahap ini pengembangan rancangan menjadi kode program. Pada bagian awal akan dijelaskan spesifikasi perangkat keras dan lunak. Bagian utama adalah mengimplementasikan rancangan menjadi kode program yang ditulis dengan menggunakan kode program berbasis bahasa pemrograman java. Di lanjutkan dengan melakukan riset jumlah kata yang mengalami tabrakan saat penyusunan ke dalam kamus dan jumlah keseluruhan tabrakan kata. Disamping itu juga tampilan aplikasi akan diimplementasikan pada Smartphone Samsung galaxy Y Duos s6102. 4.1 Spesifikasi Perangkat Keras dan Lunak 4.1.1
Spesifikasi Perangkat Keras Dalam menerapkan proses implementasi aplikasi ini membutuhkan beberapa perangkat keras sebagai berikut : 1. Smartphone yang menggunakan Sistem Operasi Android Smarphone ini digunakan untuk menjalakan aplikasi yang telah di kembangkan. Smartphone yang digunakan adalah Smartphone Samsung galaxy Y Duoss6102 dengan spesifikasi sebagai berikut :
Sistem Operasi : Android 2.3 (Gingerbread)
CPU : 832 Mhz
Memory : 290 MB
Dimensi Layar : 3.14 Inci 86
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
87
Konektivitas : Dual SIM, Bluetooth V 3.0, 3G Network
2. Bluetooth Fungsi dari Bluetooth adalah untuk menghubungkan antara komputer dengan Smartphone. 3. Satu unit komputer dengan spesifikasi sebagai berikut :
4.1.2
Prosesor : Dual Core 2.20 GHz
Memori : 1 Gb
Ruang Penyimpanan : 80 Gb
Spesifikasi Perangkat Lunak Untuk membuat aplikasi dari rancangan yang telah dibuat, dibutuhkan beberapa perangkat lunak sebagai berikut : 1. Java SDK 2. Sistem Operasi 3. Dropbox 4. IDE Eclipse Juno 4.0 5. Android SDK 6. Android Development Tools(ADT)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
88
4.2 Implementasi Desain Antar Muka Berdasarkan perancangan, akan diimplementasi tampilan untuk user dan admin. Pembuatan tampilan antar muka pada sistem Android diimplementasikan dalam bentuk XML file. Implementasi desain antar muka ini akan di jelaskan pada lampiran III.
4.3 Impementasi Diagram Kelas a. Implementasi Diagram Kelas User Diagram Kelas User : No.
1
2
3
Kelas
FormUtama.java
FormKamus.java
FormUpdate.java
Atribut basepath : String extStorageDirectory : File kamusBtn : ImageButton tentangBtn : ImageButton updateBtn : ImageButton
Method copyFile(InputStream, OutputStream) : void copyFileToExternalSD() void inisialisasi() : void onClick(View) : void onCreate(Bundle) : void
Tipe
btnCari : Button btnGanti : Button cariKata : Kata d : Kata directory : File editText : EditText sdCard : File tabelHashDayak : Kamus tabelHashIndo : Kamus token : StringTokenizer txtDayak : TextView txtIndo : TextView txtV : TextView txtVInput : TextView extStorageDirectory : File basepath : String progressBar : ProgressDialog progressBarStatus : int progressBarHandler : Handler fileSize : long btnUpdate : button
Inisialisasi() : void membentukKamusDayak(int , int) : void membentukKamusIndo(int, int) : void onClick(View) : void onCreate(Budle) : void
:
onCreate(Bundle) : void Download() : int BukaKoneksi(String) : InputStream DownloadFIle(String,String ) : int copyFile(InputStream, OutputStream) : void
Interface
Interface
Interface
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4
FormAbout.java
5
Kata.java
6
onCreate(Budle) : void kunci : String nilai : String tableHash : Kata[] modPembagi : int
Kamus.java
89
Interface
kata(String, String)
Entity
Kamus(int,int) : Konstruktor fungsiHash(String) : int getIncrement(String) : int masukanKata(Kata) : void Cari(String) : Kata
Entity
Tabel 4.1 Kelas, Atribut, Method dan Tipe Tipe
Interface
kelas
FormUtama.java,
FormKamus.java,
FormUpdate.java, dan FormAbout.java merupakan tampilan antarmuka aplikasi untuk user. Selain sebagai tampilan kelas FormUtama.javauntuk melakukan proses copy file dari resource android ke dalam penyimpanan eksternal di smartphone. KelasFormKamus.java selain sebagai tampilan akan digunakan sebagai pembentuk kamus dan pencarian kata dan arti kata. Pada kelas FormUpdate.java selain sebagai tampilan juga akan digunakan untuk menjalankan proses update database. Kelas – kelas interface di gambarkan dengan table sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
90
FormUtama basepath : String extStorageDirectory : File kamusBtn : ImageButton tentangBtn : ImageButton updateBtn : ImageButton copyFile(InputStream, OutputStream) : void copyFileToExternalSD() : void inisialisasi() : void onClick(View) : void onCreate(Bundle) : void
FormUpdate extStorageDirectory : File basepath : String progressBar : ProgressDialog progressBarStatus : int progressBarHandler : Handler fileSize : long btnUpdate : button onCreate(Bundle) : void Download() : int BukaKoneksi(String) : InputStream DownloadFIle(String,String) : int copyFile(InputStream, OutputStream) : void
FormKamus btnCari : Button btnGanti : Button cariKata : Kata d : Kata directory : File editText : EditText sdCard : File tabelHashDayak : Kamus tabelHashIndo : Kamus token : StringTokenizer txtDayak : TextView txtIndo : TextView txtV : TextView txtVInput : TextView Inisialisasi() : void membentukKamusDayak(int,int) : void membentukKamusIndo(int,int) : void onClick(View) : void onCreate(Budle) : void
FormAbout onCreate(Budle) : void
Untuk kelasFormUtama.java, FormKamus.java dan FormUpdate.java akan dijabarkan sebagai berikut : 1. FormUtama.java Selain sebagai tampilan FormUtama.java akan melakukan copy file database dari aplikasi recourse ke dalam penyimpanan eksternal di smartphone. Fungsi : -
Sebagai tampilan menu utama menu
-
Melakukan copy file database dari resourse ke penyimpanan ekternal.
Proses Algoritma :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
91
1 membuat tempat penyimapan file 2 mendapatkan file dari resource 3 for 3.1 melakukan proses copy file 3.2 menutup proses copy file
Source Code Copy File File extStorageDirectory = Environment.getExternalStorageDirectory(); String basepath = extStorageDirectory + "/DatabaseKamus/";
Langkah 1
AssetManager assetManager = getResources().getAssets(); String[] files = null; Langkah 2 try { files = assetManager.list("databasekamus"); } catch (Exception e) { Log.e("read Data ERROR 1", e.toString()); e.printStackTrace(); Toast.makeText(getBaseContext(), "Proses Membaca Data Error", Toast.LENGTH_SHORT).show(); } for (int i = 0; i < files.length; i++) { InputStream in = null; OutputStream out = null; try { in = assetManager.open("databasekamus/" + files[i]); Langkah out = new FileOutputStream(basepath + files[i]); 3.1 Langkah 3 copyFile(in, out); in.close(); in = null; Langkah out.flush(); 3.2 out.close(); out = null; }
2. FormKamus.java Dalam pembentukan kamus FormKamus.java memerlukan kelas entity Kamus.java dan Kata.java. Kelas Kamus.java digunakan sebagai pembentuk objek tabelHashDayak dan tableHashIndo yang akan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
92
digunakan pada pembentukan kamus dan pencarian kata. Kelas Kata.java akan digunakan sebagai pembentuk objek d dan carikata. Dan obyek d digunakan untuk pembentukan kamus danobyek carikata akan digunakan pada pencarian kata.
Fungsi : -
Sebagai tampilan menu pencarian kata
-
Membentuk kamus Dayak Ngaju – Indonesia
-
Membentuk kamus Indonesia – Dayak Ngaju
-
Melakukan Pencarian Kata
Proses Algoritma : -
Algoritma Membentuk Kamus 1 membentuk obyek tabelHash, d 2 membaca data dari database 3 if data !=null 3.1 selama data bisa dibaca membaca data perbaris membagi data menjadi kata dan arti kata data kata = kata data arti kata = arti kata d = d (data kata, data arti kata) tabelHashDayak.Masukan kata (d) 4 tutup koneksi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
93
Proses pembentukan kamus terbagi menjadi 2 bagian yaitu Membentuk kamus Dayak Ngaju – Indonesia dan kamus Indonesia – Dayak Ngaju. 2 proses pembentukan kamus diatas menggunakan algoritma yang sama tetapi yang membedakan adalah obyek yang di bentuk dari kelas Kamus.java dan bersar modulu yang digunakan.
-
Algoritma Pencarian Kata 1 mendapatkan kata input 2 carikata = tabelHashDayak.cari(kata input) 3 if carikata= = null 3.1 pesan “kata yang dicari tidak ada” 4 else 1.1 pesan carikata.kata 1.2 pesan carikata.artiKata
Pencarian kata pada kelas FormKamus.java akan menggunakan method cari(String) yang terdapat pada kelas Kamus.java. method cari(String) pada kelas kamus.java akan melakukan perhitungan dan memberikan nilai balik berupa data indeks, sehingga dapat di ketahui dimana kata dan arti kata yang dicari ditempatkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
94
Source Code Membentuk Obyek Kata d; Kamus tabelHashDayak; Kamus tabelHashIndo;
Langkah 1
Source Code Membentuk Kamus tabelHashDayak = new Kamus(1000,1291); File file = new File(directory, "dayakindo.txt"); Langkah 2 FileInputStream fIn = new FileInputStream(file); if (fIn != null) { InputStreamReader isr = new InputStreamReader(fIn); BufferedReader bR = new BufferedReader(isr); String dataBase; String key; String value; int car; while ((car = bR.read()) != -1) { dataBase = (char) car + bR.readLine(); token = new StringTokenizer(dataBase, "="); key = token.nextToken(); Langkah value = token.nextToken(); 3.1 d = new Kata(key, value); tabelHashDayak.masukanKata(d); } Langkah 4 bR.close(); }
Langkah 3
Source Code Pencarian Kata kataInput = editText.getText().toString().trim(); Langkah 1 dan 2 cariKata = tabelHashDayak.Cari(kataInput); if (cariKata == null) { Toast.makeText(this, "Kata yang dicari tidak ada", Langkah 3.1 Toast.LENGTH_SHORT).show(); } else { txtVInput.setText(kataInput + " "); Langkah4.1 dan 4.2 txtV.setText(cariKata.nilai); }
Langkah 3 Langkah 4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
95
3. FormUpdate.java Dalam melakukan update database kamus pada FormUpdate.java akan menggunakan thread. Fungsi : -
Sebagai tampilan menu download file database
-
Mengupdate database kamus
Proses Algoritma : -
Algoritma Koneksi Internet 1 membentuk koneksi internet 2 if koneksi internet bukan koneksi http 3.1 pesan “bukan koneksi http” 3 else 3.1 melakukan koneksi ke internet 3.1.1 Jika koneksi berhasil 3.1.1.1 data diterima
Proses update database menggunakan kelas InputStream agar nilai balik dari data yang di kirimkan dari jaringan internet dapat dimasukan ke dalam stream. Untuk koneksi ke jaringan internet menggunakan kelas URL, URLConnection dan HttpURLConnection yang telah disediakan oleh androidsdk sendiri.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
96
Algoritma Menganti File 1 membuat tempat penyimapan file 2 membuat nama file 3 menerima file dari internet 4 melakukan proses ganti file 5 menutup proses ganti file
Pada algoritma menganti file akan menggunakan kelas InputStream dan OutputStream. Untuk lokasi file akan menggunakan kelas File untuk dimana lokasi file akan di tempatkan Source Code Koneksi Internet URL url = new URL(urlString); Langkah 1 URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) { Langkah thrownew IOException("Not an HTTP connection"); 2 } else { try { HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); Langkah httpConn.setRequestMethod("GET"); 3.1 httpConn.connect(); response = httpConn.getResponseCode(); Langkah if (response == HttpURLConnection.HTTP_OK) { 3 Langkah in = httpConn.getInputStream(); Langkah 3.1.1 } 3.1.1.1 } catch (Exception ex) { Log.d("Networking", ex.getLocalizedMessage()); thrownew IOException("Error connecting"); } }
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
97
Source Code Ganti File File extStorageDirectory = Environment.getExternalStorageDirectory(); String basepath = extStorageDirectory + "/DatabaseKamus/"; String nama = namaFile; Langkah 2 try { Langkah 3 in = BukaKoneksi(URL); out = new FileOutputStream(basepath + nama); copyFile(in, out); Langkah 4 in.close(); in = null; out.flush(); Langkah 5 out.close(); out = null; }
Langkah 1
Kelas tipe entitiy Kata.java akan digunakan sebagai tipe data berbentuk Array/larik untuk membentuk obyek tablehashpada kelas entity Kamus.java. obyek tablehash tersebut akan digunakan untuk menyimpan data kata dan arti kata didalam memory. Pada kelas kamus.java akan terdapat beberapa method antara lain fungsiHash(String), getIncrement(String), masukanKata(Kata), dan cari(String). Untuk fungsiHash(String) akan dilakukan proses perhitungan nilai kata dan
perhitungan index table
hash(metode pembagian sisa). Method getIncrement(String) akan melakukan perhitungan jalan lompatan pencarian indeks table hash jika terjadi kolisi antar kata. Pada method masukanKata(Kata) akan dilakukan double hashing jika terjadinya kolisi antar kata. Untuk method cari(String) akan dilakukan proses perhitungan indeks kata untuk mendapatkan indeks table hash yang dicari.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
98
4. Kamus.java Fungsi -
Melakukan proses perhitungan nilai kata
-
Melakukan perhitungan jarak lompatan
-
Melakukan metode hash
-
Melakukan proses pencarian indeks
Proses Algoritma -
Algoritma Hitung nilai kata 1 kata[] data = kata.toCharArray() 2 jumAscii = 0 3 for i = 0 to panjang array nilaiKata do 3.1 NilaiKata = (NilaiKata * 128 + kata[i]) mod panjang array 4end for 5 return jumAscii
Untuk kata akan dilakukan konversi menjadi karakter char berdasarkan kode ASCII. Proses konversi dibantu dengan kelas yang sudah di sediakan oleh java yaitu toCharArray().
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
99
Agortima perhitungan jarak lompatan 1 kata[] data = kata.toCharArray() 2 nilai = 0 3 for i = 0 to panjang array nilaiKata do 3.1 NilaiKata = (NilaiKata * 128 + kata[i]) mod panjang array 4end for 5n=7 6 return nilai = n – (nilai % n) Untuk kata akan perhitungan dengan melakukan konversi menjadi karakter char berdasarkan kode ASCII. Untuk nilai n di pilih sembarang dengan syarat n harus bilangan prima dan nilainya harus lebih kecil dari nilai panjang arraytable hash.
-
Algortima metode hash 1 mendapatkan nilai 2 mendapatkan jarak lompatan 3 if(table[index] != null) 4
while (table[index] != null)
5
index = index + jarak
6
index = index % mod
7
return tabel hash[index] = kata
8 else 9
-
return tabel hash[index] = kata
Agortima pencarian indeks 1 mendapatkan kata input 2 mendapatkan index
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
100
3 mendapatkan jarak lompatan 4
while (table[index] != null)
5
if(table[index].data=katainput )
6
return tabel hash[index]
7
index = index + jarak
8
index = index % mod
9
return null
Source Code Hitung Kata
Langkah 3 dan 4
char[] charIndex = Kunci.toCharArray(); Langkah 1 dan 2 int nilaiAscii = 0; for (int i = 0; i < charIndex.length; i++) { nilaiAscii = (nilaiAscii* 128 + charIndex[i]) % UkuranTabel; } return nilaiAscii % modPembagi; Langkah 5
Langkah 3.1
Source Code Perhitungan Jarak Lompatan
Langkah 3 dan 4
char[] charIndex = Kunci.toCharArray(); Langkah 1 dan 2 int hasil = 0; for (int i = 0; i < charIndex.length; i++) { nilaiAscii = (nilaiAscii* 128 + charIndex[i]) % UkuranTabel;} returnkonstanta–(hasil % konstanta); Langkah 6
Source Code Metode Hash String kunci = inputKunci.kunci; Langkah 1 int index = fungsiHash(kunci, modPembagi); String doubleHash = inputKunci.kunci; Langkah 2 int jarakLompatan = getIncrement(doubleHash); if (tabelHash[index] != null) { while (tabelHash[index] != null) { index += jarakLompatan; Langkah index %= modPembagi; 3 sampai 8 } tabelHash[index]=inputKunci; } else { tabelHash[index] = inputKunci; Langkah 9 }
Langkah 3.1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
101
Source Code Pencarian Indeks int index = fungsiHash(kataInput, modPembagi); Langkah 1 sampai 3 int jarakLompatan = getIncrement(kataInput); Langkah 4 while (tabelHash[index] != null) { if (tabelHash[index].kunci.equals(kataInput)) { Langkah 5 returntabelHash[index]; Langkah 6 } index += jarakLompatan; Langkah 7 dan 8 index %= modPembagi; } returnnull; Langkah 9
5. Kata.java Fungsi : -
Digunakan untuk membentuk array obyek pada kelas kamus.java.
-
Digunakan untuk membentuk obyek untuk membentuk kamus pada kelas FormKamus.java
-
Digunakan untuk membentuk obyek pada pencarian kata dan arti kata pada kelas FormKamus.java
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
102
b. Implementasi Diagram Kelas Admin No.
Kelas
1
FormUtama.java
2
FormKamus.java
3
FormUpdate.java
4
Kata.java
5
GantiModulu.java
6
Kamus.java
Atribut kamusBtn : ImageButton updateBtn : ImageButton tentangBtn : ImageButton extStorageDirectory : File basepath : String
btnCari : Button btnHslHtg : Button buttonGanti : Button d : Kata cariKata : Kata directory : File editText : EditText inJumTab : String inJumTabIn : String jKataDayakTabrakan : int jKataIndoTabrakan : int jumTabKamusDayak : int jumTabKamusIndo : int kataInput : String sdCard : File tabelHashDayak : Kamus tabelHashIndo : Kamus textViewInput : TextView textView : TextView textDayak : TextView textIndo : TextView viewJumTab : TextView viewJumTabIn : TextView token : StringTokenizer konstanta : int modulu : int konstantaKamus : String ModuluKamus : String extStorageDirectory : File basepath : String progressBar : ProgressDialog progressBarStatus : int progressBarHandler : Handler fileSize : long btnUpdate : button kunci : String nilai : String
Method onCreate(Budle) : void copyFileToExternalSD() : void copyFile(InputStream, OutputStream) : void inisialisasi() : void onClick(View) : void onCreateOptionsMenu(M enu) : boolean onOptionsItemSelected(M enuItem) : boolean onCreate(Budle) : void onClick(view) : void setModulu() : void setInisialisasi() : void membentukKamusDayak() : void membentukKamusIndo() :void tampilJumlahTabrakan(int ,int) : void
Interface
Interface
onCreate(Bundle) : void Download() : int BukaKoneksi(String) : InputStream DownloadFIle(String,Stri ng) : int copyFile(InputStream, OutputStream) : void kata(String, String) onCreate(Budle) : void
tableHash : Kata[] modPembagi : int
Tipe
Kamus(int) : Konstruktor fungsiHash(String) : int
Interface
Entity Interface Entity
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
jumTabrakan : String[]
103
getIncrement(String, int) : int masukanKata(Kata, int) : int HitungTabrakanKata(Stri ng, int) : int Cari(String) : Kata
Tabel 4.2 Kelas, Atribut, Method dan Tipe
Tipe
Interface
kelas
FormUtama.java,
FormKamus.java,
FormUpdate.java, dan GantiModulu.java merupakan tampilan antarmuka aplikasi. Selain sebagai tampilan kelas FormUtama.javauntuk melakukan proses copy file dari resource android ke dalam penyimpanan eksternal di smartphone. KelasFormKamus.java selain sebagai tampilan akan digunakan sebagai pembentuk kamus, pencarian kata dan arti kata, proses mendapatkan jumlah tabrakan kata, proses mendapatkan jumlah kata yang mengalami tabrakan. Pada kelas FormUpdate.java selain sebagai tampilan juga akan digunakan
untuk
menjalankan
proses
update
database.
Kelas
GantiModulu.java sebagai tampilan reference ganti modulu yang akan di gunakan pada kelas FormKamus.java. Kelas – kelas interface di gambarkan dengan table sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
FormUtama basepath : String extStorageDirectory : File kamusBtn : ImageButton tentangBtn : ImageButton updateBtn : ImageButton copyFile(InputStream, OutputStream) : void copyFileToExternalSD() : void inisialisasi() : void onClick(View) : void onCreate(Bundle) : void
FormUpdate extStorageDirectory : File basepath : String progressBar : ProgressDialog progressBarStatus : int progressBarHandler : Handler fileSize : long btnUpdate : button onCreate(Bundle) : void Download() : int BukaKoneksi(String) : InputStream DownloadFIle(String,String) : int copyFile(InputStream, OutputStream) : void
104
FormKamus btnCari : Button btnGanti : Button cariKata : Kata d : Kata directory : File editText : EditText sdCard : File tabelHashDayak : Kamus tabelHashIndo : Kamus token : StringTokenizer txtDayak : TextView txtIndo : TextView txtV : TextView txtVInput : TextView copyFile(InputStream, OutputStream) : void copyFileToExternalSD() : void inisialisasi() : void onClick(View) : void onCreate(Bundle) : void
GantiModulu onCreate(Budle) : void
Untuk kelasFormUtama.java, FormKamus.java, FormUpdate.java
dan
GantiModulu.java akan dijabarkan sebagai berikut : 1. FormUtama.java Untuk kelas interface FormUtama.java admin fungsi, proses algortima, dan Source Code sama dengan yang di miliki oleh user. 2. FormKamus.java Dalam FormKamus.java admin fungsi tampilan menu, membentuk kamus dan pencarian kata, memiliki algoritma dan source yang sama pada FormKamus.java user. Sedikit perbedaan dengan FormKamus.java user pada FormKamus.java adminpada method membentukKamusDayak() dan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
105
membentukKamusIndo() akan dilakukan proses untuk mendapatkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan. Untuk mendapatkan jumlah tabrakan dan jumlah kata yang mengalami tabrakan pada method membentukKamusDayak() dan membentukKamusIndo()akan memanfaatkan
method
masukanKata(Kata,int)
dan
HitungTabrakanKata(String,int) pada kelas Kamus.java. sebelum dilakukan proses mendapatkan jumlah tabrakan kata dan jumlah
kata
yang
mengalami
tabrakan
pada
method
membentukKamusDayak() dan membentukKamusIndo() akan dibentuk 1 buah
obyek
dari
kelas
Kamus.java.
pada
method
membentukKamusDayak() akan dibentuk obyek tablehashDayak dan pada method membentukKamusIndo() akan dibentuk obyek tablehashIndo. Pada saat pembentukan kedua obyek ini akan diberikan nilai modulu yang akan digunakan pada Kamus.java. Fungsi : -
Sebagai tampilan menu pencarian kata
-
Membentuk kamus Dayak Ngaju – Indonesia
-
Membentuk kamus Indonesia – Dayak Ngaju
-
Melakukan Pencarian Kata
-
Mendapatkan jumlah tabrakan kata
-
Mendapatkan jumlah kata yang mengalami tabrakan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
-
106
Menampilkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan
Proses Algoritma : 1 membentuk obyek tabelHash, d 2 membaca data dari database 3 if data !=null 4 while data bisa dibaca membaca data perbaris membagi data menjadi kata dan arti kata data kata = kata data arti kata = arti kata d = d (data kata, data arti kata) TabrakanKata= TabrakanKata+ tabelHashDayak.Masukan kata (d) jumKataTabrakan=jumKataTabrakan.HitungTabrakanKata(data kata)
5endwhile 6 tutup koneksi 7 endif
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
107
Source Code tabelHashIndo = new Kamus(modulu); Langkah 1 try { File file = new File(directory, "indodayak.txt"); FileInputStream fIn = new FileInputStream(file); Langkah 2 InputStreamReader isr = new InputStreamReader(fIn); BufferedReader bR = new BufferedReader(isr); if (fIn Langkah 3 != null) { String database; String key; String value; int car; while ((car = bR.read()) != -1) { database = (char) car + bR.readLine(); token = new StringTokenizer(database, "="); key = token.nextToken(); Langkah 4 value = token.nextToken(); d = new Kata(key, value); jumTabKataIndo += tabelHashIndo.masukanKata(d,konstanta); jKataIndoTabrakan += tabelHashIndo.HitungTabrakanKata(key); } Langkah 5 fIn.close(); }
Langkah 6 Langkah 7
Untuk menampilkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan pada kelas interface FormKamus.java akan di tampilkan dengan memakai method tampilJumlahTabrakan(int,intString). Untuk pemanggilan method tampilJumlahTabrakan(int,intString) akan di lakukan pada method onClick(View v). Berikut adalah source code method tampilJumlahTabrakan(int,intString)
dan
tampilJumlahTabrakan(int,intString) pada onClick(View v) :
pemanggilan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
108
Source Code : publicvoid tampilJumlahTabrakan(int Jumtabrakan, int jumKataTabrakan, String nama) { Toast.makeText(getBaseContext(), "Jumlah Tabrakan Kata "+nama+" : " + String.valueOf(Jumtabrakan) + "\n" + "Jumlah Kata yang Mengalami Tabrakan : " + String.valueOf(jumKataTabrakan), Toast.LENGTH_LONG).show(); }
Source Code pemanggilan method tampilJumlahTabrakan(int,intString): if (textDayak.getText().toString().equals("Dayak")) { tampilJumlahTabrakan(jumTabKataDayak, jKataDayakTabrakan,"Dayak"); } else { tampilJumlahTabrakan(jumTabKataIndo, jKataIndoTabrakan,"Indo"); }
3.
FormUpdate.java Untuk kelas interface FormUpdate.java admin fungsi, proses
algortima, dan Source Code sama dengan yang di miliki oleh user. 4.
GantiModulu.java Untuk kelas interface GantiModulu.java akan berfungsi untuk tampilan
input modulu. Modulu yang diinputkan akan digunakan pada kelas FormKamus.java. berikut adalah source untuk melakukan pemanggilan tampilan GantiModulu.java : Source Code : publicclass GantiModulu extends PreferenceActivity{ @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.gantimodulu); } }
5.
Kamus.java
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
109
Kelas Entity Kamus.java admin memiliki beberapa persamaan pada kelas Entitiy Kamus.java user. Perbedaanya adalah kelas Kamus.java admin memiliki 1 method tambahan yaitu HitungTabrakanKata(String,int). Untuk fungsi perhitungan nilai kata, perhitungan jarak lompatan, metode hash, dan proses pencarian indeks sudah dijelaskan memiliki kesamaan pada kelas Kamus.java user. Fungsi 1. Melakukan proses perhitungan nilai kata 2. Melakukan perhitungan jarak lompatan 3. Melakukan metode hash 4. Melakukan proses pencarian indeks 5. Melakukan melakukan proses hitung jumlah tabrakan kata
Proses Algoritma : Proses Hitung Jumlah Tabrakan Kata 1 mendapatkan nilai 2 mendapatkan jarak lompatan 3 if(table[index] != null) 4
while (table[index] != null)
5
index = index + jarak
6
index = index % mod
7
tabel hash[index] = kata
8
return = 1
9 else 10 tabel hash[index] = kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
110
11 return 0
Source code Proses Hitung Jumlah Tabrakan Kata : int index = fungsiHash(inputKata, modPembagi);
Langkah 1
int jarak = getIncrement(inputKata, konstanta);
Langkah 2
if (jumTabrakan[index] != null) { while (jumTabrakan[index] != null) { Langkah 5 dan 6 Langkah 3
index += jarak; index %= modPembagi;
} jumTabrakan[index] = inputKata; return 1; } else {
Langkah 7 dan 8
Langkah 9 jumTabrakan[index] = inputKata; return 0;
6.
Langkah 4
Langkah 10 dan 11
Kata.java Fungsi kelas Kata.java pada kelas admin memiliki fungsi yang sama kelas Kata.java pada kelas user.
4.4 Pengujian Tahap akhir dari penelitian ini adalah pengujian sistem dan melakukan riset pada sistem untuk proses penyusunan kata. Analisis Sistem akan dibagi menjadi penyelesaian rumusan masalah, kelebihan, serta kekurangan sistem yang telah dibangun.
Pengujian
ini
berdasarkan
pada
jumlah
data
dan
panjang
hashtable.Jumlah data pada aplikasi ini adalah 2500 kata bahasa Indonesia dan 2500 Kata bahasa Dayak Ngaju.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4.4.1
111
Penyelesaian Rumusan Masalah Pada tahap ini, pengujian dilakukan terhadap data – data masukan, untuk menguji jumlah tabrakan pada data – data yang di susun di dalam hashtable. Untuk data kata yang akan menjadi kunci di dalam hashtable akan ditangani dengan menggunakan proses hitung kata sehingga di peroleh nilai karakteristik kunci yang unik dan penyusunan kata ke dalam hashtable akan digunakan metode pembagian sisa. Untuk menangani tabrakan(kolisi) yang terjadi pada penyusunan kata ke dalam hashtable, digunakan double hashing. Hasil pengujian akan terbagi menjadi 2 buah tabel yaitu hasil pengujian untuk penyusunan Kamus Bahasa Dayak Ngaju dan hasil pengujian untuk penyusunan Kamus Bahasa Indonesia.
a. Pengujian Kamus Bahasa Dayak Ngaju Pengujian pada Kamus Bahasa Dayak Ngaju akan diuji berdasarkan data masukan yaitu 2500 Kata. Dalam pengujian akan dilakukan menggunakan panjang hashtableyang lebih besar dari jumlah kata data masukan.
1. Hasil pengujian tabrakan dengan software Jumlah data
: 2500 Kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
112
Presentase
Nom
Panjang
Jumlah Kata yang
Jumlah Tabrakan Kata
or
Hashtable
Mengalami Tabrakan
pada saat terjadi kolisi
1
2503
1276
20892
51.04
2
3001
1018
3365
40.72
3
3511
967
2911
38.68
4
4001
759
1504
30.36
5
4507
693
1252
27.72
6
5003
608
1054
24.32
7
5501
597
998
23.88
8
6007
522
786
20.88
9
6521
501
691
20.04
10
7001
473
675
18.92
11
7507
423
601
16.92
12
8009
406
569
16.24
13
8501
393
531
15.72
14
9001
346
473
13.84
15
9511
313
439
12.52
16
10007
274
374
10.96
Penurunan Jumlah Tabrakan(%)
Tabel 4.3 Hasil Pengujian Kamus Bahasa Dayak Ngaju - Indonesia
2. Hasil Pengujian Regresi Untuk pengujian Regresi, digunakan fasilitas yang disediakan oleh MS Excel. Dari perhitungan regresi dapat dibuat persamaan regresi sebagai berikut :
(
)
Dari rumus hasil perhitungan regresi diatas nilai dari Y(jumlah kata yang mengalami tabrakan) dapat diprediksikan. Dengan diketahuinya nilai dari X(panjang hashtable) sebagai nilai tetap.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
113
3. Grafik Tabrakan Kata
Grafik Tabrakan Kata 1400 1200 1000 800
Jumlah Tabrakan Kata
600
Linear (Jumlah Tabrakan Kata)
400 200 2503 3001 3511 4001 4507 5003 6007 6521 7001 7507 8009 8501 9001 9511 10007
0
Gambar 4.1 Grafik Tabrakan Kata Dayak Ngaju Dari grafik tabrakan, dapat disimpulkan bahwa hubungan antara panjang hashtable dan jumlah tabrakan dengan data sebanyak 2500, memiliki korelasi negatif. Dengan demikian, jika panjang hashtable semakin besar maka jumlah tabrakan kata akan semakin kecil.
b. Pengujian Kamus Bahasa Indonesia Pengujian
pada
Kamus
Bahasa
Indonesia
akan
diuji
berdasarkan data masukan yaitu 2500 Kata. Dalam pengujian akan dilakukan menggunakan panjang hashtable yang lebih besar dari jumlah kata data masukan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
114
1. Hasil pengujian tabrakan dengan software Jumlah data
Nomor
Panjang Hashtable
: 2500 Kata Jumlah Kata yang Mengalami
Jumlah
Presentase
Tabrakan Kata
Penurunan Jumlah
pada saat
Tabrakan(%)
Tabrakan
terjadi kolisi
1
2503
1278
17390
51.12
2
3001
1039
2168
41.56
3
3511
975
2968
39
4
4001
818
1634
32.72
5
4507
752
1395
30.08
6
5003
638
1070
25.52
7
5501
629
1012
25.16
8
6007
536
797
21.44
9
6521
501
768
20.04
10
7001
487
742
19.48
11
7507
431
623
17.24
12
8009
422
624
16.88
13
8501
374
522
14.96
14
9001
360
486
14.4
15
9511
364
456
14.56
16
10007
302
407
12.08
Tabel 4.7 Hasil Pengujian Kamus Bahasa Dayak Ngaju - Indonesia
2. Hasil Pengujian Regresi Untuk pengujian Regresi, digunakan fasilitas yang disediakan oleh MS Excel. Dari perhitungan regresi dapat dibuat persamaan regresi sebagai berikut :
(
)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
115
Dari rumus hasil perhitungan regresi diatas nilai dari Y(jumlah kata yang mengalami tabrakan) dapat diprediksikan. Dengan diketahuinya nilai dari X(panjang hashtable) sebagai nilai tetap. 3. Grafik Tabrakan Kata
Grafik Tabrakan Kata 1400 1200 1000 800
Tabrakan Kata
600 Linear (Tabrakan Kata)
400 200 2503 3001 3511 4001 4507 5003 5501 6007 6521 7001 7507 8009 8501 9001 9511 10007
0
Gambar 4.2 Grafik Tabrakan Kata Indonesia Dari grafik tabrakan, dapat disimpulkan bahwa hubungan antara panjang hashtable dan jumlah tabrakan dengan data sebanyak 2500, memiliki korelasi negatif. Dengan demikian, jika panjang hashtable semakin besar maka jumlah tabrakan kata akan semakin kecil.
Berdasarkan hasil pengujian di atas didapat, baik terhadap data bahasa Indonesia dan bahasa Dayak Ngaju. Dengan fungsi hash metode pembagian sisa string dan dengan menggunakan panjang hashtable yang semakin besar akan mengurangi jumlah tabrakan kata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
116
dan jumlah kata yang mengalami tabrakan pada saat penyusunan kata ke dalam hashtable. Dari perhitungan regresi berdasarkan data pengujian (
didapat )
2
buah
rumus
yaitu
untuk pengujian Kamus Bahasa Dayak Ngaju –
Indonesia dan
(
)
untuk Kamus Bahasa
Indonesia – Dayak Ngaju. Sehingga dari kedua rumus tersebut, nilai dari jumlah tabrakan dapat diprediksikan. Dari dua buah grafik di atas dapat disimpulkan adanya korelasi negatif antara panjang hashtable dengan jumlah tabrakan saat penyusunan data ke dalam hashtable.
4.4.2
Uji Coba Aplikasi Pengujian terhadap aplikasi Kamus Bahasa Dayak Ngaju – Indonesiadilakukan setelah smartphone yang akan digunakan telah diatur dan terinstal aplikasi. Pada ujicoba ini user menterjemahkan kata dari Bahasa DayakNgaju ke Bahasa Indonesia dan sebaliknya.
a.
Terjemahan Dayak Ngaju – Indonesia Dalam menterjemahkan kata Dayak Ngaju ke dalam kata Indonesia, penguna mula – mula memilih menu kamus. Selanjutnya akan tampil form cari kata. Untuk mencari kata, penguna memasukkan keyword, dimana dalam pengisian keyword ini perlu dimasukan kata secara utuh dari kata Dayak Ngaju yang akan dicari
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
117
terjemahannya.Setelah memasukkan keyword selanjutnya pengguna akan menekan tombol cari. Selanjutnya di tampilkan keyword dan arti kata dari keyword yang dimasukan. b. Terjemahan Indonesia – Dayak Ngaju Dalam menterjemahkan kata Indonesia ke dalam kata Indonesia, penguna mula – mula memilih menu kamus. Selanjutnya akan tampil form cari kata. Untuk mencari kata, penguna memasukkan keyword, dimana dalam pengisian keyword ini perlu dimasukan kata secara utuh dari kata Indonesia yang akan dicari terjemahannya.Setelah memasukkan keyword selanjutnya pengguna akan menekan tombol cari. Selanjutnya di tampilkan keyword dan arti kata dari keyword yang dimasukan.
4.4.3
Kelebihan dan Kekurangan Kelebihan sistem yang dibangun sebagai berikut : 1. Dapat melakukan pencarian pada kata bahasa Dayak Ngaju dan pada
kata bahasa Indonesia dengan cepat. 2. Dapat melakukan update data yang berada di server.
3. Program aplikasi yang dibuat ini sudah dapat dijalankan pada perangkat smartphone yang berbasis android. Kekurangan sistem yang dibangun sebagai berikut : 1. User tidak dapat melakukan penambahan data pada database.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
118
2. Jika sistem gagal melakukan update data, pesan gagal tidak bisa di tampilkan. 3. Aplikasi ini mengabaikan masalah sekuritas untuk transmisi datanya. 4. Apabila data dalam database terlalu banyak akan memerlukan waktu lama dalam proses penyusunan kamus.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan Pembuatan Aplikasi Kamus Bahasa Dayak Ngaju - Indonesia ini menggunakan metode hashpada proses penyusunan kamus dan pencarian arti katanya. Terdapat 2500 kata bahasa Dayak Ngaju dan 2500 kata bahasa Indonesia sebagai data uji di dalam aplikasi Kamus Bahasa Dayak Ngaju - Indonesia. Kesimpulan yang diperoleh adalah sebagai berikut : 1. Dari hasil pengujian dengan fungsi hash metode pembagian sisa string dapat menyimpan data kata kamus dengan baik. Di skripsi ini kasus 2500 kata bisa disimpan dalam 2503 hashtable 2. Hasil pengujian dari 2500 kata diperoleh jumlah tabrakan dengan panjang hashtable 2503, jumlah tabrakan kata untuk kamus Dayak Ngaju – Indonesia adalah 1276 kata dengan penurunan 51.12 % dari total kata dan dengan kondisi panjang hashtable yang ekstrim yaitu 10007 diperoleh tabrakan kata sebanyak 274 kata dengan presentase penurunan 10.12 % dari total kata. Dan jumlah tabrakan kata untuk kamus Dayak – Indonesia adalah 1278 kata dengan penurunan 51.12 % dari total kata dan dengan kondisi panjang hashtable yang ekstrim yaitu 10007 diperoleh tabrakan kata sebanyak 302 kata dengan presentase penurunan 10.96 % dari total kata. Sehingga dapat diambil
119
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 120
kesimpulan jumlah tabrakan semakin berkurang jika panjang hashtable bertambah besar 5.2 Saran Dalam tugas akhir ini, penulis ingin menyampaikan saran yang mungkin berguna bagi pembaca mengenai penggunaan program aplikasi ini yaitu Untuk pengembangan aplikasi lebih lanjut sebaiknya dapat menggunakan proses hitung kata untuk mendapatkan nilai kunci yang memiliki karakteristik yang lebih unik, menggunakan metode hash yang lain seperti midquare method, flooding method, dan berbagai metode hash lainnya. Hal itu untuk menunjukan metode apakah yang lebih optimal dalam menghindari tabrakan kata. Dan untuk penanganan tabrakan kata(Conclusion) saat terjadi tabrakan kata dalam table hash sebaiknya menggunakan metode pengalamatan terbuka yang lain seperti liner probing atau quadratic probing atau menggunakan metode separated chaining. Hasil terjemahan sebaiknya disertai dengan contoh pemakaian kata dalam kalimat. Dengan adanya contoh pemakaian kata dalam kalimat diharapkan dapat lebih memudahkan pengguna aplikasi ini untuk memahami arti dari kata yang diterjemahkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 121
DAFTAR PUSTAKA Buku Teks : [1] Meier, Retto, 2009, Professional Android Aplication Development, Wiley Publishing Inc. [2] Siregar, Ivan Michael, S.T.,M.T, 2011, Membongkar Source Code Berbagai Aplikasi Android, Penerbit Gava Media [3] Nugroho Adi. 2008, Algoritma dan Struktur Data Dalam Bahasa Java, C.V Andy Offset, Yogyakarta [4] Lafore, Robert, 1998, Data Structure and Algorithms In Java, SAMS [5] Chaer, Abdul, 2007, Leksikologi dan Leksikografi Indonesia, PT. Rineka Cipta, Jakarta [6] Iper, Dunis, 2009, Kamus Bahasa Dayak Ngaju Indonesia, Anugerah Indah Mandiri, Palangka Raya [7] Meier, Reto. 2009. Professional Android 2 Application Development. Indianapolis, Indiana Canada United States of America : Wiley Publishing, Inc [8] Drozdek, Adam, 2003. Data Structures and Algorithms in Java,
Karya Ilmiah : [9] Amiral, Muhammad, 2009, Aplikasi Pengingat Sholat dan Arah Kiblat Menggunakan Global Positioning System(GPS) Berbasis Android 1.8, Teknik Informatika Institut Teknologi Indonesia. [10]
Rufaida Riffa, 2007, Fungsi Hash dan Metode Collision Resolution,
Teknik Informatika ITB [11]
Heilemen,
Gregory
L,
2007,
How
Caching
Affects
Hashing,Departement of Electrical and Computer Engineering University of New Mexico, Albuquerqu,NM
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 122
Situs Website : [12]
Android Developers, Android Documentation, diakses tanggal 19
Desember 2011, http://developer.android.com/guide/topic/data [13]
Google IO, Android Anatomy and Physiology, diakses tanggal 1
Januari 2012, http://sites.google.com/site/io/anatomy-and-physiology-of-andandroid [14]Thenewboston.org, di akses tanggal 5 Januari 2012, www.thenewboston.org [15]Android tutorial for expert, diakses tanggal 5 Januari 2012, www.youtubecom
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 123
LAMPIRAN
LAMPIRAN I DIAGRAM ALIR 1. Penjelasan Diagram Alir Penyusunan Kamus Bahasa Dayak Ngaju – Indonesia No
Diagram
1
Mulai
Keterangan Proses penyusunan kamus di mulai Pada
2
Baca File
bagian
pembacaan
ini
file
proses
database
di
dalam aplikasi. Aplikasi 3
Hitung Nilai Kata (nilai key)
melakukan
proses
perhitungan Nilai Kata (nilai key)
4
Hasil Jumlah Nilai Kata(nilai key)
Proses ini mendapatkan
hasil
dari jumlah nilai kata (nilai key) Proses
ini
ukuran
table
memperlihatkan
N = Ukuran Tabel
5
hash
untuk
menyimpan index dan value. Nilai Keydan Ukuran Tabel akan 6
Fungsi Hash Index = key mod N
di gunakan pada proses ini, yaitu perhitungan
nilai
Index
menggunakan fungsi hash. Setelah Index pada table hash 7
didapatkan menggunakan
dengan fungsi
hash
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 124
dilakukanproses Data Pada Tabel Hash Kosong ?
perbandingan
untuk menentukan data pada Index tabel hash sudah terisi atau belum. Pada flowchat ini proses data key
8
Simpan key dan value
dan value akan di simpan ke dalam table hash. Pada proses ini digambarkan pengalokasian
9
Fungsi Hash ke- dua Hash ke – dua = M – (key mod M) Index = key mod N Index = (Index+ Hash ke – dua) mod N
nilai
kunci
menggunakan metode hash ke – dua(double
hashing).
Untuk
mendapatkan index pada larik hashtable jika terjadi tabrakan antar kunci(collision) Proses
10
Selesai
penyusunan
kamus
selesai dijalankan.
2. Penjelasan Diagram Alir Pencarian Padanan Kata Pada Kamus Bahasa Dayak Ngaju – Indonesia. No
Diagram
1
Mulai
2
Input Kata
Keterangan Proses pencarian dimulai Pada proses ini dilakukan proses penginputan kata Aplikasi
3
Hitung Nilai Kata Input
melakukan
proses
perhitungan Nilai Kata yang telah diinputkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 125
4
5
Jumlah Nilai Kata Input
N = Ukuran Tabel
Proses ini mendapatkan hasil dari jumlah nilai kata yang diinputkan Proses
ini
ukuran
table
memperlihatkan hash
untuk
menyimpan index dan value. Nilai Keydan Ukuran Tabel akan 6
Fungsi Hash Index =Nilai Kata Input mod N
di gunakan pada proses ini, yaitu perhitungan
nilai
Index
menggunakan fungsi hash. Proses
ini
mengambarkan
perbandingkan apakah data pada 7
Data pada Index = Kata Input
index
yang
di
dapat
dari
perhitungan fungsi hash di atas sama dengan kata yang sudah di inputkan. Proses ini mengambarkan proses lanjutkan yang terjadi jika data pada index hash
8
Pencarian ke – dua Hash ke – dua = M – (key mod M) Index = key mod N Index = (Index+ Hash ke – dua) mod N
yang didapat
dari perhitungan fungsi hash diatas nilainya tidak sama dengan kata input. Sehingga akan di lakukan
pencarian
mendapakan index lain
untuk pada
table hash. Proses 9
N = null
ini
mengambarkan
panjang larik atau array yang telah di telusuri telah habis atau null
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 126
Proses ini mengambarkan kata 10
yang diinputkan tidak memiliki Kata tidak ditemukan
padanan
kata
pada
proses
pencarian di database. Proses ini menunjukan proses pencarian mendapatkan output 11
Output = value
yang kemudian output tersebut bernilai sama dengan value untuk kata input yang dicari padanan katanya.
12
Proses penyusunan kamus selesai Selesai
dijalankan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 127
LAMPIRAN II SKENARIO DIAGRAM USE CASE 1. Use Case Mencari arti kata bahasa Dayak Ngaju – Indonesia Mencari arti kata bahasa Dayak Ngaju – Indonesia
Nama Use Case
Mendapatkan arti kata dari bahasa Dayak Ngaju ke
Tujuan
bahasa Indonesia Dalam proses ini user akan memilih bahasa, menginputkan kata dari bahasa Dayak Ngaju atau
Deskripsi
dari Bahasa Indonesia ke dalam sistem. 1. Admin
Aktor
2. Pengguna / User
Use Case yang Berkaitan
Skenario Utama User berada di tampilan form Pencarian kata Bahasa
Kondisi Awal
Dayak Ngaju – Indonesia
Aksi Aktor
Reaksi Sistem
1. User mengisi kata pada field, lalu menekan tombol cari 2. Memeriksa apakah field kosong. 3. Mencocokan data inputan dengan Database Skenario Alternatif(Jika Gagal) Aksi Aktor
Reaksi Sistem 1. Menampilkan pesan data tidak ada 2. Menampilkan lagi form Pencarian
3. User mengisi data pada
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 128
field, lalu menekan tombol cari 4. Mencocokan data inputan dengan Database 5. Menampilkan output pada layar Skenario ALternatif(Jika ingin menganti bahasa) 1. User melakukan klik pada tanda ganti 2. Menerima inputan user . 3. Melakukan ganti bahasa pencarian(Indonesia ke Dayak Ngaju) 4. Menampilkan form Pencarian 5. User mengisi data pada field, lalu menekan tombol cari 6. Mencocokan data inputan dengan Database 7. Menampilkan output pada layar Kondisi Akhir
User mendapatkan padanan kata yang dicari.
2. Use Case mengupdate Database Kamus Nama Use Case Tujuan
Mengupdate Database Kamus Mengupdate database yang berada di penyimpanan sistem Dalam proses ini user mengupdate isi database
Deskripsi
kamus(Bahasa Indonesia dan Dayak Ngaju), proses ini update ini terhubung dengan jaringan internet dan server
Aktor
1. Admin 2. Pengguna / User
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 129
-
Use Case yang Berkaitan
Skenario Utama User berada di tampilan form Update Database
Kondisi Awal
Kamus
Aksi Aktor
Reaksi Sistem
1. User melakukan klik pada tombol update database 2. Memeriksa apakah ada data yang sudah di update. 3. Menerima file dari internet 4. Mengupdate database lama dengan yang baru, dan menampilkan pesan “berhasil” pada layar. Kondisi Akhir
User memilih dan mengupdate Database Kamus
3. Use Case menganti modulu Nama Use Case
Menganti modulu
Tujuan
Menganti modulu untuk proses penyusunan kamus Dalam proses ini adminakan melakukan input jumlah modulu(untuk Bahasa Indonesia atau Bahasa
Deskripsi
Dayak Ngaju) Aktor
1. Admin
Use Case yang Berkaitan
Skenario Utama Admin berada di tampilan form Utama Kamus
Kondisi Awal Aksi Aktor 1. Admin
melakukan
Reaksi Sistem klik
pada tombol menu 2. Sistem menampilkan menu “Setting”
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 130
3. Admin
melakukan
klik
pada tombol “Setting” 4. Sistem menerima inputan 5. Sistem menampilkan form “Setting” 6. Admin pada
melakukan menu
klik
“Dayak
Ngaju” 7. Sistem menampilkan form pengisian 8. Admin mengisi form 9. Admin menekan tombol ok 10. Sistem menerima inputan 11. Sistem menampilkan form “Setting”
4. Use Case menganti konstanta Nama Use Case
Menganti konstanta
Tujuan
Menganti konstanta untuk proses penyusunan kamus Dalam proses ini adminakan melakukan input jumlah konstanta(untuk Bahasa Indonesia atau
Deskripsi
Bahasa Dayak Ngaju) Aktor
1. Admin
Use Case yang Berkaitan
Skenario Utama Admin berada di tampilan form Utama Kamus
Kondisi Awal Aksi Aktor 1. Admin
melakukan
Reaksi Sistem klik
pada tombol menu 2. Sistem menampilkan menu “Setting”
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 131
3. Admin
melakukan
klik
pada tombol “Setting” 4. Sistem menerima inputan 5. Sistem menampilkan form “Setting” 6. Admin pada
melakukan menu
klik
“Dayak
Ngaju” 7. Sistem menampilkan form pengisian 8. Admin mengisi form 9. Admin menekan tombol ok 10. Sistem menerima inputan 11. Sistem menampilkan form “Setting”
5. Use Case Tampil Tabrakan Tampil Tabrakan
Nama Use Case
Untuk menampilkan jumlah tabrakan kata dan
Tujuan
jumlah kata yang mengalami tabrakan Dalam proses ini adminakan melakukan ganti bahasa dan melakukan klik pada tombol hitung
Deskripsi
untuk menampilkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan
Aktor
1. Admin
Use Case yang Berkaitan
Skenario Utama Admin di tampilan form Pencarian kata Bahasa
Kondisi Awal
Dayak Ngaju – Indonesia
Aksi Aktor 1. Adminmelakukan
Reaksi Sistem klik
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 132
pada tombol hitung 2. Sistem akan menerima inputan 3. Sistem akan menampilkan hasil jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan. Skenario ALternatif(Menampilkan jumlah tabrakan) 1. User melakukan klik pada tanda ganti 2. Menerima inputan user . 3. Melakukan ganti bahasa pencarian(Indonesia ke Dayak Ngaju) 4. Menampilkan form Pencarian 5. Adminmelakukan
klik
pada tombol hitung 6. Sistem akan menerima inputan 7. Sistem akan menampilkan hasil jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 133
LAMPIRAN III IMPLENTASI ANTAR MUKA
b. Implementasi Desain Antar Muka User Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia untuk user memiliki 3 menu utama dan 1 menu tambahan. 3 menu utama antara lain menu utama, menu kamus dan menu update. 1 menu tambahan digunakan sebagai informasi tentang aplikasi ini. Sebelum mengakses menu kamus, menu update, dan menu tentang terlebih dahulu harus mengakses menu utama.
1. Implementasi Antar Muka Menu Utama Antar muka menu utama menjadi tampilan utama dalam aplikasi. Tampilan utama ini diakses sebelum mengakses menu – menu lain. Kode program untuk tampilan antar muka Utama adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 134
android:id="@+id/txtViewDownloadSukses" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txtJudulFormUtama2" android:textAppearance="?android:attr/textAppearanceLarge"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 135
Tampilan Implementasi Antar Muka :
2. Implementasi Antar Muka Menu Kamus Antar muka kamus adalah tampilan untuk melakukan pencarian kata Bahasa Dayak Ngaju – Indonesia dan Bahasa Indonesia – Dayak Ngaju. Antar muka ini diakses setelah user mengakses antar muka menu utama. Kode program untuk tampilan antar muka kamus adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 136
android:orientation="vertical"> <Button android:id="@+id/buttonGanti" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/arrow"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 137
<EditText android:id="@+id/editKata" android:layout_width="249dp" android:layout_height="wrap_content" android:ems="10" android:hint="@string/txtHint" android:singleLine="true"> <requestFocus/> <Button android:id="@+id/btnCari" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/btnCariKata"/> <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content">
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 138
android:textStyle="italic" android:text=""/>
Tampilan Implementasi Antar Muka :
3. Implementasi Antar Muka Menu Update Antar muka kamu adalah tampilan untuk melakukan update database kata Bahasa Dayak Ngaju – Indonesia dan Bahasa Indonesia – Dayak Ngaju. Antar muka ini diakses setelah user mengakses antar muka menu utama. Kode program untuk tampilan antar muka kamus adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 139
android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/background1" android:gravity="center"> <Button android:id="@+id/btnDownload" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btnDownload"/>
Tampilan Implementasi Antar Muka :
4. Implementasi Antar Muka Menu Tentang Antar muka kamu adalah tampilan untuk informasi kamus Bahasa Dayak Ngaju - Indonesia. Antar muka ini diakses setelah user mengakses antar muka menu utama. Kode program untuk tampilan antar muka kamus adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 140
<ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content">
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 141
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/fitur" android:textSize="14sp" android:textStyle="bold"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 142
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txtUraian1"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 143
android:layout_height="wrap_content" android:layout_marginLeft="20sp" android:text="@string/txtUraian02"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 144
android:layout_marginLeft="20sp" android:text="@string/txtnk"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 145
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txtNamaPengembang"/>
Tampilan Implementasi Antar Muka :
c. Implementasi Desain Antar Muka Admin Aplikasi Kamus Bahasa Dayak Ngaju – Indonesia untuk admin memiliki 4 menu utama. 3 menu utama antara lain menu utama, menu kamus, menu update dan menu ganti modulu. Sebelum mengakses menu kamus, menu
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 146
update terlebih dahulu harus mengakses menu utama. Sedangkan untuk menu ganti modulu akan menggunakan PreferenceScreen Android.
2. Implementasi Antar Muka Menu Utama Antar muka menu utama menjadi tampilan utama dalam aplikasi. Tampilan utama ini diakses sebelum mengakses menu – menu lain. Kode program untuk tampilan antar muka Utama adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 147
android:orientation="vertical" android:gravity="center">
Tampilan Implementasi Antar Muka :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 148
3. Implementasi Antar Muka Menu Kamus Antar muka kamus adalah tampilan untuk melakukan pencarian kata Bahasa Dayak Ngaju – Indonesia dan Bahasa Indonesia – Dayak Ngaju dan menghitung serta menampilkan tabrakan kata dalam penyusunan kamus. Antar muka ini diakses setelah admin mengakses antar muka menu utama. Kode program untuk tampilan antar muka kamus adalah sebagai berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 149
android:layout_weight="5.19" android:background="#ff9900" android:gravity="center" android:orientation="vertical"> <Button android:id="@+id/buttonGanti" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/arrow"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 150
android:textColor="#ffffff" android:textSize="25sp"/> <EditText android:id="@+id/editKata" android:layout_width="250dp" android:layout_height="wrap_content" android:ems="10" android:hint="@string/textHint" android:singleLine="true"> <requestFocus/> <Button android:id="@+id/btnCari" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/btnCari"/> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="95.44">
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 151
android:id="@+id/textViewHasil" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/textHasil"android:textAppearance="?android: attr/textAppearanceLarge" android:textStyle="italic"/> <Button android:id="@+id/btnHasilHitung" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/btnLihatHasil"/>
Tampilan Implementasi Antar Muka :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 152
4. Implementasi Antar Muka Menu Update Antar muka kamu adalah tampilan untuk melakukan update database kata Bahasa Dayak Ngaju – Indonesia dan Bahasa Indonesia – Dayak Ngaju. Antar muka ini diakses setelah adminmengakses antar muka menu utama. Kode program untuk tampilan antar muka kamus adalah sebagai berikut : <Button android:id="@+id/btnDownloadFile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btnDownloadFile"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 153
Tampilan Implementasi Antar Muka :
5. Implementasi Antar Muka Ganti Modulu Antar muka kamu adalah tampilan untuk menginputkan modulu pembagi yang akan digunakan dalam penyusunan kamus Dayak Ngaju Indonesia. Antar muka ini diakses setelah adminmengakses antar muka menu utama. Admin harus melakukan klik “menu” pada hardware button android terlebih dahulu agar menu freference dapat ditampilkan. Kode program untuk tampilan antar muka kamus adalah sebagai berikut : <EditTextPreference android:key="konstanta" android:summary="Input Konstanta" android:title="Konstanta" /> <EditTextPreference android:key="mod" android:summary="Input Modulu" android:title="Modulu"/>
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 154
Tampilan Implementasi Antar Muka :