SKRIPSI
APLIKASI KAMUS INDONESIA-KOREA MENGGUNAKAN ALGORITMA BINARY SEARCH BERBASIS ANDROID
Oleh:
Qory Kurnia RC
1110091000007
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
i APLIKASI KAMUS INDONESIA-KOREA MENGGUNAKAN ALGORITMA
BINARY SEARCH BERBASIS ANDROID
HALAMAN JUDUL
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains Dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh : Qory Kurnia RC
1110091000007
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
iv PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR
HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI
SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU
LEMBAGA MANAPUN.
Ciputat, Mei 2015
v Qory Kurnia RC (1110091000007). Aplikasi Kamus Indonesia-Korea Menggunakan Algoritma Binary Search berbasis Android dibimbing oleh Siti Ummi Masruroh, M.Sc dan Nurul Faizah Rozy, MTI .
ABSTRAK
Bahasa Korea menempati lima besar bahasa asing yang dipelajari di Indonesia. Hal ini tidak lepas dari pengaruh Hallyu Wave (Gelombang Korea) di dunia termasuk di Indonesia. Drama, musik dan fashion Korea begitu populer di Indonesia, yang secara tidak langsung berpengaruh pada tingginya minat untuk mempelajari budaya dan bahasa Korea. Salah satu cara untuk belajar bahasa Korea adalah menggunakan kamus cetak. Sejauh ini terdapat kendala dalam penggunaan kamus cetak, yaitu membutuhkan waktu yang lama dalam proses pencarian terjemahan. Untuk mengatasi permasalahan tersebut dibuat sebuah aplikasi kamus Indonesia-Korea berbasis android. Proses pencarian terjemahan kata pada aplikasi ini menggunakan algoritma Binary Search. Terdapat masing-masing 1023 daftar terjemahan kata pada aplikasi ini. Metode pengumpulan data dalam penelitian ini menggunakan kuesioner dan daftar pustaka. Metode pengembangan sistem dalam penelitian ini menggunakan RAD. Metode pengembangan aplikasi menggunakan framework Phonegap.
Kata kunci : Kamus Indonesia-Korea, Binary Search, RAD Jumlah Halaman : xxxi + 116 halaman
vi KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang Maha Melihat lagi Maha Mendengar, atas segala limpahan rahmat dan hidayah-Nya sehinga penulis dapat menyelesaikan skripsi ini. Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Nabi Muhammad SAW.
Penyusunan skripsi ini adalah salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom) pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta. Dalam penulisan skripsi ini banyak pihak yang telah membantu baik materil maupun immateril, oleh karena itu penulis mengucapkan terima kasih kepada:
1. Dr. Agus Salim, M.Si selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
2. Arini, M.T. dan Feri Fahrianto, M.Sc , selaku Ketua dan Sekretaris Program Studi Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
vii 4. Kedua orang tuaku tercinta Maiyasril dan Atmawati, yang telah memberikan segala dukungan baik materil maupun immateril serta doanya sehingga penulis dapat menyelesaikan masa studi S1.
5. Adikku tersayang Gita Nurul Azania dan Bibi Rifda Maideli telah memberikan dukungan untuk menyelesaikan studi S1.
6. Seluruh keluarga besar PSM UIN Jakarta, khususnya Otung, Apis, Cajon, Subito, Guji, Lullaby, Tira, Parda, Laja, dan lain-lain, terima kasih atas dukungan dan pengalaman yang telah diberikan selama kuliah di UIN Syarif Hidayatullah Jakarta.
7. Seluruh teman-teman seperjuangan Program Studi Teknik Informatika angkatan 2010.
8. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini, yang tidak dapat penulis sebutkan satu per satu. Semoga Allah SWT memberikan berkah dan karunia-Nya serta membalas kebaikan mereka. Amin.
Demikian ini penulis ucapkan terimakasih dan mohon maaf yang sebesar-besarnya apabila terdapat kata-kata di dalam penulisan skripsi ini yang kurang berkenan bagi pihak-pihak tertentu. Semoga skripsi ini bermanfaat bagi semua pihak, khususnya bagi penulis dan umumnya bagi pembaca.
Jakarta, April 2015 Penulis
viii DAFTAR ISI
HALAMAN PERNYATAAN ... iv
ABSTRAK ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viiii
DAFTAR LAMPIRAN ... xiii
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xvii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 3
1.3 Batasan Masalah ... 4
1.4 Tujuan dan Mamfaat Penelitian ... 4
1.4.1 Tujuan Penelitian ... 4
1.4.2 Mamfaat Penelitian ... 5
1.5 Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 8
ix
2.2 Kamus ... 8
2.3 Bahasa Indonesia ... 9
2.4 Bahasa Korea ... 10
2.5 Algoritma ... 13
2.5 Algoritma Binary Search ... 15
2.7 Android ... 18
2.7.1 Sejarah Android ... .18
2.7.2 Versi Android ... .19
2.7.3 Fitur-Fitur Android ... .20
2.7.4 Sistem Arsitektur Operasi Android ... .23
2.8 Phonegap ... 26
2.9 Software Pendukung ... 29
2.9.1 Android Software Development Kit ... .29
2.9.2 Android Development Tool ... .30
2.9.3 Eclipse... 30
2.10 Kuesioner ... 31
2.11 Rapid Application Development (RAD) ... 32
2.12 Unified Model Language (UML) ... 37
2.12.1 Pengertian Unified Model Language ... 37
x
2.12.3 Use Case Diagram ... 39
2.12.4 Activity Diagram ... 41
2.12.5 Sequence Diagram ... 42
2.13 Pengujian Black Box ... 44
2.14 Studi Literatur Sejenis ... 46
BAB III METODOLOGI PENELITIAN... 50
3.1 Metode Pengumpulan Data ... 50
3.1.1 Studi Pustaka ... 50
3.1.2 Kuesioner ... 50
3.2 Metode Pengembangan Sistem ... 51
3.3 Alasan Menggunakan RAD ... 56
3.4 Kerangkan Pemikiran Penelitian ... 57
BAB IV HASIL DAN PEMBAHASAN ... 58
4.1 Fase Perencanaan Syarat-Syarat ... 58
4.1.1 Tujuan Pengembangan Aplikasi ... 58
4.1.2 Syarat-Syarat Informasi ... 58
4.2 Fase Workshop Design ... 58
xi
4.2.2Perancangan Proses ... 63
4.2.2.1 Use Case Diagram ... 63
4.2.2.2 Activity Diagram ... 71
4.2.2.3 Sequence Diagram ... 76
4.2.2.4 Perancangan User Interface... 81
4.2.2.5 Pengkodean ... 86
4.2 Fase Implementasi ... 98
4.3.1 Implementasi Interface ... 98
4.3.2 Implementasi Perangkat Lunak ... 104
4.3.3 Implementasi Perangkat Keras ... 105
4.3.4 Pengujian Aplikasi ... 105
4.3.4.1 Rencana Pengujian ... 105
4.3.3.2 Kasus dan Hasil Pengujian ... 107
BAB V PENUTUP ... 106
5.1 Kesimpulan ... 112
5.2 Saran ... 113
xii DAFTAR GAMBAR
Gambar 2.1 – Arsitektur Gambar Android ... 23
Gambar 2.2 – Siklus RAD ... 34
Gambar 3.1 – Kerangka Pemikiran Penelitian ... 57
Gambar 4.1 –Flowchart Algoritma Binary Search ... 63
Gambar 4.2 - Use Case Diagram Aplikasi Kamus Indonesia-Korea ... 66
Gambar 4.3 - Activity Diagram Terjemahan Kosakata ... 71
Gambar 4.4 - Activity Diagram Lafal ... 72
Gambar 4.5 - Activity Diagram Belajar Hangul... 73
Gambar 4.6- Activity Diagram Frasa Korea ... 74
Gambar 4.7 - Activity Diagram Tentang ... 75
Gambar 4.7 - Sequence Diagram Terjemah ... 76
Gambar 4.8 - Sequence Diagram Lafal... 77
xiii
Gambar 4.11 - Sequence Diagram Belajar Frasa ... 79
Gambar 4.12 - Sequence Diagram Tentang ... 80
Gambar 4.13 - Desain UserInterfaceSplash screen ... 81
Gambar 4.14 - Desain UserInterfaceHome ... 81
Gambar 4.15 - Desain UserInterface Menu Bar ... 82
Gambar 4.16 - Desain UserInterface Hangul ... 83
Gambar 4.17 - Desain UserInterface Huruf Hangul ... 84
Gambar 4.18 - Desain UserInterface Frasa... 84
Gambar 4.19 - Desain UserInterface Kategori Frasa ... 85
Gambar 4.20 - Desain UserInterface Tentang ... 86
Gambar 4.21 - Pengkodean 1 ... 87
Gambar 4.22 - Pengkodean 2 ... 87
Gambar 4.23 - Pengkodean 3 ... 88
Gambar 4.24 - Pengkodean 4 ... 88
Gambar 4.25 - Pengkodean 5 ... 90
xiv
Gambar 4.27 - Pengkodean 7 ... 91
Gambar 4.28 - Pengkodean 8 ... 91
Gambar 4.29 - Pengkodean 9 ... 92
Gambar 4.30 - Pengkodean 10 ... 92
Gambar 4.31 - Pengkodean 11 ... 93
Gambar 4.32 - Pengkodean 12 ... 94
Gambar 4.33 - Pengkodean 13 ... 95
Gambar 4.34 - Pengkodean 14 ... 96
Gambar 4.35 - Flowchart Prosedur Fungsi Terjemahan ... 97
Gambar 4.36 - Hasil OutputInterfaceHome ... 98
Gambar 4.37 - Hasil OutputInterfcace Menu Bar ... 99
Gambar 4.38 - Hasil OutputInterfae Terjemahan Indonesia-Korea... 99
Gambar 4.39 - Hasil OutputInterface Terjemahan Korea-Indonesia ... 100
Gambar 4.40 - Hasil OutputInterface Menu Hangul ... 101
Gambar 4.41 - Hasil OutputInterface Huruf Hangul ... 101
xv Gambar 4.43 - Hasil OutputInterface Kategori Frasa ... 102
Gambar 4.44 - Hasil OutputInterface Tentang Aplikasi ... 103
xvi DAFTAR TABEL
Tabel 2.1 Huruf Vokal ... 11
Tabel 2.2 Huruf Konsonan ... 11
Tabel 2.3 Huruf Gabungan Vokal ... 12
Tabel 2.4 Huruf Gabungan Konsonan ... 12
Tabel 2.5 Perbandingan Algoritma ... 17
Tabel 2.6 Versi Android ... 19
Tabel 2.7 Perbandingan Metode Penelitian ... 35
Tabel 2.8 Simbol Use Case Diagram ... 40
Tabel 2.9 Simbol Activity Digram ... 42
Tabel 2.10 Simbol Sequence Diagram... 43
Tabel 2.11 Studi Literatur Sejenis ... 46
Tabel 3.1 Perbandingan Metode Penelitian ... 49
xvii
Tabel 4.2 Identifikasi Actor ... 64
Tabel 4.3 Identifikasi Use Case ... 64
Tabel 4.4 Use Case Narasi 1 ... 67
Tabel 4.5 Use Case Narasi 2 ... 68
Tabel 4.6 Use Case Narasi 3 ... 68
Tabel 4.7 Use Case Narasi 4 ... 69
Tabel 4.8 Use Case Narasi 5 ... 70
Tabel 4.9 Rencana Pengujian ... 100
Tabel 4.10 Hasil Pengujian 1 ... 101
Tabel 4.11 Hasil Pengujian 2 ... 102
Tabel 4.12 Hasil Pengujian 3 ... 103
Tabel 4.13 Hasil Pengujian 4 ... 104
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bahasa merupakan alat komunikasi yang penting bagi manusia. Di era globalisasi, bahasa menjadi kebutuhan utama untuk melakukan berbagai aktivitas baik saat bekerja maupun bersosialisasi di masyarakat.
Penelitian yang dilakukan Judith Kroll (2014) mengungkapkan orang yang menguasai dua bahasa (bilingual), memiliki tingkat fleksibilitas mental yang tinggi seperti fungsi eksekutif otak, kemampuan multitasking dan kemampuan untuk memecahkan masalah dibandingkan dengan orang yang hanya menguasai satu bahasa (monolingual).
Banyak orang menaruh minat untuk mempelajari bahasa asing selain Bahasa Inggris, salah satunya adalah Bahasa Korea (Septiawan dan Setiadi, 2013). Penelitian oleh Foreign Service Institute of America yang dikutip dari http://www.businessinsider.co.id (2014) mengungkapkan bahwa Bahasa Korea menempati urutan kelima bahasa tersulit untuk dipelajari.
2
Mangkurat, dan Universitas Diponegoro (Halaman website Kedutaan Besar Republik Korea untuk Indonesia).
Sejumlah cara dapat digunakan untuk mempelajari bahasa Korea seperti mengikuti kursus, mendengarkan lagu, menonton serial dan film Korea serta melalui internet. Untuk menunjang proses pembelajaran tersebut dapat digunakan kamus cetak sebagai alat bantu, sejauh ini terdapat beberapa kendala yang dihadapi dalam penggunaan kamus cetak salah satunya membutuhkan waktu yang lama untuk mencari kata yang diinginkan. Hal ini didukung hasil kuesioner yang dilakukan peneliti terhadap 25 orang pada bulan Oktober 2014. Berdasarkan hasil kuesioner, penggunaan kamus cetak untuk mencari arti kata cenderung tidak efisien karena pengguna harus membolak-balik halaman kamus dan dalam melakukan pencarian harus teliti. Salah satu solusi untuk mengatasi permasalahan tersebut adalah dengan menggunakan aplikasi kamus berbasis android. Pengguna dapat menginstall aplikasi kamus pada android yang dimiliki, dan dapat dengan mudah mencari kata-kata yang tidak dimengerti secara offline.
3
tersebut lebih rendah atau lebih tinggi, maka tabel tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses kembali secara rekursif (Dewi, 2010). Alasan dipilihnya algoritma ini karena kompleksitas algoritmanya yang lebih kecil daripada kompleksitas algoritma Sequential Search. Perbandingan algoritma pencarian dapat dilihat pada tabel 2.1.
Peneliti menggunakan smartphone berbasis android untuk pembuatan aplikasi kamus ini. Data yang dirilis oleh IDC (International Data Corporation), (2014) menunjukkan bahwa market share sistem operasi pada smartphone didominasi oleh android., dan akan tetap menjadi sistem operasi dengan market share 80% pada tahun 2018.
Berdasarkan latar belakang diatas, penulis tertarik untuk membuat aplikasi kamus Bahasa Indonesia-Korea pada Sistem Operasi Android sebagai solusi dari proses menerjemah kata dalam Bahasa Indonesia ke Bahasa Korea. Hal ini yang mendasari penulis untuk membuat skripsi dengan judul
“Implementasi Algoritma Binary Search pada Pembuatan Aplikasi Kamus
Indonesia-Korea berbasis Android”.
1.2 Rumusan Masalah
4
1.3 Batasan Masalah
1. Metode pengumpulan data pada penelitian ini menggunakan studi pustaka dan kuesioner
2. Metode pengembangan sistem pada penelitian ini menggunakan metode Rapid Application Development (RAD)
3. Aplikasi ini menggunakan Algoritma Binary Search pada proses pencarian
4. Aplikasi dirancang untuk smartphone platform android versi 5.0 (Lolipop)
5. Aplikasi dirancang dengan bahasa pemograman Java (Eclipse Java IDE), Android SDK dan Android API Level 9
6. Data-data yang ada bersifat statis
7. Aplikasi ini dirancang untuk menerjemah kata Bahasa Indonesia ke Bahasa Korea dan sebaliknya secara offline
8. Aplikasi ini disertai pembelajaran dasar Bahasa Korea seperti pengenalan huruf dan frasa dalam bahasa Korea
1.4 Tujuan dan Mamfaat Penelitian 1.4.1 Tujuan Penelitian
5
1.4.2 Mamfaat Penelitian
Mamfaat dari penelitian ini adalah : a. Bagi penulis :
1. Dapat menerapkan Algoritma Binary Search pada proses pencarian kata bahasa Indonesia dan Korea
2. Menerapkan pengetahuan mengenai bahasa pemograman Android 3. Dapat mempelajari Bahasa Korea secara offline
b. Bagi universitas :
1. Menambah referensi literatur kepustakaan Universitas Negeri Syarif Hidayatullah Jakarta
2. Bahan masukan bagi mahasiswa UIN Syarif Hidayatullah Jakarta dalam pengembangan penulisan atau penelitian laiinnya terkait penulisan ini.
c. Bagi pengguna :
1. Pengguna bisa mendapatkan hasil terjemahan Bahasa Indonesia ke Bahasa Korea dan sebaliknya secara offline
2. Pengguna dapat mempelajari dasar Bahasa Korea diantaranya mengenal huruf, kalimat dan pelafalan
6
1.5 Sistematika Penulisan
Sistematika penulisan pada skripsi ini disusun kedalam lima bab, secara singakat akan diuraikan sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan dan mamfaat penelitian, metode penelitian dari sistematika penelitian
BAB II LANDASAN TEORI
Pada bab ini akan diuraikan teori-teori yang digunakan dalam pengembangan sistem dan relevan dengan permasalahan yang ada.
BAB III Metode Penelitian
7
BAB IV PEMBAHASAN
Bab ini menjelaskan implementasi aplikasi, sarana yang dibutuhkan, petunjuk penggunaan aplikasi serta hasil evaluasi dari penelitian ini
BAB V PENUTUP
8
BAB II
LANDASAN TEORI
2.1 Aplikasi
Aplikasi komputer menurut kamus online Cambridge Inggris, adalah sebuah program komputer yang didesain untuk mengerjakan tujuan tertentu. Menurut Dhanta (2009), aplikasi (application) adalah software yang dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu. Jadi dapat disimpulkan aplikasi merupakan software yang berfungsi untuk melakukan berbagai bentuk pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan penambahan data.
2.2 Kamus
9
Masih menurut Chaer (2009), padanan kata kamus dalam bahasa Inggris adalah dictionary, mulai digunakan pada karya tulis pada tahun 1526 dan berasal dari kata dalam bahasa Latin, yaitu dictionarum. Kata ini diturunkan dari katadictio yang berarti kata atau berkata. Padanannya dalam bahasa Belanda adalah woordenboek yang dibedakan dariwoordenschat yang dalam bahasa Indonesia dipadankan dengan perbendaharaan atau kosakata.
Kamus berguna membantu para pemakai untuk mengenal kata-kata baru berikut maknanya. Selain menerangkan makna kata, kamus juga memuat cara-cara mengucapkan kata tersebut, menerangkan asal kata serta memberikan contoh-contoh penggunaannya dalam masyarakat. Sebagaimana dikatakan pula oleh Samuel Johnson, Bapak leksikografi Inggris, Penyusun Dictionary of the English Language, bahwa fungsi kamus adalah memelihara kemurnian bahasa. Pendapat yang sama juga dikemukakan oleh Noah Webster, bapak leksikografi Amerika, penyusun An American Dictionary of The English Language (http://johnsonsdictionaryonline.com/).
2.3 Bahasa Indonesia
Kehadiran bahasa Indonesia sebelum dikukuhkan sebagai bahasa nasional Negara Kesatuan Republik Indonesia (NKRI) telah melalui perjalanan sejarah yang amat panjang. Perjalanan dimulai dari sebelum penjajah menapakkan kakinya masuk ke bumi, nusantara, sampai tercetusnya inspirasi dari persatuan pemuda Indonesia (Sumpah Pemuda, 1928: Oktober 28). Pada
butir ketiga sumpah pemuda terserbut, yang berbunyi “Kami poetra dan poetri
10
membuat bahasa Indonesia berbeda dari bahasa nasional bangsa lain (Muslich, 2010).
2.4 Bahasa Korea
Bahasa Korea digunakan di semenanjung Korea dengan jumlah pengguna bahasa di Korea Selatan 40 juta orang dan di Korea Utara 20 juta orang. Selain itu di luar negeri Korea, China 2,1 juta orang, Amerika Serikat 2,1 juta orang, Jepang 600 ribu orang. Apabila para keturunan Korea yang jumlahnya tidak sedikit itu dianggap menggunakan bahasa Korea, maka bahasa Korea memiliki jumlah populasi pengguna bahasa peringkat 20 di dunia (Lestari, 2013).
Bahasa Korea dibuat pada zaman Chosun tahun 1443 oleh Raja Sejong dan beberapa ilmuwan saat itu. Raja Sejong merupakan penguasa terbesar dalam sejarah Korea. Salah satu alasannya adalah karena dia menciptakan
”Hangeul”, sistem penulisan bahasa Korea pada tahun 1443 M. Sebelum
”Hangeul” ditemukan bangsa Korea menggunakan huruf-huruf
Cina,”Hanja”, akan tetapi ”Hanja” bukanlah struktur yang tepat dan
11
Huruf atau abjad Korea dibagi menjadi 4 bagian, yaitu huruf vokal, huruf konsonan, huruf gabungan vokal, huruf gabungan konsonan. Pada awal penciptaan huruf ini memang hanya terdiri dari vokal dan konsonan saja. Tetapi kemudian pada perkembangannya ditambahkan lagi gabungan vokal dan gabungan konsonan (Lestari,2013).
1. Huruf vokal
Tabel 2.1 Tabel Huruf Vokal Huruf Korea Latin Bunyinya
A a dalam ah
Tabel 2.2 Tabel Huruf Konsonan Huruf Korea Latin Bunyinya
12
Tabel 2.3 Tabel Huruf Gabungan Vokal Huruf Korea Latin Bunyinya
애 Ae e dalam sate
4. Huruf gabungan konsonan
Tabel 2.4 Tabel Huruf Gabungan Konsonan Huruf Korea Latin Bunyinya
13
2.5 Algoritma
Algoritma menurut Levitin (2011) adalah urutan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh output yang diperlukan untuk setiap input yang sah dalam jumlah waktu yang terbatas. Berikut adalah poin penting dari algoritma:
a. Setiap langkah dari algoritma tidak boleh ambigu.
b. Wilayah input untuk algoritma yang bekerja harus ditentukan dengan hati-hati.
c. Algoritma yang sama dapat direpresentasikan dalam beberapa cara yang berbeda.
d. Ada beberapa algoritma yang digunakan untuk memecahkan masalah yang sama.
e. Algoritma untuk masalah yang sama didasarkan pada ide-ide yang s berbeda dan dapat memecahkan masalah dengan kecepatan yang berbeda secara dramatis.
Menurut Cormen, Leiserson, Rivest, Stein (2009) secara informal, algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang mengambil beberapa nilai, atau mengatur nilai-nilai, sebagai input dan menghasilkan beberapa nilai, atau mengatur nilai-nilai, sebagai output. Dengan demikian algoritma merupakan urutan langkah komputasi yang mengubah input
menjadi output.
14
dengan baik. Secara umum, pernyataan masalah menentukan hubungan antara data input dan data output yang diinginkan. Algoritma itu sendiri menjelaskan prosedur komputasi spesifik untuk mencapai hubungan antara input dan output. Pengurutan (sorting) dan pencarian (searching) merupakan konsep yang penting dalam dunia pemograman komputer. Selain itu pengurutan dan pencarian merupakan dua dari sekian banyak operasi yang paling banyak dipelajari dalam ilmu komputer (Nugroho, 2009)
Algoritma pengurutan dan pencarian membuat banyak sekali konsep dasar pemograman, yaitu (Nugroho, 2009)
a. Runtutan (sequence)
Kaidah pemograman yang menyatakan perintah-perintah dalam program komputer akan dieksekusi menurut urutan dari atas ke bawah
b. Seleksi (selection)
Perintah-perintah dalam program komputer yang akan dieksekusi berdasarkan nilai kebenaran boolean tertentu
c. Perulangan (loop)
Sejumlah perintah dalam program komputer yang akan dieksekusi beberapa kali berdasarkan nilai kebenaran boolean-nya
15
2.6 Algortima Binary Search
Pencarian dapat dilakukan dengan berbagai alogritma, antara lain dengan algoritma pencarian yang paling sederhana (Sequential Search) dan algoritma pencarian bagi dua (Binary Search), (Munir, 2011).
1. Pencarian Secara Linear (Sequential Search)
Sequential Search (pencarin beruntun) adalah proses
membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Algoritma pencarian secara linear digunakan untuk mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian pada tabel. Algoritma ini mempunyai dua jenis metode yaitu dengan
boolean dan tanpa boolean. Algoritma pencairan secara linear melakukan pengulangan sebanyak 1 kali untuk kasus terbaik (value sama dengan elemen pertama dalam tabel) dan Nmax kali untuk kasus terburuk. Sehingga algoritma ini mempunyai kompleksitas algoritma O(n).
2. Binary Search adalah algoritma pencarian yang menggunakan prinsip
16
tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses kembali secara rekursif.
Kompleksitas waktu terbaik algoritma ini adalah 1, sedangkan kompleksitas waktu terburuknya 2log n. Kompleksitas waktu terburuk ini dicapai pada kasus dimana record tidak ditemukan dalam tabel. Pada kasus ini, algoritma melakukan pembagian tabel hingga ukuran tabel sebesar 1 elemen. Jumlah langkah tersebut adalah 2log n. Karena pada setiap langkah dilakukan perbandingan yang merupakan basis dari penghitungan kompleksitas waktu algoritma pencarian, maka kompleksitas waktu terburuk algoritma ini adalah 2log n.
17
Berikut kelebihan dan kekurangan Algoritma Sequntial Search dengan Algortima Binary Search ;
Tabel 2.5 Perbandingan Algoritma (Munir, 2011)
Algoritma Kelebihan Kekurangan
Algoritma dalam keadaan terurut
Algoritma cukup sederhana
Jika elemen yang dicari berada di akhir (indeks awal array), maka pencarian akan sangat lama, sehingga beban komputasi akan meningkat yang jumlahnya sangat banyak searching dalam metode ini Algoritmanya lebih
18
2.7 Android
2.7.1 Sejarah Android
Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru dalam pembuatan peranti lunak untuk smartphone. Kemudian untuk mengembangkan android, dibentuklah Open Handset Alliance, konsorsium dari tiga puluh empat perusahaan piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia (Safaat, 2011).
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler. Pada masa ini kebanyakan vendor-vendor telah memproduksi smartphone dan tablet
berbasis android, vendor-vendor itu antara lain HTC, Samsung, LG, Sony Ericsson, Nexian dan masih banyak lagi vendor di dunia yang memproduksi smartphone maupun perangkat tablet berbasis Android. Hal ini dikarenakan Android adalah sistem operasi yang open source
19
2.7.2 Versi Android
Berikut versi android sejak diluncurkan pertama kali : Tabel 2.6 Tabel Versi Android (Suprianto, 2012) Versi Android Diluncurkan Nama Kode
Beta 5 November 2007
1.0 23 September 2008
1.1 9 Februari 2009
1.5 30 April 2009 Cupcake
1.6 15 September 2009 Donut
2.0/2.1 26 Oktober 2009 Eclair
2.2 20 Mei 2010 Froyo
2.3 6 Desember 2010 Gingerbeard
3.0 22 Februari 2011 Honeycomb
4.0.1 19 Oktober 2011 Ice Cream Sandwich Sekitar Pertengahan 2012 Jelly Bean
20
2.7.3 Fitur-fitur Android
Sistem operasi android memiliki fitur-fitur sebagai berikut (Safaat,2011) :
a. Kerangka Kerja Aplikasi (application framework)
Digunakan untuk menulis aplikasi di android sehingga memungkinkan penggunaan kembali dan penggantian komponen. Kerangka kerja ini didukung oleh berbagai open source libraries seperti openssl, sqlite, dan libc serta didukung oleh libraries utama android. Kerangka kerja sistem operasi android didasarkan pada UNIX file system permission yang menjamin bahwa aplikasi-aplikasi tersebut hanya memiliki kemampuan yang diberikan oleh pemilik ponsel pada waktu penginstalan.
b. Dalvik Virtual Machine (DVM)
Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang menggunakan memori yang sangat rendah dan secara khusus dirancang untuk android untuk dijalankan pada
embedded system. DVM bekerja dengan baik pada situasi dengan tenaga yang rendah dan mengoptimalkan perangkat
21
menggabungkannya ke dalam satu atau lebih Dalvik Executable
(.dex). DVM dapat menggunakan kembali salinan informasi dari beberapa class file dan secara efektif mengurangi kebutuhan penyimpanan oleh setengah dari Java Archive (.jar)
file tradisional. Konversi antara kelas java dan format (.dex)
dilakukan dengan memasukan “dx tool”.
DVM menggunakan assembly-code yang berbeda dimana DVM menggunakan register sebagai unit utama dari penyimpanan data daripada menggunakan stack. Hasil akhir dari
executable-code pada android, merupakan hasil dari DVM yang didasarkan
bukan pada java byte-code melainkan pada file (.dex). Hal ini berarti pada java byte-code tidak dieksekusi secara langsung melainkan dimulai dari java class file terlebih dahulu dan kemudian mengkonversikannya kedalam file (.dex) yang berhubungan.
c. Browser yang terintegrasi
Didasarkan pada open source WebKit engine yang memiliki dua
layout dan pengelompokan frame. Layout menampilkan
halaman tanpa menunggu untuk melakukan pemblokan element seperti eksternal Cascade Style Sheet (CSS) atau eksternal
22
tunggal dan memasukannya ke dalam browser. Fitur-fitur inilah yang meningkatkan kecepatan dan penggunaan browsing
internet melalui ponsel. d. Grafik yang teroptimasi
Didukung oleh library grafis 2D dan grafis 3D yang berdasarkan spesifikasi OpenGI ES 1.0 (akselerasi perangkat keras bersifat opsional).
e. Sqlite
Sqlite merupakan relational database management system yang kecil (sekitar 500kb) yang diintegrasikan pada sistem operasi android. Sqlite didasarkan pada function calls dan single file,
dimana semua defenisi, tabel, dan data disimpan.
f. Dukungan media untuk suara, video dan format gambar seperti
Moving Picture Experts Group 4 (MPEG4), MPEG-1 or
MPEG-2 Audio Layer 3 (MP3), Advanced Audio Coding
(ACC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Expert Group (JPG), Portable Network Graphics
(PNG), Graphics Interchange Format (GIF).
g. GSM Telephony (bergantung dari perangkat keras yang
digunakan).
h. Bluetooth, Enhanced Data rates for GSM Evolution (EDGE), 3rd Generation (3G), dan WiFiTM (bergantung dari perangkat
23
i. Kamera, Global Postioning System (GPS), kompas dan accelerometer (bergantung dari perangkat keras yang digunakan).
j. Lingkungan pengembangan yang lengkap, seperti emulator, peralatan untuk debugging, memori dan performance profiling,
serta plug-in untuk Eclipse IDE.
2.7.4 Sistem Arsitektur Operasi Android
Berikut adalah gambar arsitektur dari sistem Android :
Gambar 2.1 Arsitektur Sistem Android (Safaat, 2011)
24
1. Linux Kernel
Android menggunakan sistem operasi Linux kernel. Linux kernel menangani berbagai layanan yang utama pada Android (termasuk
hardware drivers, manajemen proses dan memori, security, network,
power management, dan berbagai layanan sistem operasi lainnnya). 2. Libraries (Native Libraries)
Lapisan di atas Linux kernel adalah lapisan native libraries. Native libraries merupakan libraries yang ditulis dalam bahasa C / C++,
di-compile untuk arsitektur perangkat keras tertentu yang digunakan oleh telepon, dan di-install oleh phone vendor.
Beberapa contoh native libraries yang penting :
Surface Manager digunakan untuk mengatur akses pada subsistem
tampilan dan dengan mulus menggabungkan lapisan grafis 2D dan 3D dari beberapa aplikasi.
Graphics libraries mencakup SGL dan OpenGL untuk grafik 2D
dan 3D.
Media library digunakan untuk pemutaran dan perekaman media
audio dan video.
Sqlitedatabase engine untuk pengelolaan database.
WebKit digunakan untuk web browser dan SSL untuk keamanan
25
3. Android Runtime
Android runtime adalah engine yang mendayai aplikasi dan bersama dengan libraries, membentuk dasar dari kerangka kerja aplikasi. Android runtime mencakup Dalvik virtual machine dan core libraries.
Dalvik virtual machine
Dalvik adalah mesin virtual berbasis register yang telah dioptimalkan sehingga perangkat dapat menjalankan beberapa aplikasi secara efisien.
Core libraries
Core libraries pada Android menyediakan sebagian besar fungsi yang ada pada core Java libraries dan libraries khusus Android lainnya.
4. Application Framework
Application framework mencakup kelas-kelas yang digunakan untuk menciptakan aplikasi Android. Application framework ini membantu dalam pengaksesan perangkat keras dan mengelola sumber daya user interface dan aplikasi.
5. Application dan Widgets
Application atau aplikasi adalah program yang bisa mengambil alih seluruh layar dan berinteraksi dengan pengguna. Sementara, widgets
26
2.8 Phonegap
Phonegap adalah sebuag kerangka kerja/framework open source untuk membuat aplikasi yang dijalankan pada banyak perangkat mobile. Phonegap menggunakan bahasa pemograman web, yaitu HTML,CSS dan JavaScript sebagai bahasa utama (Ikapi, 2014).
Berikut kelebihan dan kekurangan phonegap
Kelebihan Kekurangan
1. Mendukung banyak platform seperti iPhone, Android, Blackberry, Symbian. WP7, dan PalmOS
2. Mendukung akses hardware pada native API di platform yang didukung
1. Fitur terbatas
2. Tools yang tersedia kurang powerfull dan lengkap
Berikut komponen penyusun phonegap : 1. HTML
27
memiliki tag-tag yang telah didefiniskan dapat menggunakan huruf besar atau kecil, karena HTML tidak case sensitive. Penulisan tag-tag HTML sebagai berikut : <html>
<head>
<meta charset=”utf-8”> <tittle> Judul Dokumen</title> </head>
<body> </html>
2. CSS
CSS (Cascading Style Sheets) adalah suatu fasilitas untuk mempermudah pemeliharaan sebuah halaman web, dengan menggunakan CSS sebuah halaman web dapat diubah tampilannya tanpa harus mengubah dokument HTM-nya. Penulisan CSS biasanya sebagai berikut :
nama_style_atau_nama_tag_HTML { nama_atribut : argumen; ...
28
Misalnya untuk mendefinisikan gaya penulisan paragraf pada dokument HTML, maka dapat ditulis sebagai berikut:
P {
font : Arial 12pt italic; color: green;
}
Maka semua paragraf pada halaman HTML akan menggunakan huruf berjenis Arial dengan ukuran 12 point bergaya italic da berwarna hijau.
3. JavaScript
JavaScript adalah bahasa script yang berbasis pada bahasa pemograman Java, namun JavaScript bukanlah bagian teknologi Java dari SUN. Cara kerja JavaScript adalah dengan mengakses elemen pada HTML dan membuat aksi jika elemen-elemen HTML itu mengalami perubahan, misalnya merubah warna halaman begitu tombol diklik. JavaScript dapat ditulis secara inline atau file dengan dokumen HTML atau juga dapat ditulis secara terpisah dengan ekstensi .js. JavaScript yang ditulis satu file dengan dokumen HTML dapat ditulis sebagi berikut :
29
Jquery Mobile adalah sistem antarmuka HTML5 yang didesain untuk membuat web responsive dan aplikasi yang dapat diakses di semua smartphone., tablets dan desktop. Jquery Mobile dibangun dengan rock-solid Jquery dan UI
2.9 Software Pendukung
2.9.1 Android Software Development Kit (Android SDK)
Android SDK adalah adalah tools API (Application
Programming Interface) yang diperlukan untuk mengembangkan
30
2.9.2 Android Development Tool (Android ADT)
ADT (Android Development Tools) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE Eclipse . Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project android, membuat GUI aplikasi, dan menambahkan komponen-komponen lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse. Dengan ADT juga dapat dilakukan pembuatan package android (.apk) yang digunakan untuk distribusi perancangan aplikasi android (Safaat,2012).
2.9.3 Eclipse
Eclipse adalah sebuah IDE (Integrated Development
Environment) untuk mengembangkan perangkat lunak dan dapat
dijalankan di semua platform (platform independent), (Fatimah, 2012). Berikut ini adalah sifat dari Eclipse, yaitu :
1. Multi-platform
Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X
2. Multi-language
31
pemograman lain seperti C/C++, Cobol, Phyton, Perl, PHP dan lainnya.
3. Multi-role
Digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan web dan lain sebagainya.
2.10 Kuesioner
Menurut Arikunto (2013) kuesioner adalah sejumlah pertanyaan tertulis yang digunakan untuk memperoleh informasi dari responden. Kuesioner mempunyai kelebihan sendiri apabila dibandingkan dengan cara wawancara yang mempunyai kemampuan jelajah terbatas pada keadaan pewawancara.
Menurt Subagyo (2011) kuesioner dapat dibedakan menjadi 3 dipandang dari cara menjawab, yaitu :
1. Kuesioner terbuka, yang memberikan kesempatan kepada responden untuk menjawab dengan kalimatnya sendiri
2. Kuesioner tertutup , yang sudah disediakan jawabannya sehingga responden tinggal memilih
3. Campuran
32
dipilih karena karakteristik atau kualitas tertentu, dan mengabaikan mereka yang tidak memenuhi kriteria yang ditentukan (Agung, 2014).
2.11 Rapid Application Development (RAD)
Metode perancangan yang digunakan dalam pengembangan aplikasi ini mengikuti model RAD. Rapid Application Development (RAD) adalah model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek (Rosa & Shalahuddin, 2011). RAD merupakan gabungan dari bermacam-macam teknik terstruktur dengan teknik prototyping dan teknik pengembangan joint application untuk mempercepat pengembangan sistem/aplikasi. Dari definisi-definisi konsep RAD ini, dapat dilihat bahwa pengembangan aplikasi dengan menggunakan metode RAD ini dapat dilakukan dalam waktu yang relatif lebih cepat.
Pemaparan konsep yang lebih spesifik lagi dijelaskan oleh Pressman (2014) dalam bukunya, “Software Engineering: A Practitioner’sApproach”, mengatakan bahwa RAD adalah proses model perangkat lunak inkremental yang menekankan siklus pengembangan yang singkat. Model RAD adalah
sebuah adaptasi “kecepatan tinggi” dari model waterfall, di mana
perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan baik, proses RAD memungkinkan tim
pengembang untuk menciptakan sebuah “sistem yang berfungsi penuh”
33
implementasi metode RAD akan berjalan maksimal jika pengembang aplikasi telah merumuskan kebutuhan dan ruang lingkup pengembangan aplikasi dengan baik.
Sedangkan menurut Kendall (2010), RAD adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. RAD bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan sistem tradisional antara perancangan dan penerapan suatu sistem informasi.
RAD memiliki tiga fase utama dalam pengembangan sistem, yaitu : (Kendall dan Kendall, 2010)
1. Fase Requirement Planning
34
2. Fase Workshop Design
Fase ini adalah fase untuk merancang dan memperbaiki yang dapat digambarkan sebagai workshop. Selama workshop desain RAD, pengguna merespon working model yang ada dan menganalisa, memperbaiki modul-modul yang dirancang menggunakan perangkat lunak berdasarkan respon pengguna. 3. Fase Implementasi
Analis bekerja secara intens dengan pengguna selama workshop desain untuk merancang aspek-aspek bisnis dan non-teknis dari proses bisnis yang ada. Setelah aspek-aspek disetujui dan sistem dibangun dan di-sharing, sub-sub sistem diujicoba dan diperkenalkan kepada stakeholder.
35
Berikut perbandingan metodologi penelitian menurut Kendall & Kendall (2010) :
Tabel 3.1 Perbandingan Metode Penelitian
Metode Penelitian Kelebihan Kekurangan
Waterfall 1. Cocok untuk
sistem software
berskala besar 2. Pengerjaan project
system akan Prototyping 1. Melibatkan user
dalam analisa dan desain
36
Rapid Application Development
1. Mengikuti tahapan pengembangan
2. Setiap fungsi dapat dimodulkan dalam
37
Menurut Kendall & Kendall (2010), model RAD memiliki keuntungan sebagai berikut :
1. Dapat mempersingkat waktu yang biasanya diperlukan dalam SHPS (Siklus Hidup Pengembangan Sistem) tradisional antara perancangan dan sistem informasi
2. Pengembangan aplikasi cepat dapat digunakan sebagai perangkatyang tajam dan dimaksudkan untuk memperbahrui, meningkatkan, dan menyeleksi bagian-bagian terpilih dari suatu sistem
2.12 Unified Model Language (UML)
2.12.1 Pengertian Unified Model Language (UML)
Menurut Nugroho (2010) UML singkatan dari Unified Modelling Language yang berarti bahasa pemodelan standar. UML memiliki sintaks dan semantik. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk :
1. Merancang perangkat lunak
2. Sarana komunikasi antara perangkat lunak dengan proses bisnis 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang
diperlukan sistem
4. Mendokumentasi sistem yang ada, proses-proses dan organisasinya
38
2.12.2 Diagram UML
Menurut Nugroho (2010), UML (Unified Modelling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Pemodelan sesungguhnya digunakan untuk penyerdehanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih muda untuk dipelajari dan dipahami.
UML terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah ini (Rosa&Shalahuddin, 2011) :
Berikut penjelasan singkat dari pembagian kategori tersebut: a. Structure diagrams, yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
b. Behaviour diagrams, yaitu kumpulan diagram yang digunakan
untuk menggambarkan kelakukan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
39
Dalam penerapannya penulis menggunakan empat tipe diagram Unified Modelling Language (UML), yaitu Use case Diagram, Activity Diagram, Sequence Diagram, dan Class Diagram
2.12.3 Use case Diagram
Use case diagram merupakan pemodelan untuk kelakuan (behaviour) sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem. Use case
digunakan untuk mengetahui fungsi apa saja yang ada pada suatu sistem, dan siapa saja yang berhak menggunakan fungsi tersebut (Rosa&Shalahuddin, 2011).
Syarat penamaan pada use case, adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat
Use case merupakan fungsionalitas yang disediakan sistem
40
Berikut adalah simbol-simbol yang ada pada diagram use case : Tabel 2.8 Simbol Use Case Diagram
Simbol Deskripsi
Use case Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
Aktor / actor Orang, proses atau sistem lain yang berinteraksi dengan sistem yang akan dibuat
Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case
yang memiliki interaksi dengan aktor
Ektensi / extend Relasi use case tambahan ke sebuah use case
yang dapat berdiri sendiri
Generalisasi / generalization Hubungan generalisasi dan spesialisasi (umum-khusus) antara dua buah use case
sehingga fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Menggunakan / include / uses
Relasi use case tambahan ke sebuah use case
41
fungsinya atau sebagai syarat dijalankan use case ini.
2.12.4 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan
workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor. Diagram aktivitas digunakan untuk mendefinisikan hal-hal berikut :
Rancangan proses bisnis setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
Urutan atau pengelompokan tampilan dari sistem/user interface sehingga setiap aktivitas dianggap meiliki sebuah rancangan antarmuka tampilan
42
Berikut adalah simbol-simbol yang ada pada diagram aktivitas :
Tabel 2.9 Simbol Activity Digram
Simbol Deskripsi
Status awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Percabangan / decision Asosiasi percabangan jika ada pilihan aktivitas lebih dari satu
Penggabungan / join Asosiasi penggabungan lebih dari satu aktivitas yang digabungkan menjadi satu
Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
2.12.5 Sequence Diagram
43
yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansi menjadi objek tersebut. Berikut adalah simbol-simbol yang digunakan pada diagram sekuen :
Tabel 2.10 Simbol Sequence Diagram
Simbol Deskripsi
Aktor Orang, proses atau sistem lain yang berinteraksi dengan sistem yang akan dibuat
Garis hidup / lifeline Menyatakan kehidupan sebuah objek
Objek Menyatakan objek yang berinteraksi
pesan
Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
Pesan tipe create Menyatakan suatu objek membuat objek yang lain
Pesan tipe call Menyatakan suatu objek memanggil operasi/ metode yang ada pada objek lain
Pesan tipe send Menyatakan suatu objek mengirimkan data.masukan.informasi ke objek lainnya
44
Pesan tipe return Menyatakan suatu objek telah menjalankan operasi atau metode yang menghasilakn suatu kembalian ke objek tertentu
Pesan tipe destroy Menyatakan suatu objek yang mengakhiri hidup objek yang lain
2.13 Pengujian Black Box
Pengujian adalah satu set aktifitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebenaran yang diinginkan. Aktifitas pengujian terdiri dari satu set atau sekumpulan langkah yang dapat menempatkan desain kasus uji yang spesifik dan metode pengujian. Secara umum pola pada perangkat lunak adalah sebagai berikut (Rosa dan Shalahuddin, 2011) :
Pengujian dimulai dari level komponen hingga integrasi antarkomponen menjadi sebuah sistem
Teknik pengujian berbeda-beda sesuai dengan berbagai sisi atau unit uji
45
Pengujian dan penirkutuan (debugging) merupakan aktivitas yang berbeda, tapi penirkutuan harus diakomodasi pada berbagai strategi pengujian.
Pengujian memiliki beberapa pendekatan sebagai berikut:
Black-Box Testing (Pengujian Kotak Hitam)
Yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.
Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah, misalkan untuk kasus proses login maka kasus uji yang dibuat adalah :
o Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar
o Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah, misalnya pemakai benar tapi kata sandi salah atau sebaliknya, atau keduanya salah
White-Box Testing (Pengujian Kotak Putih)
46
yang sesuai dengan spesifikasi kebutuhan. Pengujian kota putih dilakukan dengan memeriksa lojik dari kode program. Pembuatan kasus uji bisa mengikuti standar pengujian dari standar pemograman yang seharusnya.
2.14 Studi Literatur Sejenis
47
Tabel 2.11 Studi Literatur Sejenis No Judul Penelitian Penulis Tahun Algoritma Bahasa
Pemograman
Basis Aplikasi
Kelebihan Kekurangan
1. Pengembangan Kamus Istilah Psikologi Berbasis Mobile (Studi Kasus : Fakultas
Java Android Aplikasi ini menggunakan Algoritma Sequential Search pada proses pencariannya
Tidak ada audio
2. Aplikasi Pengenalan Dan Pembelajaran Bahasa Korea (Hangeul) Berbasis Android
Java Android 1. Aplikasi ini berisi tentang pembelajaran bahasa Korea
2. Desain menarik sehingga mudah untuk dipahami 3. Aplikasi bersifat offline
48
3. Membangun Aplikasi Kamus Indonesia Korea
Sulistyo Widodo
2011 Tanpa Algoritma
Java Netbeans 1. Dapat menerjemahkan bahasa Indonesia ke Korea dan sebaliknya
49
Dari beberapa penelitian sejenis yang dijadikan sebagai perbandingan dengan penelitian ini, terdapat beberapa kekurangan yang kemudian dijadikan sebagai acuan untuk pengembangan yang lebih baik pada aplikasi yang dirancang ini. Dari hasil studi penelitian sejenis yang dilakukan, maka dapat disimpulkan beberapa kelebihan yang ada pada penelitian ini, yaitu sebagai berikut :
1. Aplikasi ini dibangun berbasiskan platform android. Platform android dipilih karena sistem operasi ini memiliki market share sebanyak 80% 2. Aplikasi pencarian kata menggunakan algortima Binary Search.
Algoritma ini dipilih karena memiliki kompleksitas kecil sehingga proses pencarian singkat meskipun data kata banyak
3. Dapat menerjemahkan kata secara offline
50
BAB III
METODOLOGI PENBELITIAN
Dalam penyusunan skripsi ini, penulis melakukan tahapan yang dibutuhkan untuk mendapatkan hasil yang baik seperti dalam hal pengumpulan data dan informasi serta pengembangan sistem. Untuk itulah diperlukan adanya data-data dan informasi yang lengkap guna mendukung proses pembuatan aplikasi ini
3.1 Metode Pengumpulan Data 3.1.1 Studi Pustaka
Studi pustaka adalah serangkaian kegiatan yang berkenaan dengan metode pengumpulan data pustaka, membaca dan mencatat serta mengolah bahan penelitian. Data dan informasi peneliti kumpulkan berupa 15 buku referensi, 2 ebook, 1 jurnal 14 website dan 7 studi pustaka lainnya mengenai perancangan software aplikasi yang dijadikan acuan
3.1.2 Kuesioner
51
a. Kuesioner penelitian, kuesioner ini dilakukan sebelum penulis melakukan perancangan aplikasi. Pengumpulan data dengan kuesioner bertujuan untuk mengetahui minat pengguna terhadap aplikasi kamus Indonesia-Korea
b. Kuesioner hasil, kuesioner ini dilakukan penulis pada tahap pengujian aplikasi. Pengumpulan data dengan kuesioner ini bertujuan untuk mengetahui pendapat pengguna mengenai mamfaat dan kekurangan dari aplikasi.
3.2 Metode Pengembangan Sistem
Dalam pengembangan aplikasi kamus korea-indonesia ini, metode yang digunakan adalah RAD. Metode ini memiliki tiga fase yaitu fase perencanaan dan syarat-syarat, fase workshop desain, dan fase implementasi. Pemilihan metode ini dikarenakan aplikasi yang diharapkan mempunyai suatu desain yang dapat diterima oleh user dan dapat dikembangkan dengan mudah karena perancangan aplikasi ini masih membutuhkan pengembangan lebih lanjut. Alasan lain pemilihan metode ini adalah adanya batasan-batasan sistem yang dibutuhkan yang bertujuan agar sistem tidak mengalami perubahan. Selain itu RAD dipilih karena aplikasi kamus ini merupakan aplikasi sederhana. Berikut ini adalah empat fase pengembangan dalam metode RAD :
1. Fase Perencanaan dan Syarat-Syarat
52
tujuan tersebut. Berikut syarat-syarat yang diperlukan dalam pengembangan aplikasi ini :
a. Mengidentifikasi masalah pada hasil kuesioner.
b. Mempelajari Algoritma Binary Search sebagai algoritma pencarian kata pada aplikasi.
c. Mencari informasi kosakata bahasa Indonesia dan Korea yang akan menjadi sumber referensi.
d. Mencari pembelajaran dasar bahasa Korea serta fitur tambahan 2. Fase Workshop Design
Setelah fase perencanaan syarat-syarat telah dilakukan, fase selanjutnya adalah fase workshop design. Tahap ini berhubungan dengan bagaimana mendesain sistem agar sistem dapat berjalan dengan baik. Berikut tahapan yang dilakukan :
a. Perancangan algoritma Binary Search
b. Perancangan Proses
Pada tahap ini, perancangan proses mengunakan UML sebagai case
toolnya. Berikut empat diagram yang digunakan peneliti dalam pengembangan aplikasi ini :
1. UseCase Diagram
Pada proses peracangan ini, peneliti mendeskripsikan interaksi antara aktor dengan aplikasi yang dibuat bertujuan untuk mengetahui fungsi apa saja yang diperlukan oleh aplikasi. Usecase
53
Implementasi Algoritma Binary search pada Aplikasi Kamus Indonesia Korea berbasis Android. Berikut usecase diagaram yang digunakan pada aplikasi ini :
a. UseCase Cari Terjemahan (tabel 4.4) b. Use Case Lafal (tabel 4.5)
c. UseCase Belajar Hangul (tabel 4.6) d. UseCase Frasa (tabel 4.7)
e. UseCase Tentang (tabel 4.8) 2. Activity diagram
Pada proses ini peneliti menggambarkan aktivitas yang dilakukan oleh sistem. Berikut rancangan activity diagram yang dibuat pada penelitian ini :
a. Activity Diagram Terjemahan Kosakata (gamber 4.2)
b. Activity Diagram Lafal (gambar 4.3)
c. Activity Diagram Belajar Hangul (gambar 4.4) d. Activity Diagram Belajar Frasa (gambar 4.5) e. Activity Diagram Tentang (gambar 4.6)
3. Sequence diagram
Pada proses ini, peneliti mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antarobjek. Berikut rancangan diagram sequence dalam penelitin ini :
a. Sequence Diagram Terjemahan Kosakata (gambar 4.7)
54
c. Sequence diagram Belajar Hangul (gambar 4.9)
d. Sequence DiagramBelajar Frasa (gambar 4.10)
e. Sequence DiagramTentang (gambar 4.11)
c. Perancangan UserInterface
Perancangan antar muka merupakan mekanisme komunikasi antara pengguna dengan sistem. Interface dapat memberikan informasi kepada
user untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Pada perancangan interface, peneliti membuat 7 rancangan tampilan interface yaitu sebagai berikut :
1) Rancangan Tampilan Awal Aplikasi (Splash Screen) (gambar 4.11) 2) Rancangan Tampilan Home/Terjemahan (gambar 4.13)
3) Rancangan Tampilan Menu Bar (gambar 4.14) 4) Rancangan Tampilan Hangul (gambarr 4.15) 5) Rancangan Tampilan Frasa (gambar 4.17) 6) Rancangan Tampilan Tentang (gambar 4.19) d. Pengkodean
Pada tahap pengkodean, semua elemen yang berada pada daftar kebutuhan yang ada dimasukkan secara kode kedalam program menggunakan Eclipse, Phonegap, Android SDK dan ADT Plugin. 3. Fase Implementasi
55
a) Implementasi Interface
Fase ini menampilkan output dari rancangan interface berupa
printscreen aplikasi
b) Implementasi Perangkat Lunak
Fase ini menjelaskan perangkat lunak apa saja yang dibutuhkan dalam membangun aplikasi kamus Indonesia-Korea.
c) Instalasi Perangkat Keras
Fase ini menjelaskan perangkat keras apa saja yang digunakan dalam membangun aplikasi Indonesia-Korea
d) Pengujian Sistem
Setelah aplikasi diinstal pada smartphone android, tahapan selanjutnya pengujian aplikasi yang bertujuan melhat aplikasi berjalan dengan baik atau tidak. Tahapan pengujian aplikasi menggunakan pengujian Black box dalam 2 tahap, yaitu :
1) Pengujian Black box oleh peneliti, yaitu pengujian dilakukan untuk mengetahui error yang masih ada sebelum aplikasi digunakan oleh
user
2) Pegujian Black box oleh user, yaitu melakukan pengujian kepada 10 pengguna smartphone android. Pengujian dilakukan dengan cara
56
e) Analisis hasil pengujian
Menjelaskan proses analisis dari hasil pengujian aplikasi.
Untuk mengetahui lebih detail fase-fase yang dilakukan peneliti dalam pengembangan aplikasi ini dapat dilihat pada Bab IV yang membahas pengembangan sistem
3.3 Alasan Menggunakan RAD
Dari lima model perangkat lunak yang dikemukakan oleh Mishra dan Dubey (2013) dipilih model RAD sebagai metode pengembangan aplikasi dengan alasan sebagai berikut :
1. Aplikasi yang dirancang dan dikembangkan merupakan aplikasi yang sederhana dan tidak memerlukan waktu yang lama. Hal ini sesuai dengan tujuan dari RAD yaitu RAD digunakan untuk mempersingkat waktu antara perancangan dan penerapan aplikasi
2. Aplikasi ini sederhana dan tidak memakan waktu dan biaya
57
3.4 Kerangka Pemikiran Penelitian
Pengumpulan huruf dan frasa bahasa Korea
Implementasi Perangkat
58
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini peneliti akan menjelaskan tahapan-tahapan dalam membangun aplikasi kamus Indonesia – Korea menggunakan Algoritma Binary Search. Dalam pengembangan aplikasi, peneliti menggunakan metode RAD yang terdiri atas 3 tahapan yaitu, fase perencanaan dan syarat-syarat, fase workshop design, dan fase implementasi.
4.1 Fase Perencanaan Syarat – Syarat 4.1.1 Tujuan Pengembangan Aplikasi
Tujuan pengembangan dari aplikasi ini telah diurai oleh peneliti pada bab 1 adalah sebagai aplikasi yang dapat membantu pengguna untuk menertejemahkan bahasa Indonesia – Korea begitupun sebaliknya dan pembelajaran mengenai bahasa Korea.
Dengan adanya aplikasi ini, dapat membantu pengguna dalam memahami bahasa Korea sekaligus meningkatkan pemahaman kosakata bahasa Korea. Aplikasi ini dapat diakses dengan menggunakan
smartphone berbasis android.
4.1.2 Syarat-Syarat Informasi
59
a. Memepelajari Algoritma Binary Search
Algoritma Binary Search akan digunakan pada proses pencarian/ terjemahan kata. Proses terjemahan dimulai ketika pengguna akan memasukkan keyword yang akan dicari, kemudian algoritma Binary Search akan memulai proses pencarian dengan mencari data tengah dari kumpulan data selanjutnya keyword
dibandingkan dengan data tengah , apabila lebih besar dilakukan kembali perulangan dengan posisi data tengah +1, apabila lebih kecil dilakukan perulangan dengan data tengah -1, apabila sama dengan data tengah maka kata ditemukan
b. Mencari informasi Kosakata Indonesia dan Korea
c. Mencari materi pembelajaran dasar bahasa Korea serta fitur tambahan
4.2. Fase Workshop Desain
4.2.1 Perancangan Algoritma Binary Search
60
Tabel 4.1 Pseudocode Algortima Binary Search
Prosedur Cari
Keyword yang diinput oleh pengguna
Daftar kata
Mencari data tengah dengan rumus (posisi awal + posiswa akhir) /2
61 Indonesia-Korea sesuai dengan pseudocode diatas diatas adalah sebagai berikut :
1. Kata yang ingin dicari yaitu peta pada sekumpulan data berikut :
0 1 2 3 4 5 6
arloji desa jeruk makan minum peta sepuluh
계시기 마을 오렌지 먹다 한잔 지도 열
2. Pada tabel diatas dapat diketahui : key : peta (5)
min : arloji (0)
max : sepuluh (6)
3. Melakukan pencarian data tengah dengan algoritma Mid = (min + max) / 2
= (0 + 6) / 2
= 3 Indonesia
62
Jadi dapat diketahui bahwa data tengah sementara terdapat di indeks ke 3 yaitu kata Daftar
4. Kemudian dibandingkan apakah key lebih besar, lebih kecil atau sama dengan nilai mid secara alfabetis. Berhubung key lebih besar dari mid maka berlaku
binarysearch(Array,key,mid+1,max);
Kemudian dilakukan proses binary search dimana array dimulai dari indeks ke 4 sampai 6
Dilakukan pencarian data tengah Mid = (min + max) / 2
= (4 + 6) / 2
= 5
Kemudian didapat peta dengan posisi ke 5 sebagai data tengah 5. Selanjutnya dibandingkan apakah key lebih besar, lebih kecil
atau sama dengan nilai mid. Berhubung data tengah (peta) sama dengan key, maka ditemukan indeks peta = 5
6. Tampilkan nilai array Korea dengan indeks 5, maka didapat terjemahan dari kata peta sama dengan 지도
4 5 6
63
Berikut flowchart algoritma Binary Search :
Mulai
Gambar 4.1. Flowchart Algoritma Binary Search
4.2.2 Perancangan Proses 4.2.2.1 Use Case Diagram
Pada tahap ini, sistem akan digambarkan dalam bentuk UML. UML digunakan untuk membuat Use Case Diagram,
64
a. Identifikasi Actor
Adapaun actor pada aplikasi Kamus Indonesia – Korea diklasifikasikan menjadi satu yaitu pengguna (user). Pengguna mempunyai wewenang untuk melakukan penerjemahan kata, mempelajari bahasa Korea dan memberikan saran atau kritik kepada peneliti.
Tabel 4.2 Identifikasi Actor
No Actor Deskripsi
1. User User adalah semua pengguna yang akan menggunakan aplikasi ini dan memeliki wewenang untuk melakukan penerjemahan kata, mempelajari bahasa Korea dan memerikan kritik atau saran kepada peneliti.
b. Identifikasi Use Case
Pada tabel di bawah ini, akan dijelaskan fungsi-fungsi Use Case yang terdapat pada aplikasi ini dan siapa saja actor
yang dapat mengaksesnya.
Tabel 4.3 Identifikasi Use Case
No. Use Case Name Description Actor
1. Cari Terjemahan Use Case ini digunakan untuk memasukkan kata
65
dalam bahasa Indonesia untuk mencari terjemahan dalam bahasa Korea dan sebaliknya
2. Dengar lafal Use Case ini menggambarkan kegiatan untuk mendengarkan lafal kosakata terjemahan kosakata sehari-hari yang digunakan dalam bahasa Korea
c. Use Case Diagram Aplikasi
66
Gambar 4.2 Use Case Diagram Aplikasi Kamus Indonesia-Korea
Pada gambar 4.2 dapat dilihat apa saja interaksi yang dapat dilakukan oleh pengguna terhadap sistem. Pengguna dapat memilih kategori bahasa yang ingin diterjemahkan, belajar hangul dan kosakata bahasa Korea serta melihat informasi mengenai aplikasi dan peneliti.
d. Narasi Use Case Diagram
Narasi Use Case Diagram bertujuan untuk mendeskripsikan atau memperjelas Use Case Diagram. Berikut narasi Use Case :
Actor
Pilih kategori bahasa Dengar lafal
Belajar hangul
<<include>>
Belajar kosakata
67
1. Use Case Cari Terjemahan
Tabel 4.4 Use Case Narasi 1
Pelaku User
Deskripsi Use Case yang mendeskripsikan proses yang terjadi ketika pengguna memilih kategori kamus
Tujuan Memulai kategori kamus
Kondisi Awal Halaman home / Halaman dictionary
Bidang Khas Suatu Kegiatan Pengguna Respon Sistem 1. Pengguna
2. Aplikasi menampilkan halaman splash screen
3. Aplikasi menampilkan halaman utama
5. Aplikasi menampilkan pilihan kategori kamus 7. Aplikasi menampilkan
hasil terjemahan