PERANCANGAN DAN PEMBUATAN SISTEM DATABASE ALUMNI BERBASIS J2ME DAN IBM DB2
LAPORAN TUGAS AKHIR
Disusun sebagai salah satu syarat untuk menyelesaikan Program Pendidikan Diploma 3
Oleh :
M. FARIZ AKBAR 1005112009
PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI MEDAN MEDAN 2013
ABSTRAK Kegiatan penelusuran alumni ditujukan untuk mengumpulkan data kegiatan yang dilakukan oleh alumni setelah lulus, seperti pekerjaan yang didapat atau pendidikan lanjutan yang diambil. Tetapi berdasarkan pengamatan penulis pada Politeknik Negeri Medan, sistem yang digunakan memiliki beberapa kelemahan, di antaranya harus menggunakan koneksi Internet melalui komputer, tidak menyertakan data pekerjaan atau pendidikan lanjutan yang diambil, serta data seorang alumni tidak dapat dilihat alumni lain. Untuk mengatasi kelemahankelemahan tersebut, digunakan teknologi mobile berbasis Java 2 Mobile Edition (J2ME). Keterbatasan akses Internet dicoba diatasi dengan penggunaan SMS sebagai media transmisi alternatif. Cara kerja sistem informasi dirubah sehingga alumni dapat memasukkan serta memperbarui data pendidikan lanjutan dan riwayat pekerjaan. Juga disediakan fitur pencarian agar seorang alumni dapat melihat data alumni lain. Diharapkan dengan diterapkannya sistem yang baru tersebut, kelemahan-kelemahan yang telah ditemukan di atas dapat diatasi. Kata Kunci: data alumni, sistem informasi, mobile, SMS, database, J2ME
i
KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena berkat rahmat dan karunia-Nya penulis dapat menyelesaikan Laporan Tugas Akhir ini dengan judul “Perancangan dan Pembuatan Sistem Database Alumni Berbasis J2ME dan IBM DB2”. Laporan Tugas Akhir ini merupakan salah satu syarat akademis yang harus ditempuh untuk menyelesaikan Program Diploma 3 pada Program Studi Teknik Komputer Jurusan Elektro Politeknik Negeri Medan. Dalam penyelesaian laporan tugas akhir ini, penulis banyak mendapat saran dan bimbingan serta pengarahan yang bermanfaat. Terima kasih penulis diucapkan kepada:
1.
Keluarga penulis, khususnya Ayah dan Ibu yang telah mendo’akan penulis, memberikan bantuan materi dan dukungan moril sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini dengan baik.
2.
Bapak M. Syahruddin, S.T., M.T., Direktur Politeknik Negeri Medan.
3.
Ibu Ir. Rina Anugrahwaty, M.T., Ketua Jurusan Teknik Elektro Politeknik Negeri Medan.
4.
Bapak Dr. Benny B. Nasution, Dipl. Ing., M. Eng., selaku kepala Program Studi Teknik Komputer Politeknik Negeri Medan.
5.
Bapak Muhammad Sadli, S.T., MBIT., selaku dosen pembimbing yang telah memberikan bimbingan dalam menyelesaikan laporan tugas akhir.
6.
Bapak Drs. Ansharuddin, S.S.T., M.T., selaku Wali Kelas CE-6A.
ii
iii
7.
Seluruh Staf Administrasi dan Laboratorium Program Studi Teknik Komputer Jurusan Teknik Elektro Politeknik Negeri Medan.
8.
Alumni Program Studi Teknik Komputer yang telah memberikan masukan dalam pengerjaan Tugas Akhir serta penulisan laporan dan telah bersedia berpartisipasi dengan menjawab pertanyaan-pertanyaan penulis untuk memperoleh data mengenai Tugas Akhir ini.
9.
Teman-teman penulis di kelas CE-6A yang telah memberikan dukungan dalam berbagai bentuk, memberikan masukan-masukan yang berharga sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini dengan baik.
10. Semua pihak yang telah membantu dalam penyelesaian tugas akhir ini. Dalam penulisan Tugas Akhir ini tentunya masih terdapat kekurangan yang kiranya merupakan kelemahan penulis. Untuk itu, penulis mengharapkan saran dan kritik yang membangun dari semua pihak. Akhir kata semoga tulisan ini bermanfaat bagi pihak yang membacanya. Medan, 22 Agustus 2013 Hormat Penulis,
M. Fariz Akbar NIM. 1005112009
DAFTAR ISI ABSTRAK ........................................................................................................
i
KATA PENGANTAR .......................................................................................
ii
DAFTAR ISI ..................................................................................................... iv DAFTAR GAMBAR ........................................................................................ vi DAFTAR TABEL ............................................................................................. xi DAFTAR LAMPIRAN .................................................................................... xiii BAB 1
PENDAHULUAN ..........................................................................
1
1.1
Latar Belakang ................................................................................
1
1.2
Rumusan Masalah ...........................................................................
3
1.3
Batasan Masalah ..............................................................................
3
1.4
Tujuan Tugas Akhir .........................................................................
3
1.5
Manfaat Tugas Akhir .......................................................................
4
1.6
Metode Tugas Akhir ........................................................................
4
LANDASAN TEORI .....................................................................
6
2.1
Kegiatan Penelusuran Alumni .........................................................
6
2.2
Short Message Service (SMS) .........................................................
6
2.3
Unified Modelling Language ..........................................................
9
2.3.1 Use Cases ...............................................................................
9
BAB 2
2.3.2 Class Diagram ....................................................................... 11 2.3.3 Activity Diagram .................................................................... 14 2.4
Database .......................................................................................... 17 2.4.1 Model Entity-Relationship (E/R) ........................................... 18 2.4.2 Transformasi Model E/R ........................................................ 25 2.4.3 IBM DB2 Database Management System (DBMS) .............. 31
2.5
Java Programming .......................................................................... 33 2.5.1 Java 2 Micro Edition (J2ME) ................................................ 34 2.5.2 Wireless Messaging API (WMA) ........................................... 42 2.5.3 Java Servlet ............................................................................ 43
iv
v
BAB 3
PERANCANGAN SISTEM ......................................................... 46
3.1
Sistem yang Sedang Berjalan .......................................................... 46
3.2
Analisa Kebutuhan .......................................................................... 46 3.2.1 Software Requirement Specification (SRS) ........................... 49
3.3
Perancangan Sistem ......................................................................... 47 3.3.1 Use Case Diagram ................................................................. 47 3.3.2 Deskripsi Sistem ..................................................................... 55 3.3.2.1 Aplikasi Client ......................................................... 56 3.3.2.2 Aplikasi Gateway .................................................... 108 3.3.2.3 Aplikasi Server ........................................................ 118 3.3.3 Rancang Database ................................................................. 125
BAB 4
IMPLEMENTASI SISTEM ......................................................... 131
4.1
Persiapan ......................................................................................... 131
4.2
Pembuatan Database Pada IBM DB2 ............................................. 131
4.3
Penulisan Kode Program ................................................................. 140 4.3.1 Format Pesan Antar Subsistem .............................................. 140 4.3.2 Implementasi Fungsi .............................................................. 143 4.3.3 Implementasi Tampilan .......................................................... 160
4.4
Pengujian ......................................................................................... 178 4.4.1 Lingkungan Pengujian ........................................................... 178 4.4.2 Perangkat Keras ..................................................................... 178 4.4.3 Perangkat Lunak ..................................................................... 182 4.4.4 Fitur-Fitur yang Diuji ............................................................ 183 4.4.5 Pelaksanaan Pengujian ........................................................... 184 4.4.6 Pengembangan yang Dapat Dilakukan .................................. 205 4.4.7 Hasil Uji Berdasarkan Spesifikasi ......................................... 208
BAB 5
KESIMPULAN DAN SARAN ..................................................... 212
5.1
Kesimpulan ...................................................................................... 212
5.2
Saran ................................................................................................ 213
DAFTAR PUSTAKA ........................................................................................ 214 LAMPIRAN ...................................................................................................... 217
DAFTAR GAMBAR Gambar
Halaman
2.1
Call flow untuk MO short message service ..............................................
7
2.2
Call flow untuk MT short message service ..............................................
8
2.3
Contoh use case text ................................................................................. 10
2.4
Contoh use case diagram .......................................................................... 11
2.5
Contoh class diagram ............................................................................... 12
2.6
Contoh atribut dalam class diagram ......................................................... 13
2.7
Contoh asosiasi dalam class diagram ....................................................... 14
2.8
Contoh acivity diagram sederhana ........................................................... 15
2.9
Contoh sub-activity diagram .................................................................... 15
2.10 Contoh activity diagram dengan sub-activity ........................................... 16 2.11 Contoh activity diagram dengan signal .................................................... 17 2.12 Contoh model E-R .................................................................................... 18 2.13 Sejumlah notasi pada model E-R .............................................................. 19 2.14 Tipe Entitas MAHASISWA dengan dua buah instans entitas .................. 20 2.15 Contoh tipe entitas dan atribut-atribut yang melekat ................................ 20 2.16 Atribut pengenal dinyatakan dengan garis bawah pada nama atributnya . 21 2.17 Penggambaran atribut sederhana dan atribut komposit ............................ 22 2.18 Tipe entitas dengan atribut bernilai-banyak .............................................. 22 2.19 Contoh tipe entitas yang melibatkan atribut turunan, yaitu Usia .............. 23 2.20 Contoh hubungan antara tipe entitas MAHASISWA dan DOSEN .......... 23 2.21 Entitas asosiatif antara tipe entitas KLIEN dan RUMAH DIJUAL ......... 25 2.22 Tipe entitas dengan atribut-atribut sederhana ........................................... 26 2.23 Relasi hasil transformasi dari diagram E-R .............................................. 27 2.24 Pembentukan relasi dari atribut komposit ................................................ 27 2.25 Pembentukan relasi yang melibatkan atribut bernilai-banyak .................. 28 2.26 Pembentukan relasi yang melibatkan atribut turunan ............................... 28 2.27 Contoh pembentukan relasi pada hubungan binary 1:1 ............................ 29 2.28 Contoh pembentukan relasi pada hubungan binary 1:M .......................... 30 vi
vii
2.29 Entitas asosiatif dengan kunci primer dan transformasinya ..................... 31 2.30 Logo IBM DB2 ......................................................................................... 31 2.31 Pembagian platform Java berdasarkan penggunanya ............................... 34 2.32 Arsitektur J2ME ........................................................................................ 35 2.33 Daur hidup MIDlet ................................................................................... 37 2.34 Hierarki kelas Displayable ........................................................................ 39 2.35 Hierarki kelas Item ................................................................................... 41 2.36 Hierarki kelas dalam Wireless Messaging API ......................................... 42 2.37 Servlet dasar yang mencetak “Hello World!” ........................................... 45 3.1
Use case text dari skenario Login ............................................................. 48
3.2
Use case text dari skenario Ubah Data Pribadi ......................................... 48
3.3
Use case text dari skenario Ubah Data Kontak ........................................ 49
3.4
Use case text dari skenario Tambah Item Kontak ..................................... 49
3.5
Use case text dari skenario Hapus Item Kontak ....................................... 50
3.6
Use case text dari skenario Ubah Data Pendidikan Lanjutan ................... 50
3.7
Use case text dari skenario Tambah Item Pendidikan Lanjutan ............... 51
3.8
Use case text dari skenario Hapus Item Pendidikan Lanjutan .................. 51
3.9
Use case text dari skenario Ubah Daftar Pekerjaan Sekarang .................. 52
3.10 Use case text dari skenario Tambah Item Pekerjaan Sekarang ................. 52 3.11 Use case text dari skenario Hapus Item Pekerjaan Sekarang ................... 53 3.12 Use case text dari skenario Ubah Password ............................................. 53 3.13 Use case text dari skenario Cari Data Alumni Lain .................................. 54 3.14 Use case diagram dari aplikasi ................................................................. 55 3.15 Diagram sistem aplikasi dengan tiap-tiap sub-sistemnya ......................... 56 3.16 Activity diagram dari program utama aplikasi client ................................ 57 3.17 Activity diagram untuk proses komunikasi client dan gateway ................ 59 3.18 Class diagram dari aplikasi client ............................................................ 61 3.19 Activity diagram dari program utama aplikasi gateway ........................... 109 3.20 Activity diagram dari thread pemroses SMS yang diterima ..................... 110 3.21 Class diagram dari aplikasi gateway ........................................................ 112 3.22 Activity diagram utama dari aplikasi server ............................................. 119 3.23 Activity diagram dari subactivity update info pribadi ............................... 119
viii
3.24 Activity diagram dari subactivity update daftar kontak ............................ 120 3.25 Activity diagram dari subactivity update daftar pendidikan lanjutan ....... 120 3.26 Activity diagram dari subactivity update daftar riwayat pekerjaan .......... 121 3.27 Activity diagram dari subactivity pencarian data alumni lain ................... 121 3.28 Activity diagram dari subactivity login dan uba password ....................... 122 3.29 Class diagram dari aplikasi server ........................................................... 123 3.30 Model E-R dari database yang akan dibuat ............................................. 126 3.31 Hasil transformasi model E-R ke dalam bentuk relasi ............................. 126 4.1
Database ALUMNI yang telah dibuat di IBM DB2 ................................ 132
4.2
Tabel ALUMNUS yang telah dibuat di IBM DB2 ................................... 132
4.3
Tabel PHONE yang telah dibuat di IBM DB2 ......................................... 133
4.4
Tabel EMAIL yang telah dibuat di IBM DB2 .......................................... 133
4.5
Tabel UNIVERSITY yang telah dibuat di IBM DB2 ............................... 134
4.6
Tabel EDUCATION yang telah dibuat di IBM DB2 ................................ 134
4.7
Tabel WORKINFO yang telah dibuat di IBM DB2 ................................. 135
4.8
Menentukan tipe data INTEGER yang auto-increment pada atribut ID .. 136
4.9
Menentukan tipe data CHARACTER pada atribut Uni_Name ................ 136
4.10 Menentukan tipe data LONG VARCHAR pada atribut Comp_Address .. 136 4.11 Menentukan tipe data DATE pada atribut Tglmasuk ............................... 137 4.12 Menentukan tipe data SMALLINT pada atribut RELEVANCE .............. 137 4.13 Primary key dan foreign key di tabel ALUMNUS .................................... 138 4.14 Primary key dan foreign key di tabel PHONE .......................................... 138 4.15 Primary key dan foreign key di tabel EMAIL ........................................... 139 4.16 Primary key dan foreign key di tabel UNIVERSITY ............................... 139 4.17 Primary key dan foreign key di tabel EDUCATION ................................ 140 4.18 Primary key dan foreign key di tabel WORKINFO .................................. 140 4.19 Format pesan yang digunakan .................................................................. 141 4.20 Halaman download JDBC Driver ............................................................. 156 4.21 Output dari perintah “db2level” di command window DB2 ..................... 156 4.22 Library JDBC Driver DB2 yang telah dimasukkan ke NetBeans ............ 157 4.23 Implementasi antarmuka proses komunikasi SMS ................................... 161 4.24 Implementasi antarmuka menu utama ...................................................... 161
ix
4.25 Implementasi antarmuka menu about ....................................................... 162 4.26 Implementasi antarmuka menu login alumni ........................................... 163 4.27 Implementasi antarmuka menu home alumni ........................................... 163 4.28 Implementasi antarmuka menu ubah password ........................................ 164 4.29 Implementasi antarmuka menu update di halaman utama ....................... 165 4.30 Implementasi antarmuka menu update di data pribadi ............................. 165 4.31 Implementasi antarmuka menu update di daftar kontak ........................... 166 4.32 Implementasi antarmuka menu update di halaman tambah kontak .......... 167 4.33 Implementasi antarmuka menu update di halaman ubah kontak .............. 167 4.34 Implementasi antarmuka menu update di halaman daftar pendidikan lanjutan ..................................................................................................... 168 4.35 Implementasi antarmuka menu update di halaman tambah entri pendidikan ................................................................................................. 169 4.36 Implementasi antarmuka menu update di halaman detail entri pendidikan ................................................................................................. 170 4.37 Implementasi antarmuka menu update di halaman daftar riwayat pekerjaan ................................................................................................... 170 4.38 Implementasi antarmuka menu update di halaman tambah entri pekerjaan ................................................................................................... 171 4.39 Implementasi antarmuka menu update di halaman ubah entri pekerjaan . 172 4.40 Implementasi antarmuka menu search di halaman kriteria pencarian ..... 173 4.41 Implementasi antarmuka menu search di halaman hasil pencarian ......... 173 4.42 Implementasi antarmuka menu search di halaman detail entri hasil pencarian ................................................................................................... 174 4.43 Implementasi antarmuka menu search di halaman detail info pribadi ..... 175 4.44 Implementasi antarmuka menu search di halaman daftar kontak ............ 175 4.45 Implementasi antarmuka menu search di halaman daftar pendidikan lanjutan ..................................................................................................... 176 4.46 Implementasi antarmuka menu search di halaman daftar riwayat pekerjaan ................................................................................................... 177 4.47 Implementasi form output di aplikasi gateway ......................................... 178 4.48 Pengujian pada Nokia C2-01 .................................................................... 179
x
4.49 Pengujian pada Nokia 2690 ...................................................................... 181 4.50 Pengujian pada Nokia C3-00 .................................................................... 182
DAFTAR TABEL Tabel
Halaman
3.1
Spesifikasi Kebutuhan Perangkat Lunak .................................................. 47
3.2
Daftar Kelas dalam Aplikasi Client .......................................................... 62
3.3
Deskripsi Kelas AlumniMidletClient ....................................................... 64
3.4
Deskripsi Kelas SendThread ..................................................................... 67
3.5
Deskripsi Kelas ReceiveThread ................................................................ 68
3.6
Deskripsi Kelas Compression ................................................................... 68
3.7
Deskripsi Kelas BitOutputBuffer ............................................................. 69
3.8
Deskripsi Kelas BitInputBuffer ................................................................ 70
3.9
Deskripsi Kelas AlumniMidletAlerts ....................................................... 70
3.10 Deskripsi Kelas ConnectForm .................................................................. 71 3.11 Deskripsi Kelas WelcomeForm ................................................................ 72 3.12 Deskripsi Kelas AboutForm ..................................................................... 73 3.13 Deskripsi Kelas AlumniLoginForm .......................................................... 74 3.14 Deskripsi Kelas AlumniHomeList ............................................................ 75 3.15 Deskripsi Kelas PasswordForm ................................................................ 75 3.16 Deskripsi Kelas UpdateForm .................................................................... 76 3.17 Deskripsi Kelas UpdatePersonalForm ...................................................... 77 3.18 Deskripsi Kelas UpdateContactList .......................................................... 80 3.19 Deskripsi Kelas UpdateContactAddList ................................................... 81 3.20 Deskripsi Kelas UpdateContactForm ....................................................... 82 3.21 Deskripsi Kelas UpdateEducationList ...................................................... 83 3.22 Deskripsi Kelas UpdateEducationAddList ............................................... 84 3.23 Deskripsi Kelas UpdateEducationDetailForm .......................................... 86 3.24 Deskripsi Kelas UpdateCareerList ........................................................... 87 3.25 Deskripsi Kelas UpdateCareerForm ......................................................... 88 3.26 Deskripsi Kelas SearchForm .................................................................... 90 3.27 Deskripsi Kelas SearchDetailList ............................................................. 94 3.28 Deskripsi Kelas SearchDetailForm ........................................................... 94 xi
xii
3.29 Deskripsi Kelas SearchMoreDetailForm .................................................. 96 3.30 Rancangan Antarmuka Aplikasi Client ..................................................... 98 3.31 Daftar Kelas dalam Aplikasi Gateway ...................................................... 112 3.32 Deskripsi Kelas AlumniMidletServer ....................................................... 113 3.33 Deskripsi Kelas SendThread ..................................................................... 114 3.34 Deskripsi Kelas ReceiveThread ................................................................ 115 3.35 Deskripsi Kelas Compression ................................................................... 116 3.36 Deskripsi Kelas BitOutputBuffer ............................................................. 117 3.37 Deskripsi Kelas BitInputBuffer ................................................................ 117 3.38 Rancangan Antarmuka Aplikasi Gateway ................................................ 118 3.39 Deskripsi Kelas dalam Aplikasi Server .................................................... 123 3.40 Deskripsi Kelas AlumniServlet ................................................................ 124 3.41 Deskripsi Tabel ALUMNUS ..................................................................... 127 3.42 Deskripsi Tabel PHONE ........................................................................... 127 3.43 Deskripsi Tabel EMAIL ........................................................................... 128 3.44 Deskripsi Tabel UNIVERSITY ................................................................ 128 3.45 Deskripsi Tabel EDUCATION ................................................................. 129 3.46 Deskripsi Tabel WORKINFO ................................................................... 129 4.1
Pendefinisian Tipe Data dalam IBM DB2 ................................................ 135
4.2
Keterangan Format Pesan yang Diterima Server ...................................... 141
4.3
Keterangan Format Pesan yang Diterima Client ...................................... 142
4.4
Spesifikasi Nokia C2-01 ........................................................................... 179
4.5
Spesifikasi Nokia 2690 ............................................................................. 180
4.6
Spesifikasi Nokia C3-00 ........................................................................... 181
4.7
Tampilan Aplikasi pada saat Pengujian Fitur 1 ........................................ 184
4.8
Tampilan Aplikasi pada saat Pengujian Fitur 2 ........................................ 185
4.9
Tampilan Aplikasi pada saat Pengujian Fitur 3 ........................................ 187
4.10 Tampilan Aplikasi pada saat Pengujian Fitur 4 ........................................ 191 4.11 Tampilan Aplikasi pada saat Pengujian Fitur 5 ........................................ 195 4.12 Tampilan Aplikasi pada saat Pengujian Fitur 6 ........................................ 200 4.13 Hasil Pengujian Aplikasi Berdasarkan Spesifikasi ................................... 209
DAFTAR LAMPIRAN Lampiran
Halaman
1.
Daftar Dokumen Tugas Akhir ..................................................................... 217
2.
Listing Program Aplikasi Client ................................................................. 226
3.
Listing Program Aplikasi Gateway ............................................................. 322
4.
Listing Program Aplikasi Server ................................................................. 338
xiii