i Oleh :
SEPTIAN FAJAR NUGRAHA
204091002508
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
SYARIF HIDAYATULLAH
ii 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
iii
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. Eng NIP. 197601312009012001
iv
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, MT NIP. 197312092005011002
Pembimbing II,
Arini, M. Eng NIP. 197601312009012001
Pembimbing I,
Ketua
Program Studi Teknik Informatika
Yusuf Durrachman, M.Sc, M.IT NIP. 197105222006041002 Dekan
Fakultas Sains dan Teknologi
DR. Syopiansyah Jaya Putra, M.Sis NIP. 196801172001121001
Qurrotul Aini, MT NIP. 1973303252009012001
v
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAUPUN LEMBAGA MANAPUN.
Jakarta, 10 Desember 2010
vi
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 ada seperti 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 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 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.
vii
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.
viii
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
ix
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.
x
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
xi
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
xii
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
xiii
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
xiv
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
xv
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
xvi
Gambar 2.2 Notasi UML untuk Use Case ... 19
Gambar 2.3Depedency Include …………... 19
Gambar 2.4Depedency Extend ………... 20
Gambar 2.5 Dua kelas yang saling berasosiasi ... 20
Gambar 2.6Boundary Object ... 21
Gambar 2.7Entity Object ………... 21
Gambar 2.8Control 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
xvii
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
xviii
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
xix
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 LayarError Tidak Ada Teman yang Dipilih ... 114
xx
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
xxi
Gambar 4.104 Tampilan Sistem Netbeans untuk pilihanProject ... 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 meetingName 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
xxii
Gambar I.9 Jendela Mobile Meeting File baru pada Netbeans ... I-6 Gambar I.10 Jendela mobile meetingName 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
xxiii
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
xxiv
Gambar I.39 Layar Error Format Password dan Layar ErrorKonfirmasi
Password Salah ... I-21 Gambar I.40 Layar Error Password Lama Salah dan Layar Ubah
xxv
xxvi
xxvii
Istilah
Arti
Bandwith
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.
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
xxviii
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.
xxix
diambil/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, J2ME
configuration
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
xxx
Mobile 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
xxxi
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
website
tersebut 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
roaming
dibebankan 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.
Hacker
menggunakan 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
folder
dengan nama
default
pada
harddisk
dan meng-
copy file-file
dari
CD-ROM
xxxii
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: -
Software
sistem
(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
1
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.
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 Conferencepada 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.
5. Pengujian dan pengimplementasian aplikasi ini peneliti menggunakan ponselNokia 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:
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
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
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 V SIMPULAN DAN SARAN
8
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
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
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
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
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
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
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
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).
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)
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
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
Enkripsi
Gambar 2.2Notasi 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 stereotypedaridepedency:
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.3Depedency Include
fungsi dari use case A bisa disisipkan ke dalam use case B atau dengan kata lain Aoptional untuk B.
[image:52.612.113.505.132.539.2]A <<extend>> B
Gambar 2.4Depedency 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.5Dua kelas yang saling Berasosiasi
5. Stereotypes
Terdapat tiga icon stereotype (Rosenberg, 2001) yang umumnya dipakai untuk menggambarkan objek atau kelas selama analisis robustness dansequence diagram.
1) Boundary Object, objek yang digunakan actor untuk berkomunikasi dengan sistem, objek boundary dapat dilihat pada Gambar 2.6.
Assosiation
Gambar 2.6Boundary 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.7Entity 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.
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
b. Security
Adanya proses verifikasi class file dan fasilitas pengaman lainnya menjamin keamanan komputer atau network yang digunkan untuk menjalankan aplikasisoftware 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
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
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
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)
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
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.
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
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)
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.
2.11 Enkripsi
Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus.
[image:65.612.114.522.245.526.2]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 Kunci
Kunci