Upload
lamliem
View
234
Download
1
Embed Size (px)
Citation preview
i
RANCANG BANGUN APLIKASI CHAT CONFERENCE PADA
MOBILE PHONE DENGAN MENGGUNAKAN ENKRIPSI
Oleh :
SEPTIAN FAJAR NUGRAHA
204091002508
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
SYARIF HIDAYATULLAH
JAKARTA 2010 / 1431 H
ii
RANCANG BANGUN APLIKASI CHAT CONFERENCE PADA
MOBILE PHONE DENGAN MENGGUNAKAN ENKRIPSI
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S. Kom) Program Studi Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN)
Syarif Hidayatullah Jakarta
Oleh :
SEPTIAN FAJAR NUGRAHA
204091002508
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
SYARIF HIDAYATULLAH
JAKARTA 2010 / 1431 H
iii
RANCANG BANGUN APLIKASI CHAT CONFERENCE PADA
MOBILE PHONE DENGAN MENGGUNAKAN ENKRIPSI
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S. Kom) Program Studi Teknik Informatika
Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN)
Syarif Hidayatullah Jakarta
Oleh :
SEPTIAN FAJAR NUGRAHA
204091002508
Menyetujui,
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, M.Sc, M.IT
NIP. 197105222006041002
Pembimbing I, Pembimbing II,
Arini, M. EngNIP. 197601312009012001
Qurrotul Aini, MTNIP. 1973303252009012001
iv
PENGESAHAN UJIAN
Skripsi yang berjudul “Rancang Bangun Aplikasi Chat
Conference Pada Mobile Phone Dengan Menggunakan Enkripsi’’
yang ditulis oleh Septian Fajar Nugraha, NIM 204091002508 telah diuji dan
dinyatakan lulus dalam Sidang Munaqosyah Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta pada tanggal 10 Desember
2010. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar
Sarjana Strata Satu (S1) Program Studi Teknik Informatika.
Menyetujui,
Mengetahui,
Penguji I, Penguji II,
Herlino Nanang, MTNIP. 197312092005011002
Pembimbing II,
Arini, M. EngNIP. 197601312009012001
Pembimbing I,
KetuaProgram Studi Teknik Informatika
Yusuf Durrachman, M.Sc, M.ITNIP. 197105222006041002
DekanFakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra, M.SisNIP. 196801172001121001
Qurrotul Aini, MTNIP. 1973303252009012001
Andrew Fiade, MTNIP. 198208112009121004
v
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAUPUN LEMBAGA MANAPUN.
Jakarta, 10 Desember 2010
Septian Fajar Nugraha204091002508
vi
ABSTRAK
Septian Fajar Nugraha – 204091002508, Rancang Bangun Aplikasi Chat Conference Pada Mobile Phone Dengan Menggunakan Enkripsi (Dibawah bimbingan Arini, M.Eng dan Qurrotul Aini, MT)
Dengan banyaknya orang menggunakan internet, berbagai jenis komunitas muncul untuk slaing bertukar informasi satu sama lain dan muncul sebuah kebutuhan untuk melakukan komunikasi secara mobile. Namun, untuk membuat suatu komunitas diperlukan media yang dapat berkomunikasi dengan sesama anggota komunitas. Salah satu metode komunikasi internet yang digunakan dalam komunitas adalah menngunakan instant messaging, seperti contohnya adalah Yahoo Messenger Mobile. Tetapi aplikasi instant messaging yang sudah adaseperti Yahoo Messenger Mobile menggunakan server yang diletakan diluar negeri dimana harga bandwidth internasonal lebih mahal dibandingkan dengan harga bandwidth lokal dan juga keamanan dalam melakukan chating masih belum terjamin. Selain itu, Yahoo Messenger Mobile masih belum mendukung fitur conference dimana user dapat melakukan chatting dengan lebih dari satu orang, kecuali pada BlackBerry. Oleh sebab itu, dalam penelitian ini dirancang sebuah aplikasi chatting yang berjalan pada handphone dengan menggunakan serverlokal, mendukung conference dan enkripsi untuk memproteksi data ketika sedang melakukan komunikasi melalui instant messaging. Pada penulisan ini akan dibahas tentang pengembangan aplikasi chatting pada telepon seluler menggunakan fasilitas Wifi. Aplikasi ini mampu melakukan pengiriman dan penerimaan pesan berupa teks dan gambar saat meneriam pesan dengan memanfaatkan fasilitas Wifi. Sehingga dengan adanya aplikasi ini percakapan pada jarak ± 200 meter dapat dilakukan tanpa mengeluarkan biaya pulsa. Adapun bahasa pemrograman yang digunakan untuk membuat aplikasi tersebut adalah J2ME sebagai bahasa pemrograman untuk aplikasi yang dijalankan pada telepon seluler yg telah mendukung Java MIDP 2.0.
Kata Kunci: Chat, Wifi, Telepon Seluler, J2ME
vii
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah memberikan nikmat iman,
nikmat sehat jasmani dan rohani. Shalawat serta salam tak lupa peneliti
tujukan kepada Nabi Muhammad SAW. Nabi terakhir yang telah membimbing
umatnya menuju jalan yang diridhai Allah SWT. Peneliti bersyukur karena
dengan izin Allah SWT, pada akhirnya peneliti dapat menyelesaikan skripsi ini.
Skripsi yang berjudul Rancang Bangun Aplikasi Chat Conference pada
Mobile Phone Menggunakan Enkripsi merupakan salah satu tugas wajib
mahasiswa sebagai persyaratan untuk mengambil gelar Strata 1 (S1) pada
program studi Teknik Informatika Universitas Islam Negeri Syarif Hidayatullah
Jakarta.
Penyusunan skripsi ini tidak mungkin dapat peneliti laksanakan dengan
baik tanpa bantuan dari berbagai pihak yang terkait. Untuk itu peneliti ingin
mengucapkan banyak terima kasih secara khusus kepada beberapa pihak, antara
lain :
1. DR. Syopiansyah Jaya Putra, M.Sis, sebagai Dekan Fakultas Sains dan
Teknologi UIN Syarif Hidayatullah Jakarta.
2. Bapak Yusuf Durrachman, M.Sc, M.IT, selaku Ketua Program Studi
Teknik Informatika dan Ibu Viva Arifin, MMSI, selaku Sekretaris
Program Studi Teknik Informatika yang telah banyak membantu dan
memberi pengarahan kepada peneliti.
viii
3. Ibu Arini, M.Eng, selaku Dosen Pembimbing I (Pertama) yang banyak
memberikan pengarahan dan masukan selama pengerjaan skripsi ini.
4. Qurrotul Aini, MT, selaku Dosen Pembimbing II (Kedua) yang telah
memberikan bimbingan, waktu dan perhatiannya dalam penyusunan
skripsi ini.
5. Seluruh Dosen Teknik Informatika yang tidak dapat peneliti sebutkan
satu persatu yang telah memberikan ilmu dan bimbingannya selama
peneliti menyelesaikan studi di Teknik Informatika.
6. Seluruh staff Jurusan TI/SI dan staff Akademik FST yang telah
membantu peneliti dalam masa perkuliahan.
Peneliti sadar masih banyak sekali kekurangan dari skripsi ini, dan peneliti
terbuka terhadap segala saran dan kritik yang membangun.
Akhir kata peneliti mempersembahkan skripsi ini dengan segala kelebihan
dan kekurangannya, semoga dapat bermanfaat bagi kita semua, Amin.
Jakarta, 10 Desember 2010
Septian Fajar Nugraha
204091002508
ix
LEMBAR PERSEMBAHAN
Skripsi ini peneliti persembahkan kepada beberapa pihak yang telah
memberi dukungan baik berupa dukungan moril maupun materiil, di antaranya :
1. Keluarga besar H. Muhammad Hasan dan Hj. Atih Susanti yaitu
kedua orang tua, serta kakak (Hendra Setia & Husnaini, Zaenal Alfian
& Desmayanti) dan ponakan yang lucu-lucu (Helda, Abib, Syaila)
yang tak henti-hentinya memberikan dukungan baik moril maupun
materiil bagi peneliti dalam menjalani hidup ini.
2. Teman-teman dari Prodi Teknik Informatika angkatan 2003 (Ahmad
Faqih (Thx materi & support nya), Muhammad Zaenal Muttaqin/Ozhet
(Thx for everythings), Nyos, Fahli, Monot, Rahmat, Tanto, Suyanti,
Mizan, Ardo, Bagus, Tompel, Ita, Qomar, Sultan, Adit, Taufik, Lebe,
Ratna, Ucox, Achmad NS, Ahmad Zainul M, Asep Taufik M, Bodrex,
Dodoy, Juhaeri, Upil, Lydia, Erik, Odang, Yuga, Teted, Hadi dan
Camen & Konde) yang telah melewatkan waktu bersama selama masa
kuliah.
3. Teman-teman Genk Suntul (Ubay, Beni, Makong, Buncit, Buyung,
Kodir, Kirun) yang telah menghibur dengan lelucon-leluconnya serta
ketawa-ketiwinya saat penyusunan skripsi ini.
x
4. Terima kasih banyak kepada Rahmawati Fahira Anggraini (Bunda)
beserta Helvi Vilia (Anak) Hira+Arul=Helvi, Pacarku yang paling aku
sayangi, baik hati dan tidak sombong yang telah menemani saat-saat
keterpurukan yang aku alami hingga datang kembali semangat untuk
menyelesaikan skripsi ini.
5. Temen-teman Kost Subuh FC depan air mancur UIN (Asep, Japong,
Tile, Games, Tomi, Riki, Heri, Roy, Empoy, Macho, Apen, Nico,
Adin, Ambon, Bang Jak) yang telah banyak menghibur di dalam
kejenuhan dalam penyelesaian skripsi ini.
6. Teman-teman NO’THINK BAND (AruL aL-caKz, Hadi aL-Tris &
Gufron aL-Gazhali) yang selalu memberi semangat kepada peneliti.
7. Teman-teman Tongkrongan (Rudy Satria, Pachex, Bagon, Komeng,
Spong, Risha, Lulu, Joko) yang telah membantu, telah memberikan
banyak dukungan dan semangat dalam menyelesaikan skripsi ini.
Dan kepada Seluruh pihak dan teman-teman peneliti yang lain yang tidak
bisa disebutkan namanya satu per satu yang telah memberi dukungan kepada
peneliti sehingga skripsi ini dapat terselesaikan dengan baik.
Jakarta, 10 Desember 2010
Peneliti
xi
DAFTAR ISI
Halaman Sampul ......................................................................................... i
Halaman Judul ............................................................................................ ii
Lembar Persetujuan Pembimbing ............................................................ iii
Lembar Pengesahah Ujian ......................................................................... iv
Lembar Pernyataan .................................................................................... v
Abstrak ........................................................................................................ vi
Kata Pengantar ........................................................................................... vii
Lembar Persembahan ................................................................................ vii
Daftar Isi ...................................................................................................... xi
Daftar Gambar ............................................................................................ xvi
Daftar Tabel ................................................................................................ xxv
Daftar Istilah ............................................................................................... xxvii
BAB I PENDAHULUAN ........................................................................... 1
1.1 Latar Belakang ............................................................................ 1
1.2 Perumusan Masalah .................................................................... 2
1.3 Batasan Masalah ........................................................................ 2
1.4 Tujuan Penelitian ........................................................................ 3
1.5 Manfaat Penelitian ...................................................................... 3
1.6 Metode Penelitian ...................................................................... 4
1.7 Sistematika Penulisan ................................................................ 6
xii
BAB II LANDASAN TEORI ..................................................................... 8
2.1 Internet ....................................................................................... 8
2.2 Referensi Model Jaringan ..…………………………………… 8
2.2.1 Model OSI Layer ........................................................... 8
2.2.2 Model TCP/IP Layer ...................................................... 10
2.3 Jaringan Wireless ...................................................................... 11
2.4 Protokol ..................................................................................... 14
2.4.1 HTTP ............................................................................. 14
2.4.2 HTTPS ........................................................................... 14
2.4.1 Soket .............................................................................. 15
2.5 Object Oriented Software Development .................................. 16
2.6 Unified Modelling Language (UML) ....................................... 17
2.7 JAVA ....................................................................................... 22
2.7.1 Java 2 Micro Editon (J2ME) ......................................... 24
2.7.1.1 Arsitektur J2ME ......................................................... 24
2.7.2 Java 2 Second Editon (J2SE) ........................................ 26
2.8 Pemrograman Web ................................................................... 27
2.8.1 Web ................................................................................ 27
2.8.2 PHP ................................................................................ 27
2.8.3 Web Server ..................................................................... 29
2.9 Basis Data ................................................................................ 29
2.9.1 MySQL ........................................................................... 30
2.10 Secure Socket Layer (SSL) ..................................................... 30
xiii
2.10.1 Cara Kerja (SSL) ............................................................. 32
2.11 Enkripsi ................................................................................... 33
2.11.1 Subtitusi ....................................................................... 34
2.12 Instant Messaging ................................................................... 34
2.13 Mobile Phone ........................................................................ 34
2.14 Rapid Application Development (RAD) ................................ 35
2.14.1 Alasan Menggunakan RAD ........................................ 38
2.14.2 Pengujian Black box ................................................... 39
2.15 Studi Leteratur Sejenis ............................................................ 40
BAB III METODE PENELITIAN ............................................................ 42
3.1 Metode Pengumpulan Data ..................................................... 42
3.1.1 Studi Pustaka ................................................................ 42
3.1.2 Studi Lapangan ............................................................. 42
3.2 Metode Pengembangan Sistem ............................................... 43
3.3 Siklus Penerapan RAD untuk Membuat Aplikasi
Chat Conference ..................................................................... 47
BAB IV PERANCANGAN DAN IMPLEMENTASI SISTEM .............. 48
4.1 Fase menentukan Tujuan dan Syarat-syarat Informasi ........... 48
4.1.1 Tujuan Informasi .......................................................... 48
4.1.2 Syarat-syarat Informasi ................................................. 49
4.1.2.1 Kelengkapan Data yang digunakan ................. 49
4.1.2.2 Kelengkapan Software yang digunakan .......... 49
4.1.2.3 Kelengkapan Hardware yang digunakan ........ 50
xiv
4.2 Fase Perancangan .................................................................... 51
4.2.1 Object Oriented System Analisys dengan UML ........... 51
4.2.2 Use Case Diagram ....................................................... 51
4.2.3 Perancangan Sistem ...................................................... 65
4.2.3.1 Perangkat Lunak ............................................. 66
4.2.3.2 Pemilihan Perangkat Lunak ............................ 66
4.2.3.3 Perancangan Perangkat Lunak ........................ 66
4.2.4 Object Oriented System Design dengan UML ............. 67
4.2.4.1 Class Diagram ................................................. 67
4.2.5 Sequence Diagram ........................................................ 68
4.2.6 Database ........................................................................ 76
4.2.6.1 Diagram Skema Database ................................ 76
4.2.6.2 Penjelasan Skema Database ............................. 76
4.2.6.3 Rancangan Database ........................................ 77
4.2.7 Perancangan Antarmuka .............................................. 79
4.2.7.1 Perancangan Layar Mobile ............................. 79
4.2.7.2 Perancangan Layar Wb ................................... 84
4.2.8 Langkah-langkah Pengujian Aplikasi untuk User dan
Web untuk Admin ........................................................ 90
4.2.8.1 Langkah-langkah Pemakaian Aplikasi untuk
User ................................................................ 90
4.2.9 Langkah-langkah Pemakaian Web untuk Admin ......... 119
4.3 Fase Konstruksi ....................................................................... 126
xv
4.3.1 Membuat Project .......................................................... 126
4.3.2 Menjalankan Project ..................................................... 133
4.4 Fase Pelaksanaan .................................................................... 134
4.4.1 Spesifikasi Ponsel yang digunakan .............................. 134
4.4.2 Transfer Aplikasi dari PC ke dalam Ponsel dan
Instalasi ........................................................................ 136
4.4.3 Evaluasi Aplikasi Chat Conference .............................. 137
4.4.4 Analisis tentang Aplikasi sebelum pengembangan ....... 138
4.4.4.1 Aplikasi sebelum pengembangan .................... 138
4.4.4.2 Hasil pengembangan dari Aplikasi
Sebelumnya ................................................... 139
BAB V KESIMPULAN DAN SARAN ...................................................... 142
5.1 Kesimpulan ............................................................................... 142
5.2 Saran ......................................................................................... 142
DAFTAR PUSTAKA .................................................................................. 144
Lampiran I Proses Konstruksi Program dan Hasil Tampilan Aplikasi ......... I-1
Lampiran II Source Code ............................................................................ II-1
Lampiran III Instalasi Aplikasi .................................................................... III-1
Lampiran IV Contoh Angket & Hasil Kuisioner .......................................... IV-1
xvi
DAFTAR GAMBAR
Gambar 2.1 TCP/IP ....................................................................................... 10
Gambar 2.2 Notasi UML untuk Use Case .................................................... 19
Gambar 2.3 Depedency Include ………….................................................... 19
Gambar 2.4 Depedency Extend ……………………..................................... 20
Gambar 2.5 Dua kelas yang saling berasosiasi ............................................. 20
Gambar 2.6 Boundary Object ....................................................................... 21
Gambar 2.7 Entity Object ……………………………….............................. 21
Gambar 2.8 Control Object ........................................................................... 21
Gambar 2.9 Ilustrasi Enkripsi ....................................................................... 33
Gambar 2.10 Model RAD ............................................................................. 37
Gambar 3.1 Fase-fase RAD James Martin ................................................... 44
Gambar 3.2 Siklus Penerapan RAD Untuk Membuat Aplikasi
Chat Conference ....................................................................... 47
Gambar 4.1 Use Case Diagram Aplikasi Chat Conference .......................... 51
Gambar 4.2 Sistem yang Dirancang ............................................................. 65
Gambar 4.3 Class Diagram Aplikasi Chat conference ............................... 67
Gambar 4.4 Sequence Diagram Sistem Login User ...................................... 68
Gambar 4.5 Sequence Diagram Sistem Login Admin .................................. 68
Gambar 4.6 Sequence Diagram Sistem Registrasi User ............................... 69
Gambar 4.7 Sequence Diagram Sistem Registrasi User oleh Admin ........... 69
Gambar 4.8 Sequence Diagram Sistem Comment User ................................ 70
xvii
Gambar 4.9 Sequence Diagram Sistem Comment Admin ............................ 70
Gambar 4.10 Sequence Diagram Sistem Add Friend User .......................... 71
Gambar 4.11 Sequence Diagram Sistem Add Friend User oleh Admin ....... 71
Gambar 4.12 Sequence Diagram Sistem Delete Friend User ....................... 72
Gambar 4.13 Sequence Diagram Sistem Delete Friend User oleh Admin .... 72
Gambar 4.14 Sequence Diagram Sistem Ubah Password User ................... 73
Gambar 4.15 Sequence Diagram Sistem Ubah Password oleh Admin ........ 73
Gambar 4.16 Sequence Diagram Sistem Chatting User .............................. 74
Gambar 4.17 Sequence Diagram Sistem Logout User ................................. 74
Gambar 4.18 Sequence Diagram Sistem Logout ......................................... 75
Gambar 4.19 Diagram Skema Database ...................................................... 76
Gambar 4.20 Rancangan Layar saat memulai aplikasi ................................. 79
Gambar 4.21 Rancangan Layar list teman user ............................................ 80
Gambar 4.22 Rancangan Layar menambah teman ....................................... 81
Gambar 4.23 Rancangan Layar untuk mengganti password ........................ 82
Gambar 4.24 Rancangan Layar saat Melakukan Chatting ............................ 83
Gambar 4.25 Rancangan Layar Login .......................................................... 84
Gambar 4.26 Rancangan Layar Database User ............................................ 85
Gambar 4.27 Rancangan Layar Penambahan user ....................................... 86
Gambar 4.28 Rancangan Layar List Teman ................................................. 87
Gambar 4.29 Rancangan Layar penambahan teman ..................................... 88
Gambar 4.30 Rancangan Layar Edit User .................................................... 89
Gambar 4.31 Layar Pilihan Login ................................................................. 90
xviii
Gambar 4.32 Layar Error Field Kosong ...................................................... 90
Gambar 4.33 Layar Error Username atau Password Salah ......................... 91
Gambar 4.34 Layar Error Belum Verifikasi Account .................................. 91
Gambar 4.35 Layar Error User telah Login ................................................. 92
Gambar 4.36 Layar Pilihan Login ................................................................. 93
Gambar 4.37 Layar Form Register ............................................................... 93
Gambar 4.38 Layar Error Field Kosong ...................................................... 94
Gambar 4.39 Layar Error Format Password Salah ...................................... 94
Gambar 4.40 Layar Error Confirm Password Salah .................................... 95
Gambar 4.41 Layar Error Panjang NIM Salah ............................................. 95
Gambar 4.42 Layar Error Format E-mail Salah ........................................... 96
Gambar 4.43 Layar Error Username telah Dipakai ..................................... 96
Gambar 4.44 Layar Register Sukses ............................................................. 97
Gambar 4.45 Layar Web Verifikasi Sukses .................................................. 97
Gambar 4.46 Layar Pilihan Contact Us ........................................................ 98
Gambar 4.47 Layar Form Contact Us ........................................................... 98
Gambar 4.48 Layar Error Field Kosong ...................................................... 99
Gambar 4.49 Layar Error Format E-mail ..................................................... 99
Gambar 4.50 Layar Error Username tidak Ada ........................................... 100
Gambar 4.51 Layar Kirim Komentar Sukses ................................................ 100
Gambar 4.52 Layar Pilihan Chat .................................................................. 101
Gambar 4.53 Layar Error tidak Memilih Teman ......................................... 101
Gambar 4.54 Layar Konfirmasi Chat ........................................................... 102
xix
Gambar 4.55 Layar Pilihan Send message .................................................... 102
Gambar 4.56 Layar Ketik Pesan ................................................................... 103
Gambar 4.57 Layar Pilihan View cam .......................................................... 104
Gambar 4.58 Layar Pilihan User yang Ingin Dilihat Gambarnya ................ 104
Gambar 4.59 Layar Konfirmasi Lihat Gambar ............................................. 105
Gambar 4.60 Layar Permintaan Lihat Gambar Ditolak ................................ 105
Gambar 4.61 Layar Hasil Penangkapan Gambar .......................................... 106
Gambar 4.62 Layar Pilihan Add Member ..................................................... 106
Gambar 4.63 Layar Pilih Member Baru ........................................................ 107
Gambar 4.64 Layar Error Tidak ada User yang Dipilih .............................. 108
Gambar 4.65 Layar Konfirmasi Add Member .............................................. 108
Gambar 4.66 Layar Pilihan Add Friend ........................................................ 109
Gambar 4.67 Layar Add Friend .................................................................... 109
Gambar 4.68 Layar Error Username Kosong .............................................. 110
Gambar 4.69 Layar Error Username tidak Ada ........................................... 110
Gambar 4.70 Layar Error Add Diri Sendiri .................................................. 111
Gambar 4.71 Layar Error Username telah ditambah ................................... 111
Gambar 4.72 Layar Tambah Teman sukses .................................................. 112
Gambar 4.73 Layar Error Penambahan Teman ............................................ 112
Gambar 4.74 Layar Konfirmasi Penambahan teman .................................... 113
Gambar 4.75 Layar Delete Friend ................................................................ 114
Gambar 4.76 Layar Error Tidak Ada Teman yang Dipilih .......................... 114
Gambar 4.77 Layar Peringatan Penghapus user dari daftar user lain ........... 115
xx
Gambar 4.78 Layar Penghapusan Teman Sukses ......................................... 115
Gambar 4.79 Layar Pilihan Change Password ............................................. 116
Gambar 4.80 Layar Form Ubah Password ................................................... 116
Gambar 4.81 Layar Error Field Kosong ...................................................... 117
Gambar 4.82 Layar Error Format Password ................................................ 117
Gambar 4.83 Layar Error Konfirmasi Password Salah ............................... 118
Gambar 4.84 Layar Error Password Lama Salah ........................................ 118
Gambar 4.85 Layar Ubah Password Sukses ................................................. 119
Gambar 4.86 Layar Login Web Admin ......................................................... 119
Gambar 4.87 Layar Error Field Kosong ...................................................... 120
Gambar 4.88 Layar Error Username atau Password Salah ......................... 120
Gambar 4.89 Layar Halaman Utama ............................................................ 121
Gambar 4.90 Layar Tambah User ................................................................ 121
Gambar 4.91 Layar Error Field Kosong ...................................................... 122
Gambar 4.92 Layar Error Username telah Terdaftar ................................... 122
Gambar 4.93 Layar Melihat Komentar ......................................................... 122
Gambar 4.94 Layar View Friend User .......................................................... 123
Gambar 4.95 Layar Add Friend User ........................................................... 123
Gambar 4.96 Layar Error Username Tidak Ada .......................................... 124
Gambar 4.97 Layar Error Tidak Dapat Menambah Diri Sendiri ................. 124
Gambar 4.98 Layar Username telah Ditambah ............................................ 124
Gambar 4.99 Layar Add Friend yang belum disetujui ................................. 124
Gambar 4.100 Layar Edit User ..................................................................... 125
xxi
Gambar 4.101 Layar Error Field Kosong .................................................... 125
Gambar 4.102 Tampilan Sistem Netbeans .................................................... 126
Gambar 4.103 Tampilan Sistem Netbeans membuat projek baru ................ 127
Gambar 4.104 Tampilan Sistem Netbeans untuk pilihan Project ................. 128
Gambar 4.105 Tampilan Netbeans untuk membuat project name ............... 128
Gambar 4.106 Tampilan Netbeans default platform Selection ..................... 129
Gambar 4.107 Tampilan Sistem Netbeans New Project Finish ................... 129
Gambar 4.108 Jendela Mobile Meeting pada Netbeans ................................ 130
Gambar 4.109 Jendela Mobile Meeting File baru pada Netbeans ................ 130
Gambar 4.110 Jendela Mobile Meeting File baru pada Netbeans ............... 131
Gambar 4.111 Jendela mobile meeting Name dan location pada ................. 131
Gambar 4.112 Jendela mobile meeting pada Netbeans ................................ 132
Gambar 4.113 Proses Build Main Project .................................................... 132
Gambar 4.114 Proses Run Main Project ....................................................... 133
Gambar 4.115 Tampilan Awal Chat Conference pada mulator ................... 134
Gambar 4.116 Nokia C3 yang digunakan ..................................................... 135
Gambar 4.117 Hasil Aplikasi Chat Conference pada Handphone
Nokia C3 ............................................................................... 137
Gambar I.1 Tampilan Sistem Netbeans ....................................................... I-2
Gambar I.2 Tampilan Sistem Netbeans membuat projek baru .................... I-2
Gambar I.3 Tampilan Sistem Netbeans untuk pilihan Project .................... I-3
Gambar I.4 Tampilan Netbeans untuk membuat project name ..................... I-4
Gambar I.5 Tampilan Netbeans default platform Selection .......................... I-4
xxii
Gambar I.6 Tampilan Sistem Netbeans New Project Finish ........................ I-5
Gambar I.7 Jendela Mobile Meeting pada Netbeans .................................... I-5
Gambar I.8 Jendela Mobile Meeting File baru pada Netbeans ..................... I-6
Gambar I.9 Jendela Mobile Meeting File baru pada Netbeans ..................... I-6
Gambar I.10 Jendela mobile meeting Name dan location pada Netbeans .... I-7
Gambar I.11 Jendela mobile meeting pada Netbeans .................................. I-7
Gambar I.12 Proses Build Main Project ........................................................ I-8
Gambar I.13 Proses Run Main Project ......................................................... I-8
Gambar I.14 Rancangan Layar saat memulai aplikasi dan Rancangan
Layar list teman user ................................................................ I-9
Gambar I.15 Layar Error Username atau Password Salah dan Layar Error
Belum Verifikasi Account ........................................................ I-9
Gambar I.16 Layar Error User telah Login dan Layar Pilihan Register ........ I-10
Gambar I.17 Layar Form Register dan Layar Error Field Kosong ................ I-10
Gambar I.18 Layar Error Format Password Salah dan Layar Error Confirm
Password Salah ......................................................................... I-11
Gambar I.19 Layar Error Panjang NIM Salah dan Layar Error
Format E-mail Salah ................................................................ I-11
Gambar I.20 Layar Error Username telah Dipakai dan Layar
Register Sukses ........................................................................ I-12
Gambar I.21 Layar Pilihan Contact Us dan Layar Form Contact Us ........... I-12
Gambar I.22 Layar Error Field Kosong dan Layar Error Format E-mail ... I-13
xxiii
Gambar I.23 Layar Error Username tidak Ada dan Layar Kirim
Komentar Sukses ..................................................................... I-13
Gambar I.24 Layar Pilihan Chat dan Layar Error tidak Memilih Teman .... I-14
Gambar I.25 Layar Konfirmasi Chat dan Layar Pilihan Send Message ....... I-14
Gambar I.26 Layar Ketik Pesan dan Layar Pilihan View Cam ..................... I-15
Gambar I.27 Layar Pilihan User yang Ingin Dilihat Gambarnya dan
Layar Konfirmasi Lihat Gambar .............................................. I-15
Gambar I.28 Layar Permintaan Lihat Gambar Ditolak dan Layar Hasil
Penangkapan Gambar .............................................................. I-16
Gambar I.29 Layar Pilihan Add Member dan Layar Pilih Member Baru .... I-16
Gambar I.30 Layar Error Tidak ada User yang Dipilih dan Layar
Konfirmasi Add Member .......................................................... I-17
Gambar I.31 Layar Pilihan Add Friend dan Layar Add Friend .................... I-17
Gambar I.32 Layar Error Username Kosong dan Layar Error Username
tidak Ada .................................................................................. I-18
Gambar I.33 Layar Error Add Diri Sendiri dan Layar Error Username
telah ditambah .......................................................................... I-18
Gambar I.34 Layar Tambah Teman sukses dan Layar Error
Penambahan Teman ................................................................. I-19
Gambar I.35 Layar Konfirmasi Penambahan teman dan Layar
Delete Friend ........................................................................... I-19
Gambar I.36 Layar Error Tidak Ada Teman yang Dipilih dan Layar
Peringatan Penghapus User dari Daftar User Lain .................. I-20
xxiv
Gambar I.37 Layar Penghapusan Teman Sukses dan Layar Pilihan
Change Password .................................................................... I-20
Gambar I.38 Layar Form Ubah Password dan Layar Error Field Kosong .. I-21
Gambar I.39 Layar Error Format Password dan Layar Error Konfirmasi
Password Salah ........................................................................ I-21
Gambar I.40 Layar Error Password Lama Salah dan Layar Ubah
Password Sukses ...................................................................... I-22
Gambar I.41 Layar Login Web Admin Dan Layar Error Field Kosong ....... I-22
Gambar I.42 Layar Error Username atau Password Salah .......................... I-23
Gambar I.43 Layar Halaman Utama ............................................................. I-23
Gambar I.44 Layar Tambah User ................................................................. I-23
Gambar I.45 Layar Error Field Kosong ....................................................... I-24
Gambar I.46 Layar Error Username telah Terdaftar .................................... I-24
Gambar I.47 Layar Melihat Komentar .......................................................... I-24
Gambar I.48 Layar View Friend User …….................................................. I-25
Gambar I.49 Layar Add Friend User ............................................................ I-25
Gambar I.50 Layar Error Username Tidak Ada .......................................... I-25
Gambar I.51 Layar Error Tidak Dapat Menambah Diri Sendiri .................. I-25
Gambar I.52 Layar Username telah Ditambah ............................................. I-26
Gambar I.53 Layar Add Friend yang Belum Disetujui ................................. I-26
Gambar I.54 Layar Edit User ........................................................................ I-26
Gambar I.55 Layar Error Field Kosong ....................................................... I-26
Gambar IV.1 Diagram Batang Hasil Respon User ....................................... IV-5
xxv
DAFTAR TABEL
Tabel 2.1 Perbandingan CLDC dengan CDC ............................................... 26
Tabel 4.1 Deskripsi Use Case Sistem Login ................................................. 52
Tabel 4.2 Deskripsi Use Case Sistem Registrasi User ................................. 53
Tabel 4.3 Deskripsi Use Case Sistem Registrasi User oleh Admin ............. 54
Tabel 4.4 Deskripsi Use Case Sistem Comment User .................................. 55
Tabel 4.5 Deskripsi Use Case Sistem Comment Admin ............................... 56
Tabel 4.6 Deskripsi Use Case Sistem Add Friend ........................................ 57
Tabel 4.7 Deskripsi Use Case Sistem Add Friend oleh Admin .................... 58
Tabel 4.8 Deskripsi Use Case Sistem Delete Friend .................................... 59
Tabel 4.9 Deskripsi Use Case Sistem Delete Friend oleh Admin ................ 60
Tabel 4.10 Deskripsi Use Case Sistem Ubah Password ............................... 61
Tabel 4.11 Deskripsi Use Case Sistem Ubah Password oleh Admin ........... 62
Tabel 4.12 Deskripsi Use Case Sistem Chatting .......................................... 63
Tabel 4.13 Deskripsi Use Case Sistem Logout ............................................. 64
Tabel 4.14 Tabel Skema Database ............................................................... 76
Tabel 4.15 Tabel MsUser ............................................................................. 77
Tabel 4.16 Tabel MsFriend .......................................................................... 77
Tabel 4.17 Tabel MsComment ..................................................................... 78
Tabel 4.18 Tabel MsAddFriend ………………........................................... 78
Tabel 4.19 Tabel Spesifikasi Ponsel yang digunakan .................................. 135
Tabel 4.20 Perbandingan Aplikasi Chat Conference dengan
xxvi
Yahoo Messenger Mobile .......................................................... 137
Tabel IV.1 Data Sebelum Diolah .................................................................. IV-4
Tabel IV.2 Hasil Persentase Data ................................................................ IV-4
Tabel IV.3 Hasil Persentase dari Tanggapan User ....................................... IV-5
xxvii
DAFTAR ISTILAH
Istilah ArtiBandwith Kapasitas transmisi dari sambungan elektronik seperti jaringan
komunikasi, bus komputer dan komputer channel, dilambangkan dengan bit per second atau Hertz, jika ditulis dalam Hertz, maka bilangannya menjadi lebih besar dibanding jika dituliskan dalam bit per second.
Black Box Alat atau sebuah proses yang khusus hanya dalam batas proses input dan output, kita tidak mengetahui apa yang terjadi di dalam.
Bluetooth Teknologi yang diciptakan untuk koneksi wireles dan menggunakan chip transceiver yang dirangkai pada mobile computer, telepon dan perangkat portabel lainnya.
Build Perintah dalam bahasa pemrograman untuk menjalankan kembali program yang dibuat dari awal.
Cancel Digunakan untuk membatalkan perintah atau menggagalkan kegiatan yang sedang dikerjakan
Card Reader Pembaca kartu. Perangkat ini mempunyai kemampuan untuk membaca data dari suatu jenis kartu dan mengirimkannya ke komputer.
Chatting Komunikasi yang mengijinkan dua atau lebih komputer untuk melakukan suatu percakapan dengan mengetik diantara satu sama lain.
Client Sebuah software aplikasi yang memungkinkan pengguna untuk mengakses servis atau layanan dari komputer server
Configuration Metode penyusunan sistem atau bagian dari sistem berdasarkan sejumlah kemungkinan.
Connected Device Configuration
CDC ditujukan untuk memenuhi kebutuhan dari devices yang terletak diantara device yang ditujukan untuk CLDC dan sistem desktop yang berjalan penuh menggunakan J2SE. CDC dapat ditemukan pada device seperti PDA yang lebih canggih, pada smart phones, web telephones, residential gateway, dan set-top boxes.
Connected Limited Device Configuration
Adalah perangkat dasar dari J2ME profiles untuk perangkat kecil, seperti telepon seluler, pager, dan low-end PD.
Delete Tombol keyboard yang digunakan untuk menghapus karakter di sebelah kanan kursor atau beberapa baris teks yang telah diblok.
Disabled Perintah untuk membuat sebuah peralatan/item yang dimaksud menjadi tidak berfungsi.
Disconnect Istilah untuk menyatakan pemutusan hubungan dengan saluran komunikasis atau keadaan tidak terhubung dengan jaringan manapun.
E-Mail Surat menyurat melalui Internet. Pengguna dapat saling bertukar berita, dan akan dikumpulkan dalam sebuah file untuk pengalamatan yang berupa mailbox, sehingga pengguna dapat membaca berita yang ditujukan kepadanya kapan saja.
xxviii
Emulator Device yang dibuat untuk bekerja sebagai copy tandingan dari mesin yang lain. Sebuah komputer dapat didesain untuk meniru dan melebihi model maupun software tereksekusi dari komputer yang lain. Sebuah emulatordapat berupa hardware, software atau keduanya.
Error Istilah untuk menunjukkan bahwa terdapat suatu penyimpangan dalam software atau kerusakn hardware.
Execute Instruksi untuk menjalankan program yang telah dikompilasi oleh komputer.
Exit Instruksi untuk keluar dari suatu program komputer.Fatal Error Kesalahan sangat berat pada program yang sedang dijalankan sehingga
mengakibatkan program tersebut berhenti.File Dalam terminologi komputer, istilah ini mengandung pengertian sebagai
berkas elektronis yang berisi informasi dan ditempaykan dalam sebuah storage. Terdiri dari sekumpulan record-record yang saling berhubungan.
Find Perintah pada pengolah kata ataupun dalam pemrograman untuk melakukan pencarian kata, teks atau file tertentu.
Firewall Sebuah software program yang dipasang pada sebuah jaringan dan bertugas memproteksi sistem komputer dengan tujuan mengamankan Network Internal.
Footer Teks yang ditempatkan pada margin bawah di setiap halaman.Gateway Sebuah komputer yang melayani konversi protokol antara beberapa tipe
yang berbeda dari suatu network atau program aplikasi.Hacker Seseorang yang mengganggu dan merusak sistem orang lain tanpa alasan
yang jelas, dan ia tak memperoleh apa pun dari tindakannya tersebut. Tindakan ini sangat merugikan orang lain atau perusahaan tertentu yang mengggunakan komputer sebagai basis informasi.
Handphone Telepon genggam, biasanya disebut juga dengan selular. Merupakan pengembangan teknologi telepon, dimana perangkatnya dapat digunakan sebagai perangkat untuk mobile atau berpindah-pindah.
Hard Disk Suatu device dari PC yang berfungsi sebagai media penyimpan data (stronge) dan juga termasuk ke dalam salah satu memory eksternal dari sebuah PC.
Hardware Atau perangkat keras adalah segala peralatan komputer yang dapat dilihat dan dipegang (bersifat fisik), seperti Keyboard, Mouse, Scanner.
Hompage Halaman pertama dari suatu website.Host Istilah yang digunakan untuk menunjuk sebuah komputer yang
memungkinkan penggunanya terhubung ke Internet.Hub Dalam sebuah jaringan ethernet, hub adalah sebuah device yang
memungkinkan anda untuk menghubungkan komputer-komputer dan device periferal (seperti printer) dalam jaringan.
Hyperlink Link atau sambungan ke sumber lain (bisa file atau halaman yang berbeda). Biasanya digunakan dalam membangun sebuah web.
Input Device Peralatan yang kita gunakan untuk memasukkan data atau perintah ke dalam komputer, seperti Keyboard, Mouse, Scanner.
Interface Tampilan dari sebuah program.Internet Istilah umum yang dipakai untuk menunjuk Network tingkat dunia yang
xxix
terdiri dari komputer dan layanan servis atau sekitar 30 sampai 50 juta pemakai komputer dan puluhan sistem informasi termasuk e-mail, Gopher, FTP dan World Wide Web.
Java Bahasa pemrograman untuk menciptakan isi yang aktif dalam halaman Web, juga dapat dijalankan dalam semua komputer. Applet Javadiambil/diakses dari halaman Web dan dijalankan secara total.
Java Application Descriptor (JAD)
File yang digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan.
Java Archive (JAR)
File yang berisi kumpulan kelas dan resource.
Java Virtual Machine (JVM)
Mesin untuk menjalankan bytecode pada file kelas Java pada mikroprosesor, baik yang berada pada komputer atau pada piranti elektronik lainnya.
Java 2 Enterprise Edition (J2EE)
Teknologi pemrograman yang merupakan superset dari J2SE yang memperbolehkan kita untuk mengembangkan aplikasi-aplikasi berskala besar (enterprise), yaitu dengan melakukan pembuatan aplikasi-aplikasi di sisi server dengan menggunakan EJBs (Enterprise JavaBeans), aplikasi web dengan menggunakan Servlet dan JSP (Java Server Pages) dan teknologi lainnya seperti CORBA (Common Object Request Broker Architecture) dan XML (Extensible Markup Language).
Java 2 Micro Edition (J2ME)
Teknologi pemrograman yang merupakan subset dari J2SE yang digunakan untuk menangani pemrograman di dalam perangkat-perangkat kecil, yang tidak memungkinkan untuk mendukung implementasi J2SE secara penuh.
Java 2 Micro Edition Configuration
J2ME configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh karena handheld devices memiliki fitur-fitur yang berbeda-beda, J2MEconfiguration dirancang untuk menyediakan library standar yang mengimplementasikan fitur standar dari handheld devices.
Java 2 Micro Edition Profile
J2ME profile menyediakan implementasi tambahan yang sangat spesifik untuk sebuah handheld devices.
Java 2 Second Edition (J2SE)
Teknologi pemrograman yang digunakan untuk mengembangkan aplikasi-aplikasi desktop dan applet (aplikasi yang dapat dijalankan di dalam browser web).
Java 2 Second Edition SDK
Satu set software yang dipakai untuk manajemen dan membangun berbagai macam aplikasi Java.
Layer Lapisan (konsep) dalam networking, berbagai model komunikasi seperti OSI dan TCP/IP terdiri atas beberapa layer yang menyusun protokol tersebut.
Load Time Waktu yang dibutuhkan untuk mengambil/membuka halaman Web pada komputer.
Log Catatan yang merekam segala aktifitas suatu aplikasi dijalankan. Terkadang Log juga digunakan untuk menganalisa status suatu aplikasi.
Log Out Keluar atau menutup, sama artinya dengan sign out.Low End Istilah untuk PC kelompok rendahan baik dari spesifikasi maupun hara.Mailing List Sebuah forum diskusi di Internet dengan menggunakan e-mail. Satu pesan
dari seseorang anggota akan diterima oleh semua anggota.
xxx
MIDI Musical Instrument Digital Interface yaitu merupakan sebuah standar untuk menghubungkan instrumen elektronik, pemroses efek dan komputer.
MIDlet Aplikasi yang dibuat menggunakan Java 2 Micro Edition dengan profileMobile Information Device Profile (MIDP) . MIDP dikhususkan untuk digunakan pada handset dengan kemampuan CPU, memori, keyboard, dan layar yang terbatas, misalnya pada handphone, pager, PDA, dan sebagainya.
Mobile Device Perangkat wireless yang dapat digunakan untuk komunikasi data.Mobile Information Device Profile (MIDP)
Java runtime yang digunakan dalam J2ME, suatu spesifikasi untuk pembuatan aplikasi/game selular yang menggunakan bahasa pemrograman Java.
Modem(Modulator &Demodulator)
Sebuah perangkat yang menerjemahklan informasi digital ke sinyal analog dan sebaliknya. Nama modem diambil dari MOdulation/DEModulation.
Network Sekelompok komputer yang terhubung satu sama lain dan bisa saling bertukar data.
Network Administrator
Orang yang bertanggung jawab untuk mengurus network serta membantu para pemakai.
NTFS NT File System yaitu file sistem Windows NT yang digunakan untuk mengorganisir dan melacak keberadaan file.
On Line Sistem komputerisasi yang saling terhubung satu sama lain. Sistem ini sebagai kemudahan untuk sebuah transaksi yang bisa langsung diproses saat itu juga secara otomatis.
Open Source Software yang didistribusikan beserta dengan kode sumbernya (souce code). Software ini bebas dimodifikasi oleh user sesuai dengan kebutuhannya.
Opera Salah satu browser internet yang menurut pengembangnya tercepat di dunia. Keistimewaan Opera memungkinkan pengguna membuka beberapa halaman web sekaligus dan juga dilengkapi fitur untuk memblokir pop-up.
Password Istilah ini berarti kata sandi yang memprotek file atau data dari gangguan atau interpensi orang yang tidak berhak membuka atau memodifikasinya.
Ping Packet Internet Groper yaitu suatu program test koneksi yang mengirim suatu paket data kepada host dan menghitung lamanya waktu yang dibutuhkan untuk proses pengiriman tersebut.
Platform Dasar penopang sistem kerja suatu komputer.Pocket PC Sebuah alat yang berjalan pada sistem operasi Windows CE. Alat ini
memiliki banyak kemampuan dari PC modern. Pada saat ini banyak sekali aplikasi untuk Pocket PC, banyak di antaranya yang freeware. Beberapa dari alat ini memiliki fitur-fitur mobile phone (handphone. Pocket PC juga dapat digunakan untuk hal lain-lain seperti GPS receivers, barcode readers, RFID readers dan kamera.
Port Interface yang memungkinkan sebuah PC dapat mengirimkan atau menerima informasi ke atau dari piranti eksternal, seperti printer atau
xxxi
modem. Sebuah PC umumnya terdiri dari port serial, paralel dan beberapa port USB.
Processor Disebut juga mikroprosesor yang merupakan otak pada komputer. Prosesor membaca instruksi dari perangkat lunak dan memerintahkan pada bagian komputer lain apa yang harus dikerjakan.
Provider Perusahaan yang biasanya melayani pembuatan website, mengatur penempatannya di dunia cyber (termasuk juga meintenance dan penyediaan akses Internet) juga membantu dari segi promosi agar websitetersebut dikunjungi oleh pengguna Internet.
Query Suatu extracting data dari suatu database dan menampilkannya untuk “pengolahan” lebih lanjut.
Rapid Application Development (RAD)
Model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek/singkat/cepat. Waktu yang singkat adalah batasan yang penting untuk model ini.
Resolusi Jumlah detail yang ditunjukkan dalam gambar, baik di layar monitor atau hasil cetakan. Untuk monitor atau webcame, adalah jumlah pixel yang bisa di-display (biasanya 1.024x768 untuk monitor 17 inchi).
Roaming Sebutan untuk biaya jelajah bagi pengguna ponsel. Biaya roamingdibebankan bila pengguna telepon tersebut memanggil atau dipanggil diluar daerah tempat asal nomor dikeluarkan (origin area).
Root Istilah ini diadaptasi dari sistem UNIX dimana seorang pengguna bisa memiliki hak pengendalian terbatas pada sebuah sistem. Hackermenggunakan istilah ini untuk menggambarkan kemampuan mereka dalam melancarkan serangan dan menguasai sistem korbannya.
Root Directory Direktori dasar untuk memulai semua direktori yang ada di dalam harddisk atau disket.
Router Merupakan alat yang meneruskan paket data dari satu komputer (dalam sebuah jaringan) ke komputer lain di jaringan yang berbeda.
Save Perintah aman untuk menyimpan data tertentu pada berbagai program aplikasi komputer.
Scene Bagian dari rangkaian animasi yang dapat berupa teks atau gambar yang terdiri dari beberapa frame.
Script Program yang ditulis dalam bahasa pemrograman khusus dan biasanya terdiri dari serangkaian perintah. Script biasanya bekerja bila suatu program aplikasi dijalankan.
Search Engine Sebuah (fasilitas) web yang bisa mencari links dari situs lain (lihat Opera, Mozilla Firefox, Google).
Server Komputer yang terhubung ke jaringan yang membuat file, mencetak atau menyediakan jasa komunikasi untuk komputer lainnya pada jaringan.
Serial Port Sebuah port pada komputer yang mentransmisikan satu bit informasi pada satu waktu, lawan dari serial port adalah parallel port.
Setup Sebuah program yang menyiapkan suatu aplikasi software agar bisa dijalankan pada sebuah komputer. Setup menciptakan sebuah folderdengan nama default pada harddisk dan meng-copy file-file dari CD-ROMatau disket.
xxxii
Shutdown Perintah aman untuk menghentikan atau mematikan power pada komputer.
Smart Phone Ponsel yang memiliki fitur sekelas PDA. Suatu kata yang digunakan untuk menjelaskan (berarti) produk selular yang memiliki OS.
Software Perangkat Lunak (software) adalah perintah-perintah atau data komputer. Semua yang dapat disimpan secara elektronik adalah software. Piranti untuk memasukkan data, menyimpan dan menampilkan data disebut hardware. Software sering dibagi menjadi dua kaktegori: - Softwaresistem (system software): yang meliputi sistem operasi dan semua utilitas yang menjalankan komputer - Software aplikasi (application software): yang meliputi program yang digunakan oleh pengguna untuk melakukan pekerjaan tertentu, seperti pengolah kata (word processors), sehingga mudah untuk membuah dan menguji program-program sederhana.
Source Code Kalimat-kalimat dan instruksi pemrograman yang ditulis oleh programmer.
Sign in Mendaftarkan diri (menjadi member), sama artinya dengan log in.Sign out Keluar atau menutup, sama artinya dengan log out.Situs Sebuah komputer yang terhubung oleh Internet, dan menyajikan informasi
atau layanan, seperti newsgroups, e-mail atau halaman web.SMS Short Messages Sevice yaitu sebuah layanan ponsel yang memungkinkan
pengiriman pesan atau gambar melalui suatu operator telepon seluler. Komunikasi ini dianggap lebih murah karena biayanya kevil bahkan bebas pulsa (lihat MMS).
Software Atau perangkat lunak adalah kumpulan data serta intruksi yang memberi sifat ”hidup” pada komputer. Perangkat yang tidak dapat dipegang secara fisik, hanya dirasakan manfaatnya, seperti Operating System, Utility, Programing Language, Package Program.
Submit Mengirim form yang telah diisi ke dalam server Web.Upload Proses mentransfer informasi dari sebuah komputer ke komputer lain/
sever melalui Internet.User Interface Tampilan yang dilihat oleh user pada sistem operasi, tampilan ini dibuat
sesederhana mungkin gunanya untuk memudahkan user dalam bekerja.Virtual Circuit Prose pemesanan bandwith atau memori serta perjanjian terlebih dahulu
antara pihak pengirim dan penerima paket TCP.Web Hosting Penyediaan ruang untuk menyimpan halaman web oleh pemilik
komputer/server, yang dapat diakses 24 jam via Internet.Web Server Perangkat keras dan perangkat lunak yang dipakai untuk menyimpan dan
mengirim dokumen HTML untuk digunakandalam World Wide Web.Web Site Suatu koleksi dokumen HTML pribadi atau perusahaan dalam server web.
Sebuah server web dapat berisi lebih dari satu situs.Wireless Cara komunikasi dengan memindahkan informasi yang memiliki jarak
tanpa menggunakan kabel.Yahoo! Sebuah situs yang didirikan David Filo dan mempunyai jaringan yang
sangat luas di seluruh dunia serta mudah diakses. Alamat situsnya http://www.yahoo.com.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Saat ini perkembangan teknologi komunikasi semakin cepat, seperti yang
kita ketahui, internet sudah sangat mudah diakses setiap orang dari berbagai
kalangan tak terbatas oleh umur. Dengan banyaknya orang menggunakan internet,
berbagai jenis komunitas muncul untuk saling bertukar informasi satu sama lain
dan muncul sebuah kebutuhan untuk melakukan komunikasi secara mobile.
Namun, untuk membuat suatu komunitas diperlukan media yang dapat
berkomunikasi dengan sesama anggota komunitas. Salah satu metode komunikasi
internet yang digunakan dalam komunitas adalah menggunakan instant
messaging, seperti contohnya adalah Yahoo Messenger Mobile. Untuk mengatasi
masalah tersebut maka digunakan sebuah aplikasi yang dapat mengakses hasil
tangkapan kamera melalui handphone, handphone yang dimaksud mendukung
teknologi Java, mempunyai fasilitas GPRS&Wifi.
Instant messaging sudah banyak dipakai oleh banyak orang, tidak luput
dari semua kalangan, baik tua maupun muda, karena instant messaging
merupakan sarana komunikasi yang cepat, murah dan mudah digunakan. Tetapi
aplikasi instant messaging yang sudah ada seperti Yahoo Messenger Mobile
menggunakan server yang terletak di luar negeri dimana harga bandwidth
internasional lebih mahal dibandingkan dengan harga bandwidth lokal dan juga
keamanan dalam melakukan chatting masih belum terjamin. Selain itu, Yahoo
2
Messenger Mobile masih belum mendukung fitur conference dimana user dapat
melakukan chatting dengan lebih dari satu orang, kecuali pada BlackBerry. Oleh
sebab itu, dalam penelitian ini dirancang sebuah aplikasi chatting yang berjalan
pada handphone dengan menggunakan server lokal, mendukung conference dan
enkripsi untuk memproteksi data ketika sedang melakukan komunikasi melalui
instant messaging.
1.2 Rumusan Masalah
Berdasarkan latar belakang, maka peneliti merumuskan permasalahan
sebagai berikut Rancang Bangun Chat Conference pada Mobile Phone dengan
menggunakan Enkripsi.
1. Membangun Chat Conference pada jaringan server lokal
2. menerapkan enkripsi
1.3 Batasan Masalah
Aplikasi yang ada dirancang dengan membatasi ruang lingkup penelitian
pada bagian-bagian sebagai berikut:
1. Perancangan aplikasi difokuskan pada aplikasi chat conference pada
mobile phone.
2. Aplikasi user berjalan pada handphone dimana handphone user harus
mendukung minimal jaringan GPRS, Java MIDP 2.0 dan CDLC 1.0,
3. Aplikasi admin berjalan dengan berbasis web.
4. Aplikasi menggunakan enkripsi.
3
5. Pengujian dan pengimplementasian aplikasi ini peneliti menggunakan
ponsel Nokia C3.
1.4 Tujuan Penelitian
Ada beberapa maksuk dan tujuan yang diharapkan bisa tercapai dari
implementasi yang dilakukan adalah membangun Chat Conference sebuah
aplikasi yang bersifat open source dalam pengertian aplikasi ini terbuka bagi siapa
saja yang ingin mengembangkan lebih jauh fungsi atau fitur aplikasi ini
dikarenakan source code aplikasi ini akan penulis berikan atau lampirkan dan
penulis izinkan untuk dikembangkan.
1.5 Manfaat Penelitian
Sesuai dengan permasalahan dan tujuan penelitian yang telah disebutkan
di atas maka manfaat penelitian dapat dirumuskan sebagai berikut:
1. Bagi Peneliti:
a. Untuk memenuhi salah satu syarat dalam menempuh gelar S1
(Strata 1) pada Fakultas Sains dan Teknilogi Jurusan Teknik
Informatika Universitas Islam Negeri Jakarta.
b. Menambah wawasan penulis tentang pemrograman Java
khususnya J2ME.
2. Bagi Pengguna:
a. Memberikan aplikasi yang bersifat free atau gratis dan
membantu mahasiswa untuk mempermudah, mempelajari dan
mengetahui istilah teknologi informasi.
4
b. Mempermudah komunikasi antar user lewat handphone.
c. Mempermudah penggunaan kamus teknologi informasi secara
efisien dengan media ponsel.
3. Bagi Universitas:
a. Mengetahui kemampuan mahasiswa dalam menguasai materi
baik teori maupun praktek yang telah diperoleh selama masa
kuliah.
b. Mengetahui kemampuan mahasiswa dalam menerapkan
ilmunya dan sebagai bahan evaluasi.
1.6 Metode Penelitian
Dalam penelitian laporan penelitian ini, digunakan metode sebagai
berikut:
1. Metode Analisis
Metode analisis dilakukan dengan tahapan sebagai berikut:
a. Analisis kebutuhan user terhadap aplikasi chatting
b. Analisis pengguna handphone yang mendukung Java
Metode analisis dilakukan dengan observasi terhadap program
aplikasi yang sudah ada seperti Yahoo Messenger Mobile, kuesioner
yang ditujukan kepada pengguna dan dengan membaca buku-buku
sebagai dasar teori dalam penelitian ini dan situs internet untuk
mencari informasi yang bersangkutan dengan penelitian ini.
5
2. Metode implementasi, testing dan evaluasi
Metode implementasi dilakukan dengan tahapan sebagai berikut:
a. Implementasikan pada jaringan di lingkungan kampus.
b. Melakukan testing terhadap aplikasi yang telah selesai
dibuat.
c. Melakukan evaluasi dari hasil implementasi
3. Pengembangan Sistem
Pengembangan sistem dalam penelitian ini penulis lakukan
menggunakan empat tahap siklus pengembangan model Rapid
Application Development (RAD) yang dibuat oleh James Martin
melingkupi fase-fase sebagai berikut (Kendall & Kendall, 2006) :
a. Fase Perencanaan Syarat-syarat
Yaitu menentukan tujuan dan syarat-syarat informasi.
b. Fase Perancangan
Yaitu perancangan proses-proses yang akan terjadi dalam
sistem dan perancangan antarmuka.
c. Fase Konstruksi
Pada tahapan ini dilakukan tahap pengkodean terhadap
rancangan-rancangan yang telah didefinisikan.
d. Fase Pelaksanaan
Pada tahap ini dilakukan pengujian terhadap sistem dan
pengenalan terhadap sistem.
6
1.7 Sistematika Penulisan
Secara garis besar sistematika penelitian ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang, rumusan masalah,
batasan masalah, tujuan dan manfaat dan metode penelitian
yang digunakan serta sistematika penelitian untuk menjelaskan
pokok-pokok pembahasan.
BAB II LANDASAN TEORI
Bab ini menjelaskan tentang landasan teori yang digunakan
dalam merancang aplikasi Chat Conference pada Mobile Phone
dengan menggunakan enkripsi.
BAB III METODE PENELITIAN
Pada bab ini berisi uraian lebih rinci tentang metodelogi
penelitian yang meliputi metode pengumpulan data dan metode
pengembangan sistem.
BAB IV ANALISIS DAN PERANCANGAN APLIKASI
Bab ini berisi tentang perancangan aplikasi yang di buat
tentang struktur navigasi, rancangan tampilan aplikasi,
langkah-langkah pembuatan, spesifikasi perangkat lunak dan
perangkat keras yang mendukung implementasi.
7
BAB V SIMPULAN DAN SARAN
Bab ini menjelaskan tentang simpulan yang diambil dari hasil
perancangan aplikasi serta memuat tentang saran yang
diberikan untuk pengembangan aplikasi ini selanjutnya.
8
BAB II
LANDASAN TEORI
2.1 Internet
Internet berasal dari kata Interconnection Networking yang mempunyai
arti hubungan sebuah sistem komunikasi global yang menghubungkan komputer–
komputer dan jaringan–jaringan komputer yang ada di seluruh dunia. (Sutiadi,
2001)
2.2 Referensi Model Jaringan
2.2.1 Model OSI Layer
Model OSI (Open System Interconnection) dikembangkan oleh
International Standard Organization sebagai model untuk merancang komunikasi
komputer dan sebagai kerangka dasar untuk mengembangkan protokol lainnya.
OSI terdiri dari 7 layer, antara lain:
A. Application
Menyediakan akses ke lingkungan OSI untuk pemakai dan hanya
menyediakan pelayanan distribusi informasi.
B. Presentation
Menyediakan kebutuhan pada proses aplikasi serta member layanan
keamanan data serta proses penyimpanan file.
9
C. Session
Menyediakan struktur kontrol bagi hubungan antara aplikasi:
membangun, mengatur dan mengakhiri koneksi antara hubungan aplikasi.
Pada layer inilah protokol SIP yang digunakan berjalan.
D. Transport
Menyediakan kejernihan transfer data di tempat tujuan; menyediakan
end to end recovery flow control.
E. Network
Menyediakan fasilitas pada transport, agar data dapat sampai ke
tujuan. Untuk itu proses penyambungan dan pengendalian jaringan
dilakukan.
F. Data link
Menyediakan pengiriman informasi melewati jaringan fisik;
mengirim blok data dengan penyeragaman, error control dan flow control.
G. Physical
Menyiapkan sistem penyambungan fisik ke jaringan dan
menyesuaikannya sehingga aliran data dapat melewati saluran dengan
baik.
10
2.2.2 Model TCP/IP Layer
Gambar 2.1 TCP/IP
(Sumber : http//www.learn-networking.com)
Model TCP/IP layer merupakan model protokol yang paling luas
digunakan dalam arsitektur jaringan. TCP/IP merupakan hasil penelitian yang
dibuat dan dikembangkan oleh DARPA (Deference Advanced Reasearch Project
Agency) yang digunakan pada jaringan paket TCP/IP dibangun dari standar dasar
yang mempunyai 4 layer sebagai berikut :
A. Application layer
Berisi segala aplikasi user baik yang umum maupun semua aplikasi,
selain itu juga berisi fungsi logika yang akan dipakai pada seluruh aplikasi
yang digunakan.
11
B. Transport layer
Mendefinisikan protokol untuk mengatur level service transmisi
untuk aplikasi, menciptakan komunikasi end-to-end, menangani packet
sequencing, dan menjaga integritas data.
C. Internet layer
Memberikan alamat IP dan menangani routing paket yang melalui
beberapa jaringan
D. Network Access layer
Mengatur pertukaran data antara “end system” dengan jaringan yang
terhubung dengannya.
2.3 Jaringan Wireless
Istilah wireless biasanya digunakan untuk segala macam tipe operasi
elektronik tanpa memakai atau menggunakan koneksi “hard wire”. Komunikasi
wireless adalah cara komunikasi dengan memindahkan informasi yang memiliki
jarak tanpa menggunakan kabel. Jarak tersebut bisa saja pendek (beberapa meter
seperti remote kontrol televisi) atau sangat jauh (ribuan atau lebih kilometer untuk
radio komunikasi). Komunikasi wireless biasanya dianggap sebagai cabang dari
komunikasi (Wicaksono, 2002).
Jenis-jenis jaringan wireless antara lain:
a. GPRS
GPRS (General Packet Radio Service) adalah salah satu
standar komunikasi nirkabel. GPRS juga merupakan suatu teknologi
12
yang memungkinkan pengiriman dan penerimaan data lebih cepat
jika dibandingkan dengan penggunaan teknologi Circuit Switch Data
(CSD) atau yang sering disebut juga dengan 2,5G.
Sistem GPRS dapat digunakan untuk transfer data (dalam
bentuk paket data) yang berkaitan dengan e-mail, data gambar
(MMS) dan penelusuran (browsing) internet. Layanan GPRS
dipasang pada jenis ponsel tipe GSM dan IS-136, walaupun jaringan
GPRS saat ini terpisah dari GSM.
b. 3G
3G atau third generation dibangun dari sistem yang baru dari
sistem 2G. 3G memberikan transfer data sampai 2Mbps.
Perkembangan teknologi 3G yang ditandai dengan kecepatan tinggi
dilakukan oleh banyak perusahaan di dunia yang dapat membuat
operator meninggalkan EDGE dan langsung menggunakan universal
mobile telecommunications standard (UMTS) atau yang lebih
dikenal dengan teknologi 3G ini. Keuntungan utama sistem ini
adalah menawarkan pelayanan dengan kapabilitas high-end, yang
mana termasuk peningkatan kapasitas, kualitas dan data rate dari apa
yang ada.
c. HSDPA
Pengertian HSDPA adalah singkatan dari High Speed
Downlink Packet Access. Pebedaan antara UMTS dengan HSDPA
adalah pada kecepatan yang bisa dicapai. 3G mendukung kecepatan
13
UMTS (Universal Mobile Telecommunications System) yang hanya
bisa maksimum 384kbps. Sedangkan HSDPA secara teori bisa
mencapai 3.6Mbps (hampir 10 kali lipat kecepatan maksimal
UMTS), HSDPA sering disebut 3,5G (teknologi tiga setengah G)
untuk membedakan dari standar 3G sebelumnya.
d. 802.11a
Beroperasi pada frekuensi 5 GHz dan menawarkan kecepatan
data sampai dengan 54 Mbps, jangkauan dalam ruangan 50 meter.
Perangkat-perangkat yang bekerja pada standar ini hanya cocok
dengan standar 802.11a.
e. 802.11b
Beroperasi pada frekuensi 2.4 GHz dan menawarkan kecepatan
data sampai 11 Mbps, jangkauan dalam ruangan adalah 100 meter.
Perangkat-perangkat yang bekerja pada standar ini hanya cocok
dengan standar 802.11b.
f. 802.11g
Beroperasi pada frekuensi 2.4 Ghz dan menawarkan kecepatan
data sampai dengan 54 Mbps, jangkauan dalam ruangan adalah 100
meter. Perangkat-perangkat yang mengimplementasikan standar ini
beroperasi pada frekuensi yang sama dengan 802.11b, tetapi
menawarkan kecepatan data yang sama dengan standar 802.11a.
Perangkat–perangkat yang bekerja di standar ini cocok dengan
standar 802.11b dan 802.11g.
14
g. 802.11n
Standar ini masi berbentuk draft. Standar ini nantinya akan
beroperasi pada frekuensi 2.4 GHz dan menawarkan kecepatan data
sampai dengan 200 Mbps, jangkauan dalam ruangan adalah 50
meter. Perangkat–perangkat yang bekerja di standar ini cocok
dengan standar 802.11b, 802.11g, dan 802.11n.
2.4 Protokol
2.4.1 HTTP
HTTP singkatan dari Hypertext Transfer Protocol, yang mana adalah
suatu protokol yang digunakan oleh World Wide Web. HTTP mendefinisikan
bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP
juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga
web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP
ini. (Sutiadi, 2001)
2.4.2 HTTPS
Merupakan fasilitas pengaksesan informasi melalui jalur yang diamankan,
atau versi aman dari HTTP (HTTP Secure) untuk mengases world wide web yang
diakses melalui web browser. HTTPS ini pertamakali ditemukan dan digunakan
oleh Netscape Communication Corporation untuk menyediakan layanan yang
aman dengan proses komunikasi data yang diacak (enkrip) pada transaksi e-
commerce. (Sutiadi, 2001)
15
2.4.3 Soket
Soket adalah low level programming interface untuk komunikasi jaringan.
Soket mengirimkan stream data antara aplikasi yang dapat berada pada host yang
berbeda maupun sama. Java mendukung dua jenis class soket yang berbeda
protokol, yaitu:
1. Connection oriented protocol (socket class)
Connection oriented protocol memiliki analogi yang sama dengan
percakapan telepon, yaitu setelah melakukan koneksi, dua aplikasi saling
mengirimkan data, dan koneksi tetap dipertahankan meskipun tidak
terdapat pengiriman data. Protokol ini memastikan tidak terdapat data
yang hilang dan selalu dipastikan data sampai pada tujuan. Protokol ini
dikenal juga sebagai Transmission Control Protocol (TCP).
2. Connectionless protocol (Datagram socket class)
Pada connectionless protocol, aplikasi mengirimkan data dalam
bentuk datagram. Kekurangan dari protokol ini tidak memastikan data
sampai ke tujuan. Protokol ini dikenal juga sebagai User Datagram
Protocol (UDP).
Dalam aplikasi jaringan, selalu berkaitan dengan client dan server.
Umumnya perbedaan antara client dan server tidak jelas karena pada kedua sisi
sama-sama menggunakan soket. Untuk mempermudahnya maka didefinisikan
bahwa client adalah sisi yang memulai komunikasi dengan aplikasi server dengan
melakukan request, sedangkan server adalah sisi yang selalu siap melakukan
listen untuk menerima dan menjawab request dari client. Server dapat menangani
16
banyak komunikasi sekaligus, sedangkan client hanya berkomunikasi dengan
sebuah server.
Client membutuhkan dua buah informasi untuk mencari dan melakukan
koneksi dengan server pada internet, antara lain: hostname atau IP dan port.
Sedangkan server hanya membutuhkan sebuah nomor port yang kemudian akan
digunakan oleh aplikasi server untuk melakukan listen pada port tersebut.
2.5 Object Oriented Software Development
Menurut Britton (2001), object adalah unit perangkat lunak yang
menyatukan data dan metode-metode yang memanipulasi data tersebut. Object
adalah suatu entitas yang memiliki indentity, state dan behavior (Mathiassen,
2000). Object adalah abstraksi dari sebuah entitas nyata/tidak nyata (tangible or
intangible) yang informasinya harus diingat/ disimpan, nilai-nilai atribut dan
layanan-layanan eksklusif dienkapsulasi.
Object oriented merupakan suatu cara untuk melakukan permodelan
sistem dengan berorientasikan pada objek-objek yang terlibat dalam sistem
tersebut. Fitur yang paling penting dalam object oriented adalah bahwa seluruh
proses pengembangan didasarkan pada sebuah konsep tunggal utama. Objek-
objek dalam dunia nyata menjadi komponen dalam analisis dan perancangan
model, dan akhirnya, bagian dari kode akhir. (Britton, 2001)
Dalam kenyataannya pendekatan object-oriented melihat sistem informasi
sebagai sebuah kumpulan dari obyek yang saling berinteraksi, object-oriented
analysis (OOA) mendefinisikan semua tipe obyek yang mana bekerja didalam
17
sistem dan menunjukan bagaimana obyek berinteraksi untuk menyelesaikan tugas.
Object-oriented design (OOD) mendefinisikan semua tipe tambahan dari obyek
yang dibutuhkan untuk berkomunikasi dengan orang dan perangkat didalam
sistem dan menyempurnakan definisi dari setiap tipe obyek sehingga dapat
diimplementasikan dengan bahasa atau lingkungan yang spesifik.
2.6 Unified Modelling Language (UML)
Unified Modeling Language adalah suatu bahasa yang digunakan untuk
memvisualisasi, menspesifikasi, mengkonstruksi dan mendokumentasikan artifak
dari perangkat lunak (Booch et al, 1999). Dengan menggunakan UML kita dapat
membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut
dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis
dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class
dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penelitian
piranti lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau
VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling
aplikasi prosedural dalam VB atau C.
Dalam pemodelan sistem UML memiliki bentuk-bentuk diagram antara lain:
1. Class Diagram
Class diagram adalah sebuah diagram yang menggambarkan
struktur dan deskripsi class, package dan objek beserta hubungan satu
sama lain seperti pewarisan, asosiasi, dan lain-lain. (Booch et al, 1999,
hal). Class adalah sebuah mendeskripsikan sebuah objek yang
18
menggambarkan keadaan (atribut/ properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/
fungsi). Class memiliki 3 area pokok, yaitu nama class, atribut dan
operasi.
Hubungan antar class antara lain:
a. Association, yaitu hubungan statis antar class. Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau
class yang harus mengetahui eksistensi class lain. Panah
navigabilitas menunjukkan arah query antar class.
b. Aggregation, yaitu hubungan yang menyatakan bagian (“terdiri
atas.”). Dapat digambarkan dengan wajik tidak terisi
c. Composition, yaitu hubungan yang menyatakan bagian
(“berhubungan dengan…”). Dapat digambarkan dengan wajik terisi.
d. Multiplicity, yaitu jumlah objek yang berpartisipasi dalam hubungan
antar class.
e. Generalization, yaitu suatu kelas dapat lebih general atau lebih
spesifik dari kelas lainnya.
2. Use Case
Use Case menjalankan urutan kegiatan yang dilakukan dalam
sistem untuk mencapai suatu tujuan tertentu. Use case hanya digunakan
untuk menjelaskan apa yang digunakan oleh aktor dan sistem, tidak
menjelaskan bagaimana aktor dan sistem melakukan kegiatan tersebut
(Rafeequl, 2008).
19
Enkripsi
Gambar 2.2 Notasi UML untuk Use Case
3. Depedency
Depedency merupakan relasi yang menunjukan bahwa
perubahan pada salah satu elemen memberi pengaruh pada elemen
lainnya. Elemen yang ada di bagian tanda panah adalah elemen
yang tergantung pada elemen yang berada tanpa tanda panah
(Rafeequl, 2008)
Terdapat dua stereotype dari depedency:
a. Include, menunjukan bahwa suatu bagian dari elemen memicu
eksekusi bagian dari elemen lain. Misalnya pada Gambar 2.3,
operasi yang ada di kelas A memicu dieksekusinya operasi yang
ada di kelas B.
Base Use Case Inclusion Use
Case
A <<include>> B
Gambar 2.3 Depedency Include
b. Extend, menunjukan bahwa suatu bagian dari elemen di garis tanpa
tanda panah bisa disisipkan ke dalam elemen yang ada di
garis dengan tanda panah. Misalnya pada Gambar 2.4, suatu
20
fungsi dari use case A bisa disisipkan ke dalam use case B
atau dengan kata lain A optional untuk B.
A <<extend>> B
Gambar 2.4 Depedency Extend
4. Assosiation
Assosiation menggambarkan navigasi antar kelas, berapa
banyak objek lain yang dapat berhubungan dengan satu objek
(multiplicity antar kelas), dan apakah suatu kelas menjadi bagian dari
kelas lainnya (aggregation) (Rafeequl, 2008).
Gambar 2.5 Dua kelas yang saling Berasosiasi
5. Stereotypes
Terdapat tiga icon stereotype (Rosenberg, 2001) yang
umumnya dipakai untuk menggambarkan objek atau kelas selama
analisis robustness dan sequence diagram.
1) Boundary Object, objek yang digunakan actor untuk berkomunikasi
dengan sistem, objek boundary dapat dilihat pada Gambar 2.6.
Assosiation
Receive SMS
21
Gambar 2.6 Boundary Object
2) Entity Object, sering disamakan dengan tabel database dan file
yang memegang informasi yang dibutuhkan untuk “dipakai lebih
lama” untuk diproses lebih lanjut. Entity object ditunjukkan
pada Gambar 2.7.
Gambar 2.7 Entity Object
3) Control Object, disebut juga controller, diterapkan untuk banyak
logika aplikasi, control object menangani hubungan jaringan di
antara aktor dan tempat penyimpanan data.
Control object ditunjukan pada Gambar 2.8.
Gambar 2.8 Control Object
22
4) Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam
dan di sekitar sistem (termasuk pengguna, display dan sebagainya)
berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri antara dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait) (Booch et al, 1999).
Hubungan sequence diagram antara lain:
a. Object Lifeline: sebuah garis yang menggambarkan adanya objek
dalam jangka waktu tertentu.
b. Lifeline: menentukan periode waktu ketika pemrosesan terjadi dalam
objek tersebut.
c. Message, return, callback message: penyampaian pesan dari satu
objek ke objek lain atau ke diri sendiri.
2.7 JAVA
Java adalah bahasa pemograman yang dapat dijalankan di berbagai
komputer termasuk telepon gengam. Java dikembangkan oleh Sun MicroSystems
dan diterbitkan tahun 1995. (Wahono, 2006).
Bahasa Pemrograman ini memiliki beberapa keungulan, antara lain:
a. Dynamic delivery of content
Aplikasi, servis, dan content dapat di download secara dinamis melalui
berbagai jenis network yang berbeda-beda.
23
b. Security
Adanya proses verifikasi class file dan fasilitas pengaman lainnya
menjamin keamanan komputer atau network yang digunkan untuk
menjalankan aplikasi software berbasis Java.
c. Cross platform compatibility
Java merupakan bahasa pemograman yang sudah di standarisai,
sehingga aplikasi dan content dapat dengan mudah dijalankan pada
platform yang berbeda-beda.
d. Enchanced user experience and interactive content
Teknologi Java dapat digunakan untuk menghasilkan aplikasi yang
bisa berinteraksi dengan user, menghasilkan Graphical User Interface
(GUI) dan animasi yang bersifat user friendly.
e. Offline access
Aplikasi yang dibuat dengan Java, hanya perlu di download satu kali
saja, setelah itu aplikasi dapat seterusnya dijalankan tanpa memerlukan
konektivitas lagi. Ini dapat menghemat biaya transfer data secara
signifikan.
f. Object Oriented Programming Languages
Java menggunakan bahasa pemrograman berbasis objek yang telah
terbukti keunggulannya, sehingga setiap aplikasi yang dibuat dengan
Java menjadi lebih efisien.
24
g. Developer Community
Pengguna bahasa pemrograman Java saat ini diperkirakan sudah
mencapai lebih dari 2.5 juta orang dan terus bertambah. Saat ini Java
juga sudah diajarkan di sekolah-sekolah dan di universitas-universitas
di seluruh dunia.
2.7.1 Java 2 Micro Edition (J2ME)
Sun meicrosystems mendefinisikan J2ME sebagai JAVA Runtime
Enviroment yang sangat dioptimasi, yang ditujukan untuk perangkat–perangkat
yang sangat terbatas, seperti pager, telepon genggam, PDA, dan car navigation
system.
J2ME yang diluncurkan pada bulan Juni tahun 1999 membuat bahasa
JAVA menjadi lebih fleksibel untuk berbagai platform yang ada dalam perangkat
kecil. Dengan kemampuan dari J2ME ini, Sun dapat mengadaptasikan teknologi
JAVA ke produk-produk konsumen yang berbasiskan small computing device.
(Salahudin Rosa: 2006).
2.7.1.1 Arsitektur J2ME
Untuk mengatur JAVA Runtime Enviroment (JRE), J2ME menggunakan
configuration dan profile. Configuration mendefinisikan fungsi-fungsi dari JAVA
yang minimum yang digunakan berbagai macam tipe dari perangkat-perangkat.
Profile menentukan class-class dari Java yang dipilih secara khusus yang
menunjang fungsi dari perangkat-perangkat tertentu (Salahudin, 2006).
25
Configuration juga menarik perbandingan antara J2SE API, dan JAVA
Virtual Machine-nya. J2SE Virtual Machine secara umum disebut sebagai JVM,
sedangkan J2ME Virtual Machine, KVM dan CVM adalah bagian dari JVM.
KVM dan CVM dapat dianggap sebagai sejenis JAVA Virtual Machine atau
hanya sebagai JVM dari J2SE yang lingkunya diperkecil dan ditujukan untuk
J2ME (Salahudin, 2006).
Ada dua kategori konfigurasi J2ME, yaitu:
a. CLDC (Conneted Limited Device Configuration)
Kategori ini umumnya digunakan untuk aplikasi Java pada telepon
seluler semacam Nokia, Ericsson, Samsung, Motorola dan PDA. Pada
umumnya perangkat-perangkat tersebut hanya memiliki memori
berukuran 160 sampai 512 kilobyte.
b. CDC (Connected Device Configuration)
Kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-
perangkat handheld devices dengan ukuran memori minimal 2
Megabyte. Sebagai contoh adalah internet TV, Nokia Communicator
dan Car Television.
Sedangkan Profil J2ME dibagi menjadi lima kategori, yaitu:
a. Mobile Information Device Profile
b. Personal Digital Assistance Profile
c. Foundation Profile
d. Personal Profile
e. RMI Profile
26
Tabel 2.1 Perbandingan CLDC dengan CDC
CLDC (Connected Limited Device
Configuration)
CDC (Connected Device Configuration)
Mengimplementasikan subset dari
J2SE
Mengimplementasikan seluruh fitur dari
J2SE
JVM yang digunakan adalah KVM JVM yang digunakan adalah CVM
Digunakan pada perangkat
handheld(ponsel, PDA, twoway pager)
dengan memory terbatas (160-512 kb).
Digunkaan pada perangkat
handheld(internet TV, Nokia
communicator, car TV) denagn memory
minimal 2 MB.
Prosesor : 16/32 bit Prosesor : 32 bit
(Sumber: Muchow, 2002)
2.7.2 Java 2 Second Edition (J2SE)
J2SE merupakan edisi standar dari Java 2. J2SE lebih difokuskan pada
pemrograman Desktop dan Applet (aplikasi yang dapat dijalankan di browser
web). Platform ini berisi class-class inti pada Java dan Graphical User Interface
(GUI). J2SE mengandung virtual machine, yang mana harus digunakan untuk
menjalankan program Java, bersama dengan kumpulan libraries atau packages
yang dibutuhkan untuk menggunakan sistem file, jaringan, rancangan antar muka
dan sebagainya. (Salahudin, 2006)
27
2.8 Pemrograman Web
2.8.1 Web
Web merupakan dokumen yang berada di internet, yang dapat diakses
dengan mengetik URL (Uniform Resource Locator). Halaman web terbagi dua,
yaitu statis dan dinamis. Perbedaannya adalah pada halaman statis, halaman web
tersebut tidak akan berubah, semua user akan melihat halaman yang sama
bagaimanapun cara mengaksesnya. Sedangkan halaman dinamis adalah halaman
web yang dapat berubah sesuai permintaan user, perubahan tersebut dikarenakan
pada halaman web tersebut telah diprogram untuk menghasilkan halaman sesuai
input user. Ekstensi file-file tersebut umumnya adalah html, htm, asp, php,jsp,
aspx dan sebagainya.
2.8.2 PHP
Menurut Valade J. (2004) PHP merupakan bahasa scripting yang bersifat
open source dan dirancang untuk pengembangan situs web. Awalnya, PHP
dimulai dari peralatan personal home page yang dikembangkan oleh Rasmus
Lerdorf. PHP ternyata sangat berguna dan terkenal, dan berkembang dengan cepat
menjadi bahasa penuh fitur yang banyak digunakan orang-orang sampai sekarang.
Sesuai dengan namanya Hypertext Preprocessor, PHP mewakili kemampuannya
yang luar biasa, yaitu memproses halaman web sebelum ditampilkan.
28
Kepopuleran PHP terus berkembang karena kelebihan-kelebihannya, antara
lain:
a. Cepat: pada situs web, karena menggunakan kode HTML, waktu proses
dan menampilkan sebuah halaman web menjadi pendek.
b. Gratis: PHP mampu membuktikan sekalipun gratis tetapi tetap dapat
diandalkan.
c. Mudah digunakan: sintaks sederhana dan mudah dimengerti dan
digunakan, bahkan untuk yang bukan merupakan seorang programmer.
Untuk digunakan di situs web, kode PHP dirancang agar dapat
dimasukkan dengan mudah dalam kode HTML.
d. Berjalan pada banyak operasi sistem: diantaranya windows, linux, Mac
OS dan jenis-jenis Unix lainnya.
e. Dukungan teknis tersedia banyak: diskusi-diskusi mengenai PHP bisa
didapatkan di situs web PHP (www.php.net).
f. Aman: selama script dirancang dengan benar, user tidak akan bisa
melihat kode PHP.
g. Bisa dikostumisasi: aturan open source mengizinkan para programmer
untuk mengubah perangkat lunak PHP, menambah atau memodifikasi
fitur jika diperlukan untuk mencocokkan lingkungan yang ada. PHP
menyediakan kontrol pada lingkungan yang ada dan mengurangi
peluang kegagalan.
29
2.8.3 Web Server
Web server adalah software yang memberikan layanan web. Web server
menggunakan protocol yang disebut dengan HTTP (HyperText Transfer
Protocol). Ada banyak pilihan di dunia open source, tergantung pada keperluan.
Salah satu web server yang sangat terkenal dan menjadi standar defacto setiap
distribusi Linux, yaitu Apache. Apache adalah nama web server yang dibuat
berbasiskan kode sumber dan ide-ide yang ada pada web server leluhurnya, yaitu
web server NCSA. Sesuai namanya, web server NCSA dibuat oleh National
Center for Supercomputing Applications. Web server Apache dikembangkan oleh
sekelompok programmer yang bekerja tanpa dibayar oleh siapapun. Mereka
mengerjakan proyek ini dengan berbagai macam alasan, akan tetapi alasan yang
paling mendasar adalah mereka senang jika perangkat lunak mereka digunakan
oleh banyak orang. Apache adalah web server yang kompak, modular, mengikuti
standar protokol HTTP dan tentu saja sangat digemari. (Nugroho, 2005)
2.9 Basis Data
Menurut Connolly dan Begg (2005), basis data adalah sekumpulan data
yang mempunyai keterkaitan secara logika serta deskripsi dari data-data tersebut,
yang dirancang untuk memenuhi kebutuhan-kebutuhan informasi dari sebuah
organisasi.
30
2.9.1 MySQL
MySQL merupakan software sistem manajemen basis data SQL (bahasa
Inggris: database management system) atau DBMS yang multithread dan
multiuser. MySQL AB membuat MySQL tersedia sebagai software gratis
dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual
dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok
dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh sebuah
perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir
atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang
mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael
"Monty" Widenius. (Arianto, 2003)
2.10 Secure Socket Layer (SSL)
SSL adalah protokol keamanan yang didesain untuk dijalankan pada
TCP/IP dan dengan mudah dapat digantikan dengan API soket UNIX-style
standar yang digunakan oleh hampir semua perangkat lunak jaringan. Keamanan
dijamin dengan menggunakan kombinasi dari kriptografi kunci publik dan
kriptografi kunci simetri bersamaan dengan sebuah infrastruktur sertifikat. Sebuah
sertifikat adalah sebuah kumpulan data identifikasi dalam format yang telah
distandarisasi. Data tersebut digunakan dalam proses verifikasi identitas dari
sebuah entitas (contohnya sebuah web server) pada internet. Sertifikat ini secara
digital ditandatangani oleh sebuah Certificate Authority (CA), yaitu sebuah entitas
yang dapat dipercaya yang diberikan kekuasaan untuk melakukan verfikasi
31
sebuah perusahaan atau individu yang ingin menyediakan aplikasi yang
diamankan menggunakan SSL. Client yang ingin berkomunikasi secara aman
dengan entitas tersebut dapat melakukan verifikasi identitasnya dengan
menanyakannya pada basis data CA. Sebuah sertifikat juga mengandung kunci
publik dari pemiliknya. Kunci ini berpasangan dengan kunci private yang hanya
diketahui oleh pemiliknya. Pasangan kunci ini digunakan untuk vaifikasi identitas
dari pemilik sertifikat, dan juga untuk membuat informasi rahasia dapat
dipertukarkan antara pemilik sertifikat dan entitas lainnya. SSL adalah protokol
keamanan yang digunakan pada hampir semua transaksi keamanan pada internet.
SSL mengubah suatu protokol transport seperti TCP menjadi sebuah saluran
komunikasi aman yang cocok untuk transaksi yang sensitif. Protokol SSL
mendefinisikan metode yang digunakan untuk membangun sebuah saluran
komunikasi yang aman dan tidak tergantung pada algoritma kriptografi mana
yang digunakan. SSL mendukung berbagai macam algoritma kriptografi, dan
berlaku sebagai sebuah framework di mana kriptografi dapat digunakan dengan
cara yang tepat dan terdistribusi. Penggunaan SSL sangat luas. Aplikasi yang
membutuhkan pengiriman data melalui sebuah jaringan yang tidak aman seperti
internet atau intranet perusahaan adalah salah satu aplikasi yang berpotensi untuk
memanfaatkan SSL. SSL menyediakan keamanan, dan yang lebih penting adalah
ketenangan. Dengan menggunakan SSL, kita dapat memastikan bahwa data kita
aman dari pihak-pihak yang tidak berhak mengakses .SSL didesain untuk
dijalankan pada TCP/IP.
32
2.10.1 Cara Kerja SSL
Cara kerja SSL dapat kita lihat dengan tahapan-tahapan:
1. Client membentuk koneksi awal ke server dan meminta koneksi SSL.
2. Bila server yang dihubungi telah dikonfigurasi dengan benar, maka
server ini akan mengirimkan client public key miliknya.
3. Client membandingkan sertifikat dari server ke basis data trusted
authorities. Bila sertifikat ini terdaftar di situ, artinya client
mempercayai (trust) server itu dan akan maju kelangkah 4. Bila
sertifikat itu terdaftar, maka pemakai harus menambahkan sertifikat ini
ke trusted database sebelum maju ke langkah 4.
4. Client menggunakan Public Key yang didapatnya untuk men-enkrip
sesi dan mengirimkan session key ke server. Bila server meminta
sertifikat client di langkah 2, maka client harus mengirimkannya
sekarang.
5. Bila server di setup untuk menerima sertifikat, maka server akan
membandingkan sertifikat yang diterimanya dengan basis data trusted
authorities dan akan menerima atau menolak koneksi yang diminta.
Bila kondisi ditolak, suatu pesan kegagalan akan dikirimkan ke client.
Bila koneksi diterima, atau bila server tidak di setup untuk menerima
sertifikat, maka server akan men-decode session key yang didapat dari client
dengan private key milik server dan mengirimkan pesan berhasil ke client yang
dengan demikian membuka suatu secure data chanel.
33
2.11 Enkripsi
Enkripsi adalah proses mengamankan suatu informasi dengan membuat
informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus.
Cipher adalah sebuah algoritma untuk menampilkan enkripsi dan
kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai
prosedur. Alternatif lain ialah encipherment. Informasi yang asli disebuh sebagai
plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext. Pesan
chipertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format
yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme
yang tepat untuk melakukan dekripsi.
Gambar 2.9 Ilustrasi Enkripsi
Cipherteks
Plainteks
KunciKunci
Plainteks Enkripsi Dekripsi
34
2.11.1 Subtitusi
Pada kode sandi kita, plaintext 16-bit dipecah menjadi empat sub-blok 4-
bit. Setiap sub-blok menjadi masukan ke dalam kotak S 4x4 ( Kotak Subtitusi
dengan masukan 4-bit dan keluaran 4-bit ), yang dengan mudah dapat
diimplementasikan dengan tabel lookup dari 16 nilai 4-bit, yang diberi indek
dengan interger yang dinyatakan dengan masukan 4-bit. Sifat yang paling
fundamental dari kotak-S adalah memiliki pemetaan yang tidak linier, sehingga
keluaran kotak subtitusi tidak dapat dinyatakan sebagai operasi linier dari
masukannya
0 1 2 3 4 5 6 7 8 9 A B C D E F
E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7
Tabel 2.2 Pemetaan Kotak Subsitusi (Dalam Hexadesimal)
2.12 Instant Messaging
Instant messaging merupakan teknologi internet yang digunakan untuk
mengirimkan informasi secara online. Data yang dikirim dapat memiliki
bermacam- macam format antara lain: text, gambar, suara dan video. Terdapat
beberapa layanan IM yang popular dan umum digunakan oleh komunitas internet
antara lain: mIRC, AOL, Yahoo, MSN, dan Skype. Fitur yang ditawarkan oleh
masing–masing layanan IM ada bermacam-macam.
Meskipun memiliki bermacam-macam fitur yang disediakan oleh layanan
IM namun tetap dapat disimpulkan secara garis besar tentang kelemahan yang
dimiliki oleh instant messaging antara lain:
35
a. Interoperability
Antara masing-masing layanan IM tidak memiliki protokol yang
sama, umumnya layanan IM tersebut menggunakan protokolnya masing-
masing sehingga user yang menggunakan layanan IM yang berbeda tidak
dapat berkomunikasi antar satu sama lain.
b. Data security
Kebanyakan layanan IM tidak mendukung layanan keamanan data
sehingga data yang dikirim lewat layanan IM tersebut sangat rentan
terhadap ancaman keamanan.
2.13 Mobile Phone
Handphone adalah alat komunikasi, baik jarak jauh dekat maupun jarak
jauh. Alat ini merupakan alat komunikasi lisan atau tulisan yang dapat
menyimpan pesan dan sangat praktis untuk dipergunakan sebagai alat komunikasi
karena biasa dibawa kemana saja. Ada beberapa macam merek dan type
handphone yang banyak dipakai orang. (http://www.total.or.id).
Ada beberapa macam merek dan tipe handphone, di antaranya:
A. Sony Ericsson
B. Nokia
C. Motorola
D. Samsung
E. LG
F.
36
2.14 Pengertian Chat Conference
Dalam kamus komputer dan elektronik istilah Chatting berasal dari
kata Chatt yang berarti komunikasi yang mengijinkan dua atau lebih
komputer untuk melakukan suatu percakapan dengan mengetik diantara
satu sama lain. (McGraw-Hill, 2004:85).
Proses chatting secara sederhana memiliki tiga panel: toolbar,
riwayat pesan dan tampilan pesan baru. Semua terpisah dan tidak
terkoneksi secara langsung. Pesan yang dikirim akan disimpan dahulu
dalam sebuah database, kemudian akan ditampilkan kembali sebagai
riwayat pesan. Untuk lebih jelasnya dapat dilihat pada gambar dibawah
ini. (http://www.codeproject.com).
Gambar 2.1 Diagram Chat sederhana. (http://www.codeproject.com).
2.14 Rapid Application Development (RAD)
Menurut Roger, S.Pressman (2003), RAD adalah sebuah model proses
perkembangan perangkat lunak sekuensial linier yang menekankan siklus
37
perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier di mana perkembangan cepat
didapat dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat
pendek (kira-kira 60 sampai 90 hari).
Menurut Kendal & Kendal (2003,), RAD adalah suatu pendekatan
berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode
pengembangan serta perangkat-perangkat lunak.
Karena dipakai terutama pada aplikasi sistem konstruksi. Menurut Kendall
& Kendall (2003), pendekatan RAD meliputi fase-fase sebagai berikut:
1. Fase Perencanaan Syarat. Dalam hal ini pengguna dan penganalisis
bertemu untuk mengidentifikasi tujuan-tujuan aplikasi atau sistem
serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan
dari tujuan-tujuan tersebut.
2. Workshop Desain RAD. Fase ini adalah fase untuk merancang dan
memperbaiki yang bisa digambarkan sebagai workshop. Terdiri dari
fase perancangan dan fase konstruksi.
3. Fase Implementasi. Fase ini adalah fase dimana penganalisis bekerja
dengan pengguna secara intens selama workshop untuk meancang
aspek-aspek ini disetujui dan sistem-sistem dibangun dan disaring,
38
sistem-sistem baru atau bagian dari sistem diuji coba dan kemudian
diperkenalkan kepada organisasi.
Menurut Kendall & Kendall (2003), ada empat tahap siklus
pengembangan RAD yaitu fase perencanaan syarat, fase perancangan, fase
konstruksi, dan fase implementasi. Model RAD penulis gunakan untuk melakukan
pendekatan berorientasi objek terhadap pengembangn sistem yang mencangkup
suatu model pengembangan perangkat-perangkat lunak. Tujuan yang lain adalah
mempersingkat waktu pengerjaan aplikasi serta proses yang dihasilkan didapat
secara tepat dan cepat.
Menurut Kendall & Kendall (2003), model Rapid Application
Development seperti pada Gambar 2.9.
Fase Perencanaan Syarat-Syarat
Fase Pelaksanaan
Gambar 2.10 Model RAD (Sumber: Pressman, 2002)
Membangun Memperbaiki Market
Bekerja dgn PenggunaUntuk Sistem Perancangan
Membangun Sistem
Memperkenalkan Sistem
Fase Perancangan Fase Konstruksi
Umpan BalikPengguna
Menggunakan MasukanDari Pengguna
39
Syarat-syarat mengunakan RAD adalah pihak perekayasa perangkat lunak
telah mengetahui dengan jelas kebutuhan user (pengguna) dengan tepat,
mengetahui proses-proses apa saja yang ada didalam perangkat lunak yang dibuat
dan input-output yang dihasilkan. Menurut Kendall & Kendall (2003), proses
RAD memiliki fase-fase seperti berikut ini:
1. Fase Perencanaan Syarat-Syarat
Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan aplikasi atau
sistem serta untuk mengidentifikasi syarat-syarat informasi yang
ditimbulkan dari tujuan tersebut.
2. Fase Perancangan
Pada tahap ini dilakukan perancangan proses yaitu perancangan
proses-proses yang akan terjadi didalam sistem dan perancangan
antarmuka yaitu perancangan antarmuka masukkan dan antarmuka
keluaran.
3. Fase Konstruksi
Pada tahap ini dilakukan pengkodean terhadap rancangan-rancangan
yang telah didefinisikan.
4. Fase Pelaksanaan
Pada tahap ini dilakukan pengujian terhadap sistem dan melakukan
pengenalan terhadap sistem.
2.14.1 Alasan Menggunakan RAD
40
Dari lima macam model-model perangkat lunak yang dikemukakan oleh
Roger S. Pressman, peneliti memilih model RAD sebagai metode pengembangan
sistem dengan alasan-alasan sebagai berikut:
1. Aplikasi yang dirancang dan dikembangkan merupakan aplikasi yang
sederhana dan tidak memerlukan waktu yang lama. Hal ini sesuai
dengan tujuan dari model RAD yang dikemukakan oleh Kenneth E.
Kendall dan Julie E. Kendall yaitu RAD digunakan untuk
mempersingkat waktu antara perancangan dan penerapan sistem
informasi (Kendall dan Kendall, 2006).
2. Dengan menggunakan metode RAD akan dicapai suatu sistem
fungsional yang utuh dalam periode waktu yang sangat pendek jika
kebutuhan dapat dipahami dengan baik (Pressman, 2002).
3. Salah satu fase dalam model sekuensial adalah fase pemeliharaan
(Pressman, 2002). Aplikasi yang akan dibuat ini tidak memerlukan fase
pemeliharaan dalam implementasinya di lapangan.
4. Pelanggan sangat berperan penting dalam pengembangan perangkat
lunak dalam model prototipe (Suyanto, 2005). Aplikasi ini tidak ada
campur tangan pelanggan atau user dari awal sampai akhir prosesnya.
5. Kekurangan dalam pengembangan metode formal antara lain banyak
memakan waktu dan mahal (Pressman, 2002). Aplikasi ini sederhana
dan tidak banyak memakan waktu dan biaya.
2.14.2 Pengujian Black box
41
Pengujian black box merupakan pendekatan komplementer dari teknik
white box, karena pengujian black box diharapkan mampu mengungkap kelas
kesalahan yang lebih luas dibandingkan teknik white box. Pengujian black box
berfokus pada pengujian persyaratan fungsional perangkat lunak, untuk
mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan fungsional
suatu program (William Perry, 1995).
Pengujian black box adalah pengujian aspek fundamental sistem tanpa
memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan
untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian
black box merupakan metode perancangan data uji yang didasarkan pada
spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada perangkat
lunak dan kemudian keluaran dari perangkat lunak dicek apakah telah sesuai
dengan yang diharapkan (William Perry, 1995).
Pengujian black box berusaha menemukan kesalahan dalam kategori:
1. Fungsi-fungsi yang tidak benar atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan kinerja
5. Inisialisasi dan kesalahan terminasi.
Berbeda dengan pengujian white box, pengujian black box
cenderung diaplikasikan selama tahap akhir pengujian. (William Perry,
1995).
42
2.15 Studi Literatur Sejenis
Sumber literatur yang dipergunakan di dalam penelitian skripsi ini adalah
hasil penelitian dari karya ilmiah. Penelitian studi literatur yang dilakukan pada
hasil penelitian karya ilmiah, yaitu menekankan pada kelebihan dan kekurangan
yang dilihat dari sisi sistem yang telah dirancang.
Sebagai sumber referensi dan bahan acuan terhadap sistem yang akan
dibuat. Dari berbagai referensi terdapat studi literatur yakni sebagai berikut:
Penelitian yang dilakukan oleh Muhammad Zaenal Mutaqin, (2010),
mahasiswa Universitas Islam Negeri Jakarta dalam penelitiannya yang berjudul
“Pengembangan Aplikasi Chatting Pada Telepon Seluler Menggunakan Fasilitas
Bluetooth Dengan J2ME”. Penelitian tersebut membahas aplikasi chatting pada
telepon selular menggunakan fasilitas Bluetooth. Aplikasi ini mampu melakukan
pengiriman dan penerimaan pesan berupa teks dengan vibrate alert (tanda
bergetar) saat menerima pesan dengan memanfaatkan fasilitas Bluetooth. sehingga
dengan adanya aplikasi ini percakapan pada jarak tidak lebih dari 10 meter dapat
dilakukan tanpa mengeluarkan biaya pulsa. Adapun bahasa pemrograman yang
digunakan untuk membuat aplikasi tersebut adalah J2ME sebagai bahasa
pemrograman untuk aplikasi yang dijalankan pada telepon selular yang telah
mendukung Java MIDP 2.0.
Penelitian yang dilakukan oleh Ahmad Faqih, (2009), mahasiswa
Universitas Islam Negeri Jakarta dalam penelitiannya yang berjudul “ Aplikasi
Enkripsi SMS Berbasis J2ME Menggunakan Vigenere Cipher”. Penelitian
tersebut membahas. Perangkat lunak yang dibangun untuk meningkatkan
43
keamanan pesan dengan melakukan enkripsi terhadap pesan yang dikirimkan.
Perangkat lunak yang dibangun menggunakan algoritma kriptografi Vigenere
Cipher untuk melakukan enkripsi SMS agar keamanan pesan dapat ditingkatkan.
Vigenere Cipher merupakan algoritma teknik enkripsi yang dapat dijalankan
dengan panjang kunci yang beragam. Pembangunan aplikasi dilakukan dengan
Java2 Micro Edition (J2ME). Berdasarkan hasil pengujian, perangkat lunak yang
dibangun dengan salah satu ilmu bidang kriptografi yaitu algoritma Vigenere
Cipher terbukti bisa berjalan dengan baik untuk mengenkripsi dan mendekripsi
SMS pada telepon selular.
42
BAB III
METODE PENELITIAN
Dalam rangka penyusunan penelitian (skripsi) ini, peneliti
membutuhkan data atau informasi dan referensi yang relatif lengkap untuk
mendukung materi uraian pembahasan. Oleh karena itu peneliti menggunakan
metodelogi yaitu metode pengumpulan data yang meliputi studi lapangan dan
studi pustaka, serta metode Rapid Application Development (RAD) dan UML
(Unified Modeling Language) sebagai teknik untuk memvisualisasikan,
membangun dan mendokumentasikan sebuah sistem perangkat lunak.
3.1. Metode Pengumpulan Data
3.1.1 Studi Pustaka
Metode ini dilakukan dengan mempelajari dan membaca buku yang
berhubungan dengan topik penelitian, antara lain buku tentang pemrograman
PHP, sistem informasi, pemrograman J2ME, dll. Serta daftar pustaka yang terdiri
dari 7 buku teks, 23 situs internet dan 5 hasil laporan penelitian yang sudah ada
sebelumnya.
3.1.2 Studi Literatur sejenis
43
3.1.3 Studi Lapangan
Studi lapangan yang peneliti lakukan adalah dengan 3 hal, yakni dengan
wawancara, observasi dan kuesioner. Mengenai metode pengumpulan data
melalui studi lapangan, peneliti jelaskan sebagai berikut:
1. Wawancara
Wawancara yang peneliti lakukan adalah dengan salah satu dosen UIN
Jakarta khususnya dosen Fakultas Sains dan Teknologi pada tanggal 7 Juli
2010 bertepat di ruang akademik lantai 3 Wawancara berupa pertanyaan
seputar aplikasi yang akan dibuat sebagai bahan untuk mengetahui arah
dan tujuan penelitian. Pertanyaan-pertanyaan dan hasil dari wawancara
tersebut peneliti lampirkan di Lampiran 1.
2. Kuesioner
Selain Wawancara yang peneliti lakukan adalah dengan cara kuesioner.
Studi lapangan yang peneliti lakukan adalah menyebarkan lembar
kuesioner kepada 30 mahasiswa yang berisi pertanyaan-pertanyaan yang
dilakukan selama 1 minggu yakni tanggal 12 s/d 16 April 2010. Lembar
kuesioner yang peneliti sebar dan hasilnya peneliti lampirkan dalam
Lampiran 2.
3.2 Metode Pengembangan Sistem
Pengembangan sistem yang peneliti lakukan menggunakan empat tahap
siklus pengembangan model RAD (Rapid Application Development), yaitu fase
44
perencanaan syarat dan tujuan informasi, fase perancangan, fase konstruksi dan
fase pelaksanaan. Model RAD peneliti gunakan karena melihat dari aplikasi yang
dikembangkan oleh peneliti, merupakan aplikasi yang sederhana dan tidak
membutuhkan waktu yang lama, metode RAD adalah metode yang diperuntukkan
untuk jangka pendek sesuai dengan aplikasi yang akan dikembangkan.
Model pengembangan RAD yang dibuat oleh James Martin melingkupi
fase-fase sebagai berikut (Kendall & Kendall, 2003)
Gambar 3.1: Fase-Fase RAD James Martin(Sumber: Kendall & Kendall, 2003)
1. Fase Perencanaan Syarat-syarat
Pada tahap ini dilakukan pengidentifikasian tujuan-tujuan aplikasi
atau sistem serta untuk mengidentifikasi syarat-syarat informasi yang
ditimbulkan dari tujuan-tujuan tersebut. Secara terperinci yang
peneliti lakukan pada tahap Tujuan dan Syarat-syarat Informasi
adalah:
a. Mendefinisikan masalah Memahami sistem yang ada
(Understanding the existing system).
Peneliti memahami sistem yang sedang berjalan pada
aplikasi untuk mengetahui alur dan sistem yang sedang berjalan.
b. Menganalisis kebutuhan sistem untuk pembuatan Chat
Conference.
45
Hasil yang peneliti dapatkan dari tahap tujuan dan syarat-syarat
Informasi adalah:
a. Memperoleh informasi dari permasalahan user tentang
aplikasi chat conference
b. Menetapkan Software dan Hardware apa saja yang
diperlukan dalam pembuatan Chat Conference.
2. Fase Perancangan
Pada tahap ini dilakukan beberapa tahapan antara lain:
a. Perancangan proses-proses yang akan terjadi didalam sistem
menggunakan diagram UML yakni dengan membuat Use Case
Diagram, Class Diagram dan Sequence Diagram.
b. Perancangan Antar Muka
Antar muka pemakai memberikan fasilitas komunikasi antar
pemakai dan sistem, memberikan berbagai fasilitas informasi
dan berbagai keterangan yang bertujuan untuk membantu
mengarahkan alur penelusuran masalah sampai ditemukan
solusi.
Hasil yang peneliti dapat dari Fase Perancangan:
a. Mendapatkan ide rancangan awal antar muka aplikasi yang
akan di bangun
b. Mendapatkan tampilan untuk tata letak sesuai fungsi Chat
Conference.
3. Fase Konstruksi
46
Pada tahapan ini diketahui juga sebagai tahap pembuatan program
yang telah dirancang sebelumnya. pada fase ini dilakukan:
a. Persiapan untuk pembuatan aplikasi Chat Conference.
b. Mencoba Aplikasi Chat Conference yang telah di bangun dan
melakukan dokumentasi terhadap hasil dari percobaan aplikasi.
c. Melakukan serangkaian tes untuk memutuskan bahwa setiap
komponen dari aplikasi sesuai dengan kebutuhan pengguna.
Hasil yang peneliti dapatkan dari fase Konstruksi adalah:
a. Mendapatkan hasil Chat Conference yang maksimal pada PC
atau pada emulator.
b. Dapat memutuskan bahwa aplikasi ini sesuai dengan kebutuhan
pengguna.
4. Fase Pelaksanaan
Pada fase ini dilakukan beberapa tahapan antara lain:
a. Spesifikasi Ponsel yang digunakan
b. Transfer Aplikasi dari PC ke Ponsel dan Instalasi.
c. Pengujian aplikasi dilakukan pada ponsel dengan menguji
seluruh fitur yang terdapat pada Aplikasi Chat Conference pada
telepon selular.
Hasil yang peneliti dapat dari Fase Pelaksanaan:
a. Spesifikasi telepon selular yang harus dimiliki untuk penerapan
aplikasi Chat Conference harus berbasis Java dan memiliki
47
sistem operasi: Symbian dan Java Micro Edition Environment:
MIDP 2.0 dan CLDC 1.1.
b. Mendapatkan Aplikasi Chat Conference pada telepon selular
dengan hasil yang maksimal.
3.3 Siklus Penerapan RAD Untuk Membuat Aplikasi Chat Conference
Pada Gambar 3.2 diberikan siklus RAD yang diimplementasikan untuk
membuat aplikasi Chat Conference pada Telepon Selular sesuai dengan fase-fase
RAD yang ditunjukkan pada Gambar 3.1.
Gambar 3.2: Siklus RAD Untuk Membangun Aplikasi Chat Conference Pada Telepon Selular
48
BAB IV
PERANCANGAN DAN IMPLEMENTASI SISTEM
Untuk pengembangan sistem, peneliti menggunakan metode RAD (Rapid
Application Development) yang terdiri atas fase menentukan tujuan dan syarat-
syarat informasi, fase perancangan, fase konstruksi dan fase pelaksanaan sesuai
dengan fase-fase Pengembangan aplikasi Chat Conference pada Telepon Seluler
menggunakan J2ME yang ditunjukkan pada Gambar 3.2 pada bab III.
Untuk Aplikasi Translation pada Telepon Seluler menggunakan J2ME ini
peneliti beri nama dengan Aplikasi Chat Conference menggunakan enkripsi .
4.1 Fase menentukan Tujuan dan Syarat-syarat Informasi
4.1.1 Tujuan Informasi
Tujuan pengembangan aplikasi ini adalah sebagai solusi yang dapat
membantu user atau pengguna ponsel, khususnya yang mendukung aplikasi
JAVA MIDP versi 2.0 untuk memberikan layanan kepada pengguna Chat
Conference.
Tahap ini penting untuk peneliti dikarenakan sangat membantu peneliti
untuk proses selanjutnya sehingga lebih terfokus dan terencana dengan dukungan
informasi yang cukup sehingga dapat menghasilkan hasil (aplikasi) yang sesuai
dengan keinginan dengan kebutuhan.
49
4.1.2 Syarat-syarat Informasi
Aplikasi Translation ini harus memenuhi syarat-syarat pembuatan aplikasi
mobile device menggunakan J2ME yang meliputi kelengkapan data, software dan
hardware.
4.1.2.1 Kelengkapan data yang digunakan
1. Berbagai Literatur atau artikel yang peneliti dapatkan dari beberapa
sumber diantaranya beberapa source code aplikasi Translation yang
peneliti dapatkan dari www.forum.nokia.com.
2. Arsitektur, jenis layanan dan semua keterangan tentang arti kata asing
yang peneliti dapatkan dari buku-buku referensi dan website yang
dapat dilihat pada Daftar Pustaka.
4.1.2.2 Kelengkapan software yang digunakan
Perangkat lunak yang dibutuhkan dalam implementasi sistem ini adalah:
a. JDK 1.6.0
b. MySQL Connector Java 5.1.10
c. XAMPP 1.6.8
d. QK SMTP Server 3.0
e. Windows Server 2003
50
4.1.2.3 Kelengkapan hardware yang digunakan
1. Perangkat keras yang akan digunakan dalam sistem ini adalah 1 buah
komputer server, 1 buah access point dan 2 buah Mobile Phone untuk
user yang mendukung java. Server mencakup chat server, web service,
web server dan database.
Komputer yang digunakan pada saat perancangan sistem ini adalah
Notebook Sony Vaio dengan spesifikasi sebagai berikut:
a. Intel Core 2 Duo mobile processor T5750 (2MB L2Cache, 2.0
GHz, 667MHz FSB).
b. Intel 965GM Express Chipset
c. Intel® PRO/Wireless 3945ABG
d. 14.1" WXGA Acer CrystalBrite.
e. 2 Gb DDR2
f. 250 GB HDD
Access point yang dipakai adalah TP-LINK Wireless Router.
2. Sebuah Kabel Data Nokia C3 dan Bluetooth untuk mentransfer file
aplikasi dari PC ke mobile device.
3. Ponsel atau mobile device yang telah mendukung aplikasi JAVA
MIDP versi 2.0, dalam hal ini, peneliti menggunakan perangkat ponsel
Nokia C3 untuk pengujian aplikasi.
51
4.2 Fase Perancangan
Dalam perancangan program aplikasi Chat Conference menggunakan
notasi UML sebagai case tool dalam merancang proses yang akan terjadi dalam
sistem, yakni dengan membuat use case diagram, class diagram, Statechart
Diagram, Activity Diagram, Sequence Diagram, Collaboration Diagram,
Component Diagram, Deployment Diagram, Perancangan Struktur Menu dan
perancangan antarmuka (user interface).
4.2.1 Object Oriented System Analisys dengan UML
4.2.2 Use Case Diagram
Gambar 4.1 Use Case Diagram Aplikasi Chat Conference
52
1. Sistem Login
Tabel 4.1 Deskripsi Use Case Sistem Login
Use Case Login
Actors User dan admin
Purpose Untuk memasukkan user atau admin ke dalam
sistem
Type Penting
Preconditions User atau admin ingin masuk ke halaman
utama
User atau admin belum melakukan login
Postconditions User atau admin dapat masuk ke halaman
utama
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
User atau admin memasukkan
username dan password mereka
dan menekan login
Sistem melakukan validasi
username dan password
Sistem memasukkan user atau
admin ke sistem
Alternative Flow of Events
Jika terjadi kesalahan dalam memasukkan username atau password
maka akan ada pesan error bahwa username atau password yang
dimasukkan salah dan kembali ke langkah 1.
53
2. Sistem Registrasi
* UserTabel 4.2 Deskripsi Use Case Sistem Registrasi User
Use Case Registrasi
Actors User
Purpose Untuk mendaftarkan user baru ke dalam database
Type Optional
Preconditions User ingin melakukan registrasi
User belum melakukan login
Postconditions Registrasi sukses dan kembali ke halaman login
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. User memilih register
2. User memasukkan data-data
registrasi yang dibutuhkan
3. Sistem melakukan validasi
data
4. Sistem memasukkan user baru
ke dalam database
Alternative Flow of Events
Jika terjadi kesalahan dalam memasukkan data atau belum
memasukkan data yang perlu diisi maka akan ada pesan error bahwa
ada data yang salah atau belum dimasukkan dan kembali ke langkah 2
54
* Admin
Tabel 4.3 Deskripsi Use Case Sistem Registrasi User oleh Admin
Use Case Registrasi
Actors Admin
Purpose Untuk mendaftarkan user baru ke dalam database
Type Optional
Preconditions Admin ingin menambah user baru
Admin harus melakukan login
Postconditions Add user sukses
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. Admin memilih add user
2. Admin memasukkan data-data
registrasi yang dibutuhkan
3. Sistem melakukan validasi
data
4. Sistem memasukkan user baru
ke dalam database
Alternative Flow of Events
Jika terjadi kesalahan dalam memasukkan data atau belum
memasukkan data yang perlu diisi maka akan ada pesan error bahwa
ada data yang salah atau belum dimasukkan dan kembali ke langkah 2
55
3. Comment
* User
Tabel 4.4 Deskripsi Use Case Sistem Comment User
Use Case Comment
Actors User
Purpose Untuk mengirimkan pertanyaan atau komentar
Type Optional
Preconditions User ingin mengirimkan komentar atau
pertanyaan
User belum melakukan login
Postconditions Pengiriman selesai dan user kembali ke
halaman login
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. User memasukkan data pada
field yang telah ditentukan
2. User memilih send
3. Sistem memasukkan komentar
tersebut ke database
Alternative Flow of Events
Jika user belum memasukkan data yang perlu diisi maka akan ada
pesan error bahwa ada data belum dimasukkan dan kembali ke langkah
1
56
* Admin
Tabel 4.5 Deskripsi Use Case Sistem Comment Admin
Use Case Comment
Actors Admin
Purpose Untuk menghapus komentar dari user
Type Optional
Preconditions Admin ingin menghapus atau mengrespon
komentar user
Admin harus melakukan login
Postconditions Penghapusan komentar selesai
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. Admin memilih komentar yang
ingin dihapus atau direspon
2. Admin memilih delete /
response
3. Sistem mengupdate komentar
dari user
Alternative Flow of Events
Tidak ada
57
4. Add Friend
* User
Tabel 4.6 Deskripsi Use Case Sistem Add Friend
Use Case Add Friend
Actors User
Purpose Untuk menambah daftar teman
Type Optional
Preconditions User harus melakukan login terlebih dahulu
User ingin menambah daftar teman
Postconditions User menambah daftar temannya
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. User memilih add friend
2. User memasukkan
username yang ingin
ditambah
3. Sistem melakukan validasi
username
4. Sistem menunggu konfirmasi dari
user yang di-add
5. Sistem menambahkan username
yang di add ke daftar teman user
Alternative Flow of Events
Jika terjadi kesalahan dalam memasukkan username maka akan ada
pesan error dan kembali ke langkah 1
58
* Admin
Tabel 4.7 Deskripsi Use Case Sistem Add Friend oleh Admin
Use Case Add Friend
Actors Admin
Purpose Untuk menambah daftar teman user
Type Optional
Preconditions Admin harus melakukan login terlebih dahulu
Admin ingin menambah daftar teman user
Postconditions Daftar teman user bertambah
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. Admin memilih user
2. Admin memilih add friend
3. Admin memasukkan
username yang ingin
ditambah
4. Sistem melakukan validasi
username
5. Sistem menunggu konfirmasi
dari user yang di-add
6. Sistem menambahkan username
yang di-add ke daftar teman
user
Alternative Flow of Events
Jika terjadi kesalahan dalam memasukkan username maka akan ada
pesan error dan kembali ke langkah 1
59
5. Delete Friend
* User
Tabel 4.8 Deskripsi Use Case Sistem Delete Friend
Use Case Delete Friend
Actors User
Purpose Untuk menghapus user dari daftar teman
Type Optional
Preconditions User harus melakukan login terlebih dahulu
User ingin menghapus teman
Postconditions Daftar teman user berkurang
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. User memilih user yang ingin
dihapus
2. User memilih delete friend
3. Sistem menghapus username
yang di pilih dari daftar teman
user
Alternative Flow of Events
Tidak ada
60
* Admin
Tabel 4.9 Deskripsi Use Case Sistem Delete Friend oleh Admin
Use Case Delete Friend
Actors Admin
Purpose Untuk menghapus user dari daftar teman
Type Optional
Preconditions Admin harus melakukan login terlebih dahulu
Admin ingin menghapus teman user
Postconditions Daftar teman user berkurang
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. Admin memilih user
2. Admin memilih user yang ingin
dihapus
3. Admin memilih delete friend
4. Sistem menghapus username
yang dipilih dari daftar teman
user
Alternative Flow of Events
Tidak ada
61
6. Ubah Password
* User
Tabel 4.10 Deskripsi Use Case Sistem Ubah Password
Use Case Ubah Password
Actors User
Purpose Untuk mengubah password login user
Type Optional
Preconditions User harus melakukan login terlebih dahulu
User ingin mengubah password login-nya
Postconditions Password yang lama berubah menjadi yang baru
Special Requeirement Tidak ada
Flow of Events
Actor Action System Response
1. User memilih change password
2. User memasukkan password lama
3. User memasukkan password baru
4. User memasukkan password baru
kedua kalinya
5. User memilih ok
6. Sistem melakukan validasi
password
7. Sistem mengubah password yang
lama menjadi yang baru
Alternative Flow of Events
Jika terjadi kesalahan pada pengisiian password maka akan muncul pesan error
bahwa password lama salah atau password baru tidak cocok dan kembali ke
langkah 2
62
* Admin
Tabel 4.11 Deskripsi Use Case Sistem Ubah Password oleh
Admin
Use Case Ubah Password
Actors Admin
Purpose Untuk mengubah password login user
Type Optional
Preconditions Admin harus melakukan login terlebih dahulu
Admin ingin mengubah password login user
Postconditions Password yang lama berubah menjadi yang baru
Special Requeirement Tidak ada
Flow of Events
Actor Action System Response
1. Admin memilih edit user
2. Admin mengganti password lama
menjadi password baru
3. Admin mengkomfirmasi pergantian
password
4. Sistem mengubah password yang
lama menjadi yang baru
Alternative Flow of Events
Jika terjadi kesalahan pada pengisiian password maka akan muncul pesan error
bahwa password lama salah atau password baru tidak cocok dan kembali ke
langkah 2
63
7. Sistem Chatting
Tabel 4.12 Deskripsi Use Case Sistem Chatting
Use Case Chatting
Actors User
Purpose Untuk melakukan chatting dengan user lain
Type Optional
Preconditions User harus melakukan login terlebih dahulu
User harus mempunyai teman terlebih dahulu
User ingin melakukan chatting
Postconditions User dapat melakukan chatting
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
1. User memilih teman yang
ingin melakukan chatting
2. User memilih chatting
Alternative Flow of Events
Tidak ada
64
8. Sistem Logout
Tabel 4.13 Deskripsi Use Case Sistem Logout
Use Case Logout
Actors User dan admin
Purpose Untuk keluar dari sistem
Type Optional
Preconditions User atau admin harus melakukan login
terlebih dahulu
User atau admin ingin melakukan logout
Postconditions Kembali ke halaman login
Special
Requeirement
Tidak ada
Flow of Events
Actor Action System Response
User memilih logout Sistem mengeluarkan user atau
admin dari sistem
Alternative Flow of Events
Tidak ada
65
4.2.3 Perancangan Sistem
Gambar 4.2 Sistem yang Dirancang
Server terdiri dari chat server, web service, web server dan database. Chat
server berfungsi sebagai server yang melakukan chatting dengan protocol TCP
soket. Web service berfungsi sebagai server yang melakukan proses login, logout,
registrasi dan manipulasi database dengan protokol HTTPS. Web server
dirancang untuk tampilan antarmuka sebagai perantara database dan admin.
Database berfungsi sebagai tempat penyimpanan data user dan admin.
Client terdiri dari User dan Admin, di mana user hanya dapat
menggunakan aplikasi chat conference, sedangkan admin dapat me-manage user
dan server.
66
4.2.3.1 Perangkat Lunak
Perangkat lunak meliputi pemilihan perangkat lunak dan perancangan
perangkat lunak untuk client, server dan web server.
4.2.3.2 Pemilihan Perangkat Lunak
Pemilihan perangkat lunak dalam perancangan aplikasi meliputi software
builder, emulator, sistem operasi, database, web browser dan web server. Software
builder yang akan digunakan pada perancangan sistem ini adalah NetBeans IDE
6.5.1 dan Adobe Dreamweaver CS3. Emulator yang digunakan adalah Java
Wireless Toolkit 2.5.2. Web browser yang digunakan adalah Flock 3.
Sistem operasi yang digunakan adalah Windows 7 Ultimate, dikarenakan
sistem operasi windows lebih user friendly dan lebih banyak program yang men-
support windows.
Database dan web server yang digunakan adalah XAMPP 1.6.8 yang
meliputi Apache , MySQL dan OpenSSL.
4.2.3.3 Perancangan Perangkat Lunak
Perancangan perangkat lunak meliputi piranti lunak, server dan web site
untuk admin. Perancangan perangkat lunak untuk aplikasi client menggunakan
bahasa pemograman J2ME, dikarenakan bahasa JAVA dapat dijalankan pada
sistem operasi apapun.
Perancangan chat server menggunakan bahasa pemograman J2SE.
Sedangkan web service dan web server menggunakan bahasa pemograman PHP.
67
4.2.4 Object Oriented System Design dengan UML
4.2.4.1 Class Diagram
Gambar 4.3 Class Diagram Aplikasi Chat conference
68
4.2.5 Sequence Diagram
1. Sistem Login
* User
Gambar 4.4 Sequence Diagram Sistem Login User
* Admin
Gambar 4.5 Sequence Diagram Sistem Login Admin
69
2. Sistem Registrasi
* User
User
User Display
pilih registrasi
input data registrasi
Register
validasi data registrasi
add user baru
registrasi sukses
registrasi sukses
Gambar 4.6 Sequence Diagram Sistem Registrasi User
* Admin
Admin
Admin Display
pilih add user
input data user
Add User
validasi data user
add user baru
registrasi sukses
registrasi sukses
Gambar 4.7 Sequence Diagram Sistem Registrasi User oleh
Admin
70
3. Sistem Comment
* User
Gambar 4.8 Sequence Diagram Sistem Comment User
* Admin
Gambar 4.9 Sequence Diagram Sistem Comment Admin
71
4. Sistem Add Friend
* User
Gambar 4.10 Sequence Diagram Sistem Add Friend User
* Admin
Gambar 4.11 Sequence Diagram Sistem Add Friend User oleh Admin
72
5. Sistem Delete Friend
* User
Gambar 4.12 Sequence Diagram Sistem Delete Friend User
* Admin
Gambar 4.13 Sequence Diagram Sistem Delete Friend User oleh Admin
73
6. Sistem Ubah Password
* User
Gambar 4.14 Sequence Diagram Sistem Ubah Password User
* Admin
Gambar 4.15 Sequence Diagram Sistem Ubah Password oleh Admin
74
7. Sistem Chatting
Gambar 4.16 Sequence Diagram Sistem Chatting User
8. Sistem Logout
* User
Gambar 4.17 Sequence Diagram Sistem Logout User
75
* Admin
Gambar 4.18 Sequence Diagram Sistem Logout
76
4.2.6 Database
4.2.6.1 Diagram Skema Database
MsFriend
PK,FK1 UserId
FriendId
MsComment
PK CommentID
FK1 UserIDEmailKomentar
MsUser
PK UserID
UsernamePasswordNIMEmailIPIsLogIsBusy
MsAddFriend
FK1 UserIDAddFriendID
Gambar 4.19 Diagram Skema Database
4.2.6.2 Penjelasan Skema Database
Tabel 4.14 Tabel Skema Database
Nama Tabel Keterangan
MsUser Tabel ini menyimpan data-data user yang telah
registrasi
MsFriend Tabel ini menyimpan daftar teman yang user
MsComment Tabel ini menyimpan data komentar yang
dikirim oleh user
77
4.2.6.3 Rancangan Database
1. Tabel MsUser
Tabel 4.15 Tabel MsUser
Nama Field Jenis Keterangan
UserID Int (11) Primary Key
Username Varchar(255)
Password Varchar(255)
Email Varchar(255)
IP Varchar(255)
IsLog int(1)
IsBusy int(1)
2. Tabel MsFriend
Tabel 4.16 Tabel MsFriend
Nama Field Jenis Keterangan
UserID Int(11) Primary key dan Foreign Key
FriendId Varchar(255)
78
3. Tabel MsComment
Tabel 4.17 Tabel MsComment
Nama Field Jenis Keterangan
CommentID Int(11) Primary Key
UserID Int(11) Foreign Key
Email Varchar(255)
Komentar Varchar(150)
4. Tabel MsAddFriend
Tabel 4.18 Tabel MsAddFriend
Nama Field Jenis Keterangan
UserID Int(11) Foreign Key
AddFriendID Varchar(255)
79
4.2.7 Perancangan Antarmuka
4.2.7.1 Perancangan Layar Mobile
Login
Gambar 4.20 Rancangan Layar saat memulai aplikasi
Gambar 4.20 Merupakan rancangan layar saat user memulai aplikasi.
Dalam layar ini terdapat field untuk memasukkan username dan password user.
Terdapat juga 32 buah softkey, yaitu: exit dan menu. Softkey exit digunakan untuk
keluar dari aplikasi. Sedangkan softkey menu untuk menampilkan pilihan lain
yang terdapat di layar ini, yaitu: login, registrasi dan contact us. Login digunkan
untuk masuk ke aplikasi. Registrasi digunakan untuk membuat user baru. Dan
contact us digunakan untuk mengirimkan pertanyaan atau komentar untuk admin.
80
Friends List
Gambar 4.21 Rancangan Layar List Teman User
Gambar 4.21 merupakan rancangan layar yang menampilkan daftar teman
user yang telah didaftarkan sebelumnya. Pada layar ini juga dapat dilihat status
temannya, yaitu: offline, online, atau busy. Status offline berarti teman tersebut
sedang tidak aktif. Status online berarti teman tersebut telah aktif. Sedangkan
status busy berarti teman tersebut sedang melakukan chatting. Pada layar ini
terdapat 2 buah softkey, yaitu: Logout dan menu. Softkey logout digunakan untuk
kembali ke layar login. Dan Softkey menu untuk menampilkan pilihan lain yang
terdapat di layar, yaitu: Chat, Add Friend, Delete Friend, dan Change Password.
Chat digunakan untuk memulai chatting dengan teman. Add Friend digunakan
untuk menambah teman. Delete Friend digunakan untuk menghapus teman dari
list teman. Change Password digunakan untuk mengubah password.
81
Add Friend
Gambar 4.22 Rancangan Layar menambah teman
Gambar 4.22 merupakan rancangan layar untuk menambah teman user
yang baru. Pada layar ini user dapat memasukkan username teman yang ingin
ditambah ke field username dan menekan softkey Ok. Softkey Cancel digunakan
untuk membatalkan penambahan teman dan kembali ke layar sebelumnya.
82
Ubah Password
Gambar 4.23 Rancangan Layar untuk mengganti password
Gambar 4.23 Merupakan rancangan layar untuk mengubah password yang
lama menjadi password baru. Untuk mengganti password user harus memasukkan
password lama ke dalam field Old Password dan password baru ke field New
Password dan confirm Password. Password pada field New Password dan
Confirm Password harus sama. Setelah itu user dapat menekan softkey Ok untuk
mengganti password atau softkey Cancel untuk membatalkan pergantian
password dan kembali ke halaman sebelumnya.
83
Chatting
Gambar 4.24 Rancangan Layar saat Melakukan Chatting
Gambar 4.24 Merupakan rancangan layar pada saat melakukan chatting.
Pada layar ini terdapat 2 buah softkey, yaitu: Quit dan Chat. Softkey Quit
digunakan untuk keluar dari chatting dan softkey Chat digunakan untuk
melakukan chatting.
84
4.2.7.2 Perancangan Layar Web
Login
Gambar 4.25 Rancangan Layar Login
Gambar 4.25 Layar ini merupakan layar yang pertama kali muncul ke
admin masuk ke halaman web. Di layar ini admin harus login terlebih dahulu
dengan memasukkan username dan password dan menekan tombol login untuk
melanjutkan ke halaman berikutnya.
85
Home
Gambar 4.26 Rancangan Layar Database User
Gambar 4.26 Layar ini menampilkan data-data user yang telah melakukan
registrasi. Terdapat data mengenai user berupa ID, Username, Password, NIM,
Email, IP user, Status Login dan Status Chat. Pada layar ini admin dapat
melakukan penambahan user baru, melihat komentar dari user, melihat status add
user, pencarian user, edit user dan delete user.
86
Add User
Gambar 4.27 Rancangan Layar Penambahan user
Gambar 4.27 Pada layar ini admin dapat melakukan penambahan user
dengan mengisi field yang tersedia, yaitu: Username, Password, NIM dan Email.
Setelah itu menekan tombol submit. Jika tombol cancel ditekan maka layar akan
kembali ke halaman sebelumnya.
87
View Friends
Gambar 4.28 Rancangan Layar List Teman
Gambar 4.28 Pada layar ini admin dapat melihat list teman user yang
dipilih. Selain itu, admin juga dapat menambah teman dan juga menghapus teman
dari list teman user. Admin juga dapat kembali ke halaman sebelumnya dengan
menekan tombol back.
88
Add Friend
Gambar 4.29 Rancangan Layar penambahan teman
Gambar 4.29 Pada layar ini admin dapat menambah teman user yang
dipilih dengan cara memasukkan username yang akan ditambah dan menekan
tombol add.
89
Edit User
Gambar 4.30 Rancangan Layar Edit User
Gambar 4.30 Pada layar ini admin dapat mengedit data-data user yang
dipilih sebelumnya. Data-data yang dapat di edit adalah Username, Password,
NIM, E-mail, IP, Status Login dan Status Chat. Admin juga dapat kembali ke
halaman sebelumnya dengan menekan tombol Cancel.
90
4.2.8 Langkah-langkah Pengujian Aplikasi untuk User dan Web untuk
Admin
4.2.8.1 Langkah-langkah Pemakaian Aplikasi untuk User
1. Login
Gambar 4.31 Layar Pilihan Login
Untuk melakukan login, user harus mengetik username dan password
pada field yang telah disiapkan pada layar login dan memilih pilihan login.
Gambar 4.32 Layar Error Field Kosong
91
Jika username atau password belum terisi maka akan muncul peringatan
bahwa field harus diisi.
Gambar 4.33 Layar Error Username atau Password Salah
Jika username atau password yang dimasukkan salah maka akan muncul
peringatan bahwa username atau password salah.
Gambar 4.34 Layar Error Belum Verifikasi Account
92
Jika user belum melakukan verfikasi account yang dipakai dalam
melakukan login, maka akan keluar peringatan untuk melakukan verifikasi
account melalui e-mail terlebih dahulu.
Gambar 4.35 Layar Error User telah Login
Jika user melakukan login dengan username yang sebelumnya telah
melakukan login, maka akan muncul peringatan bahwa user telah melakukan
login.
93
2 Register
Gambar 4.36 Layar Pilihan Login
Untuk melakukan registrasi, user harus memilih pilihan register pada
halaman login.
Gambar 4.37 Layar Form Register
94
Pada halaman register, user harus mengisi semua field yang ada.
Gambar 4.38 Layar Error Field Kosong
Jika ada field yang belum diisi maka akan muncul peringatan bahwa field
masih belum diisi.
Gambar 4.39 Layar Error Format Password Salah
95
Jika format password bukan berupa huruf dan angka maka akan muncul
peringatan bahwa format password salah.
Gambar 4.40 Layar Error Confirm Password Salah
Jika isi dari password dan confirm password tidak sama maka akan
muncul peringatan bahwa confirm password salah.
Gambar 4.41 Layar Error Panjang NIM Salah
96
Jika panjang NIM yang dimasukkan salah maka akan muncul peringatan
bahwa panjang NIM harus 10 digit.
Gambar 4.42 Layar Error Format E-mail Salah
Jika format e-mail yang dimasukkan salah, maka akan muncul peringatan
bahwa format e-mail salah.
Gambar 4.43 Layar Error Username telah Dipakai
97
Jika username yang dipakai untuk registrasi telah dipakai sebelumnya
maka akan muncul peringatan username telah dipakai.
Gambar 4.44 Layar Register Sukses
Jika registrasi sukses maka akan muncul peringatan bahwa registrasi
sukses dan harus melakukan verifikasi melalui e-mail
.
Gambar 4.45 Layar Web Verifikasi Sukses
Jika user telah melakukan verifikasi melalui e-mail maka akan muncul
tampilan verifikasi sukses dan user dapat menggunakan account tersebut untuk
login.
98
3 Contact Us
Gambar 4.46 Layar Pilihan Contact Us
Untuk melakukan contact us, user dapat memilih contact us pada halaman
login.
Gambar 4.47 Layar Form Contact Us
Pada halaman contact us, user harus mengisi semua field yang tersedia
untuk dapat melakukan contact us.
99
Gambar 4.48 Layar Error Field Kosong
Jika ada field yang belum diisi maka akan muncul peringatan bahwa field
masih belum diisi.
Gambar 4.49 Layar Error Format E-mail
Jika format e-mail yang dimasukkan salah, maka akan muncul peringatan
bahwa format e-mail salah.
100
Gambar 4.50 Layar Error Username tidak Ada
Jika user salah memasukkan username, maka akan muncul peringatan
bahwa username tidak ada.
Gambar 4.51 Layar Kirim Komentar Sukses
Jika Pengiriman komentar sukses, maka akan muncul peringatan bahwa
pengiriman sukses.
101
4 Chat
Gambar 4.52 Layar Pilihan Chat
Untuk melakukan chatting, user harus memilih teman yang ingin diajak
chatting dan memilih pilihan chat pada halaman utama.
Gambar 4.53 Layar Error tidak Memilih Teman
Jika user belum memilih teman untuk melakukan chatting, maka akan
muncul peringatan untuk memilih teman terlebih dahulu.
102
Gambar 4.54 Layar Konfirmasi Chat
Jika user telah mengundang user lain untuk melakukan chatting akan
muncul pertanyaan kepada user lain untuk melakukan chat atau tidak.
Gambar 4.55 Layar Pilihan Send Message
103
Jika user telah setuju untuk melakukan chat, maka akan muncul halaman
chatting. Untuk mengirim pesan kepada user lain, maka user harus memilih send
message yang terdapat di halaman chatting. Untuk keluar dari halaman chatting
ini, user dapat menekan tombol quit.
Gambar 4.56 Layar Ketik Pesan
Halaman ini merupakan halaman yang muncul setelah memilih send
message dan digunakan untuk mengetik pesan yang ingin dikirim. Untuk
mengirimkan pesan user dapat menekan tombol send dan untuk membatalkan
pengiriman pesan, user dapat menekan tombol cancel.
104
5 View cam
Gambar 4.57 Layar Pilihan View cam
Untuk melihat gambar user lain melalui kamera, user dapat memilih view
cam dari halaman chatting.
Gambar 4.58 Layar Pilihan User yang Ingin Dilihat Gambarnya
Pada halaman ini user dapat memilih user mana yang ingin dilihat
gambarnya.
105
Gambar 4.59 Layar Konfirmasi Lihat Gambar
Jika user telah memilih teman yang ingin dilihat gambarnya maka akan
muncul pertanyaan ya atau tidak untuk teman yang akan dilihat gambarnya.
Gambar 4.60 Layar Permintaan Lihat Gambar Ditolak
Jika teman yang ingin dilihat gambarnya memilih tidak, maka akan
muncul peringatan bahwa teman yang ingin dilihat gambarnya menolak
memberikan izin.
106
Gambar 4.61 Layar Hasil Penangkapan Gambar
Jika teman yang ingin dilihat gambarnya memilih ya, maka kamera
handphone user tersebut akan memotret gambarnya dan mengirimkan ke user
yang meminta gambar tersebut.
6 Add Member
Gambar 4.62 Layar Pilihan Add Member
107
Jika user yang sedang melakukan chatting ingin menambah teman dalam
melakukan chatting. User dapat memilih add member pada halaman chatting.
Gambar 4.63 Layar Pilih Member Baru
Pada halaman ini user dapat memilih user yang ingin ditambahkan ke
halaman chatting. User yang dapat dipilih adalah user yang online dan tidak
sedang melakukan chatting. User juga dapat membatalkan penambahan user
dengan menekan cancel.
108
Gambar 4.64 Layar Error Tidak ada User yang Dipilih
Jika user tidak memilih teman sebelum menambah member baru, maka
akan muncul peringatan untuk memilih teman terlebih dahulu.
Gambar 4.65 Layar Konfirmasi Add Member
Jika user menambah teman baru ke halaman chatting, maka akan muncul
pertanyaan ya atau tidak untuk teman yang ditambah.
109
7 Add Friend
Gambar 4.66 Layar Pilihan Add Friend
Untuk menambah daftar teman, user dapat memilih add friend pada
halaman utama.
Gambar 4.67 Layar Add Friend
110
Pada halaman ini user dapat memasukkan username teman yang ingin
ditambah dalam daftar temannya dan menekan ok. Jika user ingin membatalkan
penambahan daftar teman dapat dilakukan dengan menekan tombol cancel.
Gambar 4.68 Layar Error Username Kosong
Jika user menekan tombol ok pada halaman add friend tanpa memasukkan
username maka akan muncul peringatan bahwa username harus diisi.
Gambar 4.69 Layar Error Username tidak Ada
111
Jika username yang dimasukkan pada halaman add friend tidak terdaftar
dalam database maka akan muncul peringatan bahwa username tidak ada.
Gambar 4.70 Layar Error Add Diri Sendiri
Jika user menambah dirinya sendiri pada halaman add friend maka akan
muncul peringatan bahwa user tidak dapat menambah dirinya sendiri.
Gambar 4.71 Layar Error Username telah ditambah
112
Jika user yang menambah username yang telah menjadi temannya maka
akan muncul peringatan bahwa teman tersebut sudah ada dalam daftar temannya.
Gambar 4.72 Layar Tambah Teman sukses
Jika tambah teman sukses maka akan muncul peringatan bahwa
penambahan teman telah sukses.
Gambar 4.73 Layar Error Penambahan Teman
113
Jika user melakukan add friend lebih dari satu kali terhadap user yang
belum melakukan approval maka akan muncul peringatan untuk menunggu
approval user tersebut.
Gambar 4.74 Layar Konfirmasi Penambahan teman
Jika ada user yang menambah user lain, maka akan ada konfirmasi ya atau
tidak untuk menambah user tersebut menjadi temannya.
114
8 Delete Friends
Gambar 4.75 Layar Delete Friend
Untuk menghapus user dari daftar teman dapat dilakukan dengan memilih
teman yang ingin dihapus dan memilih delete friend.
Gambar 4.76 Layar Error Tidak Ada Teman yang Dipilih
Jika tidak ada teman yang dipilih pada saat memilih delete friend maka
akan muncul peringatan untuk memilih teman yang ingin dihapus.
115
Gambar 4.77 Layar Peringatan Penghapus User dari Daftar User Lain
Jika user telah menghapus user lain dari daftar temannya maka akan
muncul peringatan kepada user lain bahwa user telah menghapusnya dari daftar
teman.
Gambar 4.78 Layar Penghapusan Teman Sukses
116
Jika penghapusan teman sukses maka akan muncul peringatan bahwa
penghapusan teman sukses.
9 Ubah Password
Gambar 4.79 Layar Pilihan Change Password
Untuk mengubah password, user dapat memilih change password pada
halaman utama.
Gambar 4.80 Layar Form Ubah Password
117
Pada halaman ini user harus mengiisi semua field yang ada dan isi dari
new pass dan conf pass harus sama. User dapat membatalkan pengubahan
password dengan menekan tombol cancel.
Gambar 4.81 Layar Error Field Kosong
Jika masih ada field yang masih belum diisi pada halaman ubah password
maka akan muncul peringatan bahwa semua field harus diisi.
Gambar 4.82 Layar Error Format Password
118
Jika format password tidak terdiri dari angka dan huruf maka akan muncul
peringatan bahwa password harus mengandung angka dan huruf.
Gambar 4.83 Layar Error Konfirmasi Password Salah
Jika isi dari new pass dan conf pass tidak sama maka akan muncul
peringatan bahwa konfirmasi password salah.
Gambar 4.84 Layar Error Password Lama Salah
Jika isi dari old pass tidak sama dengan yang ada di database maka akan
muncul peringatan bahwa password lama salah.
119
Gambar 4.85 Layar Ubah Password Sukses
Jika pengubahan password sukses maka akan muncul peringatan bahwa
pengubahan password sukses.
4.2.9 Langkah-langkah Pemakaian Web untuk Admin
1 Login
Gambar 4.86 Layar Login Web Admin
Untuk melakukan login, admin harus memasukkan username dan
password ke dalam field yang telah tersedia dan mengklik sign in.
120
Gambar 4.87 Layar Error Field Kosong
Jika field username atau password tidak diisi maka akan muncul
peringatan bahwa username dan password harus diisi.
Gambar 4.88 Layar Error Username atau Password Salah
Jika Username atau password yang dimasukkan tidak sesuai dengan yang
ada di database maka akan muncul peringatan bahwa username atau password
salah.
121
2 Halaman Utama
Gambar 4.89 Layar Halaman Utama
Pada halaman ini admin dapat melakukan penambahan user baru, melihat
komentar dari user, melihat status add friend user, mencari user, mengedit user
dan juga menghapus user.
3 New User
Gambar 4.90 Layar Tambah User
Untuk menambah user, admin harus mengisi semua field yang ada pada
halaman tersebut dan mengklik tombol submit. Untuk menghapus data yang telah
diisi, admin dapat menekan tombol reset.
122
Gambar 5.91 Layar Error Field Kosong
Jika masih ada field yang belum terisi maka akan muncul halaman error
bahwa masih ada field yang belum diisi.
Gambar 5.92 Layar Error Username telah Terdaftar
Jika username yang ingin ditambah telah terdaftar dalam database maka
akan muncul peringatan bahwa username telah terdaftar.
4 View Comment
Gambar 4.93 Layar Melihat Komentar
Admin dapat melihat komentar yang dikirim oleh user dan juga dapat
mengupdate, menghapus, dan menandai bahwa komentar tersebut telah
123
ditanggapi. Untuk menghapus komentar, admin dapat mencentang pada bagian
check dan menekan tombol update/delete. Untuk mengupdate komentar, admin
dapat mengubahnya dengan mengedit tulisan yang ada di comment dan menekan
tombol update/delete.
5 View Friend
Gambar 4.94 Layar View Friend User
Admin dapat melihat daftar teman user dan juga dapat menambah dan
menghapusnya. Untuk menghapus daftar teman user dapat dilakukan dengan
mencentang pada bagian check teman yang ingin dihapus dan mengklik tombol
delete. Untuk kembali ke halaman sebelumnya admin dapat mengklik tombol
back.
6 Add Friend
Gambar 4.95 Layar Add Friend User
Untuk menambah teman dalam daftar teman user, admin dapat
memasukkan username yang ingin ditambah dan mengklik tombol submit.
124
Gambar 4.96 Layar Error Username Tidak Ada
Jika Username yang dimasukkan tidak terdaftar dalam database maka
akan muncul peringatan bahwa username tidak ada.
Gambar 4.97 Layar Error Tidak Dapat Menambah Diri Sendiri
Jika admin menambah username dari user itu sendiri, maka akan muncul
peringatan bahwa tidak dapat menambah user itu sendiri.
Gambar 4.98 Layar Username telah Ditambah
Jika username yang ingin ditambah telah terdaftar sebelumnya maka akan
muncul peringatan bahwa username telah ditambah sebelumnya.
7 View Add Friend
Gambar 4.99 Layar Add Friend yang belum disetujui
125
Layar ini menampilkan user-user yang telah di add oleh user lain, tetapi
belum disetujui atau ditolak oleh user lain sebagai temannya.
8 Edit User
Gambar 4.100 Layar Edit User
Admin dapat mengedit profile user yang terdaftar dalam database, yaitu:
username, password, NIM, e-mail, IP, status login, status chatting, status
persetujuan, dan daftar teman. Untuk mengeditnya admin dapat mengubah
langsung pada field yang bersangkutan dan mengklik tombol submit.
Gambar 4.101 Layar Error Field Kosong
126
Jika ada field kosong yang dihapus oleh admin, seperti: username,
password, NIM, dan e-mail maka akan muncul peringatan bahwa field tersebut
harus diisi.
4.3. Fase Konstruksi
Pada tahap ini, peneliti melakukan tahap pengkodean terhadap hasil
rancangan yang sudah didefinisikan sebelumnya untuk dijadikan program
aplikasi. Pembuatan aplikasi menggunakan beberapa tools atau software antara
lain J2SDK versi 1.6. sebagai platform JAVA, emulator J2ME Wireless Toolkit
versi 2.2 untuk menjalankan aplikasi pada PC, Netbeans untuk membuat user
interface dan source code.
4.3.1. Membuat Project
Proses membuat project Chat Conference pada Netbeans ada beberapa
langkah yaitu:
1. Buka sistem netbeans
Gambar 4.102 Tampilan Sistem Netbeans
127
2. Pilih file “New Project “ berfungsi untuk membuat project baru.
Dalam hal ini J2ME akan meminta informasi terkait dengan project
yang akan dibuat.
Gambar 4.103 Tampilan Sistem Netbeans Membuat Projek Baru
3. Karena peneliti ingin membuat J2ME maka peneliti pilih Categories
Java ME dan Project Mobile Application. Setelah itu kita akan
dihadapkan beberapa pilihan diantaranya : 1. “Next” berfungsi untuk
melanjutkan proses membuat projek baru. 2. ”Cancel” berfungsi untuk
menggagalkan proses pembuatan projek baru. 3. ”Help” berfungsi jika
kita membutuhkan penjelasan akan pembuatan projek pada sistem
netbeans. Maka peneliti pilih Next Untuk melanjutkan proses
pembuatan Chat Conference.
128
Gambar 4.104 Tampilan Sistem Netbeans Untuk Pilihan Project
4. Setelah peneliti memilih Project, maka penelitipun membuat project
name dengan nama Mobile Meeting. Penelitipun tidak mencentang
pilihan Create Hello Midlet karena jika pilihan tersebut di centang
maka sistem Netbeans tersebut membuat Project Hello midlet,
sedangkan peneliti ingin membuat project tersendiri yaitu aplikasi
Chat Conference.
Gambar 4.105 Tampilan Netbeans untuk Membuat Project Name
129
5. Kini penelitipun dihadapkan pilihan untuk menentukan default
platform Selection. Dan peneliti memilih device default color phone
karena ukuran inilah yang cocok untuk ukuran layar yang Handphone
pada umumnya yaitu 240 x 320. Untuk pilihan device configuration
peneliti memilih CLDC -1.1 dan divice profile MIDP-2.0 .
Gambar 4.106 Tampilan Netbeans default platform Selection
6. Setelah selesai semua klik Finish
Gambar 4.107 Tampilan Sistem Netbeans New Project Finish
130
Gambar 4.108 Jendela Mobile Meeting Pada Netbeans
7. Setelah proses membuat nama projek selesai, sekarang peneliti
membuat file baru untuk melanjutkan proses Chat Conference.
Gambar 4.109 Jendela Mobile Meeting File Baru Pada Netbeans
8. Untuk meneruskan pembuatan Chat Conference peneliti memilih
categories MIDP dan file Types Midlet.
131
Gambar 4.110 Jendela Mobile Meeting File baru pada Netbeans
9. Kini peneliti membuat Midlet Name dan MIDP Class Name dengan
nama Mobile Meeting dan package server socket
Gambar 4.111 Jendela Mobile Meeting Name Dan Location Pada
Netbeans
132
Gambar 4.112 Jendela Mobile Meeting Pada Netbeans
10. Setelah membuat New Project dan File New penelitipun membuat
source code program dapat dilihat selengkapnya pada Lampiran.
11. Menjalankan program Aplikasi Chat Conference pada Mobile Phone
dalam PC Caranya, pilih menu Build -> Build Main Project atau
tekan tombol F11 pada keyboard, proses build dapat dilihat pada
gambar di bawah ini.
Gambar 4.113 Proses Build Main Project
12. Setelah melakukan proses build, lalu pilih menu Run -> Run Main
Project atau tekan tombol F6 pada keyboard, proses run dapat dilihat
pada gambar di bawah ini.
133
Gambar 4.114 Proses Run Main Project
Jika Build dan run successful maka Aplikasi Chat Conference
langsung muncul pada sistem Netbeans atau bisa juga kita lihat pada
emulator J2ME Wireless Toolkit versi 2.2.
13. Program yang sudah dibuat dan dilakukan proses build sudah otomatis
menjadi file .JAR yang nantinya akan di distribusikan ke dalam ponsel.
4.3.2 Menjalankan Project
Proses menjalankan project bisa dilakukan dengan satu dari dua cara
berikut : 1. Melalui Menu Project ,Run, atau 2. Melalui Toolbar “Run”
Aplikasi J2ME dijalankan dalam lingkungan yang disebut emulator, yaitu
software yang dirancang agar menyerupai device sesungguhnya. Meskipun
emulator berbentuk software, namun emulator dirancang agar bekerja menyerupai
device sesungguhnya. Aplikasi J2ME yang bisa berjalan dengan baik di emulator
bisa dipastikan akan sukses dijalankan pada device yang sesungguhnya. Berikut
ini adalah tampilan Chat Conference pada emulator.
134
Gambar 4.115 Tampilan Awal Chat Conference Pada Emulator
4.4 Fase Pelaksanaan
Pada fase pelaksanaan, ada beberapa tahapan yaitu menganalisis
spesifikasi kebutuhan ponsel yang dapat digunakan untuk menerapkan aplikasi
ini, pengujian aplikasi pada ponsel dengan syarat–syarat yang telah terpenuhi,
yaitu Nokia C3.
4.4.1 Spesifikasi Ponsel 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 256 Kilobyte atau lebih untuk proses
instalasi aplikasi.
Tombol Untuk menutup Emulator
Nama Aplikasi
Tombol ini harus ditekan untuk mengaktifkan aplikasi
135
Dalam pengimplementasian aplikasi yang dilakukan oleh peneliti,
ponsel Nokia C3 yang dapat dilihat pada gambar 4.116. ponsel tersebut
telah memenuhi kebutuhan spesifikasi minimal ponsel yang digunakan
yang telah disebutkan di atas.
Gambar 4.116 Nokia C3 yang digunakan
Gambar 4.116 adalah Tabel spesifikasi ponsel yang digunakan dalam
pengujian aplikasi Chat Conference.
Tabel 4.19 Tabel Spesifikasi Ponsel yang digunakan
Merk & Tipe Ponsel Nokia C3
Layar TFT 263.144 warna 240 x 320 pixel
136
Spesifikasi :NetworkOperating SystemTransfer dataBrowserJAVAKonektivitasMemori EksternalMemori Internal
Tri Band, UMTSNokiaGPRS 10WAP 2.0JAVA MIDP 2.0Bluetooth, Infrared,WifiStick Pro Duo16 MB
4.4.2 Transfer Aplikasi dari PC ke dalam Ponsel dan Instalasi
Untuk mendistribusikan aplikasi ke dalam ponsel dapat menggunakan
beberapa tools di antaranya: bluetooth, card reader, kabel data, dan infra red.
Dalam hal ini, peneliti menggunakan bluetooth untuk transfer aplikasi ke dalam
ponsel Nokia C3.
Berikut adalah langkah-langkah dalam melakukan transfer aplikasi dari PC
ke dalam ponsel Nokia C3menggunakan media bluetooth.
a) Pasang bluetooth pada port usb serial Komputer.
b) Aktifkan koneksi bluetooth ponsel.
c) Jalankan aplikasi bluesoleil pada komputer.
d) Lalu klik center ball untuk mencari perangkat bluetooth yang akan
dikoneksikan.
e) Lalu double klik icon perangkat yang terkoneksi.
f) Lalu klik file transfer service pada toolbar.
g) Setelah itu copy paste .JAR.
h) Maka akan dilakukan transfer data dari komputer ke dalam ponsel.
i) File .JAR telah ada di ponsel dalam bentuk message atau sms.
137
j) Buka sms berupa file aplikasi yang telah dikirim.
k) File tersebut akan otomatis di install dan setelah selesai proses
instalasi aplikasi tersebut siap dijalankan.
Hasil dari proses instalasi di atas dapat dilihat pada tampilan dalam
ponsel seperti Gambar 4.117.
Gambar 4.117 Hasil Aplikasi Chat Conference pada HandphoneNokia C3
4.4.3 Evaluasi Aplikasi Chat Conference
Tabel 4.20 merupakan perbandingan dari aplikasi chat conference dengan
Yahoo Messenger Mobile.
Tabel 4.20 Perbandingan Aplikasi Chat Conference dengan
Yahoo Messenger Mobile
Chat Conference YM Mobile
Conference Ya Hanya untuk Blackberry
Transfer File Tidak Hanya untuk Blackberry
Enkripsi Data Ya Tidak
138
Auto Refresh Ya Tidak
Secure Login Ya Ya
Add Friend Ya Ya
Delete Friend Ya Tidak
Change Password Ya Tidak
Register Ya Tidak
Kirim Komentar Ya Tidak
Image Capture Ya Tidak
Pencarian Tidak Ya
Avatar Tidak Ya
Set Status Tidak Ya
Emoticon Tidak Ya
Berdasarkan Tabel 4.55 dapat diketahui bahwa masih banyak fitur-fitur
Yahoo Messenger Mobile yang belum didukung oleh aplikasi chat conference ini.
Tetapi aplikasi chat conference ini juga memiliki beberapa fitur yang tidak
didukung oleh Yahoo Messenger Mobile, misalnya: conference dan enkripsi data.
142
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan dari skripsi chat conference ini adalah sebagai berikut:
1. Rancang bangun Aplikasi chat conference pada Telepon Seluler menggunakan
J2ME ini dapat melakukan pengamanan berupa enkripsi pada setiap kata yang
ditulis, serta dapat menghemat bandwidth karena menggunakan server lokal
serta wi-fi untuk mengaksesnya.
2. Berdasarkan hasil pengujian Black Box Mandiri, aplikasi ini dapat diterapkan
pada ponsel Nokia C3, dengan kinerja aplikasi pada ponsel tersebut dapat
dikatakan sudah berjalan dengan baik sesuai dengan hasil yang diperoleh yaitu
ponsel dapat membuka aplikasi chat conference.
3. Berdasarkan analisis hasil respon user, aplikasi ini telah sesuai dan cukup baik
digunakan untuk aplikasi chat conference.
5.2 Saran
1. User interface yang dipakai harus didesain kembali agar terlihat lebih user
friendly.
2. Pengembangan fitur-fitur yang terdapat dalam aplikasi agar dapat mendukung
semua fitur-fitur yang terdapat dalam aplikasi instant messaging lain, seperti
Yahoo Messenger.
143
3. Untuk pengembangan lebih lanjut, aplikasi ini dapat berhubungan dengan
aplikasi instant messaging lain, seperti: Yahoo Messenger, MSN, Bee-
Messenger dan lain-lain, sehingga dapat membantu dan memudahkan user
dalam menggunakan berbagai aplikasi instant messaging secara bersamaan.
4. Agar aplikasi ini dapat lebih diketahui oleh masyarakat banyak dengan cara
menghosting ke internet agar seperti layanan chat pada umumnya (Yahoo
Messenger Mobile, Nimbuzz, E-Buddy).
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
1
RANCANG BANGUN APLIKASI CHAT CONFERENCE PADA MOBILE PHONE DENGAN MENGGUNAKAN ENKRIPSI
Septian Fajar NugrahaProgram Studi Teknik Informatika Fakultas Sain dan Teknologi
Universitas Islam Negeri (UIN) Syarif Hidayatullah JakartaEmail: [email protected]
ABSTRAK : Dengan banyaknya orang menggunakan internet, berbagai jenis komunitas muncul untuk saling bertukar informasi satu sama lain dan muncul sebuah kebutuhan untuk melakukan komunikasi secara mobile. Salah satu metode komunikasi internet yang digunakan dalam komunitas adalah menngunakan instant messaging, seperti contohnya adalah Yahoo Messenger Mobile. Tetapi aplikasi instant messaging yang sudah ada seperti Yahoo Messenger Mobile menggunakan server yang diletakan diluar negeri dimana harga bandwidth internasonal lebih mahal dibandingkan dengan harga bandwidthlokal dan juga keamanan dalam melakukan chating masih belum terjamin. Selain itu, Yahoo Messenger Mobile masih belum mendukung fitur conference dimana user dapat melakukan chatting dengan lebih dari satu orang, kecuali pada BlackBerry. Oleh sebab itu,dalam penelitian ini dirancang sebuah aplikasi chatting yang berjalan pada handphonedengan menggunakan server lokal, mendukung conference dan enkripsi untuk memproteksi data ketika sedang melakukan komunikasi melalui instant messaging. Pada penulisan ini akan dibahas tentang pengembangan aplikasi chatting pada telepon seluler menggunakan fasilitas Wifi. Aplikasi ini mampu melakukan pengiriman dan penerimaan pesan berupa teks dan gambar saat menerima pesan dengan memanfaatkan fasilitas Wifi. Sehingga dengan adanya aplikasi ini percakapan pada jarak ± 200 meter dapat dilakukan tanpa mengeluarkan biaya pulsa. Adapun bahasa pemrograman yang digunakan untuk membuat aplikasi tersebut adalah J2ME sebagai bahasa pemrograman untuk aplikasi yang dijalankan pada telepon seluler yg telah mendukung Java MIDP 2.0.
Kata Kunci: Chat, Wifi, Telepon Seluler, J2ME
ABSTRACT : Abstract With so many people use the Internet, various types ofcommunity appears to exchange information with one another and appeared a need toperform in mobile communication. One of the methods used in Internet communications ismenngunakan instant messaging communities, such as for example is the YahooMessenger Mobile. But instant messaging applications that already exist such as YahooMessenger Mobile uses servers that are placed outside the country where the internationalbandwidth prices more expensive than the price of local bandwidth and also security indoing chat is still not guaranteed. In addition, Yahoo Messenger Mobile is still notsupporting the conference feature where users can chat with more than one person, excepton the BlackBerry. Therefore, in this research designed a chat application that runs onmobile phone by using a local server, supporting the conference and encryption to protectdata while communicating through instant messaging. At this writing will be discussed onapplication development chatting on cell phones using the Wifi facilities. This application is capable of sending and receiving text and picture messages while receiving messagesusing Wifi facilities. So with this application a conversation at a distance of ± 200 meterscan be done without the cost of credit. The programming language used to create J2MEapplication is as a programming language for applications that run on mobile phones that already supports Java MIDP 2.0.
Keywords: Chat, Wifi, Mobile Phone, J2ME
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
2
PENDAHULUAN
Saat ini perkembangan teknologi komunikasi semakin cepat, seperti yang kita ketahui, internet sudah sangat mudah diakses setiap orang dari berbagai kalangan tak terbatas oleh umur. Dengan banyaknya orang menggunakan internet, berbagai jenis komunitas muncul untuk saling bertukar informasi satu sama lain dan muncul sebuah kebutuhan untuk melakukan komunikasi secara mobile. Namun, untuk membuat suatu komunitas diperlukan media yang dapat berkomunikasi dengan sesama anggota komunitas.
Salah satu metode komunikasi internet yang digunakan dalam komunitas adalah menggunakan instant messaging, seperti contohnya adalah Yahoo Messenger Mobile. Untuk mengatasi masalah tersebut maka digunakan sebuah aplikasi yang dapat mengakses hasil tangkapan kamera melalui handphone, handphone yang dimaksud mendukung teknologi Java, mempunyai fasilitas GPRS&Wifi.
Instant messaging sudah banyak dipakai oleh banyak orang, tidak luput dari semua kalangan, baik tua maupun muda, karena instant messagingmerupakan sarana komunikasi yang cepat, murah dan mudah digunakan. Tetapi aplikasi instant messaging yang sudah ada seperti Yahoo Messenger Mobile menggunakan server yang terletak di luar negeri dimana harga bandwidth internasional lebih mahal dibandingkan dengan harga bandwidthlokal dan juga keamanan dalam melakukan chatting masih belum terjamin.
ANALISA DAN PEMBAHASAN
Untuk pengembangan sistem, penulis menggunakan metode RAD (Rapid Application Development) yang
terdiri atas fase menentukan tujuan dan syarat-syarat informasi, fase perancangan, fase konstruksi, dan fase pelaksanaan sesuai dengan fase-fase Rancang Bangun aplikasi Chat Conference pada Mobile Phone dengan menggunakan Enkripsi Dengan Fitur Tambahan Browsing ke Wikipedia yang digambarkan pada gambar 1.
Gambar 1. Fase-Fase RAD James Martin (Kendall & Kendall, 2006: 238)
1. Fase menentukan Tujuan dan Syarat-syarat Informasi Tujuan Informasi
Pada tahap ini dilakukan Studi Feasibilitas, Kelengkapan Data yang Digunakan dan terakhir Kelengkapan Software dan Hardware yang Digunakan.
Tujuan adanya aplikasi ini antara lain : ditujukan untuk mempermudah, mempelajari dan mengetahui istilah teknologi informasi secara cepat, mudah dan efisien karena menggunakan media ponsel.
2. Fase Perancangan
Unified Modelling Language (UML)
Dalam perancangan program aplikasi Chat Conference menggunakan notasi UML sebagai case tool dalam merancang proses yang akan terjadi dalam sistem, yakni dengan membuat use case diagram, class diagram,Statechart Diagram, Activity Diagram,Sequence Diagram, Collaboration Diagram, Component Diagram,Deployment Diagram, Perancangan Struktur Menu dan Perancangan Antarmuka (user interface).
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
3
Proses diambil dari akibat dari suatu kajadian khusus.
Gambar 2. Use Case Diagram Aplikasi Chat Conference
Class Diagram
Agar lebih memudahkan dalam pembuatan program, maka penulis membuat class diagram yang akan menggambarkan alur program secara umum. Class diagram tersebut dapat digambarkan sebagai berikut :
Gambar 3. Class Diagram Aplikasi Chat conference
Inter Face (Antar Muka)
Pemakai memberikan fasilitas komunikasi antar pemakai dan sistem, memberikan berbagai fasilitas informasi dan berbagai keterangan yang bertujuan untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan solusi.
Gambar 4. Tampilan Awal Chat Conference
3. Fase Konstruksi
Pada tahap ini, peneliti melakukan tahap pengkodean terhadap hasil rancangan yang sudah didefinisikan sebelumnya untuk dijadikan program aplikasi. Pembuatan aplikasi menggunakan beberapa tools atau software antara lain J2SDK versi 1.6. sebagai platform JAVA, emulator J2ME Wireless Toolkit versi 2.2 untuk menjalankan aplikasi pada PC, Netbeansuntuk membuat user interface dan source code.
1. Instalasi JDK versi 1.5.0_022. Instalasi Java ME SDK 3.0
4. Fase Pelaksanaan
Spesifikasi ponsel yang digunakan
Menjelaskan spesifikasi minimal yang harus dimiliki oleh ponsel yang
Tombol Untuk menutup Emulator
Nama Aplikasi
Tombol ini harus ditekan untuk
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
4
akan menerapkan aplikasi ini sebagai berikut :
1. Mendukung aplikasi JAVA MIDP versi 2.0
2. Memiliki memori minimal 256 Kilobyte atau lebih untuk proses instalasi aplikasi
3. Memiliki fasilitas Wifi danBluetooth sebagai media transfer data
Dalam pengimplementasian aplikasi yang dilakukan oleh penulis, ponsel yang digunakan adalah Nokia C3. Ponsel tersebut telah memenuhi kebutuhan spesifikasi minimal ponsel yang digunakan yang telah disebutkan di atas.
Transfer aplikasi dari PC ke ponsel dan Instalasi
Menjelaskan tahapan-tahapan transfer aplikasi dari PC ke dalam ponsel Nokia C3 dengan media kabel data dan bluetooth, kemudian dilakukan proses instalasi aplikasi dalam ponsel.
Pengujian aplikasi
Menjelaskan proses pengujian aplikasi yang bertujuan untuk melihat jalannya aplikasi. Pada tahap pengujian aplikasi ini dilakukan dengan dua tahap pengujian yaitu :
1. Pengujian dengan cara Blackbox Mandiri, yaitu dengan melakukan pengujian langsung pada ponsel dalam pengujian ini penulis menggunakan ponsel Nokia C3 guna mendapatkan validitas aplikasi ini.
2. Respon oleh user (pengguna) tentang aplikasi, berupa angket yang berisi pertanyaan yang meminta tanggapan user setelah menggunakan aplikasi ini yang diberikan kepada 20 (dua puluh) user yang diambil dari teman-teman kampus dan lingkungan
rumah penulis. Angket ini bertujuan untuk mendapatkan tingkat validitas apabila digunakan langsung oleh pengguna. Angket berupa pertanyaan yang berhubungan dengan aplikasi.
Analisis hasil pengujian
Untuk mengetahui apakah aplikasiyang dibangun dapat berjalan denganbaik pada ponse l yang memenuhi kriteria spesifikasi minimum perangkat lunak serta memenuhi syarat-syarat pembuatan Chat Conference. Pada tahapanalisis hasil pengujian aplikasi, merupakan hasil dari tahap pengujian aplikasi, yang dilakukan dengan dua tahap yaitu :
1.Analisis hasil pengujian dengan cara Black box Mandiri, yaitu menganalisa hasil pengujian yang telah didapatkan, melalui pengujian langsung terhadap ponsel.
2.Analisis hasil respon user berupa angket yang diberikan kepada pengguna yang menghasilkan penilaian terhadap aplikasi yang dibangun dengan nilai persentase tingkat kepuasan terhadap aplikasi.
Enkripsi Subtitusi
Pada kode sandi kita, plaintext 16-bit dipecah menjadi empat sub-blok 4-bit. Setiap sub-blok menjadi masukan ke dalam kotak S 4x4 ( Kotak Subtitusi dengan masukan 4-bit dan keluaran 4-bit ), yang dengan mudah dapat diimplementasikan dengan tabel lookupdari 16 nilai 4-bit, yang diberi indek dengan interger yang dinyatakan dengan masukan 4-bit. Sifat yang paling fundamental dari kotak-S adalah memiliki pemetaan yang tidak linier,
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
5
sehingga keluaran kotak subtitusi tidak dapat dinyatakan sebagai operasi linier dari masukannya
0 1 2 3 4 5 6 7 8 9 A B C D E F
E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7
Tabel 1. Pemetaan Kotak Subsitusi (Dalam Hexadesimal)
KESIMPULAN DAN SARAN
1. Rancang bangun Aplikasi chat conference pada Telepon Seluler menggunakan J2ME ini dapat melakukan pengamanan berupa enkripsi pada setiap kata yang ditulis, serta dapat menghemat bandwicth karena menggunakan server lokal serta wifi untuk mengaksesnya. Berdasarkan hasil pengujian Black Box Mandiri, aplikasi ini dapat diterapkan pada ponsel Nokia C3, dengan kinerja aplikasi pada ponsel tersebut dapat dikatakan sudah berjalan dengan baik sesuai dengan hasil yang diperoleh yaitu ponsel dapat membuka aplikasi chat conference.
2. Untuk pengembangan lebih lanjut, aplikasi ini dapat berhubungan dengan aplikasi instant messaging lain, seperti: Yahoo Messenger, MSN, Bee-Messenger dan lain-lain, sehingga dapat membantu dan memudahkan user dalam menggunakan berbagai aplikasi instant messaging secara bersamaan. Agar aplikasi ini dapat lebih diketahui oleh masyarakat banyak dengan cara menghosting ke internet agar seperti layanan chat pada umumnya (Yahoo Messenger Mobile, Nimbuzz, E-Buddy).
DAFTAR PUSTAKA
Arianto, Hidayat R. Belajar Database MySQL, 2003.
Booch, Grady., Rumbaugh, James., and Jacobson, Ivar. The Unified Modelling Language User Guide. 3rd. Addison-Wesley, 1999.
Britton, Carol, Jill Doake. Object-oriented systems Development: A Gentle Introduction. International Edition. McGraw Hill, 2001.
Connolly, Thomas dan Carolyn Begg. Database Systems. Fourt Edition. Addison-Wesley, USA, 2005.
Kenneth E. Kendall, Jullie E. Kendall. Analisis dan Perancangan Sistem, Edisi Kelima, PT Prenhallindo Jakarta, 2003.
Muchow, John W. Core J2ME Technology & MIDP, Sun Microsystem, Prentice Hall PTR, 2002.
Nokia - Ponsel C3 – Spesifikasi, Nokia C3 Spesifikasi, http://www.nokia.co.id/cari-produk/ponsel/nokia-C3/spesifikasidiakses pada 26 Oktober 2010 09:37 WIB.
Pressman, Roger S. Rekayasa Perangkat Lunak Panduan Praktisi (Buku Satu), Andi Publisher, Jogjakarta, 2006.
Shalahuddin, M., Rosa A.S. PEMROGRAMAN J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile, Informatika, Bandung, 2006.
Valade J. PHP 5 For Dummies. Wiley Publishing, Indiana, 2004.
Wicaksono, Ady. Dasar-dasar Pemrograman Java 2, PT Elex Media Komputindo, Jakarta, 2002.
Wicaksono, Ady. Pemrograman Aplikasi Wíreless Dengan Java, PT Elex Media Komputindo, Jakarta, 2002.
144
DAFTAR PUSTAKA
Arianto, Hidayat R. Belajar Database MySQL, 2003.
Booch, Grady., Rumbaugh, James., and Jacobson, Ivar. The Unified Modelling Language User Guide. 3rd. Addison-Wesley, 1999.
Britton, Carol, Jill Doake. Object-oriented systems Development: A Gentle Introduction. International Edition. McGraw Hill, 2001.
Connolly, Thomas dan Carolyn Begg. Database Systems. Fourt Edition. Addison-Wesley, USA, 2005.
Kenneth E. Kendall, Jullie E. Kendall. Analisis dan Perancangan Sistem, Edisi Kelima, PT Prenhallindo Jakarta, 2003.
Maner, Walter, RAPID APPLICATION DEVELOPMENT, http://csweb.cs.bgsu.edu/maner/domains/RAD.htm#2 diakses pada 24 Agustus 2010 00.23 WIB.
Muchow, John W. Core J2ME Technology & MIDP, Sun Microsystem, Prentice Hall PTR, 2002.
Nokia - Ponsel C3 – Spesifikasi, Nokia C3 Spesifikasi, http://www.nokia.co.id/cari-produk/ponsel/nokia-C3/spesifikasi diakses pada 26 Oktober 2010 09:37 WIB.
Pressman, Roger S. Rekayasa Perangkat Lunak Panduan Praktisi (Buku Satu), Andi Publisher, Jogjakarta, 2006.
Shalahuddin, M., Rosa A.S. PEMROGRAMAN J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile, Informatika, Bandung, 2006.
Valade J. PHP 5 For Dummies. Wiley Publishing, Indiana, 2004.
Wicaksono, Ady. Dasar-dasar Pemrograman Java 2, PT Elex Media Komputindo, Jakarta, 2002.
Wicaksono, Ady. Pemrograman Aplikasi Wíreless Dengan Java, PT Elex Media Komputindo, Jakarta, 2002.
I-1
LAMPIRAN I
PROSES KONSTRUKSI PROGRAM DAN HASIL TAMPILAN APLIKASI
I-2
Proses membuat project Chat Conference pada Netbeans ada beberapa
langkah diantaranya:
1. Buka sistem netbeans
Gambar I-1 Tampilan Sistem Netbeans
2. Pilih file “New Project “ berfungsi untuk membuat project baru.
Dalam hal ini J2ME akan meminta informasi terkait dengan project
yang akan di buat.
Gambar I-2 Tampilan Sistem Netbeans membuat projek baru
I-3
3. Karena penulis ingin membuat J2ME maka penulis pilih Categories
Java ME dan Project Mobile Application. Setelah itu kita akan
dihadapkan beberapa pilihan diantaranya : 1. “Next” berfungsi untuk
melanjutkan proses membuat projek baru. 2. ”Cancel” berfungsi untuk
menggagalkan proses pembuatan projek baru. 3. ”Help” berfungsi jika
kita membutuhkan penjelasan akan pembuatan projek pada sistem
netbeans. Maka penulis pilih Next Untuk melanjutkan proses
pembuatan Chat Conference.
Gambar I-3 Tampilan Sistem Netbeans untuk pilihan Project
4. Setelah penulis memilih Project, maka penulispun membuat project
name dengan nama Mobile Meeting. Penulispun tidak mencentang
pilihan Create Hello Midlet karena jika pilihan tersebut di centang
maka sistem Netbeans tersebut membuat Project Hello midlet,
sedangkan penulis ingin membuat project tersendiri yaitu aplikasi Chat
Conference.
I-4
Gambar I-4 Tampilan Netbeans untuk membuat project name
5. Kini penulispun dihadapkan pilihan untuk menentukan default
platform Selection. Dan penulis memilih device default color phone
karena ukuran inilah yang cocok untuk ukuran layar yang Handphone
pada umumnya yaitu 240 x 320. Untuk pilihan device configuration
penulis memilih CLDC -1.1 dan divice profile MIDP-2.0 .
Gambar I-5 Tampilan Netbeans default platform Selection
I-5
6. Setelah selesai semua klik Finish
Gambar I-6 Tampilan Sistem Netbeans New Project Finish
Gambar I-7 Jendela Mobile Meeting pada Netbeans
I-6
7. Setelah proses membuat nama projek selesai, sekarang penulis
membuat file baru untuk melanjutkan proses Chat Conference.
Gambar I-8 Jendela Mobile Meeting File baru pada Netbeans
8. Untuk meneruskan pembuatan Chat Conference penulis memilih
categories MIDP dan file Types Midlet.
Gambar I-9 Jendela Mobile Meeting File baru pada Netbeans
I-7
9. Kini penulis membuat Midlet Name dan MIDP Class Name dengan
nama Mobile Meeting dan package server socket
Gambar I-10 Jendela mobile meeting Name dan location pada
Netbeans
Gambar I-11 Jendela Mobile Meeting Pada Netbeans
10. Setelah membuat New Project dan File New penulispun membuat
source code program dapat dilihat selengkapnya pada lampiran.
11. Menjalankan program Aplikasi Chat Conference pada Mobile Phone
dalam PC Caranya, pilih menu Build -> Build Main Project atau
I-8
tekan tombol F11 pada keyboard, proses build dapat dilihat pada
gambar di bawah ini.
Gambar I-12 Proses Build Main Project
12. Setelah melakukan proses build, lalu pilih menu Run -> Run Main
Project atau tekan tombol F6 pada keyboard, proses run dapat dilihat
pada gambar di bawah ini.
Gambar I-13 Proses Run Main Project
Jika Build dan run successful maka Aplikasi Chat Conference
pun langsung muncul pada sistem netbeans atau bisa juga kita lihat
pada emulator J2ME Wireless Toolkit versi 2.2.
Program yang sudah dibuat dan dilakukan proses build sudah otomatis
menjadi file .JAR yang nantinya akan di distribusikan ke dalam ponsel.
I-9
Setelah proses konstruksi program selesai, penulis
menjalankan aplikasi pada Java ME Software Development Kit 2.2
dimana hasilnya dapat kita lihat pada gambar I-14.
Gambar I-14 Rancangan Layar saat memulai aplikasi dan Rancangan Layar list teman user
Gambar I-15 Layar Error Username atau Password Salah dan Layar Error Belum Verifikasi Account
I-10
Gambar I-16 Layar Error User telah Login dan Layar Pilihan Register
Gambar I-17 Layar Form Register dan Layar Error Field Kosong
I-11
Gambar I-18 Layar Error Format Password Salah danLayar Error Confirm Password Salah
Gambar I-19 Layar Error Panjang NIM Salah dan Layar Error Format E-mail Salah
I-12
Gambar I-20 Layar Error Username telah Dipakai dan Layar Register Sukses
Gambar I-21 Layar Pilihan Contact Us dan Layar Form Contact Us
I-13
Gambar I-22 Layar Error Field Kosong dan Layar Error Format E-mail
Gambar I-23 Layar Error Username tidak Ada dan Layar Kirim Komentar Sukses
I-14
Gambar I-24 Layar Pilihan Chat dan Layar Error tidak Memilih Teman
Gamabar I-25 Layar Konfirmasi Chat dan Layar Pilihan Send Message
I-15
Gamabar I-26 Layar Ketik Pesan dan Layar Pilihan View Cam
Gambar I-27 Layar Pilihan User yang Ingin Dilihat Gambarnya dan Layar Konfirmasi Lihat Gambar
I-16
Gambar I-28 Layar Permintaan Lihat Gambar Ditolak dan Layar Hasil Penangkapan Gambar
Gamabar I-29 Layar Pilihan Add Member dan Layar Pilih Member Baru
I-17
Layar Pilih Member Baru
Gambar I-30 Layar Error Tidak ada User yang Dipilih dan Layar Konfirmasi Add Member
Gambar I-31 Layar Pilihan Add Friend dan Layar Add Friend
I-18
Gambar I-32 Layar Error Username Kosong dan Layar Error Username tidak Ada
Gambar I-33 Layar Error Add Diri Sendiri dan Layar Error Username telah ditambah
I-19
Gambar I-34 Layar Tambah Teman sukses dan Layar Error Penambahan Teman
Gambar I-35 Layar Konfirmasi Penambahan teman dan Layar Delete Friend
I-20
Gambar I-36 Layar Error Tidak Ada Teman yang Dipilih dan Layar Peringatan Penghapus User dari Daftar User Lain
Gambar I-37 Layar Penghapusan Teman Sukses dan Layar Pilihan Change Password
I-21
Gambar I-38 Layar Form Ubah Password dan Layar Error Field Kosong
Gambar I-39 Layar Error Format Password dan Layar Error Konfirmasi Password Salah
I-22
Gambar I-40 Layar Error Password Lama Salah dan Layar Ubah Password Sukses
Gambar I-41 Layar Login Web Admin Dan Layar Error Field Kosong
I-23
Gambar I-42 Layar Error Username atau Password Salah
Gambar I-43 Layar Halaman Utama
Gambar I-44 Layar Tambah User
I-24
Gambar I-45 Layar Error Field Kosong
Gambar I-46 Layar Error Username telah Terdaftar
Gambar I-47 Layar Melihat Komentar
I-25
Gambar I-48 Layar View Friend User
Gambar I-49 Layar Add Friend User
Gambar I-50 Layar Error Username Tidak Ada
Gambar I-51 Layar Error Tidak Dapat Menambah Diri Sendiri
I-26
Gambar I-52 Layar Username telah Ditambah
Gambar I-53 Layar Add Friend yang Belum Disetujui
Gambar I-54 Layar Edit User
Gambar I-55 Layar Error Field Kosong
II-1
LAMPIRAN IISOURCE CODE
I.
II.
II-2
MOBILEMEETINGMIDLET
package MIDlet;
import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import org.netbeans.microedition.lcdui.LoginScreen;import java.util.*;import Connection.*;import Socket.*;import Database.*;import Camera.*;import Image.*;
public class MobileMeetingMIDlet extends MIDlet implements CommandListener,Runnable,IncomingReceiveListener {
//<editor-fold defaultstate="collapsed" desc=" My Fields "> Controller ctr; ClientSocket cs; Vector vChat; Vector vFriends; User usr; Thread t; Cam cam; SetImage si; GetImage gi; String users; String fromName; String with; Integer idx[]; //</editor-fold>
public void refreshListFriends(){ if (ListFriends!=null) ListFriends.deleteAll(); vFriends.removeAllElements(); vFriends = ctr.getFriends(); for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); ListFriends.append(frn.getUsername(),null); if (frn.getIsBusy().equals("1")){ ListFriends.set(ListFriends.size()-1,frn.getUsername() + " is busy",null); } else if(frn.getIsLog().equals("0")){ ListFriends.set(ListFriends.size()-1,frn.getUsername() + " is offline",null); } } }
public void run() { cs = new ClientSocket(this,usr.getUsername(),usr.getUserId()); } public void doSend(String msg){ if (!users.equals("")) { users = users.substring(0,users.length()-1); cs.sendMessage((char)244 + "m" + users + (char)244 + msg); } } public boolean cekFriendSel(Friend frn){ for (int i=0;i<vChat.size();i++) { Friend frnTemp = (Friend)vChat.elementAt(i); if (frn.getUsername().equals(frnTemp.getUsername())) return false; }
II-3
return true; }
public void sendNotify(){ users = ""; for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (frn.getIsLog().equals("1")&&frn.getIsBusy().equals("0")){ users = users + frn.getUsername() + (char)245; } } doSend("N-T-Y");
}
public void sendNotifyADF(String fromName){ users = ""; for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (frn.getUsername().equals(fromName)&&frn.getIsLog().equals("1")&&frn.getIsBusy().equals("0")){ users = users + frn.getUsername() + (char)245; break; } } doSend("N-T-Y"); }
public void sendAddFriend(String frnName){ users = ""; users = users + frnName + (char)245; doSend("A-D-F"); }
public void sendDelFriend(){ users = ""; for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); if (frn.getIsLog().equals("1")){ users = users + frn.getUsername() + (char)245; } } doSend("D-L-F"); }
public void sendNotifyBusy(){ users = ""; for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (frn.getIsLog().equals("1") && cekFriendSel(frn)) { users = users + frn.getUsername() + (char)245; } } doSend("N-T-Y"); } public void sendChat(){ String vChatSel =""; users = ""; for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); vChatSel = vChatSel + (char)243 + frn.getUsername(); } for (int i=0;i<vChat.size();i++) {
II-4
Friend frn = (Friend)vChat.elementAt(i); users = users + frn.getUsername() + (char)245; } doSend("C-H-T" + usr.getUsername() + vChatSel); }
public void sendAddMember(){ String vChatSel =""; users = ""; with = TickerListChat.getString(); for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); vChatSel = vChatSel + (char)243 + frn.getUsername(); } for (int i=0;i<ListAddMember.size();i++) { if (ListAddMember.isSelected(i)) { with = with + " - " + ListAddMember.getString(i); vChatSel = vChatSel + (char)243 + ListAddMember.getString(i); } } for (int i=0;i<ListAddMember.size();i++) { if (ListAddMember.isSelected(i)) { for (int j=0;j<vFriends.size();j++) { Friend frn = (Friend)vFriends.elementAt(j); if (frn.getUsername().equals(ListAddMember.getString(i))) { vChat.addElement(vFriends.elementAt(j)); break; } } users = users + ListAddMember.getString(i) + (char)245; } } TickerListChat.setString(with); doSend("C-H-T" + usr.getUsername() + vChatSel); }
public void sendNotifyAddMember(){ String vChatSel =""; users = ""; for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); users = users + frn.getUsername() + (char)245; } for (int i=0;i<ListAddMember.size();i++) { if (ListAddMember.isSelected(i)) { vChatSel = vChatSel + (char)243 + ListAddMember.getString(i); } } vChatSel = vChatSel.substring(1); doSend("N-A-M" + vChatSel); }
public void sendQuit(){ users = ""; for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); users = users + frn.getUsername() + (char)245; }
II-5
doSend("Q-U-T"); }
public String cekOB(String user) { if (user.indexOf("is busy")!=-1){ user = user.substring(0,user.length() - " is busy".length()); } else if (user.indexOf("is offline")!=-1) { user = user.substring(0,user.length() - " is offline".length()); } return user; }
public void sendCam(String frnName) { users = frnName + (char)245; doSend("C-A-M"); } public void sendCapture(String fromName) { users = fromName + (char)245; doSend("C-A-P"); }
public void sendNoCapture(String fromName) { users = fromName + (char)245; doSend("N-C-P"); }
public Displayable getCurrent() { Display display = getDisplay(); return display.getCurrent(); }
public void refreshListAddMember(){ if (ListAddMember!=null) ListAddMember.deleteAll(); vFriends.removeAllElements(); vFriends = ctr.getFriends(); for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (frn.getIsLog().equals("1")&&frn.getIsBusy().equals("0")){ ListAddMember.append(frn.getUsername(),null); } } }
public void refreshListCam(){ if (ListCam!=null) ListCam.deleteAll(); for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); ListCam.append(frn.getUsername(),null); } }
public boolean cekFriends(String username,String Sel[]){ for (int i=0;i<Sel.length;i++){ if (Sel[i].equals(username)){ return true; } } return false; }
public void refreshListChat() { for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i);
II-6
if (frn.getUsername().equals(fromName)) { vChat.removeElementAt(i); } } with = ""; for (int i=0;i<vChat.size();i++) { Friend frn = (Friend)vChat.elementAt(i); with = with + frn.getUsername() + " - "; } if (vChat.size()!=0) { with = with.substring(0,with.length()-3); } TickerListChat.setString(usr.getUsername() + " -> " + with); if (getCurrent().equals(ListCam)) refreshListCam(); if (getCurrent().equals(ListAddMember)) refreshListAddMember(); }
public void handleIncomingMessage(String fromName, String content) { if (content.length()>=5) { if (content.substring(0,5).equals("C-H-T")) { with = ""; if (ListChat!=null) ListChat.deleteAll(); vChat.removeAllElements(); String chatSel[] = ctr.split(content.substring(5), (char)243 + ""); for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (cekFriends(frn.getUsername(),chatSel)) { with = with + frn.getUsername() + " - "; vChat.addElement(vFriends.elementAt(i)); } } with = with.substring(0,with.length()-3); getListChat(); TickerListChat.setString(usr.getUsername() + " -> " + with); getAlertAppChat().setString(fromName + " invites you to chat"); switchDisplayable(getAlertAppChat(), getListFriends()); } else if (content.substring(0,5).equals("N-A-M")) { String memberSel[] = ctr.split(content.substring(5), (char)243 + ""); with = TickerListChat.getString(); for (int i=0;i<vFriends.size();i++) { Friend frn = (Friend)vFriends.elementAt(i); if (cekFriends(frn.getUsername(),memberSel)) { with = with + " - " + frn.getUsername(); vChat.addElement(vFriends.elementAt(i)); } } TickerListChat.setString(with); } else if (content.substring(0,5).equals("Q-U-T")) { this.fromName = fromName; refreshListChat(); } else if (content.substring(0,5).equals("C-A-M")) { this.fromName = fromName; getAlertCam().setString(fromName + " want to view your cam"); switchDisplayable(getAlertCam(), getListChat()); } else if (content.substring(0,5).equals("C-A-P")) { switchDisplayable(null, getFormCamera());
II-7
try { imageCam.setImage(gi.getImg(fromName + ".jpg")); } catch(Exception e){ e.printStackTrace(); } } else if (content.substring(0,5).equals("N-T-Y")) { refreshListFriends(); if (getCurrent().equals(ListChat)) { this.fromName = fromName; refreshListChat(); } } else if (content.substring(0,5).equals("A-D-F")) { this.fromName = fromName; getAlertAddFrn().setString(fromName + " want to be your friend"); switchDisplayable(getAlertAddFrn(),getCurrent()); } else if (content.substring(0,5).equals("D-L-F")) { getAlertDelFriend().setString(fromName + " had deleted you"); switchDisplayable(getAlertDelFriend(),getCurrent()); refreshListFriends(); } else if (content.substring(0,5).equals("N-C-P")) { getAlertNCP().setString(fromName + " not give permission"); switchDisplayable(getAlertNCP(),getCurrent()); } else { ListChat.append(fromName + " > " + content,null); ListChat.setSelectedIndex(ListChat.size()-1,true); } } else { ListChat.append(fromName + " > " + content, null); ListChat.setSelectedIndex(ListChat.size()-1,true); } }
CONNECT DATA BASE
package Connection;
II-8
import java.sql.*;
public class ConnectDB { Connection con;
Statement st; public void connect()
{try{
Class.forName("com.mysql.jdbc.Driver");con = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/mobilemeeting?user=root&password=","root","");st = con.createStatement();
} catch (Exception e)
{ e.printStackTrace();
}}
public ResultSet query(String query){ connect(); try { ResultSet rs = st.executeQuery(query); if (!rs.next()) return null; return rs; } catch (Exception e) { e.printStackTrace(); return null; } }
public void update(String query){ connect(); try { st.executeUpdate(query); con.close(); } catch (Exception e) { e.printStackTrace(); } }
public String task(String t){ String split[] = t.split("&"); String id = split[1]; if (split[0].equals("friend")){ ResultSet rs = query("select * from MsUser where UserId = " + id); try { String user = rs.getString("Username"); String ip=rs.getString("IP"); int isbusy=rs.getInt("IsBusy"); int islog=rs.getInt("IsLog"); con.close(); return id + "+" + user + "+" + ip + "+" + isbusy + "+" + islog; } catch (SQLException ex) { ex.printStackTrace(); } return ""; } else if (split[0].equals("friends")){ ResultSet rs = query("select FriendId from MsFriend where UserId = " + id); if (rs == null) return ""; try { String str = rs.getString("FriendId"); con.close();
II-9
return str; } catch (SQLException ex) { ex.printStackTrace();
} return ""; } else if (split[0].equals("addfriend")){ ResultSet rs = query("select Username from MsAddFriend af,MsUser u where af.UserId = u.UserId and af.FriendId = " + id); if (rs == null) return ""; try { String str = ""; do{ str = str + rs.getString("Username") + "+"; }while(rs.next()); con.close(); return str.substring(0,str.length()-1); } catch (SQLException ex) { ex.printStackTrace(); } return ""; } else if (split[0].equals("logout")){ update("update MsUser set IsLog = 0,IsBusy = 0 where UserId = " + id); return "1"; } return ""; }
}
CONTROL ADDFRIEND
package Connection;
public class Controller {
II-10
String str; String strs[]; ConnectDB con; public Controller(){ con = new ConnectDB(); }
public String[] split(String source,String regex) { String result[] = null; int lidx = source.lastIndexOf(regex.charAt(0)); int sidx=0,idx=0,n=0; if (lidx!=-1) { for (int i=0;i<source.length();i++){ if ((source.charAt(i) + "").equals(regex)) n++; } result = new String[n+1]; n=0; do{ if (idx==lidx){ idx = source.length(); } else { idx = source.indexOf(regex.charAt(0), sidx); } result[n] = source.substring(sidx,idx); sidx=idx+1; n++; }while(idx != source.length()); } else { result = new String[1]; result[0] = source; } return result; }
public String[] getFriends(String id){ String strss[]; String users[] = new String[1]; int n=0; str = ""; str = con.task("friends&" + id); if (!str.equals("")) { strs = split(str,"+"); users = new String[strs.length]; for (int i=0;i<strs.length;i++) { str = ""; str = con.task("friend&" + strs[i]); if (!str.equals("")) { strss = split(str,"+"); if (strss[4].equals("1")){ users[n] = strss[1]; n++; } } } } return users; }
public String[] doCekAddfriend(String id){ String users[] = new String[1]; str="";
II-11
str = con.task("addfriend&" + id); if (!str.equals("")) { users = split(str,"+"); } return users; }
public String doLogout(String id){ str = con.task("logout&" + id); return str; }}
SERVER SOCKET
import java.net.*;import java.io.*;import java.util.*;import Connection.*;
public class SocketServer implements Runnable {
// Variables for each thread Socket linkto; OutputStream out; InputStream in; String IP = null; String UserID = null; String Username = null; Controller ctr = new Controller(); static Vector connectiontable; // current connections
/////////////////////////////// Main method ////////////////////////
public static void main(String [] args) { // Parent thread - create a server socket and await a connection ServerSocket ss = null; Socket s = null; connectiontable = new Vector(); try { ss = new ServerSocket(9999); System.out.println("Server is Started"); while ((s=ss.accept())!= null) { // Connection received - create a thread SocketServer now; Thread current = new Thread(now = new SocketServer(s)); current.setDaemon(true); connectiontable.addElement(now); // Save talker into vector .. current.start(); // start the user's thread } } catch (Exception e) { e.printStackTrace(); } } ///////////////// Constructor for a new thread //////////////////////
SocketServer (Socket from) { linkto = from; InetAddress source = linkto.getInetAddress(); IP = source.getHostAddress(); System.out.println("Accept Client from " + IP); try { out = linkto.getOutputStream(); in = linkto.getInputStream();
II-12
} catch (Exception e) { e.printStackTrace(); } }
public boolean cekClient(String username,String dests[]) { for (int i=0;i<dests.length;i++) { if (username.equals(dests[i])) return true; } return false; }
public void refreshListFriends(){ String users[]; users = ctr.getFriends(UserID); if (users[0]!=null) { for (int i=0;i<connectiontable.size();i++) { SocketServer person = (SocketServer)connectiontable.elementAt(i); if (cekClient(person.Username,users)) { try { System.out.println("Send String 'N-T-Y' to " + person.Username); person.out.write((enkrip(Username + (char)244 + "N-T-Y") + (char)213).getBytes()); person.out.flush();// Vital - ensure it is sent! } catch (IOException ex) { ex.printStackTrace(); } } }
} }
public String enkrip(String str) { String newstr = ""; int k1=0,k2=0; Random r = new Random(); k1 = Math.abs(r.nextInt()) % 5; while((k2 = Math.abs(r.nextInt()) % 5) == k1); char c[] = str.toCharArray();
char newc[] = new char[str.length()]; for (int i=0;i<newc.length;i++) { newc[i] = (char)((c[i]+k1)-k2); newstr = newstr + newc[i]; } char a = (char) ('a' + k1); char b = (char) ('z' - k2); newstr = a + newstr + b; return newstr; }
public String dekrip(String str) { String newstr = ""; int k1=0,k2=0; k1 = str.substring(0,1).charAt(0) - 'a'; k2 = 'z' - str.substring(str.length()-1,str.length()).charAt(0); str = str.substring(1,str.length() - 1); char c[] = str.toCharArray(); char newc[] = new char[str.length()]; for (int i=0;i<c.length;i++) {
newc[i] = (char)((c[i]+k2)-k1); newstr = newstr + newc[i]; } return newstr; }
public void cekAddFriend() {
II-13
String users[]; users = ctr.doCekAddfriend(UserID); if (users[0]!=null) { for (int i=0;i<users.length;i++) { try { System.out.println("Send String '" + users[i] + (char)244 + "A-D-F' to " + Username); out.write((enkrip(users[i] + (char)244 + "A-D-F") + (char)213).getBytes()); out.flush();// Vital - ensure it is sent! } catch (IOException ex) { ex.printStackTrace(); } } } }
public void run () { String str = null; String sc; String split[]; String dests[]; String message; boolean nty = false; byte data[] = new byte[1]; while (true) { boolean done=false; // read a line from the user try { str = ""; System.out.println("Waiting String from " + Username); if (!nty&&Username!=null) { refreshListFriends(); nty = true; } while (true){ java.util.Arrays.fill(data,(byte)0); in.read(data); if (new String(data).equals((char)213 + "")) break; str = str + (new String(data)); } System.out.println("Receive Encrypted String '" + str + "' from " + Username); str = dekrip(str); System.out.println("Receive String '" + str + "' from " + Username); } catch (IOException e) { done = true;// force exit if there's a problem System.out.println("Force exit from " + Username); } // Handle special cases - user input starts with "(char)244" if (!done&&str!=null&&!str.equals("")) { sc = str.substring(0,2).toString(); if (sc.equals((char)244 + "q")) done = true; else if (sc.equals((char)244 + "u")) { split = str.substring(2,str.length()).toString().split((char)244 + ""); this.Username = split[0]; this.UserID = split[1]; cekAddFriend(); } else if (sc.equals((char)244 + "m")){ split = str.substring(2,str.length()).toString().split((char)244 + ""); dests = split[0].split((char)245 + ""); message = Username + (char)244 + split[1]; for (int i=0;i<connectiontable.size();i++) { SocketServer person = (SocketServer)connectiontable.elementAt(i); if (cekClient(person.Username,dests)) { try { System.out.println("Send String '" + message + "' to " + person.Username); person.out.write((enkrip(message) + (char)213).getBytes()); person.out.flush();// Vital - ensure it is sent! } catch (IOException ex) { ex.printStackTrace();
II-14
} } } } }
// clear out the user if they're done if (done) { if (ctr.doLogout(UserID).equals("1")){ refreshListFriends(); } try { out.close(); // closes needed to terminate connection in.close(); // otherwise user's window goes mute linkto.close(); } catch (Exception e) { e.printStackTrace(); } connectiontable.removeElement(this); break; } } }}
USER
package Database;
public class User { private String UserId; private String Username; private String IP;
public User(String UserId,String Username,String IP){ this.UserId = UserId; this.Username = Username; this.IP = IP; }
public String getUserId(){ return UserId; }
public String getUsername(){ return Username; }
public String getIP(){ return IP; }}
II-15
CLIENT SOCKET
package Socket;
import java.io.*;import javax.microedition.io.*;import Connection.*;import java.util.*;
public class ClientSocket implements Runnable{ // Declaration section // clientClient: the client socket // os: the output stream // is: the input stream
SocketConnection clientSocket = null; OutputStream os = null; InputStream is = null; boolean closed = false; IncomingReceiveListener incomingListener; Controller ctr;
public String enkrip(String str) { String newstr = ""; int k1=0,k2=0; Random r = new Random(); k1 = Math.abs(r.nextInt()) % 5; while((k2 = Math.abs(r.nextInt()) % 5) == k1); char c[] = str.toCharArray(); char newc[] = new char[str.length()]; for (int i=0;i<newc.length;i++) { newc[i] = (char)((c[i]+k1)-k2); newstr = newstr + newc[i]; } char a = (char) ('a' + k1); char b = (char) ('z' - k2); newstr = a + newstr + b; return newstr; }
public String dekrip(String str) { String newstr = ""; int k1=0,k2=0; k1 = str.substring(0,1).charAt(0) - 'a'; k2 = 'z' - str.substring(str.length()-1,str.length()).charAt(0); str = str.substring(1,str.length() - 1); char c[] = str.toCharArray(); char newc[] = new char[str.length()]; for (int i=0;i<c.length;i++) { newc[i] = (char)((c[i]+k2)-k1); newstr = newstr + newc[i]; } return newstr; }
public void sendMessage(String msg) {
II-16
try { os.write((enkrip(msg) + (char)213).getBytes()); os.flush(); } catch (IOException ex) { ex.printStackTrace(); } } public ClientSocket(IncomingReceiveListener incomingListener,String usr,String id) { this.incomingListener = incomingListener; // Initialization section: // Try to open a socket on a given host and port // Try to open input and output streams try { clientSocket = (SocketConnection) Connector.open("socket://192.168.2.2:9999"); os = clientSocket.openOutputStream(); is = clientSocket.openInputStream(); } catch (Exception e) { e.printStackTrace(); } new Thread(this).start(); sendMessage((char)244 + "u" + usr + (char)244 + id); }
public void run(){ String str = null; String split[]; byte data[] = new byte[1]; //once we received that then we want to break. try{ while (true) { str = ""; while (true){ if (is.read(data)==-1) Integer.parseInt("a"); if (new String(data).equals((char)213 + "")) break; str = str + (new String(data)); } str = dekrip(str); split = ctr.split(str,(char)244 + ""); incomingListener.handleIncomingMessage(split[0], split[1]); } } catch (Exception e) { try { os.close(); is.close(); clientSocket.close(); } catch (IOException ex) { ex.printStackTrace(); } } }}
II-17
CONNECT CLIENT TO SERVER
package Connection;
import java.io.*;import javax.microedition.io.*;
public class Connection {
HttpConnection connection = null; InputStream inputstream = null;
public String openCon (String param){ String str = ""; try { connection = (HttpConnection) Connector.open("http://192.168.2.2:80/MobileMeeting/" + param); if (connection.getResponseCode() == HttpsConnection.HTTP_OK) { inputstream = connection.openInputStream(); int length = (int)connection.getLength(); if (length != -1) { byte incomingData[] = new byte[length]; inputstream.read(incomingData); str = new String(incomingData); } } closeCon(); } catch(Exception e){ e.printStackTrace(); } return str; }
public void closeCon (){ if (inputstream!= null) { try { inputstream.close(); } catch( Exception e){} } if (connection != null) { try { connection.close(); } catch(Exception e){} } }
}
III-1
LAMPIRAN III
RANCANG BANGUN APLIKASI CHAT
CONFERENCE PADA MOBILE PHONE DENGAN
MENGGUNAKAN ENKRIPSI
I.
III-2
Pada lampiran ini, akan dilakukan instalasi aplikasi chatting pada
telepon seluler menggunakan fasilitas bluetooth dengan J2ME dengan
spesifikasi minimum telepon selular yang dapat di instal aplikasi ini adalah
memiliki MIDP 2.0, CLDC 1.0 dan sisa memori 110 KB. berikut akan
diuraikan langkah-langkah menginstall aplikasi pada telepon Nokia C3:
1. Lakukan instalasi PC Suite yang terdapat dalam CD ROM paket
penjualan atau dapat di download dari situs nokia di
http://www.nokia.co.id/dukungan-dan-software/software/nokia-pc-
suite/download. Kemudian pilih PC Suite sesuai dengan tipe
telepon selular.
2. Setelah instalasi selesai, Nokia PC Suite akan secara otomatis meminta
mode koneksi yang akan digunakan (Kabel/Infrared/Bluetooth).
3. Pada layar Nokia PC Suite pilih menu Install Java and Symbian
SIS applications to your phone atau pilih menu File lalu pilih
Install Applications.
4. Browse lokasi aplikasi yang akan diinstall (*.jar).
5. Tekan tombol install, maka secara otomatis pada telepon selular
akan meminta Verifikasi untuk menginstall program baru, klik yes.
6. Ketika layar warning muncul, klik continue, kemudian pilih lokasi
aplikasi akan di install (pada memori telepon atau memori eksternal).
IV-1
IV.
LAMPIRAN IV
CONTOH ANGKET, HASIL KUISIONER
DAN PERSENTASE
IV-2
Program Studi Teknik InformatikaFakultas Sains dan TeknologiUniversitas Islam Negeri Syarif HidayatullahJakarta
Kuesioner Penelitian
Saya Septian Fajar Nugraha, dengan NIM 204091002508, Mahasiswa Teknik Informatika Program Non-Reguler Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta, sedang melakukan Penelitian berjudul ”Rancang Bangun Aplikasi Chat Conference Pada Mobile Phone Menggunakan Enkripsi”, dengan inimemohon kesediaannya untuk mengisi kuisioner (pertanyaan) di bawah ini dengan lengkap sesuai dengan petunjuk yang telah ditetapkan. Atas kesediaan dankerjasamanya kami ucapkan terima kasih.
Pekerjaan Anda : ___________________________
Daftar Pertanyaan KuisionerJawablah pertanyaan di bawah ini dengan benar menurut anda !
1. Apakah anda memiliki ponsel yang sudah mendukung aplikasi JAVA MIDP 2.0 ?a. Ya, Merk ponsel anda ____________________ seri _______b. Tidak
2. Menurut anda, apakah aplikasi ini sudah user friendly ?a. Sangat user friendlyb. Cukup User friendlyc. Biasa-biasa sajad. Kurang user friendlye. Tidak user friendly
3. Bagaimana kemudahan dalam penggunaan aplikasi ini ?a. Sangat mudahb. Mudahc. Sedangd. Sulite. Sangat sulit
4. Bagaimana layout tampilan atau user interface pada aplikasi ini ?a. Sangat Bagusb. Bagus c. Sedangd. Kurang Baguse. Tidak Bagus
IV-3
5. Apakah setiap aplikasi ini dijalankan sering timbul gangguan berupa aplikasi hang atau error ?
a. Sangat seringb. Seringc. Jarangd. Kadang-kadange. Tidak pernah
6. device apa yang paling anda suka ketika melakukan chatting?a. PC Desktopb. Notebookc. Mobile Phone
7. Apakah aplikasi ini sudah cukup memenuhi kebutuhan anda untuk berkomunikasi secara gratis?
a. Sangat Cukupb. Cukupc. Sedangd. Kurange. Sangat Kurang
8. Fitur-fitur apa yang anda inginkan dalam aplikasi instant messanging tersebut ? (jawaban boleh lebih dari satu)
a. dapat melakukan chating dengan lebih dari satu orangb. keamanan data dalam penggunaan aplikasi c. dapat dijalankan pada handphone apapun yang mendukung Java
IV-4
HASIL KUESIONER
Dari 20 (dua puluh) orang responden, masing-masing jawabannya sebagai berikut :
Tabel IV.1.Data Sebelum Diolah
Tabel IV.2.Hasil Persentase Data
Jawaban SoalNo
A B C D E1 18 2 0 0 0
2 6 13 1 0 0
3 7 10 3 0 0
4 1 9 10 0 0
5 2 13 4 0 1
6 0 0 2 2 16
7 2 13 3 2 0
Jawaban SoalNo
A B C D E1 90 10 0 0 0
2 30 65 5 0 0
3 35 50 15 0 0
4 5 45 50 0 0
5 10 65 20 0 5
6 0 0 10 10 80
7 10 65 15 10 0
865 5 5 15 10
IV-5
Gambar IV.1 Diagram Batang Hasil Respon User
Tabel IV.3Hasil Presentase dari Tanggapan User
No PertanyaanJumlah Presentase
(%)
1.
Apakah anda memiliki ponsel yang sudah mendukung aplikasi JAVA MIDP 2.0 ?a. Yab. Tidak
90 % 10 %
2. Menurut anda, apakah aplikasi ini sudah user friendly ?d. Sangat user friendlye. Cukup User friendlyf. Biasa-biasa sajag. Kurang user friendlyh. Tidak user friendly
30 % 65 % 5 % 0 % 0 %
3. Bagaimana kemudahan dalam penggunaan aplikasi ini ?a. Sangat mudahb. Mudahc. Sedangd. Sulite. Sangat sulit
35 % 50 % 15 % 0 % 0 %
0%10%20%30%40%50%60%70%80%90%
100%
Presentase
1 2 3 4 5 6 7 8
Nomor Soal
Hasil Kuisioner
E
D
C
B
A
IV-6
4. Bagaimana layout tampilan atau user interface pada aplikasi ini ?a. Sangat Bagusb. Bagus c. Sedangd. Kurang Baguse. Tidak Bagus
5 % 45 % 50 % 0 % 0 %
5. Sesering apa anda melakukan pencariaan istilah teknologi informasi (kamus) ?a. Setiap saatb. Cukup seringc. Kadang-kadangd. Sekali saja e. Tidak pernah
10 % 65 % 20 % 0 % 5 %
6. device apa yang paling anda suka ketika melakukan chatting?a. PC Desktopb. Notebookc. Handphone
50 % 30 % 20 %
7. Apakah aplikasi ini sudah cukup memenuhi kebutuhan anda untuk aplikasi chat conferencepada ponsel ?a. Sangat Cukupb. Cukupc. Sedangd. Kurange. Sangat Kurang
10 % 65 % 15 % 10 % 0 %
8. Fitur-fitur apa yang anda inginkan dalam aplikasi instant messanging tersebut ? (jawaban boleh lebih dari satu)a. dapat melakukan chating dengan lebih dari satu
orangb. keamanan data dalam penggunaan aplikasi c. dapat dijalankan pada handphone apapun yang
mendukung java
65 %
5 %
5 %
Hasil presentase dari kuesioner yang dibagikan kepada 20 user, pada Tabel IV.3
menunjukan semua user menyatakan bahwa Aplikasi Kamus Istilah Teknologi
Informasi pada Telepon Seluler ini sudah sesuai dengan kebutuhan user.