analisis dan perancangan web sevice dan hibernate ( aplikasi … · 2013-07-13 · web sevice dan...
TRANSCRIPT
iv
UNIVERSITAS BINA NUSANTARA Jurusan Teknik Informatika
Skripsi 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 :
Analisis, Perancangan, Web Service, Hibernate.
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.
7. Dosen-dosen Universitas Bina Nusantara, yang telah membimbing selama
perkuliahan sehingga banyak memberikan masukan kepada kami untuk
menyelesaikan 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
Penulis
vii
DAFTAR ISI
Halaman Judul Luar ....................................................................................................... i
Halaman Judul Dalam .................................................................................................... ii
Halaman Persetujuan Hardcover .................................................................................... iii
Abstrak ........................................................................................................................... iv
Prakata ............................................................................................................................ v
Daftar Isi ........................................................................................................................ vii
Daftar Tabel ................................................................................................................... xii
Daftar Gambar ................................................................................................................xiv
BAB 1 PENDAHULUAN
1.1 Latar Belakang .......................................................................................... 1
1.2 Ruang Lingkup .......................................................................................... 2
1.3 Tujuan dan Manfaat .................................................................................. 3
1.4 Metodologi ................................................................................................ 3
1.5 Sistematika Penulisan ............................................................................... 4
BAB 2 LANDASAN TEORI
2.1 Saham ........................................................................................................ 6
2.2 J2EE ........................................................................................................... 7
2.3 System Architecture .................................................................................. 8
2.3.1 Arsitektur 2-Tier ............................................................................... 9
2.3.2 Arsitektur 3-Tier .............................................................................. 10
2.3.3 Arsitektur n-Tier ............................................................................... 11
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.8 Java Server Pages(JSP) ............................................................................. 41
2.9 JSP Tags…………..…….......................................................................... 42
2.10 Java Beans…………..……..................................................................... 42
2.11 Java Server Faces…………..…… .......................................................... 44
2.12 Web Service…………..…… .................................................................. 49
2.12.1 Karakteristik Web Service…………..…… ................................... 51
2.12.2. Teknologi-teknologi Utama Pada Web Service…………..……... 53
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Spesifikasi Rumusan Rancangan ............................................................... 56
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
3.6 Perancangan Layar ................................................................................ 89
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.1 Implementasi Sistem..... .......................................................................... .102
4.1.1 Kebutuhan Perangkat Keras........................................................... .102
4.1.2 Kebutuhan Perangkat Lunak..... ..................................................... .103
4.2 Cara 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
4.2.3.5 Metode pengaksesan Web Service..........................................115
xi
4.2.4 Proses Pengaksesan Data melalui Web Service...............................116
4.3 Evaluasi.....................................................................................................120
BAB 5 KESIMPULAN DAN SARAN
5.1 Simpulan ................................................................................................ 125
5.2 Saran ....................................................................................................... 126
DAFTAR PUSTAKA………………………………………………………………...127
RIWAYAT HIDUP…………………………………………………………………..128
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
Tabel 3.8.2.1 Tabel Generator Class 99
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
Rata-rata Waktu Pengaksesan 121
xiv
DAFTAR GAMBAR
Gambar 2.2.1.1 Arsitektur 2-Tier 8
Gambar 2.2.2.1 Arsitektur 3-Tier 10
Gambar 2.2.3.1 Arsitektur n-Tier 11
Gambar 2.2.4.1 Arsitektur Enterprise 13
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
Gambar 3.4.3.2 Class User 72
Gambar 3.4.3.3 Class Stock 73
Gambar 3.4.3.4 Class StockDownloader 74
Gambar 3.4.3.5 Class YahooStockDownloader 74
Gambar 3.4.3.6 Class DownloadSchedulerJob 76
Gambar 3.4.3.7 Class DownloadScheduler 76
Gambar 3.4.3.8 Class StockCore 77
Gambar 3.4.3.9 Class UserBackingBean 79
Gambar 3.4.3.10 Class HibernateUtil 80
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
Gambar 4.2.4.1 Contoh Tampilan Aplikasi Client 118
Grafik 4.3.7 Grafik Kenaikan Rata-rata Laman Waktu Pengaksesan 122