APLIKASI PANDUAN KATA DALAM MENCARI
AYAT AL-QUR’AN JUZ 30 BERBASIS
JAVA MOBILE
FARUQ TATARAN
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
JAKARTA
APLIKASI PANDUAN KATA DALAM MENCARI
AYAT AL-QUR’AN JUZ 30 BERBASIS
JAVA MOBILE
Oleh:
FARUQ TATARAN
103091029567
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
APLIKASI PANDUAN KATA DALAM MENCARI
AYAT AL-QUR’AN JUZ 30 BERBASIS
JAVA MOBILE
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
FARUQ TATARAN
103091029567
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
APLIKASI PANDUAN KATA DALAM MENCARI AYAT
AL-QUR’AN JUZ 30 BERBASIS
JAVA MOBILE
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
FARUQ TATARAN
103091029567
Menyetujui,
Pembimbing I
Imam M. Shofi, MT
NIP. 19720205 200801 1 010
Pembimbing II
Victor Amrizal, M. Kom
NIP. 150 411 288
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT
PENGESAHAN UJIAN
Skripsi berjudul ”Aplikasi Panduan Kata Dalam Mencari Ayat
Al-Qur’an Juz 30 Berbasis
Java Mobile
”
yang
ditulis oleh Faruq Tataran, NIM
1039091029567 telah diuji dan dinyatakan lulus dalam sidang munaqosyah
Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah
Jakarta pada Hari Senin, Tanggal 1 Maret 2010. Skripsi ini telah diterima sebagai
salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) pada Program
Studi Teknik Informatika.
Jakarta, 1 Maret 2010
Menyetujui,
Penguji I
Husni Teja Sukmana, Ph.D
NIP. 19771030 200112 1 003
Penguji II
Herlino Nanang, MT
NIP. 19731209 200501 1 002
Pembimbing I
Imam M. Shofi, MT
NIP. 19720205 200801 1 010
Pembimbing II
Victor Amrizal, M. Kom
NIP. 150 411 288
Mengetahui,
Dekan Fakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra M. Sis
NIP. 19680117 200112 1 001
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT
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.
Jakarta, 1 Maret 2010
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarokaatuh
Segala puji kehadirat Allah SWT yang telah memberikan taufiq dan
hidayah-Nya, rahmat dan
maghfirah
-Nya sehingga penulis dapat menyelesaikan
pembuatan skripsi ini dengan baik. Skripsi ini merupakan salah satu tugas wajib
mahasiswa sebagai persyaratan untuk mendapatkan gelar Strata 1 (S1) pada
Program Studi Teknik Informatika UIN Syarifhidayatullah Jakarta. Shalawat serta
salam penulis haturkan kepada baginda Nabi Besar Muhammad SAW,
keluarganya, para sahabatnya yang pemberani, dan mudah-mudahan
syafa’atnya
bisa menolong kita di akhirat nanti.
Amin ya rabbal-‘alamin.
Penulis menyadari bahwa tanpa bantuan dan bimbingan dari berbagai
pihak, skripsi ini tidak akan terselesaikan dengan baik. Oleh karena itu, ijinkanlah
penulis menyampaikan ucapan terima kasih kepada:
1.
Bapak DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains
dan Teknologi UIN Syarif Hidayatullah Jakarta.
2.
Bapak Yusuf Durrachman, MIT, selaku Ketua Program Studi Teknik
Informatika dan Ibu Viva Arifin, MMSI, selaku Sekretaris Program Studi
Teknik Informatika, UIN Syarif Hidayatullah Jakarta.
3.
Bapak Imam M. Shofi, MT dan Bapak Victor Amrizal, M. Kom selaku
Dosen Pembimbing, yang sangat besar perhatiannya dalam memberikan
4.
Seluruh Dosen Program Studi Teknik Informatika Fakultas Sains dan
Teknologi UIN Syarif Hidayatullah Jakarta, yang telah memberikan
ilmunya selama penulis belajar.
5.
Segenap Karyawan Fakultas Sains dan Teknologi dan Program Studi
Teknik Informatika, yang telah memberikan pelayanannya selama penulis
belajar sampai selesai dalam penulisan skripsi.
6.
Seluruh pihak yang telah membantu dalam penyelesaian skripsi ini yang
tidak dapat disebutkan satu persatu
Penulisan skripsi ini masih jauh dari sempurna sehingga segala saran dan
kritik akan sangat membangun dan bermanfaat bagi kesempurnaan skripsi ini.
Akhir kata, penulis memohon maaf yang sebesar-besarnya kepada semua
pihak atas kekurangan dan kekhilafan yang telah penulis lakukan, baik secara
sengaja mapun tidak sengaja selama mengerjakan skripsi. Semoga skripsi ini
dapat bermanfaat bagi semua pihak dan segala bantuan yang telah diberikan
kepada penulis, akan mendapatkan balasan yang setimpal dari Allah SWT. Amin.
Wassalamu’alaikum Warahmatullahi Wabarakatuh
Tangerang, 6 Maret 2010
LEMBAR PERSEMBAHAN
Skripsi ini penulis persembahkan kepada beberapa pihak yang telah
memberi dukungan moril maupun materil, sehingga skripsi ini dapat terselesaikan
dengan baik. Diantaranya, yaitu:
1.
Ibunda tercinta, yang senantiasa memberikan dukungan, bantuan serta
do’a yang tiada henti. Almarhum Ayahanda tercinta, yang semasa hidup
selalu memberikan perhatian yang luar biasa terhadap penulis.
2.
Kakak-kakakku tercinta Mpo Zaitun, Bang Maman, Elly, Kak Nendah,
Bang Muli, Mpo Lala, Oi, Uun, Bang Ardi, Bang Ade. Dan adikku
Farid, serta seluruh keponakan-keponakanku, yang semuanya telah
memberikan motivasi, bantuan, nasehat dan selalu menghibur setiap
saat.
3.
Dimas Yudha Prawira yang telah banyak memberikan kontribusi dan
meminjamkan perangkat PC untuk membantu dalam menyelesaikan
aplikasi skripsi ini.
4.
Wildan Rizaluddin F, S. Kom yang telah banyak meluangkan waktu
untuk membantu memberikan ide-ide, dan sumbangan pemikiran selama
penyusunan skripsi.
5.
Ardiansyah yang telah membantu persiapan untuk seminar dan
meminjamkan laptop untuk presentasi seminar skripsi dan ujian skripsi.
6.
Sahabat kelasku yang senantiasa membantu, menasehati, dan menghibur
Iswan, Anwar, Dzakiyah, Arni, Rina, Hasyim, Iwan, Rizky, Iin, Sarah,
Ina dan semuanya yang tidak bisa penulis sebutkan satu persatu.
7.
Sahabat dirumah yang juga selalu membantu dan menghibur dalam
segala situasi, “Uwi, Abi, Imam, Fajri, Robi H, Robby M. Ishaq, Ajiz,
Adi, Tomy dan semuanya yang tidak bisa penulis sebutkan satu persatu.
8.
Seluruh teman-teman mahasiswa, khususnya angkatan 2003, yang telah
membantu dalam pembuatan skripsi ini yang tidak bisa disebutkan satu
persatu, yang memberikan kontribusinya dalam penyusunan skripsi ini.
Tangerang, 6 Maret 2010
DAFTAR ISI
Halaman Judul
... i
Lembar Pengesahan
Pembimbing
... ii
Lembar Pengesahan Ujian
... iii
Lembar Pernyataan
... iv
ABSTRAK
... v
KATA PENGANTAR
... vi
LEMBAR PERSEMBAHAN
... viii
DAFTAR ISI
... x
DAFTAR GAMBAR
... xiv
DAFTAR TABEL
... xvii
DAFTAR LAMPIRAN
... xviii
BAB I PENDAHULUAN
... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 3
1.2 Batasan Masalah ... 4
1.3 Tujuan Penelitian ... 5
1.4 Manfaat Penelitian ... 6
1.5 Metodologi Penelitian ... 7
1.5.1 Metode Pengumpulan Data ... 7
1.5.2 Metode Pengembangan Sistem ... 7
BAB II LANDASAN TEORI
... 10
2.1
Sistem Temu Kembali Informasi (
Informatin Retreival
) ... 10
2.2
Algoritma Pencarian ... 12
2.2.1 Pencarian Sekuensial ... 13
2.2.2 Pencarian Biner ... 14
2.2.3 Pencarian Interpolasi ... 15
2.3
Rapid Application Development
(RAD) ... 16
2.4
Analisis Program ... 17
2.4.1 Pseudocode ... 17
2.4.2 Diagram Alur (
Flowchart
)... 18
2.5
Sekilas Tentang Konkordansi Al-Qur’an ... 19
2.6
Pembahasan Umum Java ... 21
2.7
Java 2 Platform Micro Edition
(J2ME) ... 23
2.7.1 Sekilas tentang J2ME ... 23
2.7.2 J2ME
Configuration
... 24
2.7.3 J2ME
Profile
... 26
2.7.4
Kilo Virtual Machine
(KVM) ... 27
2.7.5
Midlets
... 27
2.7.5.1 Daur Hidup
Midlet
... 28
2.7.5.2
Emulator
perangkat
Midlet
... 31
2.7.5.3
Java Application Descriptor
(JAD)
... 32
2.8
Teknik Pengujian Aplikasi ... 32
2.8.2 Sekilas tentang Pengujian White-Box ... 33
2.9
Unified Modelling Language
(UML) ... 34
2.9.1 Sekilas tentang UML ... 34
2.9.2 Diagram-diagram dalam UML ... 35
2.9.2.1
Use Case Diagram
... 35
2.9.2.2
Sequence Diagram
... 37
2.9.2.3
Class Diagram
... 38
2.9.2.4
Activity Diagram
... 40
BAB III METODOLOGI PENELITIAN
... 42
3.1
Pengumpulan Data ... 42
3.2
Pengembangan Sistem ... 42
3.3
Keunggulan dan Kelemahan RAD ... 49
BAB IV PERANCANGAN PROGRAM DAN IMPLEMENTASI
... 52
4.1
Fase Menentukan Tujuan dan Syarat-Syarat Informasi ... 52
4.1.1 Tujuan Informasi ... 52
4.1.2 Syarat-syarat Informasi ... 53
4.2 Fase Perancangan ... 54
4.2.1 Perancangan Diagram UML... 55
4.2.1.1
Use Case Diagram
... 55
4.2.1.2
Sequence Diagram ...
60
4.2.1.4 Activity Diagram ... 67
4.2.2 Perancangan Basis Data ... 69
4.2.3 Perancangan Antarmuka ... 70
4.3 Fase Konstruksi ... 85
4.4 Fase Pelaksanaan ... 86
4.4.1 Spesifikasi Ponsel yang digunakan ... 86
4.4.2 Transfer Aplikasi dari PC ke dalam Ponsel dan Instalasi ... 87
4.4.3 Pengujian Aplikasi pada Ponsel
Nokia N70 ...
88
4.4.4 Tanggapan
pengguna
... 97
BAB V PENUTUP
... 101
5.1
Kesimpulan ... 101
5.2
Saran ... 102
DAFTAR PUSTAKA
... 103
DAFTAR GAMBAR
Gambar 2.1 Hubungan antara J2EE, J2SE dan J2ME ...22
Gambar 2.2 Arsitektur
High Level View
J2ME ...23
Gambar 2.3 Posisi CLDC dalam Arsitektur J2ME ...25
Gambar 2.4 Posisi MIDP dalam Arsitektur J2ME ...27
Gambar 2.5 Posisi KVM pada Arsitektur J2ME ...27
Gambar 2.6 Siklus daur hidup sebuah
MIDlet
...31
Gambar 2.7 Contoh
emulator
J2ME
Wireless Toolkit
2.5 ...32
Gambar 2.8 Notasi
Use Case
dan
Actor
...36
Gambar 2.9 Contoh
Use Case Diagram
...36
Gambar 2.10 Contoh
Sequence Diagram
...38
Gambar 2.11 Notasi
Class
dalam UML ...39
Gambar 2.12 Contoh
Class Diagram
...40
Gambar 3.1 Fase-Fase RAD James Martin ...43
Gambar 3.1 Fase-fase Penegembangan Aplikasi ...44
Gambar 4.1
Use Case Diagram
Aplikasi ...55
Gambar 4.2
Sequence Diagram
Daftar Kategori ...61
Gambar 4.3
Sequence Diagram
Cari Kata ...62
Gambar 4.4
Sequence Diagram
Kata Berawalan ...62
Gambar 4.5
Sequence Diagram
Kata Pelengkap ...63
Gambar 4.6
Sequence Diagram
Pedoman dan Keterangan ...64
Gambar 4.7
Class Diagram
Aplikasi ...65
Gambar 4.9
Activity Diagram
...68
Gambar 4.10 Rancangan Basis Data Konkordansi Huruf A ...69
Gambar 4.11 Rancangan Basis Data Surat An Naba ...70
Gambar 4.12 Rancangan
Form Splash Screen
...71
Gambar 4.13 Rancangan
List
Menu Utama ...72
Gambar 4.14 Rancangan
Ticker
Sambutan ...73
Gambar 4.15 Rancangan
List
Daftar Konkordansi ...74
Gambar 4.16 Rancangan
Form
Indeks A s/d Z ...75
Gambar 4.17 Rancangan
Form
Pencarian Kata ...76
Gambar 4.18 Rancangan
Form
Hasil Cari ...77
Gambar 4.19 Rancangan
List
Menu Bantuan ...78
Gambar 4.20 Rancangan
Form
Panduan ...79
Gambar 4.21 Rancangan
Form
Kata Berawalan ...79
Gambar 4.22 Rancangan
Form
Kata Pelengkap ...80
Gambar 4.23 Rancangan
form
Daftar Surat Juz 30 ...81
Gambar 4.24 Rancangan
Form
Pedoman dan Keterangan ...81
Gambar 4.25 Rancangan
List
Tentang Program ...82
Gambar 4.26 Rancangan
Form
Tentang Program ...83
Gambar 4.27 Rancangan
Form
Sumber Referensi ...84
Gambar 4.28 Rancangan
Form
Ucapan ...84
Gambar 4.29 Perancangan Aplikasi menggunakan Netbeans 6.0 ...85
Gambar 4.30 Ponsel
Nokia N70
yang digunakan ...86
Gambar 4.32 Tampilan menu Daftar Kategori ...89
Gambar 4.33 Tampilan Proses Cari Kata diterima ...90
Gambar 4.34 Tampilan Proses Cari Kata tidak diterima ...91
Gambar 4.35 Tampilan Kata Berawalan ...92
Gambar 4.36 Tampilan Kata Pelengkap ...93
DAFTAR TABEL
Tabel 2.1 Simbol-simbol FlowChart ...18
Tabel 2.2 Tabel Perbandingan antara CLDC dan CDC ...25
Tabel 4.1 Spesifikasi
Use Case
Daftar Konkordansi ...56
Tabel 4.2 Spesifikasi
Use Case
Cari Kata ...57
Tabel 4.3 Spesifikasi
Use Case
Kata Berawalan ...58
Tabel 4.4 Spesifikasi
Use Case
Kata Pelengkap ...58
Tabel 4.5 Spesifikasi
Use Case
Pedoman dan Keterangan ...59
Tabel 4.6 Spesifikasi Ponsel yang digunakan ...87
Tabel 4.7 Pengujian
Fitur Daftar Kategori
...88
Tabel 4.8 Pengujian
Fitur Cari Kata
Diterima...89
Tabel 4.9 Pengujian
Fitur Cari Kata
Tidak
Diterima ...90
Tabel 4.10 Pengujian
Fitur Kata Berawalan
...91
Tabel 4.11 Pengujian
Fitur Kata Pelengkap
...92
Tabel 4.12 Pengujian
Fitur Pedoman & Keterangan
...93
Tabel 4.13 Hasil Pengujian Kinerja Aplikasi ...95
DAFTAR LAMPIRAN
Lampiran I
Tampilan Aplikasi... I-1
Lampiran II
Proses Konstruksi Program ... II-1
Lampiran III
Transfer Aplikasi dan Instalasi ... III-1
Lampiran IV
Source Code ...
IV-1
Lampiran V
Contoh dan Hasil Kuisioner ... V-1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Perkembangan teknologi komunikasi yang begitu cepat, terutama
teknologi
mobile device
seperti
handphone, PDA phone, smart phone
, sampai
Pocket PC
sepertinya tidak terelakkan lagi. Karena memang kebutuhan
komunikasi yang cepat sekarang ini merupakan kebutuhan hidup sehari-hari
bagi masyarakat, apalagi masyarakat yang hidup di kota-kota besar.
Banyaknya
vendor
perangkat
mobile
yang bermunculan menyebabkan
perkembangan teknologi komunikasi di Indonesia tumbuh dengan pesat.
Pencarian suatu ayat Al-Qur’an untuk keperluan tertentu dengan
mencarinya langsung menggunakan cara konvensional dirasakan sebagian
orang akan memerlukan waktu yang agak lama. Mungkin sebagian orang
pernah mengetahui atau ingat sebuah kata dalam suatu ayat tetapi tak dapat
mengenal bunyi ayat seutuhnya, atau mengetahui sebuah ayat sepenuhnya,
tetapi ternyata tidak mudah mencarinya dalam Al-Qur’an.
Berangkat dari permasalahan di atas, aplikasi semacam ini memang
terasa perlunya, mengingat Al-Qur’an sebagai pegangan dasar selalu menjadi
acuan kita dalam menghadapi suatu masalah, baik dalam agama, masalah
budaya dalam berbagai seginya atau masalah kehidupan kita sehari-hari.
Dalam Aplikasi ini juga terdapat beberapa menu bantuan yang ada
Berawalan, Kata Pelengkap, dan Pedoman dan Keterangan. Meskipun tidak
secara harfiah, setidak-tidaknya menu ini dapat memberi isyarat mengenai
masalah yang kira-kira ada kaitannya dengan ayat yang dicari.
Pembuatan aplikasi ini tidak terlepas dari sudah banyaknya perangkat
mobile
yang sudah mendukung aplikasi JAVA (J2ME) di pasaran. Dengan
teknologi "
write once run everywhere
" aplikasi-aplikasi untuk perangkat
mobile
dapat dikembangkan menggunakan teknologi JAVA.
Java 2 Micro Edition
(J2ME) digunakan untuk menjalankan dan
mengembangkan aplikasi-aplikasi pada perangkat
mobile
yang memiliki
memori dan kapasitas penyimpanan terbatas seperti
handphone, PDA
(Personal Digital Assistance)
, dan
Poket PC
. J2ME memiliki beberapa
komponen yang terdiri dari
Java Virtual Machine
(JVM) yang digunakan
untuk menjalankan aplikasi Java pada
emulator
atau
handled device
, JAVA
API (
Application
Programming Interface
), dan
tools
lain untuk
pengembangan aplikasi JAVA semacam
emulator
Java Phone
dan J2ME
wireless toolkit
. Dalam pengembangan aplikasi
mobile
dengan JAVA, J2ME
dibagi menjadi dua buah bagian di antaranya adalah bagian
configuration
dan
profile
. J2ME mempunyai dua konfigurasi yaitu
Connected Limited Device
Configuration (CLDC)
dan
Connected Device Configuration (CDC)
. J2ME
mempunyai beberapa profile yang salah satunya adalah
Mobile Information
Device Profile (MIDP)
yang paling banyak digunakan pada
Oleh karena itu, dengan semakin banyaknya perangkat
mobile
yang
berbasis JAVA, maka penulis ingin mendalami teknologi pemrograman JAVA
khususnya teknologi J2ME dengan membangun aplikasi ini.
1.2
Perumusan Masalah
Sesuai dengan inti dari penulisan skripsi, maka permasalahan yang
dapat penulis simpulkan yaitu :
1.
Bagaimana sistem (yang aplikasinya didistribusikan kedalam
sebuah ponsel) dapat memberikan informasi mengenai potongan
ayat Al-Qur’an dalam bentuk latin, jumlahnya, nomor surat dan
nomor ayat, dan bunyi ayat seutuhnya.
2.
Bagaimana langkah-langkah perancangan sistem ini dan
tools
apa
saja yang digunakan untuk merancang aplikasi ini.
3.
Bagaimana penerapan aplikasi pada
device
yang sebenarnya yaitu
berupa ponsel yang sudah mendukung aplikasi JAVA MIDP versi
2.0.
1.3 Batasan Masalah
Dengan terbatasnya kemampuan dan waktu serta permasalahan
pemrograman Java
Mobile
yang sangat luas maka penulis menyadari perlu
adanya pembatasan masalah. Maka dalam skripsi ini penulis batasi
1.
Dalam aplikasi ini hanya menampilkan kata dan ayat dalam
bentuk latin, namun tidak menampilkan ayat Al-Qur’an dalam
bentuk huruf arabnya.
2.
Ayat-ayat dalam bentuk latin pada Juz 30 ini dikutip dari Buku
Cara Belajar dan Menulis Huruf Al-Qur’an oleh Drs. Abu
Hanifah dan Terjemah Juz’Amma Arab – Latin, dan buku
Tarjamah Juz’ Amma oleh Drs. Moh. Ridho.
3.
Potongan ayat dalam bentuk latin dari Indeks A sampai Z,
jumlahnya serta nomor surat dan nomor ayat dalam aplikasi ini
dikutip dari Buku Konkordansi Qur’an - Panduan Kata Dalam
Mencari Ayat Qur’an Cetakan Keempat oleh Ali Audah.
4.
Potongan ayat dalam bentuk latin dari Indeks A sampai Z yang
ditampilkan, tidak ditandai dengan bentuk huruf tebal atau
penanda lainnya yang menunjukkan dimana posisi kata tersebut
berada pada bunyi ayat utuhnya, apakah diawal ayat,
dipertengahan ayat, maupun diakhir ayat.
5.
Aplikasi ini hanya dirancang untuk
mobile devices
yang sudah
mendukung aplikasi JAVA MIDP versi 2.0.
6.
Untuk pengujian dan pengimplementasian aplikasi ini, penulis
1.4 Tujuan dan Manfaat Penelitian
1.4.1 Tujuan
Skripsi ini memiliki beberapa tujuan, antara lain :
1.
Aplikasi ini memberikan beberapa fitur di antaranya:
a)
Memudahkan dalam pencarian kata dalam bentuk Latin untuk
mengetahui jumlah kata tersebut dan terdapat di surat apa dan
ayat berapa didalam Al-Qur’an Juz 30, dan juga ditampilkan
bunyi ayat seutuhnya.
b)
Memudahkan bagi seseorang yang ingin mencari suatu ayat
namun hanya mengetahui potongan-potongan ayat tersebut.
c)
Menampilkan indeks kata dalam bentuk latin berdasarkan
huruf abjad dari Indeks A s/d Z.
2.
Aplikasi dapat diterapkan pada ponsel yang sudah mendukung
aplikasi JAVA MIDP 2.0. Dalam hal ini, penulis menerapkan
aplikasi ini pada ponsel
Nokia N70.
3.
Melakukan pengujian kinerja aplikasi Konkordansi Al-Qur’an Juz
30 pada ponsel tersebut.
4.
Memberikan manfaat bagi umat Islam di Indonesia khususnya
yang menggunakan perangkat
mobile
yang mendukung aplikasi
JAVA MIDP 2.0 dalam berdakwah dan juga untuk memperoleh
informasi tentang potongan-potongan ayat apa saja yang terdapat
bunyi ayat seutuhnya, dengan cepat dan mudah karena dapat
diakses dimanap saja dan kapan saja.
1.4.2.Manfaat
Sesuai dengan permasalahan dan tujuan penelitian yang telah
disebutkan di atas, maka manfaat penelitian dapat dirumuskan sebagai
berikut :
1.
Bagi Penulis :
a)
Untuk memenuhi salah satu syarat dalam menempuh gelar S1
(Strata 1) pada Fakultas Sains dan Teknologi Program Studi
Teknik Informatika Universitas Islam Negeri Jakarta.
b) Menambah wawasan penulis tentang teknologi pemrograman
Java khususnya J2ME dan dapat menerapkannya langsung
dengan merancang aplikasi
mobile
tersebut.
2.
Bagi Masyarakat :
a)
Memudahkan dalam mendapatkan informasi tentang kata-kata
apa saja yang terdapat dalam Al-Quran pada Juz 30 khususnya
bagi para umat Islam yang menggunakan perangkat
mobile
yang sudah mendukung aplikasi JAVA MIDP versi 2.0.
b)
Sebagai referensi bagi masyarakat yang mempunyai minat
dalam mengembangkan sebuah aplikasi
mobile
dengan
3.
Bagi Universitas :
a)
Mengetahui kemampuan mahasiswa dalam menguasai materi
baik teori maupun praktek yang telah diperoleh selama masa
kuliah.
b)
Mengetahui kemampuan mahasiswa dalam menerapkan
ilmunya dan sebagai bahan evaluasi.
1.5
Metode Penelitian
1.
Metode yang penulis lakukan untuk mendapatkan data dan informasi,
yaitu adalah metode studi pustaka, yaitu pengumpulan data dan
informasi dengan cara membaca buku-buku referensi,
e-book
, dan
website
.
2.
Metode Pengembangan Sistem
Pengembangan
sistem
dalam
penelitian
ini
penulis
lakukan
menggunakan empat tahap siklus pengembangan model RAD (
Rapid
Application Development
) yang dibuat oleh James Martin yaitu (Kendal
& Kendal, 2003:238):
a)
Fase Perencanaan Syarat-syarat
Yaitu menentukan tujuan dan syarat-syarat informasi.
b)
Fase Perancangan
Yaitu perancangan proses-proses yang akan terjadi dalam sistem,
perancangan basis data, dan perancangan antarmuka.
Pada tahapan ini dilakukan tahap pengkodean terhadap
rancangan-rancangan yang telah didefinisikan.
d)
Fase Pelaksanaan
Pada tahap ini dilakukan pengujian terhadap sistem dan pengenalan
terhadap sistem.
1.6
Sistematika Penulisan
Untuk memberikan gambaran yang lebih jelas dan sistematis, skripsi
ini dibagi menjadi lima bab dan tiap bab memiliki beberapa sub bab
dengan urutan sebagai berikut:
BAB I PENDAHULUAN
Bab ini menguraikan mengenai latar belakang, rumusan
masalah, batasan masalah, tujuan dan manfaat, metode
penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini akan dijelaskan tentang landasan teori yang
digunakan sebagai dasar acuan dalam pembahasan penelitian
ini.
BAB III METODOLOGI PENELITIAN
Pada bab ini berisi uraian lebih rinci tentang metodologi
penelitian yang meliputi metode pengumpulan data dan metode
BAB IV RANCANGAN PROGRAM DAN IMPLEMENTASI
Pada bab ini akan dibahas mengenai spesifikasi sistem,
implementasi dan uji coba program yang telah dirancang.
BAB V PENUTUP
Bab ini berisi kesimpulan dari hasil yang didapat melalui
perancangan dan implementasi program berikut saran untuk
pengembangan bagi peneliti lain terhadap pemrograman java.
BAB II
LANDASAN TEORI
2.1
Sistem Temu Kembali Informasi (Information Retrieval)
Menurut Gunarso (2004: 1), “Sistem temu kembali informasi adalah
sebuah sistem pencarian informasi dari dokumen-dokumen yang tersedia”.
Menurut Rahadian, Allan R (Fasilkom UI, 2004: 15), pengguna
informasi ingin mewakili suatu kata untuk
query
dan melakukan satu atau
lebih pencarian, dalam mencari informasi yang penting. Karenanya
pengambilan informasi menggunakan perbandingan
query
dengan indeks (kata
atau frame yang penting) yang muncul dalam dokumen itu sendiri.
IR
melakukan
pengindeksan
teks
pada
setiap
dokumennya.
Pengindeksan teks adalah proses untuk menentukan apa yang akan digunakan
untuk mempresentasikan dokumen tertentu. Indeks kata ini yang digunakan
untuk mengindeks dokumen. Pengindeksan dibagi menjadi 2 bagian, yaitu:
a.
Pengindeksan secara manual
Pengindeksan menentukan kata kunci yang diberikan kepada
suatu dokumen berdasarkan perbendaharaan kata yang terkontrol.
Pengindeksan secara manual menggunakan biaya yang sangat
mahal.
b.
Pengindeksan secara otomatis
Mempunyai keunggulan proses yang cepat
Dasar pengindeksan secara otomatis adalah:
a.
Parse
dan pengubahan menjadi
token.
Melihat dokumen dan mengenali strukturnya.
b. Hilangkan S
topword
Hilangkan kata umum berdasarkan daftar kata seperti misal, dan,
atau, dan lain sebagainya.
c.
Stemming
Pemotongan kata berimbuhan menjadi kata dasar.
d. Bobot kata
Pemberian bobot kata yang sering muncul.
Pribadi, Adi, W (2004:1) Hal-hal yang dilakukan oleh sistem temu
kembali informasi diantaranya adalah:
a)
Mengolah
record-record
berupa
teks
dokumen,
yaitu
mengidentifikasi sejumlah istilah yang dianggap mewakili isi
dokumen.
b)
Mengidentifikasi permintaan informasi
c)
Menentukan dan mengambil informasi atau dokumen yang
dibutuhkan sesuai permintaan.
Ada beberapa masalah yang ditemui dalam penggunaan sistem temu
kembali informasi adalah sebagai berikut:
a)
Jumlah dokumen yang terambil bisa terlalu sedikit atau terlalu
(yang sesuai dengan keinginan pemakai) dalam sebuah kumpulan
dokumen.
b)
Isi dokumen yang terambil tidak sesuai dengan keinginan pemakai
(
user
).
Permasalahan ini terjadi karena suatu dokumen yang diidentifikasi oleh
sejumlah istilah yang belum tentu sepenuhnya mewakili isi dokumen. Suatu
istilah yang dipakai bisa saja memiliki makna ganda. Hal ini menyebabkan
dokumen yang terambil bisa tidak sesuai dengan keinginan pemakai.
2.2
Algoritma Pencarian (Searching)
Proses pencarian atau disebut juga dengan
Table Look-up
atau
Storage
and Retrieval Information
adalah suatu proses untuk mengumpulkan sejumlah
informasi di dalam pengingat komputer dan kemudian mencari kembali
informasi yang diperlukan secepat mungkin. Terkadang pembacaan dilakukan
tidak pada semua data melainkan hanya pada data tertentu saja, atau pada data
dengan karakteristik tertentu (Yuswanto, 2009: 343).
Biasanya data hasil pengukuran di lapangan masih berupa data mentah
dan belum terurut. Agar pencarian terhadap data tertentu yang diperlukan
lebih mudah maka data tersebut harus diurutkan sebelum disimpan dalam
memori. Untuk data berbentuk
file
yang berada di
memori
sekunder maka
perlu pengambilan atau pembacaan ulang. Apabila data relatif sedikit
pembacaan bisa dilakukan keseluruhan artinya semua data dibaca sampai
efisien. Agar pencarian dilakukan dengan cepat maka perlu algoritma
pencarian (
searching
). (Eko Budi Raharjo, 2008:225)
Algoritma pencarian meliputi : pencarian sekuensial (
sequential search
),
pencarian biner (
binary search
), dan pencarian interpolasi (
interpolation
search
),
file
dan Hashing (Eko Budi Purwanto, 2008:225).
2.2.1
Pencarian Sekuensial (Sequential Search)
Menurut Eko Budi Purwanto (2008:225),
Sequential Search
adalah
pencarian data secara berurutan mulai dari data pertama sampai dengan data
yang dicari (data kunci) didapatkan atau sampai seluruh data sudah dicari
dan data kunci tidak ditemukan. Pencarian sekuensial dapat dilakukan
terhadap data yang belum diurutkan. Pencarian dapat dilakukan terhadap
data didalam memori yang ditampung dalam
Array
atau l
inked list
dan data
didalam memori sekunder.
Menurut Yuswanto (2009:344), metode pencarian beruntun
(
Sequential Search
) atau sering disebut dengan pencarian linier merupakan
metode pencarian data secara beruntun mulai dari data pertama sampai data
dengan kunci pencarian ditemukan atau sampai seluruh data telah dicari
meskipun data tersebut tidak ditemukan. Metode pencarian seperti ini
dilakukan pada data yang tidak diurutkan (
sort
) berdasarkan kunci tertentu
sehingga tidak diketahui posisi relatif data yang dicari. Media data pada
proses pencarian dengan metode
sequential search
dapat berada dimemori
(ditampung dalam variabel array atau
linked list
) maupun terhadap file pada
Langkah-langkah algoritma pencarian sekuensial (Eko Budi
Purwanto, 2008:227) :
1.
Deteksi n banyak
record array
x.
2.
Untuk setiap x[i], 0
≤
i
≤
n-1, uji apakah x[i] = kunci.
3.
Jika x[i] = kunci maka data ditemukan di indeks = i, Pencarian
selesai.
4.
Jika x[i]
≠ kunci maka lanjutkan pencarian hingga data terakhir
i = n-1.
5.
Jika i = n-1 dan x[i]
≠ kunci berarti data yang dicari tidak ada
dan set indeks = -1. Pencarian selesai.
2.2.2
Pencarian Biner (Binary Search)
Pencarian biner (
binary
search) adalah pencarian data yang dimulai
dari pertengahan kumpulan data yang telah diurutkan berdasarkan data
kunci. Data kunci adalah data yang digunakan sebagai acuan untuk
mengurutkan data-data yang ada di dalam tabel atau
database
(Eko Budi
Purwanto, 2008:228).
Langkah-langkah algoritma pencarian biner (Eko Budi Purwanto,
2008:228) :
1.
Deteksi n banyak
record array
2.
Nomor
array, low
(kiri) = 0, dan
high
(kanan) = n-1.
Low + high
3.
Hitung nilai tengah dengan
mid =
2
i)
jika data[mid] = data[kunci]
pencarian selesai data
didapatkan.
ii)
jika data[mid] < data[kunci]
low
(kiri) = mid +1.
iii)
jika data[mid] > data[kunci]
high
(kanan) =
mid –
1.
5.
Jika
low
(kiri)
≤
high
(kanan) dan data[mid]
≠ data kunci,
ulangi langkah 3.
6.
Jika data[mid]
≠ data[kunci] maka index =
-1. Selesai.
2.2.3
Pencarian Interpolasi (Interpolation Search)
Pencarian Interpolasi merupakan metode pencarian dengan
berpedoman posisi relatif kunci data. Jika digambarkan secara umum,
seperti saat kita mencari nama pemilik telepon pada buku petunjuk telepon.
Misalnya nama pemilik telepon berawalan ”B” maka buku telepon yang kita
buka sekitar 1/3
atau 1/4 dari tebal buku. Jadi bukan mencari nama pemilik
telepon dari awal buku telepon (Yuswanto, 2009:354).
Langkah-langkah algoritma pencarian interpolation (Eko Budi
Purwanto, 2008:231) :
1.
Deteksi n banyak
record array.
2.
Nomor
array, low
(kiri) = 0, dan
high
(kanan) = n – 1.
3.
Perkirakan posisi data dengan
d
ata
[
kunci
] –
data
[
low
]
posisi =
---
* (
high – low
) +
low
data
[
high
] –
data
[
low
]
4. Lihat arr[posisi] dan cocokan dengan kunci:
ii) jika posisi arr[posisi].kunci > kunci
high
= posisi -1
iii). Jika posisi arr[posisi] kunci < kunci
low
= posisi + 1.
5. Jika data[posisi]
≠ data[kunci], ulangi langkah 3.
6. Jika kunci
≥ arr[low] kunci dan kunci ≤ arr[high]. kunci, index
= -1, pencarian selesai dan data tidak ditemukan.
2.3 Rapid Application Development (RAD)
Menurut Kendal & Kendal (2003, 237), RAD adalah suatu pendekatan
berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode
pengembangan serta perangkat-perangkat lunak.
Menurut Roger, S.Pressman (2003:42), RAD adalah sebuah model proses
perkembangan perangkat lunak sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat
pendek (kira-kira 60 sampai 90 hari).
Dalam penelitian ini penulis lakukan menggunakan empat tahap siklus
pengembangan model RAD (
Rapid Application Development
) yang dibuat oleh
James Martin yaitu (Kendal & Kendal, 2003:238):
a)
Fase Perencanaan Syarat-syarat
Yaitu menentukan tujuan dan syarat-syarat informasi.
Yaitu perancangan proses-proses yang akan terjadi dalam sistem,
perancangan basis data, dan perancangan antarmuka.
c)
Fase Konstruksi
Pada tahapan ini dilakukan tahap pengkodean terhadap
rancangan-rancangan yang telah didefinisikan.
d)
Fase Pelaksanaan
Pada tahap ini dilakukan pengujian terhadap sistem dan pengenalan
terhadap sistem.
2.4
Analisis Program
Algoritma program terdiri dari dua macam, yaitu
pseudocode
dan
flow
chart
(diagram alur).
2.4.1 Pseudocode
Menurut Jogiyanto (2003:1),
Pseud
o berarti imitasi atau mirip
atau menyerupai dan
code
menunjukan kode dari program, berarti
pseudocode
adalah kode yang mirip dengan instruksi kode program yang
sebenarnya.
Pseudocode
berbasis pada bahasa pemrograman yang
sesungguhnya seperti
COBOL, FORTRAN
, atau
PASCAL,
sehingga lebih
tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada programmer.
Pseudecode
akan memudahkan programmer untuk memahami
dan menggunakan, karena mirip dengan kode-kode program sebenarnya.
variabel, membuka dan menutup
file
, subcript atau tipe-tipe data yang
digunakan (misalnya
real, integer, boolean
).
2.4.2 Diagram Alur (Flowchart)
Menurut Pressman (2002: 535), Komputer membutuhkan hal-hal
yang terperinci, maka bahasa pemrograman bukan merupakan alat yang
boleh dikatakan baik untuk merancang sebuah algoritma awal.
Alat yang banyak dipakai untuk membuat algoritma adalah
diagram alur. Diagram alur dapat menunjukan secara jelas arus
pengendalian algoritma, yakni bagaimana rangkaian pelaksanaan
kegiatan. Suatu diagram alur memberikan gambaran dua dimensi berupa
simbol-simbol grafis.
Masing-masing simbol telah di tetapkan terlebih dahulu fungsi
dan artinya. Simbol-simbol tersebut dipakai untuk menunjukan berbagai
kegiatan operasi dan jalur pengendalian. Diantara simbol-simbol yang
akan digunakan pada tabel 2.1 sebagai berikut:
[image:37.595.142.517.582.750.2]Tabel 2.1
Simbol-simbol Flowchart
(Jogiyanto, 2001: 798).
Gambar Simbol
Keterangan Simbol
Kegunaan
Simbol proses
Simbol yang menunjukkan
pengolahan yang dilakukan
oleh komputer
Simbol input-output
Simbol
yang
menyatakan
proses input dan output tanpa
tergantung
dengan
jenis
Simbol decision
Simbol untuk kondisi yang
akan menghasilkan beberapa
kemungkinan jawaban/aksi.
Simbol terminal
Simbol untuk permulaan atau
akhir dari suatu program.
Simbol connector
Simbol untuk keluar atau
masuk prosedur atau proses
dalam lembar yang sama.
Menunjukkan bagan instruksi
selanjutnya
Simbol document
Simbol
untuk
menyatakan
input berasal dari dokumen
dalam bentuk kertas atau
output dicetak di kertas.
Simbol
catatan/keterangan
Berisi catatan supaya mudah
dimengerti
isi/tujuan
algoritma atau uraian data
yang akan diproses.
Tanda hubung antara symbol
flowchart
yang
berbeda
halaman.
2.5
Sekilas Tentang Konkordansi Al-Qur’an
Menurut Ali Audah (2008), buku-buku acuan dan panduan kata
(konkordansi) mengenai Qur’an yang akan dapat mengantarkan kita kepada
ayat atau surah yang dicari sudah pernah ditulis orang. Sejarah penulisan buku
yang disusun oleh sarjana Jerman, Gustavus Flugel dalam tahun 1842,
Concordance Corani Arabicae,
disertai kata pengantar dalam bahasa Latin,
yang sampai sekarang masih banyak dipakai di Barat.
Makin lama makin terasa perlunya ada sebuah buku pedoman yang akan
dapat memandu kita dengan mudah dalam mencari ayat-ayat dalam Qur’an. Di
Indonesia yang sangat terkenal
Fathurrahmaan li Thaalib’l-Qur-aan
oleh
‘Ilmii Zaadeh Faidullah, terbit pertama kali hampir seabad yang lalu, yang
pada setiap kata disertai sebagian kecil ayat berikut nama surah dan nomor
ayat. Dalam waktu yang hampir bersamaan (1906) di India kemudian terbit
pula
Miftaah-ul-Qur’an
atau
Key to the Holy Qur-an
disusun oleh Ahmad
Shah dengan pengantar bahasa Inggris dilengkapi dengan glosari
Arab-Inggris.
Baik Flugel atau Ahmad Shah, keduanya hanya menyebut sepatah kata
pada tiap ayat disertai nomor surah dan nomor ayat. Baru dalam tahun 1364
H/1945 almarhum Muhammad Fu’aad ‘Abdul Baaqi menerbitkan
Al-Mu’jam’l-Mufahras li Alfaaz-l-Qur-aan
-
l-Kariim
yang lebih lengkap dengan
ayat-ayat yang sebagian besar dikutip utuh, disertai jumlah banyaknya ayat
pada setiap kata, nama dan nomor surah serta nomor ayat dengan keterangan
Surat Mekah dan Madinah.
Tetapi semua buku konkordansi itu kecuali buku Ahmad Shah, disusun
berdasarkan kaidah ilmu saraf bahasa Arab, sehingga mereka yang kurang
akrab dengan morfologi dan ilmu nahu atau gramatika meskipun dapat
kata dasar ke kata jadian, atau dari
masdar
ke
isytiqaq
sampai kepada kata
kerja, kata sifat dan seterusnya, besar sekali akibatnya. Belum lagi jika harus
berhubungan dengan huruf-huruf
‘illat
seperti
alif, waw
dan
yaa,
disamping
syarat-syarat lain yang harus ditaati dalam penyusunan abjad. Bahkan Flugel,
lepas dari jasanya yang besar menyusun konkordansi pada waktu itu, banyak
mendapat kritik justru karena kesalahan-kesalahan menyusun akar kata
mufradaat
, terutama berhubungan dengan huruf-huruf ‘illat tersebut;
disamping penomoran ayat-ayat yang berbeda dengan yang umum berlaku.
Sesungguhnya begitu, semua buku acuan itu sangat membantu dalam
saya menyusun
Konkordansi
ini. Kedua karya tulis Flugel dan Ahmad Shah
saya pergunakan juga dalam menambah beberapa lema yang tak terdapat
dalam buku-buku acuan yang lain.
Maka dari itu, kenyataan menunjukkan pula bahwa banyak orang yang
sudah akrab dengan Qur’an dengan penalaran dan pemahaman isi ayat yang
begitu baik, tetapi tidak sepenuhnya menguasai bahasa Arab, sering menemui
kesulitan, sementara buku-buku konkordansi yang ada umumnya dalam
bahasa Arab atau bahasa asing lainnya yang masih terikat pada kaidah bahasa
Arab yang dalam penggunaannya ternyata tidak begitu mudah.
2.6 Pembahasan Umum JAVA
JAVA menurut definisi dari SUN adalah nama untuk sekumpulan
teknologi yang digunakan untuk membuat dan menjalankan perangkat lunak
JAVA2 adalah generasi kedua dari JAVA
platform
(generasi awalnya adalah
Java Development Kit
). Java berdiri diatas sebuah mesin
interpreter
yang
diberi nama
Java Virtual Machine
(JVM). JVM ini yang akan membaca
byte
code
dalam file .
class
dari suatu program sebagai representasi langsung
program yang berisi bahasa mesin. Oleh karena itu bahasa JAVA disebut
sebagai bahasa pemprograman yang
portable
karena dapat dijalankan pada
berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM
(M.Shalahuddin, Rosa A.S, 2006:1).
Platform
JAVA memilik tiga buah edisi yang berbeda yaitu J2EE
(Java2
Enterprise Edition
), J2SE (Java2
Second Edition
) dan J2ME (Java2
[image:41.595.158.481.444.683.2]Micro Edition
). Hubungan antara J2EE, J2SE dan J2ME dapat dilihat pada
gambar 2.1 di bawah ini.
2.7 JAVA 2 Platform Micro Edition (J2ME)
2.7.1 Sekilas tentang J2ME
Java 2 Micro Edition
atau yang biasa disebut J2ME adalah
lingkungan pengembangan yang didesain untuk meletakkan perangkat
lunak JAVA pada barang elektronik beserta perangkat pendukungnya.
Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat
maka belum tentu juga berfungsi pada perangkat yang lainnya. J2ME
biasa digunakan pada telepon seluler,
pager
,
Personal Digital Assistance
(
PDA’s
) dan sejenisnya (M.Shalahuddin, Rosa A.S, 2006:5).
[image:42.595.286.433.415.557.2]Arsitektur J2ME dapat dilihat pada gambar 2.2 berikut.
Gambar 2.2
Arsitektur
High Level View
J2ME (A.N
Klingsheim, 2004:21)
Tetapi selain memiliki beberapa keunggulan, teknologi J2ME
juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada
ponsel. J2ME sangat tergantung pada perangkat (
device
) yang
digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan
tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat
mengakses kamera. Keterbatasan lainnya adalah pada ukuran aplikasi,
karena memori pada ponsel sangat terbatas. (M.Shalahuddin, Rosa A.S,
2006:6)
2.7.2 J2ME Configuration
Configuration
adalah suatu spesifikasi yang menggambarkan
lingkungan perangkat lunak untuk suatu
device
yang digambarkan oleh
suatu kumpulan karakteristik yang bersandar pada suatu spesifikasi
contohnya antara lain:
1.
Jenis dan jumlah ketersediaan memori
2.
Jenis prosesor dan kecepatannya
3.
Jenis koneksi jaringan yang tersedia pada suatu
device
Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu
CLDC (
Connected Limited Device Configuration
) untuk perangkat kecil
dan CDC (
Connected Device Configuration
) untuk perangkat yang lebih
besar (M.Shalahuddin, Rosa A.S, 2006:6).
1.
Connected
Limited Device Configuration
(CLDC)
Connected Limited Device Configuration
(CLDC)
adalah perangkat dasar dari J2ME
profiles
untuk perangkat
kecil, seperti telepon seluler,
pager
, dan
low-end PDAs
.
Gambar 2.3 di bawah ini menjelaskan tentang posisi
Gambar 2.3
Posisi CLDC dalam Arsitektur J2ME
(M.Shalahuddin, Rosa A.S, 2006:7)
2.
Connected Device Configuration
(CDC)
CDC ditujukan untuk memenuhi kebutuhan dari
devices
yang terletak di antara
device
yang ditujukan untuk
CLDC dan sistem
desktop
yang berjalan penuh menggunakan
J2SE. CDC dapat ditemukan pada
device
seperti PDA yang
lebih canggih, pada
smart phones
,
web telephones
,
residential gateway
, dan
set-top boxes
.
Berikut adalah perbandingan CLDC dan CDC
(M.Shalahuddin, Rosa A.S, 2006:8):
Tabel 2.2
Tabel Perbandingan antara CLDC dan CDC (M.Shalahuddin, Rosa A.S,
2006:8)
CLDC
CDC
Mengimplementasikan sebagian dari
J2SE.
Mengimplementasikan seluruh fitur
J2SE.
JVM yang digunakan adalah KVM
(
Kilo Virtual Machine
).
JVM yang digunakan adalah CVM (
C-
Virtual Machine
).
Digunakan pada perangkat genggam Digunakan pada perangkat genggam
MIDP
CLDC
Kumpulan
Library
KVM
(
handphone
, PDA,
twoway pager
)
dengan memori terbatas (160-512
KB).
(
internet
TV
,
Nokia
Communicator
,
car TV
) dengan memori minimal 2
MB.
Prosessor : 16/32 bit.
Prosessor : 32 bit.
2.7.3 J2ME Profile
Profile
melengkapi
Configuration
dengan menambahkan
kelas-kelas tambahan yang menyediakan fitur-fitur yang lebih spesifik yang
sesuai bagi jenis-jenis
device
tertentu (Kim Topley, 2002:12).
Salah satu
profile
yang terdapat dalam arsitektur J2ME adalah
MIDP atau
Mobile Information Device Profile
.
Mobile Information Device Profile (MIDP)
MIDP atau
Mobile Information Device Profile
adalah
spesifikasi
untuk
sebuah
profile
J2ME
(M.Shalahuddin, Rosa A.S, 2006:9).
Profile
ini menambahkan
networking, user interface
components,
dan
local storage
pada CLDC.
Profile
ini
ditujukan khususnya kepada ponsel
yang memiliki
keterbatasan pada
display
dan fasilitas penyimpanan, dan
oleh karena itu MIDP menyediakan
user interface
yang
relatif sederhana dan
networking
dasar yang berbasis
Posisi MIDP pada arsitektur J2ME dapat dilihat
[image:46.595.305.438.170.296.2]pada gambar 2.4 di bawah ini.
Gambar 2.4
Posisi MIDP dalam Arsitektur J2ME(A.N
Klingsheim, 2004:25)
2.7.4 Kilo Virtual Machine (KVM)
KVM atau
Kilo Virtual Machine
adalah paket JVM yang di
desain untuk perangkat yang kecil. Posisi KVM pada arsitektur J2ME
dapat dilihat pada gambar 2.5 di bawah ini (M.Shalahuddin, Rosa A.S,
2006:11).
Gambar 2.5
Posisi KVM pada Arsitektur J2ME (M.Shalahuddin, Rosa
A.S, 2006:11)
2.7.5
MIDlet
Sebuah
MIDlet
adalah aplikasi JAVA yang didesain untuk dapat
berjalan pada
mobile device
. Sebuah
MIDlet
terdiri dari satu atau lebih
MIDP
CLDC
Kumpulan
Library
KVM
[image:46.595.278.403.487.589.2]paket-paket
MIDlet
dan bersama-sama menggunakan suatu
file
JAVA
Archive
(JAR) (John W.Muchow, 2001:20).
MIDlet adalah sebutan untuk aplikasi-aplikasi yang dibuat di
dalam handphone dengan menggunakan profil MIDP (
Mobile
Information Device Profile
). Penyebutan dari istilah “MIDlet”,
“Program”, dan “aplikasi” akan digunakan secara bergantian di dalam
penulisan ini.
2.7.5.1 Daur Hidup MIDlet
AMS (
Application Management Software
) merupakan
lingkungan tempat sebuah MIDlet dapat di-
install,
dijalankan,
dihentikan maupun di-
uninstall.
AMS juga kadang disebut
dengan nama JAM (
Java Application Manager
). AMS akan
membuat setiap instance baru dari MIDlet dapat mengontrol
keadaannya,
yaitu
dengan
cara
menjalankan
(
start
),
mengistirahatkan (
pause
) maupun menghentikannya (
destroy
)
secara langsung oleh dirinya sendiri.
Terdapat
tiga
buah
method
yang
harus
diimplementasikan oleh setiap MIDlet, dengan kata lain, setiap
MIDlet yang kita buat harus memiliki ketiga buah
methode
tersebut. Adapun
method-method
tersebut adalah sebagai berikut
(Raharjo, 2007:23):
AMS akan memanggil method
startApp ()
untuk
memerintahkan MIDlet agar memperoleh fokus dan
menjadikan MIDlet berada dalam keadaan
Active.
Method
startApp()
itu digunakan untuk mengaktifkan MIDlet. Hal ini
dapat terjadi ketika MIDlet baru saja dibuat atau MIDlet yang
akan kembali diaktifkan dari keadaan
Paused
(Raharjo,
2007:24)
.
Bentuk umum deklarasi method
startApp()
adalah
public static void startApp()
(Raharjo, 2007:24)
.
2)
Method
pauseApp ()
AMS
memanggil
method
pauseApp()
untuk
memerintahkan MIDlet agar tidak memiliki fokus dan akan
menjadikan MIDlet berada dalam keadaan
Paused.
Dalam
keadaan ini, aplikasi tidak dapat memiliki satu pun tampilan
UI (User Interface). Apabila aplikasi dibuat mengandung
thread
maupun
Timer,
maka objek-objek tersebut tidak akan
dihentikan secara otomatis. Artinya, harus ada pemberhentian
secara manual melalui penulisan kode. Aplikasi akan kembali
berada dalam keadaan
Active
bila diaktivasi ulang
(Raharjo,
2007:25).
Bentuk umum deklarasi method
pauseApp()
adalah
public static void pauseApp()
(Raharjo,.2007:24)
.
AMS
memanggil
method
destroyApp()
untuk
memerintahkan MIDlet agar membuang atau membebaskan
semua
resource
(biasanya berupa file) yang digunakan
sekaligus menutup atau menghentikan aplikasi sesegera
mungkin. Ini berarti bahwa kita harus menutup semua
stream
yang masih terbuka serta menghentikan semua
thread
dan
timer
yang digunakan. Pemanggilan method
destroyApp()
akan mengakibatkan MIDlet berada dalam keadaan
Destroyed
sehingga pada saat tersebut MIDlet sudah tidak
dapat lagi melakukan pengaksesan terhadap objek
Display
(Raharjo, 2007:26)
.
Bentuk umum deklarasi method
destroyApp()
adalah
public static void destroyApp()
(Raharjo,.2007:26)
.
Gambaran dari ketiga method tersebut dapat dilihat
pembuatan MIDlet baru Apabila proses pembuatan MIDlet gagal
startApp ()
pauseApp ()
destroyApp ()
Gambar 2.6
Siklus daur hidup sebuah
MIDlet
(Raharjo, ,
2007:23)
2.7.5.2 Emulator perangkat MIDlet
SUN Microsystem
telah menyediakan J2ME
Wireless
Toolkit
(sering disingkat dengan J2ME
WTK) untuk
mengembangkan aplikasi dalam
handphone
(Budi Raharjo,
Imam Heryanto, Arif Haryono, 2007:8)
J2ME
Wireless
Toolkit
dapat
di
download
di
http://java.sun.com/j2me
secara gratis. J2ME
Wireless Toolkit
adalah
kakas
yang
menyediakan
lingkungan
emulator
,
dokumentasi beserta contoh-contoh aplikasi JAVA untuk
perangkat kecil (
small device
) (M.Shalahuddin, Rosa A.S,
2006:15).
Paused
Active
Gambar 2.7 berikut ini adalah contoh J2ME
Wireless
[image:51.595.317.409.162.358.2]Toolkit
versi 2.5.
Gambar 2.7
Contoh
emulator
J2ME
Wireless Toolkit
2.5
2.7.5.3
Java Application Descriptor (JAD)
Digunakan untuk mendeskripsikan isi aplikasi untuk
keperluan pemetaan. File JAD berisi deskripsi file JAR (
Java
Archive
) dan pemetaan atribut
MIDlet
, sedangkan file JAR berisi
kumpulan kelas dan
resource
(M.Shalahuddin, Rosa A.S,
2006:14).
2.8. Teknik Pengujian Aplikasi
2.8.1 Sekilas tentang Pengujian Black-Box
Pengujian black-box berfokus pada persyaratan fungsional
pernagkat
lunak.
Dengan
demikian,
pengujian
black-box
memungkinkan perekayasa perangkat lunak mendapatkan serangkaian
kondisi input yang sepenuhnya menggunakan semua persyaratan
fungsional untuk suatu program. Pengujian black-box bukan
pendekatan komplementer
yang kemungkinan besar
mampu
mengungkap kelas kesalahan dari pada metode white-box (Roger S.
Pressman, 2002:551).
Pengujian black-box berusaha menemukan kesalahan dalam
kategori sebagai berikut (Roger S. Pressman, 2002:551) :
1)
Fungsi-fungsi yang tidak benar atau hilang
2)
Kesalahan interface
3)
Kesalahan dalam struktur data atau akses database
eksternal
4)
Kesalahan kinerja
5)
Inisialisasi dan kesalahan terminasi.
2.8.2 Sekilas tentang Pengujian White-Box
Pengujian white-box, yang kadang-kadang disebut
pengujian
glass-box,
adalah metode desain test case yang menggunakan struktur
kontrol desain prosedural untuk memperoleh test case. Dengan
menggunakan metode pengujian white-box, perekayasa sistem dapat
melakukan test case yang (Roger S. Pressman, 2002:533):
1) memberikan jaminan bahwa semua
jalur independen
pada suatu
modul telah digunakan paling tidak satu kali;
2) menggunakan semua keputusan logis pada sisi
true
dan
false;
3) mengeksekusi semua loop pada batasan mereka dan pada batas
operasional mereka;
Pengujian white-box perangkat lunak didasarkan pada
pengamatan yang teliti terhadap detail prosedural. Jalur-jalur logika
yang melewati perangkat lunak diuji dengan memberikan test case
yang menguji serangkaian kondisi dan atau loop tertentu. “status
program tersebut” dapat diuji pada berbagai titik untuk menentukan
apakah status yang diharapkan atau dituntut sesuai dengan status
aktual.
2.9. Unified Modelling Language (UML)
2.9.1
Sekilas tentang UML
Menurut Grady Booch, James Rumbaugh, Ivar Jacobson
(1998) UML (
Unified Modeling Language
) adalah sebuah bahasa yang
berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan,
membangun, dan pendokumentasian benda-benda dari sebuah sistem
pengembangan perangkat lunak.
UML sendiri diangkat dari metode
object-oriented analysis
and design
(OOA&D) yang muncul pada akhir tahun 1980 dan awal
tahun 1990. UML menyatukan secara langsung metode-metode dari
Booch, Rumbaugh (OMT), dan Jacobson, tetapi jangkauannya lebih
luas. UML melewati proses standarisasi dengan OMG (
Object
Management Group
) dan sekarang menjadi standar dari OMG (Martin
2.9.2 Diagram-diagram dalam UML
Setiap sistem yang kompleks seharusnya bisa dipandang
dari sudut yang berbeda-beda sehingga kita bisa mendapatkan
pemahaman yang menyeluruh. Untuk upaya tersebut UML
menyediakan beberapa jenis diagram, di antaranya yang digunakan
dalam penelitian ini adalah
Use Case Diagram, Sequence Diagram
,
Class Diagram
, dan
Activity Diagram
yang akan dijelaskan sebagai
berikut.
2.9.2.1
Use Case Diagram
Use Case
adalah teknik untuk merekam persyaratan
fungsional sebuah sistem.
Use Case
mendeskripsikan
interaksi tipikal antara para pengguna sistem dengan sistem
itu sendiri, dengan memberi sebuah narasi tentang bagaimana
sistem tersebut digunakan (Martin Fowler, 2005:141).
Use
Case
Diagram
menggambarkan
suatu
kumpulan dari beberapa
use case
dan
actors
dan hubungan
antara keduanya. Diagram ini sangat penting dalam mengatur
dan mencontohkan perilaku dari sebuah sistem (Grady
Booch, James Rumbaugh, Ivar Jacobson, 1998).
Gambar 2.8 di bawah ini adalah notasi
use case
dan
Gambar 2.8
Notasi
Use Case
dan
Actor
Contoh
Use Case Diagram
dapat dilihat pada
gambar 2.9 di bawah ini.
Gambar 2.9
Contoh
Use Case Diagram
(Grady Booch,
James Rumbaugh, Ivar Jacobson, 1998)
Di dalam
use case
terdapat teks untuk menjelaskan
urutan kegiatan yang di sebut
use case specification
.
Use
case specification
terdiri dari (Julius Hermawan, 2004:16):
1.
Nama use case
Mencantumkan nama dari
use case
yang
bersangkutan. Sebaiknya diawali dengan kata kerja untuk
menunjukan suatu aktivitas.
Menjelaskan secara singkat dalam satu atau dua
kalimat tentang tujuan dari
use case
ini.
3.
Aliran normal (basic flow)
Ini adalah jantung dari
use case
. Menjelaskan
interaksi antara
actor
dan sistem dalam kondisi normal,
yaitu segala sesuatu berjalan dengan baik, tiada halangan
atau hambatan dalam mencapai tujuan dari
use case
.
4.
Aliran alternatif (alternate flow)
Merupakan perlengkapan dari
basic flow
karena
tidak ada yang sempurna dalam setiap kali
use case
berlangsung. Di dalam
alternate flow
ini dijelaskan apa
yang akan terjadi bila suatu halangan terjadi sewaktu
use
case
berlangsung.
5.
Pre-condition
Menjelaskan persyaratan yang harus dipenuhi
sebelum
use case
bisa dimulai.
6.
Post-condition
Menjelaskan kondisi yang berubah atau terjadi
saat
use case
selesai di eksekusi.
2.9.2.2
Sequence Diagram
Sebuah
sequence
diagram
,
secara
khusus,
menjabarkan
behaviour
sebuah skenario tunggal. Diagram
pesan-pesan yang melewati objek-objek ini di dalam
use case
(Martin Fowler, 2005:81).
Kita dapat membaca diagram ini dengan melihat
pada objek-objek dan pesan-pesan (
message
). Objek-objek
yang berperan dalam aliran diperlihatkan pada kotak bersegi
empat panjang yang melintas pada bagian atas diagram.
Setiap objek memiliki garis hidup (
lifeline
), yang
digambarkan sebagai garis vertikal di bawah