iv
UNIVERSITAS BINA NUSANTARA
Jurusan Teknik InformatikaSkripsi Sarjana Komputer Semester Ganjil tahun 2005/2006
ANALISIS DAN PERANCANGAN
WEB SEVICE DAN HIBERNATE
( APLIKASI DALAM DATA PROVIDER SAHAM )
RAYMON RAINTJUNG 0600644141 ANTHONY LESMANA 0600649092 FABIO TESTY 0600668085
Abstrak
Tujuan dari penulisan ini adalah untuk membuat aplikasi data provider saham yang dapat menyajikan data ke aplikasi client dengan platform, hardware, dan bahasa pemrograman yang berbeda-beda. Metodologi yang digunakan untuk mengembangkan aplikasi ini adalah dengan menggunakan metode Analisis dan Perancangan yang meliputi analisa ORM dan Web Service, serta perancangan aplikasi server sebagai penyedia data saham. Adapun hasil yang dicapai dalam sistem penelitian ini adalah sebuah aplikasi data provider saham yang dapat menyediakan data-data saham kepada berbagai aplikasi client pada platform, hardware, dan bahasa pemrograman yang berbeda-beda. Dengan penerapan aplikasi data provider saham yang menggunakan web service dan ORM, diharapkan para developer dapat membuat aplikasi enterprise dengan berbasikan RAD (Rapid Application Development) dan mudah untuk di-maintenance.
Kata Kunci :
v
PRAKATA
Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas rahmat dan karunia-Nya lah, kami dapat menyelesaikan penyusunan skripsi ini dalam rangka memenuhi persyaratan penyelesaian Jenjang Strata-1 di Universitas Bina Nusantara, Jakarta.
Tidak lupa kami sampaikan terima kasih kepada orang tua kami atas segala dukungan, nasehat, petunjuk, doa, saran dan bimbingan serta kesempatan yang telah diberikan selama penulisan skripsi ini. Rasa terima kasih juga kami tujukan kepada :
1. Orang tua kami yang telah mendukung kami secara tidak langsung dalam pembuatan skripsi ini.
2. Rektor Universitas Bina Nusantara, Prof. Dr. Drs. Gerardus Polla, M. App.Sc. 3. Dekan Fakultas Ilmu Komputer Universitas Bina Nusantara, Ir.Sablin
Yusuf,M.Sc,M.Comp.Sc
4. Ketua Jurusan Teknik Informatika, H. Muhammad Subekti, BE, M. Sc. 5. Sekretaris Jurusan Teknik Informatika, Fredy Purnomo, S.Kom., M.Kom.
6. Bapak Wiedjaja, S.Kom, selaku dosen pembimbing yang telah banyak meluangkan waktu untuk memberikan pengarahan, nasehat, saran, kritik, dan perhatian yang besar serta masukan yang sangat berharga dalam penyusunan skripsi ini.
vi
8. Teman-teman dan semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu dengan memberikan saran, nasehat, dorongan, semangat, dan kritik yang membangun serta bantuan lain baik langsung maupun tidak langsung. Dalam skripsi ini, kami menyadari masih adanya kekurangan. Oleh karena itu kami masih membuka kritik dan saran yang membangun demi kesempurnaan skripsi ini.
Akhirnya dengan segala kerendahan hati, kami berharap semoga skripsi ini dapat berguna dan bermanfaat bagi pihak-pihak yang memerlukannya.
Jakarta, Januari 2006
vii
DAFTAR ISI
Halaman Judul Luar ... i
Halaman Judul Dalam ... ii
Halaman Persetujuan Hardcover ... iii
Abstrak ... iv
2.3 System Architecture ... 8
2.3.1 Arsitektur 2-Tier ... 9
2.3.2 Arsitektur 3-Tier ... 10
viii
2.3.4 Arsitektur Enteprise ... 13
2.4 Penerapan MVC ... 15
2.4.1 Model …………..……... 15
2.4.1.1 The Paradigm Mismatch…………..…… ... 16
2.4.1.2 Alternatif-alternatif pada Persistence Layer…………..…….. 26
2.4.1.3 Object Relational Mapping (ORM)…………..…… ... 29
2.4.1.3.1 Apa itu ORM?…………..…… ... 30
2.4.1.3.2 Permasalahan-permasalahan Umum ORM…………..…..32
2.4.1.3.3 Mengapa ORM?…………..…… ... 34
2.4.1.3.4 Hibernate…………..…… ... 36
2.4.2 View……..……..…… ... 37
2.4.3 Controller…………..…… ... 38
2.5 HTTP (Hyper Text Transfer Protocol)…………..……... 38
2.6 Common Gateway Interface(CGI)…………..……... 40
2.7 Java Servlets…………..……... 40
2.12.1 Karakteristik Web Service…………..…… ... 51
2.12.2. Teknologi-teknologi Utama Pada Web Service…………..……... 53
ix
3.2 Analisis Masalah ... ... 57
3.2.1 Penggunaan SQL dalam Java ... 57
3.2.2 Pengembangan Aplikasi Interface dan MVC dalam Web ... 58
3.2.3 Penyajian Data dan Integritas Aplikasi ... 59
3.2.3 Analisis Data Provider Saham ... 59
3.3 Usulan Pemecahan Masalah... 60
3.3.1 Object Relational Mapping(ORM) ... 60
3.3.2 Java Server Faces ... 61
3.3.3 Web Service... ... 66
3.4 Perancangan Aplikasi Server ... 67
3.4.1 Gambaran Umum ... 67
3.4.2 UseCase dari Sistem Aplikasi Saham ... 68
3.4.3 Class Diagram dari Sistem Aplikasi Saham... 72
3.4.4 Sequence Diagram ... 82
3.4.4.1 Sequence Register ... 82
3.4.4.2 Sequence Update Account ... 83
3.4.4.3 Sequence Download Data ... 84
3.4.4.4 Sequence Penyajian Data ... 85
3.5 Spesifikasi Modul Aplikasi Server ... 86
3.5.1 Spesifikasi Modul Download Data ... 86
3.5.2 Spesifikasi Modul Registrasi ... 87
3.5.3 Spesifikasi Modul Update Account ... 87
3.5.4 Spesifikasi Modul Penyajian Data ... 88
x
3.7 Perancangan Basis Data ... 90
3.7.1 Tabel Master User …………..…… ... 90
3.7.2 Tabel Master Stock …………..…… ... 91
3.8 Perancangan ORM... ... ...92
3.8.1 Tipe Data Hibernate ... 98
3.8.2. Generator Class pada Hibernate... 99
3.9. Perancangan Web Service...100
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1Implementasi Sistem... ... .102
4.1.1 Kebutuhan Perangkat Keras... .102
4.1.2 Kebutuhan Perangkat Lunak... ... .103
4.2Cara Pneggunaan Aplikasi Data Provider Saham...104
4.2.1 Proses Registrasi... ... .104
4.2.1.1 Halaman Login... .105
4.2.1.2 Halaman Register... ... .105
4.2.1.3 Halaman Utama... 106
4.2.2 Proses Pembuatan Web Service... . 108
4.2.3 Proses Gambaran Web Service...111
4.2.3.1 Fungsi-fungsi yang disediakan dalam Web Service... 111
4.2.3.2 Return Value dan Parameter dari fungsi yang disediakan oleh Web Service...112
4.2.3.3 Definisi Tipe Data Baru pada Web Service...113
4.2.3.4 Lokasi pengaksesan Web Service...115
xi
4.2.4 Proses Pengaksesan Data melalui Web Service...116
4.3Evaluasi...120
BAB 5 KESIMPULAN DAN SARAN 5.1 Simpulan ... 125
5.2 Saran ... 126
DAFTAR PUSTAKA………...127
xii
DAFTAR TABEL
Tabel 2.11.1. JSF Core Tags 46
Tabel 2.11.2 JSF HTML Tags 46
Tabel 2.11.3 Basic HTML Tag Attributes 47
Tabel 2.11.4 HTML Pass-Through Attributes 48
Tabel 2.11.5 DHTML Event Attributes 49
Tabel 3.4.2.2 Use Case Description dari Use Case Download Data 68 Tabel 3.4.2.3 Use Case Description dari Use Case Registrasi 68 Tabel 3.4.2.4 Use Case Description dari Use Case Update Account 69 Tabel 3.4.2.5 Use Case Descrption dari Use Case Penyajian Data 70
Tabel 3.7.1.1 Master user 90
Tabel 3.7.1.2 Contoh Tabel User 90
Tabel 3.7.2.1 Tabel User Stock 91
Tabel 3.7.2.2 Contoh Tabel Stock 91
Tabel 3.8.1.1 Tabel Java Primitive Mapping Types 97 Tabel 3.8.1.2 Tabel Date and Time Mapping Types 97 Tabel 3.8.1.3 Tabel Large Object Mapping Types 98 Tabel 3.8.1.4 Tabel Various JDK Mapping Types 98
xiii
Tabel 4.3.1 Uji Kecepatan Data untuk 1 Concurrency User 119 Tabel 4.3.2 Uji Kecepatan Data untuk 5 Concurrency User 119 Tabel 4.3.3 Uji Kecepatan Data untuk 10 Concurrency User 120 Tabel 4.3.4 Uji Kecepatan Data untuk 15 Concurrency User 120 Tabel 4.3.5 Uji Kecepatan Data untuk 20 Concurrency User 121 Tabel 4.3.6 tabel Perbandingan Concurrency User dengan
xiv
Gambar 2.3.1.1.1 UML class diagram sederhana untuk entity user
dan billing details 15
Gambar 2.3.1.1.2 User memiliki class Address 17
Gambar 2.3.1.1.3 Penggunaan inheritance untuk strategi billing yang berbeda 19
Gambar 2.1.1.1 Hubungan SOAP, UDDI, dan WSDL 54
Gambar 3.4.1.1 Gambaran Umum Rancangan Aplikasi Server 66
Gambar 3.4.2.1 Use Case Diagram 67
Gambar 3.4.3.1 Class Diagram Aplikasi Data Provider Saham 71
xv
Gambar 3.4.4.1.1 Sequence Diagram Register 82
Gambar 3.4.4.2.1 Sequence Diagram Update Account 83 Gambar 3.4.4.3.1 Sequence Diagram Download Data 84 Gambar 3.4.4.4.1 Sequnce Diagram Penyajian Data 85
Gambar 3.6.1 Halaman Login 88
Gambar 3.6.2 halaman Register 88
Gambar 3.6.3 Halaman Utama 89
Gambar 4.2.1.1 Halaman Login 104
Gambar 4.2.1.2 Halaman Register 105
Gambar 4.2.1.3 Halaman Utama 106