SISTEM DASHBOARD PERPUSTAKAAN PADA KANTOR PERWAKILAN BKKBN PROVINSI BALI BERBASIS JAVA WEB SKRIPSI
Oleh: NAMA
: I GEDE YUDITA EKA PRASETYA
NIM
: 120010150
JENJANG STUDI
: STRATA SATU
PROGRAM STUDI
: SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER (STMIK) STIKOM BALI 2016
SISTEM DASHBOARD PERPUSTAKAAN PADA KANTOR PERWAKILAN BKKBN PROVINSI BALI BERBASIS JAVA WEB SKRIPSI DIAJUKAN SEBAGAI SALAH SATU SYARAT UNTUK MENCAPAI GELAR SARJANA PROGRAM STUDI SISTEM KOMPUTER
Oleh: NAMA
: I GEDE YUDITA EKA PRASETYA
NIM
: 120010150
JENJANG STUDI
: STRATA SATU
PROGRAM STUDI
: SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER (STMIK) STIKOM BALI 2016
SISTEM DASHBOARD PERPUSTAKAAN PADA KANTOR PERWAKILAN BKKBN PROVINSI BALI BERBASIS JAVA WEB SKRIPSI
NIM : 120010150 Nama : I Gede Yudita Eka Prasetya
Disetujui Oleh : Pembimbing I,
(Yudi Agusta, Ph.D)
Pembimbing II,
(I Made Budi Adnyana, S.Kom., MT)
Mengetahui, Pembantu Ketua I
(I Made Adi Purwantara, ST., M.Kom.)
PERNYATAAN Saya yang bertanda-tangan di bawah ini :
NIM
: 120010150
Nama
: I Gede Yudita Eka Prasetya
Tempat/Tgl Lahir
: Jakarta, 28 November 1994
Alamat
: Br. Lebah, Ds. Bukian, Kec. Payangan, Kab. Gianyar, Bali
Menyatakan bahwa dalam skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar sarjana komputer disuatu perguruan tinggi, dan sepanjang pengetahuan saya tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Denpasar, 13 Agustus 2016
Materai 6000
I Gede Yudita Eka Prasetya
TANDA PENGESAHAN SKRIPSI
Nama
: I Gede Yudita Eka Prasetya
NIM
: 120010150
Jenjang Studi
: Strata Satu (S1)
Program Studi
: Sistem Komputer
Judul Skripsi
: SISTEM DASHBOARD PERPUSTAKAAN PADA KANTOR PERWAKILAN BKKBN PROVINSI BALI BERBASIS JAVA WEB
Dipertahankan didepan Tim Penguji Skripsi Program Studi Sistem Komputer STMIK STIKOM BALI Pada tanggal 13 Agustus 2016 PENGUJI NOMOR
NAMA
TANDA TANGAN
1.
Yudi Agusta, Ph.D
2.
I G K G Puritan Wijaya ADH, S.Kom., MMSI
3.
I Gusti Ngurah Wikranta Arsa, S.Kom., M.Cs
Mengetahui, Ka. Prodi Sistem Komputer
(Padma Nyoman Crisnapati, S.Kom., M.Pd)
KATA PENGANTAR Berkat rahmat Tuhan Yang Maha Esa, penulis dapat menyelesaikan Laporan Skripsi yang berjudul “Sistem Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web” sesuai dengan yang direncanakan. Selanjutnya penulis menyampaikan terima kasih kepada: 1.
Bapak Dr. Dadang Hermawan selaku Ketua STMIK STIKOM Bali yang selalu menyemangati dan mendukung penulis.
2.
Bapak I Made Adi Purwantara, ST., M.Kom. selaku pembantu Ketua I ketua Program Studi Sistem Komputer (S1) STIKOM Bali.
3.
Bapak Padma Nyoman Crisnapati, S.Kom., M.Pd., selaku Ketua Program Studi Sistem Komputer (S1) STIKOM Bali.
4.
Bapak Yudi Agusta, Ph.D. selaku Dosen Pembimbing I yang banyak memberikan petunjuk dan masukan bagi penulis pada saat penyusunan laporan skripsi ini.
5.
Bapak I Made Budi Adnyana, S.Kom., MT., selaku Dosen Pembimbing II yang juga banyak membantu dan membimbing penulis.
6.
Ibu Putu Eka Aristyani, S.Kom., selaku staff dan pegawai Kantor Perwakilan BKKBN Provinsi Bali yang telah banyak membantu dan mendukung penulis.
7.
Seluruh teman-teman di STIMIK STIKOM Bali yang selalu memberikan dorongan moral dan spiritual serta bantuan kepada penulis dalam penyusunan skripsi.
8.
Bapak, Paman, dan seluruh keluarga serta kerabat yang telah banyak membantu dalam memberikan motivasi dan mendoakan sehingga penulis dapat menyelesaikan skripsi ini. Skripsi ini dibuat guna melengkapi persyaratan untuk memperoleh Sarjana
Komputer pada Program Studi Sistem Komputer pada STMIK STIKOM Bali. Semoga penulisan skripsi ini bermanfaat bagi pihak yang berkepentingan.
Denpasar, Agustus 2016
Penulis i
SISTEM DASHBOARD PERPUSTAKAAN PADA KANTOR PERWAKILAN BKKBN PROVINSI BALI BERBASIS JAVA WEB
ABSTRAK Sistem Dashboard merupakan suatu sistem berbasis komputer yang dapat membantu suatu perusahaan untuk meningkatkan kinerja dalam pengambilan keputusan dan memecahkan masalah yang umumnya berada di dalam wilayah dengan dimensi yang beragam. Sistem informasi sekarang sudah banyak tersedia di berbagai perusahaan begitu juga dengan perpustakaan membutuhkan suatu sistem informasi terkait data-data perusahaan yang bisa dibuat lebih terstruktur dan satu tujuan dengan visi dan misi perusahaan. Dewasa ini perkembangan teknologi komputer sangatlah pesat. Dengan menggunakan aplikasi komputer akan didapat informasi mengenai suatu tampilan objek yang ditampilkan lebih hidup dan menarik. Adanya kemajuan teknologi ini memungkinkan sebuah Sistem Dashboard dikembangkan menggunakan konsep data warehouse. Dalam sistem data warehouse data yang berasal dari data operasional diproses dan di-upload ke dalam database data warehouse untuk selanjutnya digunakan untuk proses reporting. Pada skripsi ini, Sistem Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web mampu memberikan keputusan terbaik dalam melakukan pemantauan dalam laporan peminjaman buku. Kata Kunci: Sistem Dashboard, Data Warehouse, Extraction Transformation Loading
ii
JAVA WEB BASED LIBRARY DASHBOARD SYSTEM at BKKBN BALI PROVINCIAL OFFICE
ABSTRACT Dashboard system is a computer-based system which helps a company to improve performance in decision making and program solving, which generally occurs within areas which has various dimensions. The information system is currently available in many companies. A Library also needs an information system that is related to its database in order to be more structured and has the same purpose with company’s vision and mision. Nowadays, the development of computer technology has grown very well. Using this computer application, information of an object will be more attractively displayed. The presence of this technology enables a basic dashboard system to be developed using a data warehouse concept. In data warehouse concept, the data derived from the operational data will be proceeded and uploaded into the “data warehouse” database for further use of reporting. In this final project, Java Web Based Library Dashboard System at BKKBN Bali Provincial Office is able to provide the best decision in monitoring the lending report. Keywords: Dashboard System, Data Warehouse, Extraction Transformation Loading
iii
DAFTAR ISI KATA PENGANTAR .............................................................................................. i ABSTRAK ............................................................................................................ ii ABSTRACT .......................................................................................................... iii DAFTAR ISI ......................................................................................................... iv DAFTAR GAMBAR............................................................................................. vii DAFTAR TABEL ................................................................................................... x
BAB I PENDAHULUAN ........................................................................................ 1 1.1.
Latar Belakang Masalah ......................................................................... 1
1.2.
Rumusan Masalah .................................................................................. 2
1.3.
Tujuan Penelitian .................................................................................... 2
1.3.1.
Bagi Mahasiswa ............................................................................... 2
1.3.2.
Bagi Kantor Perwakilan BKKBN Provinsi Bali.................................. 3
1.3.3.
Bagi Lembaga Pendidikan ............................................................... 3
1.4.
Manfaat Penelitian .................................................................................. 3
1.5.
Ruang Lingkup ........................................................................................ 3
1.6.
Metode Penelitian ................................................................................... 4
1.6.1.
Pengumpulan Data .......................................................................... 4
1.6.2.
Analisa Sistem ................................................................................. 4
1.6.3.
Desain Sistem .................................................................................. 5
1.6.4.
Pembuatan Program ........................................................................ 5
1.6.5.
Pengujian Program .......................................................................... 5
1.6.6.
Penulisan Laporan ........................................................................... 5
1.7.
Sistematika Penulisan ............................................................................. 6
BAB II TINJAUAN PUSTAKA .............................................................................. 7 2.1.
BKKBN Provinsi Bali ............................................................................... 7
2.2.
Sistem ..................................................................................................... 7
2.3.
Sistem Data Warehouse ......................................................................... 7
2.3.1.
Konsep Data Warehouse ................................................................. 7
2.3.2.
Manfaat Data Warehouse ................................................................ 8
2.3.3.
Extraction Transformation Loading (ETL) ........................................ 9
2.4.
Sistem Dashboard................................................................................. 10 iv
2.5.
Unified Modeling Language (UML) ....................................................... 10
2.5.1.
Use Case Diagram......................................................................... 11
2.5.2.
Class Diagram ............................................................................... 13
2.5.3.
Sequence Diagram ........................................................................ 15
2.5.4.
Activity Diagram ............................................................................. 17
2.6.
Entity Relationship Diagram (ERD) ....................................................... 19
2.7.
Basis Data ............................................................................................. 19
2.8.
Physical Data Model ............................................................................. 20
2.9.
Object Oriented Programming (OOP) ................................................... 20
2.10.
Web Concept ..................................................................................... 22
2.10.1.
Java Server Page (JSP) ............................................................. 22
2.10.2.
Hypertext Markup Language (HTML) ......................................... 22
2.10.3.
Cascading Style Sheet (CSS) .................................................... 22
2.10.4.
JavaScript................................................................................... 23
2.11.
Java Programming ............................................................................ 23
2.11.1.
Java Development Kit (JDK) ...................................................... 25
2.11.2.
Java Runtime Environment (JRE) .............................................. 26
2.11.3.
Java Database Conectivity (JDBC) ............................................ 26
2.12.
Model View Controller (MVC) ............................................................ 27
2.13.
StarUML ............................................................................................ 28
2.14.
SQLyog ............................................................................................. 28
2.15.
Microsoft Visio ................................................................................... 28
2.16.
Adobe Photoshop .............................................................................. 29
2.17.
Adobe Dreamweaver ......................................................................... 29
2.18.
MySQL .............................................................................................. 29
2.19.
Netbeans ........................................................................................... 30
2.20.
Apache Tomcat ................................................................................. 30
BAB III ANALISA DAN PERANCANGAN SISTEM ........................................... 31 3.1.
Analisa Permasalahan .......................................................................... 31
3.2.
Analisa Sistem ...................................................................................... 31
3.3.
Analisa Kebutuhan Non Fungsional ...................................................... 32
3.3.1. 3.4.
Analisa User................................................................................... 32
Disain Sistem ........................................................................................ 33
3.4.1.
Disain Umum Sistem ..................................................................... 33 v
3.4.2.
Use Case Diagram......................................................................... 34
3.4.3.
Use Case Text ............................................................................... 36
3.4.5.
Activity Diagram ............................................................................. 43
3.4.6.
Class Diagram ............................................................................... 49
3.4.7.
Sequence Diagram ........................................................................ 52
3.4.8.
Entity Relationship Diagram (ERD)................................................ 61
3.4.9.
Physical Data Model ...................................................................... 63
3.5.
Desain Input/Output .............................................................................. 65
3.5.1.
Structural Design Menu ................................................................. 65
3.5.2.
Halaman User Interface ................................................................. 66
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ....................................... 72 4.1.
Implementasi ......................................................................................... 72
4.1.1.
Kebutuhan Perangkat Keras .......................................................... 72
4.1.2.
Kebutuhan Perangkat Lunak ......................................................... 72
4.1.3.
Instalasi Perangkat Lunak.............................................................. 73
4.1.4.
Implementasi Program ................................................................... 73
4.2.
Pengujian Sistem .................................................................................. 79
4.2.1.
Pengujian Halaman Login .............................................................. 79
4.2.2.
Pengujian Manipulasi Data User.................................................... 80
4.2.3.
Pengujian Proses ETL ................................................................... 81
4.2.4.
Pengujian Proses Dashboard ........................................................ 81
4.2.5.
Kesesuaian Perancangan Sistem .................................................. 83
BAB V KESIMPULAN DAN SARAN .................................................................. 84 5.1.
Kesimpulan ........................................................................................... 84
5.2.
Saran .................................................................................................... 84
DAFTAR PUSTAKA ........................................................................................... 85
vi
DAFTAR GAMBAR Gambar 2.1 Notasi Actor ..................................................................................... 12 Gambar 2.2 Notasi Use Case ............................................................................. 12 Gambar 2.3 Notasi Relasi ................................................................................... 12 Gambar 2.4 Use Case Diagram .......................................................................... 13 Gambar 2.5 Contoh Class Diagram .................................................................... 14 Gambar 2.6 Simbol Asosiasi ............................................................................... 14 Gambar 2.7 Simbol Agregasi .............................................................................. 14 Gambar 2.8 Simbol Pewarisan ............................................................................ 14 Gambar 2.9 Contoh Class Diagram .................................................................... 15 Gambar 2.10 Contoh Sequence Diagram ........................................................... 16 Gambar 2.11 Contoh Activity Diagram ................................................................ 19 Gambar 2.12 Arsitektur JDBC ............................................................................. 27 Gambar 3.1 Disain Umum Sistem ....................................................................... 33 Gambar 3.2 Use Case Diagram .......................................................................... 35 Gambar 3.3 Sub Use Case Diagram Maintenace Data....................................... 35 Gambar 3.4 Activity Diagram Login ..................................................................... 43 Gambar 3.5 Activity Diagram Add Data (Application User, Application Group) .. 43 Gambar 3.6 Activity Diagram Edit Data (Application User, Application Group)... 44 Gambar 3.7 Activity Diagram Delete Data (Application Group, Application Privilege) ............................................................................................................. 44 Gambar 3.8 Activity Diagram Edit Data (Application User) ................................. 45 Gambar 3.9 Activity Diagram Add Data (Application Privilege) ........................... 45 Gambar 3.10 Activity Diagram Edit Data (Application Privilege) ......................... 46 Gambar 3.11 Activity Diagram Import Data ......................................................... 46 Gambar 3.12 Activity Diagram Proses ETL ......................................................... 47 Gambar 3.13 Activity Diagram Lihat Data Buku .................................................. 47 Gambar 3.14 Activity Diagram Lihat Data Peminjam .......................................... 48 Gambar 3.15 Activity Diagram Lihat Data Transaksi Peminjaman...................... 48 Gambar 3.16 Activity Diagram Logout................................................................. 49 Gambar 3.17 Class Diagram ............................................................................... 50 Gambar 3.18 Class Diagram Lanjutan ................................................................ 51 Gambar 3.19 Sequence Diagram Login .............................................................. 52 Gambar 3.20 Sequence Diagram Show List Aplication User .............................. 53 vii
Gambar 3.21 Sequence Diagram Add Application User ..................................... 53 Gambar 3.22 Sequence Diagram Edit Application User ..................................... 54 Gambar 3.23 Sequence Diagram Save Application User ................................... 54 Gambar 3.24 Sequence Diagram Delete Application User ................................. 55 Gambar 3.25 Sequence Diagram Show List Application Group.......................... 55 Gambar 3.26 Sequence Diagram Add Application Group ................................... 56 Gambar 3.27 Sequence Diagram Edit Application Group ................................... 56 Gambar 3.28 Sequence Diagram Save Application Group ................................. 57 Gambar 3.29 Sequence Diagram Delete Application Group ............................... 57 Gambar 3.30 Sequence Diagram Show List Application Privilege ...................... 58 Gambar 3.31 Sequence Diagram Add Application Privilege ............................... 58 Gambar 3.32 Sequence Diagram Edit Application Privilege ............................... 59 Gambar 3.33 Sequence Diagram Save Application Privilege ............................. 59 Gambar 3.34 Sequence Diagram Delete Application Privilege ........................... 60 Gambar 3.35 Sequence Diagram Import Data .................................................... 60 Gambar 3.36 Sequence Diagram Proses ETL .................................................... 61 Gambar 3.37 Entity Relationship Diagram Data User ......................................... 61 Gambar 3.38 Entity Relationship Diagram Transaksi Peminjaman Buku ........... 62 Gambar 3.39 Entity Relationship Diagram Dashboard Buku .............................. 62 Gambar 3.40 Entity Relationship Diagram Dashboard Peminjam....................... 62 Gambar 3.41 Entity Relationship Diagram Dashboard Transaksi ....................... 63 Gambar 3.42 Physical Data Model Management User ....................................... 63 Gambar 3.43 Physical Data Model Peminjam Buku............................................ 64 Gambar 3.44 Physical Data Model Dashboard Buku .......................................... 64 Gambar 3.45 Physical Data Model Dashboard Peminjam .................................. 64 Gambar 3.46 Physical Data Model Dashboard Transaksi................................... 65 Gambar 3.47 Structural Design Menu Admin ...................................................... 65 Gambar 3.48 Structural Design Menu Kepala Bidang ADPIN............................. 66 Gambar 3.49 Rancangan Halaman Login ........................................................... 66 Gambar 3.50 Rancangan Halaman Utama ......................................................... 67 Gambar 3.51 Rancangan Halaman Maintenance Data Application User ........... 67 Gambar 3.52 Rancangan Halaman Add Data Application User.......................... 68 Gambar 3.53 Rancangan Halaman Edit Data Application User .......................... 68 Gambar 3.54 Rancangan Halaman Import Data ................................................. 69 Gambar 3.55 Rancangan Halaman Proses ETL ................................................. 69 viii
Gambar 3.56 Rancangan Halaman About Us ..................................................... 70 Gambar 3.57 Rancangan Halaman Lihat Data Buku .......................................... 70 Gambar 3.58 Rancangan Halaman Lihat Data Peminjam .................................. 71 Gambar 3.59 Rancangan Halaman Lihat Data Transaksi Peminjaman .............. 71 Gambar 4.1 Halaman Login ................................................................................ 74 Gambar 4.2 Halaman Utama Admin ................................................................... 74 Gambar 4.3 Halaman User, Group dan Privilege ................................................ 75 Gambar 4.4 Halaman Add User, Group dan Privilege ........................................ 75 Gambar 4.5 Halaman Edit User, Group dan Privilege......................................... 76 Gambar 4.6 Halaman Import Data ...................................................................... 76 Gambar 4.7 Halaman Proses ETL ...................................................................... 77 Gambar 4.8 Halaman Dashboard Buku .............................................................. 77 Gambar 4.9 Halaman Dashboard Peminjam....................................................... 78 Gambar 4.10 Halaman Dashboard Transaksi ..................................................... 78 Gambar 4.11 Halaman About .............................................................................. 79 Gambar 4.12 Pesan Login Gagal ........................................................................ 80
ix
DAFTAR TABEL Tabel 2.1 Simbol Sequence Diagram .................................................................. 16 Tabel 2.2 Simbol Activity Diagram....................................................................... 18 Tabel 3.1 Use Case Text Login ........................................................................... 36 Tabel 3.2 Use Case Text Maintenace Data Application User ............................. 37 Tabel 3.3 Use Case Text Maintenace Data Application Group ........................... 38 Tabel 3.4 Use Case Text Maintenace Data Application Privilege ....................... 39 Tabel 3.5 Use Case Text Import Data ................................................................. 40 Tabel 3.6 Use Case Text Proses ETL ................................................................. 40 Tabel 3.7 Use Case Text Lihat Data Buku .......................................................... 40 Tabel 3.8 Use Case Text Lihat Data Peminjam .................................................. 41 Tabel 3.9 Use Case Text Lihat Data Transaksi Peminjaman Buku..................... 41 Tabel 3.10 Use Case Text Logout ....................................................................... 42 Tabel 4.1 Test Case Login .................................................................................. 79 Tabel 4.2 Test Case Manipulasi Data User ......................................................... 80 Tabel 4.3 Test Case Proses ETL ........................................................................ 81 Tabel 4.4 Test Case Proses Dashboard Buku .................................................... 81 Tabel 4.5 Test Case Proses Dashboard Peminjam ............................................ 82 Tabel 4.6 Test Case Proses Dashboard Transaksi Peminjaman ........................ 82 Tabel 4.7 Test Case Perancangan Sistem .......................................................... 83
x
BAB I PENDAHULUAN 1.1.
Latar Belakang Masalah Perkembangan dunia komputer yang semakin kompleks mendorong setiap
individu atau kelompok mau tidak mau harus menerapkannya dalam segala aktivitas. Disadari atau tidak setiap sistem yang ada seakan kurang lengkap ketika masih menggunakan model ataupun pengelolaan secara manual, disamping sangat banyak energi dan sumber daya yang akan terbuang, baik dari segi finansial yang tentunya menjadikan biaya lebih tinggi, maupun dari segi waktu yang akan memakan waktu lebih banyak. Penerapan teknologi informasi telah menyebar hampir di semua bidang, tidak terkecuali di bidang perpustakaan. Perpustakaan adalah institusi atau lembaga yang menyediakan koleksi bahan perpustakaan tertulis, tercetak dan terekam sebagai pusat sumber informasi yang diatur menurut sistem dan aturan yang baku dan didaya gunakan untuk keperluan pendidikan, penelitian dan rekreasi intelektual bagi masyarakat. Perpustakaan secara umum bertujuan untuk melakukan layanan informasi literal kepada masyarakat. Tujuan khusus dibedakan oleh jenis perpustakaannya. Dengan demikian, ukuran perkembangan perpustakaan banyak diukur dari penerapan teknologi informasi yang digunakan dan bukan dari skala ukuran lain seperti besarnya gedung perpustakaan yang dimiliki, jumlah koleksi yang tersedia maupun jumlah penggunanya. Kebutuhan akan teknologi informasi sangat berhubungan dengan peran perpustakaan sebagai kekuatan dalam penyebaran informasi ilmu pengetahuan dan kebudayaan. Dalam pengembangan Sistem Dashboard, dasar yang digunakan adalah konsep data warehouse. Dalam suatu sistem data warehouse, data yang berasal data operasional diproses dan di-upload ke dalam database data warehouse untuk selanjutnya digunakan untuk proses reporting dan analisis [1,2]. Gambaran di atas menjadi sebuah objek penelitian untuk menerapkan sistem dashboard perpustakaan pada Kantor Perwakilan Badan Kependudukan dan Keluarga Berencana Nasional (BKKBN) Provinsi Bali. Dengan aplikasi ini, akan mempermudah pelayanan dan akses informasi serta pengelolaan data perpustakaan, seperti mempermudah pencarian buku atau katalog, sistem keanggotaan, informasi jurnal, peminjaman dan pengembalian buku serta 1
2
pelaporan secara berkala. Sehingga, akan diperoleh efisiensi pekerjaan oleh instansi khususnya staff perpustakaan dalam pengelolaan buku perpustakaan, penyajian informasi yang lebih mudah dan memberikan layanan yang lebih baik kepada pengguna layanan perpustakaan. Berdasarkan uraian sebelumnya, penulis akan membuat rancangan sistem dashboard perpustakaan pada Kantor Perwakilan Badan Kependudukan dan Keluarga Berencana Nasional (BKKBN) Provinsi Bali yang diharapkan berguna untuk mengetahui kekurangan yang ada dalam pelaksanaan proses peminjaman dan
pengembalian
buku
dengan
memberikan
akses
sistem
informasi
perpustakaan tersebut kepada staff perpustakaan sehingga penulis tertarik untuk mengangkat judul yaitu “Sistem Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web”.
1.2.
Rumusan Masalah Berdasarkan judul tersebut di atas, maka permasalahan yang tercakup
dalam perancangan “Sistem Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web” ini adalah: 1.
Bagaimana menyiapakan data sumber yang akan di analisa menjadi sebuah laporan dalam sistem dashboard?
2.
Bagaimana membuat suatu sistem dashboard perpustakaan yang mampu memberikan keputusan terbaik dalam pengelolaan peminjaman buku?
3.
Bagaimana mengembangkan sistem dashboard tersebut berbasis Java Web dan database MySQL?
1.3.
Tujuan Penelitian
1.3.1. Bagi Mahasiswa a. Untuk memenuhi syarat perkuliahan pada STMIK STIKOM BALI b. Mahasiswa dapat menerapkan ilmu yang didapatkan dari perkuliahan dan mampu menganalisa, merancang dan membangun sistem yang belum ataupun yang sudah ada pada instansi pemerintah. c. Mahasiswa dapat mengenal peralatan serta teknologi yang digunakan pada instansi pemerintah. d. Melatih mahasiswa untuk memiliki rasa tanggung jawab, disiplin, etika dalam bersikap selama bekerja dengan pegawai lainnya.
3
1.3.2. Bagi Kantor Perwakilan BKKBN Provinsi Bali Mendapatkan masukan dari laporan skripsi mahasiswa, sehingga dapat digunakan sebagai bahan masukan untuk perkembangan instansi di masa yang akan datang khususnya dibidang Advokasi Penggerakan dan Informasi (ADPIN).
1.3.3. Bagi Lembaga Pendidikan Dapat menuntun mahasiswa agar dapat mengenal dunia kerja yang sesungguhnya serta dapat menerapkan ilmu yang diperoleh dari bangku perkuliahan. Selain itu diharapkan lembaga pendidikan dan instansi tempat kerja dapat menjalin kerjasama yang baik dalam segala bidang.
1.4.
Manfaat Penelitian Sistem ini nantinya diharapkan bermanfaat untuk:
1.
Mempermudah instansi untuk menghasilkan laporan perpustakaan.
2.
Mempermudah instansi atau kepala bidang dalam mengambil keputusan terkait trend laporan perpustakaan.
3.
1.5.
Menambah bahan refrensi pada perpustakaan kampus STMIK STIKOM BALI.
Ruang Lingkup Batasan masalah dalam tema skripsi/penelitian yang diusulkan ini adalah
sebagai berikut: 1.
Data peminjaman buku yang digunakan di dalam sistem ini berasal dari Kantor Perwakilan BKKBN Provinsi Bali.
2.
Sistem ini mencakup proses ekstraksi, proses transformasi, dan proses loading data dari data transaksional ke dalam database data warehouse.
3.
Sistem ETL dikembangkan tersendiri, sedangkan sistem reporting akan menggunakan API JesperReport.
4.
Output dari sistem ini berupa laporan dalam bentuk grafik dashboard.
5.
User dari sistem ini adalah user admin atau petugas perpustakaan dan Kepala Bidang Advokasi Pergerakkan dan Informasi (ADPIN). Adapun software dan hardware yang digunakan dalam penelitian yang
digunakan dalam penelitian adalah sebagai berikut: 1.
Software disain yang digunakan dalam penelitian ini adalah StarUML, Microsoft Visio, dan Adobe Photoshop.
4
2.
Sistem akan dikembangkan berbasis Java Web, yang mencakup penggunaan Java Server Page, Java Programming, Java Script, CSS, dan HTML.
3.
Server web yang digunakan adalah Apache Tomcat.
4.
Database yang digunakan adalah MySQL database system.
5.
Tools pemrograman yang digunakan adalah SQLyog, Dreamweaver, dan Netbeans.
6.
Hardware yang digunakan dalam penelitian ini adalah laptop dengan spesifikasi Processor Intel Core i5, RAM 4GB, Double VGA (Intel dan NVIDIA) dengan Sistem Operasi Windows 7 Ultimate.
1.6.
Metode Penelitian Metode penelitian yang digunakan dalam pembuatan “Sistem Dashboard
Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web” adalah metode Waterfall [3], dengan urutan tahapan sebagai berikut:
1.6.1. Pengumpulan Data 1.6.1.1.
Studi Literatur
Metode ini dilakukan dengan cara mempelajari konsep, pengumpulan pengetahuan berupa teori serta materi, bersumber dari buku ataupun literatur lainnya, khususnya mengenai hal-hal yang berhubungan dengan sistem data warehouse yang mengarah kepada pemecahan masalah.
1.6.1.2.
Observasi (Observation)
Observasi merupakan salah satu cara pengumpulan data dan informasi yang dilakukan dengan cara melakukan pengamatan langsung terhadap objek yang diteliti untuk memperoleh gambaran mengenai sistem yang berjalan atau prosedur yang ada pada objek penelitian tersebut.
1.6.2. Analisa Sistem Analisa sistem merupakan teknik pemecahan permasalahan yang menguraikan bagian-bagian komponen dengan mempelajari seberapa baik bagian-bagian komponen tersebut bekerja dan berinteraksi untuk mencapai sasaran serta tujuan yang telah ditetapkan. Analisa sistem digunakan untuk menganalisa sistem yang sedang berjalan sehingga dapat dipahami keadaan sistem yang ada untuk bisa dibuatkan disainnya.
5
1.6.3. Desain Sistem Desain
sistem
merupakan
konfigurasi
dari
komponen-komponen
perangkat lunak dan perangkat keras dari suatu sistem, serta menggambarkan bagaimana suatu sistem dibentuk. Proses perancangan sistem yang meliputi: a.
Use Case Diagram
b.
Class Diagram
c.
Sequence Diagram
d.
Activity Diagram
Desain sistem juga mencakup pembuatan disain database, tabel-tabel, dan relasinya. Field-field yang tercakup di dalam setiap tabel beserta attributenya juga didisain dalam tahapan ini.
1.6.4. Pembuatan Program Pembuatan
program
dilakukan
berdasarkan
desain
sistem
yang
sebelumnya telah dilakukan. Pembuatan program dilakukan dengan menerapkan konsep pemrograman yang baik dengan memikirkan standar pemrograman, pemilihan struktur data dan algoritma yang relevan, serta penggunaan memori komputer yang diperlukan. Pembuatan program aplikasi dilakukan dengan memanfaatkan bahasa pemrograman Java.
1.6.5. Pengujian Program Pengujian program dilakukan untuk mengetahui apakah program yang dibuat sesuai dengan yang diharapkan. Pengujian akan meliputi pengujian modul, pengujian integrasi, pengujian fungsi, dan pengujian kesesuaian sistem dengan rancangan. Test data yang disediakan diharapkan dapat memberikan validasi apakah semua kasus yang mungkin muncul sudah terakomodasi.
1.6.6. Penulisan Laporan Penyelesaian akhir dari skripsi adalah dengan membuat laporan skripsi yang sesuai dengan proposal yang telah dibuat, program yang dibangun, dilengkapi dengan tabel, gambar, dan lampiran listing program.
6
1.7.
Sistematika Penulisan Adapun sistematika penulisan yang diterapkan dalam laporan tugas akhir
ini adalah sebagai berikut: BAB I: PENDAHULUAN Bab ini memuat penjelasan tentang latar belakang penelitian, rumusan masalah, tujuan dan manfaat penelitian, ruang lingkup penelitian, software dan hardware yang dilakukan, dan sistematika penulisan.
BAB II: TINJAUAN PUSTAKA Bab ini memuat penjelasan tentang berbagai teori yang digunakan untuk mendukung pencarian solusi terhadap penelitian yang diajukan. Bab ini juga memuat tentang objek permasalahan yang mendasari penelitian ini.
BAB III: ANALISA DAN DESAI SISTEM Bab ini memuat penjelasan tentang penganalisaan sistem yang akan dikembangkan yang akan diturunkan dalam bentuk desain sistem. Desain sistem akan mencakup pemodelan sistem menggunakan Unify Modelling Languange (UML), Entity Relationship Diagram (ERD), dan Physical Data Model. Dalam bab ini juga dijelaskan tentang desain antarmuka pengguna sistem.
BAB IV: IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini memuat penjelasan tentang pelaksanaan implementasi sistem dengan menjelaskan hasil pengembangan berdasarkan desain sistem yang telah dijelaskan pada BAB sebelumnya. Bab ini juga akan menjelaskan tentang pengujian sistem yang dilaksanakan dan hasil pengujiannya.
BAB V: KESIMPULAN DAN SARAN Bab
ini
memuat
tentang
kesimpulan
yang
didapatkan
dari
dikembangkannya sistem ini, selain itu akan dimuat juga saran-saran pengembangan yang bisa dijadikan acuan pengembangan selanjutnya.
BAB II TINJAUAN PUSTAKA 2.1.
BKKBN Provinsi Bali BKKBN Provinsi Bali merupakan lembaga pemerintah non departemen
yang bersifat vertikal yang mempunyai kantor perwakilan sampai ke tingkat kabupaten/kota [13]. Dalam melaksanakan kegiatannya, Kantor Perwakilan BKKBN Provinsi Bali menerima garis perintah dari BKKBN RI. Anggaran pendukung kegiatan di bidang Advokasi Penggerakan dan Informasi (ADPIN) khususnya di perpustakaan juga dialokasikan dari Anggaran Pendapatan dan Belanja Negara (APBN). Untuk dapat melaksanakan kegiatan dengan lebih baik, Kantor Perwakilan BKKBN Provinsi Bali memerlukan suatu sistem pengendali yang dapat digunakan untuk memantau progres kegiatan yang dilaksanakan dan anggaran pendukung kegiatan tersebut. Sistem dashboard ini dapat menyediakan fasilitas tersebut, sehingga akan memberikan nilai tambah terhadap efektifitas kerja organisasi.
2.2.
Sistem Sistem adalah jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan sasaran tertentu [4]. Prosedur merupakan suatu urutan tindakan yang disusun untuk menjamin adanya perlakuan yang seragam terhadap kejadian yang terjadi berulang–ulang.
2.3.
Sistem Data Warehouse
2.3.1. Konsep Data Warehouse Data Warehouse merupakan sebuah database yang digunakan untuk tujuan
pelaporan
dan
analisa
[1,2].
Penyimpanan
ini
dibuat
dengan
mengintegrasikan data dari berbagai sumber. Data warehouse berisikan data sekarang dan data masa lalu yang umumnya digunakan untuk menampilkan data berupa trend. Data di dalam data warehouse umumnya berasal dari database operasional yang menyimpan data transaksi seperti transaksi penjualan, transaksi perbankan, dan lain-lain.
7
8
Database untuk sebuah data warehouse terdiri dari dua jenis tabel yaitu tabel fakta dan tabel dimensi. Tabel fakta menyimpan data-data agregat yang disebut dengan fakta seperti omset, jumlah item terjual, jumlah nasabah, dan fakta-fakta lain sesuai keperluan. Tabel fakta dilengkapi dengan indeks atau foreign key yang berasal dari tabel-tabel dimensi. Dengan adanya indeks atau foreign key ini, fakta dalam tabel fakta akan bisa diakses dengan leluasa berdasarkan variasi dimensi yang disediakan di dalam tabel dimensi. Tabel dimensi merupakan bagian dari database data warehouse yang digunakan untuk dapat melakukan proses reporting dengan lebih cepat dan variasi yang lebih beragam. Tabel dimensi yang paling sering digunakan dalam pengembangan data warehouse adalah tabel dimensi waktu dan tabel dimensi tempat. Dimensi waktu dapat menyimpan berbagai macam variasi misalnya dimensi tahunan, dimensi bulanan, dimensi mingguan, dimensi harian, dimensi hari libur atau bukan, dimensi awal bulan, dimensi akhir bulan, dan berbagai dimensi lainnya terkait dengan waktu. Dimensi tempat juga merupakan dimensi yang sering digunakan yang bisa mencakup dimensi negara, dimensi provinsi, dimensi kabupaten/kota, dimensi kecamatan, dimensi desa, dimensi kota/desa dan dimensi tempat lainnya. Adapun data yang tersimpan di dalam suatu data warehouse dapat ditampilkan dalam bentuk tabel ataupun grafik. Untuk penampilan data dalam suatu data warehouse dalam bentuk grafik, dapat dibentuk menjadi suatu sistem dashboard yang menampilkan tingkat pencapaian atau progres suatu keadaaan, seperti tingkat pencapaian target penjualan, tingkat pencapaian target nasabah dan lain-lain. Tipe grafik yang digunakan juga bisa bermacam-macam termasuk di dalamnya bentuk speedometer untuk menunjukkan progres atau tingkat pencapaian.
2.3.2. Manfaat Data Warehouse Melalui pengembangan data warehouse, data yang tersimpan dalam sistem transaksional bisa untuk dimanfaatkan dengan lebih baik. Secara spesifik, manfaat data warehouse adalah sebagai berikut [1,2]: 1.
Menggabungkan data dari berbagai sumber menjadi satu sumber yang dapat digunakan secara efektif.
2.
Menghapus permasalahan yang ada dalam melakukan analisis menggunakan data transaksional yaitu waktu running yang lama.
9
3.
Menjaga agar informasi lama tidak hilang, walaupun data transaksional lama harus dihapuskan.
4.
Dapat memberikan cara pandang secara enterprise dimana perusahan dapat terdiri dari berbagai jenis perusahaan.
5.
Meningkatkan kualitas data, dari sisi pengkodingan dan diskripsi, bahkan dapat memperbaiki data yang tidak konsisten.
6.
Menampilkan informasi perusahaan secara konsisten.
7.
Merestruktur data sehingga dapat dilihat dengan lebih mudah oleh pengguna data.
8.
Memberikan nilai tambah pada sistem-sistem berbasis pelanggan seperti Customer Relationship Management (CRM) Systems.
2.3.3. Extraction Transformation Loading (ETL) Dalam mentransfer data dari database operasional ke dalam database data warehouse diperlukan suatu proses yang disebut dengan proses Extraction Transformation and Loading (ETL) [1,2]. Proses ini terdiri dari 3 (tiga) tahap yaitu proses ekstraksi (Extraction), proses transformasi (Transformation), dan proses load (Loading) yang merupakan tahap yang saling terkait antara satu dengan yang lainnya. Proses ekstraksi (Extraction) merupakan proses mengekstraksi data dari berbagai sumber, sehingga semua sumber berada dalam satu platform yang sama. Sumber data bisa saja berupa data dengan berbagai jenis platform seperti Relational Database Systems (RDBMS), file Excel, atau flat files. Bahkan, data juga bisa dalam bentuk non-relational database atau diambil dalam bentuk fetching dari sumber berjalan seperti web dan lain-lain. Proses transformasi (Transformation) merupakan proses mentransformasi data yang telah diekstraksi menjadi bentuk database yang dipersiapkan untuk proses data warehouse. Proses ini mencakup proses summary seperti penjumlahan, perhitungan persentase, perkalian berbobot dan lain-lain. Secara spesifik, proses ekstraksi yang dilakukan mencakup sub-proses yang lebih kecil lagi termasuk [1,2]: 1.
Memilih kolom di dalam database.
2.
Menterjemahkan kode nilai.
3.
Menjadikan kode nilai menjadi bentuk kode bebas seperti “Laki-Laki” menjadi “1”.
10
4.
Menghitung nilai baru dari berbagai operasi yang diperlukan seperti penjumlahan, perhitungan persentase, perkalian berbobot, dan lainlain.
5.
Mengurutkan data.
6.
Menggabungkan data.
7.
Men-transpose atau mem-pivot kolom atau baris.
8.
Memecah kolom.
9.
Menjumlahkan tanpa mengikutkan nilai yang muncul berulang kali.
10. Mengaplikasikan berbagai validasi terhadap konsistensi data. Proses load (Loading) merupakan proses untuk menyimpan data ke dalam database data warehouse secara berkala. Sesuai keperluan, data di dalam sistem dapat dalam bentuk update yang menghapus data lama atau update yang membiarkan data yang lama. Pola update juga mengikuti keperluan yang ada apakah secara harian, bulanan, atau tahunan. Untuk dapat mendisain sistem ETL yang tepat, disain database untuk data warehouse harus sudah ditentukan terlebih dahulu. Tetapi karena data warehouse merupakan suatu cerminan dari proses bisnis, struktur database di dalam data warehouse bisa berubah-ubah menyesuaikan pada perubahan proses bisnis yang ada. Sehingga, disain sistem ETL juga akan mengikuti perubahan struktur database data warehouse yang diperlukan.
2.4.
Sistem Dashboard Sistem Dashboard merupakan suatu varian dari sistem data warehouse
yang umumnya menampilkan tingkat pencapaian atau progress dari suatu pekerjaan atau keadaan yang ada di dalam suatu perusahaan [1,2]. Sistem dashboard memberikan pengguna kemudahan dalam membaca progres indikator yang digunakan untuk memantau proses bisnis yang ada di dalam suatu perusahaan atau organisasi.
2.5.
Unified Modeling Language (UML) Unified Modeling Language (UML) merupakan standar yang relatif terbuka
yang dikendalikan oleh OMG (Object Management Group), sebuah konsorsium terbuka yang terdiri dari banyak perusahaan [5]. OMG dibentuk untuk membuat standar-standar yang mendukung interoperabilitas sistem berorientasi objek. UML
11
lahir dari penggabungan bahasa pemodelan grafis pada akhir 1980-an dan awal 1990-an. UML terdiri dari 13 jenis diagram resmi. Meskipun jenis-jenis diagram ini merupakan cara orang-orang menggambarkan model sistem, para perancang UML tidak memandang diagram sebagai bagian yang sentral. Dan hasilnya, jenisjenis diagram bukanlah hal yang mutlak, tetapi bisa dijadikan sebagai acuan dalam pemodelan. Berikut ini adalah 4 diagram utama yang umumnya digunakan untuk menggambarkan suatu sistem.
2.5.1. Use Case Diagram Use case diagram adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case diagram merupakan gambaran graphical dari beberapa atau semua actor, use case, dan interaksi di antara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behaviour) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem, kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use case (use case diagram) itu sendiri. Elemenelemen Use Case Diagram antara lain:
12
1)
Actor Actor adalah segala sesuatu yang berinteraksi dengan sistem aplikasi
komputer. Jadi actor bisa berupa orang, perangkat keras, atau mungkin juga objek lain dalam sistem yang sama. Biasanya yang dilakukan oleh actor adalah memberikan informasi pada sistem dan atau memerintahkan sistem untuk melakukan sesuatu.
Gambar 2.1 Notasi Actor
2)
Use Case Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem
untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan namun use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem melakukan kegiatan tersebut.
Gambar 2.2 Notasi Use Case
3)
Relasi Ada beberapa relasi yang terdapat pada use case diagram:
a.
Association, menghubungkan link antar elemen.
b.
Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.
c.
Dependency, sebuah elemen bergantung dalam beberapa cara ke elemen lainnya.
d.
Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.
Buat Account baru Admin
Gambar 2.3 Notasi Relasi
13
Tipe relasi/stereotype yang mungkin terjadi pada use case diagram: 1.
<>, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2.
<>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.
3.
<>,
ditambahkan
untuk
asosiasi
yang
menunjukkan
asosiasinya (communicates association). Ini merupakan pilihan untuk asosiasi dengan tipe relationship yang dibolehkan antara actor dan use case.
Gambar 2.4 Use Case Diagram
2.5.2. Class Diagram Class diagram menggambarkan struktur dan deskripsi class, package, dan objek beserta hubungan satu sama lain seperti asosiasi (hubungan statis antar class), agregasi, pewarisan, dan hubungan dinamis. Class digambarkan sebagai template objek yang mempunyai attribute dan method, sebagai karakteristik dan tingkah laku dari class tersebut.
14
Gambar 2.5 Contoh Class Diagram
Atribut dan metoda dapat memiliki salah satu sifat: 1.
Private, tidak dapat dipanggil dari luar class yang bersangkutan;
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan yang mewarisinya;
3.
Public, dapat dipanggil oleh siapa saja Hubungan antar Class dapat dalam bentuk sebagai berikut:
1.
Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain (Gambar a). Panah navigability menunjukkan arah query antar class (Gambar b).
Gambar 2.6 Simbol Asosiasi
2.
Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
Gambar 2.7 Simbol Agregasi
3.
Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
Gambar 2.8 Simbol Pewarisan
15
Gambar 2.9 Contoh Class Diagram
4.
Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram.
2.5.3. 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 atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses, dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
16
Gambar 2.10 Contoh Sequence Diagram
Tabel 2.1 Simbol Sequence Diagram No.
Simbol
Nama Aktor
1
Keterangan Orang atau sistem yang lain berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat
Garis 2
Lifeline suatu objek
hidup/ Lifeline
3
Nama objek: Nama kelas
Objek
berinteraksi pesan Waktu aktif
4
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
Pesan tipe 5
Menyatakan objek yang
<>
create
Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat
17
No.
Simbol
Nama
6
1:
Pesan tipe
Suatu objek memanggil operasi/
nama_method
call
metode yang ada pada objek lain
Pesan tipe
Suatu objek mengirimkan data ke
7
1: masukan
send
Keterangan
objek lainnya, arah panah mengarah pada objek yang dikirim
Pesan tipe 8
1: keluaran
return
Suatu objek yang telah menjalankan suatu operasi atau menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian Menyatakan suatu objek
9
Pesan tipe
mengakhiri hidup objek yang lain,
destroy
arah panah mengarah pada objek yang diakhiri
2.5.4. Activity Diagram Activity diagram menggambarkan urutan kerja dari proses dilakukan dalam suatu use case. Satu use case mempunyai satu activity diagram yang di dalamnya terdiri dari kegiatan, control, perulangan, dan interaksi antara user dengan sistem. Aktivitas yang dimasukkan dalam suatu activity diagram adalah aktivitas-aktivitas yang masih bersifat relative umum. Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelum (internal processing). Oleh karena itu activity diagram tidak menggambarkan behavior internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan prosesproses dan jalur-jalur aktivitas dari level atas secara umum.
18
Sebuah aktivitas dapat direalisasikan oleh suatu use case atau lebih. Aktivitas
menggambarkan
proses
yang
berjalan,
sementara
use
case
menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Standar UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join), digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa objek swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
Tabel 2.2 Simbol Activity Diagram No.
Simbol
1 2
Nama Status awal
aktivita
Aktivitas
Keterangan Status awal aktivitas sistem Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
3
Percabangan decision
4
Asosiasi percabangan dimana ada pilihan lebih dari satu
Penggabungan Asosiasi penggabungan dimana join
lebih dari satu aktivitas digabungkan menjadi satu
5
Status akhir
Status akhir yang dilakukan sistem
6
Nama swimlane
Swimlane
Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
7
Fork
Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel
19
No.
Simbol
8
Nama Join
Keterangan Digunakan untuk menunjukkan kegiatan yang digabungkan
Gambar 2.11 Contoh Activity Diagram
2.6.
Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) merupakan pemodelan data yang
menggambarkan entitas dalam suatu sistem dan sekaligus menentukan hubungan antar entitas [6]. Tujuan ERD bukan untuk menggambarkan table-tabel yang terdapat di dalam database suatu sistem. Dalam hubungannya dengan Unified Modeling Language (UML), ERD lebih menggambarkan class-class dalam UML sebagai entitas, tetapi dalam bentuk yang lebih sederhana.
2.7.
Basis Data Basis data adalah kumpulan data yang (arsip) yang saling berhubungan
yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan [6]. Atau bisa
20
diartikan sebagai kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Basis Data pada prinsipnya ditujukan untuk pengaturan data agar terdapat kemudahan dalam pengambilan kembali data tersebut. Berikut ini terdapat beberapa tujuan dari Basis Data di antaranya yaitu:
2.8.
a.
Kecepatan dan kemudahan (Speed)
b.
Efisiensi ruang penyimpanan (Space)
c.
Keakuratan (Accuracy)
d.
Ketersediaan (Avaibility)
e.
Kelengkapan (Completeness)
f.
Keamanan (Security)
g.
Kebersamaan (Sharability)
Physical Data Model Physical Data Model menggambarkan tentang table-tabel yang terdapat di
dalam suatu database pendukung pengembangan suatu sistem [6]. Tabel-tabel tersebut dilengkapi dengan field-field dan tipe data yang digunakan untuk setiap field. Physical Data Model juga menggambarkan field yang merupakan Primary Key (PK) dari suatu table dan Foreign Key (FK) yang diperlukan di dalam setiap table sesuai dengan relationship yang ada di antara entitas di dalam sistem.
2.9.
Object Oriented Programming (OOP) OOP adalah sebuah metodologi atau cara berpikir dalam melakukan
pemrograman dimana pendefinisian tipe data disertai dengan pendefinisian fungsi. Struktur data yang seperti ini disebut dengan istilah object. Ada beberapa konsep utama OOP antara lain [7]: 1.
Class: kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.
2.
Objek: membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
3.
Abstraksi: kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti.
21
Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi
dengan
objek
lainnya
dalam
sistem,
tanpa
mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi, atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. 4.
Enkapsulasi: suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to access data.
5.
Polymorphism: melalui pengiriman pesan dan tidak bergantung kepada pemanggilan subrutin; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu dimana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakkan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polymorphism karena sebuah variabel tunggal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan
dengan
bahasa
fungsional
yang
memunculkan
polymorphism melalui penggunaan fungsi kelas pertama. 6.
Inheritance:
Mengatur
polymorphism
dan
enskapsulasi
dengan
mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada, objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa harus mengimplementasi ulang perilaku tersebut. Dengan menggunakan OOP, maka dalam melakukan pemecahan suatu masalah, kita tidak melihat bagaimana cara menyelesaikan permasalahan tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data, dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung, tetapi dapat
22
memerintahkan sekretaris untuk mengambilkannya dari petugas administrasi data. Salah satu bahasa pemrograman berorientasi objek yang umum digunakan adalah bahasa pemrograman Java. Bahasa pemrograman Java telah banyak digunakan untuk pengembangan aplikasi otomatisasi [8]. Dalam penelitian ini, aplikasi dikembangkan dengan bahasa pemrograman Java.
2.10.
Web Concept Web merupakan konsep penyampaian informasi berupa dokumen
webpage yang dihubungkan satu dengan yang lainnya memanfaatkan teknologi internet [9]. Ada beberapa konsep yang digunakan dalam mengembangkan sistem berbasis web antara lain Java Server Page (JSP), HTML, CSS, JavaScript, dan Java Programming.
2.10.1. Java Server Page (JSP) Java Server Page merupakan suatu teknologi untuk mengontrol suatu isi dari tampilan website melalui penggunaan servlet. Servlet itu sendiri adalah salah satu bentuk aplikasi berbasis web yang dikembangkan dengan bahasa Java. Halaman JSP terdiri atas html/xml standar dan tag script JSP. Sama seperti halaman HTML biasa, JSP menggunakan protocol HTTP.
2.10.2. Hypertext Markup Language (HTML) Hypertext Markup Language (HTML) digunakan untuk mempersiapkan sebuah dokumen hypertext. HTML sebenarnya bukan bahasa pemrograman, karena tercermin dari namanya. HTML adalah suatu bahasa mark up. HTML digunakan untuk melakukan mark up (penandaan) terhadap sebuah dokumen teks. Simbol mark up yang digunakan oleh HTML ditandai dengan tanda lebih kecil (<) dan tanda lebih besar (>). Kedua tanda ini disebut tag. Tag yang digunakan sebagai tanda penutup diberi karakter garis miring (…>). Berikut contoh penggunaan tag HTML: Ini adalah heading
2.10.3. Cascading Style Sheet (CSS) Cascading Style Sheet (CSS) merupakan suatu teknik penulisan kode untuk memperindah dan mempermudah untuk pengkodean HTML. Tujuan dari
23
penggunaan CSS ini secara umum untuk memperindah tampilan webpage dan membuat tampilan dengan standar-standar yang sama dalam satu kumpulan domain website.
2.10.4. JavaScript JavaScript merupakan bahasa script yang sangat popular digunakan untuk pengembangan web. Coding JavaScript ini dimasukkan dalam halaman web menggunakan tag SCRIPT. Walaupun tidak ada hubungan dengan bahasa pemrograman Java, JavaScript banyak digunakan untuk berbagai keperluan seperti membuat efek Rollover, atau dikombinasikan dengan penggunaan AJAX.
2.11.
Java Programming Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam [8]. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Java Virtual Machine (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi Java mampu berjalan di beberapa platform sistem operasi yang berbeda, Java dikenal pula dengan slogannya, "write once, run anywhere". Saat ini Java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. Fitur penting Java adalah bahasa yang ditujukan untuk membuat beragam jenis aplikasi secara seragam, yaitu: 1.
Program di lingkungan web browser Applet adalah program yang berjalan di lingkungan web browser. Program ini dieksekusi di web browser dari halaman web yang memuat Java applet. Web browser kemudian menugaskan Java interpreter (JRE-Java Runtime Environment) untuk mengeksekusi Java applet yang diterima. Java applet
24
membuat langkah besar, memungkinkan web menjadi sarana/media interaktif dimana halaman web menjadi dapat bereaksi terhadap masukan atau tanggapan pemakai. 2.
Program di lingkungan web server a.
Java Server Pages, sebagai web scripting serupa ASP, PHP dan sebagainya. Program ini ditempelkan di halaman HTML. HTML ini tidak langsung dikirim ke web browser tapi diolah dulu oleh oleh web server dan hasilnya yang berupa dokumen HTML dikirim web server ke web browser. Pemrograman JSP mengakomodasi pemrograman gaya tempelan seperti PHP, gaya tagging seperti Cold Fusion dan orientasi komponen JavaBeans.
b.
Java Servlet, komponen ini adalah semacam modul di web server. JSP akan diterjemahkan menjadi servlet agar mempercepat proses eksekusi.
3.
Program mandiri (atau biasa disebut stand-alone application). Java merupakan pilihan bagus untuk membuat applet, sekaligus sebagai bahasa bersifat umum (general-purpose language) untuk mengembangkan semua jenis program yang dapat dijalankan di komputer dengan sistem operasi apa pun asalkan terdapat java interpreter di platform itu. Untungnya hampir seluruh platform menyediakan Java interpreter karena spesifikasi Java bytecode disebarkan secara terbuka. Aplikasi mandiri ini dapat berbasis konsol maupun berbasis grafis. Sebuah program Java diciptakan dengan file teks extensi .java. Program ini dikompilasi menghasilkan satu filebytecode berektensi class atau lebih. Bytecode adalah serangkaian instruksi serupa kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer tertentu, sementara bytecode berjalan di Java interpreter yang tersedia di semua platform.
4.
Program mandiri sebagai pustaka komponen untuk pengembangan aplikasi. Java menyediakan Bean untuk mendukung RAD (Rapid Application Development) yang berbasis visual seperti Visual Basic atau Borland Delphi.
5.
Bahasa untuk pengembangan aplikasi objek-objek tersebar dalam skala enterprise. Terdapat teknologi Java untuk mengembangkan komponen yaitu EJB (Enterprise JavaBeans) yang berjalan di application server. EJB mendukung Component-based Software Engineering. Application server adalah middleware yang bertugas menjadi intermediasi beragam server di aplikasi yang tersebar dengan skala enterprise. Dukungan Java terhadap
25
sistem tersebar berupa spesifikasi J2EE lengkap meliputi JDBC (Java Database Connectivity), RMI (Remote Method Invocation), EJB (Enterprise JavaBeans), JMS (Java Messaging System), Socket Programming, SQLJ (SQL di Java), dan sebagainya.
2.11.1. Java Development Kit (JDK) Java Development Kit merupakan perangkat lunak yang digunakan untuk melakukan proses kompilasi dari kode Java menjadi bytecode yang dapat dimengerti dan dapat dijalankan oleh Java Runtime Environment. Java Development Kit wajib terinstal pada komputer/perangkat yang akan melakukan proses pembuatan aplikasi berbasis Java. Namun JDK tidak wajib terinstal di komputer yang akan menjalankan aplikasi yang dibangun menggunakan Java. Komponen dasar JDK antara lain: 1.
Compiler (javac), bertugas untuk melaksanakan kompilasi *.java menjadi *.class. Syntax umum: javac nama.java
2.
Interpreter (java), bertugas untuk menjalankan bytecode (*.class). Syntax umum: java nama.class
3.
Applet Viewer, digunakan untuk menjalankan applet viewer, namun sekarang sudah digantikan browser. Syntax umum: appletviewer nama.html
4.
Java Debugger, bertugas untuk melakukan debugging aplikasi Java. Syntax umum: jdb option
5.
Java Class File Diassembler (javap), bertugas membuat daftar method dan attribute public dari suatu kelas. Syntax umum: javap namaKelas
6.
Java Header and Stub Generator, bertugas menerjemahkan bahasa yang ditulis dalam bahasa Java menjadi bahasa C. Syntax umum: javah namaKelas
7.
Java Documentation Generator, menampilkan pustaka class, interface, constructor, dan method standar yang telah dibuat vendor
8.
Source Code Java API, berisi kode sumber secara lengkap untuk semua kelas yang membentuk Java API. Source code ini dapat diperoleh dari file src.zip.
26
2.11.2. Java Runtime Environment (JRE) Java Runtime Environment (JRE) adalah sebuah perangkat lunak yang dibutuhkan untuk menjalankan semua aplikasi yang berbasis Java platform. JRE banyak sekali digunakan sebagai plug-ins web browser dan dalam berbagai program kontemporer. Sun Microsystem juga meluncurkan superset dari JRE dan diberi nama Java 2 SDK, yang sering disebut JDK. Dalam JDK ini terdapat beberapa komponen pengembangan Java, seperti: Java Compiler, Javadoc, Jar dan debugger. Salah satu kelebihan yang ditawarkan oleh JRE adalah kesalahankesalahan (exceptions) yang terjadi tidak akan membuat sistem menjadi crash atau hang. Kelebihan lainnya adalah terdapatnya komponen yang mampu merekam secara tepat waktu segala kesalahan yang terjadi ke dalam memori. Komponen ini dinamakan Automated Exception Handling. Beberapa komponen lainnya antara lain: 1.
Library Java mengkompilasi kode byte dari source code yang dibentuk oleh Implementator JRE untuk mendukung pengembangan aplikasi dalam Java, beberapa contoh Library dalam Java: a.
Core Library
b.
Library terintegrasi
c.
Library User Interface
2.
Implementasi ketergantungan platform Java Virtual Machine (JVM)
3.
Plug-ins yang menjalankan applet untuk dijalankan di web browser
4.
Java Web Start, yang menjalankan aplikasi Java untuk didistribusikan secara efisien ke pengguna internet
5.
Lisensi dan dokumentasi
2.11.3. Java Database Conectivity (JDBC) Java Database Connectivity (JDBC) adalah Application Programming Interface (API) yang dikembangkan oleh Sun Microsystem untuk menyediakan akses data universal dalam bahasa pemrograman Java. JDBC merupakan bagian dari Java 2 SDK Standard Edition. Inti JDBC adalah package java.sql dan javax.sql (bagian dari J2EE). JDBC menyediakan mekanisme koneksi database, sintaks untuk mengirimkan query, dan melakukan transaksi serta struktur data mewakili hasil query.
27
Gambar 2.12 Arsitektur JDBC JDBC merupakan koleksi API yang terdiri dari sekumpulan class dan interface yang ditulis dalam pemrograman Java sebagai standar API untuk developer database maupun software database sehingga memungkinkan pembuatan aplikasi database yang portable dengan bahasa pemrograman Java. Dengan JDBC kita dapat membuat program aplikasi database yang dapat berganti database server tanpa mengubah banyak kode dari program yang sudah ada sehingga memberikan portabilitas tinggi bagi aplikasi yang telah dibuat. Dalam JDBC terdapat tujuh langkah standar untuk menangani database yaitu: 1.
Memanggil / load driver JDBC
2.
Mendefinisikan koneksi database
3.
Melakukan koneksi database
4.
Membuat obyek statement
5.
Melakukan query atau update
6.
Memproses hasil
7.
Menutup koneksi
2.12.
Model View Controller (MVC) Konsep Model View Controller (MVC) merupakan suatu konsep yang
memilah coding menjadi tiga bagian yaitu bagian Model, bagian View, dan bagian Controller [10]. Bagian Model memuat tentang hal-hal yang berkaitan dengan internal sistem dan umumnya tidak bisa dilihat oleh user. Beberapa hal yang
28
menjadi bagian Model adalah koneksi ke database, manipulasi data di dalam database, model penerapan metode tertentu, dan lain-lain. Bagian View memuat tentang fasilitas-fasilitas yang bisa dilihat oleh user, yang umumnya berhubungan dengan user interface, tombol-tombol untuk menjalankan fungsi-fungsi tertentu, dan lain-lain. Sedangkan bagian Controller berisikan coding yang melakukan koneksi antara bagian View dan bagian Model. Bagian controller berisikan fungsi-fungsi pemilahan control dan fungsi-fungsi pengendalian event-event yang dibangkitkan oleh user.
2.13.
StarUML StarUML merupakan software pemodelan yang mendukung UML (Unified
Modelling Language). UML versi 1.4 dilengkapi dengan 11 (sebelas) macam diagram yang berbeda. Fasilitas ini juga didukung dalam UML versi 2.0 yang juga mendukung pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML. StarUML dapat memaksimalkan produktivitas dan kualitas dari suatu software project. Di dalam proses pengembangan sistem ini, StarUML digunakan dalam proses disain sistem.
2.14.
SQLyog SQLyog merupakan salah satu tools yang bisa digunakan untuk
pengembangan database. Terdapat beberapa versi yang bisa didownload. Versi community dapat dipilih karena dapat didownload secara gratis. Sama halnya dengan tool-tool yang sejenis, SQLyog dirancang untuk memudahkan pengguna MySQL untuk mengelola table dan record yang ada di dalam database MySQL. Dengan kelebihan GUI yang disediakan, pembuatan sebuah database dan table dalam dilakukan dengan meng-click tombol fasilitas yang tersedia. Di dalam proses pengembangan sistem ini, SQLyog digunakan dalam proses disain database yang digunakan di dalam sistem.
2.15.
Microsoft Visio Microsoft Visio merupakan aplikasi komputer yang dapat digunakan untuk
pembuatan gambar teknik seperti disain office, disain floor plan, disain eletrikal, dan lain-lain. Tipe gambar yang dimiliki Visio antara lain Block Diagram, Building
29
Plan, Database, Electrical Engineering, Flowchart, Form dan Chart, Map, dan lainlain. Di dalam peroses pengembangan sistem ini, Microsoft Visio digunakan dalam proses disain seperti pembuatan Flowchart, form, chart, dan user interface.
2.16.
Adobe Photoshop Adobe Photoshop merupakan salah satu program pengolah gambar
standar professional. Aplikasi ini dapat digunakan untuk mendisain gambar, mengedit gambar, atau memadukan gambar. Di dalam pengembangan sistem ini, Adobe Photoshop digunakan dalam proses pembuatan gambar-gambar yang digunakan di dalam sistem.
2.17.
Adobe Dreamweaver Adobe Dreamweaver merupakan salah satu software web design
terpopuler yang banyak dipilih oleh pengembang website. Dreamweaver mempunyai tingkat kompatibelitas dan dukungan terhadap berbagai jenis bahasa pemrograman web, seperti ASP, JSP, CM, ASP.NET, PHP, Java Script, CSS, dan SML. Fasilitas ruang kerja dalam Dreamweaver mampu meningkatkan produktivitas dan efektivitas dalam melakukan disain dan pengembangan website. Dreamweaver juga dilengkapi dengan fasilitas untuk manajemen situs yang cukup lengkap. Di dalam pengembangan sistem ini, Adobe Dreamweaver digunakan dalam proses disain user interface dan coding pendukungnya.
2.18.
MySQL MySQL adalah perangkat lunak Relational Database Management System
(RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License), dimana setiap orang bebas untuk menggunakannya, tapi tidak boleh dijadikan produk turunan yang bersifat Closed Source atau komersial [11]. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structure Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
30
Di dalam pengembangan sistem ini, MySQL digunakan sebagai server database yang digunakan dalam sistem.
2.19.
Netbeans Netbeans sebagai IDE ditujukan untuk memudahkan pemrograman Java
[12]. Dalam Netbeans, pemrograman dilakukan berbasiskan visual dan event driven, seperti IDE lain, misalnya Borland Delphi dan Microsoft Visual Studio. Untuk membuat dialog atau User Interface, kita tidak perlu membuat teks program secara manual baris per baris, tetapi cukup klik pada component pallete. Teks program akan dihasilkan secara otomatis. Untuk memakai Netbeans IDE maka kita harus terlebih dahulu mempunyai driver JDK yang akan mendukung pembuatan perangkat lunak dengan menggunakan Netbeans IDE. Oleh karena itu, sebelum meng-install Netbeans terlebih dahulu kita harus menginstal driver JDK. Di dalam pengembangan sistem ini, Netbeans digunakan dalam proses coding program yang diperlukan sistem.
2.20.
Apache Tomcat Apache Tomcat merupakan aplikasi web server yang mempunyai nama
lengkap Jakarta Apache Tomcat. Aplikasi web server ini digunakan untuk menjalankan aplikasi atau website berbasis Java Servlet atau Java Server Pages (JSP). Aplikasi Apache Tomcat ini dikenal sebagai aplikasi web server yang handal dengan tingkat keamanan yang sangat tinggi. Kehandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja Optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibanding database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lipat lebih cepat dari PostgreSQL dan lima kali lebih cepat dibanding Interbase. Di dalam pengembangan sistem ini, Apache Tomcat digunakan sebagai server web dalam menjalankan sistem.
BAB III ANALISA DAN PERANCANGAN SISTEM 3.1.
Analisa Permasalahan Sebagai langkah awal yang dilakukan agar dapat mengetahui gambaran
permasalahan yang dihadapi pada saat penyusunan laporan adalah dengan melakukan analisa permasalahan (Problem Analysis). Dengan melakukan analisa permasalahan diharapkan nantinya dapat memberikan solusi permasalahan yang dihadapi. Permasalahan yang sering dihadapi pada saat penyusunan laporan peminjaman buku, adalah keterbatasan waktu dan proses penyajian laporan tersebut agar dapat dengan mudah dimengerti dan membantu pimpinan untuk melakukan pemantauan dan pengelolaan peminjaman buku. Untuk itu diperlukan suatu sistem yang dapat memberikan gambaran mengenai laporan peminjaman buku yang dihasilkan. Sehingga nantinya dapat membantu pemimpin perusahaan dalam mengambil kebijakan atau tindakan bagi pengelolaan peminjaman buku. Dalam hal ini laporan peminjaman buku akan ditampilkan dalam bentuk dashboard. Sistem yang nantinya dibuat adalah sistem penyusunan laporan peminjaman buku dengan fasilitas dashboard. Sistem data warehouse akan mengolah data transaksional untuk menghasilkan laporan peminjaman buku sebagai acuan pengambilan keputusan oleh kepala bidang bagi pengelolaan peminjaman buku.
3.2.
Analisa Sistem Penyusunan laporan peminjaman buku kini sudah mendapat dukungan
oleh sistem informasi, tetapi masih berpeluang untuk dikembangkan lebih jauh lagi. Untuk membuat suatu keputusan yang tepat dalam pengelolaan peminjaman buku, maka pemimpin perusahaan sangat memerlukan trend data laporan peminjaman buku yang menyajikan data-data riil dari kondisi peminjaman buku pada Kantor Perwakilan BKKBN Provinsi Bali. Dengan menggunakan konsep data warehouse dan sistem dashboard, maka akan sangat memungkinkan untuk menyajikan suatu laporan tentang trend data laporan peminjaman buku.
31
32
Berdasarkan penelitian yang pernah dilakukan, aplikasi penyusunan laporan peminjaman buku dapat dirancang melalui 3 (tiga) proses, yaitu: 1.
Pengumpulan Data Transaksional Data Transaksional ini berupa Data Buku, Data Peminjam, dan Data
Transaksi Peminjaman. 2.
Extraction Transformation Loading (ETL) Proses ETL dilakukan untuk mengubah data transaksional menjadi data
warehouse yang nantinya akan digunakan pada proses reporting. 3.
Reporting Proses reporting akan disajikan dalam bentuk Laporan Peminjaman Buku
dan laporan peminjaman buku dalam bentuk grafik dashboard.
3.3.
Analisa Kebutuhan Non Fungsional Analisa kebutuhan non fungsional menggambarkan sistem yang ada pada
penyusunan laporan peminjaman buku, di antaranya analisa user, perangkat keras (hardware) dan perangkat lunak (software), sebagai analisa kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan dibuat.
3.3.1. Analisa User Analisa user dimaksudkan untuk mengetahui siapa saja yang dapat menggunakan sistem yang akan dibuat. Pengguna sistem dibagi menjadi 2 (dua) jenis user yaitu: 1.
Admin User admin/administrator adalah pengguna sistem yang memiliki akses
penuh terhadap sistem, mengelola data user, mengelola seluruh data master, dan menggunakan sistem untuk melakukan proses penyusunan laporan peminjaman buku publikasi triwulanan. Seorang admin harus memiliki kualifikasi atau kemampuan dasar di bidang komputer dalam mengoperasikan sistem operasi. 2.
Kepala Bidang Advokasi dan Informasi (ADPIN) User Kepala Bidang adalah user yang perlu melakukan login dan
mempunyai kemampuan untuk melihat laporan peminjaman buku publikasi triwulanan dan laporan dalam bentuk dashboard.
33
3.4.
Disain Sistem
3.4.1. Disain Umum Sistem
Gambar 3.1 Disain Umum Sistem
Tahap pertama dimulai dari proses import data-d[ata transaksional. Setelah data transaksional di-import, proses selanjutnya adalah Extraction Transformation Loading, setelah itu data-data tersebut disimpan dalam sebuah data warehouse yang kemudian dilanjutkan dalam proses reporting dalam bentuk Laporan Peminjaman Buku dan grafik dashboard. Gambar 3.1 menjelaskan gambaran umum dari disain sistem penyusunan laporan peminjaman buku dengan fasilitas dashboard. Proses import data dilakukan untuk memasukkan data transaksional (dalam bentuk teks file excel) yang terdiri dari data buku, data peminjam dan data transaksi ke dalam sistem. Pada proses Extraction, seluruh data-data transaksional dalam bentuk teks file tersebut di ekstraksi ke dalam sumber data, dan dilakukan penyimpanan dalam file sementara untuk penggabungan dengan hasil ekstraksi seluruh data transaksional. Proses Transformation adalah proses dimana data transaksional hasil ekstraksi tersebut disaring dan diubah sesuai dengan kebutuhan laporan peminjaman buku, prosesnya antara lain: 1.
Memetakan data transaksional dari skema data aslinya ke skema data warehouse
2.
Melakukan konversi tipe data atau format data
3.
Perhitungan nilai-nilai agregat atau rangkuman
34
4.
Pengisian nilai-nilai kosong dengan nilai default
5.
Penggabungan data
Proses Loading adalah proses pemuatan data yang didapatkan dari hasil transformasi ke dalam data warehouse. Setelah data-data tersebut sudah terbentuk dan tersimpan dalam skema data warehouse, maka akan dilakukan proses reporting dalam bentuk grafik Laporan Peminjaman Buku. Fakta yang terbentuk untuk dashboard buku adalah fakta buku dengan dimensi yaitu dimensi buku, dimensi pengadaan, dimensi pengarang, waktu pengadaan buku yang digunakan dalam dashboard buku. Fakta peminjam dengan dimensi waktu peminjam, dimensi instansi yang digunakan dalam dashboard peminjam. Sementara data sumber berasal dari data master buku, data master peminjam dan data master peminjaman.
3.4.2. Use Case Diagram Berikut adalah use case diagram yang memperlihatkan proses dan aktivitas yang terjadi pada aplikasi penyusunan laporan peminjaman buku. Ada sebanyak 21 (dua puluh satu) use case yang tercakup di dalam sistem ini, seperti ditampilkan pada Gambar 3.2. Akan tetapi, untuk use case maintenance data (Application User, Application Group, Application Privilege), kegiatan tersebut dibagi kembali menjadi 5 (lima) use case turunan berupa use case Show List, Add, Edit, Save, dan Delete Data, yang ditampilkan pada Gambar 3.3.
35
Gambar 3.2 Use Case Diagram
Gambar 3.3 Sub Use Case Diagram Maintenace Data
36
3.4.3. Use Case Text Use case text menceritakan suatu urutan interaksi antara satu atau lebih actor dan sistem, serta menceritakan jalannya aliran sebuah data dan sistem secara lebih detail. Use case text berbentuk teks tanpa visualisasi. Di dalam use case text terdapat teks untuk menjelaskan urutan kegiatan yang disebut dokumentasi use case, yang terdiri dari: Nama
: Mencantumkan nama dari use case yang bersangkutan.
Pre Condition
: Persyaratan yang harus dipenuhi sebelum use case dimulai.
Actor
: Pelaku
Post Condition
: Menjelaskan kondisi yang terjadi saat use case selesai dieksekusi.
Steps
: Menjelaskan langkah-langkah yang dilakukan oleh pelaku/actor.
Actor who get benefit : Mencantumkan nama dari actor yang mendapat keuntungan saat use case telah dipenuhi.
1. Use Case Text Login Tabel 3.1 Use Case Text Login Use Case Name
Login
Pre Condition
Maintenance Data Application User
Primary Actor
All Users
Secondary Actor
-
Post Condition
-
Steps
1. User menjalankan aplikasi 2. Sistem akan menampilkan halaman untuk login 3. User menginputkan username dan password 4. Sistem memvalidasi username dan password 5. Sistem mengambil list privilege user dan kemudian menampilkan halaman utama sistem sesuai dengan privilege yang ada
Actor who get benefit
All Users
37
2. Use Case Text Maintenace Data Application User Tabel 3.2 Use Case Text Maintenace Data Application User Use Case Name
Maintenace Data Application User
Pre Condition
Login (sebagai Admin)
Primary Actor
Admin
Secondary Actor
-
Post Condition
-
Steps
1. Sistem menampilkan halaman maintenance user 2. Admin memilih menu application user 3. Admin dapat melakukan perintah add, save, edit, atau delete data application user yang terdiri dari Login ID, Password, Full Name, Email, dan List User Group. a. Perintah add, akses halaman add data application user, input data application user (termasuk data application group yang diperlukan), dan simpan data application user dan data usergroup b. Perintah edit, akses halaman edit data application user, pilih data application user yang akan di-edit, input data application user yang baru (termasuk data application group yang
diperlukan),
dan
simpan
data
application user dan data usergroup c. Perintah delete, akses halaman delete data application user, pilih data application user yang
akan
dihapus
(termasuk
data
application group yang diperlukan) dan hapus data application user dan data usergroup Actor who get benefit
All Users
38
3. Use Case Text Maintenace Data Application Group Tabel 3.3 Use Case Text Maintenace Data Application Group Use Case Name
Maintenace Data Application Group
Pre Condition
Login
(sebagai
Admin),
Maintenance
Data
Application Privilege Primary Actor
Admin
Secondary Actor
-
Post Condition
-
Steps
1. Sistem menampilkan halaman maintenance user 2. Admin memilih menu application group 3. Admin dapat melakukan perintah add, save, edit, atau delete data Application Group yang terdiri dari Nama Group, Status, Deskripsi, dan List Application Privilege a. Perintah add, akses halaman add data application group, input data application group (termasuk data application privilege yang
diperlukan),
dan
simpan
data
application group dan data grouppriv b. Perintah edit, akses halaman edit data application group, pilih data application group
yang
akan
di-edit,
input
data
application group yang baru (termasuk data application privilege yang diperlukan), dan simpan data application group dan data grouppriv c. Perintah delete, akses halaman delete data application group, pilih data application group yang akan dihapus (termasuk data application privilege yang diperlukan) dan hapus data application group dan data grouppriv
39
Actor who get benefit
All Users
4. Use Case Text Maintenace Data Application Privilege Tabel 3.4 Use Case Text Maintenace Data Application Privilege Use Case Name
Maintenace Data Application Privilege
Pre Condition
Login (sebagai Admin)
Primary Actor
Admin
Secondary Actor
-
Post Condition
-
Steps
1. Sistem menampilkan halaman maintenance user 2. Admin memilih menu application privilege 3. Admin dapat melakukan perintah add, save, edit, atau delete data Application Privilege yang terdiri dari Nama Privilege, dan Deskripsi a. Perintah add, akses halaman add data application privilege, input data application privilege, dan simpan data application privilege b. Perintah edit, akses halaman edit data application privilege, pilih data application privilege yang akan di-edit, input data application privilege yang baru, dan simpan data application privilege c. Perintah delete, akses halaman delete data application privilege, pilih data application privilege yang akan dihapus (termasuk data privilege objek yang diperlukan) dan hapus data application privilege dan data privilege objek
Actor who get benefit
All Users
40
5. Use Case Text Import Data Tabel 3.5 Use Case Text Import Data Use Case Name
Import Data
Pre Condition
Login (sebagai Admin)
Primary Actor
Admin
Secondary Actor
-
Post Condition
-
Steps
1. Admin mengakses halaman ETL 2. Admin memilih file yang akan di-import 3. Admin memilih tombol Upload Data 4. Sistem melakukan Import Data
Actor who get benefit
All Users
6. Use Case Text Proses ETL Tabel 3.6 Use Case Text Proses ETL Use Case Name
Proses ETL
Pre Condition
Login (sebagai Admin), Import Data
Primary Actor
Admin
Secondary Actor
-
Post Condition
-
Steps
1. Admin mengakses halaman ETL 2. Admin memilih periode laporan 3. Admin memilih tombol Proses ETL 4. Sistem melakukan proses ETL dan menyimpan data ke dalam database
Actor who get benefit
7.
All Users
Use Case Text Lihat Data Buku Tabel 3.7 Use Case Text Lihat Data Buku Use Case Name
Lihat Data Buku
Pre Condition
Login, Import Data, Proses ETL
41
Primary Actor
All Users
Secondary Actor
-
Post Condition
-
Steps
1. User mengakses halaman View Data Buku 2. User memilih filter untuk menampilkan data Buku 3. User memilih tombol Tampilkan data Buku 4. Sistem menampilkan grafik data Buku sesuai dengan filter yang dipilih oleh user
Actor who get benefit
8.
All Users
Use Case Text Lihat Data Peminjam Tabel 3.8 Use Case Text Lihat Data Peminjam Use Case Name
Lihat Data Peminjam
Pre Condition
Login, Import Data, Proses ETL
Primary Actor
All Users
Secondary Actor
-
Post Condition
-
Steps
1. User mengakses halaman View Data Peminjam 2. User memilih filter untuk menampilkan data peminjam 3. User memilih tombol Tampilkan data peminjam 4. Sistem menampilkan grafik data peminjam sesuai dengan filter yang dipilih oleh user
Actor who get benefit
9.
All Users
Use Case Text Lihat Data Transaksi Peminjaman Buku Tabel 3.9 Use Case Text Lihat Data Transaksi Peminjaman Buku Use Case Name
Lihat Data Transaksi Peminjaman Buku
Pre Condition
Login, Import Data, Proses ETL
Primary Actor
All Users
42
Secondary Actor
-
Post Condition
-
Steps
5. User mengakses halaman View Data Transaksi Peminjam 6. User memilih filter untuk menampilkan data transaksi peminjam 7. User memilih tombol Tampilkan data transaksi peminjam 8. Sistem menampilkan grafik data transaksi peminjam sesuai dengan filter yang dipilih oleh user
Actor who get benefit
All Users
10. Use Case Text Logout Tabel 3.10 Use Case Text Logout Use Case Name
Logout
Pre Condition
Login
Primary Actor
All Users
Secondary Actor
-
Post Condition
-
Steps
1. User mengakses halaman utama pada sistem 2. User memilih menu Logout pada menu utama 3. User keluar dari sistem
Actor who get benefit
All Users
43
3.4.5. Activity Diagram Berikut activity diagram dari hasil analisa yang telah dibuat untuk memodelkan proses dan langkah-langkah dari sistem: 1.
Login
Gambar 3.4 Activity Diagram Login
2.
Show List, Add dan Save (Insert) Data (Application User, Application Group)
Gambar 3.5 Activity Diagram Add Data (Application User, Application Group)
44
3.
Show List, Edit dan Save (Update) Data (Application User, Application Group)
Gambar 3.6 Activity Diagram Edit Data (Application User, Application Group)
4.
Show List dan Delete Data (Application Group, Application Privilege)
Gambar 3.7 Activity Diagram Delete Data (Application Group, Application Privilege)
45
5.
Show List dan Delete Data (Application User)
Gambar 3.8 Activity Diagram Edit Data (Application User)
6.
Show List, Add dan Save (Insert) Data (Application Privilege)
Gambar 3.9 Activity Diagram Add Data (Application Privilege)
46
7.
Show List, Edit dan Save (Update) Data (Application Privilege)
Gambar 3.10 Activity Diagram Edit Data (Application Privilege)
8.
Import Data
Import Data Admin
Sistem Mulai
Pilih Menu ETL
Tampil List File
Pilih File Yang Akan Di-import Cek Validitas Data Pilih Perintah Import Tidak
Data Valid? Ya
Simpan data Transaksional ke Database
Selesai
Gambar 3.11 Activity Diagram Import Data
47
9.
Proses ETL Proses ETL Admin
Sistem
Mulai Pilih Menu ETL
Tampil halaman ETL
Pilih Periode Laporan Cek Data Pilih Perintah Proses Tidak
Data Tersedia? Ya Proses ETL
Simpan Data Utama dan Detailnya Selesai
Gambar 3.12 Activity Diagram Proses ETL
10. Lihat Data Buku
Gambar 3.13 Activity Diagram Lihat Data Buku
48
11. Lihat Data Peminjam
Gambar 3.14 Activity Diagram Lihat Data Peminjam
12. Lihat Data Transaksi Peminjaman
Gambar 3.15 Activity Diagram Lihat Data Transaksi Peminjaman
49
13. Logout
Gambar 3.16 Activity Diagram Logout
3.4.6. Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasikan akan menghasilkan sebuah object dan merupakan inti dari pengembangan dan disain berorientasi object. Class menggambarkan keadaan (attribut/property) suatu sistem sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package, dan object beserta hubungan satu sama lain seperti constraint, pewarisan, asosiasi, dan lain-lain.
50
PstAppUser +TBL_APPUSER: String +FLD_USER_ID: int +FLD_LOGIN_ID: int +FLD_PASSWORD: int +FLD_FULL_NAME: int +FLD_EMAIL: int +FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldTypes(): array int +getFieldNames(): array String +getPersistentName(): String +insert(): long +update(): long +delete(): long +fetch(): long +list(): Vector AppUser +resultToObject(): void +getByLoginIdAndPassword(): AppUser AppUserJSP -ctrlAppUser: CtrlAppUser -frmAppUser: FrmAppUser -drawList() FrmAppPriv +FRM_FLD_PRIV_ID: int +FRM_FLD_PRIV_NAME: int +FRM_FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFormName(): String +getFieldNames(): array String +getFieldTypes(): array int +getFieldSize(): int +getEntityObject(): AppPriv +requestEntityObject(): void CtrlAppPriv +RSLT_OK: int +RSLT_UNKNOWN_ERROR: int +RSLT_DATA_EXIST: int +RSLT_FORM_INCOMPLETE: int +start: int +appPriv: AppPriv +pstAppPriv: PstAppPriv +frmAppPriv: FrmAppPriv +resultText: String +msgString: String +language: int +getAppPriv(): AppPriv +getForm(): FrmAppPriv +getStart(): int +getLanguage(): int +getSystemMessage(): String +getControlMsgId(): int +getMessage(): String +action(): int +actionList(): int
FrmAppUser +FRM_FLD_LOGIN_ID: int +FRM_FLD_PASSWORD: int +FRM_FLD_FULL_NAME: int +FRM_FLD_EMAIL: int +FRM_FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFormName(): String +getFieldNames(): array String +getFieldTypes(): array int +getFieldSize(): int +getEntityObject(): AppUser +requestEntityObject(): void
UserGroup
AppUser -loginId: String -password: String -full_name: String -email: String -description: String +setLoginId(): void +getLoginId(): String +setPassword(): void +getPassword(): String +setFullName(): void +getFullName(): String +setEmail(): void +getEmail(): String +setDescription(): void +getDescription(): String
-userID: long -groupID: long
-groupName: String -description: String
+setUserID(): void +getUserID(): long +setGroupID(): void +getGroupID(): long
+setGroupName(): void +getGroupName(): String +setDescription(): void +getDescription(): String
CtrlAppUser +RSLT_OK: int +RSLT_UNKNOWN_ERROR: int +RSLT_DATA_EXIST: int +RSLT_FORM_INCOMPLETE: int +start: int +appUser: AppUser +pstAppUser: PstAppUser +frmAppUser: FrmAppUser +resultText: String +msgString: String +language: int +getAppUser(): AppUser +getForm(): FrmAppUser +getStart(): int +getLanguage(): int +getSystemMessage(): String +getControlMsgId(): int +getMessage(): String +actionList(): int +action(): int +IDAppUser() AppPriv -privName: String -description: String +setPrivName(): void +getPrivName(): String +setDescription(): void +getDescription(): String AppPrivJSP -ctrlAppPriv: CtrlAppPriv +frmAppPriv: FrmAppPriv -drawList()
CtrlAppGroup
AppGroup
PstUserGroup +FLD_USER_ID: int +FLD_GROUP_ID: int +fieldNames: array String +fieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector UserGroup +listAll(): Vector UserGroup +resultToObject(): void PstAppPriv +TBL_APPPRIV: String +FLD_PRIV_ID: int +FLD_PRIV_NAME: int +FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldTypes(): array int +getFieldNames(): array String +getPersistentName(): String +insert(): long +update(): long +delete(): long +fetch(): long +list(): Vector AppPriv +listAll(): Vector AppPriv +resultToObject(): void
AppGroupJSP -ctrlAppGroup: CtrlAppGroup -frmAppGroup: FrmAppGroup -drawList() PstAppGroup +TBL_APPGROUP: String +FLD_GROUP_ID: int +FLD_GROUP_NAME: int +FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldTypes(): array int +getFieldNames(): array String +getPersistentName(): String +insert(): long +update(): long +delete(): long +fetch(): long +list(): Vector AppGroup +listAll(): Vector AppGroup +resultToObject(): Void PstGroupPriv +FLD_GROUP_ID: int +FLD_PRIV_ID: int +fieldNames: array String +fieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector GroupPriv +listAll(): Vector GroupPriv +resultToObject(): void
Gambar 3.17 Class Diagram
+RSLT_OK: int +RSLT_UNKNOWN_ERROR: int +RSLT_DATA_EXIST: int +RSLT_FORM_INCOMPLETE: int +start: int +appGroup: AppGroup +pstAppGroup: PstAppGroup +frmAppGroup: FrmAppGroup +resultText: String +msgString: String +language: int +getAppGroup(): AppGroup +getForm(): FrmAppGroup +getStart(): int +getLanguage(): int +getSystemMessage(): String +getControlMsgId(): int +getMessage(): String +actionList(): int +action(): int
FrmAppGroup +FRM_FLD_GROUP_ID: int +FRM_FLD_GROUP_NAME: int +FRM_FLD_DESCRIPTION: int +fieldNames: array String +fieldTypes: array int +getFormName(): String +getFieldNames(): array String +getFieldTypes(): array int +getFieldSize(): int +getEntityObject(): AppUser +requestEntityObject(): void GroupPriv -groupID: long -privID: long +setGroupID(): void +getGroupID(): long +setPrivID(): void +getPrivID(): long
51
ETL_Out FrmETL
PstOutDimensiPengadaan
PstOutDimensiPengarang
+Tbl_Name: String +FLD_KodePengadaan +FLD_KlasPengadaan
+Tbl_Name: String +FLD_KodePengarang +FLD_TipePengarng
+getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +list(): Vector PstETLOutDimensiPengadaan +listAll(): Vector PstETLOutDimensiPengadaan +resultToObject(): void
+getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiPengarang +listAll(): Vector PstETLOutDimensiPengarang +resultToObject(): void PstOutDimensiWaktuTransaksi
PstOutDimensiWaktuBuku +Tbl_Name: String +FLD_KodeWaktuBuku +FLD_Bulan +FLD_Tahun
+Tbl_Name: String +FLD_KodeWaktuTransaksi +FLD_Bulan +FLD_Tahun
+getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiWaktuBuku +listAll(): Vector PstETLOuDimensiWaktuBuku +resultToObject(): void
+getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiWaktuTransaksi +listAll(): Vector PstETLOutDimensiWaktuTransaksi +resultToObject(): void
PstOutDimensiWaktuPeminjam +Tbl_Name: String +FLD_KodeWaktuPeminjaman +FLD_Bulan +FLD_Tahun +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiWaktuPeminjam +listAll(): Vector PstETLOutDimensiWaktuPeminjam +resultToObject(): void PstOutDimensiInstansi
+FRM_FLD_AKUN_ID: int +FRM_FLD_WAKTU_ID: int +FRM_FLD_KOLEKTIBILITAS_ID: int +FRM_FLD_NILAI: float +FRM_FLD_KUALITAS_ASET: float +fieldNames: array String +fieldTypes: array int +getFormName(): String +getFieldNames(): array String +getFieldTypes(): array int +getFieldSize(): int +getEntityObject(): ETL +requestEntityObject(): void
+setFakta_Buku(): void +getFakta_Buku(): String +setFakta_Peminjam(): void +getFakta_Pemnjam(): String +setFaktaJumlahTransaksi(): void +getFaktaJumlahTransaksi(): String +setTransaksi(): void +getTransaksi(): String
CtrlETL +RSLT_OK: int +RSLT_UNKNOWN_ERROR: int +RSLT_DATA_EXIST: int +RSLT_FORM_INCOMPLETE: int +start: int +etl_in: ETL_in +etl_out: ETL_Out +frmETL: FrmETL +sessionETL: SessionETL +resultText: String +msgString: String +language: int +getETL(): ETL +getForm(): FrmETL +getSessionETL(): SessionETL +getStart(): int +getLanguage(): int +getSystemMessage(): String +getControlMsgId(): int +getMessage(): String +actionList(): int +action(): int
PstOutDimensiPeminjam +Tbl_Name: String +FLD_KodePeminjam +FLD_KlasIntansi +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiPeminjam +listAll(): Vector PstETLOutDimensiPeminjam +resultToObject(): void
PstOutDimensiBuku
+Tbl_Name: String +FLD_KodeKlasInstansi +FLD_KlasIntansi
+Tbl_Name: String +FLD_KodeBuku +FLD_KlasBuku
+getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiIntansi +listAll(): Vector PstETLOutDimensiIntansi +resultToObject(): void
+getFiledSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiBuku +listAll(): Vector PstETLOutDimensiBuku +resultToObject(): void
ETL_In
+Fakta_Buku: String +Fakta_Peminjam: String +Fakta_Transaksi: String +Fakta_Jumlah_Transaksi_Buku: String
PstETLOutFaktaPeminjam +Tbl_Name: String +FLD_KodeWaktuPeminjam: Long +FLD_KlasInstansi: String +FLD_Jumlah: int +FieldName: array string +FieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutFaktaPeminjam +listAll(): Vector PstETLOutFaktaPeminjam +resultToObject(): void
SessionETL +ETL: ETL +hitungNilai(): void +hitungKAP(): void ReportDashboard +Chartjs: chart +FLD_NILAI: float +FLD_KUALITAS_ASET: float +getFieldSize(): int +getTableName(): String +getFieldNames(): String +fetchExc(): long +insertExc(): long +updateExc(): long PstETLOutFaktaBuku +Tbl_Name: String +FLD_KlasBuku: String +FLD_KlasPengadaan: String +FLD_KlasPengarang: String +FLD_KlasWaktu: String +FLD_Quantity: int +FLD_Harga: Float +FieldName: array string +FieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector ETLOutFaktaBuku +listAll(): Vector ETLOutFaktaBuku +resultToObject(): void
PstOutDimensiTransaksiBuku +Tbl_Name: String +FLD_KodeBuku +FLD_KlasBku +FLD_KlasPengadaan +FLD_KlasPengarang +getFiledSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutDimensiTransaksiBuku +listAll(): Vector PstETLOutDimensiTransaksiBuku +resultToObject(): void
Gambar 3.18 Class Diagram Lanjutan
-Kode_Buku: Long -Klas_buku: String +Klas_pengadaan: String +Judul: String +Penerbit: String +Quantity: int +Harga: float +Klas_Pengarang: String -Tgl_Pengadaan: Date -Kode_Peminjam: Long +Nama: String +Instansi: String +Tgl_Pinjam: Date +Tgl_Kembali: Date +setKodeBuku(): void +getKodeBuku(): long +setKlas_Buku(): void +getKlas_buku(): long +setKlas_Pengadaan(): void +getKlas_Pengadaan(): long +setJudul(): void +getJudul(): long +setPenerbit(): void +getPenerbit(): long +setQuantity(): void +getQuantity(): long +setHarga(): void +getHarga(): float +setKlas_Pengarang(): void +getKlas_Pengarang(): long +setTgl_Pengadaan(): void +getTgl_Pengadaan(): long +setKode_Peminjam(): void +getKode_Peminjam(): long +setNama(): void +getNama(): long +setInstansi(): void +getInstansi(): long +setTgl_Pinjam(): void +getTgl_Pinjam(): long +setTgl_Kembali(): void +getTgl_Kembali(): Date PstETLOutFaktaTransaksi +Tbl_Name: String +FLD_KodeBuku +FLD_KlasBuku +FLD_KlasPengadaan +FLD_KlasPengarang +FieldName: array string +FieldTypes: array int +getFieldSize(): int +getTableName(): String +getFieldNames(): array String +getFieldTypes(): array int +getPersistentName(): String +fetch(): long +insert(): long +update(): long +delete(): long +list(): Vector PstETLOutFaktaTransaksi +listAll(): Vector PstETLOutFaktaTransaksi +resultToObject(): void
52
3.4.7. Sequence Diagram Sequence diagram menggambarkan interaksi antar object di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek yang terkait). Sequence diagram bisa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diagram ini diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
1.
Login
: User
: LoginJSP
: PstAppUser
: SessUserSesion
: AppUser : entity
1 : Input User & Password() 2 : cmdLogin()
<> 3 : SessUserSession()
4 : doLogin()
<> 5 : AppUser()
6 : doLogin()
7 : getByLoginIdAndPassword() seq Loop if(doLogin==SessUserSession.DO_LOGIN_OK) 8 : setSession() if(iCommand==CMD_LOGIN) && (doLogin==SessUserSession.DO_LOGIN_OK) 9 : Show Page() 10 : Show Page()
Gambar 3.19 Sequence Diagram Login
53
2.
Show List Data Application User
: Admin
: AppUserJSP
: PstAppUser
seq Show List AppUser 1 : listAllAppUser() 2 : drawListAppUser()
3 : Show List AppUser()
Gambar 3.20 Sequence Diagram Show List Aplication User
3.
Add Data Application User
Gambar 3.21 Sequence Diagram Add Application User
54
4.
Edit Data Application User
Gambar 3.22 Sequence Diagram Edit Application User
5.
Save Data Application User
Gambar 3.23 Sequence Diagram Save Application User
55
6.
Delete Data Application User
Gambar 3.24 Sequence Diagram Delete Application User
7.
Show List Data Application Group
Gambar 3.25 Sequence Diagram Show List Application Group
56
8.
Add Data Application Group
Gambar 3.26 Sequence Diagram Add Application Group
9.
Edit Data Application Group
Gambar 3.27 Sequence Diagram Edit Application Group
57
10. Save Data Application Group
Gambar 3.28 Sequence Diagram Save Application Group
11. Delete Data Application Group
: Admin
appGroup.jsp
ctrlAppGroup : CtrlAppGroup
frmAppGroup : FrmAppGroup
pstAppGroup : PstAppGroup
appGroup : AppGroup
PstAppGroup
PstGroupPriv
1 : Delete AppGroup() 2 : new CtrlAppGroup() 3 : new FrmAppGroup()
4 : new PstAppGroup() 5 : new AppGroup()
6 : actionDelete()
opt if not used in UserGroup 7 : deleteAppGroup() 8 : deleteAllGroupPriv()
9 : Seq Show List AppGroup()
Gambar 3.29 Sequence Diagram Delete Application Group
58
12. Show List Data Application Privilege
Gambar 3.30 Sequence Diagram Show List Application Privilege
13. Add Data Application Privilege
Gambar 3.31 Sequence Diagram Add Application Privilege
59
14. Edit Data Application Privilege
Gambar 3.32 Sequence Diagram Edit Application Privilege
15. Save Data Application Privilege
Gambar 3.33 Sequence Diagram Save Application Privilege
60
16. Delete Data Application Privilege
Gambar 3.34 Sequence Diagram Delete Application Privilege
17. Import Data
Gambar 3.35 Sequence Diagram Import Data
61
18.
Proses ETL
Gambar 3.36 Sequence Diagram Proses ETL
3.4.8. Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) adalah pemodelan data yang menggambarkan entitas dalam suatu sistem dan sekaligus menentukan hubungan antar entitas. ERD tidak mencerminkan tabel didalam database melainkan entitas utama yang ada di dalam sistem. Tujuan ERD adalah menggambarkan class di dalam UML disain sebagai entitas yang lebih sederhana. Berikut adalah gambar ERD yang terdapat pada sistem:
Gambar 3.37 Entity Relationship Diagram Data User
62
Gambar 3.38 Entity Relationship Diagram Transaksi Peminjaman Buku
Gambar 3.39 Entity Relationship Diagram Dashboard Buku
Gambar 3.40 Entity Relationship Diagram Dashboard Peminjam
63
Gambar 3.41 Entity Relationship Diagram Dashboard Transaksi
3.4.9. Physical Data Model Physical Data Model menggambarkan tentang tabel-tabel yang terdapat di dalam database pendukung sistem. Tabel-tabel tersebut dilengkapi dengan fieldfield dan tipe data yang digunakan untuk setiap field. Physical Data Model juga menentukan Primary Key (PK) dari setiap tabel dan Foreign Key (FK) yang diperlukan di dalam setiap tabel sesuai dengan relationship yang ada di antara entitas di dalam sistem.
Gambar 3.42 Physical Data Model Management User
64
Gambar 3.43 Physical Data Model Peminjam Buku
Gambar 3.44 Physical Data Model Dashboard Buku
Gambar 3.45 Physical Data Model Dashboard Peminjam
65
Gambar 3.46 Physical Data Model Dashboard Transaksi
3.5.
Desain Input/Output Pada tahap ini dilakukan perancangan input/output sebagai sarana
berinteraksi antara user dengan sistem. Disain antarmuka dibuat menggunakan software Microsoft Visio 2013 dan terdiri dari disain antarmuka halaman admin dan Kepala Bidang ADPIN.
3.5.1. Structural Design Menu A. Admin
Gambar 3.47 Structural Design Menu Admin
66
B. Kepala Bidang ADPIN
Gambar 3.48 Structural Design Menu Kepala Bidang ADPIN
3.5.2. Halaman User Interface A.
Rancangan Halaman Login (Untuk Admin dan Kepala Bidang ADPIN) Halaman login digunakan untuk memverifikasi username dan password
user yang akan menggunakan sistem sebagai admin atau kepala bidang ADPIN.
Gambar 3.49 Rancangan Halaman Login
67
B.
Rancangan Halaman Utama (Untuk Admin dan Kepala Bidang ADPIN) Halaman Utama digunakan sebagai home atau tampilan utama setelah
admin atau kepala bidang login ke sistem.
Gambar 3.50 Rancangan Halaman Utama
C.
Rancangan Halaman Maintenance Data Application User (Untuk Admin) Halaman Maintenance Data Application User digunakan untuk admin yang
ingin menambahkan, mengedit atau menghapus user yang ada.
Gambar 3.51 Rancangan Halaman Maintenance Data Application User
68
D.
Halaman Add Data Application User (Untuk Admin) Halaman Add Data Application User digunakan untuk admin yang ingin
menambahkan user.
Gambar 3.52 Rancangan Halaman Add Data Application User
E.
Halaman Edit Data Application User (Untuk Admin) Halaman Edit Data Application User digunakan untuk admin yang ingin
mengedit atau mengganti data user yang ada.
Gambar 3.53 Rancangan Halaman Edit Data Application User
69
F.
Rancangan Halaman Import Data (Untuk Admin) Halaman Import Data digunakan sebagai admin untuk melakukan proses
upload data ke sistem. Tampilan bisa dilihat pada gambar 3.54.
Gambar 3.54 Rancangan Halaman Import Data
G.
Rancangan Halaman Proses ETL (Untuk Admin) Halaman Proses ETL digunakan sebagai admin untuk melakukan proses
ETL data pada sistem. Tampilan bisa dilihat pada gambar 3.55.
Gambar 3.55 Rancangan Halaman Proses ETL
70
H.
Rancangan Halaman About Us (Untuk Admin dan Kepala Bidang) Halaman about menampilkan data diri dari penulis. Halaman about dapat
dilihat pada gambar 3.56.
Gambar 3.56 Rancangan Halaman About Us
I.
Rancangan Halaman Lihat Data Buku Halaman dashboard buku digunakan untuk menampilkan data buku dalam
bentuk grafik. Kepala Bidang dapat melakukan pemilihan periode data grafik dan nama klas. Halaman dashboard buku dapat dilihat pada gambar 3.57.
Gambar 3.57 Rancangan Halaman Lihat Data Buku
71
J.
Rancangan Halaman Lihat Data Peminjam Halaman dashboard peminjam digunakan untuk menampilkan data
peminjam dalam bentuk grafik. Kepala Bidang dapat melakukan pemilihan periode data grafik dan nama instansi.
Gambar 3.58 Rancangan Halaman Lihat Data Peminjam
K.
Rancangan Halaman Lihat Data Transaksi Peminjaman Halaman dashboard transaksi digunakan untuk menampilkan data
transaksi dalam bentuk grafik.
Gambar 3.59 Rancangan Halaman Lihat Data Transaksi Peminjaman
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini menjelaskan tentang implementasi dan pengujian Sistem Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web.
4.1.
Implementasi Sebelum mengimplementasikan dan menguji aplikasi ini, perlu diketahui
kebutuhan sistem yang diperlukan untuk melaksanakannya. Elemen-elemen dari sistem yang dibutuhkan antara lain hardware (perangkat keras) dan software (perangkat lunak).
4.1.1. Kebutuhan Perangkat Keras Adapun
spesifikasi
perangkat
keras
yang
dibutuhkan
dalam
mengimplementasikan dan menguji aplikasi ini adalah sebagai berikut: 1. Processor dengan kecepatan minimal 1,5GHz 2. Harddisk minimal 40GB 3. RAM minimal 512MB 4. VGA Card minimal 64MB 5. Monitor 14” 6. Mouse 7. Keyboard
4.1.2. Kebutuhan Perangkat Lunak Adapun
spesifikasi
perangkat
lunak
yang
dibutuhkan
mengimplementasikan dan menguji aplikasi ini adalah sebagai berikut: 1.
Sistem Operasi Microsoft Windows
2.
MySQL sebagai server database
3.
Apache Tomcat sebagai server web
4.
Chrome atau Mozilla Firefox sebagai web browser
72
dalam
73
4.1.3. Instalasi Perangkat Lunak Untuk menjalankan beberapa proses instalasi perlu dilaksanakan. Adapun tahapan instalasinya adalah sebagai berikut: 1.
Install Sistem Operasi Microsoft Windows
2.
Install Apache Web Server Tomcat
3.
Install Netbeans
4.
Install MySQL
5.
Install Web Browser
4.1.4. Implementasi Program Aplikasi dikembangkan berbasis pada analisa dan disain sistem yang telah dijelaskan pada Bab III. Berikut ini penjelasan aplikasi hasil implementasi yang dimulai dari penjelasan halaman login untuk user.
1.
Halaman Login Halaman login adalah halaman yang bisa diakses oleh user untuk menjadi
user kepala bidang atau user admin. Sebelum masuk ke dalam sistem untuk menggunakan
sistem
lebih
jauh
sesuai
dengan
privilege-nya,
seorang
admin/kepala bidang harus melakukan login terlebih dahulu. Halaman login berada pada halaman tersendiri yang bisa diakses dari link yang terdapat pada halaman utama user. User dapat melakukan login dengan memasukkan Login ID dan Password dan kemudian menekan tombol Login. Jika user melakukan login sebagai admin maka user akan di-redirect ke halaman admin, dan jika user melakukan login sebagai kepala bidang maka akan di-redirect ke halaman kepala bidang.
74
Gambar 4.1 Halaman Login
2.
Halaman Utama Admin Pada halaman utama admin terdapat beberapa menu yang dapat
digunakan yaitu: 1.
Home digunakan untuk kembali ke halaman menu utama.
2.
Halaman Maintenance digunakan untuk maintenance user, proses import data, proses ETL, maintenance data Pendukung Laporan Buku, Peminjam dan Transaksi.
3.
Halaman View Data digunakan untuk melihat hasil dashboard berupa grafik chart dan Data Pendukung Laporan Peminjaman Buku.
4.
Halaman About menampilkan data diri penulis.
5.
Logout digunakan untuk proses logout user dari aplikasi.
Halaman utama admin adalah seperti pada Gambar 4.2.
Gambar 4.2 Halaman Utama Admin
75
3.
Halaman Maintenance User a.
Halaman User, Group dan Privilege Halaman maintenance user digunakan untuk menambah data, edit dan
delete data admin user, user group, privilege. Halaman maintenance user dapat dilihat pada Gambar 4.3.
Gambar 4.3 Halaman User, Group dan Privilege
b.
Halaman Add User, Group dan Privilege Halaman add user digunakan untuk menambah data user baru. Halaman
add user dapat dilihat pada Gambar 4.4.
Gambar 4.4 Halaman Add User, Group dan Privilege
76
c.
Halaman Edit User, Group dan Privilege Halaman edit user digunakan untuk merubah data user yang sudah ada.
Halaman edit user dapat dilihat pada Gambar 4.5.
Gambar 4.5 Halaman Edit User, Group dan Privilege
4.
Halaman Import Data Halaman ini menampilkan mulai dari proses upload file, dapat dilihat pada
Gambar 4.6.
Gambar 4.6 Halaman Import Data
5.
Halaman Proses ETL Halaman ini adalah halaman dari Proses ETL. Halaman ini mewakili dari
semua Proses ETL, yaitu Dashboard Buku, Dashboard Peminjam dan Dashboard Transaksi.
77
Gambar 4.7 Halaman Proses ETL
6.
Halaman View Data Halaman ini adalah menu utama dari sistem. Halaman view data ini
menampilkan data Laporan Peminjaman Buku dalam bentuk grafik. Halaman ini dibagi menjadi 3 halaman, yaitu Dashboard Buku, Dashboard Peminjam dan Dashboard Transaksi. a.
Halaman Dashboard Buku Halaman dashboard buku digunakan untuk menampilkan data buku dalam
bentuk grafik. Kepala Bidang dapat melakukan pemilihan periode data grafik dan nama klas. Halaman dashboard buku dapat dilihat pada Gambar 4.8.
Gambar 4.8 Halaman Dashboard Buku
78
b.
Halaman Dashboard Peminjam Halaman dashboard peminjam digunakan untuk menampilkan data
peminjam dalam bentuk grafik. Kepala Bidang dapat melakukan pemilihan periode data grafik dan nama instansi. Halaman dashboard peminjam dapat dilihat pada Gambar 4.9.
Gambar 4.9 Halaman Dashboard Peminjam
c.
Halaman Dashboard Transaksi Halaman dashboard transaksi digunakan untuk menampilkan data
transaksi dalam bentuk grafik. Kepala Bidang dapat melakukan pemilihan buku data grafik dan nama peminjam. Halaman dashboard transaksi dapat dilihat pada Gambar 4.10.
Gambar 4.10 Halaman Dashboard Transaksi
79
7.
Halaman About Halaman about menampilkan data diri dari penulis. Halaman about dapat
dilihat pada Gambar 4.11.
Gambar 4.11 Halaman About
4.2.
Pengujian Sistem Tahap pengujian sistem ini berguna untuk mengetahui apakah sistem
sudah berjalan sesuai dengan tujuan atau tidak. Di samping itu pengujian sistem juga dilakukan dengan tujuan untuk mengetahui kekurangan dari sistem ini baik berupa error atau kekurangan lainnya. Pengujian aplikasi dilakukan dengan menggunakan metode Black Box Testing dimana aplikasi akan diuji dengan memanfaatkan beberapa test case yang diperlukan. 4.2.1. Pengujian Halaman Login Proses login digunakan untuk mengetahui apakah user berhasil masuk ke dalam halaman utama admin sebagai admin atau halaman utama kepala bidang sebagai kepala bidang. Tabel 4.1 Test Case Login No
Test Case
Output Diharapkan
1
Kolom Login ID dan
Menampilkan pesan “Login ID
Password kosong
dan Password tidak boleh
Status Sukses
kosong!” 2
Kolom Login ID
Menampilkan pesan “Login ID
kosong
dan Password tidak boleh kosong!”
Sukses
80
3
Kolom Password
Menampilkan pesan “Login ID
kosong
dan Password tidak boleh
Sukses
kosong!” 4
5
Isian Login ID dan
Menampilkan pesan “Login ID
Password salah
atau Password anda salah!”
Isian Login ID salah
Menampilkan pesan “Login ID
Sukses
Sukses
atau Password salah” 6
7
Isian Password
Menampilkan pesan “Login ID
salah
atau Password salah”
Isian Login ID dan
Menampilkan halaman utama
Password benar
admin atau kepala bidang
Sukses
Sukses
Tampilan pesan login yang mengalami kegagalan pada saat kolom Login ID dan kolom Password kosong dapat dilihat pada Gambar 4.12.
Gambar 4.12 Pesan Login Gagal
4.2.2. Pengujian Manipulasi Data User Proses manipulasi data user adalah proses add, edit, dan hapus data user. Proses ini bertujuan untuk mengetahui apakah proses manipulasi data user bisa dilakukan. Tabel 4.2 Test Case Manipulasi Data User No 1
Test Case
Output Diharapkan
Status
Kolom user
Menampilkan pesan “Required data” pada Sukses
kosong
kolom inputan
81
2
Save data user
Data disimpan dan kembali menampilkan Sukses pada halaman maintenance
3
Edit data user
Menampilkan halaman editor user yang Sukses dipilih
4
Hapus data user
Data di hapus atau menampilkan pesan Sukses jika data masih dipakai di tabel lain sehingga tidak dapat dihapus
Untuk maintenance data yang lainnya: maintenance data user, group dan privilege menggunakan test case sejenis dengan list test case pada Tabel 4.2.
4.2.3. Pengujian Proses ETL Pengujian proses ETL bertujuan mengetahui apakah proses Extraction Transformation Loading (ETL) bisa dilakukan pada data yang sudah di import.
Tabel 4.3 Test Case Proses ETL No
Test Case
Output Diharapkan
Status
1
Kolom upload file
Menampilkan pesan “File Tidak Dapat Sukses
kosong
Dibaca Silahkan Upload File Berupa XLS (Ms Office Excel)”
2
3
Upload Data File
Menampilkan
pesan
“Upload
Data Sukses
ETL
Sukses”
Kolom Proses
Menampilkan pesan “ETL Berhasil”
Sukses
ETL
4.2.4. Pengujian Proses Dashboard Pengujian proses dashboard bertujuan untuk mengetahui apakah data telah sesuai dengan data pada tabel fakta buku, pemnjam dan transaksi peminjaman. Tabel 4.4 Test Case Proses Dashboard Buku No
Test Case
Output Diharapkan
Status
Menampilkan pilihan tahun yang 1
Kolom Tahun
akan ditentukan untuk proses dashboard
Sukses
82
Menampilkan pilihan klas 2
Kolom Klas Pengadaan
pengadaan yang akan ditentukan untuk proses
Sukses
dashboard Menampilkan pilihan klas 3
Kolom Klas Pengarang
pengaran yang akan ditentukan
Sukses
untuk proses dashboard Menampilkan pilihan klas buku 4
Kolom Klas Buku
yang akan ditentukan untuk
Sukses
proses dashboard Menampilkan pilihan jenis yang 5
Kolom Jenis
akan ditentukan untuk proses
Sukses
dashboard
Tabel 4.5 Test Case Proses Dashboard Peminjam No
Test Case
Output Diharapkan
Status
Menampilkan pilihan periode 1
Kolom Periode
waktu peminjam yang akan ditentukan untuk proses
Sukses
dashboard Menampilkan pilihan peminjam 2
Kolom Instansi
ke instansi yang akan ditentukan
Sukses
untuk proses dashboard
Tabel 4.6 Test Case Proses Dashboard Transaksi Peminjaman No
Test Case
Output Diharapkan
Status
Menampilkan pilihan buku yang 1
Kolom Periode
akan ditentukan untuk proses
Sukses
dashboard Menampilkan pilihan buku yang 2
Kolom Buku
akan ditentukan untuk proses dashboard
Sukses
83
Menampilkan pilihan peminjam 3
Kolom Peminjam
yang akan ditentukan untuk
Sukses
proses dashboard
4.2.5. Kesesuaian Perancangan Sistem Sistem sudah dikembangkan menyesuaikan rancangan sistem yang dijelaskan di Bab III baik dari sisi modelnya, database-nya, dan user maintenancenya. Tabel 4.7 Test Case Perancangan Sistem Kesesuaian
Kesesuaian
Kesesuaian
Proses
Tampilan
Database
No
Aktivitas Sistem
1
Login
2
Maintenance User
3
Maintenance Privilege
4
Import Data
5
Proses ETL
6
View Data Buku
7
View Data Peminjam
8
View Data Transaksi
9
About
10
Logout
BAB V KESIMPULAN DAN SARAN Pada bab ini berisi kesimpulan yang diambil dengan mengacu pada pokok permasalahan dan pengujian serta beberapa saran guna pengembangan lebih lanjut.
5.1.
Kesimpulan Kesimpulan yang diperoleh dari hasil perancangan dan pembuatan Sistem
Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali Berbasis Java Web adalah: 1.
Data yang didapat dari Kantor Perwakilan BKKBN Provinsi Bali berupa Data Buku, Data Peminjam, dan Data Transaksi telah berhasil dikumpulkan dan diolah menjadi bentuk data yang didukung untuk pembuatan sistem dashborad.
2.
Sistem telah diimplementasikan dan menghasilkan suatu output berupa grafik dashboard sebagai bentuk penyajian data.
3.
Sistem telah berhasil dikembangkan berbasis Java Web Application yaitu JSP (Java Server Page) dengan menggunakan Netbeans dan MySQL digunakan sebagai databasenya.
5.2.
Saran Adapun saran untuk pengembangan lanjutan terhadap Aplikasi Sistem
Dashboard Perpustakaan Pada Kantor Perwakilan BKKBN Provinsi Bali adalah: 1.
Sistem ini perlu dikembangkan ke dalam versi mobile sehingga pimpinan dapat dengan mudah mengaksesnya walaupun tidak ada komputer.
2.
Proses Extraction Transform Loading (ETL) dalam sistem ini dapat dikembangkan menjadi otomatis pada periode tertentu.
3.
Dapat ditambahkan fitur backup data atau aplikasi.
84
DAFTAR PUSTAKA [1]
Kimball, Ralph and Ross, Margy. The Data Warehouse Toolkit Second Edition. John Wiley and Sons, Inc. 2002.
[2]
William Inmon. Building the Data Warehouse. John Wiley and Sons. 2005.
[3]
Gary B. Shelly dan Harry J. Rosenblatt. Systems Analysis and Design. Cengage Learning. 2011
[4]
James A. O’Brien. Management Information Systems. McGraw-Hill. 2003.
[5]
John Cheesman dan John Daniels. UML Components: A Simple Process for Specifying Component-Based Software. NJ: Addison-Wesley. 2001.
[6]
Kadir, Abdul. Dasar Perancangan dan Implementasi Database Relasional, Edisi I. Yogyakarta: Andi. 2009.
[7]
Ana Hadiana. Cara Praktis Pemrograman Java OOP/Swing/Database. Megatama. Bandung. 2009.
[8]
Riyanto. Pengembangan Aplikasi Manajemen Database dengan Java 2. Yogyakarta: Gava Media. 2008.
[9]
James Levenick, Ed. Simply Java: An Introduction to Java Programming (Programming Series) 1. 2005.
[10] Leff, A. IBM Thomas J. Watson Res. Center, Hawthorne, NY, dan Rayfield, J. T. Web-Application Development Using The Model View Controller Design Pattern. Proceedings of the Fifth IEEE International Enterprise Distributed Object Computing Conference, 2001. EDOC '01. 2001. pp. 118-127. [11] Michael
Widenius,
David
Axmark.
MySQL
Reference
Manual:
Documentation From The Source. O'Reilly Media, Inc. 2002. [12] Tim Boudreau, Jesse Glick, Simeon Greene, Vaughn Spurlin, Jack J. Woehr. NetBeans: The Definitive Guide. O'Reilly Media, Inc. 2012. [13] BKKBN. 2005. Keluarga Berencana dan Kesehatan Reproduksi. Jakarta: BKKBN. Jakarta. 2012.
85