PERANCANGAN DAN IMPLEMENTASI APLIKASI PANDUAN MANASIK HAJI BERBASIS MOBILE DEVICE
Disusun Oleh: MARKHABAN NUR IDRIS 104091002799
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
PERANCANGAN DAN IMPLEMENTASI APLIKASI PANDUAN MANASIK HAJI BERBASIS MOBILE DEVICE
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh: MARKHABAN NUR IDRIS 104091002799
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1432 H
ABSTRAK
MARKHABAN NUR IDRIS (104091002799). Perancangan Dan Implementasi Aplikasi Panduan Manasik Haji Berbasis Mobile Device (Dibimbing Oleh RIZAL BAHAWARES dan ZULFIANDRI). Perkembangan teknologi mobile device berkembang dengan sangat pesatnya, sehingga fungsi handphone bukan hanya digunakan sebagai alat komunikasi saja dengan tambahan fitur-fitur seperti imaging, music, browsing, transfer data, aplikasi dan permainan, handphone berubah menjadi perangkat yang canggih dan pintar. Kecanggihan perangkat mobile ini memberikan berbagai macam dampak yang positif maupun negatif. Hal ini juga menyebabkan semua orang yang menggunakannya menjadi lebih mudah untuk mendapatkan suatu informasi, salah satunya untuk umat muslim yang merupakan agama mayoritas di Indonesia untuk mendapatkan informasi tentang panduan manasik haji pada perangkat mobile yang telah menggunakan teknologi JAVA yang dikembangkan oleh SUN Microsystem. Peneliti membuat aplikasi yang ditujukan untuk perangkat mobile berupa aplikasi panduan manasik haji dengan menggunakan teknologi J2ME. Aplikasi ini memberikan informasi tentang ibadah haji, doa-doa, istilah-istilah dalam haji dan tahapan pelaksanaannya. Dalam pembuatan aplikasi ini metodologi pengembangan aplikasi menggunakan metode Rapid Application Development (RAD) dengan pemodelan aplikasi menggunakan Unified Modelling Language (UML). Perangkat lunak yang digunakan untuk mengembangkan aplikasi ini adalah Java2 Micro Edition (J2ME) dengan bantuan NetBeans IDE (Integrated Development Environtment) sebagai media untuk merancang tampilan dan menuliskan kode program, dan J2ME Wireless Toolkit sebagai emulator untuk melihat hasil tampilan aplikasi di komputer dengan sistem operasi Windows XP Professional Service Pack 2. Aplikasi ini akan menghasilkan output berupa informasi tentang haji, sebagai salah satu sarana belajar umat Islam tentang tata cara pelaksanaan haji dan membantu umat Islam dalam menghafal doa-doa haji pada handphone yang dapat digunakan kapan saja dan dimana saja.
Kata Kunci: Manasik Haji, J2ME, RAD, UML, Mobile Device.
KATA PENGANTAR
Assalamu’alaikum Wr. Wb. Dengan mengucap syukur Alhamdulillah, penulis panjatkan kehadirat Allah SWT, atas rahmat dan hidayah-Nya, sehingga skripsi ini dapat terselesaikan dengan baik. Shalawat dan salam senantiasa penulis haturkan kepada baginda Nabi Besar Muhammad SAW, keluarganya, para sahabatnya, dan mudah-mudahan syafa’atnya bisa menolong kita di akhirat nanti. Amin ya rabb al-‘alamin. Skripsi yang berjudul “PERANCANGAN DAN IMPLEMENTASI APLIKASI PANDUAN MANASIK BERBASIS MOBILE DEVICE” disusun guna memenuhi persyaratan untuk memperoleh gelar Sarjana Strata 1 (S1) pada Program Studi Teknik Informatika Universitas Islam Negeri Syarif
Hidayatullah Jakarta. 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 Rizal Bahaweres M.Kom dan Bapak Zulfiandri, MMSI, selaku Dosen Pembimbing,yang telah memberikan bimbingan, waktu dan perhatiannya
dalam
menyelesaikan skripsi ini. 4. Seluruh Dosen Program Studi Teknik Informatika Fakultas Sains dan Teknologi
5. UIN Syarif Hidayatullah Jakarta, yang telah memberikan ilmunya selama penulis belajar. 6.
Segenap Karyawan Fakultas Sains dan Teknologi dan Program Studi Teknik Informatika, yang telah memberikan pelayanannya selama penulis belajar sampai selesai dalam penulisan skripsi.
7.
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 maupun 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 Wr. Wb.
Jakarta, Juli 201
Markhaban Nur Idris
DAFTAR ISI
Halaman Judul .......................................................................................................
i
Lembar Pengesahan Pembimbing.........................................................................
ii
Lembar Pengesahan Ujian .....................................................................................
iii
Lembar Pernyataan ................................................................................................
iv
ABSTRAK ...............................................................................................................
v
KATA PENGANTAR...........................................................................................................
vi
DAFTAR ISI...........................................................................................................................
x
DAFTAR GAMBAR..............................................................................................................
xv
DAFTAR TABEL ..................................................................................................................
xx
DAFTAR LAMPIRAN .......................................................................................................... xxiii
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah.....................................................................
1
1.2 Perumusan Masalah ....................................................................................
3
1.3 Batasan Masalah ................................................................................
3
1.4 Tujuan Penelitian ...............................................................................
4
1.5 Manfaat Penelitian .............................................................................
4
1.5.1 Bagi Penulis..........................................................................................
4
1.5.2 Bagi Masyarakat ………………….. ...................................................
5
1.5.3 Bagi Universitas ..................................................................................
5
x
1.6 Metodologi Penelitian........................................................................
6
1.6.1 Studi Pustaka…………….. ...............................................................
6
1.6.2 Diskusi…………………………........................................................
7
1.6.2 Metode Pengembangan Aplikasi........................................................
7
1.7 Sistematika Penulisan ...................................................................................
7
BAB II LANDASAN TEORI 2.1 Aplikasi.........................................................................................................
9
2.2 Panduan ........................................................................................................
9
2.3 Haji…………………………......................................................................... 11 2.3.1 Macam-macam Haji………………………........................................
12
2.3.1.1 Haji Tamattu’ .............................................................
12
2.3.1.2 Haji Ifrad.....................................................................
13
2.3.1.3 Haji Qiran….......................................................................
14
2.4 Mobile Device ……….................................................................................... 17
2.5 Pembahasan Umum JAVA ................................................................
18
2.6 Java2 Micro Edition (J2ME) ............................................................. 20 2.6.1 Sekilas tentang J2ME ..................................................................... 20 2.6.2 Komponen-Komponen J2ME.................................................. 21
xi
2.6.2.1 MIDP Screen..............................................................
21
2.6.2.2 MIDP UI ....................................................................
22
2.6.3 J2ME Configuration ................................................................ 23 2.6.3.1 Connected Limited Device Configuration (CLDC) ... 23 2.6.3.2 Connected Device Configuration (CDC)................... 24 2.6.4 J2ME Profile ........................................................................... 24 2.6.4.1 Mobile Information Device Profile (MIDP) .............. 25 2.6.5 Kilo Virtual Machine (KVM) ................................................... 25 2.6.6 MIDlet...................................................................................... 25
2.6.6.1 Daur Hidup MIDlet .................................................... 25 2.6.6.2 MIDlet Suites ............................................................. 27 2.6.7 Java Application Description (JAD) ..................................... 27 2.7 Rapid Application Development (RAD) ............................................ 30 2.8 Unified Modelling Language (UML)................................................. 32 2.8.1 Sekilas Tentang UML ............................................................ 33 2.8.2 Diagram-diagram dalam UML ................................................ 35 2.8.2.1 Use Case Diagram ..................................................... 37 2.8.2.2 Sequence Diagram ........................................................ 37 2.8.2.3 Class Diagram ........................................................... 39
xii
BAB III METODOLOGI PENELITIAN 3.1 Metode Pengumpulan Data................................................................
43
3.2 Metode Pengembangan Aplikasi .......................................................
48
BAB IV PENGEMBANGAN APLIKASI 4.1 Fase Perencanaan Syarat-syarat......................................................... 50 4.1.1 Tujuan Informasi ..................................................................... 50 4.1.2 Syarat-syarat Informasi ........................................................... 51 4.1.3 Analisa Masalah…. ................................................................. 52 4.2 Fase Perancangan............................................................................... 68 4.2.1 Use Case Diagram......................................................................... 68 4.2.2 Activity Diagram ................................................................. 85 4.2.3 Sequence Diagram................................................................... 86 4.2.4 Class Diagram ……................................................................ 96 4.2.5 Perancangan Antarmuka.......................................................... 99
4.3 Fase Konstruksi.................................................................................. 113 4.3.1 Instalasi Software yang Digunakan ......................................... 113 4.3.2 Membuat Project Baru di NetBeans 5.5.................................. 116 4.3.3 Membuat File MIDlet .............................................................. 119
xiii
4.3.4 Menulis Kode Program............................................................ 121 4.3.5 Menjalankan Aplikasi pada Komputer.................................... 121 4.3.6 Mempaketkan Aplikasi............................................................ 122 4.4 Fase Pelaksanaan ............................................................................... 123
4.4.1 Spesifikasi handphone yang digunakan............................. 124 4.4.2 Transfer Aplikasi dari PC ke Ponsel dan Instalasi............ 127 4.4.3 Pengujian Aplikasi pada Ponsel LG KC550 dan Nokia 3120... 127 4.4.4 Evaluasi Pengujian Aplikasi pada Ponsel LG KC550 dan Nokia 3120.. 138
4.4.5 Tanggapan user tentang aplikasi............................................................. 140
BAB V PENUTUP 5.1 Kesimpulan ........................................................................................ 146
5.2 Saran .................................................................................................. 147
DAFTAR PUSTAKA ............................................................................................. 149
LAMPIRAN A WAWANCARA....................................................................... 166 LAMPIRAN B SOURCE CODE...................................................................... 171 LAMPIRAN C FILE MAP................................................................................ 182
xiv
DAFTAR GAMBAR
Gambar 2.1 Hubungan antara J2EE, S2SE, dan J2ME .......................................... 13 Gambar 2.2 Arsitektur J2ME ….............................................................................. 14 Gambar 2.3 Posisi CLDC dalam Arsitektur J2ME ................................................. 17 Gambar 2.4 Posisi MIDP dalam arsitektur J2ME …………………....................... 19 Gambar 2.5 Posisi KVM dalam arsitektur J2ME ................................................... 19 Gambar 2.6 Diagram status daur hidup dari sebuah Midlet ..................................... 20 Gambar 2.7 Contoh emulator J2ME Wireless Toolkit ............................................ 21 Gambar 2.8 Fase RAD menurut James Martin ....................................................... 22 Gambar 2.9 Notasi use case dan actor ...................................................................
25
Gambar 2.10 Contoh use case diagram .................................................................. 25 Gambar 2.11 Contoh sequence diagram ……………………………….................. 27 Gambar 2.12 Diagram statechart untuk kelas Account ....................................... Gambar 2.13 Diagram sekuensial untuk penarikan uang 1 juta ........................... Gambar 2.14 Diagram komponen ....................................................................... Gambar 4.1 Use Case Diagram Aplikasi ....................................................................... Gambar 4.2 Diagram aktivitas untuk aliran kejadian dalam use case “melihat pengertian hidrokarbon” ................................................. 63 Gambar 4.3 Diagram aktivitas untuk aliran kejadian dalam use case “melihat penggolongan hidrokarbon” ........................................... 63
xv
Gambar 4.4 Diagram aktivitas untuk aliran kejadian dalam use case “menghitung massa hidrokarbon” ................................................. 64 Gambar 4.5 Diagram aktivitas untuk aliran kejadian dalam use case “menghitung jumlah atom” ........................................................... 64 Gambar 4.6 Diagram aktivitas untuk aliran kejadian dalam use case “mencari nama hidrokarbon” ........................................................ 65 Gambar 4.7 Diagram aktivitas untuk aliran kejadian dalam use case “melihat daftar istilah” .................................................................. 66 Gambar 4.8 Diagram aktivitas untuk aliran kejadian dalam use case “mencari istilah” ........................................................................... 66 Gambar 4.9 Diagram aktivitas untuk aliran kejadian dalam use case “melihat evaluasi”......................................................................... 67 Gambar 4.10 Diagram aktivitas untuk aliran kejadian dalam use case “melihat bantuan” ......................................................................... 67 Gambar 4.11 Diagram aktivitas untuk aliran kejadian dalam use case “melihat tentang aplikasi” ............................................................. 68 Gambar 4.12 Class diagram Aplikasi Modul Belajar Senyawa Hidrokarbon....... 69 Gambar 4.13 Diagram Statechart untuk kelas SenyawaKimiaHidrokarbon ......... 86 Gambar 4.14 Diagram sekuensial untuk melihat pengertian hidrokarbon ............ 87 Gambar 4.15 Diagram sekuensial untuk melihat penggolongan hidrokarbon....... 88 Gambar 4.16 Diagram sekuensial untuk menghitung massa hidrokarbon ............ 89 Gambar 4.17 Diagram sekuensial untuk menghitung jumlah atom ...................... 90 Gambar 4.18 Diagram sekuensial untuk mencari nama hidrokarbon ................... 91
xvi
Gambar 4.19 Diagram sekuensial untuk melihat daftar istilah ............................. 92 Gambar 4.20 Diagram sekuensial untuk mencari istilah ...................................... 93 Gambar 4.21 Diagram sekuensial untuk melihat evaluasi.................................... 94 Gambar 4.22 Diagram sekuensial untuk melihat bantuan.................................... 95 Gambar 4.23 Diagram sekuensial untuk melihat tentang aplikasi ........................ 96 Gambar 4.24 Diagram Komponen Aplikasi Modul Belajar Senyawa Hidrokarbon .................................................................................. 97 Gambar 4.25 Struktur Menu Utama .................................................................... 98 Gambar 4.26 Struktur Sub-Menu Materi Pelajaran.............................................. 99 Gambar 4.27 Rancangan Form Splash Screen..................................................... 100 Gambar 4.28 Rancangan List Menu Utama ......................................................... 100 Gambar 4.29 Rancangan Form Peta Konsep ....................................................... 102 Gambar 4.30 Rancangan List Materi Pelajaran.................................................... 102 Gambar 4.31 Rancangan Form Pengertian Hidrokarbon ..................................... 104 Gambar 4.32 Rancangan List Gol. Hidrokarbon.................................................. 104 Gambar 4.33 Rancangan Form Contoh Senyawa Hidrokarbon ........................... 105 Gambar 4.34 Rancangan Form Penamaan Hidrokarbon...................................... 106 Gambar 4.35 Rancangan Form Sumber Hidrokarbon.......................................... 106 Gambar 4.36 Rancangan Form Manfaat Hidrokarbon ......................................... 107 Gambar 4.37 Rancangan Form Hitung Massa Hidrokarbon ................................ 108 Gambar 4.38 Rancangan Form Mr Senyawa....................................................... 108 Gambar 4.39 Rancangan Form untuk rantai utama ............................................. 109 Gambar 4.40 Rancangan Form untuk rantai cabang ............................................ 109
xvii
Gambar 4.41 Rancangan Form Cari Istilah......................................................... 110 Gambar 4.42 Rancangan List Daftar Istilah......................................................... 110 Gambar 4.43 Rancangan Form Evaluasi ............................................................. 111 Gambar 4.44 Rancangan Form Bantuan.............................................................. 112 Gambar 4.45 Rancangan Form Tentang Aplikasi................................................ 112 Gambar 4.46 Proses instalasi Java Development Kit ............................................114 Gambar 4.47 Menentukan lokasi J2SE JDK Home Directory.............................. 114 Gambar 4.48 Menentukan lokasi NetBeans IDE Home Directory ....................... 115 Gambar 4.49 Menentukan lokasi Java Virtual Machine (JVM)........................... 116 Gambar 4.50 Jendela New Project NetBeans 5.5................................................. 117 Gambar 4.51 Jendela Choose Project.................................................................. 117 Gambar 4.52 Jendela Name and Location untuk New Project ............................. 118 Gambar 4.53 Jendela Default Platform Selection ................................................ 119 Gambar 4.54 Jendela New File ........................................................................... 120 Gambar 4.55 Jendela Name & Location untuk New File ..................................... 120 Gambar 4.56 Perancangan aplikasi menggunakan NetBeans 5.5 ......................... 121 Gambar 4.57 Tampilan Aplikasi Modul Belajar Senyawa Hidrokarbon pada emulator J2ME WTK versi 2.5.2 ................................................... 122 Gambar 4.58 Proses Mempaketkan Aplikasi ....................................................... 123 Gambar 4.59 Output modul menampilkan definisi hidrokarbon .......................... 129 Gambar 4.60 Output modul menampilkan penggolongan hidrokarbon ................ 130 Gambar 4.61 Output modul menghitung massa hidrokarbon............................... 131 Gambar 4.62 Output modul menghitung jumlah atom......................................... 132
xviii
Gambar 4.63 Output modul mencari nama hidrokarbon ...................................... 133 Gambar 4.64 Output modul menampilkan daftar istilah ...................................... 134 Gambar 4.65 Output modul mencari istilah......................................................... 135 Gambar 4.66 Output modul menampilkan evaluasi ............................................. 136 Gambar 4.67 Output modul menampilkan bantuan penggunaan aplikasi ............. 137 Gambar 4.68 Output modul menampilkan tentang aplikasi ................................. 138
xix
DAFTAR TABEL
Tabel 2.1 Tabel Perbandingan CLDC dan CDC ............................................................ 12 Tabel 2.2 Contoh Senyawa Alkena ................................................................. 13 Tabel 2.3
Contoh Senyawa Alkuna ................................................................. 14
Tabel 2.4
Perbandingan antara CLDC dan CDC............................................. 24
Tabel 3.1
Penentuan Jumlah Sampel Dari Populasi Tertentu Dengan Taraf Kesalahan 1%, 5%, dan 10% .................................................. 46
Tabel 4.1
Spesifikasi Use Case Melihat Pengertian Hidrokarbon.................... 55
Tabel 4.2
Spesifikasi Use Case Melihat Penggolongan Hidrokarbon .............. 55
Tabel 4.3
Spesifikasi Use Case Menghitung Massa Hidrokarbon ................... 56
Tabel 4.4
Spesifikasi Use Case Menghitung Jumlah Atom ............................. 57
Tabel 4.5
Spesifikasi Use Case Mencari Nama Hidrokarbon .......................... 58
Tabel 4.6
Spesifikasi Use Case Melihat Daftar Istilah .................................... 60
Tabel 4.7
Spesifikasi Use Case Mencari Istilah .............................................. 60
Tabel 4.8
Spesifikasi Use Case Melihat Evaluasi ........................................... 61
Tabel 4.9
Spesifikasi Use Case Melihat Bantuan............................................ 61
Tabel 4.10 Spesifikasi Use Case Melihat Tentang Aplikasi .............................. 62 Tabel 4.11a Daftar Atribut Kelas SenyawaKimiaHidrokarbon .......................... 70 Tabel 4.11b Daftar Metode Kelas SenyawaKimiaHidrokarbon.......................... 70 Tabel 4.12a Daftar Atribut Kelas SplashScreen ................................................. 71 Tabel 4.12b Daftar Metode Kelas SplashScreen ................................................ 71 Tabel 4.13a Daftar Atribut Kelas MenuUtama................................................... 72
xx
Tabel 4.13b Daftar Metode Kelas MenuUtama .................................................. 72 Tabel 4.14a Daftar Atribut Kelas MateriPelajaran ............................................. 73 Tabel 4.14b Daftar Metode Kelas MateriPelajaran............................................. 73 Tabel 4.15a Daftar Atribut Kelas Tampil........................................................... 74 Tabel 4.15b Daftar Metode Kelas Tampil .......................................................... 74 Tabel 4.16a Daftar Atribut Kelas GolonganHidrokarbon................................... 75 Tabel 4.16b Daftar Metode Kelas GolonganHidrokarbon .................................. 75 Tabel 4.17a Daftar Atribut Kelas Alkana........................................................... 76 Tabel 4.17b Daftar Metode Kelas Alkana .......................................................... 76 Tabel 4.18a Daftar Atribut Kelas Alkena........................................................... 77 Tabel 4.18b Daftar Metode Kelas Alkena .......................................................... 77 Tabel 4.19a Daftar Atribut Kelas Alkuna........................................................... 78 Tabel 4.19b Daftar Metode Kelas Alkuna .......................................................... 78 Tabel 4.20a Daftar Atribut Kelas TampilContohSenyawa ................................. 79 Tabel 4.20b Daftar Metode Kelas TampilContohSenyawa................................. 79 Tabel 4.21a Daftar Atribut Kelas HitungMassa ................................................. 80 Tabel 4.21b Daftar Metode Kelas HitungMassa................................................. 80 Tabel 4.22a Daftar Atribut Kelas CariNama ...................................................... 81 Tabel 4.22b Daftar Metode Kelas CariNama ..................................................... 81 Tabel 4.23a Daftar Atribut Kelas IstilahHidrokarbon ........................................ 82 Tabel 4.23b Daftar Metode Kelas IstilahHidrokarbon........................................ 82 Tabel 4.24a Daftar Atribut Kelas Evaluasi......................................................... 83 Tabel 4.24b Daftar Metode Kelas Evaluasi ........................................................ 83
xxi
Tabel 4.25a Daftar Atribut Kelas Bantuan ......................................................... 84 Tabel 4.25b Daftar Metode Kelas Bantuan......................................................... 84 Tabel 4.26a Daftar Atribut Kelas Tentang ......................................................... 85 Tabel 4.26b Daftar Metode Kelas Tentang......................................................... 85 Tabel 4.27 Pengujian modul menampilkan definisi hidrokarbon....................... 128 Tabel 4.28 Pengujian modul menampilkan penggolongan hidrokarbon............. 129 Tabel 4.29 Pengujian modul menghitung massa hidrokarbon............................ 130 Tabel 4.30 Pengujian modul menghitung jumlah atom...................................... 131 Tabel 4.31 Pengujian modul mencari nama hidrokarbon................................... 132 Tabel 4.32 Pengujian modul menampilkan daftar istilah ................................... 133 Tabel 4.33 Pengujian modul mecari istilah ....................................................... 134 Tabel 4.34 Pengujian modul menampilkan evaluasi.......................................... 135 Tabel 4.35 Pengujian modul menampilkan bantuan penggunaan aplikasi.......... 136 Tabel 4.36 Pengujian modul menampilkan tentang aplikasi .............................. 137 Tabel 4.37 Evaluasi Pengujian Aplikasi............................................................ 139 Tabel 4.38 Hasil Persentase Tanggapan Siswa.................................................. 140
xxii
DAFTAR LAMPIRAN
Lampiran A
Transkip Hasil Wawancara ........................................................ A-1
Lampiran B
Contoh dan Hasil Kuesioner ...................................................... B-1
Lampiran C
Profil Sekolah ............................................................................ C-1
Lampiran D
Surat Keterangan Melaksanakan Penelitian................................ D-1
Lampiran E
Isi (Content) Materi dan Soal-soal Evaluasi pada Aplikasi ......... E-1
Lampiran F
Spesifikasi Handphone yang diuji coba...................................... F-1
Lampiran G
Proses Transfer dan Instalasi Aplikasi pada Handphone............. G-1
Lampiran H
Hasil Tampilan Aplikasi pada Emulator dan Handphone........... H-1
Lampiran I
Source Code ..............................................................................
xxiii
I-1
BAB I PENDAHULUAN
1.1
Latar Belakang Masalah Dunia informasi saat ini seakan tak bisa terlepas dari teknologi. Salah satu
teknologi yang saat ini telah berkembang dengan pesat dalam satu dekade terakhir yang menjadi trend dan digemari masyarakat Indonesia adalah teknologi komunikasi terutama teknologi mobile device seperti Handphone. Handphone merupakan alat komunikasi wireless yaitu komunikasi bergerak tanpa kabel yang disebut dengan mobile device. Saat ini handphone bukanlah suatu hal yang dianggap mewah atau langka lagi. Handphone sekarang sudah menjadi kebutuhan pokok masyarakat Indonesia. Dari kalangan bawah sampai kalangan atas sudah menggunakan handphone. Disamping harga yang ditawarkan cukup terjangkau, berbagai fiture juga diberikan sebagai penunjang majunya teknologi. Handphone yang awalnya hanya sekedar digunakan sebagai telepon dan SMS saja. Namun dengan semakin berkembangnya teknologi perangkat handphone semakin lengkap mulai dari Game, Mp3, Kamera, Radio, dan koneksi internet. Banyak fungsi yang bisa dilakukan dengan handphone, diantaranya digunakan untuk menyimpan informasi, membuat daftar pekerjaan atau perencanaan pekerjaan, mencatat appointment (janji pertemuan) dan dapat disertakan reminder (pengingat waktu), kalkulator untuk perhitungan dasar
1
2
sederhana, mengirim dan menerima email, mencari informasi (berita, hiburan, dan informasi lain) dari internet. Perkembangan teknologi mobile device yang begitu pesat memiliki berbagai macam dampak, baik itu dampak positif dan negatif terhadap kehidupan masyarakat. Dampak negatif yang saat ini sedang banyak terjadi adalah : maraknya aksi teror bom, SMS santet, video porno dan lain-lain. Tetapi dibalik dampak negatif yang ditimbulkan oleh perkembangan teknologi perangkat mobile yang maju pesat tersebut, masih banyak dampak positif yang bisa dimanfaatkan dalam kehidupan sehari-hari. Berangkat dari permasalahan diatas penulis mencoba memberikan dampak positif atau manfaat dari perkembangan perangkat mobile tersebut dengan mengembangkan aplikasi panduan manasik haji yang didistribusikan kedalam sebuah ponsel untuk masyarakat Indonesia khususnya bagi umat Muslim. Dengan aplikasi yang dibuat maka setiap orang yang ingin mengetahui tata cara ibadah haji dapat belajar dengan cepat karena tidak hanya berbasis teks tetapi juga dilengkapi fitur gambar-gambar tentang ibadah haji, kumpulan do’a haji dan juga sifat handphone yang dapat dibawa kemana-mana.
1.2
Perumusan Masalah Sesuai dengan inti dari penulisan skripsi ini, maka permasalahan yang
dapat penulis simpulkan yaitu :
3
1) Bagaimana aplikasi (yang aplikasinya didistribusikan kedalam sebuah handphone) dapat memberikan informasi tentang tata cara melakukan ibadah haji tamattu. 2) Bagaimana penerapan aplikasi pada perangkat yang sebenarnya yaitu berupa handphone yang sudah mendukung aplikasi JAVA dengan Mobile Information Device Profile (MIDP) versi 2.0. 3) Bagaimana langkah-langkah perancangan aplikasi dan tools apa saja yang digunakan untuk membuat aplikasi Panduan Manasik Haji berbasis mobile device ini.
1.3
Batasan masalah Berdasarkan penelitian yang penulis lakukan, batasan-batasan yang
masalah yang dapat disimpulkan adalah : 1) Membuat aplikasi Panduan Manasik Haji berbasis mobile device dikembangkan menggunakan bahasa pemrograman Java2 Micro Edition (J2ME). 2) Aplikasi ini hanya dikembangkan untuk mobile device yang sudah mendukung aplikasi JAVA MIDP versi 2.0. 3) Aplikasi ini menampilkan informasi tentang haji dan tahapan-tahapan Haji Tamattu yang diambil dari buku Bimbingan Manasik Haji terbitan Departemen Agama RI Tahun 2003 oleh tim ahli Prof. K.H. Alie Yafie 4) Pengujian dan pengimplementasian penulis menggunakan ponsel LG KC550 dan Nokia 3120
4
1.4
Tujuan Penelitian Tujuan penelitian dan pembuatan aplikasi ini adalah : 1) Membuat aplikasi yang dapat digunakan oleh calon jamaah haji khususnya dan masyarakat pada umumnya dengan menggunakan perangkat mobile yang mendukung aplikasi JAVA MIDP 2.0 untuk memperoleh informasi tentang tata cara melaksanakan ibadah haji dengan cepat dan mudah karena dapat diakses dimana saja dan kapan saja. 2) Memahami cara pembuatan aplikasi mobile device menggunakan teknologi J2ME dari tahap perancangan, coding, sampai implementasi pada perangkat mobile. 3) Menerapkan aplikasi pada ponsel yang sudah mendukung aplikasi JAVA MIDP 2.0 dalam hal ini penulis menerapkan aplikasi pada ponsel LG KC550 dan Nokia 3120 4) Melakukan pengujian dan membandingkan kinerja aplikasi pada kedua ponsel tersebut.
1.5
Manfaat Penelitian Sesuai permasalahan dan tujuan penelitian yang sudah disebutkan, maka
manfaat penelitian dapat dirumuskan, yaitu : 1.5.1
Bagi penulis 1) Untuk memenuhi salah satu syarat kelulusan dalam menempuh gelar Sarjana Strata Satu (S1) pada Program Studi Teknik
5
Informartika Fakultas Sains Dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta. 2) Menambah wawasan penulis tentang bahasa pemrograman JAVA khsusnya J2ME dan dapat menerapkan langsung dengan membuat aplikasi untuk perangkat mobile.
1.5.2
Bagi Masyarakat 1) Membantu umat Islam mendapatkan informasi tentang haji, istilah-istilah haji, menghafal doa-doa haji dan tahapan pelaksanaan haji tamattu dengan menggunakan perangkat mobile device yang sudah mendukung aplikasi JAVA MIDP versi 2.0. 2) Sebagai referensi bagi masyarakat yang mempunyai minat dalam mengembangkan aplikasi mobile dengan J2ME. 3) Sebagai salah satu sarana belajar umat Islam tentang tata cara pelaksanaan haji.
1.5.3
Bagi Universitas 1) Mengetahui kemampuan mahasiswa dalam menguasai materi baik teori maupun praktek yang telah diperoleh selama masa kuliah. 2) Mengetahui kemampuan mahasiswa dalam menerapakan ilmunya sebagai bahan evaluasi.
6
1.6
Metode Penelitian Untuk memperoleh data dan informasi yang diperlukan, ada beberapa
metode yang penulis gunakan: 1.6.1
Studi pustaka Yaitu pengumpulan data dan informasi dengan cara membaca
buku-buku referensi yang dapat dijadikan acuan pembahasan yang berhubungan dengan judul skripsi Perancangan dan Implementasi Aplikasi Panduan Manasik Haji Berbasis Mobile Device. 1.6.2
Diskusi Melakukan diskusi dengan dosen pembimbing dan teman-teman di
kampus. 1.6.3. Metode pengembangan aplikasi Pengembangan aplikasi dalam penelitian ini penulis lakukan mengunakan lima tahap siklus pengembangan model RAD (Rapid Aplication Development) yang dibuat oleh James Martin, yang terdiri dari empat tahapan yaitu: 1) Fase Perencanaan Syarat-Syarat Yaitu menentukan tujuan dan syarat-syarat informasi. 2) Fase Perancangan Yaitu perancangan proses-proses yang akan terjadi di dalam aplikasi.
7
3) Fase Konstruksi pada tahapan ini dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan dan menjalankan aplikasi. 4) Fase Pelaksanaan pada tahapan ini dilakukan pengujian terhadap sistem dan melakukan pengenalan terhadap aplikasi.
1.7
Sistematik Penulisan Dalam penulisan skripsi ini, penulis membaginya dalam dalam lima bab
pembahasan, rincian pembahasan setiap bab yaitu sebagai berikut: BAB I
PENDAHULUAN Dalam bab ini berisi uraian tentang latar belakang penelitian, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan
BAB II LANDASAN TEORI Dalam bab ini berisi uraian tentang landasan teori yang berhubungan dengan materi yang penulis buat. Teori-teori tersebut antara lain adalah Haji, Mobile Device, JAVA, J2ME, UML dan RAD. BAB III METODOLOGI PENELITIAN Dalam bab ini berisi uraian tentang metodologi pengembangan aplikasi yang penulis gunakan pada aplikasi yaitu mengunakan model RAD.
8
BAB IV PENGEMBANGAN APLIKASI Pada bab ini dibahas mengenai pengembangan aplikasi yang menggunakan
beberapa
tahapan,
yaitu
meliputi
fase
perencanaan syarat-syarat, fase perancangan, fase konstruksi, dan fase pelaksanaan. BAB V PENUTUP Pada bab ini diuraikan kesimpulan dari pembahasan bab-bab sebelumnya dan saran-saran yang yang bisa ditambahkan dalam penulisan skripsi ini sehingga menjadi lebih baik. DAFTAR PUSTAKA LAMPIRAN
9
BAB II LANDASAN TEORI
2.1
Aplikasi Aplikasi atau perangkat lunak aplikasi adalah suatu subkelas perangkat
lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi
adalah
pengolah
kata,
lembar
kerja,
dan
pemutar
media.
(http://id.wikipedia.org/wiki/Aplikasi).
2.2
Panduan Menurut kamus besar Indonesia (2009:230), panduan atau petunjuk adalah
tuntunan dalam melakukan suatu pekerjaan.
2.3
Haji Haji adalah rukun (tiang agama) Islam yang kelima setelah syahadat,
shalat, zakat dan puasa. Menunaikan ibadah haji adalah bentuk ritual tahunan yang dilaksanakan umat Islam sedunia yang mampu (secara material, fisik, dan keilmuan) dengan berkunjung dan melaksanakan beberapa kegiatan di beberapa tempat di Arab Saudi pada suatu waktu yang dikenal sebagai musim haji (bulan Dzulhijjah) (http://www.sifaalikhlas.wordpress.com/). Hal ini berbeda dengan ibadah umrah yang bisa dilaksanakan sewaktu-waktu.
9
10
Kegiatan inti ibadah haji dimulai pada tanggal 8 Dzulhijjah ketika umat Islam bermalam di Mina, wukuf (berdiam diri) di Padang Arafah pada tanggal 9 Dzulhijjah, bermalam di Muzdalifah, dan berakhir setelah melempar jumrah (melempar batu simbolisasi setan) pada tanggal 10, 11, dan 12 Dzulhijjah. Masyarakat Indonesia lazim juga menyebut hari raya Idul Adha sebagai hari raya haji karena bersamaan dengan perayaan ibadah haji ini. Ibadah haji dimulai dengan:
1.
berihram
2.
thawaf (qudum, ifadhah)
3.
sa'i (antara Shafa-Marwah)
4.
wuquf di Arafah
5.
mabit di Muzdalifah
6.
melempar jumrah
7.
memotong/mencukur rambut dan diakhiri dengan
8.
thawaf wada'
2.3.3
Macam-macam Haji Setiap jamaah bebas memilih jenis ibadah haji yang ingin dilaksanakannya. Berikut adalah jenis dan pengertian haji yang dimaksud (http://id.wikipedia.org/wiki/Haji#Jenis_ibadah_haji): 2.3.3.1
Haji Tamattu' Haji Tamattu’ adalah ibadah yang hanya berniat
(berihram) untuk umroh saja di bulan-bulan ibadah haji. Bila sudah sampai di Makkah, dia bisa langsung melakukan thawaf dan sa'i
11
untuk berumrah, mencukur rambut, dan memotong kuku. Ketika tiba hari Tarwiyyah (hari ke-8 bulan Dzulhijjah), dia mulai ihram dengan melakukan haji secara tersendiri dengan seluruh aktifitas ibadah hajinya.
2.3.3.2
Haji Ifrad Haji ifrad adalah ibadah haji secara tersendiri. Jika sudah
sampai di Makkah, dia bisa melakukan thawaf qudum (thawaf kedatangan ke tanah suci) lalu melakukan sa'i untuk ibadah haji tanpa mencukur rambut atau memotong kuku. Dia juga tidak perlu ber-tahallul (terlepasnya seseorang dari halangan atau pantangan selama ihram) selama ihram karena posisinya tetap atau telah berihram hingga kemudian ber-tahallul setelah melempar jumrah al-aqabah di hari Idul Adha (10 Dzulhijjah). Jika dia mengakhirkan ibadah sa'i sampai waktu thawaf haji, maka tidak masalah.
2.3.3.3
Haji Qiran Haji qiran adalah ibadah haji dimana seseorang berihram
untuk ibadah haji dan umrah secara bersamaan, atau berihram untuk umrah terlebih dahulu kemudian masuk pada ihram ibadah haji. Kegiatan ini dilaksanakan sebelum melakukan thawaf. Orang yang melaksanakan haji qiran sama dengan yang dilaksanakan pada haji Ifrad, hanya saja orang yang melaksanakan haji Qiran
12
berkewajiban membayar dam (denda), sementara haji ifrad tidak ada kewajiban.
2.4
Mobile Device Computing device berukuran relatif lebih kecil, dengan tipikal penggunaan
layar display visual kecil sebagai output dan keyboard kecil sebagai input. Pada device tertentu, misalnya Personal Digital Assistant (PDA), input dan output menjadi satu pada tampilan touch-screen (http://en.wikipedia.org/wiki/Handheld device).
2.5
Pembahasan Umum JAVA JAVA menurut definisi dari SUN adalah nama untuk sekumpulan
teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada komputer dalam lingkungan jaringan. JAVA 2 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 pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM (Shalahuddin, 2006:1). Platform JAVA memiliki tiga buah edisi yang berbeda yaitu J2EE (Java 2 Enterprise Edition), J2SE (Java 2 Standard Edition) dan J2ME (Java 2 Micro
13
Edition) (Shalahuddin, 2006:4). Hubungan antara J2EE, J2SE dan J2ME dapat dilihat pada Gambar 2.1 .
Gambar 2.1 Hubungan antara J2EE, J2SE dan J2ME (de Jode, 2004:4)
2.6
JAVA2 Micro Edition (J2ME) 2.6.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 (Shalahuddin, 2006:5). Arsitektur J2ME dapat dilihat pada Gambar 2.2 .
14
Profile Libraries Configuration JVM Host Operating System
Gambar 2.2 Arsitektur J2ME (Shalahuddin, 2006:5) Teknologi J2ME ditujukan untuk cakupan user yang luas sekali dari mulai handphone hingga set-top-box yang powerful seperti halnya sebuah komputer yang dilengkapi dengan J2SE atau J2EE. J2ME memiliki beberapa keunggulan yaitu (http://j2me.winfaisal.info): 1. Sebagaimana kekhasan aplikasi yang ditulis dengan bahasa pemrograman JAVA maka aplikasi J2ME memiliki ciri running any where, any time, over any dvice. 2. Aplikasi dapat dijalankan secara on-line maupun off-line. 3. Memiliki kode yang portable. 4. Safe network delivery. 5. Aplikasi yang ditulis dengan J2ME akan memiliki kompatibilitas yang tinggi dengan platform J2SE dan J2EE. Tetapi selain memiliki beberapa keunggulan, teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel J2ME sangat bergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka J2ME pada ponsel tersebut tidak dapat mengakses kamera.
15
Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas. (Shalahuddin, 2006:6).
2.6.2
Komponen-Komponen J2ME Komponen user interface untuk aplikasi J2ME MIDlet sangat
terbatas. Komponen-komponen yang disediakan bagi aplikasi MIDlet, secara garis besar dibagi menjadi dua kelompok, yaitu MIDP Screen dan MIDP UI (Purnomo, 2006:200). 2.6.2.1 MIDP Screen Berkaitan dengan kecilnya layar (display) dan keterbatasan memori perangkat mobile, MIDP menggunakan class khusus untuk menangani hal tersebut, sehingga bisa menyesuaikan dengan lebar layar perangkat mobile. Jika pada aplikasi desktop menggunakan frame, maka pada aplikasi mobile menggunakan Displayable. Displayable adalah suatu obyek yang dapat digunakan untuk menggambar atau meletakkan komponen yang dapat menyesuaikan ukuran dengan layar perangkat mobile. Class Displayable memiliki dua buah sub-class, yaitu Screen dan Canvas, dan terdapat empat turunan dari class Screen, yaitu Alert, Form, List, dan TextBox. 2.6.2.2 MIDP UI Terdapat beberapa komponen yang dapat digunakan untuk merancang tampilan aplikasi berbasis mobile. Adapun komponenkomponen tersebut diantaranya, yaitu:
16
1. ChoiceGroup Komponen yang digunakan untuk membuat pilihan, baik berupa pilihan tunggal maupun pilihan jamak. 2. DataField Komponen yang dapat digunakan untuk menampilkan waktu berupa tanggal atau jam atau kedua-duanya. 3. Gauge Komponen yang digunakan sebagai grafik bar untuk menunjukan suatu proses. 4. ImageItem Komponen untuk meletakkan gambar berformat PNG. 5. StringItem Komponen untuk meletakkan teks tetapi tidak dapat diubah. 6. TextField Komponen untuk meletakkan teks. Teks dapat diubah dan dibatasi jumlah maksimal karakter yang dimasukkan. 7. Ticker Komponen yang menjadikan sebuah teks dapat bergerak. 8. Spacer Komponen untuk membuat ruang kosong antara komponen satu dengan komponen yang lain.
17
2.6.3
J2ME Configuration Configuration adalah sesutau spesifikasi yang menggambarkan
lingkungan perangkat lunak untuk suatu device yang digambarkan oleh suatu kumpulan karakteristik yang bersandar pada suatu spesifikasi contohnya antara lain (Topley, 2002:10): 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. (Shalahuddin, 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 (Topley, 2002:16). Gambar 2.3 menjelaskan tentang posisi CLDC dalam arsitektur J2ME. MIDP Kumpulan Library CLDC KVM Sistem Operasi
Gambar 2.3 Posisi CLDC dalam Arsitektur J2ME (Shalahuddin, 2006:7).
18
2. Connected Device Configuration (CDC) CDC ditujukan untuk memenuhi kebutuhan dari device 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 settop boxes (Topley, 2002:11). Berikut adalah perbandingan CLDC dan CDC (Shalahuddin, 2006:8). Tabel 2.1 Tabel Perbandingan CLDC dan CDC (Shalahuddin, 2006:8)
2.6.4
CLDC Mengimplementasikan sebagian dari J2SE JVM yang digunakan adalah KVM (Kilo Virtual Machine).
CDC Mengimplementasikan seluruh fitur J2SE JVM yang digunakan adalah CVM (C-Virtual Machine).
Digunakan pada perangkat genggam (handphone, PDA, twoway pager) dengan memori terbatas (160-512 KB). Prosesor : 16/32 bit
Digunakan pada perangkat genggam (Internet TV, Nokia Communicator, Car TV) dengan memori minimal 2 MB. Prosesor : 32 bit
J2ME Profile Profile melengkapi Configuration dengan menambahkan kelas-
kelas tambahan yang menyediakan fitur-fitur yang lebih spesifik yang sesuai bagi jenis-jenis device tertentu (Topley, 2002:12). Salah satu profile yang terdapat dalam arsitektur J2ME adalah MIDP atau Mobile Information Device Profile. a.
Mobile information device profile (MIDP)
19
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profile J2ME (Shalahuddin, 2006:9). Profile
ini
menambah
networking,
user
interface
components, dan local storage pada CLDC. Profile ini ditujukan khususnya kepada mobile device yang memiliki keterbatasan pada display dan fasilitas penyimpanan, dan oleh karena itu MIDP menyediakan user interactif yang relatif sederhana dan networking dasar yang berbasis HTTP 1.1 (Topley, 2002:12). Posisi MIDP pada arsitektur J2ME dapat dilihat pada Gambar 2.4 (Shalahuddin, 2006:9). MIDP Libraries CLDC KVM Host Operating System
Gambar 2.4. Posisi MIDP dalam arsitektur J2ME (Shalahuddin, 2006:9) 2.6.5
Kilo Virtual Machine (KVM) KVM atau Kilo Virtual Machine adalah paket JVM yang didesain
untuk perangkat yang kecil. Posisi KVM pada arsitektur J2ME dapat dilihat pada gambar 2.5 di bawah ini (Shalahuddin, 2006:11). MIDP
CLDC
Kumpulan Library KVM
Sistem Operasi
Gambar 2.5. posisi KVM pada arsitektur J2ME (Shalahuddin, 2006:11)
20
2.6.6
MIDlets Sebuah MIDlets adalah aplikasi java yang didesain untuk dapat
berjalan pada mobile device. Sebuah midlet terdiri dari satu atau lebih paket-paket midlet dan bersama-sama menggunakan suatu file JAVA archive (JAR) (Muchow, 2001:20).
2.6.6.1 Daur Hidup MIDlet Di setiap waktu, suatu midlet satu dari tiga status: Paused, Actived atau Destroyed. Gambar 2.6 di bawah ini menunjukan diagram status daur hidup dari sebuah midlet (Topley, 2002:58).
Gambar 2.6 Diagram status daur hidup dari sebuah Midlet (Topley, 2002:58).
2.6.6.2 Emulator perangkat MIDlet SUN Microsystem telah menyediakan J2ME Wireless Toolkit (sering disingkat J2ME WTK) untuk mengembangkan aplikasi dalam handphone (Raharjo, 2007:8).
21
J2ME
Wireless
Toolkit
dapat
didownload
di
http://java.sun.com/j2me secara gratis. J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator, dokumentasi berserta contoh-contoh aplikasi java untuk perangkat kecil (small device) (Shalahuddin, 2006:15). Gambar 2.7 berikut ini adalah contoh J2ME Wireless Toolkit versi 2.5.2
Gambar 2.7. Contoh emulator J2ME Wireless Toolkit 2.5.2 2.6.7 Java Application Descriptor (JAD) Digunakan untuk mendeskripsikan isi aplikasi untuk keperluaan pemetaan. File JAD berisi deskripsi file JAR (Java Archieve) dan pemetaan atribut Midlet, sedanglan file JAR berisi kumpulan kelas dan resource (Shalahuddin, 2006:14).
2.7
Rapid Application Development (RAD) RAD (Rapid Application Development) adalah istilah yang dibuat oleh
James Martin, yaitu seorang konsultan komputer dan pengarang, untuk suatu siklus hidup pengembangan yang dimaksudkan untuk menghasilkan sistem secara cepat tanpa mengorbankan kualitas (McLeod, 2004:153).
22
Menurut Kendall (2006:237), Pengembangan Aplikasi Cepat (PAC) (Rapid Application Development) adalah suatu pendekatan berorientasi obyek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. Berikut ini adalah fase-fase RAD menurut James Martin (Kendall, 2006:238), yang meliputi empat tahapan yaitu: 1) Fase Perencanaan Syarat-syarat Pada tahap ini dilakukan penentuan tujuan dan syarat-syarat informasi. 2) Fase Perancangan. Pada tahap ini dilakukan perancangan proses-proses
yang akan
terjadi dalam aplikasi dan perancangan antarmuka. 3) Fase Konstruksi Pada tahap ini dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan pada tahap sebelumnya. 4) Fase Pelaksanaan Pada tahap ini dilakukan pengujian terhadap aplikasi dan melakukan pengenalan terhadap aplikasi.
Gambar 2.8 Fase RAD menurut James Martin (Kendall, 2006:238) Dalam menggunakan RAD ada beberapa hal yang perlu diperhatikan terutama berkaitan dengan kelebihan dan kekurangan.
23
Berikut ini adalah beberapa poin kelebihan dan kekurangan menggunakan metode RAD, yaitu (Noertjahyana, 2002:78): a. Kelebihan metode RAD Beberapa kelebihan dalam menggunakan metode RAD antara lain: 1) Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak menggunakan potongan-potongan script. 2) Mudah untuk diamati, karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan. 3) Lebih fleksibel, karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan. 4) Keterlibatan user semakin meningkat, karena merupakan bagian dari tim secara keseluruhan. 5) Mampu meminimalkan kesalahan-kesalahan, dengan menggunakan alat-alat bantuan (CASE tools).
b. Kekurangan metode RAD Beberapa kekurangan dalam menggunakan metode RAD antara lain: 1) Kesulitan dalam melakukan pengukuran mengenai kemajuan proses. 2) Ketelitian menjadi berkurang, karena tidak menggunakan metode yang formal dalam melakukan pengkodean. 3) Lebih banyak terjadi kesalahan, apabila hanya mengutamakan kecepatan dibandingkan dengan biaya dan kualitas.
24
4) Fasilitas-fasilitas banyak yang dikurangi, karena terbatasnya waktu yang tersedia. 5) Sistem sulit diaplikasikan di tempat yang lain.
2.8
Unified Modelling Language (UML) 2.8.1
Sekilas tentang UML Menurut Grady Booch, James Rumbaugh, Ivar Jacobson (1998)
UML (Unified Modelling 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 (Fowler, 1999). 2.8.2
Diagram-diagram dalam UML Setiap sistem yang kompleks seharusnya bisa dipandang dari sudut
yang berbeda-beda sehingga kita bisa mendapatkan pemahaman yang menyeluruh (Nugroho, 2005:18). untuk upaya tersebut UML menyediakan beberapa jenis diagram, diantaranya yang digunakan dalam penelitian ini adalah Use Case Diagram, Sequence Diagram dan Class Diagram yang akan dijelaskan sebagai berikut 2.8.2.1 Use Case Diagram
25
Use case diagram adalah teknik untuk merekam persayaratn 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 (Fowler, 2005:141). Use case diagram menggambarkan suatu kesimpulan dari beberapa use case dan actors dan hubungan mereka. Diagram ini sangat penting dalam mengatur dan mencontohkan perilaku dari sebuah sistem (Booch , 1998). Gambar 2.9 dalah notasi use case dan actor. yang digunakan dalam use case diagram
Use case
Actor
Gambar 2.9 Notasi Use Case dan Actor Contoh Use Case Diagram dapat dilihat pada Gambar 2.10.
Gambar 2.10 Contoh Use Case Diagram (Booch, 1998).
26
Di dalam use case terdapat teks untuk menjelaskan urutan kegiatan
yang disebut
use
case
specification.
Use
case
specification terdiri dari (Hermawan, 2004:16). 1.
Nama use case Mencantumkan nama dari use case yang bersangkutan. Sebaiknya diawali dari kata kerja untuk menunjukkan suatu aktivitas.
2.
Deskripsi singkat (brief description) 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 sesuat berjalan dengan baik, tiada halangan atau hambatan dalam mencapai tujuan dari use case.
4.
Aliran alternative (alternate flow) Merupakan perlengakapan 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.
27
6.
Post-condition Menjelaskan kondisi yang berubah atau terjadi saat use case selesai dieksekusi.
2.8.2.2 Sequence Diagram Sebuah sequence diagram, secara khusus, menjabarkan behavior sebauh skenario tunggal. Diagram tersebut menunjukkan sebuah objek contoh dan pesan-pesan yang melewati objek-objek ini didalam use case (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 dibawah nama sutau objek (Nugroho, 2005:92). Contoh sequence diagram dapat dilihat pada gambar 2.11 dibawah ini.
Gambar 2.11. contoh sequence diagram (Martin Fowler, 2005:85)
28
2.8.2.3 Class Diagram Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. Class Diagram juga menunjukkan properti dan opersi sebuah class (Martin Fowler, 2005:53). Notasi class dapat dilihat pada gambar 2.12 di bawah ini. Nama Kelas Atribut Operasi
Gambar 2.12. Notasi Class dalam UML (Nugroho, 2005:111) Bagian paling atas memuat nama kelas. Bagian tengah mendaftarkan
atribut-atribut
yang
dimiliki
sebuah
kelas
sedangkan paling bawah mendaftarkan operasi-operasi yang dimiliki kelas yang bersangkutan (Nugroho, 2005:112). Class diagram umumnya tersusun dari elemen class, interface, dependency, generalization dan association. Relasi dependency menunjukkan bagaimana terjadi ketergantungan antar class yang ada. Relasi generalization menunjukkan bagaimana suatu class menjadi superclass dari class lainnya dan class tersebut menjadi subclass dari class tersebut. Relasi association menggambarkan navigasi antar class, berapa banyak obyek lain bisa berhubungan dengan satu obyek (multiplicity antar class), dan apakah suatu class menjadi nenjadi bagian dari class lainnya (agregation) (Hermawan, 2004:28).
29
Contoh class diagram dapat pada gambar 2.13 dibawah ini.
Gambar 2.13. Contoh Class Diagram (Booch, 1998).
30
BAB III METODOLOGI PENELITIAN
Seperti yang telah dibahas pada bab I, dalam perancangan aplikasi Panduan Manasik Haji berbasis mobile device ini, ada beberapa metode yang dilakukan diantaranya : 3.1
Metode Pengumpulan Data Dalam menyusun skripsi ini, diperlukan data-data informasi yang relatif
lengkap sebagai bahan yang dapat mendukung kebenaran materi uraian pembahasan. Oleh karena itu sebelum menyusun skripsi ini, dalam persiapannya terlebih dahulu dilakukan riset atau penelitian untuk menjaring data-data atau bahan materi yang diperlukan. Adapun metode pengumpulan data-data dan informasi yang diperlukan adalah metode studi pustaka, yaitu pengumpulan data dan informasi dengan cara membaca buku-buku referensi, e-book dan website. Adapun sumber buku-buku referensi, e-book dan website dapat dilihat selengkapnya pada daftar pustaka.
3.2
Metode Pengembangan Aplikasi Pengembangan aplikasi yang penulis lakukan menggunakan empat tahap
siklus pengembangan model RAD (Rapid Aplication Development), yaitu fase perencanan syarat-syarat dan tujuan informasi, fase perancangan, fase konstruksi dan fase pelaksanaan. Model RAD penulis gunakan karena melihat dari aplikasi yang dikembangkan oleh penulis, merupakan aplikasi yang sederhana dan tidak membutuhkan waktu yang lama yaitu sekitar 2 bulan, metode RAD adalah metode
30
31
yang diperuntukan untuk jangka pendek sesuai dengan aplikasi yang dikembangkan. Model pengembangan RAD yang oleh James Martin melingkupi fase-fase sebagai berikut (Kendall, 2006:238):
Fase Perancanan Syarat-syarat
Fase Perancangan
Fase Kontruksi
Fase Pelaksanaan
Gambar 3.1 Fase-fase RAD James Martin (Kendall & Kendall, 2006:238) Gambar 3.2 menjelaskan fase-fase yang dilakukan dalam pembuatan aplikasi Panduan Manasik Haji ini sesuai dengan tahapan-tahapan yang ada di model RAD.
32
Perancangan dan Implementasi Aplikasi Panduan Manasik Haji Berbasis Mobile Device Buku Tuntunan Perjalanan haji terbitan Depag RI dan website
Daftar urutan pelaksanaan Haji Tamattu dan Kumpulan Do’aDo’a Haji
Software untuk pembuatan aplikasi, antara lain : J2SE SDK 1.5.0_02, J2ME WTK 2.5.2, Netbeans Mobiliy Pack 5.5, Sistem Operasi Windows XP SP 2
Hardware berupa 1 buah PC dan 2 buah Ponsel LG KC550 dan Nokia 3120 untuk pengujian aplikasi
Fase menentukan syarat-syarat informasi
Fase Perancangan Use Case Diagram Perubahan Atau Tambahan
Sequence Diagram
Class Diagram
Perancangan menggunakan Diagram UML
Perancangan Antar Muka
Fase Kontruksi Tahap Pembuatan Program
Fase Pelaksanaan Spesifikasi Ponsel yang digunakan
Transfer Aplikasi dari PC ke Ponsel dan Instalasi Pengujian Aplikasi pada ponsel LG KC550 dan Nokia 3120 dan Instalasi EvaluasiPengujian Apliksi pada Ponsel LG KC550 dan Nokia 3120 N70 dan Instalasi
Tanggapan User
Kurang Baik Aplikasi Panduan Manasik Haji Berbasis Mobile Device
Gambar 3.2 Fase-fase pembuatan Aplikasi Panduan Manasik Haji Berbasis Mobile Device
33
Adapun penjelasan dari fase-fase perancangan aplikasi ini sesuai dengan Gambar 3.2 adalah sebagai berikut : 1.
Fase Perencanaan Syarat-syarat Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan aplikasi serta untuk mengidentifikasi syarat-syarat informsi yang ditimbulkan dari tujuan-tujuan tersebut.
2.
Fase Perancangan Pada tahap ini dilakukan beberapa tahapan antara lain : a) Perancangan proses-proses yang akan terjadi didalam aplikasi menggunakan diagram UML yaitu dengan membuat Use Case Diagram, Class Diagram dan Sequence Diagram. b) Perancangan Antar Muka Antar muka pemakai memberikan fasilitas komunikasi antara pemakai dengan aplikasi, memberikan berbagai fasilitas informasi dan berbagai keterangan yang bertujuan untuk membantu mengarahkan alur penulusuran masalah sampai ditemukan solusi.
3.
Fase Konstruksi Pada tahapan ini dilakukan tahap pembuatan program yang telah dirancang sebelumnya menggunakn Netbeans IDE 5.5 untuk membuat user interface, source code dan emulator J2ME Wireless Toolkit 2.5.2 untuk menjalankan program dalam PC (Personal Computer).
4.
Fase Pelaksanaan Pada fase ini dilakukan beberapa tahapan antara lain :
34
a) Spesifikasi Ponsel yang digunakan Menjelaskan spesifikasi minimal yang harus dimiliki oleh ponsel yang akan menerapkan aplikasi ini. b) Transfer Aplikasi dari PC ke Ponsel dan Instalasi Menjelaskan tahapan-tahapan transfer aplikasi dari PC ke dalam Ponsel LG KC550 dan Nokia 3120 dengan media kabel data dan Bluetooth, kemudian dilakukan proses instalasi aplikasi dalam ponsel. c) Pengujian Aplikasi pada ponsel LG KC550 dan Nokia 3120 Pengujian aplikasi dilakukan pada ponsel dengan menguji seluruh fitur yang terdapat pada Aplikasi Panduan Manasik Haji Berbasis Mobile Device. d) Evaluasi pengujian apliksi pada handphone LG KC550 dan Nokia 3120. Melakukan evaluasi aplikasi pada kedua ponsel tersebut menggunakan beberapa kategori pengujian dan kemudian dievaluasi. e) Tanggapan User Meminta
tanggapan
user
terhadap
aplikasi
ini
kemudian
mengevaluasinya. Berikut ini adalah beberapa alasan kenapa peneliti menggunakan metode RAD dalam pengembangan aplikasi ini, yaitu karena: 1) Aplikasi yang dibuat merupakan dalam skala kecil, yakni hanya berkisar antara 600 – 900 KB. 2) Memerlukan waktu yang tidak terlalu lama yaitu 2 bulan dalam pembuatan aplikasi.
35
3) Konten atau isi pada aplikasi bersifat statis dan jumlah data yang digunakan tidak besar dan hanya berfokus pada materi tentang panduan manasik haji. 4) Spesifikasi kebutuhan sistem sudah diketahui yaitu data-data diperoleh melaluli metode pengumpulan data.
36
BAB IV PENGEMBANGAN APLIKASI Untuk pengembangan aplikasi ini digunakan metode RAD (Rapid Application Development) yang terdiri dari fase perencanaan syarat-syarat, fase perancangan, fase konstruksi dan fase pelaksanaan sesuai dengan fase-fase pembuatan Aplikasi Panduan Manasik Haji berbasis Mobile Device yang telah digambarakan pada gambar 3.2 pada bab 3. 4.1
Fase Perencanaan Syarat-Syarat 4.1.1
Tujuan Informasi Tujuan pembuatan aplikasi ini adalah sebagai salah satu solusi
yang dapat membantu user atau pengguna ponsel, khususnya yang telah mendukung aplikasi JAVA MIDP versi 2.0 untuk dapat memperoleh informasi tentang Panduan Manasik Haji dengan menggunakan perangkat mobile atau ponsel miliknya kapan saja dan dimana saja. Cara ini dirasakan lebih mudah dilakukan karena ponsel memiliki fisik yang mudah dibawa kemana saja dan memiliki menu yang mudah diakses (user friendly). Dalam aplikasi ini, user dapat memperoleh informasi tentang Panduan Manasik Haji yang telah dilengkapi dengan doa-doa, tentang pelaksanaan ibadah haji dan istilah-istilah dalam haji. Selain itu juga aplikasi ini dapat didistribusikan dengan mudah dan cepat kepada pengguna lain melalui media transfer seperti kabel data, bluetooth, infrared dan card reader.
36
37
4.1.2
Syarat-syarat Informasi Pembuatan aplikasi Panduan Manasik Haji ini harus memenuhi
syarat-syarat pembuatan aplikasi mobile device menggunakan J2ME yang meliputi kelengkapan data, kelengkapan perangkat lunak (software) dan kelengkapan perangkat keras (hardware). Kelengkapan data yang digunakan dalam pembuatan aplikasi panduan manasik haji adalah 1.
Buku Bimbingan Manasik Haji yang diterbitkan oleh Departemen Agama RI.
2.
Buku Doa dan Zikir Ibadah Haji yang diterbitkan oleh Departemen Agama RI.
Sedangkan kelengkapan software yang digunakan yang digunakan untuk pembuatan aplikasi adalah: 1.
J2SE SDK versi 1.5.0_02 sebagai platform JAVA yang membuat wireless toolkit dapat berjalan.
2.
J2ME Wireless Toolkit versi 2.5.2 sebagai emulator untuk aplikasi Midlet.
3.
Netbeans IDE versi 5.5 sebagai integrated Development Environment (IDE) untuk merancang user interface dan source code.
4.
Netbeans Mobility Pack versi 5.5 yang digunakan sebagai software tambahan atau plug-in untuk mengembangkan aplikasi J2ME menggunakan IDE dari Netbeans versi 5.5 tersebut.
38
5.
Sistem Operasi Windows XP service pack 2 yang berjalan pada PC (Personal Computer).
Adapun kelengkapan hardware yang digunakan: 1.
Satu buah PC untuk membuat program dengan spesifikasi sebagai berikut: a. Processor 1500 MHz b. Memory 512 MB c. Harddisk 120 GB d. Mouse e. Keyboard f. Monitor dengan resolusi 1024 x 768 pixel.
2.
Sebuah kabel data dan bluetooth untuk mentransfer file aplikasi dari PC ke ponsel.
3.
Handphone
yang telah mendukung aplikasi JAVA MIDP
versi 2.0. Dalam hal ini penulis menggunakan perangkat LG KC550 dan Nokia 3120 untuk pengujian aplikasi. 4.1.2 Analisa Masalah Informasi tentang panduan haji baru sebatas buku seperti buku Bimbingan Manasik Haji dan buku Doa Dan Zikir Ibadah Haji yang diterbitkan oleh Departemen Agama. Hal ini menyebabkan buku kurang efektif untuk dibawa setiap saat, membaca dan menghafal doa-doa haji tanpa mengenal waktu dan tempat sehingga minat masyarakat beragama Islam tidak meningkat untuk mempelajari hal-hal tentang ibadah haji.
39
Masalah yang dapat diselesaikan adalah dengan Perancangan dan Implementasi Aplikasi Panduan Manasik Haji Berbasis Mobile Device. Adapun kelebihan-kelebihan dari aplikasi ini adalah : a)
Kemudahan dalam mengakses informasi tentang haji karena sifat handphone selalu dibawa kemana-mana.
b)
Tidak membutuhkan pulsa untuk mengakses karena informasi telah terbenam didalam aplikasi.
c)
4.2
Menu-menu yang user friendly dalam penggunaan aplikasi ini.
Fase Perancangan Dalam perancangan program aplikasi Panduan Manasik Haji ini, terdiri
dari perancangan menggunakan notasi UML sebagai case tool dalam merancang proses yang akan terjadi dalam sistem, yakni dengan membuat use case diagram, activity diagram, sequence diagram, class diagram dan perancangan antar muka (user interface). 4.2.1 Use Case Diagram Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendiskripsikan interaksi tipikal antara pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. Pada aplikasi ini, terdapat beberapa use case antara lain use case melihat tentang haji , use case melihat istilah-istilah haji, use case melihat doa-doa haji, use case melihat tahapan haji tamattu, use case melihat bantuan dan use case melihat tentang
40
Gambar 4.1 berikut ini menunjukkan use case diagram yang dibuat pada aplikasi ini. Aplikasi Panduan Manasik Haji
Melihat Tentang Haji
Melihat Istilahistilah Haji
Melihat Doa-doa Haji
Melihat Tahapan Haji Tamattu
User
Melihat Bantuan
Melihat Tentang
Gambar 4.1. Use Case Diagram Aplikasi Panduan Manasik Haji Berbasis Mobile Device
Berikut ini adalah spesifikasi dari beberapa use case diatas yang menjelaskan urutan kegiatan yang dilakukan sistem dan user, yaitu antara lain : 1. Use Case melihat tentang haji Table 4.1 Spesifikasi Use Case Melihat Tentang Haji Use Case Name Actor Brief Description
Melihat Tentang Haji User Use Case ini digunakan untuk menampilkan hal-hal mengenai ibadah haji. Hal-hal itu diantaranya pengertian haji, macam-macam Haji, waktu pelaksanaan haji, hikmah dan keutamaan haji, hukum dan dalil haji, syaratsyarat haji, rukun dan wajib haji, dam haji dan larangan dalam haji
41
Basic Flow
Alternate Flow Pre Condition
Post Condition
1. User membuka menu Tentang Haji dengan memilih Tentang Haji pada Menu Utama 2. User memilih salah satu List Tentang Haji yang ingin ditampilkan User harus memilih Tentang Haji pada Menu Utama kemudian memilih salah satu List Tentang Haji Aplikasi menampilkan definisi dan hal-hal mengenai ibadah haji sesuai yang dipilih oleh user.
2. Use Case melihat Istilah-istilah Haji Table 4.2 Spesifikasi Use Case Melihat Istilah-istilah Haji Use Case Name Actor Brief Description
Basic Flow
Alternate Flow Pre Condition
Post Condition
Melihat Istilah-istilah Haji User Use Case ini digunakan untuk menampilkan istilah-istilah yang terdapat dalam pelaksanaan ibadah haji. 1. User membuka menu Istilah-istilah Haji dengan memilih Istilah-istilah Haji pada Menu Utama 2. User memilih salah satu List Istilah-istilah Haji yang ingin ditampilkan User harus memilih Istilah-istilah Haji pada Menu Utama kemudian memilih salah satu List Istilah-istilah Haji Aplikasi menampilkan definisi istilah-istilah dalam pelaksanaan ibadah haji yang dipilih oleh user
3. Use Case melihat Doa-doa Haji Table 4.3 Spesifikasi Use Case Melihat Doa-doa Haji Use Case Name Actor Brief Description Basic Flow
Melihat Doa-doa Haji User Use Case ini digunakan untuk menampilkan doa-doa dalam pelaksanaan ibadah haji. 1. User membuka menu Doa-doa Haji dengan memilih Doa-doa Haji pada Menu Utama
42
2. User memilih salah satu List Doa-doa Haji User harus memilih Doa-doa Haji pada Menu Utama kemudian memilih salah satu List Doadoa Haji yang ingin ditampilkan Aplikasi menampilkan salah satu doa dalam pelaksanaan ibadah haji yang dipilih oleh user
Alternate Flow Pre Condition
Post Condition
4. Use Case melihat Tahapan Haji Tamattu Table 4.4 Spesifikasi Use Case Melihat Tahapan Haji Tamattu Use Case Name Actor Brief Description
Basic Flow
Alternate Flow Pre Condition
Post Condition
Melihat Tahapan Haji Tamattu User Use Case ini digunakan untuk menampilkan tahapan-tahapan dalam pelaksanaan ibadah haji tamattu. 1. User membuka menu Tahapan Haji Tamattu dengan memilih Tahapan Haji Tamattu pada Menu Utama 2. User memilih salah satu List Tahapan Haji Tamattu User harus memilih Tahapan Haji Tamattu pada Menu Utama kemudian memilih salah satu List Tahapan Haji Tamattu Aplikasi menampilkan beberapa tahapan haji dalam pelaksanaan ibadah haji tamattu yang dipilih oleh user
5. Use Case melihat Bantuan Table 4.5 Spesifikasi Use Case Melihat Bantuan Use Case Name Actor Brief Description
Basic Flow Alternate Flow Pre Condition
Melihat Bantuan User Use Case ini digunakan untuk menampilkan mengenai bantuan dalam penggunaan aplikasi panduan manasik haji. 1. User membuka menu Bantuan dengan memilih Bantuan pada Menu Utama User harus memilih menu Bantuan terlebih
43
dahulu. Aplikasi menampilkan penggunaan aplikasi.
Post Condition
mengenai
bantuan
6. Use Case melihat Tentang Aplikasi Table 4.6 Spesifikasi Use Case Melihat Tentang Aplikasi Use Case Name Actor Brief Description Basic Flow Alternate Flow Pre Condition Post Condition
4.2.2
Melihat Tentang Aplikasi User Use Case ini digunakan untuk menampilkan info mengenai aplikasi panduan manasik haji. User membuka menu Tentang dengan memilih Tentang pada Menu Utama User harus memilih menu Tentang terlebih dahulu. Aplikasi menampilkan informasi mengenai aplikasi panduan manasik haji.
Activity Diagram Activity diagram digunakan untuk menggambarkan aliran
fungsionalitas didalam aplikasi. Seperti diketahui memodelkan aliran kejadian dapat juga menggunakan teks, tetapi akan kesulitan jika membaca dan memahami logika aliran kejadian yang lebih kompleks. Berikut ini adalah beberapa gambar activity diagram yang berhubungan dengan aliran kejadian dari use case yang telah didefinisikan pada tahap sebelumnya. Activity diagram tersebut diantaranya, yaitu: 1.
Activity diagram untuk melihat tentang haji
44
User masuk menu utama aplikasi
Memilih menu “Tentang Haji”
Memilih salah satu list tentang haji
Aplikasi menampilkan Daftar list tentang haji
Aplikasi menampilkan definisi salah Satu dari list tentang haji
Menekan tombol “Kembali”
Gambar 4.2. Activity diagram untuk aliran kejadian dalam use case ”melihat tentang haji”
2.
Activity diagram untuk melihat istilah-istilah haji
User masuk menu utama aplikasi
Memilih menu “Istilah-istilah Haji”
Memilih salah satu list istilah-istilah haji
Aplikasi menampilkan Daftar list istilah-istilah haji
Aplikasi menampilkan definisi salah Satu dari list istilah-istilah haji
Menekan tombol “Kembali”
Gambar 4.3. Activity diagram untuk aliran kejadian dalam use case ”melihat Istilah-istilah haji”
45
3.
Activity diagram untuk melihat doa-doa haji
User masuk menu utama aplikasi
Memilih menu “Doa-doa Haji”
Memilih salah satu list doa-doa haji
Aplikasi menampilkan Daftar list doa-doa haji
Aplikasi menampilkan definisi salah Satu dari list doa-doa haji
Menekan tombol “Kembali”
Gambar 4.4. Activity diagram untuk aliran kejadian dalam use case ”melihat doa-doa haji” 4.
Activity diagram untuk melihat tahapan haji tamattu
User masuk menu utama aplikasi
Memilih menu “Tahapan Haji Tamattu”
Memilih salah satu list tahapan haji tamattu
Aplikasi menampilkan Daftar list tahapan haji tamattu
Aplikasi menampilkan definisi salah Satu dari list tahapan haji tamattu
Menekan tombol “Kembali”
46
Gambar 4.5. Activity diagram untuk aliran kejadian dalam use case ”melihat tahapan haji tamattu” 5.
Activity diagram untuk melihat Bantuan
Gambar 4.6. Activity diagram untuk aliran kejadian dalam use case ”melihat bantuan” 6.
Activity diagram untuk melihat tentang aplikasi
Gambar 4.7. Activity diagram untuk aliran kejadian dalam use case ”melihat tentang”
47
4.2.3 Sequence Diagram Sebuah sequence diagram, secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek ini di dalam use case (Fowler, 2005:81). Adapun skenario yang dijalankan atau dibuat berdasarkan use case yang telah dirancang sebelumnya pada use case diagram. Sequence diagram yang dibuat antara lain sequence diagram Melihat Tentang Haji, sequence diagram Melihat Istilah-istilah Haji, sequence diagram Melihat Doa-doa Haji, sequence diagram sequence diagram
Melihat Tahapan Haji Tamattu,
Melihat Bantuan,
sequence diagram
Melihat
Tentang.Aplikasi Berikut ini adalah sequence diagram yang telah penulis buat. 1.
Sequence Diagram Melihat Tentang Haji Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat suatu topik atau hal-hal mengenai ibadah haji seperti: pengertian haji, macam-macam haji, waktu pelaksanaan haji, hikmah dan keutamaan haji, hukum dan dalil haji, syarat-syarat haji, rukun dan wajib haji, dam haji dan larangan dalam haji.
48
Gambar 4.8. Sequence Diagram Melihat Tentang Haji 2.
Sequence Diagram Melihat Istilah Haji Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat istilah-istilah dalam pelaksanaan ibadah haji.
Gambar 4.9. Sequence Diagram Melihat Istilah Haji
49
3.
Sequence Diagram Melihat Doa Haji Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat doa-doa dalam pelaksanaan ibadah haji.
Gambar 4.10. Sequence Diagram Melihat Doa Haji 4.
Sequence Diagram Melihat Tahapan Haji Tamattu Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat beberapa tahapan pelaksanaan ibadah haji tamattu.
Gambar 4.11. Sequence Diagram Melihat Haji Tamattu
50
5.
Sequence Diagram Melihat Bantuan Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat bantuan penggunan aplikasi Panduan Manasik Haji.
Gambar 4.12. Sequence Diagram Melihat Bantuan
6.
Sequence Diagram Melihat Tentang Pada sequence diagram ini dijelaskan bagaimana langkah-langkah
user untuk melihat penjelasan mengenai aplikasi Panduan Manasik Haji.
Gambar 4.13. Sequence Diagram Melihat Tentang
51
4.2.4
Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan
berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukan properti dan operasi sebuah class dan batasanbatasan yang terdapat dalam hubungan-hubungan objek tersebut. UML menggunakan istilah fitur sebagai istilah umum yang meliputi properti dan operasi sebuah class (Martin Fowler, 2005:53). Pada aplikasi Panduan Manasik Haji ini terdapat 4 class yaitu class ManasikHaji, class Menu, class Const dan class Splash. Notasi class berbentuk persegi panjang 3 bagian yaitu persegi panjang paling atas untuk nama class, persegi panjang paling bawah untuk operasi atau method dan persegi panjang di tengah untuk atribut. Berikut adalah class diagram aplikasi Panduan Manasik Haji yang telah dirancang.
52
Gambar 4.14. Class Diagram Aplikasi Panduan Manasik Haji Keterangan kelas-kelas yang terdapat pada diagram diatas, yaitu: 1.
Kelas ManasikHaji Kelas ini digunakan sebagai kelas MIDlet dari aplikasi yang dibuat.
Berikut ini adalah daftar atribut pada tabel 4.7a dan daftar metode pada tabel 4.7b dari kelas ManasikHaji. Tabel 4.7a Daftar Atribut Kelas ManasikHaji Nama Atribut
Visibility
Tipe
Private
Command
Display
Private
Display
fileDoa, fileIstilah, fileTahapan, fileTentang, fileName
Private
String
frmTampil
Private
Form
im, imgAlert, imgContent, imgName
Private
Image
lstDoaHaji, lstIstilahHaji, lstTahapanHaji,
Private
List
Menu
Private
Menu
mnuDoaHaji, mnuIstilahHaji, mnuTahapanHaji,
Private
String[]
Pil
Private
Integer
siContent
Private
StringItem
splashScreen
Private
Splash
txtJalan
Private
Ticker
Ada
Private
Boolean
Choice
Private
Integer
cmdBackFrmTampil, cmdBackLstDoaHaji, cmdBackLstIstilahHaji, cmdBackLstTentangHaji, cmdBackLstTahapanHaji, cmdOpenLstDoaHaji, cmdOpenLstIstilahHaji, cmdOpenLstTentangHaji, cmdOpenLstTahapanHaji, cmdPlay, cmdStop
lstTentangHaji
mnuTentangHaji
53
Tabel 4.7b Daftar Metode Kelas ManasikHaji Nama Metode
Visibility
Tipe
Keterangan
startApp()
Public
Void
pauseApp()
Public
Void
destroyApp()
Public
void
ReadFileText()
Public
Void
commandAction()
Public
Void
exitMidlet()
Public
void
getDisplay()
Public
Display
getListDoaHaji
Public
List
getListIstilahHaji
Public
List
getListTahapanHaji
Public
List
getListTentangHaji
Public
List
showForm()
Public
Void
showMenu()
Public
Void
Yaitu metode yang digunakan untuk menampilkan aplikasi ketika siap dijalankan oleh Aplication Management System (AMS). Yaitu metode yang digunakan oleh AMS ketika sebuah MIDlet baru dibuat. Yaitu metode yang digunakan oleh AMS ketika aplikasi sudah tidak digunakan lagi. Yaitu metode yang digunakan untuk membaca file teks Yaitu metode yang digunakan untuk menangkap event dari sebuah Command c pada Displayable d Yaitu metode yang digunakan untuk keluar dari aplikasi Yaitu metode yang digunakan untuk memanggil metode Display.getDisplay(this) Yaitu metode yang digunakan untuk membuat List doa haji Yaitu metode yang digunakan untuk membuat List istilah haji Yaitu metode yang digunakan untuk membuat List tahapan haji tamattu Yaitu metode yang digunakan untuk membuat List tentang haji Yaitu metode yang digunakan untuk menempatkan file teks dan file image pada form tampil Yaitu metode yang digunakan untuk menampilkan menu utama
54
2.
Kelas Const Kelas ini digunakan untuk membuat atribut atau field-field yang
akan digunakan pada kelas Menu. Berikut ini adalah daftar atribut pada tabel 4.8 dari kelas Const. Tabel 4.8 Daftar Atribut Kelas Const Nama Atribut
Visibility
Tipe
MENU_TENTANG_HAJI
Public
Integer
MENU_ISTILAH_HAJI
Public
Integer
MENU_DOA_HAJI
Public
Integer
MENU_TAHAPAN_HAJI
Public
Integer
MENU_BANTUAN
Public
Integer
MENU_TENTANG
Public
Integer
BLUE
Public
Integer
WHITE
Public
Integer
BLACK
Public
Integer
GREEN
Public
Integer
YGREEN
Public
Integer
ORANGE
Public
Integer
3.
Kelas Menu Kelas ini digunakan untuk menampilkan daftar menu utama
aplikasi Panduan Manasik Haji yang dibuat menggunakan canvas. Berikut ini adalah daftar atribut pada tabel 4.9a dan daftar metode pada tabel 4.9b dari kelas Menu. Tabel 4.9a Daftar Atribut Kelas Menu Nama Atribut daftarMenu
Visibility
Tipe
private
String[]
55
imgPointerMenu
private
Image
imgBGroundMenu
Private
Image
imgHeaderMenu
Private
Image
imgHeaderMakkah
Private
Image
ftPPS
Private
Font
strPilih
Private
Font
strKeluar
Private
Font
Midlet
Private
ManasikHaji
tngImgHeaderMenu
Private
Integer
Tabel 4.9b Daftar Metode Kelas Menu Nama Atribut Visibility Tipe
4.
Keterangan
Menu()
Public
Void Konstruktor dari kelas Menu
keyPressed( )
Public
paint( )
Public
showFont( )
Public
showLine()
Public
metode yang Void Yaitu digunakan untuk menangkap event ketika tombol ditekan metode yang Void Yaitu digunakan untuk menggambar pada canvas Void Yaitu metode yang dipanggil untuk menampilkan tulisan dengan menggunakan metode drawString() metode yang Void Yaitu digunakan untuk menampilkan garis dengan memanggil metode drawLine()
Kelas Splash Kelas ini digunakan untuk menampilkan splash screen dari aplikasi
Panduan Manasik Haji yang dibuat menggunakan canvas. Berikut ini
56
adalah daftar atribut pada tabel 4.10a dan daftar metode pada tabel 4.10b dari kelas Splash. Tabel 4.10a Daftar Atribut Kelas Splash Nama Atribut
Visibility
Tipe
imgTitle
private
Image
Midlet
private
ManasikHaji
Tabel 4.10b Daftar Metode Kelas Splash Nama Atribut Visibility Tipe
4.2.5
Keterangan
Splash()
Public
Void Konstruktor dari kelas Menu
keyPressed
Public
paint()
Public
metode yang Void Yaitu digunakan untuk menangkap event ketika tombol ditekan metode yang Void Yaitu digunakan untuk menggambar pada canvas
Perancangan Antar Muka Dalam perancangan antarmuka, dibuat beberapa canvas, form dan
list yang akan diuraikan sebagai berikut. 1.
Canvas Splash Screen Canvas splash screen adalah tampilan awal ketika aplikasi
panduan mansik haji ini dijalankan. Canvas ini menampilkan gambar sebagai menu pembuka aplikasi panduan manasik haji. Rancangan dibawah ini
Canvas Splash Screen dapat dilihat pada gambar
57
(Gambar Splash Screen) Aplikasi Panduan Manasik Haji
Gambar 4.15 Rancangan Canvas Splash Screen 2.
Canvas Menu Utama Canvas ini berfungsi untuk menampilkan menu utama yang ada
dalam aplikasi yang dapat dipilih sesuai dengan keinginan
user.
Rancangan Canvas menu utama dapat dilihat pada gambar 4.16 dibawah ini. Aplikasi Panduan Manasik Haji Menu Utama Tentang Haji Istilah Haji Doa-doa Haji Tahapan Haji Tamattu Bantuan Tentang Aplikasi
Keluar
Pilih
Gambar 4.16 Rancangan Canvas Menu Utama a)
Menu Tentang Haji : berfungsi untuk menampilkan list tentang haji.
58
b)
Menu Istilah Haji : berfungsi untuk menampilkan list istilah haji.
c)
Menu Doa-doa Haji : berfungsi untuk menampilkan list doa haji.
d)
Menu Tahapan Haji Tamattu : berfungsi untuk menampilkan list tahapan haji tamattu.
e)
Menu Bantuan : berfungsi untuk menampilkan form tampil bantuan penggunaan aplikasi ini.
f)
Menu Tentang Aplikasi : berfungsi untuk menampilkan form tampil tentang aplikasi ini.
g)
Tombol Keluar : berfungsi untuk keluar dari aplikasi ini.
h)
Tombol Pilih : berfungsi untuk memilih menu yang dikehendaki user.
3.
List Tentang Haji List ini berfungsi untuk menampilkan hal-hal mengenai ibadah haji
seperti: pengertian haji, macam-macam haji, waktu pelaksanaan haji, hikmah dan keutamaan haji, hukum dan dalil haji, syarat-syarat haji, rukun dan wajib haji, dam haji dan larangan dalam haji. Rancangan list tentang haji dapat dilihat pada gambar 4.17 dibawah ini. Tentang Haji
Pilih
Menu Utama
59
Gambar 4.17 Rancangan List Tentang Haji a) Menu List Tentang Haji : berfungsi untuk menampilkan form tampil tentang haji. b) Tombol Pilih : berfungsi untuk menampilkan form tampil tentang haji sesuai pilihan user yang dikehendaki. c) Tombol
Menu
Utama
:
berfungsi
untuk
menampilkan canvas menu utama. 4.
List Istilah Haji List ini berfungsi untuk menampilkan hal-hal mengenai istilah-
istilah yang terdapat dalam pelaksanaan ibadah haji.
Seperti: aqabah,
arafah, arbain dll. Rancangan list istilah haji dapat dilihat pada gambar 4.18 dibawah ini.
Istilah Haji
Pilih
Menu Utama
Gambar 4.18 Rancangan List Istilah Haji
60
a) Menu List Istilah Haji : berfungsi untuk menampilkan form tampil istilah haji. b) Tombol Pilih : berfungsi untuk menampilkan form tampil istilah-istilah haji sesuai pilihan user yang dikehendaki. c) Tombol
Menu
Utama
:
berfungsi
untuk
menampilkan canvas menu utama.
5.
List Doa Haji List ini berfungsi untuk menampilkan hal-hal mengenai doa-doa
yang terdapat dalam pelaksanaan ibadah haji. Seperti: aqabah, arafah, arbain dll. Rancangan list istilah haji dapat dilihat pada gambar 4.19 dibawah ini.
Doa-doa Haji
Pilih
Menu Utama
Gambar 4.19. Rancangan List Doa-doa Haji
61
a) Menu List Doa-doa Haji : berfungsi untuk menampilkan form tampil doa-doa haji. b) Tombol Pilih : berfungsi untuk menampilkan form tampil doa-doa haji sesuai pilihan user yang dikehendaki. c) Tombol
Menu
Utama
:
berfungsi
untuk
menampilkan canvas menu utama.
6.
List Tahapan Haji Tamattu List ini berfungsi untuk menampilkan hal-hal mengenai tahapan-
tahapan yang harus dilakukan yang terdapat dalam pelaksanaan ibadah haji tamattu. Seperti: ihrom umroh, tawaf qudum, sai umroh, tahalul, ihram haji, mabit di mina, wukuf di arafah, mabit di muzdalifah, lontar jumrotul mina, tawaf ifadoh, sai haji, tahalul haji, mabit di mina pada hari tasyrik, melontar ketiga dan umrah tawaf wada. Rancangan list tahapan haji tamattu dapat dilihat pada gambar 4.20 dibawah ini. Tahapan Haji Tamattu Pilih
Menu Utama
Gambar 4.20. Rancangan List Tahapan Haji Tamattu
62
a) Menu List Tahapan Haji Tamattu : berfungsi untuk menampilkan form tampil tahapantahapan haji tamattu. b) Tombol Pilih : berfungsi untuk menampilkan form tampil tahapan haji tamattu sesuai pilihan user yang dikehendaki. c) Tombol
Menu
Utama
:
berfungsi
untuk
menampilkan canvas menu utama.
7.
Form Tampil Form ini berfungsi untuk menampilkan content atau isi dari list
tentang haji, list istilah-istilah haji, list doa-doa haji, list tahapan haji tamattu dan menampilkan bantuan penggunaan dan informasi tentang aplikasi ini. Rancangan form tampil dilihat pada gambar 4.21 dibawah ini.
Hukum dan Dalil Haji <salah satu content atau isi List Tentang Haji>
Kembali
Gambar 4.21. Rancangan Form Tampil yang menampilkan content list tentang haji
63
Bantuan Petunjuk penggunaan aplikasi panduan manasik haji
Menu Utama
Gambar 4.22. Rancangan Form Tampil yang menampilkan bantuan dalam menggunakan aplikasi. a) Tombol Kembali : berfungsi untuk menampilkan daftar list sebelumnya, seperti list tentang haji, list istilah-istilah haji, list doa-doa haji dan list tahapan haji tamattu. b) Tombol
Menu
Utama
:
berfungsi
untuk
menampilkan canvas menu utama.
4.3
Fase Kontruksi Berikut ini dijelaskan proses-proses yang dilakukan pada fase konstruksi
mulai dari instalasi software yang digunakan, membuat project baru di NetBeans versi 5.5, menulis kode program, menjalankan aplikasi pada emulator, dan mempaketkan aplikasi. 4.3.1
Instalasi Software yang Digunakan Sebelum membuat sebuah aplikasi, tahap pertama yang harus
dilakukan adalah melakukan instalasi software-software yang diperlukan.
64
Dalam rnembuat aplikasi Panduan Manasik Haji ini, dilakukan instalasi software, diantaranya yaitu: 1. Menginstal Java Development Kit a) Menjalankan file j2sdk—I _5_0_05-windows·i586—p.exe b) Menentukan lokasi instalasi. Secara default Java akan diinstal pada direktori c:\ c) Menunggu sampai proses instalasi selesai dan kemudian mengklik tombol Finish.
Gambar 4.23. Proses Instalasi Java Development Kit 2. Menginstal NetBeans versi 5.5 a) Menjalankan file netbeans-5_5-windows.exe b) Menentukan lokasi instalasi. Secara default akan diinstal pada direktori C:\Program FiIes\netbeans—5.5
65
c) Menentukan lokasi J2SE JDK Home Directory, seperti yang ditunjukan pada gambar 4.24 berikut ini.
Gambar 4.24. Menentukan lokasi J2SE JDK Home Directory
d) Menunggu sampai proses instalasi selesai dan kemudian mengklik tombol Finish. 3. Menginstal NetBeans Mobility Pack versi 5.5 a) Menjalankan file netbeans-mobility-5_5-windows.exe b) Menentukan lokasi NetBeans IDE Home Directory, seperti yang ditunjukan pada gambar 4.25 di bawah ini
66
Gambar 4.25. Menentukan lokasi NetBeans IDE Home Directory c) Menunggu sampai proses instalasi selesai dan kemudian mengklik tombol Finish. 4. Menginstal J2ME Wireless Toolkit a)
Menjalankan
file
sun_java_wireless_toolkit-2_5_2-
windows.exe b)
Menentukan lokasi Java Virtual Machine (JVM) seperti pada gambar 4.26.
c) Menentukan lokasi instalasi secara default akan diinstal pada direktori C:\WTK2.5.2. d) Menunggu sampai proses instalasi selesai dan kemudian mengklik tombol Finish.
67
Gambar 4.26 Menentukan lokasi Java Virtual Machine (JVM)
4.3.2
Membuat Project Baru di NetBeans 5.5 Berikut ini adalah urutan langkah-langkah yang dilakukan dalam
proses pembuatan project baru di NetBeans yaitu: a) Menjalankan program NetBeans dengan cara mengklik tombol Start klik Program pilih NetBeans 5.5 klik NetBeans IDE b) Setelah jendala utama dari program NetBeans tampil. Membuat project baru dengan cara mengklik File New Project
68
Gambar 4.27. Jendela New Project NetBeans 5.5 c) Pada jendela New Project, langkah pertama yang harus dilakukan adalah memilih project yaitu kategori Mobile dengan Project Mobile Application, seperti pada gambar 4.28 kemudian tekan tombol Next.
Gambar 4.28. Jendela Chooses Project
69
d) Langkah selanjutnya yaitu memberikan nama dan menentukan lokasi penyimpanan project yang akan dibuat, dan kemudian menekan tombol Next. Seperti pada gambar 4.29.
Gambar 4.29. Jendela Name and Location untuk New Project e) Langkah selanjutnya yaitu menentukan Emulator Platform, Device, Device Configuration, dan Device Profile. Seperti yang ditunjukan oleh gambar 4.30, selanjutnya menekan tombol Finish.
70
Gambar 4.30. Jendela Default Platform Selection
4.3.3
Membuat file MIDlet Berikut adalah urutan langkah-langkah, yang dilakukan dalam
proses pembuatan file MIDlet baru untuk project yang sudah dibuat pada tahap sebelumnya yaitu: a) Mengklik menu File New File. Maka akan tampil jendela New File seperti pada gambar 4.31. b) Pada jendela New File, langkah pertama yang dilakukan adalah memilih file type yaitu kategori MIDP dengan tipe file MlDlet, seperti pada gambar 4.31 dan kemudian tekan tombol Next.
71
Gambar 4.31. Jendela New File c) Menentukan nama dan lokasi penyimpanan file, seperti gambar 4.32 kemudian tekan tombol Finish.
Gambar 4.32. Jendela Name & Location untuk New File
72
4.3.4
Menulis Kode Program Pada tahap ini dilakukan pengkodean aplikasi Panduan Mansik haji
menggunakan software NetBeans versi 5.5 yang dapat dilihat pada gambar 4.33 dibawah ini.
Gambar 4.33. perancangan aplikasi menggunakan NetBeans 5.5 untuk melihat source code dari aplikasi ini secara lengkap dapat dilihat pada lamapiran
4.3.5
Menjalankan Aplikasi pada Komputer Untuk menjalankan aplikasi di komputer, dapat dilakukan dengan
cara Pilih menu Build Run Main Project pada toolbar NetBeans 5.5 atau tekan tombol F6 pada keyboard. Setelah proses running selesai, maka aplikasi akan muncul di emulator, seperti yang ditunjukan pada gambar
73
4.34 Pada Penulisan ini menggunakan emulator J2ME Wireless Toolkit versi 2.5.2
Gambar 4.34 Tampilan Aplikasi Panduan Manasik Haji pada emulator J2ME Wireless Toolkit versi 2.5.2 untuk melihat source code dari aplikasi ini secara lengkap dapat dilihat pada lamapiran.
4.3.6
Mempaketkan Aplikasi Sebelum dilakukan proses pemindahan aplikasi dari komputer ke
handphone, maka perlu dilakukan pemaketan aplikasi. Proses pemaketan aplikasi ini akan terbentuk secara otomatis ketika program dijalankan, atau
74
dengan memilih menu Build Build Menu Project atau menekan tombol F11 pada keyboard seperti yang ditunjukan pada gambar 4.35
Gambar 4.35 Proses Mempaketkan Aplikasi Maka akan terbentuk dua buah file yakni file *.jar yang berisi kumpulan kelas dan resource, dan file *.jad yang berisi deskripsi dari file JAR,
misalkan
MIDlet-Name,
MIDlet-Vendor,
MlDlet-Version,
MicroEdition-Configuration, MicroEdition-Profile, dan Iain-lain. File *.jar dan *.jad ini akan terbentuk di dalam folder "dist" yang berada di direktori sesuai dengan ketika membentuk project baru. Misalkan pada project Panduan Manasik Haji yang terbentuk di direktori "C:/Documents and Setting\j2mewtk\2.5.2\apps\Panduan Manasik Haji".
4.4
Fase Pelaksanaan Pada fase pelaksanaan, penulis menggunakan beberapa tahapan yaitu: a.
Menganalisa spesifikasi kebutuhan handphone yang dapat digunakan untuk menerapkan aplikasi ini.
b.
Transfer Aplikasi dari PC ke dalam handphone dan instalasi.
75
c.
Melakukan pengujian aplikasi pada handphone dengan syarat-syarat yang telah terpenuhi, yaitu LG KC550 dan Nokia 3120
d.
Melakukan evaluasi pengujian aplikasi pada kedua handphone tersebut
e.
Meminta tanggapan user untuk aplikasi yang telah penulis buat
4.4.1
Spesifikasi handphone yang digunakan Ponsel yang dapat digunakan untuk menjalankan aplikasi ini harus
memiliki spesifikasi minimal sebagai berikut : 1.
mendukung aplikasi JAVA MIDP versi 2.0
2.
Memiliki memori minimal 600 kilobyte (KB) atau lebih untuk proses instalasi aplikasi.
3.
Memiliki layar tampilan dengan resolusi 240 x 320 pixel.
Dalam pengimplementasian aplikasi yang dilakukan oleh penulis, ponsel yang digunakan adalah LG KC550 dan Nokia 3120 yang dapat dilihat pada gambar 4.36. Kedua ponsel tersebut telah memenuhi kebutuhan spesifikasi minimal ponsel yang digunakan yang telah disebutkan diatas.
Gambar 4.36 Ponsel LG KC550 dan Nokia 3120 yang digunakan
76
Berikut ini adalah tabel spesifikasi kedua ponsel yang digunakan dalam pengujian Aplikasi Panduan Manasik Haji. Tabel 4.7 Tabel Spesifikasi Ponsel yang digunakan Merk dan Tipe Ponsel LG KC550 TFT 262.000 warna 240 Layar x 320 Spesifikasi: Network Tri Band Operating System Transfer Data GPRS 10, EDGE 12 Browser WAP 2.0 JAVA JAVA MIDP 2.0 Konektivitas Bluetooth, infrared, USB Memori Ekternal MMC Memori Internal 14 MB
4.4.2
Nokia 3120 TFT 262.000 warna 240 x 320 Tri Band Symbian OS GPRS 10 WAP 2.0 JAVA MIDP 2.0 Bluetooth, infrared, USB MMC 60 MB
Transfer Aplikasi dari PC ke dalam Ponsel dan Instalasi Untuk
memindahkan
aplikasi
ke
dalam
ponsel
dapat
menggunakan beberapa tools diantaranya : Bluetooth, cardreader, kabel data dan infra red. Dalam hal ini, penulis menggunakan kabel data dan bluetooth untuk transfer aplikasi ke dalam ponsel LG KC550 dan Nokia 3120. Proses transfer aplikasi dan instalasi dapat dilihat selengkapnya pada lampiran. Hasil dari proses instalasi diatas dapat dilihat pada tampilan dalam ponsel seperti gambar 4.37 di bawah ini, dan hasil seluruh tampilan aplikasi pada kedua ponsel dapat dilihat selengkapnya pada lampiran.
77
Gambar 4.37 Tampilan Aplikasi Panduan Manasik Haji yang sudah terinstall pada Ponsel LG KC 550 dan Nokia 3120
4.4.3
Pengujian Aplikasi pada Ponsel LG KC550 dan Nokia 3120 Setelah dilakukan transfer aplikasi dari PC ke dalam ponsel dan
instalasi program pada ponsel maka dilakukan pengujian program pada ponsel. Pengujian dilakukan dengan mengujia seluruh fitur yang ada pada aplikasi ini. Fitur-fitur yang diuji antara lain: 1. Menampilkan tampilan awal aplikasi Table 4.8 Pengujian modul menampilkan tampilan awal aplikasi Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi
Hasil yang diharapkan Menampilkan tampilan awal program aplikasi panduan manasik haji
hasil
keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan tampilan awal aplikasi, pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.38 dibawah ini.
78
Gambar 4.38 output modul menampilkan tampilan awal aplikasi 2. Menampilkan Menu Utama aplikasi Table 4.9 Pengujian modul menampilkan Menu Utama aplikasi Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol
Hasil yang diharapkan Menampilkan Menu Utama aplikasi panduan manasik haji
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan menu utama aplikasi, pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.39 dibawah ini.
Gambar 4.39 output modul menampilkan menu utama aplikasi
79
3. Menampilkan list-list tentang haji Table 4.10 Pengujian modul menampilkan list-list tentang haji Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Tentang Haji” lalu klik tombol “Pilih”
Hasil yang diharapkan Menampilkan listlist tentang haji
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan list-list tentang haji pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.40 dibawah ini.
Gambar 4.40 output modul menampilkan list-list tentang haji 4. Menampilkan pengertian haji Table 4.11 Pengujian modul menampilkan pengertian haji Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik
Hasil yang diharapkan Menampilkan pengertian haji
hasil sesuai
Keterangan
80
sembarang tombol Pilih menu “Tentang Haji” lalu klik tombol “Pilih” Pilih list “Pengertian Haji” lalu klik tombol “Pilih”
Berikut adalah output yang dihasilkan untuk modul menampilkan pengertian haji pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.41 dibawah ini.
Gambar 4.41 output modul menampilkan pengertian haji 5. Menampilkan list-list istilah haji Table 4.12 Pengujian modul menampilkan list-list istilah haji Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Istilah Haji” dan klik tombol “Pilih”
Hasil yang diharapkan Menampilkan listlist istilah haji
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan list-list istilah haji pada handphone LG KC550 (a)
81
dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.42 dibawah ini.
Gambar 4.42 output modul menampilkan list-list istilah haji 6. Menampilkan istilah aqabah Table 4.13 Pengujian modul menampilkan istilah aqabah Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Istilah Haji” dan klik tombol “Pilih” Pilih list “Aqabah”
Hasil yang diharapkan Menampilkan definisi dari aqabah
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan istilah aqabah pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.43 dibawah ini.
82
Gambar 4.43 output modul menampilkan istilah aqabah 7. Menampilkan list-list doa haji Table 4.14 Pengujian modul menampilkan list-list doa haji Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Doa Haji” dan klik tombol “Pilih”
Hasil yang diharapkan Menampilkan listlist doa haji
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan istilah list-list doa haji pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.44 dibawah ini.
Gambar 4.43 output modul menampilkan list-list doa haji
83
8. Menampilkan doa keluar rumah Table 4.15 Pengujian modul menampilkan doa keluar rumah Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Doa Haji” dan klik tombol “Pilih”Pilih list doa “Keluar Rumah”
Hasil yang diharapkan Menampilkan doa keluar rumah
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan doa keluar rumah pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.45 dibawah ini.
Gambar 4.45 output modul menampilkan doa keluar rumah 9. Menampilkan list-list tahapan haji tamattu Table 4.16 Pengujian modul menampilkan list-list tahapan haji tamattu Rancangan Proses Hasil yang hasil Keterangan diharapkan Mulai jalankan Menampilkan listsesuai program dengan list tahapan haji meng-klik icon tamattu
84
aplikasi klik sembarang tombol Pilih menu “Tahapan Haji Tamattu” lalu klik tombol “Pilih”
Berikut adalah output yang dihasilkan untuk modul menampilkan list-list tahapan haji tamattu pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.46 dibawah ini.
Gambar 4.46 output modul menampilkan list-list tahapan haji tamattu 10. Menampilkan ihram umrah Table 4.17 Pengujian modul menampilkan ihram umrah Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih Menu “Tahapan Haji Tamattu” lalu klik tombol “Pilih” Pilih list “Ihram Umrah” dan klik tombol “Lihat”
Hasil yang diharapkan Menampilkan tahapan haji dimulai dari ihram untuk umrah
hasil sesuai
Keterangan
85
Berikut adalah output yang dihasilkan untuk modul menampilkan ihram umrah pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.47 dibawah ini.
Gambar 4.47 output modul menampilkan ihram umrah 11. Menampilkan bantuan Table 4.18 Pengujian modul menampilkan bantuan Rancangan Proses
Hasil yang diharapkan Menampilkan halaman bantuan
hasil
Keterangan
Mulai jalankan sesuai program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Bantuan” dan klik tombol “Pilih” Berikut adalah output yang dihasilkan untuk modul menampilkan bantuan pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.48 dibawah ini.
Gambar 4.48 output modul menampilkan bantuan
86
12. Menampilkan tentang aplikasi Table 4.19 Pengujian modul menampilkan tentang aplikasi Rancangan Proses Mulai jalankan program dengan meng-klik icon aplikasi klik sembarang tombol Pilih menu “Tentang Aplikasi” dan klik tombol “Pilih”
Hasil yang diharapkan Menampilkan halam tentang aplikasi
hasil
Keterangan
sesuai
Berikut adalah output yang dihasilkan untuk modul menampilkan tentang aplikasi pada handphone LG KC550 (a) dan Nokia 3120 (b). Seperti yang terlihat pada gambar 4.49 dibawah ini.
Gambar 4.49 output modul menampilkan tentang aplikasi
87
4.4.4
Evaluasi Pengujian Aplikasi pada handphone LG KC550 dan
Nokia 3120 Dalam evaluasi dari pengujian aplikasi Panduan Manasik Haji ini ada beberapa kategori pengujian yaitu : 1.
Proses transfer aplikasi
2.
Proses instalasi aplikasi
3.
Pengujian tombol atau command.
4.
Pengujian tampilan aplikasi.
Berdasarkan kategori pengujian di atas, maka diperoleh sesuai dengan yang dipaparkan pada table 4.20 Di bawah ini. Tabel 4.20 Evaluasi Pengujian Aplikasi NO
Kategori
LG KC550
Nokia 3120
Berhasil
Berhasil
Proses Transfer file 1
menggunakan kabel data dan bluetoooth
2
Proses Instalasi
Berhasil
Berhasil
3
Pengujian Tombol
Berhasil
Berhasil
4
Pengujian Tampilan
Berhasil
Berhasil
Keterangan dari table 4.20 di atas adalah sebagai berikut: 1) Proses transfer file aplikasi yang dilakukan menggunakan kabel data dan bluetooth semuanya berhasil dilakukan. 2)
Proses instalasi aplikasi dapat dijalankan dengan baik pada handphone.
88
3)
Pengujian tombol-tombol dikatakan berhasil karena dalam aplikasi Panduan Manasik Haji ini tidak terjadi kesalahan atau dengan kata lain tombol-tombol berfungsi dengan baik.
4)
Pengujian tampilan pada kedua handphone berjalan dengan baik karena mampu menampilkan konten sesuai yang diinginkan.
4.4.5
Tanggapan user tentang aplikasi Setelah dilakukan pengujian terhadap aplikasi Panduan Manasik
Haji, maka untuk mengetahui tanggapan user tentang aplikasi ini maka disebarkan kuesioner. Contoh angket kuesioner dan hasil kuesioner selengkapnya dapat dilihat pada lamapiran Hasil persentase dari kuesioner yang dibagikan kepada 10 user adalah sebagai berikut: Tabel 4.21 Hasil Persentase Tanggapan User Jumlah presentase No
1
Pertanyaan
Apakah anda memiliki ponsel yang sudah mendukung aplikasi JAVA MIDP 2.0 ? a. Ya b. Tidak
(%)
100 % 0 %
89
2
3
4
5
6
Menurut anda, apakah aplikasi ini sudah user friendly ? a. Sangat user friendly b. Cukup user friendly c. Biasa-biasa saja d. Kurang user friendly e. Tidak user friendly
0 % 100 % 0 % 0% 0 %
Bagaiaman kemudahan aplikasi ? a. Sangat mudah b. mudah c. Sedang d. Sulit e. Sangat sulit
0 % 60 % 40% 0% 0%
Bagaimana layout tampilan atau user interface pada aplikasi ini ? a. Sangat bagus b. Bagus c. Sedang d. Kurang Bagus e. Tidak Bagus
0% 70 % 30 % 0% 0%
Fitur apa saja yang sering anda gunakan dalam aplikasi ini ? a. Tentang Haji b. Istilah Haji c. Doa-doa Haji d. Tahapan Haji
20 % 20 % 40 % 20 %
Apakah setiap aplikasi ini dijalankan sering timbul gangguan berupa hang atau error ? a. Sangat sering b. Sering
0% 0% 0%
dalam
penggunaan
90
c. d. e.
7
8
Jarang Kadang-kadang Tidakpernah
Apakah aplikasi ini sudah cukup memenuhi kebutuhan anda akan informasi Panduan Manasik Haji ? a. Sangat cukup b. Cukup c. Sedang d. Kurang e. Sangat Kurang
Apa Saran anda terhadap pengembangan aplikasi ini? a. Informasi yang lebih komplek mengenai haji dan panduan haji b. Ditambah fitur video c. Ditambah fitur suarapada doa d. Tampilan dibuat lebih menarik e. lain-lain
0% 100 %
0 % 100 % 0 % 0% 0 %
30%
10 % 40 % 20 % 0 %
Hasil kuesioner diatas menunjukkan semua user menyatakan bahwa aplikasi Panduan Manasik Haji ini sudah sesuai keinginan user. Dalam evaluasi untuk penggunaan fitur apa sasja yang paling digunakan oleh user ternyata adalah fitur doa-doa haji. Untuk pengembangan aplikasi ini selanjutnya, banyak user yang menginginkan ditambah fitur suara untuk doa-doa haji dan juga informasi tentang haji yang lebih komplek seperti pembahasan tentang haji wanita.
95
BAB V PENUTUP
Pada bab ini berisi mengenai kesimpulan selama mengerjakan skripsi, beserta saran-saran untuk penelitian lebih lanjut, sehingga dapat membangun skripsi ini menjadi lebih baik lagi. 5.1 Kesimpulan Berdasarkan uraian bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut: 1) Hasil yang diperoleh dari penelitian ini adalah pembuatan aplikasi Panduan Manasik Haji Berbasis Mobile Device untuk masyarakat umat islam di indonesia dengan memberikan informasi tentang haji, seperti pengertian haji, syarat haji, rukun dan wajib haji, doa-doa haji, istilah-istilah haji dan tahapan pelaksanaan Haji Tamattu. 2) Penerapan aplikasi yang dikembangkan, dapat didistribuskan pada perangkat mobile yaitu berupa telepon genggam (handphone) yang sudah mendukung aplikasi Java MIDP (Mobile Information Device Profile) versi 2.0. Sehingga user dapat menggunakan aplikasi Panduan Manasik Haji Berbasis Mobile Device ini, kapan saja dan di mana saja. 3) Aplikasi ini dapat dijadikan sebagai solusi mendapatkan informasi tentang tata cara pelaksanaan ibadah haji karena memiliki beberapa kelebihan, diantaranya: a. Leluasa, karena dibatasi ruang dan waktu, 95
96
b. Mudah, karena menggunakan menu-menu yang user friendly c. Hemat, karena tidak menggunakan pulsa. d. Cepat karena tidak menggunakan koneksi internet dalam mengaksesnya.
5.2 Saran Pengembangan aplikasi Panduan Manasik Haji Berbasis Mobile Device pada penelitian ini, tentu masih terdapat banyak kekurangan. Oleh karena itu, penulis ingin menyampaikan beberapa saran, antara lain: 1) Diharapkan agar aplikasi ini dapat dikembangkan lebih lanjut lagi, sampai materi meliputi semua hal-hal tentang ibadah haji. 2) Aplikasi dapat menyesuaikan tampilan dengan ukuran ponsel dengan baik pada ponsel yang memiliki ukuran layar ponsel lebih kecil dari 240 x 320 3) Materi atau content didalam aplikasi ini masih bersifat immutables artinya user tidak dapat merubah, menambah atau mengurangi isi atau materi yang telah ada dari aplikasi ini.
DAFTAR PUSTAKA
Badriyah, Tessy. UML Class Diagram. 2007. its.edu/~tessy/tutorial/java/UMLClassDiagram.pdf,
http://lecturer.eepisdiakses
Dharwiyanti, Sri. Pengantar Unified Modeling Language (UML). 2003. http://ikc.vip.net.id/umum/yanti-uml.pdf, dikases 12 Januari 2009, Pkl 19.23 WIB. Java Education Network for Indonesia (JENI). Pengembangan Aplikasi Mobile. http://poss.ipb.ac.id/files/JENI-J2ME-Bab01-Pengembangan%20Aplikasi %20Mobile.pdf, 17 Desember 2008, Pkl 10.19 WIB. Kadir, Abdul. PENGENALAN SISTEM INFORMASI. Yogyakarta: ANDI, 2003. Kendall, Kenneth E dan Julie E. Kendall. Analisis dan Perancangan Sistem, Edisi Kelima. Jakarta: PT INDEKS, 2006. McLeod, Raymond dan George Schell. Sistem Informasi Manajemen, Edisi Bahasa Indonesia. Jakarta: PT Indeks, 2004. Mic, Chocolove. Pendahuluan J2ME. 2003. http://ikc.vip.net.id/berseri/micj2me/index.php, diakses 17 Desember 2008, Pkl 8.45 WIB. Noertjahyana, Agustinus. STUDI ANALISIS RAPID APLICATION DEVELOPMENT SEBAGAI SALAH SATU ALTERNATIF METODE PENGEMBANGAN PERANGKAT LUNAK. 2002. http://www.petra.ac.id/~puslit/journals/pdf.php?PublishedID=INF0203020 3.pdf, diakses 12 Januari 2009, Pkl 8.19 WIB Nugroho, Yohanes. J2ME – MIDP. 2005. http://kur2003.if.itb.ac.id/file/ IF2281_J2ME-MIDP.pdf, diakses 12 Januari 2009, Pkl 7.12 WIB. Purnomo, Adi. Belajar Pemrograman Java dengan JBuilder 2006 Enterprise. Yogyakarta: ANDI, 2006. Shalahuddin, M dan Rosa A.S. PEMROGRAMAN J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile. Bandung: Informatika, 2006.
150 Sholiq.
Pemodelan Sistem Informasi Berorientasi Objek dengan UML.
Yogyakarta: GRAHA ILMU, 2006. Sugiyono. METODE PENELITIAN KUANTITATIF KUALITATIF DAN R&D.
Bandung: ALFABETA, 2008. Susanto, Budi. Pemrograman Perangkat Bergereak. 2008. http://lecturer.ukdw.ac.id/ budsus/Minggu1_PemPerangkatBergerak.pdf, diakses 17 Desember 2008, Pkl 9.34 WIB. Widodo, Priyono Dwi.
Media, 2005.
Kamus Istilah Internet dan Komputer. Jombang: Lintas
1. Tampilan awal aplikasi / splash screen
2. Tampilan Menu Utama Aplikasi
3. Tampilan list-list Tentang Haji
4. Tampilan form Pengertian Haji
5. Tampilan list-list Istilah Haji
6. Tampilan form Istilah Aqabah
7. Tampilan list-list Doa Haji
8. Tampilan form Doa Keluar Rumah
9. Tampilan list-list Tahapan Haji Tamattu’
10. Tampilan form Ihram Umrah
11. Tampilan form Bantuan
12. Tampilan form Tentang Aplikasi
g.drawString("Press Any Key", getWidth()/2, getHeight()-25, g.BOTTOM | g.HCENTER); }else {
1. Splash.java package haji;
Graphics _tmp2 = g;
import javax.microedition.lcdui.Font;
Graphics _tmp3 = g; g.drawImage(imgTitle, getWidth()/2, getHeight()/2,
import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image;
g.VCENTER | g.HCENTER); g.drawString("Press Any Key", getWidth()/2, getHeight()-2,
import javax.microedition.lcdui.Canvas;
g.BOTTOM | g.HCENTER);
/**
}
* @author IDRIS */ }
public class Splash extends Canvas { /** Creates a new instance of Splash */
protected void keyPressed(int KeyCode)
public Splash(ManasikHaji midlet)
{ midlet.showMenu();
{ }
this.midlet = midlet; setFullScreenMode(true); try
private Image imgTitle;
{
private ManasikHaji midlet; imgTitle = Image.createImage("/image/imgTitle.png");
}
} catch (Exception e) {
2. Menu.java package haji;
System.err.println("Msg: " + e.toString()); }
import java.io.IOException; import javax.microedition.lcdui.Canvas;
}
import javax.microedition.lcdui.Command; public void paint(Graphics g)
import javax.microedition.lcdui.CommandListener;
{
import javax.microedition.lcdui.Display; g.setColor(Const.YGREEN);
import javax.microedition.lcdui.Displayable;
g.fillRect(0, 0, getWidth(), getHeight());
import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics;
g.setColor(Const.WHITE);
import javax.microedition.lcdui.Image;
g.fillRoundRect(5, 5, getWidth()-10, getHeight()-10, 7, 7); /** g.setColor(Const.YGREEN);
* @author IDRIS
g.drawRoundRect(6, 6, getWidth()-13, getHeight()-13, 7, 7);
*/ public class Menu extends Canvas
g.setColor(Const.BLACK); g.setFont(Font.getFont(64, 1, 8));
{ public Menu(ManasikHaji midlet) {
if(getHeight() > 130)
this.midlet = midlet;
{
setFullScreenMode(true); Graphics _tmp = g; Graphics _tmp1 = g; g.drawImage(imgTitle, getWidth()/2, 40, g.TOP |
g.HCENTER);
try { imgBGroundMenu = Image.createImage("/image/backgroundMenu.jpg"); imgHeaderMenu = Image.createImage("/image/headerMenu.jpg");
g.setColor( 249, 198, 43 );
imgPointerMenu =
g.fillRect(10, 65, getWidth()-12, 20);
Image.createImage("/image/selector.png"); imgHeaderMakkah =
g.setColor( Const.GREEN );
Image.createImage("/image/makkah.jpg");
g.drawImage(imgPointerMenu, 5, 68, g.LEFT |
} catch(IOException ioe)
g.TOP); showFont( g, daftarMenu[0], 10, 65, ftPPS );
{ ioe.printStackTrace();
g.setColor( Const.BLACK);
}
showFont( g, daftarMenu[1], 10, 85, ftPPS);
}
showFont( g, daftarMenu[2], 10, public void paint( Graphics g )
105, ftPPS); showFont( g, daftarMenu[3], 10, 125, ftPPS);
{ setFullScreenMode(true);
showFont( g, daftarMenu[4], 10, 145, ftPPS);
g.setColor(Const.YGREEN); // warna background hijau
showFont( g, daftarMenu[5], 10, 165, ftPPS);
g.fillRect(0, 0, getWidth(), getHeight());
showLine(g); repaint(); }
g.setColor( Const.WHITE); g.fillRect(2, 0, getWidth()-5, tngImgHeaderMenu-1);
else if( ManasikHaji.choice == 2 ) { showFont( g, daftarMenu[0], 10, 65, ftPPS);
tngImgHeaderMenu = imgHeaderMenu.getHeight(); g.fillRoundRect(4, 60, getWidth()-6, getHeight()-81, 5, 5); //
g.setColor( 249, 198, 43 );
sblmnya getheight()-71
g.fillRect(10, 85, getWidth()-12, 20); g.drawImage(imgBGroundMenu, getWidth()-10, 125, g.RIGHT g.setColor( Const.GREEN);
| g.TOP);// seharusnya w-5, h-10,
g.drawImage(imgPointerMenu, 5, ftPPS = Font.getFont(Font.FACE_PROPORTIONAL,
88, g.LEFT | g.TOP); showFont( g, daftarMenu[1], 10, 85, ftPPS);
Font.STYLE_BOLD, Font.SIZE_SMALL);
g.setColor( Const.BLACK);
g.drawImage(imgHeaderMakkah, getWidth()-2, 0, g.TOP |
showFont( g, daftarMenu[2], 10,
g.RIGHT); // g.drawImage(imgHeaderMenu, 2, 0, g.TOP | g.LEFT); //gambar panduan kiri-atas
105, ftPPS); showFont( g, daftarMenu[3], 10, 125, ftPPS); showFont( g, daftarMenu[4], 10, 145, ftPPS);
g.setColor( 128, 64, 0); //warna coklat
showFont( g, daftarMenu[5], 10, 165, ftPPS);
g.drawRect(2, 0, getWidth()-5, tngImgHeaderMenu-1);
showLine(g); repaint();
//bingkai coklat
} g.setColor( Const.BLUE); showFont( g, "Menu Utama", 3, 40, ftPPS);
else if( ManasikHaji.choice == 3 ) {
g.setColor(Const.BLACK); g.drawString("Pilih", 2, getHeight(), g.LEFT|g.BOTTOM);
showFont( g, daftarMenu[0], 10, 65, ftPPS ); showFont( g, daftarMenu[1], 10, 85, ftPPS);
g.drawString("Keluar", getWidth()-2, getHeight(), g.RIGHT|g.BOTTOM);
g.setColor( 249, 198, 43 ); g.fillRect(10, 105, getWidth()-12, 20);
if( ManasikHaji.choice == 1 ) {
g.setColor( Const.GREEN );
showLine(g);
g.drawImage(imgPointerMenu, 5,
repaint();
108, g.LEFT | g.TOP);
}
showFont( g, daftarMenu[2], 10, 105, ftPPS);
else if( ManasikHaji.choice == 6 ) {
g.setColor( Const.BLACK);
showFont( g, daftarMenu[0], 10, 65, ftPPS );
showFont( g, daftarMenu[3], 10,
showFont( g, daftarMenu[1], 10, 85, ftPPS);
125, ftPPS);
showFont( g, daftarMenu[2], 10,
showFont( g, daftarMenu[4], 10, 145, ftPPS ); showFont( g, daftarMenu[5], 10, 165, ftPPS);
105, ftPPS);
showLine(g);
showFont( g, daftarMenu[3], 10, 125, ftPPS);
repaint();
showFont( g, daftarMenu[4], 10, 145, ftPPS );
} else if( ManasikHaji.choice == 4 )
g.setColor( 249, 198, 43 );
{
g.fillRect(10, 165, getWidth()-12, 20); g.setColor( Const.GREEN );
showFont( g, daftarMenu[0], 10, 65, ftPPS );
g.drawImage(imgPointerMenu, 5,
showFont( g, daftarMenu[1], 10, 85, ftPPS); showFont( g, daftarMenu[2], 10,
168, g.LEFT | g.TOP); showFont( g, daftarMenu[5], 10, 165, ftPPS);
105, ftPPS);
showLine(g); repaint();
g.setColor( 249, 198, 43 );
}
g.fillRect(10, 125, getWidth()-12, 20); }
g.setColor( Const.GREEN ); g.drawImage(imgPointerMenu, 5,
public void showLine(Graphics g){
128, g.LEFT | g.TOP);
g.setColor(Const.GRAY);
showFont( g, daftarMenu[3], 10, 125, ftPPS);
g.setStrokeStyle(1); g.setColor( Const.BLACK);
g.drawLine(10, 65, getWidth(),65);
showFont( g, daftarMenu[4], 10, 145, ftPPS );
g.drawLine(10, 85, getWidth(),85);
showFont( g, daftarMenu[5], 10, 165, ftPPS);
g.drawLine(10, 105, getWidth(),105);
showLine(g);
g.drawLine(10, 125, getWidth(),125);
repaint();
g.drawLine(10, 145, getWidth(),145);
}
g.drawLine(10, 165, getWidth(),165); g.drawLine(10, 185, getWidth(),185);
else if( ManasikHaji.choice == 5 ) }
{ showFont( g, daftarMenu[0], 10, 65, ftPPS );
public void showFont( Graphics g, String temp, int x, int y, Font f
showFont( g, daftarMenu[1], 10, 85, ftPPS); showFont( g, daftarMenu[2], 10,
) {
105, ftPPS);
g.setFont(f);
showFont( g, daftarMenu[3], 10, 125, ftPPS);
g.drawString( temp, x, y, Graphics.LEFT| Graphics.TOP ); repaint();
g.setColor( 249, 198, 43 ); g.fillRect(10, 145, getWidth()-12, 20);
}
g.setColor( Const.GREEN ); g.drawImage(imgPointerMenu, 5, 148, g.LEFT | g.TOP); showFont( g, daftarMenu[4], 10, 145, ftPPS );
public void keyPressed( int keyCode ) { if( getGameAction(keyCode) == Canvas.FIRE
g.setColor( Const.BLACK); showFont( g, daftarMenu[5], 10, 165, ftPPS);
||(keyCode) == Canvas.KEY_NUM5 ||(keyCode) == -6) {
if (ManasikHaji.choice == 1)
else if( getGameAction( keyCode ) == Canvas.DOWN && ManasikHaji.choice == 5 )
{
ManasikHaji.choice = 6; midlet.getDisplay().setCurrent(midlet.getListTentangHaji());
else if( getGameAction( keyCode ) == Canvas.DOWN && ManasikHaji.choice == 6)
}
ManasikHaji.choice = 1; if( ManasikHaji.choice == 2 ) else if( getGameAction( keyCode ) == Canvas.UP &&
{
ManasikHaji.choice == 1) ManasikHaji.choice = 6;
midlet.getDisplay().setCurrent(midlet.getListIstilahHaji());
else if( getGameAction( keyCode ) == Canvas.UP &&
}
ManasikHaji.choice == 2) ManasikHaji.choice = 1;
if( ManasikHaji.choice == 3 )
else if( getGameAction( keyCode ) ==
{
Canvas.UP && ManasikHaji.choice == 3 ) ManasikHaji.choice = 2;
midlet.getDisplay().setCurrent(midlet.getListDoaHaji());
else if( getGameAction( keyCode ) ==
}
Canvas.UP && ManasikHaji.choice == 4 ) ManasikHaji.choice = 3;
if( ManasikHaji.choice == 4 ) {
else if( getGameAction( keyCode ) == Canvas.UP && ManasikHaji.choice == 5 ) ManasikHaji.choice = 4;
midlet.getDisplay().setCurrent(midlet.getListTahapanHaji()); }
else if( getGameAction( keyCode ) == Canvas.UP && ManasikHaji.choice == 6) ManasikHaji.choice = 5;
if( ManasikHaji.choice == 5 ) { else if( keyCode == -7) midlet.exitMidlet();
midlet.getDisplay().setCurrent(midlet.getFrmVideoHaji()); } } if( ManasikHaji.choice == 6)
private Image imgPointerMenu; midlet.getDisplay().setCurrent(midlet.getFrmTentang());
private Image imgBGroundMenu; private Image imgHeaderMenu;
{}
private Image imgHeaderMakkah;
}
private Font ftPPS; else if( getGameAction( keyCode ) == Canvas.DOWN &&
private Font strPilih; private Font strKeluar;
ManasikHaji.choice == 1) ManasikHaji.choice = 2;
private int tngImgHeaderMenu;
else if( getGameAction( keyCode ) == Canvas.DOWN && ManasikHaji.choice == 2) ManasikHaji.choice = 3; else if( getGameAction( keyCode ) == Canvas.DOWN && ManasikHaji.choice == 3 ) ManasikHaji.choice = 4; else if( getGameAction( keyCode ) == Canvas.DOWN && ManasikHaji.choice == 4 ) ManasikHaji.choice = 5;
private ManasikHaji midlet; private String[] daftarMenu = { "Tentang Haji", "Istilah-istilah Haji", "Do'a-do'a Haji", "Tahapan Haji Tamattu", "Bantuan", "Tentang"
};
import javax.microedition.lcdui.ImageItem; import javax.microedition.lcdui.Item; import javax.microedition.lcdui.List;
}
import javax.microedition.lcdui.StringItem; import javax.microedition.lcdui.TextField; 3. Const.java
import javax.microedition.lcdui.Ticker; import javax.microedition.media.Manager;
package haji;
import javax.microedition.media.MediaException;
/**
import javax.microedition.media.Player;
* @author IDRIS
import javax.microedition.media.PlayerListener;
*/
import javax.microedition.media.control.VideoControl;
public class Const {
import javax.microedition.midlet.MIDlet;
public static final int MENU_TENTANG_HAJI= 1; public static final int MENU_ISTILAH_HAJI = 2;
/**
public static final int MENU_DOA_HAJI = 3;
*
public static final int MENU_TAHAPAN_HAJI = 4;
* @author IDRIS
public static final int MENU_BANTUAN = 5;
* @version
public static final int MENU_TENTANG = 6;
*/
public static final int BLUE = 0x3300ff; public static final int WHITE = 0xffffff;
public class ManasikHaji extends MIDlet implements
public static final int RED = 0xFF0000;
CommandListener, Runnable, PlayerListener
public static final int BLACK = 0x000000;
{
public static final int GREEN = 0x005f00; public static final int YGREEN = 0x00bf00; public static final int GRAY = 0x808080;
public ManasikHaji()
public static final int YELLOW = 0xffffc0;
{ menu = new Menu(this);
public static final int ORANGE = 0xffbf00; // xx40xx rubah 40
menu = null;
dng+4
txtJalan = new Ticker("Panduan Manasik Haji"); }
}
4. ManasikHaji.java package haji;
private String ReadFileText(String s) { InputStream inputstream =
import java.io.IOException; import java.io.InputStream;
getClass().getResourceAsStream(s);
import javax.microedition.lcdui.Alert;
StringBuffer stringbuffer;
import javax.microedition.lcdui.AlertType;
try{
import javax.microedition.lcdui.Canvas;
stringbuffer = new StringBuffer();
import javax.microedition.lcdui.Choice;
boolean flag = false;
import javax.microedition.lcdui.ChoiceGroup;
int i;
import javax.microedition.lcdui.Command;
while((i = inputstream.read()) != -1)
import javax.microedition.lcdui.CommandListener;
stringbuffer.append((char)i); return stringbuffer.toString();
import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable;
} catch(Exception e)
import javax.microedition.lcdui.Form; import javax.microedition.lcdui.Image;
{
cmdOpenLstTentangHaji= new Command("Pilih",
System.out.println("Unable to create stream");
Command.SCREEN,1);
} return null;
lstTentangHaji.addCommand(cmdBackLstTentangHaji);
}
lstTentangHaji.addCommand(cmdOpenLstTentangHaji); lstTentangHaji.setCommandListener(this);
private Image getPicture(String s) {
return lstTentangHaji;
Image image = null; }
try { image = Image.createImage(s);
public List getListIstilahHaji() {
}
lstIstilahHaji = new List("Istilah-istilah dalam Haji",
catch(Exception exception)
List.IMPLICIT, mnuIstilahHaji, null);
{
lstIstilahHaji.setTicker(txtJalan);
System.err.println("Msg: " + exception.toString()); return null;
cmdBackLstIstilahHaji = new Command("Menu Utama",
} return image;
Command.BACK, 1); cmdOpenLstIstilahHaji = new Command("Lihat",
}
Command.SCREEN, 1); private void showForm(String s, String s1, int i) {
lstIstilahHaji.addCommand(cmdBackLstIstilahHaji);
im = null;
lstIstilahHaji.addCommand(cmdOpenLstIstilahHaji);
String s2 = ReadFileText(s);
lstIstilahHaji.setCommandListener(this);
siContent.setText(s2); return lstIstilahHaji; if(s1 != "0")
}
try public List getListDoaHaji()
{ im = Image.createImage(s1);
{ lstDoaHaji = new List("Do'a-do'a Haji",List.IMPLICIT,
} catch(Exception exception)
mnuDoaHaji, null); lstDoaHaji.setTicker(txtJalan);
{ System.err.println("Msg: " + exception.toString());
cmdBackLstDoaHaji = new Command("Menu Utama",
} imgContent.setImage(im);
Command.BACK, 1); cmdOpenLstDoaHaji = new Command("Lihat",
}
Command.SCREEN, 1);
public List getListTentangHaji()
lstDoaHaji.addCommand(cmdBackLstDoaHaji);
{
lstDoaHaji.addCommand(cmdOpenLstDoaHaji); lstDoaHaji.setCommandListener(this);
lstTentangHaji = new List("Tentang Haji", List.IMPLICIT, mnuTentangHaji,null);
return lstDoaHaji; lstTentangHaji.setTicker(txtJalan);
}
cmdBackLstTentangHaji = new Command("Menu
public List getListTahapanHaji()
Utama",Command.BACK,0);
{
lstTahapanHaji = new List ("Tahapan Haji Tamattu",List.IMPLICIT, mnuTahapanHaji, null); lstTahapanHaji.setTicker(txtJalan);
public Form getFrmTentang() { frmTentang = new Form("Tentang Aplikasi");
cmdBackLstTahapanHaji = new Command("Menu Utama",Command.BACK,1);
cmdBackFrmTentang = new
cmdOpenLstTahapanHaji = new Command("Lihat", Command.SCREEN, 1);
Command("Kembali",Command.BACK,1); // cmdPlay = new Command("Play", Command.SCREEN,1); //cmdStop = new Command("Stop", Command.STOP, 1);
lstTahapanHaji.addCommand(cmdBackLstTahapanHaji); lstTahapanHaji.addCommand(cmdOpenLstTahapanHaji); lstTahapanHaji.setCommandListener(this);
try {
return lstTahapanHaji;
}catch(Exception e){
imgTentang = Image.createImage("/image/imgTitle.png");
e.printStackTrace();
} } public Form getFrmVideoHaji()
imgItemTentang = new ImageItem(null, imgTentang, 3, null);
{
StringItem siTentang = new StringItem(null, "Panduan
frmVideoHaji = new Form("Bantuan");
Manasik Haji v.1.0"); StringItem siTentang1 = new StringItem(null, "");
cmdBackFrmVideo = new
StringItem siTentang2 = new StringItem(null, "Created By:");
Command("Kembali",Command.BACK,1);
StringItem siTentang3 = new StringItem(null, "Markhaban
cmdPlay = new Command("Play", Command.SCREEN,1); cmdStop = new Command("Stop", Command.STOP, 1);
Nur Idris"); StringItem siTentang4 = new StringItem(null, ""); StringItem siTentang5 = new StringItem(null, "Kritik dan
try { imgBantuan = Image.createImage("/image/imgTitle.png");
Saran : [email protected]");
}catch(Exception e){ frmTentang.addCommand(cmdBackFrmTentang);
e.printStackTrace();
frmTentang.append(imgItemTentang);
}
frmTentang.append(siTentang); imgItemBantu = new ImageItem(null, imgBantuan, 3, null);
frmTentang.append(siTentang1);
StringItem siBantu = new StringItem(null, "Petunjuk
frmTentang.append(siTentang2); frmTentang.append(siTentang3);
penggunaan:");
frmTentang.append(siTentang4);
StringItem siBantu1 = new StringItem(null, "Gunakan tombol navigasi keatas atau kebawah untuk memilih menu yang anda
frmTentang.append(siTentang5);
inginkan lalu tekan tombol pilih untuk masuk ke menu tersebut");
//frmVideoHaji.addCommand(cmdPlay); frmTentang.setCommandListener(this);
frmVideoHaji.addCommand(cmdBackFrmVideo); return frmTentang;
frmVideoHaji.append(imgItemBantu); frmVideoHaji.append(siBantu);
}
frmVideoHaji.append(siBantu1); //frmVideoHaji.addCommand(cmdPlay);
/* public void tampilFile(String namaFile){
frmVideoHaji.setCommandListener(this); frmTampil.deleteAll(); return frmVideoHaji; }
bukaFile = new openFile(); bukaFile.openFile(namaFile);
{ getDisplay().setCurrent(frmVideoHaji); } */
} */ }
else if (d == lstTentangHaji){
public Display getDisplay()
if (c == cmdBackLstTentangHaji)
{
{ getDisplay().setCurrent(menu); }
return Display.getDisplay(this);
if (c == lstTentangHaji.SELECT_COMMAND || c ==
}
cmdOpenLstTentangHaji){ public void showMenu()
String s = "";
{
if(frmTampil == null) menu = new Menu(this);
{
getDisplay().setCurrent(menu);
ada = true; frmTampil = new Form("");
}
siContent= new StringItem("", ""); imgContent = new ImageItem(null, null, 3, null); public void startApp() cmdBackFrmTampil= new
{
Command("Kembali",Command.BACK,1);
splashScreen = new Splash(this);
frmTampil.addCommand(cmdBackFrmTampil);
getDisplay().setCurrent(splashScreen); }
frmTampil.append(imgContent); public void destroyApp( boolean unconditional )
frmTampil.append(siContent);
{
if (vPlayer != null) { vPlayer.close();
Object obj = null;
}
frmTampil.setCommandListener(this); } else
}
{ public void pauseApp()
ada = false;
{} }
public void exitMidlet() { destroyApp(true);
pil = lstTentangHaji.getSelectedIndex();
notifyDestroyed();
fileTentang = "tentang_haji"; fileName = "/data/" + fileTentang + pil + ".txt";
}
imgName = "/image/" + fileTentang + pil + ".png"; showForm(fileName, imgName, 0);
public void commandAction( Command c, Displayable d ) { if (d == menu) { /*
frmTampil.setTitle(mnuTentangHaji[lstTentangHaji.getSelectedInde x()]);
if(choice == 6)
getDisplay().setCurrent(frmTampil);
{ exitMidlet(); }
}
else if (choice == 1) { getDisplay().setCurrent(lstTentangHaji); }
}
else if (choice == 2)
else if (d == lstIstilahHaji){
{ getDisplay().setCurrent(lstIstilahHaji); }
if (c == cmdBackLstIstilahHaji)
else if (choice == 3)
{ getDisplay().setCurrent(menu); }
{ getDisplay().setCurrent(lstDoaHaji); } else if (choice == 4)
if (c == lstIstilahHaji.SELECT_COMMAND || c == cmdOpenLstIstilahHaji){
{ getDisplay().setCurrent(lstTahapanHaji); }
String s = "";
else if (choice == 5)
if(frmTampil == null)
{
frmTampil.append(imgContent);
ada = true;
frmTampil.append(siContent);
frmTampil = new Form(""); siContent= new StringItem("", "");
Object obj = null;
imgContent = new ImageItem(null, null, 3, null);
frmTampil.setCommandListener(this); } else {
cmdBackFrmTampil= new
ada = false;
Command("Kembali",Command.BACK,1); }
frmTampil.addCommand(cmdBackFrmTampil);
frmTampil.append(imgContent);
pil = lstDoaHaji.getSelectedIndex();
frmTampil.append(siContent);
fileDoa = "doa";
Object obj = null;
imgName = "/image/" + fileDoa + pil + ".png";
frmTampil.setCommandListener(this);
showForm(fileName, imgName, 0);
fileName = "/data/" + fileDoa + pil + ".txt";
} else frmTampil.setTitle(mnuDoaHaji[lstDoaHaji.getSelectedIndex()]);
{
getDisplay().setCurrent(frmTampil);
ada = false;
}
} }
pil = lstIstilahHaji.getSelectedIndex(); fileIstilah = "istilah";
else if (d == lstTahapanHaji){ if (c == cmdBackLstTahapanHaji){ getDisplay().setCurrent(menu);
fileName = "/data/" + fileIstilah + pil + ".txt"; imgName = "/image/" + fileIstilah + pil + ".png"; showForm(fileName, imgName, 0);
} if(c == lstTahapanHaji.SELECT_COMMAND || c == cmdOpenLstTahapanHaji){
frmTampil.setTitle(mnuIstilahHaji[lstIstilahHaji.getSelectedIndex()]
String s = "";
);
if(frmTampil== null) getDisplay().setCurrent(frmTampil);
{
}
ada = true; frmTampil = new Form("");
} else if (d == lstDoaHaji){ if (c == cmdBackLstDoaHaji)
siContent= new StringItem("", ""); imgContent= new ImageItem(null, null, 3, null);
{ getDisplay().setCurrent(menu); } if (c == lstDoaHaji.SELECT_COMMAND || c == cmdOpenLstDoaHaji){ String s = "";
cmdBackFrmTampil= new Command("Kembali",Command.BACK,1); frmTampil.addCommand(cmdBackFrmTampil);
if(frmTampil == null) {
frmTampil.append(imgContent);
ada = true;
frmTampil.append(siContent);
frmTampil = new Form(""); siContent= new StringItem("", "");
Object obj = null;
imgContent = new ImageItem(null, null, 3, null);
frmTampil.setCommandListener(this); } else
cmdBackFrmTampil= new
{ ada = false;
Command("Kembali",Command.BACK,1); frmTampil.addCommand(cmdBackFrmTampil);
}
pil = lstTahapanHaji.getSelectedIndex();
frmTampil.getTitle().equals("Doa ihram")||
fileTahapan = "tahapan";
frmTampil.getTitle().equals("Doa sesudah Shalawat")||
fileName = "/data/" + fileTahapan + pil + ".txt";
frmTampil.getTitle().equals("Doa masuk masjid
imgName = "/image/" + fileTahapan + pil + ".png";
nabawi")|| frmTampil.getTitle().equals("Doa masuk masjidil
showForm(fileName, imgName, 0); haram")||
frmTampil.getTitle().equals("Doa melihat Jabal
frmTampil.setTitle(mnuTahapanHaji[lstTahapanHaji.getSelectedInd Rahmah")||
ex()]);
frmTampil.getTitle().equals("Doa memasuki kota
getDisplay().setCurrent(frmTampil); makkah")||
}
frmTampil.getTitle().equals("Doa sesudah selesai
} else if (d == frmTampil){
ihram")||
if(c == cmdBackFrmTampil)
frmTampil.getTitle().equals("Niat Haji")||
{
frmTampil.getTitle().equals("Niat Umrah")|| frmTampil.getTitle().equals("Doa sewaktu diatas
if(frmTampil.getTitle().equals("Pengertian Haji") || frmTampil.getTitle().equals("Macam-macam Haji")||
kendaraan")||
frmTampil.getTitle().equals("Waktu Pelaksanaan Haji")||
frmTampil.getTitle().equals("Bacaan Talbiyah"))
frmTampil.getTitle().equals("Hikmah dan Keutamaan
getDisplay().setCurrent(lstDoaHaji);
Haji") || else if(frmTampil.getTitle().equals("Ihrom Umroh") ||
frmTampil.getTitle().equals("Hukum dan Dalil Haji") || frmTampil.getTitle().equals("Syarat-syarat Haji") ||
frmTampil.getTitle().equals("Tawaf Qudum")||
frmTampil.getTitle().equals("Rukun dan Wajib Haji") ||
frmTampil.getTitle().equals("Sai Umroh")||
frmTampil.getTitle().equals("Dam Haji") ||
frmTampil.getTitle().equals("Tahalul")||
frmTampil.getTitle().equals("Larangan Haji"))
frmTampil.getTitle().equals("Ihram Haji")||
getDisplay().setCurrent(lstTentangHaji);
frmTampil.getTitle().equals("Mabit di Mina")|| frmTampil.getTitle().equals("Wukuf di Arafah")||
else if(frmTampil.getTitle().equals("Doa keluar rumah") ||
frmTampil.getTitle().equals("Mabit di Muzdalifah")||
frmTampil.getTitle().equals("Doa ketika berangkat ke
frmTampil.getTitle().equals("Lontar Jumratul Mina")|| frmTampil.getTitle().equals("Tawaf Ifadoh")||
Arafah")||
frmTampil.getTitle().equals("Sai Haji")||
frmTampil.getTitle().equals("Doa ketika masuk
frmTampil.getTitle().equals("Tahalul Haji")||
Arafah")||
frmTampil.getTitle().equals("Mabit Di Mina Pd Hari
frmTampil.getTitle().equals("Doa ketika melihat Tasyrik")||
ka'bah")|| frmTampil.getTitle().equals("Doa ketika pulang haji")||
frmTampil.getTitle().equals("Melontar Ke Tiga")||
frmTampil.getTitle().equals("Doa ketika sampai di
frmTampil.getTitle().equals("Umrah Tawaf Wada")) getDisplay().setCurrent(lstTahapanHaji);
mina")|| frmTampil.getTitle().equals("Doa ketika sampai di
else
muzdalifah")||
getDisplay().setCurrent(lstIstilahHaji);
frmTampil.getTitle().equals("Doa masuk kota }
madinah")|| frmTampil.getTitle().equals("Doa Melontar Jumrah")|| frmTampil.getTitle().equals("Doa menggunting
}
frmTampil.getTitle().equals("Doa Setelah Menggunting
else if (d == frmVideoHaji){
rambut")||
if (c == cmdBackFrmVideo){
Rambut")||
getDisplay().setCurrent(menu);
frmTampil.getTitle().equals("Doa Thawaf")|| frmTampil.getTitle().equals("Doa sa\'i")||
}
frmTampil.getTitle().equals("Doa waktu masuk arafah")||
else if (c == cmdPlay){
frmTampil.getTitle().equals("Doa wukuf")||
getDisplay().setCurrent(frmVideoHaji);
e.printStackTrace();
frmVideoHaji.deleteAll();
}
thread = new Thread(this); }
thread.start(); frmVideoHaji.addCommand(cmdStop);
public void stopVideo() {
frmVideoHaji.removeCommand(cmdPlay); }
try {
else if (c == cmdStop){
vPlayer.deallocate(); vPlayer.close();
try{ vPlayer.stop();
vPlayer = null;
stopVideo();
thread = null; frmVideoHaji.removeCommand(cmdStop);
} catch (MediaException me){
frmVideoHaji.addCommand(cmdPlay);
me.printStackTrace();
frmVideoHaji.addCommand(cmdBackFrmVideo);
}
} catch (Exception e) { e.printStackTrace();
} }
} }
else if(d == frmTentang){ if (c == cmdBackFrmTentang){
public void playerUpdate(Player player, String event, Object data)
getDisplay().setCurrent(menu); {
}
if (event.equals(STOPPED) ||
}
event.equals(STOPPED_AT_TIME) || }
//
event.equals(ERROR) ||
public void commandAction
event.equals(END_OF_MEDIA)) {stopVideo(); } public void run() {
}
try { InputStream is =
static int choice = 1; private Menu menu ; //--- dari class Menu
getClass().getResourceAsStream("/res/data/Test.3gp");
private Splash splashScreen ; //--- dari class Splash
vPlayer = Manager.createPlayer(is, "video/3gpp");
private Ticker txtJalan; vPlayer.addPlayerListener(this);
private Display display = null;
vPlayer.realize();
private Image imgAlert;
// mendapatkan kontrol video
//1
dignkan oleh getListTentangHaji private openFile bukaFile;
vControl = (VideoControl)
private Command cmdBackLstTentangHaji;
vPlayer.getControl("VideoControl");
private Command cmdOpenLstTentangHaji; // mendapatkan GUI untuk memainkan video
private List lstTentangHaji;
Item videoItem = (Item)
String[] mnuTentangHaji ={"Pengertian Haji",
vControl.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE,
"Macam-macam Haji","Waktu Pelaksanaan Haji",
null);
"Hikmah dan Keutamaan Haji","Hukum dan Dalil Haji", "Syarat-syarat Haji","Rukun dan Wajib Haji", "Dam Haji","Larangan Haji"};
// memasukkan item yang didapat ke dalam form
String fileTentang;
frmVideoHaji.append(videoItem);
// menjalankan video vPlayer.start();
//2
dignkan oleh getListIstilahHaji private Command cmdBackLstIstilahHaji; private Command cmdOpenLstIstilahHaji;
} catch (Exception e) {
private List lstIstilahHaji;
"Wukuf di Arafah","Mabit di Muzdalifah","Lontar Jumratul
String[] mnuIstilahHaji = {"Aqabah","Arafah","Arbain","Babus Salam","Badar","Baitullah","Bier Ali",
Mina","Tawaf Ifadoh", "Sai Haji", "Tahalul Haji", "Mabit Di Mina Pd Hari Tasyrik", "Melontar Ke Tiga", "Umrah Tawaf Wada"
"Binatang Hadyu","Dam","Fidyah", "Green Dome", "Gua
};
Hira", "Haji Ifrad", "Haji Qiran",
String fileTahapan;
"Haji Tamattu", "Hijir Ismail", "Ifrad", "Ihram", "Jabal Uhud", "Jabal Rahmah", "Jumrah", "Ka\'bah", "Kiswah", "Mabit", "Maqam Ibrahim", "Masjidil
// digunakan oleh frmTampil private Command cmdBackFrmTampil;
Haram", "Mina", "Miqat", "Multazam",
String fileName;
"Muzdalifah", "Nafar Awal", "Nafar Tsani", "Qiran",
String imgName;
"Rukun Haji", "Sa\'i", "Sunat Haji", "Sunat Umroh", "Tahallul", "Talang Emas", "Talbiyah",
Form frmTampil;
"Tamattu", "Tawaf", "Tawaf Ifadah",
StringItem siContent;
"Tawaf Qudum", "Tawaf Wada", "Wajib Haji", "Wukuf",
ImageItem imgContent;
"Zam-zam"
Image im;
};
int pil;
String fileIstilah;
boolean ada; //3
dignkan oleh getLstDoaHaji private Command cmdBackLstDoaHaji;
// digunakan oleh frmVideoHaji
private Command cmdOpenLstDoaHaji;
private Form frmVideoHaji;
private List lstDoaHaji;
private Item videoItem;
String[] mnuDoaHaji=
private Player vPlayer; private VideoControl vControl;
{"Doa keluar rumah", "Doa ketika berangkat ke Arafah",
Image imgBantuan;
"Doa ketika masuk Arafah",
ImageItem imgItemBantu;
"Doa ketika melihat ka'bah", "Doa ketika pulang haji", "Doa ketika sampai di mina",
private Thread thread;
"Doa ketika sampai di muzdalifah", "Doa masuk kota madinah", "Doa Melontar Jumrah",
private Command cmdPlay;
"Doa menggunting rambut", "Doa Setelah Menggunting
private Command cmdStop;
Rambut", "Doa Thawaf", "Doa sa\'i",
private Command cmdBackFrmVideo;
"Doa waktu masuk arafah", "Doa wukuf", "Doa ihram", "Doa sesudah Shalawat", "Doa masuk masjid nabawi", "Doa masuk masjidil haram", "Doa melihat Jabal Rahmah",
// digunakan oleh frmTentang private Form frmTentang;
"Doa memasuki kota makkah",
Image imgTentang;
"Doa sesudah selesai ihram", "Niat Haji", "Niat Umrah",
ImageItem imgItemTentang;
"Doa sewaktu diatas kendaraan",
private Command cmdBackFrmTentang;
"Bacaan Talbiyah" }; String fileDoa; } //4
dignkan oleh getLstTahapanHaji private Command cmdBackLstTahapanHaji; private Command cmdOpenLstTahapanHaji; private List lstTahapanHaji; String[] mnuTahapanHaji = {"Ihrom Umroh","Tawaf Qudum","Sai
Umroh","Tahalul","Ihram Haji","Mabit di Mina",
//
class ManasikHaji
a. Proses transfer aplikasi dari komputer ke handphone dan instalasinya pada handphone menggunakan media infrared • Proses transfer aplikasi 1. Pasang Infrared devices (Kingsun KS-959 USB Infrared Adapter) pada port USB yang terdapat dikomputer. 2. Aktifkan Infrared port pada handphone, dengan cara meng-klik Menu > Settings > Connectivity > Infrared port > pilih On. 3. Dekatkan Infrared port pada handphone dengan Infrared device pada komputer, sampai muncul Shortcut “Send files to another computer” pada desktop. 4. Klik Shortcut tersebut, kemudian jendela Wireless Link akan terbuka. 5. Cari lokasi file *.JAR yang akan ditransfer, misalkan di D:\ manasik haji\dist. 6. Pilih file Modul Belajar Hidrokarbon.jar. 7. klik tombol send, maka komputer akan mentransfer data ke handphone. 8. Dari handphone klik tombol Yes, untuk memulai proses transfer. 9. Tunggu sampai proses transfer selesai. 10. Jika berhasil maka proses transfer aplikasi dari komputer ke handphone telah selesai dan file tersebut akan otomatis langsung di install kedalam handphone. • Proses instalasi 1. Pilih lokasi tempat menyimpan aplikasi, apakah akan disimpan pada folder Application atau Games. 2. Setelah proses instalasi selesai, maka icon aplikasi Modul Belajar Hidrokarbon akan muncul didalam folder sesuai dengan yang dipilih pada tahapan sebelumnya. Sampai tahap ini proses instalasi telah berhasil dan aplikasi siap untuk dijalankan.
Proses transfer aplikasi dari komputer ke handphone dan instalasinya pada handphone Sony Ericsson K750i menggunakan media bluetooth.
• Proses transfer aplikasi 1. Pasang perangkat Bluetooth pada port USB komputer. 2. Aktifkan Bluetooth pada handphone, dengan cara meng-klik Menu > Settings > Connectivity > Bluetooth > Turn on. 3. Aktifkan perangkat Bluetooth pada komputer 4. Double klik icon My Bluetooth Places yang terdapat pada desktop 5. Klik menu view devices in range untuk mencari perangkat bluetooth yang akan dikoneksikan. 6. Double klik icon perangkat yang terkoneksi. 7. Double klik menu OBEX file transfer 8. Cari lokasi file *.JAR yang akan ditransfer, misalkan di D:\ Modul Belajar Hidrokarbon\dist. Selanjutnya copy file Modul Belajar Hidrokarbon.jar 9. Cari lokasi dimana file *.JAR akan di paste, misalkan di folder Other pada Phone memory. Kemudian paste file Modul Belajar Hidrokarbon.jar 10. Dari handphone klik tombol Yes, untuk memulai proses transfer. 11. Tunggu sampai proses transfer selesai. 12. Jika berhasil maka proses transfer aplikasi dari komputer ke handphone telah selesai dan file tersebut akan otomatis langsung di install kedalam handphone. • Proses instalasi Proses instalasi sama seperti dengan menggunakan media infrared.
G-2