rekayasa balik (reverse engineering) aplikasi...

231
1 REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI PERPUSTAKAAN TULIS PADA PERPUSTAKAAN UTAMA UIN SYARIF HIDAYATULLAH JAKARTA Skripsi Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta Oleh : Icheberlyanti 106091002930 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M/ 1432 H

Upload: phungkhanh

Post on 20-Jun-2019

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

1

REKAYASA BALIK (REVERSE ENGINEERING)

APLIKASI PERPUSTAKAAN TULIS PADA PERPUSTAKAAN UTAMA

UIN SYARIF HIDAYATULLAH JAKARTA

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

Icheberlyanti

106091002930

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2011 M/ 1432 H

Page 2: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2

REKAYASA BALIK (REVERSE ENGINEERING)

APLIKASI PERPUSTAKAAN TULIS PADA PERPUSTAKAAN UTAMA

UIN SYARIF HIDAYATULLAH JAKARTA

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh :

Icheberlyanti

106091002930

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2011 M/ 1432 H

Page 3: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

3

Rekayasa Balik (Reverse Engineering) Aplikasi Perpustakaan

TULIS

Pada Perpustakaan Utama UIN Syarif Hidayatullah

Jakarta

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Icheberlyanti

106091002930

Menyetujui,

Mengetahui,

Ketua Program Studi Teknik Informatika,

Yusuf Durrachman, M.sc., M.I.T.

NIP.197110522 200604 1 002

Pembimbing II

Husni Teja Sukmana, Ph.D

NIP. 19771030 200112 1 003

Pembimbing I

Viva Arifin, MMSI

NIP. 19730810 200604 2 001

Page 4: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4

PENGESAHAN UJIAN

Skripsi yang berjudul “Rekayasa Balik (Reverse Engineering) Aplikasi

Perpustakaan TULIS Pada Perpustakaan Utama UIN Syarif Hdayatullah Jakarta”,

Icheberlyanti 106091002930 telah diuji dan dinyatakan lulus dalam Sidang

Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif

Hidayatullah Jakarta, pada hari Kamis tanggal 15 September 2011. Skripsi ini

telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana

Komputer pada Program Teknik Informatika

Jakarta, 15 September 2011

Tim Penguji,

Tim Pembimbing,

Mengetahui,

Penguji I

Dr. Syafedi Syafei, M.Sc

19571005 1982 111 001

Penguji II

Fenty Eka Muzzayyana, M.Kom

19760805 2009 12 2 003

Pembimbing I

Viva Arifin, MMSI

NIP. 19730810 200604 2 001

Pembimbing II

Husni Teja Sukmana, Ph.D

NIP. 19771030 200112 1 003

Dekan

Fakultas Sains Dan Teknologi

DR. Syopiansyah Jaya Putra, M.Sis

NIP. 19680117 200112 1 001

Ketua Program Studi

Teknik Informatika

Yusuf Durrachman M.Sc, M.I.T.

NIP. 19710522 200604 1 002

Page 5: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

5

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR

HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI

SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU

LEMBAGA MANAPUN.

Jakarta, September 2011

Icheberlyanti

Page 6: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

6

ABSTRAK

Icheberlyanti, Rekayasa Balik (Reverse Engineering) Aplikasi Perpustakaan

TULIS (Technology of UIN Library & Information System ) pada

Perpustakaan Utama UIN Syarif Hidayatullah Jakarta dibawah bimbingan

Viva Arifin, MMSI dan Husni Teja Sukmana, Ph.D.

Dokumentasi dari suatu sistem atau aplikasi merupakan hal yang penting. Dengan

adanya dokumentasi tersebut, dapat lebih mempermudah pengembang atau

software development dalam hal pengembangan dari sistem atau aplikasi itu

sendiri. Tidak terkecuali dengan aplikasi perpustakaan TULIS yang ada pada

perpustakaan utama UIN Syarif Hidayatullah Jakartabelum memliki dokumentasi.

Sebelum melakukan rekayasa ulang (re-engineerng) aplkasi TULIS perlu

dilakukan proses rekayasa balik (Reverse Engineering). Melihat permasalahn

yang terjadi, penulis bermaksud melakukan rekayasa balik (Reverse Engineering)

dengan menggunakan pendekatan model based design yang bertujuan untuk

membangun model berbasis objek yang menggunakan standar Unified Modelling

Language (UML) yang diturunkan dari listing program yang ada. Hasil akhir dari

proses rekayasa balik (Reverse Engineering) ini berupa dokumentasi sistem yaitu

Software Requirement Specification (SRS), sehingga hasil dari dokumentasi ini

dapat menjadi panduan pengembang atau software development untuk mengetahui

proses perubahan-perubahan yang akan terjadi dalam pengembangan dan

pemeliharaan aplikasi TULIS yang baru.

Kata Kunci: perpustakaan, reverse engineering, model based design.

Page 7: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

7

KATA PENGANTAR

Assalamualaikum Wr. Wb

Alhamdulillah hirabbil a’lamin, kata yang dapat penulis ucapkan kepada

Allah SWT, atas segala rahmat dan hidayah yang telah dilimpahkan-Nya,

sehingga penulis bisa menyelesaikan laporan skripsi ini. Shalawat serta salam

senantiasa tercurah kepada Rasulullah SAW, insan yang dapat membawa dunia ini

kepada kehidupan yang lebih baik.

Dengan rasa syukur yang mendalam penulis dapat menyelesaikan laporan

skripsi dengan judul : ”Rekayasa Balik (Reverse Engineering) Aplikasi

Perpustakaan TULIS pada Perpustakaan Utama UIN Syarif Hidayatullah

Jakarta”.

Sehubungan dengan selesainya laporan ini, penulis juga mengucapkan

terima kasih kepada semua pihak yang telah membantu penulis, juga atas

dorongan dan bimbingannya sehingga laporan ini bisa selesai tanpa ada hambatan

yang berarti. Semoga Allah SWT membalas semua amal baik mereka. Terima

kasih penulis ucapkan kepada :

1. Bapak Prof. Dr. Komarudin Hidayat sebagai rektor Universitas Islam Negeri

Syarif Hidayatullah Jakarta.

2. Bapak Dr. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan

Teknologi

3. Bapak Yusuf Durachman, M.Sc selaku Ketua Program Studi Teknik

Informatika.

Page 8: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8

4. Ibu Viva Arifin, MMSI, selaku dosen pembimbing kesatu

5. Bapak Husni Teja Sukmana, Ph.D, selaku dosen pembimbing kedua

6. Dosen-dosen jurusan Teknik Informatika yang telah memberikan ilmu,

pengetahuan, kemampuan dan skill manajemen beserta pemupukan moral dan

mental yang baik.

7. Kedua orang tuaku yang aku cintai (Bapak Suwandi & Ibu Belly), yang selalu

memberikan doanya dengan ikhlas, allâhummaghfirlîî wa liwâlidayya

warhamhummâ kamâ rabbayânî shighîrâ, yang selalu memberikan nasihat,

motivasi, mengajarkan arti hidup dan senantiasa mencurahkan dukungannya

demi kesuksesan penulis dalam proses kuliah dan kehidupan ini.

8. Idam Kusumo Wardono selaku orang terdekat penulis yang telah memberikan

dukungan penuh kepada penulis untuk menyelesaikan skripsi ini dengan baik.

9. Teman-teman seperjuangan, Sarika, Habib, Lulu, Jimbo, Anita, Inna, Kiki,

Wakjon, Yudha dan seluruh mahasiswa TI angkatan 2006. Sukses untuk kita

semua.

10. Seluruh pihak yang telah membantu dan namanya tidak dapat disebutkan satu

per satu. Terima kasih atas dukungan dan motivasinya,

Semoga Allah SWT memberikan balasan yang setimpal atas segala

bantuan dan kebaikan yang telah mereka berikan kepada penulis, Amin.

Demikianlah, Semoga apa yang tertulis dalam laporan skripsi ini dapat bermanfaat

bagi semua pihak. Dalam hal ini, penulis mengharapkan saran dan kritik yang

membangun demi menambah kesempurnaan laporan skripsi ini.

Wassalamualaikum Wr.Wb.

Jakarta, September 2011

(Icheberlyanti)

Page 9: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9

DAFTAR ISI

Halaman

Halaman Judul ................... .............................................................................. ii

Lembar Persetujuan Pembimbing .................................................................... iii

Lembar Persetujuan Penguji ............................................................................ iv

Lembar Pernyataan .......................................................................................... v

Abstrak ............................................................................................................ vi

Kata Pengantar ................................................................................................ vii

Daftar Isi ......................................................................................................... ix

Daftar Gambar . ................................................................................................ xiii

Daftar Tabel ..................................................................................................... xvi

BAB I PENDAHULUAN .............................................................................. 1

1.1. Latar Belakang .................................................................................. 1

1.2. Perumusan Masalah .......................................................................... 3

1.3. Pembatasan Masalah ......................................................................... 4

1.4. Tujuan dan Manfaat Penelitian ......................................................... 4

1.4.1. Tujuan .................................................................................... 4

1.4.2. Manfaat .................................................................................. 5

1.5. Metodologi Penelitian ....................................................................... 6

1.5.1. Metode Pengumpulan Data .................................................... 6

1.5.2. Metode Reverse Engineering .................................................. 6

1.6. Sistematika Penulisan ....................................................................... 7

Page 10: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

10

BAB II LANDASAN TEORI ........................................................................ 9

2.1. Rekayasa Balik (Reverse Engineering) ............................................ 9

2.1.1 Rekayasa Balik ( Reverse Engineering ) Untuk

Memahami Pemrosesan ………………………………………11

2.1.2 Rekayasa Balik ( Reverse Engineering ) Untuk

Memahami Data ………………………………………………11

2.1.3 Interface Pemakai Rekayasa balik (Reverse Engineering)……12

2.2. Aplikasi …….. .................................................................................. 13

2.3. Perpustakaan ..................................................................................... 14

2.4. TULIS (Technology of UIN Library & Information System)............ 15

2.4.1. Arsitektur TULIS .................................................................... 15

2.5. OPAC (Online Public Access Catalogue) ........................................ 17

2.6. JAVA… ............................................................................................ 19

2.6.1. Pengertian Java ....................................................................... 19

2.7. JSP (Java Server Pages) .................................................................... 21

2.7.1. Sintaks JSP ............................................................................. 22

2.8. Framework ........................................................................................ 22

2.8.1. Definisi framework ................................................................. 22

2.8.2. Tujuan framework .................................................................. 23

2.9. Apache Struts .................................................................................... 24

Page 11: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

11

2.9.1. Komponen Dasar dari Struts...................................................... .25

2.10. MySQL .............................................................................................. 27

2.10.1. Sejarah MySQL ..................................................................... 27

2.10.2. Keistimewaan MySQL .......................................................... 28

2.11. UML (Unified Modelling Language) ................................................ 31

2.11.1 Definisi ................................................................................ .31

2.11.2 Notasi UML ......................................................................... .37

2.12. Penelitian Sejenis .............................................................................. .45

BAB III METODOLOGI PENELITIAN .................................................... 48

3.1. Metode Penelitian.............................................................................. 48

3.2. Metode Pengumpulan Data ............................................................... 48

3.3. Metode Reverse Engineering ........................................................... .50

BAB IV PEMBAHASAN .............................................................................. 57

4.1. Sekilas tentang Perpustakaan Utama UIN Syarif Hidayatullah

Jakarta ................................................................................................ 57

4.1.1. Visi dan Misi Perpustakaan Utama ........................................ 60

4.1.2. Tujuan Perpustakaan Utama ................................................... 61

4.1.3. Struktur Organisasi Perpustakaan Utama ............................... 62

4.2. Memahami Ranah Masalah (Problem Domain) ............................... 63

4.2.1. Analisa Sistem yang Berjalan ................................................. 63

4.2.2. Identifikasi Masalah ............................................................... 67

Page 12: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

12

4.3. Analisis Terhadap Artefak Construction ........................................... 67

4.3.1. Identifikasi Actor (Pengguna) ................................................ 67

4.3.2. Identifikasi Interaksi Actor dengan Komputer ...................... 71

4.3.3. Mengenali Basic Flow dan Alternate Flow ........................... .75

4.4 Analisa Source Code ......................................................................... .116

4.4.1 Class Diagram Recovery…………………………………………116

4.4.2 Activity Diagram Recovery……………………………………..124

4.4.3 Use case Diagram Recovery…………………………………….125

4.4.4 Component Diagram Recovery…………………………………126

4.5 Analisa Domain Expert………………………………………………..126

4.5.1 Analisa terhadap Rekonstruksi artefak Analysis & Design…….126

4.5.2 Rekonstruksi Artefak Requirement Engineering……………….127

4.5.3 Software Requirement Specification…………………………….172

BAB V KESIMPULAN DAN SARAN ......................................................... 173

5.1. Kesimpulan ....................................................................................... 173

5.2. Saran .................................................................................................. 174

DAFTAR PUSTAKA ..................................................................................... 156

LAMPIRAN

Page 13: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

13

DAFTAR GAMBAR

Halaman

Gambar 2.1 Proses Rekayasa Balik (Reverse Engineering) ............................... 10

Gambar 2.2 Arsitektur TULIS ............ ............................................................... 16

Gambar 2.3 Arsitektur Struts……………………. ............................................. 25

Gambar 2.4 Notasi Aktor…………………. ....................................................... 38

Gambar 2.5 Notasi Kelas .................................................................................... 39

Gambar 2.6 Notasi Usecase ……………………….. ......................................... 40

Gambar 2.7 Notasi Interaction ............................................................................ 41

Gambar 2.8 Notasi Interface ............................................................................... 41

Gambar 2.9. Notasi Package ............................................................................... 42

Gambar 2.10. Notasi Note ................................................................................... 42

Gambar 2.11. Notasi Dependency ..................................................................... 43

Gambar 2.12. Notasi Association....................................................................... 44

Gambar 3.1 Tahapan Rekayasa Balik (Reverse Engineering)………………….54

Gambar 3.2 : Kerangka kerja berpikir peneliti………………………………….56

Gambar 4.1. Struktur Organisasi ......................................................................... 62

Gambar 4.2. Struktur Class Aplikasi TULIS…………………………………..117

Gambar 4.3. Activity Diagram Input Data Anggota ........................................... 124

Gambar 4.4. Struktur Class Diagram Aplikasi TULIS ....................................... 128

Gambar 4.5. Activity Diagram input nama perpustakaan ................................... 131

Gambar 4.6. Activity digram Input koneksi perpustakaan lain…………………132

Page 14: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

14

Gambar 4.7. Activity diagram edit node perpustakaan ....................................... 133

Gambar 4.8. Activity diagram hapus node perpustakaan .................................... 134

Gambar 4.9. Activity digram input user grup ...................................................... 135

Gambar 4.10. Activity diagram edit user grup .................................................... 136

Gambar 4.11. Activity diagram Input pustakawan……………………………...137

Gambar 4.12. Activity diagram untuk Edit pustakawan………………………..138

Gambar 4.13. Activity diagram untuk Hapus Pustakawan .................................. 139

Gambar 4.14. Activity diagram untuk Input Konfigurasi koleksi ....................... 140

Gambar 4.15. Activity diagram untuk Hapus tipe Koleksi ................................. 141

Gambar 4.16. Activity diagram input data anggota ............................................. 142

Gambar 4.17. Activity diagram untuk Edit data anggota .................................... 143

Gambar 4.18. Activity diagram untuk Hapus data anggota…………………….144

Gambar 4.19. Activity diagram untuk Input Data koleksi……………………...145

Gambar 4.20. Activity diagram untuk Edit data koleksi………………………….146

Gambar 4.21. Activity diagram untuk Hapus data koleksi.................................. 147

Gambar 4.22. Activity digram untuk Input peminjaman buku ............................ 148

Gambar 4.23. Activity diagram untuk Pengembalian buku ................................ 149

Gambar 4.24. Activity diagram untuk jelajah koleksi ......................................... 150

Gambar 4.25. Activity diagram untuk Usul Koleksi ........................................... 151

Gambar 4.26. Activity diagram untuk Lihat Koleksi terbaru…………………...152

Gambar 4.27. Use Case diagram Admin ............................................................ 152

Page 15: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

15

Gambar 4.28. Use Case diagram Admin, Input Data, dan Pengolahan .............. 153

Gambar 4.29. Use Case diagram untuk Admin dan Sirkulasi………………….153

Gambar 4.30. Usecase diagram mahasiswa ........................................................ 154

Gambar 4.31. Sequence Diagram untuk Input nama Perpustakaan…………….155

Gambar 4.32. Sequence Diagram untuk Koneksi Perpustakaan......................... 156

Gambar 4.33. Sequence diagram untuk User Group .......................................... 157

Gambar 4.34. Sequence diagram untuk Pustakawan .......................................... 158

Gambar 4.35. Sequence diagram untuk konfigurasi koleksi .............................. 159

Gambar 4.36. Sequence diagram hapus tipe koleksi .......................................... 160

Gambar 4.37. Sequence diagram untuk data anggota…………………………..161

Gambar 4.38. Sequence diagram untuk data koleksi .......................................... 162

Gambar 4.39. Sequence diagram peminjaman ................................................... 163

Gambar 4.40. Sequence diagram Pengembalian................................................. 164

Gambar 4.41. Sequence diagram Jelajah Koleksi………………………………165

Gambar 4.42. Sequence Diagram Usul Koleksi Buku ........................................ 166

Gambar 4.43. Sequence diagram Lihat Koleksi ................................................. 167

Gambar 4.44. Component Diagram TULIS ........................................................ 168

Gambar 4.45. Deployment Dagram TULIS ........................................................ 169

Page 16: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

16

DAFTAR TABEL

Halaman

Tabel 4.1 Fitur Menu Back Office Aplikasi TULIS .......................................... 63

Tabel 4.2 Fitur Menu OPAC .............................................................................. 66

Tabel 4.3. Identifikasi Actor .............................................................................. 68

Tabel 4.4. Identifikasi Usecase .......................................................................... 72

Tabel 4.5. Input Nama Perpustakaan ................................................................. 77

Tabel 4.6. Input Koneksi Perpustakaan Lain ..................................................... 79

Tabel 4.7. Edit Node Perpustakaan .................................................................... 81

Tabel 4.8. Hapus Node Perpustakaan ................................................................ 83

Tabel 4.9. Input User Grup ................................................................................ 85

Tabel 4.10. Edit User Grup ................................................................................ 87

Tabel 4.11. Input Pustakawan ............................................................................ 89

Tabel 4.12. Edit Pustakawan .............................................................................. 91

Tabel 4.13. Hapus Pustakawan .......................................................................... 93

Tabel 4.14. Konfigurasi Koleksi ........................................................................ 95

Tabel 4.15. Hapus Tipe Koleksi ......................................................................... 97

Tabel 4.16. Input Data Anggota ......................................................................... 99

Tabel 4.17. Edit Data Anggota ……….. ............................................................ 101

Tabel 4.18. Hapus Data Anggota ....................................................................... 103

Tabel 4.19. Input Data Koleksi .......................................................................... 105

Tabel 4.20. Edit Data Koleksi ............................................................................ 107

Tabel 4.21. Hapus Data Koleksi ........................................................................ 109

Page 17: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

17

Tabel 4.22. Peminjaman Koleksi ....................................................................... 111

Tabel 4.23. Pengembalian Koleksi..................................................................... 112

Tabel 4.24. Jelajah Koleksi ................................................................................ 113

Tabel 4.25. Usul Koleksi .................................................................................... 114

Tabel 4.26. Lihat Koleksi Terbaru ..................................................................... 115

Page 18: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

18

BAB I

PENDAHULUAN

1.1 Latar Belakang

Informasi adalah salah satu kata kunci pada jaman ini. Untuk mendapatkan

sebuah informasi kita memerlukan bahan referensi. Perpustakaan menurut Keputusan

Presiden No. 11 Tahun 1989 adalah salah satu sarana pelestarian bahan pustaka

sebagai hasil budaya dan mempunyai fungsi sebagai sumber informasi ilmu

pengetahuan, teknologi dan kebudayaan dalam rangka mencerdaskan kehidupan

bangsa dan menunjang pelaksanaa pembangunan. Sebagai sumber belajar

perpustakaan juga berfungsi membantu program pendidikan, sehingga perlu

dikembangkan untuk mencapai sasaran yang dikehendaki.

Perkembangan Teknologi Informasi (TI) sekarang ini meningkat dengan

pesat seiring dengan perkembangan teknologi komputer yang terus meningkat dalam

hitungan waktu. Sehubungan dengan perkembangan TI yang membawa perubahan

dalam berbagai sector, termasuk dunia pendidikan diantaranya perpustakaan, maka

pemanfaatan TI sebagai sarana dalam meningkatkan kualitas layanan dan

operasional telah membawa perubahan yang besar didunia perpustakaan.

Terkait dengan hal tersebut, sebuah perpustakaan diharapkan dapat

menyediakan buku-buku yang beragam, sehingga para pengunjung perpustakaan

tersebut bisa mendapatkan sebuah informasi atau pengetahuan tidak hanya dari satu

buku referensi.

Page 19: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

19

Aplikasi Perpustakaan Tulis pada perpustakaan utama Universitas Islam

Negeri Syarif Hidayatullah Jakarta adalah belum memiliki dokumentasi, sehingga

membuat sumber sumber daya manusia dari perpustakaan tersebut menjadi kesulitan

dalam pengembangan atau pemodifikasian aplikasi. Masalah ini akan terus muncul

jika suatu software development belum memiliki dokumentasi dari suatu aplikasi dan

masalah akan terus bertambah kompleks seiring dengan perkembangan aplikasi yang

semakin kompleks.

Berlatar belakang dari masalah tersebut, penulis bermaksud untuk melakukan

rekayasa balik (reverse engineering) terhadap perpustakaan Tulis UIN Syarif

Hidayatullah.

Rekayasa balik adalah suatu proses analisa system untuk mengidentifikasi

komponen-komponen dan membuat pemodelan dari hasil analisa ketingkat abstraksi

yang lebih tinggi. Rekayasa balik merupakan metode yang dapat menyingkap

proses-proses yang terdapat pada suatu system, maintenance, re-engineering dan

evaluasi.

Proses rekayasa balik dilakukan untuk memahami fungsi-fungsi apa saja

yang dimiliki oleh aplikasi melalui analisa source code, setelah memahami aplikasi,

kemudian menempatkan requirement yang baru kedalam aplikasi, sehingga aplikasi

akan memiliki fungsi-fungsi yang baru.

Hal inilah yang mendorong penulis untuk melakukan penelitian dengan judul

“Rekayasa Balik (Reverse Engineering) Aplikasi Perpustakaan TULIS pada

Perpustakaan Utama UIN Syarif Hidayatullah Jakarta”. Hasil dari reverse

engineering ini akan menjadi dokumentasi sistem berupa Software Requirement

Specification (SRS) yang sebelumnya belum ada pada sistem lama, sehingga

Page 20: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

20

menjadi panduan pengembang untuk proses perubahan-perubahan yang akan terjadi

dalam pengembangan dan pemeliharaan aplikasi perpustakaan TULIS yang baru.

1.2 Perumusan Masalah

Berdasarkan latar belakang tersebut dapat dirumuskan bahwa permasalahan yang

ada adalah :

1. Bagaimana membuat dokumentasi dari aplikasi perpustakaan TULIS yang sedang

berjalan saat ini.

2. Bagaimana membuat artifact user interface dalam bentuk diagram-diagram baku

UML (Unified Modelling Language) yaitu class diagram, activity diagram, use

case diagram, sequence diagram, component diagram, dan deployment diagram

dari source code aplikasi perpustakaan TULIS.

3. Bagaimana melakukan proses rekonstruksi ulang, sehingga dapat diketahui apakah

penggunaan dari aplikasi tersebut sudah tepat.

4. Bagaimana membuat work flow dari aplikasi perpustakaan TULIS yang

diperlukan pengembang untuk memodifikasi sistem berikutnya.

1.3 Batasan Masalah

Dari rumusan maslah yang telah disebutkan diatas, batasan masalah yang akan

dibahas dan dibuat adalah :

a. Analisis masalah yang terjadi pada aplikasi perpustakaan TULIS UIN Syarif

HIdayatullah Jakarta.

Page 21: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

21

b. Memahami struktur dan alur source code dari aplikasi perpustakaan TULIS

UIN Syarif HIdayatullah Jakarta.

c. Hanya melakukan reverse engineering tidak sampai pada tahap forward

engineering.

d. Hasil dari reverse engineering adalah diagram-diagram UML.

1.4 Tujuan dan Manfaat

1.4.1 Tujuan

1. Memberikan acuan kepada perpustakaan dengan membuat Software

Requirement Specification yang dapat meningkatkan efisiensi pada waktu

proses software development.

2. Membuat dokumentasi dari aplikasi perpustakaan yang sudah ada agar

dapat mengetahui kekurangan apa saja yang ada pada Perpustakaan Tulis

UIN Syarif Hidayatullah Jakarta.

3. Mempermudah untuk mengetahui perubahan-perubahan yang terjadi dalam

pemeliharaan sistem dimasa akan datang.

1.4.2 Manfaat

a. Bagi penulis :

1. Mampu membuat dokumentasi yang baik dari aplikasi perpustakaan

TULIS UIN Syarif Hidayatullah Jakarta.

2. Mahasiswa mampu mealkukan reverse engineering .

3. Mampu melakukan analisa yang baik terhadap sebuah aplikasi

sebelum dilakukan pengembangan dari aplikasi tesebut.

Page 22: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

22

b. Bagi universitas :

1. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan

sebagai bahan evaluasi.

2. Memberikan gambaran tentang kesiapan mahasiswa dalam

menghadapi dunia kerja yang sebenarnya.

c. Bagi Perpustakaan UIN Syarif Hidayatullah Jakarta :

1. Sebagai acuan untuk melakukan reverse engineering agar aplikasi

berikutnya dapat lebih baik dari aplikasi yang sudah ada.

2. Mempermudah mendapatkan dokumentasi sebagai pemeliharaan dari

aplikasi yang akan datang.

1.5 Metode Penelitian

Adapun metodologi yang akan digunakan selama pengerjaan tugas akhir ini

adalah :

1.5.1 Metode Pengumpulan Data

a. Melakukan Observasi

b. Wawancara

c. Studi pustaka

Page 23: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

23

1.5.2 Metode Reverse Engineering

Metode yang dilakukan pada proses reverse engineering pada

aplikasi TULIS dengan menggunakan model based – design dan

mengacu pada bakuan dokumentasi the Unified Process (UP), ini berupa

dokumentasi “4+1 view” dengan tahapan sebagai berikut:

1. Memahami Ranah masalah (Problem Domain)

2. Analisa terhadap Artefak Construction

3. Analisa Source Code

4. Analisa Domain Expert

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari 5 (lima) bab, yang terdiri atas:

BAB I : PENDAHULUAN

Pada bab ini berisikan latar belakang penulisan dan pemilihan

topik, tujuan pembahasan, metode penulisan dan batasan-

batasan dalam topik bahasan yang meliputi ruang lingkup

pembahasan, dan sistematika penulisan.

Page 24: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

24

BAB II : LANDASAN TEORI

Pada bab ini akan menguraikan dengan menceritakan tentang

teori yang menjadi dasar dari penelitian ini.

BAB III : METODE PENELITIAN

Pada bab ini akan menjelaskan tentang metode apa saja yang

dilakukan dalam melakukan penelitian.

BAB IV : HASIL DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil dari penelitian dari

Aplikasi perpustakaan Tulis yang dilakukan di Perpustakaan

UIN Syarif Hidayatullah Jakarta.

BAB V : PENUTUP

Pada bab ini berisi kesimpulan dari apa yang sudah diterangkan

pada bab-bab sebelumnya, dan juga berisi saran perbaikan yang

berhubungan dengan masalah yang dibahas oleh penulis.

DAFTAR PUSTAKA

Page 25: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

25

BAB II

LANDASAN TEORI

2.1 Rekayasa Balik (Reverse Engineering)

Rekayasa Balik (Reverse engineering) adalah proses

penganalisisan system dengan maksud mengidentifikasi komponen-

komponen system dan keterkaitan anatar meraka dan mempresentasikan

system tersebut dalam bentuk yang mempunyai tingkat abstraksi yang

lebih tinggi. (Sonhaji,dkk, 2010)

Kelengkapan proses rekayasa balik (reverse engineering) mengacu

pada tingkat detail yang diberikan pada suatu tingkat abstraksi.

Kelengkapan meningkat berbanding lurus dengan jumlah analisis yang

dilakukan.

Tingkat abstraksi suatu proses rekayasa balik (reverse

engineering) harus mampu melakukan hal-hal berikut ini :

1. Representasi procedural (tingkat yang rendah)

2. Program dan informasi struktur data (tingkat yang lebih tinggi)

3. Data dan model system control (tingkat yang sangat tinggi)

4. Model hubungan entitas (tingkat yang tinggi)

Page 26: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

26

Kelengkapan proses reverse engineering (rekayasa balik) mengacu pada

tingkat detail yang diberikan pada suatu tingkat abstraksi. Kelengkapan

meningkat berbanding lurus dengan jumlah analisis yang dilakukan.

Gambar 2.1 Proses Rekayasa Balik (Reverse Engineering)

(Sumber : Pressman , 2010)

Pada gambar 2.1 telah digambarkan proses dari rekayasa balik (reverse

engineering). Sebelum melakukan rekayasa balik (reverse engineering), maka

dapat melakukan rekonstruksi kode dari kode yang tidak terstruktur dengan baik,

kemudian mengekstrak menjadi sebuah bagian interface, pemrosesan dan

database.

Page 27: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

27

2.1.1. Rekayasa Balik ( Reverse Engineering ) Untuk Memahami

Pemrosesan

Aktivitas rekayasa balik (reverse engineering) real pertama dimulai

dengan usaha memahami kemudian mengekstrak abstraksi procedural

yang direpresentasikan oleh kode sumber.

Fungsionalitas keseluruhan dari system harus dipahami sebelum

kerja rekayasa balik (reverse engineering) yang lebih detail dilakukan.

Teknik segmentasi program sebagai cara untuk mengidentifikasi pola

procedural dengan sebuah model dan kemudian mengemas lagi pola-pola

inti kedalam sebuah fungsi yang penting. (Sofy, 2009)

Secara sederhana teknik segmentasi bisa diartikan sebagai suatu

ruang alamat atau segment yang berada di memori. Segment-segment itu

dalam keadaan independent. Setiap segment berisi alamat 0 sampai

maksimum secara linier. Panjang setiap segment berbeda-beda sampai

panjang maksimum, perubahan panjang segment terjadi selama proses

eksekusi. (Silitonga, 2010)

2.1.2. Rekayasa Balik ( Reverse Engineering ) Untuk Memahami Data

Pada tingkat sistem, struktur data global ( misal file, database)

sering direkayasa ulang untuk mengakomodasi paradigma manajemen

database baru (missal gerakan dari flag file ke sistem database relasional

atau OOP)

Page 28: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

28

a. Struktur Data Internal

Pendekatan untuk kelas rekayasa balik (reverse engineering)

1. Identifikasi flag dan struktur data local pada program yang

merekam informasi penting mengenai struktur data global.

2. Tetapkan hubungan antara flag dan struktur data local dan global.

3. Untuk setiap variable yang mempresentasikan aray atau file,

daftarlah semua variable lain yang memiliki hubungan logis

dengannya.

b. Struktur Database

Langkah-langkah mendefiniskan model data yang ada ke model

database baru, adalah sebagai berikut :

1. Bangun model obyek awal.

2. Tentukan kunci calon.

3. Saling kelas-kelas tentatif.

4. Definisikan generalisasi.

5. Temukan hubungan.

(Sofy, 2009 )

2.1.3. Interface Pemakai Rekayasa balik (Reverse Engineering)

Untuk memahami secara penuh user interface yang sudah ada,

struktur dan tingkah laku interface harus ditentukan. Tiga pertanyaan

mendasar yang harus dijawab pada saat reverse engineering suatu user

interface dimulai :

Page 29: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

29

1. Apakah aksi dasar yang harus diproses interface?

2. Apa deskripsi respon perilaku system terhadap aksi?

3. Konsep ekivalensi apa yang relevan disini?

Ajabar proses dapat digunakan untuk mempresentasikan tingkah laku

suatu interface dalam cara yang formal.(Sofy, 2009)

Pada dasarnya terdapat tiga jenis informasi yang bisa dihasilkan

dari proses reverse engineering yaitu static information, dynamic

information, merged information. (Systa, 2003)

2.2 Aplikasi

Aplikasi, dalam ilmu komputer, adalah sebuah program komputer

yang dirancang untuk membantu orang-orang yang melakukan jenis

pekerjaan tertentu. Sebuah aplikasi berbeda dari sebuah sistem operasi

(yang menjalankan komputer), sebuah utilitas (yang melakukan

pemeliharaan atau untuk tujuan tugas umum) dan bahasa pemrograman

(yang membuat program komputer). Tergantung pada pekerjaan yang

sudah dirancang, aplikasi dapat memanipulasi teks, angka, grafik atau

gabungannya. Beberapa paket aplikasi menawarkan kemampuan

komputasi yang baik dengan fokus pada satu tugas, seperti pengolah kata.

Paket aplikasi lainnya adalah perangkat lunak yang terintegrasi

menawarkan kemampuan komputasi yang kurang tetapi di dalamnya

terdapat beberapa aplikasi, seperti pengolah kata, spreadsheet dan program

database (Microsoft Encarta: 2009).

Page 30: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

30

2.3. Perpustakaan

Adjat Sakri dalam kamus kecil perpustakaan memberi definisi :

“Perpustakaan adalah lembaga yang menghimpun pustaka dan

menyediakan sarana bagi orang untuk memanfaatkan koleksi pustaka

tersebut”.

Menurut definisi tersebut, perpustakaan terdiri atas empat unsur yaitu :

1. Koleksi pustaka

2. Pengguna perpustakaan

3. Sarana

4. Pustakawan.

Sarana

Koleksi pustaka Pengguna Perpustakaan

Pustakawan

Dari keempat unsur tersebut, unsur koleksi dan pemakai

mempunyai hubungan yang sangat erat. Orang pergi ke perpustakaan

dengan harapan akan memperoleh buku atau informasi yang dibutuhkan.

Maka pustakawan harus berusaha menghimpun koleksi yang sesuai

dengan kebutuhan dan minat para pemakainya.

(Soeatmina, 2002)

Sedangkan menurut Keputusan Presiden No. 11 Tahun 1989,

perpustakaan adalah salah satu sarana pelestarian bahan pustaka sebagai

hasil budaya dan mempunai fungsi sebagai sumber informasi ilmu

pengetahuan, teknologi dan kebudayaan dalam rangka mencerdaskan

Page 31: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

31

kehidupan bangsa dan menunjang pelaksanaa pembangunan. Sebagai

sumber belajar perpustakaan juga berfungsi membantu program

pendidikan, sehingga perlu dikembangkan untuk mencapai sasaran yang

dikehendaki.

2.4 TULIS (Technology of UIN Library & Information System)

Tulis (Technology of UIN Library & Information System) adalah

system pengarsipan digital untuk perpustakaan yang memiliki fungsi

pencarian dokumen, penjelajahan dokumen, melihat informasi dokumen,

pengunduhan dokumen digital, pemesanan peminjaman, dan lain-lain

(Online Public Access Library / OPAC); serta pendataan koleksi,

pendataan pengadaan, pendataan keanggotaan, pendataan sirkulasi,

laporan serta statistik, dan lain-lain (Back Office / BO).

2.4.1 Arsitektur TULIS

Dari segi teknis,secara umum arsitektur system

perpustakaan digital dibagi menjadi dua bagian, yaitu sistem

Informasi Perpustakaan dan Sistem Temu Kembali Informasi,

masing-masing bagian ini dapat dibagi menjadi beberapa sub

bagian, diagram lengkap arsitektur sistem adalah sebagai berikut :

Page 32: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

32

Gambar 2.2 Arsitektur TULIS

Pada back-office, sistem menggunakan Hibernate untuk melakukan

mapping objek data kedalam sistem basis data. Hal tersebut digunakan

pada setiap modul dalam hal pengaksesan basis data, baik itu pengambilan

data, perubahan data, atau penghapusan data. Sistem ini menggabungkan

fungsi pengolahan koleksi fisik dengan pengolahan koleksi digital dari

perpustakaan, sehingga pengguna dapat langsung men-download koleksi

digital dari OPAC.

Sedangkan dalam penggunaan metode pencarian information

Retrieval System (IRS), system akan mengakses setiap basisdata dari

masing-masing perpustakaan yang terhubung dengan menggunakan web

service.

Page 33: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

33

2.5 OPAC( Online Public Access Catalogue)

Untuk membantu pengguna menemukan koleksi informasi yang

dibutuhkan, Pustaka menyediakan berbagai sarana temu kembali informasi

seperti catalog kartu, catalog tercetak berupa buku, indeks, bibliografi

khusus, OPAC, dan beberapa aplikasi CD-ROM. OPAC dibangun pada

tahun 2004 dalam rangka pengembangan automasi perpustakaan dan

dilatarbelakangi oleh beberapa hal, antara lain :

a. Penelusuran data tentang koleksi pustaka masih dilakukan secara

manual, sehingga pengguna memerlukan waktu yang lama untuk

menemukan informasi yang dibutuhkan.

b. Pangkalan data yang ada hanya memuat informasi bibliografis, dan

sebagian belum mencantumkan data nomor panggil.

c. Jumlah kompter yang tersedia untuk penelusuran koleksi pustaka

terbatas serta masih bergabung dengan penelusuran CD-ROM.

d. Pemantauan pengunjung perpustakaan secara manual tidak dapat

dilakukan secara serentak.

e. Pembuatan statistik pemanfaatan perpustakaan dan laporan bulanan

sering terlambat.

OPAC dilengkapi dengan tiga unit komputer terminal yang

masing-masing berfungsi sebagai sarana penelusuran, terminal pencatat

data pengunjung, dan sebagai server. Pangkalan data yang tersedia terdiri

atas data koleksi buku, teknologi pertanian tepat guna, daftar judul

Page 34: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

34

majalah, daftar koleksi CD-ROM, dan hasil-hasil penelitian. Pangkalan

data yang digunakan berbasis software CDS atau ISIS dengan

menggunakan struktur data yang sudah ada sebelumnya disertai

penambahan ruas (fields) baru.

Keuntungan lain dari OPAC dalam bentuk WAN adalah penguna

dapat mengetahui ketersediaan materi informasi yang dicari tanpa harus

dating langsung ke perpustakaan, sedangkan permintaan bahan pustakanya

dapat dilakukan melalui sarana komunikasi lain. Dengan demikian,

pengguna dapat menghemat waktu, baiaya, dan tenaga untuk memperoleh

koleksi pustaka yang diperlukan. Dengan adanya OPAC yang

terkomunikasi melalui internet, jangkauan pengguna perpustakaan menjadi

lebih luas, tidak saja untuk para staf dalam lingkungan sendiri atau

pengguna yang datang ke perpustakaan, tetapi juga untuk pengguna atau

instansi lain dalam lingkup yang lebih luas.

Beberapa tujuan yang ingin dicapai dalam pembuatan OPAC adalah :

1. Pengguna dapat mengakses secara langsung kedalam pangkalan data

yang dimiliki perpustakaan.

2. Mengurangi beban biaya dan waktu yang diperlukan dan yang harus

dikeluarkan oleh pengguna dalam mencari informasi.

3. Mengurangi beban pekerjaan dalam pengelolaan pangkalan data

sehingga dapat meningkatkan efisiensi tenaga kerja.

Page 35: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

35

4. Mempercepat pencarian informasi

5. Dapat melayani kebutuhan informasi masyarakat dalam jangakauan

yang luas.

Dalam sistem OPAC terdapat kegiatan pemasukan data dan

validasi atau pengecekan data yang dimasukkan kedalam basisdata.

Apabila ada kesalahan atau keraguan, data dapat dilacak berdsarkan nama

pengolah, pemasuk data, dan tanggal pemasukan yang tercantum pada

formulir.dengan menggunakan formulir, pemasukan data menjadi lebih

cepat dan fisik bahan pustakanya dapat segera diproses sebagaimana

mestinya sehingga dapat segera dipamerkan dan digunakan di unit

sirkulasi. (http://pustaka.litbang.deptan.go.id/) (Kusmayadi dan Andriaty,

2006)

2.5 JAVA

2.5.1 Pengertian Java

Java adalah suatu teknologi di dunia software komputer, yang

merupakan suatu bahasa pemrograman, dan sekaligus suatu platform.

Sebagai bahasa pemrograman, Java dikenal sebagai bahasa

pemrograman tingkat tinggi. Java mudah dipelajari, terutama bagi

programmer yang telah mengenal C/C++. Java merupakan bahasa

Page 36: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

36

pemrograman berorientasi objek yang merupakan paradigma

pemrograman masa depan.

Sebagai bahasa pemrograman, Java dirancang menjadi handal dan

aman. Java juga dirancang agar dapat dijalankan di semua platform. Dan

juga dirancang untuk menghasilkan aplikasi-aplikasi dengan performansi

yang terbaik, seperti aplikasi database Oracle 8i/9i yang core-nya dibangun

menggunakan bahasa pemrograman Java. Sedangkan Java bersifat neutral

architecture, karena Java Compiler yang digunakan untuk mengkompilasi

kode program Java dirancang untuk menghasilkan kode yang netral

terhadap semua arsitektur perangkat keras yang disebut sebagai Java

Bytecode. Sebagai sebuah platform, Java terdiri atas dua bagian utama,

yaitu:

1. Java Virtual Machine (JVM).

2. Java Application Programming Interface (Java API).

Sun membagi arsitektur Java membagi tiga bagian, yaitu:

1. Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi

sistem tersebar dengan beraneka ragam klien dengan kompleksitas

yang tinggi. Merupakan superset dari Standar Java.

2. Standar Java (J2SE), ini adalah yang biasa dikenal sebagai bahasa

Java.

Page 37: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

37

3. Micro Java (J2ME) merupakan subset dari J2SE dan salah satu

aplikasinya yang banyak dipakai adalah untuk wireless device atau

mobile device. (Asep, 2003)

2.6 JSP (Java Server Pages)

Untuk membangkitkan halaman-halaman web sesuai dengan

permintaan pemakai, para pengembang aplikasi web dapat menggunakan

perangkat lunak seperti JSP, PHP, Perl, dan ASP. JSP (Java Server Pages)

merupakan teknologi yang didasarkan pada bahasa Java, yang dapat

digunakan untuk membentuk halaman-halaman web yang bersifat dinamis

(Abdul Kadir, 2004).

JSP adalah suatu teknologi web berbasis bahasa pemrograman Java

dan berjalan di platform java, serta merupakan bagian dari teknologi J2EE

(Java 2 Enterprise Edition) (Isak Rickyanto, 2002).

JSP sangat sesuai dan tangguh untuk menangani presentasi di web. Hal

ini dikarenakan JSP dapat memisahkan desain presentasi dengan skrip atau

kode pemrograman untuk menghasilkan data atau isi yang dinamik. Selain itu,

karena JSP berbasis bahasa pemrograman Java, maka aplikasi yang dibuat

dengan JSP juga mempunyai karakteristik “write once, built anywhare” yaitu

portabilitas yang tinggi. JSP juga memiliki manajemen memori yang tinggi,

sekuritas yang baik, dan dapat memanfaatkan pemrograman berorientasi objek

dari Java.

Page 38: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

38

Pada dasarnya, kode JSP merupakan kode HTML yang dilengkapi

dengan tag-tag JSP. Untuk menjalankan JSP yang diperlukan adalah web

container serta Java Virtual Machine (JVM).

2.6.1 Sintaks JSP

JSP memiliki tag standar yang bisa disebut dengan JSP Standard

Tag Library (JSTL), tapi JSP juga mengizinkan tag-tag yang dapat dibuat

sendiri sesuai kebutuhan (custom element). Elemen standar pada JSP dapat

dikelompokkan menjadi tiga yaitu :

1. Elemen perintah (directive element)

Elemen perintah adalah elemen untuk menspesifikasikan informasi

tentang halaman yang bersangkutan.

2. Elemen skrip (scripting element)

Elemen skrip mengizinkan programmer memasukkan kode Java pada

kode JSP.

3. Elemen aksi (action element)

Elemen aksi merespon aksi yang berdasarkan informasi yang

dibutuhkan halaman JSP ketika diminta oleh browser.

(Shalahuddin : 2008)

Page 39: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

39

2.7 Framework

2.7.1. Definis Framework

Dapat dijelaskan bahwa Software Framework adalah

sekumpulan kode yang dirancang untuk memfasilitasi sebuah

pengembangan aplikasi dengan membuat bagian-bagian berupa

fungsi ataupun abstrak dari suatu bahasa pemrograman dan

selanjutnya membuat serta menyediakan aturan-aturan standar

bagaimana bagian-bagian berupa fungsi ataupun abstrak tersebut

dapat diakses serta digunakan.

Framework dalam dunia komputer digunakan sebagai

sebuah acuan utama berupa kerangka program yang bersifat global,

yang dapat disesuaikan dengan keinginan penggunanya.

Framework yang dikembangkan saat ini telah mencakup berbagai

macam bahasa pemrograman. Pada pemrograman web, framework

telah dikembangkan untuk bahasa pemrograman antara lain PHP

dan Java. Untuk PHP, framework yang banyak digunakan misalnya

Zend Framework yang dikembangkan oleh Zend Technologies,

Code Igniter yang dikembangkan oleh Ellislab, Inc., dan Seagull

Framework.

Sedangkan untuk bahasa pemrograman Java, framework

yang tersedia sangat banyak.

Page 40: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

40

2.7.2. Tujuan Framework

Tujuan framework adalah untuk memudahkan programmer

untuk melakukan pekerjaan yang umum dan dilakukan secara

berulang-ulang. Dengan adanya framework, hal-hal tersebut

menjadi lebih mudah karena framework sudah menyediakan fitur-

fitur tersebut, sehingga waktu pengerjaan diharapkan bisa menjadi

lebih cepat dan memperoleh hasil yang lebih baik.

Keuntungan lain dari penggunaan framework adalah

programming style dari tim developer bisa lebih seragam

(konsisten), karena framework sudah menyediakan pattern yang

sudah terbukti efektif untuk mendevelop aplikasi.

Kelemahan pengguanaan framework adalah perlunya waktu

untuk mempelajari cara penggunaan framework itu sendiri. Jika

waktu tersebut masih jauh lebih pendek daripada waktu pengerjaan

proyeknya, maka menggunakan framework akan memberikan

mafaat yang signifikan.

2.8 Apache Struts

Apache Struts adalah sebuah open source framework aplikasi web

untuk mengembangkan Java EE aplikasi web. Apache Struts

menggunakan dan memperpanjang Java Servlet API untuk mendorong

pengembang untuk mengadopsi Model-View-Controller (MVC) arsitektur

ini pada awalnya diciptakan oleh Craig McClanahan dan disumbangkan

Page 41: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

41

kepada Yayasan Apache pada bulan Mei, 2000. Sebelumnya terletak di

bawah Apache Jakarta Project dan dikenal sebagai Jakarta Struts, itu

menjadi sebuah proyek Apache atas tingkat tahun 2005. Struts2 juga

merupakan rebranding dari WebWork bawah membuat Apache Struts.

Secara umum Struts adalah web development framework yang

berada dibawah payung Apache Software Foundation. Struts

menggunakan pattern Model-View-Controller (MVC) dengan

memanfaatkan Java Bean (Model), Servlet (Controller), dan JSP (View).

Gambar 2.3 : Arsitektur Struts

(Sumber : Shalahuddin , 2008)

2.8.1 Komponen Dasar dari Struts

1. Framework Dasar

Menyediakan fungsi dasar MVC dan kumpulan blok dasar dari

aplikasi. Pondasi dari framework dasar adalah servlet yang

Page 42: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

42

memegang kontrol (controller servlet) dan sisanya adalah

kelas-kelas yang menangani fungsi-fungsi yang diperlukan.

2. Pustaka tag JSP

Struts dibungkus dengan beberapa pustaka tag JSP sebagai

berikut :

a. HTML

Digunakan untuk menggenarasi form yang berinteraksi

dengan API Struts.

b. Bean

Digunakan untuk bekerja dengan objek Java Bean misalnya

mengakses nilai bean.

c. Logic

Digunakan untuk implementasi kondisi logis dalam JSP.

d. Nested

Digunakan untuk penanganan level nested dari tag HTML,

Bean, dan Logic.

3. Tiles Plugin

Struts dibungkus dengan tiles subframework. Tiles adalah

kumpulan framework template JSP yang memfasilitasi

penggunaan kembali kode-kode yang telah ada.

4. Plugin Validator

Page 43: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

43

Struts dibungkus dengan subframework validator yang

menyediakan kumpulan framework untuk kebutuhan validasi

data pada klien maupun server.

2.9 MySQL

MySQL merupakan software sistem manajemen database

(Database Management Systems/DBMS) yang sangat populer di kalangan

pemrograman web, terutama di lingkungan Linux dengan menggunakan

script PHP dan Perl (Sidik, 2005). MySQL merupakan salah satu jenis

database server yang sangat terkenal. Kepopulerannya disebabkan

MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses

database-nya. Software database ini kini telah tersedia juga pada platform

sistem operasi Windows (Prasetyo, 2003).

MySQL adalah Relational Database Management Sistem

(RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL

(General Public License). Dimana setiap orang bebas untuk menggunakan

MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed

source atau komersial (Prasetyo, 2003).

MySQL ideal untuk perangkat lunak database berbasis web

berukuran minimal dan menengah, namun telah menjanjikan untuk

penggunaan besar (Hariyanto, 2004).

2.9.1 Sejarah MySQL

Page 44: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

44

Pada tahun 1994 MySQL pertama kali dikembangkan oleh

pengembang software dan konsultan database bernama MySQL

AB (yang dulunya bernama TcX DataKonsult AB) yang bertempat

di Swedia.

Awalnya Michael Widenius ”Monty”, pengembang satu-

satunya di TCX, memiliki sebuah aplikasi UNIREG dan rutin

ISAM buatannya sendiri dan sedang mencari antarmuka SQL yang

cocok untuk diimplementasikan ke dalamnya. Mula-mula Monty

memakai miniSQL (mSQL) pada eksperimennya itu, namun mSQL

dirasa kurang sesuai, karena terlalu lambat dalam pemrosesan

query.

Akhirnya Monty menghubungi David Hughes, pembuat

mSQL yang sedang merilis versi kedua dari mSQL. Kemudian

Monty mencoba membuat sendiri mesin SQL yang memiliki

antarmuka mirip dengan SQL, tetapi dengan kemampuan yan

glebih sesuai dan lahirlah MySQL.

Tentang pengambilan nama MySQL, sampai saat ini masih

belum jelas asal usulnya. Ada yang berpendapat nama My diambil

dari huruf depan dan belakang Monty, tetapi versi lain mengatakan

itu diambil dari nama putri Monty yang kebetulan bernama My

(Prasetyo, 2003).

2.9.2 Keistimewaan MySQL

Page 45: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

45

Sebagai database server yang memiliki konsep database

modern, MySQL memiliki banyak sekali keistimewaan. Berikut ini

beberapa keistimewaan yang dimiliki MySQL (Prasetyo, 2003):

a. Portability

MySQL dapat berjalan stabil pada berbagai sistem operasi

seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris,

Amiga dan masih banyak lagi.

b. Open Source

MySQL didistribusikan secara open source, di bawah lisensi

GPL sehingga dapat digunakan secara cuma-cuma.

c. Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang

bersamaan tanpa mengalami masalah atau konflik.

d. Performance tuning

MySQL memiliki kecepatan yang menakjubkan dalam

menangani query sederhana, dengan kata lain dapat memproses

lebih banyak SQL per satuan waktu.

e. Column types

MySQL memiliki tipe kolom yang sangat kompleks, seperti

signed/ unsigned integer, float, double, char, text, date,

timestamp dan lain-lain.

Page 46: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

46

f. Command dan functions

MySQL memiliki operator dan fungsi secara penuh yang

mendukung perintah Select dan Where dalam query .

g. Security

MySQL memiliki beberapa lapisan sekuritas seperti level

subnetmask, nama host dan izin akses user dengan sistem

perizinan yang mendetail serta password terenkripsi.

h. Scalability dan limits

MySQL mampu menangani database dalam skala besar,

dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta

5 milyar baris. Selain itu batas indeks yang dapat ditampung

mencapai 32 indeks pada tiap tabelnya.

i. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan

protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

j. Localisation

MySQL dapat mendeteksi pesan kesalahan pada client dengan

menggunakan lebih dari dua puluh bahasa. Meskipun demikian,

bahasa Indonesia belum termasuk di dalamnya.

k. Interface

Page 47: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

47

MySQL memiliki interface terhadap berbagai aplikasi dan

bahasa pemrograman dengan menggunakan fungsi API

(Application Programming Interface).

l. Clients dan tools

MySQL dilengkapi dengan berbagai tool yang dapat digunakan

untuk administrasi database dan pada setiap tool yang ada

disertakan petunjuk online.

m. Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani ALTER TABLE, dibandingkan database lainnya

semacam PostgreSQL ataupun Oracle.

2.10 Unified Modeling Language (UML)

2.10.1 Definisi

UML adalah bahasa grafis untuk mendokumentasikan,

menspesifikasikan, dan membangun sistem perangkat lunak. UML

berorientasi objek menerapkan banyak level abstraksi, tidak

bergantung proses pengembangan, tidak tergantung pada bahasa

dan teknologi, pemaduan beberapa notasi di beragam metodologi,

Page 48: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

48

usaha bersama dari banyak pihak. Standar UML dikelola oleh

OMG (Object Management Group) (Bambang Heriyanto,2004).

UML adalah bahasa pemodelan untuk menspesifikasikan,

memvisualisasikan, membangun dan mendokumentasikan artifak-

artifak dari sistem. Kelebihan UML diantaranya:

1. Di dalam (system intensive process), metode diterapkan sebagai

proses untuk menurutkan atau mengevolusikan sistem.

2. Sebagai bahasa UML digunakan untuk komunikasi, yaitu alat

untuk menangkap pengetahuan (semantik) mengenai suatu

subjek dan mengapresiasikan yang memperdulikan subjek

sebagai suatu komunikasi. Subjek merupakan sistem yang

dibahas.

3. Sebagai bahasa pemodelan, UML fokus pada pemahaman

subjek melalui formulasi model dari subjek (dan konsep yang

terhubung). Model memuat pengetahuan pada subjek, dan

aplikasi dari pengetahuan ini berkaitan dengan intelejensia.

4. Berkaitan dengan unifikasi, UML memadukan praktek

rekayasa terbaik sistem informasi dan industri, meliputi

beragam tipe sistem (perangkat lunak dan non lunak), domain

(bisnis, perangkat lunak) dan proses siklus hidup.

5. Ketika diterapkan untuk menspesifikasikan sistem,UML dapat

digunakan untuk mengkomunikasikan “apa” yang diperlukan

dari sistem dan “bagaimana” sistem dapat direalisasikan.

Page 49: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

49

6. Ketika diterapkan untuk memvisualisasikan sistem, UML dapat

digunakan untuk menjelaskan sistem secara visual sebelum

direalisasikan.

7. Ketika diterapkan untuk membangun sistem, UML dapat

digunakan untuk memandu realisasi sistem serupa dengan

“blueprint”.

8. Ketika diterapkan untuk mendokumentasikan sistem, UML

dapat digunakan untuk menangkap pengetahuan mengenai

sistem pada seluruh siklus hidup (Hariyanto, 2004).

Diagram-diagram yang terdapat pada pemodelan UML sebagai

berikut :

a. Use Case Model Diagram

Use case adalah teknik untuk merekam persyaratan

fungsional sebuah sistem. Use case mendeskripsikan interaksi

tipikal antara para pengguna sistem dengan sistem itu sendiri,

dengan memberi sebuah narasi tentang bagaimana sistem

tersebut digunakan (Fowler, 2005).

Use case diagram merupakan diagram yang

menggambarkan interaksi antara sistem dengan sistem eksternal

dan pengguna Dengan kata lain, secara grafis menggambarkan

siapa yang akan menggunakan sistem dan dengan cara apa

pengguna mengharapkan untuk berinteraksi dengan sistem

(Whitten, 2004).

Page 50: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

50

b. Activity Diagram

Activity diagram adalah teknik untuk menggambarkan

logika prosedural, proses bisnis dan jalur kerja (Fowler, 2005).

Activity diagram secara grafis digunakan untuk

menggambarkan rangkaian aliran aktifitas baik proses bisnis

atau use case (Whitten, 2004).

Diagram ini berbeda dengan flowchart dimana diagram ini

menyediakan sebuah mekanisme untuk menggambarkan

kegiatan yang tampak secara pararel (Munawar, 2005).

c. Sequence Diagram

Sequence diagram secara grafis menggambarkan

bagaimana object berinteraksi dengan satu sama lain melalui

pesan pada eksekusi sebuah usecase atau operasi. Sebuah

sequence diagram, secara khusus, menjabarkan behaviour

(perilaku) sebuah skenario tunggal (Flower, 2004). Diagram ini

mengilustrasikan bagaimana pesan terkirim dan diterima di

antara object dan sequence (ruang waktu) (Whitten, 2004).

Pembuatan Sequence diagram untuk desain sistem

penelitian ini berdasarkan pada setiap usecase dan

Page 51: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

51

menggunakan konsep yang biasanya tersusun dari element

Object, Interaction dan Message. Object dapat berupa

boundary class, control class dan entity class. Sedangkan

Interaction menghubungkan dua objek dengan pesannya. Cara

mudah yang bisa diikuti untuk memulai pembuatan sequence

diagram adalah sebagai berikut (Hermawan, 2004):

1. Menggambarkan aktor dan kelas yang terlibat ke dalam

sequence diagram.

2. Mengurutkan element yang digunakan, di antaranya: aktor –

objek dari boundary class – objek dari control class – objek

dari entity class .

3. Mengikuti urutan seperti dalam usecase specification dan

mulai identifikasi operasi yang diperlukan untuk

mengeksekusi suatu baris aktivitas dalam usecase

specification. Operasi ini akan bergerak bertahap: dari aktor

ke boundary class, dari boundary class ke control class,

dari control class ke satu atau beberapa entity class.

4. Dari masing-masing operasi, identifikasi informasi apa saja

yang perlu dipindahkan dari aktor ke boundary class ke

control class hingga entity class.

d. Class Diagram

Class diagram mendeskripsikan jenis-jenis objek dalam

sistem dan berbagai macam hubungan statis yang terdapat di

Page 52: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

52

antara mereka (Fowler, 2005). Class diagram merupakan

gambar grafis mengenai struktur objek statis dari suatu sistem,

menunjukkan kelas-kelas objek yang menyusun sebuah sistem

dan juga hubungan antara kelas objek tersebut (Whitten, 2004).

e. State Diagram

State diagram adalah teknik yang umum digunakan untuk

menggambarkan behavior sebuah sistem (Fowler, 2005). State

diagram mengilustrasikan siklus hidup object dan keadaan

yang dapat diasumsikan oleh object dan events yang

menyebabkan object beralih dari satu state ke state yang lain

(Whitten, 2004).

Tidak semua objek yang terdapat pada sistem dibuat state

diagram-nya, hanya objek yang memiliki perubahan status

yang akan dibuat state-nya dan state diagram digunakan hanya

untuk dokumentasi (Fowler, 2005).

f. Component Diagram

Component diagram menggambarkan struktur dan

hubungan antar komponen piranti lunak, termasuk

ketergantungan (dependency) di antaranya. Komponen piranti

lunak adalah modul berisi code, baik berisi source code

maupun binary code, baik library maupun executable, baik

yang muncul pada compile time, link time, maupun run time.

Page 53: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

53

Umumnya komponen terbentuk dari beberapa class dan, atau

package, tapi dapat juga dari komponen-komponen yang lebih

kecil. (Sri Dharwiyanti , 2003)

g. Deployment Diagram

Deployment/physical diagram menggambarkan detail

bagaimana komponen di-deploy dalam infrastruktur sistem, di

mana komponen akan terletak (pada mesin, server atau piranti

keras apa), bagaimana kemampuan jaringan pada lokasi

tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik.

Sebuah node adalah server, workstation, atau piranti keras lain

yang digunakan untuk men-deploy komponen dalam

lingkungan sebenarnya. Hubungan antar node (misalnya

TCP/IP) dan requirement dapat juga didefinisikan dalam

diagram ini (Sri Dharwiyanti , 2003).

2.10.2 Notasi UML

Notasi UML diturunkan dari tiga notasi yang sudah ada

sebelumnya yaitu Grady Booch OOD (Object Oriented Design),

Jim Rumbough OMT (Object Modelling Technique), dan Ivar

Jacobson OOSE (Object Oriented Sofware Engineering). Notasi

UML yang digunakan sekarang merupakan penggabungan dari tiga

notasi tersebut, yang terdiri dari:

Page 54: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

54

1. Aktor (actor)

Dalam pemodelan sistem dengan UML, aktor adalah

seseorang atau sesuatu yang berinteraksi dengan sistem yang

sedang kita kembangkan. Aktor berada diluar lingkup sistem

atau perangkat lunak yang sedang kita kembangkan; bersifat

eksternal (Hermawan, 2006).

Secara prinsip dapat kita kenali 3 jenis aktor untuk hampir

semua sistem atau perangkat lunak yang kita kembangkan: para

pengguna sistem, perangkat lunak lain yang berinteraksi

dengan sistem, dan perangkat lunak yang kita kembangkan

serta waktu. Jadi aktor ini bisa berupa orang, perangkat keras

atau mungkin juga objek lain dalam sistem yang sama.

Biasanya yang dilakukan oleh aktor adalah memberikan

informasi pada sistem dan atau memerintahkan sistem untuk

melakukan sesuatu.

Gambar 2.4. Notasi Aktor

Sumber: (Nugroho, 2005)

Page 55: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

55

2. Kelas (class)

Kelas seperti juga objek, adalah sesuatu yang membungkus

(encapsulate) informasi dan perilaku dalam dirinya

(Hermawan, 2006). Dalam pengembangan sistem tradisional,

kita mengadakan pendekatan dengan cara memisahkan

informasi-informasi pada sisi basis data dan perilaku yang

mengaksesnya di sisi aplikasi pemasup atau pengakses.

Pendekatan berorientasi objek berbeda, yaitu menggabungkan

potongan-potongan informasi dengan perilaku yang akan

mengaksesnya dalam apa yang dinamakan kelas.

Gambar 2.5. Notasi Kelas

Sumber: (Nugroho, 2005)

3. Usecase

Usecase adalah peringkat tertinggi dari fungsional yang

dimiliki sistem (Hermawan, 2006). Dengan kata lain, usecase

menggambarkan bagaimana seseorang akan menggunakan

sistem. Usecase menjelaskan suatu urutan kegiatan yang

dilakukan oleh aktor dan sistem untuk mencapai tujuan tertentu

Nama Kelas

Atribut

Operasi

Notasi Kelas

Page 56: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

56

Nama Use Case

walaupun menjelaskan kegiatan namun usecase hanya

menjelaskan apa yang dilakukan oleh aktor dan sistem, bukan

bagaimana aktor dan sistem melakukan kegiatan tersebut.

Keunggulan dari cara memandang sistem sebagai kumpulan

usecase adalah kemampuannya untuk memisahkan

implementasi sistem dari alasan mengapa sistem harus ada. Ia

akan membantu kita untuk berfokus pada apa yang paling

penting, yaitu menentukan apa yang dibutuhkan serta apa

harapan pengguna terhadap sistem atau perangkat lunak yang

sedang dikembangkan.

Gambar 2.6. Notasi Usecase

Sumber: (Nugroho, 2005)

4. Interaction

Menurut Hermawan (2004) interaction digunakan untuk

menunjukan baik aliran pesan atau informasi antar objek

maupun hubungan antar objek. Biasanya interaction ini

dilengkapi juga dengan teks bernama operation signature yang

Page 57: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

57

tersusun dari nama operasi, parameter yang dikirim dan tipe

parameter yang dikembalikan.

Gambar 2.7. Notasi Interaction

Sumber : ( Nugroho, 2005)

5. Interface

Interface merupakan kumpulan operasi tanpa implementasi

dari suatu class. Implementasi operasi dalam interface

dijabarkan dalam operasi dalam class. Oleh karena itu

keberadaan interface selalu disertai oleh class yang

mengimplementasikan operasinya (Hermawan, 2004). Interface

ini merupakan salah satu cara mewujudkan prinsip enkapsulasi

dalam objek.

Gambar 2.8. Notasi Interface

Sumber: (Nugroho, 2005)

6. Package

Package adalah container atau wadah konseptual yang

digunakan untuk mengelompokkan elemen-elemen dari suatu

Page 58: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

58

sistem yang sedang dibangun, sehingga bisa dibuat model yang

lebih sederhana. Tujuannya adalah untuk mempermudah

penglihatan (visibility) dari suatu model yang sedang dibangun.

Gambar 2.9. Notasi Package

Sumber: (Nugroho, 2005)

7. Note

Note dibangun untuk memberikan keterangan dan komentar

tambahan dari suatu elemen sehingga bisa langsung terlampir

dalam model. Note ini bisa ditempelkan ke semua elemen

notasi yang lain.

Gambar 2.10. Notasi Note

Sumber: (Nugroho, 2005)

8. Dependency

Merupakan relasi yang menunjukan bahwa perubahan pada

suatu elemen memberikan pengaruh pada elemen yang lain.

Elemen yang ada di bagian tanda panah adalah elemen yang

Note

Package(from Use Case View)

Page 59: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

59

tergantung pada elemen yang ada di bagian tanpa ada tanda

panah.

Terdapat dua stereotype dari dependency, yaitu include dan

extend. Include menunjukan bahwa suatu bagian dari elemen

(yang ada di garis tanpa panah) memicu eksekusi bagian dari

elemen yang lain (yang ada di garis dengan panah), misalnya

untuk notasi A & B operasi yang ada di class A memicu

dieksekusinya operasi yang berada di class B.

Extend menunjukan bahwa suatu bagian dari elemen di

garis tanpa panah bisa disiapkan ke dalam elemen yang ada di

gari dengan panah, misalnya untuk notasi A & B suatu fungsi

dari usecase A bisa disisipkan ke dalam usecase B atau dengan

kata lain A optional untuk B.

Ke dua stereotype ini di representasikan dengan

menambahkan text include atau extend di notasi dependency.

Gambar 2.11. Notasi Dependency

Sumber: (Nugroho, 2005)

9. Association

Association menggambarkan navigasi antar class

(navigation), berapa banyak objek lain yang bisa berhubungan

Page 60: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

60

dengan satu objek (multiplicity antar class) dan apakah suatu

class menjadi bagian dari class lainnya (aggregation).

Navigation di lambangkan dengan penambahan tanda

panah di akhir garis. Bidirectional navigation menunjukan

bahwa dengan mengetahui salah satu class bisa didapatkan dari

informasi lainnya. Sementara dengan unidirectional navigation

hanya dengan mengetahui class di ujung garis association

tanpa panah kita bisa mendapatkan informasi dari class di

ujung dengan panah, tetapi tidak sebaliknya.

Gambar 2.12. Notasi Association

Sumber: (Nugroho, 2005)

2.11 Penelitian Sejenis

Berdasarkan hasil penelitian, penelitian-penelitian tentang rekayasa

balik (reverse engineering) yang mengambil objek yang sama dengan

yang penulis lakukan masih sedikit. Pada penelitian sebelumnya, terdapat

beberapa penelitian yang hampir serupa dengan judul rekayasa balik

(reverse engineering), diantaranya adalah :

Page 61: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

61

1. Pengembangan metode reverse engineering untuk rekonstruksi

dokumen arsitektur perangkat lunak. (Romindo, Tesis : 2009)

Kelebihan dari penelitian ini adalah reverse engineering

dengan banyak kelebihan. Sedangkan kekurangannya adalah

tidak melakukan dengan pendekatan model based-design

sebagai pendekatan reverse engineering.

2. Reverse Engineering dan pendokumentasian system

pengenalan ucapan. (Ariawan, Skripsi : 2007)

Pendokumentasian dari sistem pengenalan ucapan

dilakukan berdasarkan diagram-diagram baku UML (Unified

Modeling Language). Kekurangan dari penelitian ini adalah

tidak menghasilkan Software Requirement Specification (SRS)

sistem pengenalan ucapan.

3. Rekayasa Balik (reverse engineering) Sistem Informasi

Akademik (SIM@K) dengan Pendekatan Model – Based

Design. (Inna Sabily Karima, Skripsi : 2010)

Pendokumentasian dari system informasi akademik

ini dilakukan berdasarkan diagram-diagram baku UML

(Unified Modeling Language). Pendekatan yang digunakan

adalah pendekatan model- based design. Kekurangan dari

penelitian ini adalah hanya mengahasilkan beberapa diagram

Page 62: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

62

baku UML, yaitu use case digram, activity diagram, class

diagram, component diagram dan deployment diagram.

Berdasarkan pada beberapa penelitian sebelumnya, ada beberapa

kelebihan dari penelitian yang penulis lakukan, diantaranya adalah :

1. Dokumentasi yang dibuat berdasarkan artifact user interface

dari source code yang ada apada aplikasi TULIS.

2. Dokumentasi berupa hasil akhir diagram-diagram baku UML,

yaitu use case digram, activity diagram, class diagram,

sequence diagram, state diagram, component diagram dan

deployment diagram.

3. Dokumentasi menghasilkan Software Requirement

Specification (SRS) aplikasi TULIS.

Penting untuk melakukan rekayasa balik (reverse engineering) terutama

untuk kasus aplikasi TULIS pada perpustakaan UIN Syarif Hidayatullah

Jakarta agar sistem dapat terdokumentasi dengan baik, sehingga pada

akhirnya akan sangat membantu pengembang saat sistem tersebut akan

dikembangkan.

Page 63: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

63

BAB III

METODOLOGI PENELITIAN

3.1 Metode Penelitian

Tujuan dari metodologi penelitian secara sederhana ialah

bagaimanakah mengetahui sesuatu yang dilakukan melalui cara tertentu

dengan prosedur yang sistematis. Proses sistematis ini tidak lain adalah

langkah-langkah metode ilmiah yang menggambarkan proses pelaksanaan

penelitian secara langsung maupun tidak langsung atau pemahaman tentang

cara berpikir dan cara melaksanakan hasil berpikir menurut langkah-langkah

ilmiah.

3.2 Teknik Pengumpulan Data

Dalam penyusunan skripsi ini, diperlukan data-data serta informasi

yang relatif lengkap sebagai bahan yang dapat mendukung kebenaran materi

uraian dan pembahasan. Oleh karena itu, sebelum penyusunan skripsi ini

dilakukan, maka perlu dilakukan riset atau penelitian terlebih dahulu untuk

menjaring data serta informasi yang terkait. Proses pengumpulan data dapat

dilakukan dengan teknik-teknik tertentu. Teknik yang dipilih dan digunakan

dalam proses pengumpulan data tergantung pada sifat dan karakteristik

penelitian yang dilakukan.

Page 64: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

64

Teknik pengumpulan data yang dilakukan adalah sebagai berikut:

a. Observasi

Untuk mengumpulkan informasi dan data mengenai kebutuhan

sistem, penulis melakukan pengumpulan data dengan cara studi

lapangan atau observasi di tempat penelitian, dalam hal ini adalah

Perpustakaan Utama Universitas Islam Negeri Syarif Hidayatullah

Jakarta. Penulis melihat langsung ke lapangan untuk mengetahui system

yang sedang berjalan saat ini. Hal ini perlu dilakukan agar penulis dapat

melakukan analisis terhadap system yang telah berjalan.

b. Wawancara

Penulis melakukan wawancara langsung kepada pihak yang

berhubungan dengan plikasi perpustakaan. Pihak-pihak yang dimaksud

anatara lain adalah sebagai berikut :

1. Subag Layanan Umum bagian Otomasi, ICT dan Multimedia

2. Admin dari Aplikasi Perpustakaan TULIS

c. Studi pustaka

Melakukan studi pustaka dengan cara membaca dan mempelajari

buku-buku yang berhubungan dengan analisa dan perancangan sistem,

pemrograman web serta buku-buku yang mendukung topik yang akan

dibahas dalam penyusunan skripsi ini.

Selain itu, juga mengunjungi website yang berhubungan dengan

topik dalam skripsi ini. Adapun daftar buku dan website yang menjadi

Page 65: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

65

referensi dalam penyusunan skripsi ini dapat dilihat pada daftar

pustaka.

3.3 Metode Rekayasa Balik (Reverse Engineering)

Rekayasa Balik (Reverse Engineering) merupakan suatu metode. Pada

Rekayasa Balik (Reverse Engineering) terdapat pendekatan-pendekatan

yang dapat digunakan oleh penulis. Mulai dari pendekatan melalui analisa

source code (statis), pendekatan berdasarkan model ataupun melalui analisa

run-time execution (dinamis). Tipa-tiap pendekatan tersebut memiliki

kelebihan dan kekurangannya masing-masing. Sebagai contoh, untuk

tingkat keakurasian yang dihasilkan, analisa source code memiliki tingkat

keakurasian yang lebih tinggi dibandingkan analisa yang lainnya. Hal ini

dikarenakan analisa ini melibatkan suatu informasi yang menyingkapkan

proses-proses apa saja yang dimiliki aplikasi dan informasi ini bersifat up-

to-date.

Berbeda halnya dengan pendekatan berdasarkan model. Pendekatan

ini menggunakan acuan dari dokumen-dokumen yang sudah ada

sebelumnya, tetapi dokumen-dokumen tersebut tidak bersifat up-to-date

dikarenakan belum tentu perubahan pada suatu aplikasi secara langsung

akan mengubah dokumen-dokumen yang bersangkutan. Disamping itu,

pendekatan run-time execution pun bisa dilakukan. Pendekatan ini

dilakukan dengan cara menganalisa hasil yang terjadi jika suatu scenario

dieksekusi. Pendekatan ini biasanya dilakukan jika aplikasi yang

Page 66: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

66

bersangkutan tidak memiliki source code dan dokuman yang relevan.

Pendekatan ini memiliki tingkat keakurasian yang rendah karena jika

terdapat satu kemungkinan scenario saja yang terlewatkan akan berdampak

pada hasil akhirnya.

Tahapan-tahapan yang dilakukan oleh penulis dalam melakukan

penelitian untuk reverse engineering Aplikasi Perpustakaan TULIS adalah

sebagai berikut :

1. Memahami Ranah masalah (Problem Domain)

Dalam hal ini, penulis mengidentifikasi dan mengumpulkan

masalah yang terjadi pada aplikasi perpustakaan yang sedang

berjalan.

2. Analisa terhadap Artefak Construction

a. Identifikasi pengguna (actor) aplikasi perpustakaan TULIS

UIN Syarif Hidayatullah Jakarta.

b. Identifikasi interaksi antara actor dengan komputer. Setiap

interaksi ini, merupakan suatu Use Cae Realization (UCR).

c. Mengenali Basic Flow dari setiap UCR.

d. Mengenali Alternate Flow.

3. Analisa Source Code

Page 67: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

67

Analisa source code ini bertujuan mengekstrak informasi-

informasi yang terdapat pada source code dan database. Diagram

yang memungkinkan dihasilkan dari analisa ini anatara lain class

diagram, activity diagram, use cse diagram dan component

diagram. Adapun tahapan yang dialkukan penulis dalam

menganalisa source code adalah sebagai berikut :

a. Class diagram recovery

b. Activity diagram recovery

c. Use case diagram recovery

d. Sequence diagram recovery

e. Component diagram recovery

f. Deployment diagram recovery

4. Analisa Domain Expert

Analisa domain expert ini bertujuan memverifikasikan

output yang telah dihasilkan pada tahapan analisa soure code oleh

domain expert. Analisa ini penting dilakukan untuk

menerjemahkan hasil output pada analisa source code yang masih

bersifat low-level representative menjadi sebuah informasi yang

high-level representative. Disamping itu, analisa ini berguna untuk

Page 68: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

68

memvalidasi hasil yang sudah didapatkan pada tahapan analisa

source code dengan informasi yang diketahui domain expert.

1. Analisa terhadap rekonstruksi artefak Analysis & Design

a. Dengan dilakukan pendekatan bahwa sebuah UCR

merupakan realisasi dari sebuah Use Case (UC), yang

selanjutnya dikenal sebagai memiliki pemetaan 1 : 1. Maka

dapat disusun Spesifikasi UC dengan lengkap.

2. Rekonstruksi artefak Requirement Engineering

a. Memodelkan objek-objek dari hasil analisa source code dan

hubungan antara objek-objek kediaman diagram-diagram

UML antara lain adalah :

1. Class diagram

2. Activity diagram

3. Use case diagram

4. Sequence diagram

5. Component diagram

6. Deployment diagram

b. Hasil akhir, SRS (Software Requirement Spesification)

Page 69: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 3.1 : Tahapan Rekayasa Balik (Reverse Engineering)

Page 70: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Untuk keseluruhan hasil akhir dari seluruh analisa tersebutakan dijelaskan di

Software Requirement Spesification (SRS). Hasil akhir dari metode Reverse

Engineering penelitian ini, mengacu pada bakuan dokumentasi UP, ini berupa

dokumentasi “4+1 view” yang berupa : use case view, logical view,

implementation view dan deployment view. Sejumlah view ini kemudian

dimoelkan dengan menggunakan motasi UML, yaitu : use case diagram dan use

case description, class diagram, activity diagram,sequence diagram, component

diagram dan deployment diagram.

Atas dasar metode penelitian yang digunakan penulis pada penelitian

untuk melakukan Reverse Engineering ini, maka dapat dibuat suatu alur kegiatan

serta metode kerja penelitian seperti yang digambarkan pada gambar 3.2 dibawah

ini :

Page 71: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Pemilihan awal penelitian

Merumuskan

masalah dan judul

penelitian

Studi Literatur atau pustaka

Identifikasi masalah / Problem domain

1. Analisa modul sistem yang berjalan

2. Identifikasi masalah

Analisa domain Expert

a.Analisis terhadap rekonstruksi artefak. analysis & desgn

b.Rekonstruksi artefak. Requirement Engineering

1. Memodelkan objek-objek kedalam diagram-diagram UML

a. Class diagram

b. Actvity diagram

c. Usecase diagra

d. Sequence diagram

e. Component diagram

f. Deployment diagram

2. Hasil prodek SRS

Analisa Source Code

a. Class diagram recovery

b.Activity diagram recovery

c.Use Case recovery

d.Component diagram recovery

Analisa Artefak Construction

a. Identifikasi actor / pengguna

b. Penentuan Use case Realization (UCR)

c. Mengenali Basic Flow

d. Mengenali Alternate Flow

e. Menganalisa Source Code sistem

Penarikan dan Penyusunan Kesimpulan

Gambar 3.2 : Kerangka kerja berpikir peneliti

(Diolah oleh peneliti, 2011)

Page 72: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

BAB IV

PEMBAHASAN

4.1. Sekilas Tentang Perpustakaan Utama UIN Syarif Hidayatullah Jakarta

Perpustakaan Utama UIN merupakan peralihan nama dari

Perpustakaan IAIN Jakarta, yang didirikan seiring dengan berdirinya IAIN

itu sendiri, yaitu sejak berdirinya ADIA (Akademi Dinas Ilmu Agama)

pada tanggal 1 Juni 1957. Pada waktu itu kondisi perpustakaan masih

sangat sederhana, hanya terdiri dari satu ruangan dengan koleksi sebanyak

2000 eksemplar, dan hanya dikelola oleh seorang pegawai.

Pada tahun 1960-1964 koleksi buku diklasifikasikan menurut DDC

(Dewey Decimal Classification). Di samping itu system peminjaman juga

sudah mulai tertib, dan jumlah pegawainya ada 4 orang.

Tahun 1964-1971 Perpustakaan IAIN banyak menerima

sumbangan buku dari berbagai lembaga, khususnya keduataan Mesir dan

Saudi Arabia, sehingga pada Januari 1969 jumlah koleksi menjadi 1.320

judul dan 10.999 eks buku, 23 skripsi, dan 310 eks majalah.

Selanjutnya, pada tahun 1971-1983 perpustakaan menempati ruang

yang lebih luas yaitu gedung Aula Madya saat ini. Pada tahun 1980

Perpustakaan IAIN Jakarta tercatat sebagai perpustakaan perguruan tinggi

terbaik se-DKI Jakarta.

Page 73: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Selanjutnya pada periode tahun 1984-1998 sempat pindah ke

gedung berlantai tiga di Kampus 2 di Jl. Kertamukti No. 5 Pisangan

Ciputat. Gedung tersebut saat ini menjadi Fakultas Psikologi.

Pada masa tahun 1998 hingga 2000 perpustakaan kembali pindah

ke kampus 1 menempati gedung baru yang dibangun di atas tanah eks

gedung Sanggar Pravitasari. Dengan demikian lokasi perpustakaan dan

kempus menjadi lebih dekat. Pada masa ini perpustakaan UIN Jakarta

mempeloporo berdirinya Serikat Kerja Sama Perpustakaan (SKP) yang

anggotanya terdiri dari seluruh perpustakaan IAIN dan STAIN di

Indonesia. Selanjutnya SKP ini diubah namanya menjadi Jarigan

Perpustakaan Perguruan Tinggi Islam (JPPTI) yang dideklarasikan di

Surabaya pada tahun 2003.

Seiring dengan bertambahnya jumlah fakultas, pada awal 1999

perpustakaan melakukan pengembangan dengan membuka layanan

perpustakaan disetiap fakultas yang ada di UIN Jakarta.

Tahun 2001 mulai melakukan perbaikan gedung dan

perlengkapannya penerapan system otomasi, penerapan system keamanan

koleksi dengan sensormatic, penambahan jenis layanan seperti warnet,

audio visual, dan lain sebagainya.

Seiring dengan berubahnya status IAIN menjadi UIN (SK Presiden

No. 31 tanggal 10 Mei 2002). Maka secara otomatis nama perpustakaan

Page 74: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

pun ikut berubah yaitu menjadi “Perpustakaan Utama Universitas Islam

Negeri Syarif Hidayatullah Jakarta “.

Awal 2004 American Corner (Amcor) hadir di perpustakaan UIN

Jakarta untuk turut mengembangkan layanan perpustakaan utama melalui

penyediaan informasi tentang Amerika dan materi-materi internasional

lainnya.

Mulai tahun 2006, Perpustakaan Utama memperoleh kepercayaan

dari the Asia Foundation untuk menerima 50.000 copy buku dan

mendistribusikannya ke UIN, IAIN, dan STAIN di seluruh Indonesia.

Tahun 2008 ini perpustakaan meningkatkan layanannya dengan

berupaya membangun jaringan perpustakaan utama dengan perpustakaan-

perpustakaan fakultas melalui integrasi system informasi dan digitalisasi

untuk koleksi-koleksi terpilih yang ada di perpustakaan utama.

Tahun 2009 Perpustakaan Utama telah memulai untuk menerapkan

sistem automasi yang baru dengan nama Tulis, kepanjangan dari

Technology of UIN Library & Information System”.

Pimpinan Perpustakaan sejak dari berdirinya sampai sekarang

adalah :

1. 1960-1964 oleh Drs. A. Syadali.

2. 1964-1971 oleh Ny. Nabilah Lubis.

Page 75: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

3. 1971-1983 oleh Ny. Dra. Hj. Halimah Madjid.

4. 1983-1984 oleh Drs. M. Kailani Eryono.

5. 1984-1998 oleh Drs Zaenal Arifin Toy, MLIS.

6. 1998-2000 oleh Drs. M. Djuhro S.

7. 2001-2006 oleh Dr H. Udjang Tholib, MA.

8. Desembaer 2006 sampai sekarang oleh Dr. M. Zuhdi, M.Ed.

(Zuhdi : 2009)

4.1.1 Visi dan Misi Perpustakaan Utama UIN Syarif Hidayatullah Jakarta

a. Visi

Perpusatakaan Utama UIN sebagai pusat informasi dan sumber

referensi terkemuka dalam berbagai ilmu pengetahuan terutama dalam

bidang kajian keislaman.

b. Misi

1. Menyediakan koleksi yang lengkap dalam bidang ke-islaman dan

bidang-bidang umum, sebagai pendukung kegiatan perkuliahan,

penelitian dan pengabdian kepada masyarakat.

Page 76: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. Menyediakan berbagai layanan yang tepat, akurat dan cepat dalam

rangka memenuhi kebutuhan informasi bagi seluruh sivitas akademika

UIN Jakarta.

3. Mengembangkan pemanfaatan perpustakaan secara efektif oleh

seluruh sivitas akademika dengan melaksanakan beberapa program

information literacy.

4. Mengembangkan layanan jarak jauh untuk seluruh sivitas akademika

UIN dan masyarakat diluar UIN.

5. Membangun kerjasama yang efektif dengan masyarakat kampus dan

institusi atau organisasi lain baik didalam maupun diluar negeri.

6. Mengembangkan kualitas SDM perpustakaan agar mampu

menjalankan profesinya sesuai perkembangan zaman.

7. Mengembangkan pengadaan dan pemanfaatan koleksi non cetak dan

perpustakaan online. (Zuhdi, dkk, 2009 :1)

4.1.2 Tujuan Perpustakaan Utama UIN Syarif Hidayatullah Jakarta

Secara umum tujuan Perpustakaan Utama UIN Jakarta adalah

mendukung keberhasilan semua aktivitas Tri Darma Perguruan Tinggi

yang berlangsung di UIN Jakarta baik dalam bidang pengajaran dan

pendidikan, penelitian maupun pengabdian pada masyarakat. (Zuhdi :

2009)

Page 77: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.1.3 Struktur Organisasi Perpustakaan Utama UIN Syarif Hidayatullah

Jakarta

REKTOR

Pembantu Rektor

Bidang Akademik

KEPALA

Dr. M. Zuhdi, M.Ed.

WAKIL KEPALA

Nutyudi, S.Ag., MLIS

SUBAG LAYANAN TEKNIS

Siti Maryam, S.Ag., M.HumSUBAG LAYANAN UMUM

Drs. H. Zainal Arifin, M. Pdi

SUBAG ADMINISTRASI PERPUSTAKAAN

Drs. H. Zainal Arifin, M.Pdl

PENGOLAHAN

1. Dra. Gustiati.

(Kaur)

2. Yarma, SIP

3. Asma Adam, BA

4. Nawawi

PENGADAAN &

PENGEMB. KOLEKSI

1. Ulfah Andayani,

S.Ag.,M.Hum.

(Kaur)

2. Heru Widodo, Amd

3. Risma

PEMELIHARAAN

1. Hj. Nilzamni

Lubis

(Kaur)

2. Muh. Salbani

3. Junaidi

4. Ahmad

PUSTAKAWAN &

PENGEMB. SDM

REFERENSI

1. H.Abdullah S.Ag

(Kaur)

2. Drs. Mawardi

Hasan

3. Nurhadi

SIRKULASI

1. Supiani , SIP

(Kaur)

2. Abbas Khaidir

3. Winda Istati

4. Lismawarni

Dewi

OTOMASI, ICT &

MULTIMEDIA

1. Kusaeri (Kaur)

2. A. Nur Soleh

3. Maryu Lisman

KERJASAMA &

LAYANAN

KHUSUS

1. Ulfah Andayani

(Pjs Kaur)

2. Rinto

NasutionP

ER

PU

ST

AK

AA

N

FA

KU

LT

AS

STAF

1. Juhaeriyah

2. Rusdi

3. Dakuri

4. Muniroh

5. Priyo Supriyadi

6. andi Wijaya

7. Lina Farida

Gambar 4.1 : Struktur Organisasi Perpustakaan Utama UIN

Page 78: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.2 Memahami Ranah Masalah (Problem Domain)

4.2.1 Analisa Sistem yang Berjalan

Berdasarkan pengamatan dan observasi yang dilakukan oleh

penulis, aplikasi perpustakaan TULIS UIN Syarif Hidaytullah Jakarta

yang sedang berjalan belum berfungsi secara efektif dan optimal.

Tabel 4.1 : Fitur Menu Back Office pada Aplikasi TULIS

No. Fitur Keterangan

1. Pengadaan

a. Purchase Order

b. Desiderata

c. Supplier

d. Finance

e. Daftar pemesanan

Mengelola data yang berkaitan

dengan proses pengadaan dari

koleksi-koleksi perpustakaan

2. Pengolahan

a. Tambah data

1. Edit data

2. Hapus data

b. Set field hasil cari

Mengolah data koleksi.

3. Keanggotaan

a. Daftar anggota

1. Tambah data anggota

2. Edit data anggota

3. Hapus data anggota

b. Set field hasil cari

Pengelolaan data-data dari

anggota perpustakaan

Page 79: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4. Sirkulasi

a. Peminjaman

b. Pengembalian

c. Cek koleksi

Mengelola keluar masuknya

koleksi pada perpustakaan

5. Administrasi

a. Sistem

1. Nama perpustakaan

2. Perpustakaan lain

3. Grup Pustakawan

4. Pustakawan

5. Manajemen web

6. Lihat saran

b. Koleksi

1. Konfigurasi koleksi

2. Daftar tipe koleksi

3. Tambah tipe koleksi

4. Field koleksi

5. Hubungan data

6. Index koleksi

7. Cetak data

8. Import koleksi

c. Anggota

1. Konfigurasi anggota

2. Field anggota

3. Grup anggota

4. Masa berlaku

Mengelola data yang berkaitan

dengan sistem administrasi dari

aplikasi perpustakaan itu sendiri.

Page 80: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

5. Import anggota

d. Sirkulasi

1. Aturan sirkulasi

2. Hari libur

6. Laporan

a. Koleksi dipinjam

b. Koleksi Hilang

c. Koleksi dikeluarkan

d. Chart koleksi

Mengelola data koleksi yang

kemudian dibuat dalam bentuk

laporan.

7. Laporan 2

a. 10 buku paling sering

b. 10 Peminjam terbanyak

c. Jumlah koleksi

d. Jumlah peminjam dan

koleksinya

e. Statistik denda bulanan

f. Statistik denda harian

g. Statistik denda tahunan

h. Statisttik input koleksi

i. Statistik input olah

j. Statistik peminjaman

k. Statistik pengunjung

l. Statistik pegunjung hari ini

m. Statistik pengunjung tahunan

Mengelola data yang

berhubungan dengan aktifitas

perpustakaan yang kemudian

dilaporkan dalam dalam kurun

waktu yang ditentukan.

8. User

a. Ganti password

b. Profil

Pengelolaan aktifitas dari user.

Page 81: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

c. Keluar

Tabel 4.2 : Fitur Menu OPAC pada Aplikasi TULIS

No. Fitur Keterangan

1. Login Masuk kedalam catalog sebagai

member

2. Jelajah Koleksi Mencari koleksi yang diinginkan

yang tersedia pada perpustakaan.

3. Favorit Menampilkan halaman koleksi

yang sering dicari oleh user.

4. Koleksi terbaru Halaman untuk melihat koleksi

terbaru dari peprpustakaan.

5. Daftar pinjam Mengecek daftar pinjaman

anggota perpustakaan

6. Pesan pinjam Form untuk memesan pinjaman

koleksi

7. Usulan koleksi Form untuk mengusulkan buku

(anggota melakukan penginputan

berupa judul,pengarang dan

penerbit dari koleksi yang

diinginkan)

8. Logout Keluar dari catalog

Page 82: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.2.2 Identifikasi Masalah

Dari observasi yang dilakukan penulis terhadap sistem dari aplikasi

perpustakaan TULIS pada Perpustakaan Utama UIN Syarif Hidayatullah

Jakarta, maka penulis dapat mengidentifikasi masalah-maslah yang terjadi

pada sistem yang sedang berjalan saat ini, antara lain adalah :

1. Aplikasi TULIS ini belum dapat berintegrasi dengan perpustakaan

yang ada pada setiap fakultas.

2. Proses peng inputan data baru anggota perpustakaan masih dilakukan

secara manual.

3. Ada kartu anggota yang tidak terdaftar pada daftar keanggotaan.

4. Perhitungan denda keterlambatan pengembalian sering mengalami

kesalahan.

5. Pembacaan barcode sering mengalami gangguan.

4.3 Analisis terhadap artefak construction

4.3.1 Indentifikasi Actor (pengguna)

Pada tahap identifikasi pengguna (actor) aplikasi TULIS

Perpustakaan Utama UIN Syarif Hidayatullah Jakarta merupakan hal yang

sangat penting karena actor merupakan sesuatu yang berinteraksi dengan

Page 83: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

sistem, atau dengan kata lain siapa atau apa yang menggunakan sistem

(Booch et. al., 1998)

Dalam ineteraksinya dengan sistem, actor melakukan interaksi

berupa mengirim atau menerima informasi dari sistem. Dari penjelasan ini

dapat dikatakan bahwa actor dapat bersifat aktif dengan melakukan inisiasi

Use case atau dapat juga bersifat pasif yang tidak menginisiasi Use case.

Aplikasi perpustakaan ini mempunyai beberapa actor yang mempunyai

akses secara langsung. Identifikasi actor dan hak akses aplikasi TULIS

dapat dilihat pada tabel dibawah ini :

Tabel 4.3 : Identifikasi Actor

No. Actor Deskripsi

1 Administrator Actor administrator mempunyai

hak access menu yang

diperbolehkan adalah sebagai

berikut :

1. Nama perpustakaan

2. Perpustakaan lain

3. Grup Pustakawan

4. Pustakawan

5. Manajemen web

6. Lihat saran

9. Konfigurasi koleksi

Page 84: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

10. Daftar tipe koleksi

11. Tambah tipe koleksi

12. Field koleksi

13. Hubungan data

14. Index koleksi

15. Cetak data

16. Import koleksi\

17. Konfigurasi anggota

18. Field anggota

19. Grup anggota

20. Masa berlaku

21. Import anggota

22. Aturan sirkulasi

23. Hari libur

2. Staff Input Data Actor staff nput data mempunyai

hak access menu yang

diperbolehkan adalah sebagai

berikut :

a. Tambah data

b. Hapus data

c. Edit data

d. Set field hasil cari

e. Daftar anggota

f. Koleksi dipinjam

g. Koleksi hilang

Page 85: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

h. Koleksi dikeluarkan

i. Chart koleksi

3. Staff Sirkulasi Actor staff sirkulasi mempunyai

hak access menu yang

diperbolehkan adalah sebagai

berikut :

a. Koleksi dipinjam

b. Koleksi hilang

c. Koleksi dikeluarkan

d. Chart koleksi

e. Peminjaman

f. Pengembalian

4. Staff Pemeliharaan Actor staff pemeliharaan

mempunyai hak access menu

yang diperbolehkan adalah

sebagai berikut :

a. Tambah data

b. Hapus data

c. Edit data

d. Set field hasil cari

5. Mahasiswa Actor mahasiswa mempunyai hak

access menu yang diperbolehkan

adalah sebagai berikut :

Page 86: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

a. Lihat koleksi terbaru

b. Jelajah Koleksi

c. Mengusulkan buku

4.3.2 Identifikasi interaksi actor dengan komputer

Identifikasi interaksi actor dengan komputer, yang bersifat end-to-

end. Setiap interaksi ini, merupaka sebuah Use case Realization (UCR). Use

case Realization (UCR) yaitu relasi Use case , sebuah relasi Use case yang

menggambarkan bagaimana sebuah Use case direlasikan dalam model

design.

1. Analisa Use case

Melihat bentuk Use case, baik dilihat dari keseluruhan proses

yang dilakukan dalam Use case. Dalam melakukan analisa Use case,

aspek yang perlu diperhatikan adalah dengan memperhatikan

kesamaan dalam hal semantiknya. Artinya dalam setiap Use case

memiliki nama yang berbeda, namun dalam esensial prosesnya

memiliki alur proses yang sama yang dilihat dari deskripsi singkat

pada setiap Use case nya. Pada tahapan ini, analisa dilakukan dari sisi

aplikasi yang sudah berjalan dan belum memandang dari sisi

informasinya yang memperhatikan proses secara manual analisa ini

dilakukan pada tahapan berikutnya.

Page 87: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. Kegiatan actor yang berhubungan dengan Aplikasi TULIS

Untuk membantu mendefinisikan fungsi-fungsi dalam proses

yang berhubungan dengan aplikasi TULIS, maka diperlukan

identifikasi kegiatan interaksi beberapa actor yang terlibat dalam

proses tersebut. Beberapa contoh bentuk kegiatan yang dilakukan oleh

beberapa actor yang terlibat dalam proses aplikasi TULIS.

a. Proses Registrasi Keanggotaan Perpustakaan

b. Proses Pengolahan Koleksi Perpustakaan

c. Proses Peminjaman dan Pengembalian Koleksi

Tabel 4.4 : Identifiksi Use case

No. Use case Name Use case decription Actor

1. Input Nama Perpustakaan Use case ini menjelaskan interaksi

yang menggambarkan proses

untuk memasukkan nama

perpustakaan

Admin

2. Input Koneksi

Perpustakaan lain

Use case ini menjelaskan interaksi

yang menggambarkan proses

memasukkan koneksi antara

perpustakaan

Admin

3. Edit node perpustakaan Use case ini menjelaskan interaksi

yang menggambarkan proses

untuk edit node perpustakaan

Admin

4. Hapus node perpustakaan Use case ini menjelaskan interaksi

yang menggambarkan proses

untuk hapus node perpustakaan

Admin

Page 88: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

5. Input User grup Use case ini menjelaskan interaksi

yang menggambarkan proses

penginputan dari user grup

Admin

6. Edit User Grup Use case ini menjelaskan interaksi

yang menggambarkan proses

pengeditan dari user grup

Admin

7. Input Pustakawan Use case ini menjelaskan interaksi

yang menggambarkan proses

penginputan dari pustakawan

Admin

8. Edit pustakawan Use case ini menjelaskan interaksi

yang menggambarkan proses

pengeditan dari user grup

Admin

9. Hapus pustakawan Use case ini menjelaskan interaksi

yang menggambarkan proses

hapus data pustakawan

Admin

10. Input konfigurasi koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

penginputan dari konfigurasi

koleksi

Admin

11. Hapus Tipe Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

menghapus tipe koleksi

Admin

12. Input Data anggota Use case ini menjelaskan interaksi

yang menggambarkan proses

penginputan data anggota

perpustakann

Admin,

Input data,

dan Bagian

Pengolahan

13. Edit Data Anggota Use case ini menjelaskan interaksi

yang menggambarkan proses

pengeditan data anggota

perpustakaan

Admin,

Input data,

dan Bagian

Pengolahan

14. Hapus Data anggota Use case ini menjelaskan interaksi

yang menggambarkan proses

menghapus data anggota

perpustakaan karena mahasiswa

tersebut sudah lulus

Admin,

Input data,

dan Bagian

Pengolahan

15. Input Data Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

penginputan data koleksi

Admin,

Input data,

dan Bagian

Page 89: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

perpustakaan Pengolahan

16. Edit Data Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

pengeditan data koleksi

perpustakaan

Admin,

Input data,

dan Bagian

Pengolahan

17. Hapus Data Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

menghapus data koleksi

perpustakaan karena koleksi

tersebut rusak atau hilang

Admin,

Input data,

dan Bagian

Pengolahan

18. Peminjaman Buku Use case ini menjelaskan interaksi

yang menggambarkan proses

peminjaman buku

Admin dan

Sirkulasi

19. Pengembalian buku Use case ini menjelaskan interaksi

yang menggambarkan proses

pengembalian Buku

Admin dan

Sirkulasi

20. Jelajah Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

penjelajahan koleksi yang ada di

perpustakaan

Mahasiswa

21. Usul Koleksi Use case ini menjelaskan interaksi

yang menggambarkan proses

pengusulan koleksi yang

diinginkan

Mahasiswa

22. Lihat Koleksi baru Use case ini menjelaskan interaksi

yang menggambarkan proses

melihat koleksi terbaru yang ada

di perpustakaan

Mahasiswa

4.3.3 Mengenali basic flow dan alternate flow

Page 90: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Untuk menghasilkan Use case scenario, bagian yang digunakan

adalah flow of events. Flow of event terdiri dari dua bagian, yaitu basic

flow dan alternate flow. Basic flow menggambarkan alur yang seharusnya

terjadi bila Use case berjalan dengan normal, sedangkan alternate flow

menggambarkan percabangan yang terjadi dari alur normal. Sebuah Use

case mmepunyai sebuah basic flow dan dapat tidak memiliki alternate

flow.

Basic flow (aliran normal) merupakan jantung dari sebuah Use

case. Serta dapat menjelaskan interaksi antara actor dan system dalam

kondisi normal., yaitu segala sesuatu berjalan dengan lanjcar, tiada

halangan atau hambatan dalam mencapai tujuan dari Use case.

Alternate flow merupakan pelengkap dari basic flow karena tidak

ada yang sempurna dalam setiap kali Use case berlangsung. Didalam

alternate flow ini dijelaskan apa yang akan terjadi bila suatu halangan atau

hambatan terjadi sewaktu Use case berlangsung. Hal ini berhubungan

dengan error yang mungkin terjadi pada proses sistem.

1. Analisa basic flow

Analisa basic flow masih melihat dari sisi aplikasinya dan mengacu

pada alur proses aplikasi secara logic (logical flow). Basic flow yang

melihat alur action data system response yang paling umum dan paling

sering muncul dari kasus yang ada dengan membuat tabulasi Use case.

2. Analisa proses precondition dalam postcondition

Page 91: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Pada tahapan ini sudah memperhatikan aspek dari sistem informasi

akademik dengan melihat proses yang harus dilakukan sebelum dan

sesudahnya, baik yang dilakukan secara manual maupun yang sudah

berinteraksi dengan sistem. Acuan dari tahapan ini adalah berdasarkan alur

proses secara logic (logical flow). Hal ini bisa menjelaskan proses detail

dari basic flow yang nantinya bisa dijadikan acuan dasar sebagai

kebutuhan sistem.

Setelah melakukan kedua analisa tersebut, maka penulis

mengidentifikasi set Use case commonality dari proses yang berkaitan

dengan aplikasi perpustakaan TULIS yang sedang berjalan. Dibawah ini

adalah hasil identifikaksi set Use case commonality :

Page 92: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.5 : Input Nama Perpustakaan

Basic Flow : Input Nama Perpustakaan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan nama

perpustakaan

Halaman form

untuk input

nama

perpustakaan

6 Sistem

menampilkan

menu form

nama

perpustakaan

7 Actor

melakukan

penginputan

nama

perpustakaan

8 Actor

melakukan

pilihan OK

Page 93: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9 Sistem

menampilkan

detail data yang

di inputkan oleh

actor

10 Sistem

mengupdate

database nama

perpustakaan

Alternate flows :1. Sistem akan otomatis menolak penginputan anggota jika nama

perpustakaan sudah ada atau tersimpan pada database. Maka dari itu actor harus merubah

nama perpustakaan tersebut.

Page 94: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.6. : Input Koneksi Perpustakaan Lain

Basic Flow : Input Koneksi Perpustakaan Lain

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

perpustakaan

lain

Halaman untuk

koneksi ke

perpustakaan

lain

6 Sistem

menampilkan

halaman

koneksi

perpustakaan

lain

Halaman form

koneksi

perpustakaan

lain

7 Actor

melakukan

penginputan

data koneksi

perpustakaan

Page 95: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Actor

melakukan

pilihan simpan

9 Sistem

menampilkan

detail data yang

di inputkan oleh

actor

10 Sistem

mengupdate

database

koneksi

perpustakaan

Alternate flows :

Sistem akan menolak jika ada kesamaan dari segi kode, nama perpustakaan dan

endpoint. Maka Actor harus merubah dengan cara mengedit data koneksi perpustakaan

tersebut.

Page 96: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.7 : Edit Node Perpustakaan

Basic Flow : Edit Node Perpustakaan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

perpustakaan

lain

Halaman untuk

daftar nama

perpustakaan

6 Sistem

menampilkan

daftar nama

perpustakaan

7 Actor

melakukan

pilihan edit

node

perpustakaan

Page 97: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman untuk

edit data

perpustakaan

8 Actor

melakukan

pengeditan

terhadap data

perpustakaan

9 Setelah data di

edit, actor

melakukan

pilihan simpan

Halaman detail

data

perpustakaan

10 Sistem

menampilkan

detail data yang

di inputkan oleh

actor

11 Sistem

mengupdate

database nama

perpustakaan

Alternate flows :

Page 98: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.8 : HapusNode Perpustakaan

Basic Flow : Hapus Node Perpustakaan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

perpustakaan

lain

Halaman daftar

nama

perpustkaan

6 Sistem

menampilkan

daftar nama

perpustakaan

7 Actor

melakukan

pilihan hapus

pada

perpustakaan

yang ingin

dihapus.

Page 99: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Sistem

menampilkan

peringatan

apakah benar

ingin

menghapus

node

perpustakaan

9 Actor

melakukan

pilihan OK

Halaman detail

daftar

perpustkaan

10 Sistem

menampilkan

detail daftar

perpustakaan

11 Sistem

mengupdate

database nama

perpustakaan

Alternate flows :

Page 100: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.9 : Input User Grup

Basic Flow : Input User Grup

Actor : Administrator,

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan grup

pustakawan

Halaman user

grup setup

6 Sistem

menampilkan

halaman user

grup setup

7 Actor

melakukan

penginputan

nama user grup

Page 101: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Actor

melakukan

pilihan hak

akses dari user

grup tersebut

9 Actor

melakukan

pilihan simpan

Halaman detail

data user grup

10 Sistem

menampilkan

detail dari data

user grup

11 Sistem

mengupdate

database user

grup

Alternate flows : Sistem akan menolak jika ada kesamaan dari segi inputandari nama

user group. Maka Actor harus merubah dengan cara mengedit data user group tersebut

dengan nama yang berbeda.

Page 102: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.10 : Edit User Grup

Basic Flow : Edit User Grup

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan grup

pustakawan

Halaman user

grup setup

6 Sistem

menampilkan

halaman user

grup setup

7 Actor

melakukan

pilihan edit

pada user grup

yang akan di

edit

Page 103: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman data

user grup

8 Sistem

menampilkan

data user grup

yang akan di

edit

9 Actor

melakukan

pengeditan

terhadap user

grup

10 Actor

melakukan

pilihan simpan

11 Sistem

menampilkan

detail dari data

user grup

12 Sistem

mengupdate

database

Alternate flows :

Page 104: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.11 : Input Pustakawan

Basic Flow : Input Pustakawan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

pustakawan

Halaman user

setup

6 Sistem

menampilkan

halaman user

setup

7 Actor

melakukan

penginputan

data pustakawan

8 Actor

melakukan

pilihan simpan

Page 105: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman detail

data pustakawan

9 Sistem

menampilkan

detail dari data

pustakawan

10 Sistem

mengupdate

database

Alternate flows :

Page 106: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.12 : Edit Pustakawan

Basic Flow : Edit Pustakawan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

pustakawan

Halaman

pustakawan

6 Sistem

menampilkan

halaman

pustakawan

7 Actor

melakukan

pilihan edit data

pustakawan

Halaman detail

data pustakawan

8 Sistem

menampilkan

data detail dari

pustakawan yang

ingin di edit

Page 107: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9 Actor

melakukan

pengeditan

terhadap data

pustakawan

10 Actor

melakukan

pilihan simpan

11 Sistem

melakukan

update database

12 Sistem

menampilkan list

data pustakawan

Alternate flows :

Page 108: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.13 : Hapus Pustakawan

Basic Flow : Hapus Pustakawan

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Sistem

5 Actor

melakukan

pilihan

pustakawan

Halaman

pustakawan

6 Sistem

menampilkan

halaman

pustakawan

7 Actor

melakukan

pilihan hapus

data pustakawan

Page 109: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Sistem

menampilkan

peringatan

apakah benar

akan mengahapus

data pustakawan

tersebut

9 Actor

melakukan

pilihan OK

10 Sistem

melakukan

update database

11 Sistem

menampilkan list

data pustakawan

Alternate flows :

Page 110: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.14 : Konfigurasi Koleksi

Basic Flow : Konfigurasi koleksi

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Koleksi

5 Actor

melakukan

pilihan

konfigurasi

koleksi

Halaman form

konfigurasi

koleksi

6 Sistem

menampilkan

form konfigurasi

koleksi

7 Actor

melakukan

penginputan tipe

koleksi

Page 111: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Actor

melakukan

penginputan

konfigurasi

koleksi

9 Actor

melakukan

pilihan simpan

10 Sistem

melakukan

update database

Alternate flows :

Page 112: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.15 : Hapus Tipe Koleksi

Basic Flow : Hapus Tipe koleksi

Actor : Administrator

Usernama : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Administrasi

4 Actor

melakukan

pilihan Koleksi

5 Actor

melakukan

pilihan daftar

tipe koleksi

Halaman tipe

koleksi

6 Sistem

menampilkan tipe

koleksi

7 Actor

melakukan

pilihan hapus

pada tipe

koleksi yang

ingin dihapus

Page 113: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Sistem

menampilkan

peringatan

apakah benar

akan menghapus

tipe koleksi

tersebut

9 Actor

melakukan

pilihan OK

10 Sistem

melakukan

update database

Alternate flows :

Page 114: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.16 : Input Data Anggota

Basic Flow : Input Data Anggota

Actor : Administrator, Staff input data

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Keanggotaan

4 Actor

melakukan

pilihan daftar

anggota

5 Sistem

menampilkan

menu perintah

6 Actor pilih

tambah data

Halaman form

input data

anggota

7 Sistem

menampilkan

form input data

anggota

8 Actor

melakukan

input data

anggota

9 Actor

melakukan

pilihan simpan

Page 115: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman detail

data anggota

10 Sistem

menampilkan

detail data yang

di inputkan oleh

actor

11 Sistem

mengupdate

database

anggota

Alternate flows : 1. Sistem akan otomatis menolak penginputan anggota jika ada form yang belum diisi. Maka actor harus melakukan penginputan secara benar.

Page 116: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.17 : Edit Data Anggota

Basic Flow : Input Data Anggota

Actor : Administrator, Staff input data

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Keanggotaan

4 Actor

melakukan

pilihan daftar

anggota

5 Sistem

menampilkan

menu perintah

Halaman input

data anggota

6 Actor

melakukan

penginputan

data anggota

7 Actor

mealakukan

pilihan cari

8 Sistem

menampilkan

data anggota

yang dicari

Page 117: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9 Actor

melakukan

pilihan data

detail

Halaman detail

data anggota

10 Sistem

menampilkan

data detail dari

anggota yang

akan di edit

11 Actor

melakukan

pengeditan

data anggota

12 Actor

melakukan

pilihan simpan

13 Sistem

mengupdate

database

anggota

Alternate flows : 1. Sistem akan otomatis menolak penginputan anggota jika ada form yang belum diisi. Maka actor harus melakukan penginputan secara benar.

Page 118: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.18 : Hapus Data Anggota

Basic Flow : Hapus Data Anggota

Actor : Administrator, Staff input data

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Keanggotaan

4 Actor

melakukan

pilihan daftar

anggota

5 Sistem

menampilkan

menu perintah

Halaman input

data anggota

6 Actor

melakukan

penginputan

data anggota

7 Actor

melakukan

pilihan cari

Halaman data

anggota

8 Sistem

menampilkan

data anggota

yang dicari

Page 119: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9 Actor

melakukan

pilihan hapus

data

10 Sistem

menampilkan

peringatan

apakah benar

akan

menghapus data

anggota tersebut

11 Actor

melakukan

pilihan OK

12 Sistem

mengupdate

database

anggota

Alternate flows :

Page 120: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.19 : Input Data Koleksi

Basic Flow : Input Data Koleksi

Actor : Administrator, Staff Pengolahan

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Pengolahan

4 Actor

melakukan

pilihan tambah

data

5 Sistem

menampilkan

form tambah

data

Halaman form

data koleksi

6 Actor

melakukan

penginputan

form data

koleksi

7 Actor

melakukan

pilihan simpan

Halaman detail

data koleksi

8 Sistem

menampilkan

detail data

koleksi yang di

inputkan oleh

actor

Page 121: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

9 Sistem

mengupdate

database koleksi

Alternate flows :

Page 122: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.20 : Edit Data Koleksi

Basic Flow : Edit Data Koleksi

Actor : Administrator, Staff Pengolahan

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Pengolahan

4 Actor

melakukan

pilihan tambah

data

5 Sistem

menampilkan

menu perintah

Halaman input

data koleksi

6 Actor

melakukan

penginputan

data koleksi

7 Actor

melakukan

pilihan cari

Page 123: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman data

koleksi

8 Sistem

menampilkan

data koleksi

yang dicari

9 Actor

melakukan

pilihan data

detail

10 Sistem

menampilkan

data detail dari

koleksi yang

akan di edit

11 Actor

melakukan

pengeditan

data koleksi

12 Actor

melakukan

pilihan simpan

13 Sistem

mengupdate

database

anggota

Alternate flows :

Page 124: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.21 : Hapus Data Koleksi

Basic Flow : Hapus Data Koleksi

Actor : Administrator, Staff Pengolahan

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi

terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Pengolahan

4 Actor

melakukan

pilihan tambah

data

5 Sistem

menampilkan

menu perintah

Halaman input

data koleksi

6 Actor

melakukan

penginputan

data koleksi

7 Actor

mealakukan

pilihan cari

Page 125: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Halaman data

koleksi yang

dicari

8 Sistem

menampilkan

data koleksi

yang dicari

9 Actor

melakukan

pilihan hapus

data

10 Sistem

menampilkan

peringatan

apakah benar

akan

menghapus data

koleksi tersebut

11 Actor

melakukan

pilihan OK

12 Sistem

mengupdate

database

anggota

Alternate flows :

Page 126: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Tabel 4.22 : Peminjaman Koleksi

Basic Flow : Peminjaman Koleksi

Actor : Administrator, Staff Sirkulasi

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Sirkulasi

4 Actor

melakukan

pilihan

peminjaman

Halaman form

peminjaman

5 Sistem

menampilkan

form

peminjaman

6 Actor

melakukan

penginputan

form

peminjaman

7 Actor

melakukan

pilihan tombol

pinjam

Page 127: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Sistem

mengupdate

database

peminjaman

Alternate flows :

Tabel 4.23 : Pengembalian Koleksi

Basic Flow : Pengembalian Koleksi

Actor : Administrator, Staff Sirkulasi

Username : Admin

Password : ****

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080/bo 2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan

Sirkulasi

4 Actor

melakukan

pilihan

pengembalian

Halaman form

pengembalian

5 Sistem

menampilkan

form

pengembalian

6 Actor

melakukan

penginputan

form

pengembalian

7 Actor

mealakukan

pilihan tombol

kembalikan

Page 128: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

8 Sistem

mengupdate

database

Alternate flows :

Tabel 4.24 : Jelajah Koleksi

Basic Flow : Jelajah Koleksi

Actor : Mahasiswa

Username : 09090005

Password : ********

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080 2 Sistem melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan jelajah

koleksi

4 Actor

melakukan

pilihan tipe

koleksi yang

ingin dilihat

Halaman data

koleksi

5 Sistem

menampilkan data

koleksi sesuai

dengan tipe

koleksi

Page 129: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

6 Actor

melakukan

pemilihan

terhadap judul

yang

diinginkan

7 Menampilkan

deskripsi lengkap

dari koleksi yang

dipilih

Alternate flows :

Tabel 4.25 : Usul Koleksi

Basic Flow : Usul Koleksi

Actor : Mahasiswa

Username : 09090005

Password : ********

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080 2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan usulan

koleksi

Halaman form

untuk usul

koleksi

4 Sistem

menampilkan

form usul koleksi

Page 130: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

5 Actor

melakukan

penginputan

form data

koleksi yang

diusulkan

6 Actor

melakukan

pilihan OK

7 Sistem

menyimpan data

yang diusulkan

kedalam database

Alternate flows :

Tabel 4.26 : Lihat Koleksi Terbaru

Basic Flow : Lhat Koleksi Terbaru

Actor : Mahasiswa

Username : 09090005

Password : ********

PreCondition Page Action PostCondition

Memanggil sistem Halaman Login 1 Actor input

username dan

password

http://localhost:8080 2 Sistem

melakukan

validasi terhadap

username dan

password

Halaman Home 3 Actor

melakukan

pilihan Koleksi

4 Sistem

menampilkan

data koleksi

Page 131: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

terbaru

5 Actor

melakukan

pilihan pada

data

koleksiyang

dicari

6 Sistem

menampilkan

data lengkap dari

koleksi terbaru

Alternate flows :

4.4 Analisa Source Code

Sebelum menganalisa modul lebih lanjut, diperlukan upaya untuk

menentukan modul-modul mana saja yang benar-benar digunakan oleh aplikasi

TULIS. Cara yang dapat dilakukan pada tahapan analisa source code ini bisa

dengan menganalisa struktur menu untuk mencari hubungan antar tiap-tiap sub

menu dan modul yang diaksesnya. Menu yang terdapat pada aplikasi dari tiap-tiap

sub menu ini bisa diketahui pemakaian akses modul melalui analisa source code

dan run time execution.

4.4.1 Class Diagram Recovery

Page 132: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Dalam tahapan ini, untuk memudahkan proses pendefinisian form / modul

yang terdapat didalam aplikasi dan method-method yang terdapat didalam tiap-

tiap form, digunakan alat bantu berupa perangkat lunak Eclipse Galileo. Perangkat

lunak ini merupakan environment yang digunakan dalam pembuatan aplkasi pada

penelitian ini, perangkat lunak ini juga memberikan effort yang penting dalam

membantu proses analisa karena kemampuannya untuk menggambarkan

hubungan relasi antara tiap-tiap modul dalam bentuk Class diagram secara

otomatis. Akan tetapi, relasi ini bisa terbentuk jika suatu atribut yang menjadi

referensi antara form atau modul dideklarasikan secara global.

Page 133: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS

Page 134: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 135: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 136: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 137: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 138: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 139: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.2 : Struktur Class Aplikasi TULIS (Lanjutan)

Page 140: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.4.2 Activity Diagram Recovery

Hasil dari tahapan ini adalah activity diagram yang dianalisa lewat source

code. Berikut adalah salah satu contoh untuk mengekstrak activity diagram.

Gambar 4.3 : Activity Diagram Input Data Anggota

Page 141: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.4.3 Use case Diagram Recovery

Activity diagram yang telah didefinisikan sebelumnya, sangat baik sebagai

review untuk melihat keseluruhan proses atau aktivtas yang terjadi didalam

sistem. Akan tetapi, berlandaskan dari activity diagram saja masih belum cukup,

karena menjelaskan ketentuan atau kondisi lain sebelum dan sesudah suatu proses

yang bersangkutan dieksekusi. Untuk itu kita perlu mendefinisikan suatu use case

sebagai view yang sangat informative. Hanya saja pada tahapan in yang akan

dianalisis adalah kondisi-kondisi apa saja yang memungkinkan pada saat sebelum

dan sesudah adanya relasi yang digunakan method dan berdasarkan parameter apa

relasi tersebut bisa berjalan.

Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai

dengan memperhatikan actor dan action atau aksi yang mereka lakukan dalam

sistem. Setiap use case menggambarkan suatu urutan interaksi anatara actor

dengan sistem. Sebuah use case harus memberikan sejumlah nila pada suatu

actor. Kmudian kebutuhan fungsional sistem dijelaskan dalam use case yang

merupakan suatu spesifikasi eksternal dari sebuah sistem.

Page 142: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.4.4 Component Diagram Recovery

Tahapan ini bertujuan menemukan komponen-komponen yang dijadikan

referensi oleh aplikasi baik pada saat pengembangan maupun pada saat

implementasi.

Pendekatan yang bisa dilakukan untuk mengenali komponen-komponen

yang dipakai. File-file yang tercipta pada saat kompilasi , termasuk diantaranya

file-file komponen yang dibutuhkan oleh aplikasi diluar framework.

4.5 Analisa Domain Expert

Pada tahapan ini, semua diagram yang sudah ditentukan lewat analisa

source code yang cenderung bersifat low-level representative akan dianalisa ulang

bersama domain expert untuk menghasilkan diagram yang lebih akurat dan

memiliki informasi yang bersifat high-level representative.

4.5.1 Analisa terhadap Rekonstruksi artefak Analysis & Design

Dengan dilakukan pendekatan bahwa sebuah UCR merupakan realisasi

dari sebuah Use case (UC), yang selanjutnya dikenal sebagai memiliki pemetaan

1 : 1. Sebuah realization merupakan hubungan semantic antara pengelompokkan

yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan di

antara interface dan kelas atau elements, serta antara use case dan collaboration.

Maka dapat disusun spesifikasi UC dengan lengkap.

Page 143: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.5.2 Rekonstruksi Artefak Requirement Engineering

1. Memodelkan objek-objek dan hubungan antara objek-objek

Untuk memodelkan objek-objek yang berhubungan antara objek akan

digambarkan dalam diagram-diagram UML, antara lain adalah :

a. Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan

desain berorientasi objek. Class menggambarkan keadaan suatu sistem,

sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut.

Class diagram menggambarkan struktur dan deskripsi Class,

package dan objek beserta hubungan satu sama lain seperti containment,

pewarisan, asosiasi, dan lain-lain.

Page 144: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.3 : Struktur Class Aplikasi TULIS

Page 145: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

b. Activity Diagram

Activity diagram menggambarkan alur kerja (work flow) sebuah

urutan aktivitas pada suatu proses. Diagram ini sangat mirip dengan

flowchart karena dengan activity diagram dapat memodelkan proses

logika, proses bisnis, dan alur kerja. Perbedaan utamanya adalah flowchart

dibuat untuk menggambarkan alur kerja dari sebuah sistem, sedangkan

activity diagram dibuat untuk menggambarkan aktivitas aktor.

Activity diagram merupakan state diagram khusus, dimana

sebagian besar atate adalah action dan sebagian besar transisi di trigger

oleh selesainya state sebelumnya (internal processing). Oleh karena itu

activity diagram tidak menggambarkan behaviour internal sebuah sistem

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur

aktivitas dari level atas secara umum. Di bawah ini adalah activity

diagram untuk masing-masing use case:

Page 146: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambat 4.5 : Activity Diagram input nama perpustakaan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif Hidayatullah

Jakarta melakukan login sebagai Admin. Setelah berhasil login, maka akan tampil

halaman home dari aplikasi TULIS. Admin memlih menu administrasi , dimana

pada maneu administrasi tersebut terdapat beberapa sub menu. Untuk melakukan

Input nama perpustakaan, admin kemudian memilih sub menu sistem yang

kemudian dilanjutkan dengan memilih nama perpustkaan. Setelah sistem

menampilkan halaman atau form input nama perpustakaan, admin mulai

melakukan input nama perpustakaan yang diakhiri dengan melakukan pilihan OK.

Sistem kemudian akan menyimpan data yang telah diinputkan.

Page 147: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.6 : Activity digram Input koneksi perpustakaan lain

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif Hidayatullah

Jakarta melakukan login sebagai Admin. Setelah berhasil login, maka akan tampil

halaman home dari aplikasi TULIS. Admin memlih menu administrasi , dimana

pada maneu administrasi tersebut terdapat beberapa sub menu. Untuk melakukan

Input nama perpustakaan, admin kemudian memilih sub menu sistem yang

kemudian dilanjutkan dengan memilih menu perpustakaan lain. Sistem akan

menampilkan halaman untuk koneksi perpustakaan. Admin lakukan peng inputan

nama perpustkaan dan kemudian klik tombol simpan. Data akan tersimpan ke

dalam database.

Page 148: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.7 : Activity diagram edit node perpustakaan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih perpustakaan lain. Sistem akan menampilkan daftar

perpustakaan. Klik edit pada baris nama perpustkaan yang akan di edit.

Setelah di edit kemudian klk tombol simpan. Data baru akan tersimpan

kedalam database.

Page 149: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.8 : Activity diagram hapus node perpustakaan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih perpustakaan lain. Sistem akan menampilkan daftar

perpustakaan. Klik hapus pada baris nama perpustkaan yang akan di

hapus. Sistem akan menampilkan peringan apakah yakin akan menghapus.

Page 150: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.9 : Activity digram input user grup

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih grup pustakawan. Sistem akan menampilkan halaman dari

user grup setup. Admin melakukan input data user grup. Kemudian klik

tombol hak akses dan terakhr klik tombol simpan. Dtaa akan tersimpan

kedalam database.

Page 151: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.10 : Activity diagram edit user grup

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih grup pustakawan. Sistem akan menampilkan halaman dari

user grup setup. Klik edit pada user grup yang akan di edit. Kemudian

admin melakukan edit data user grup. Setelah itu klik tombol simpan, Data

yang baru akan tersimpan ke database.

Page 152: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.11 : Activity diagram Input pustakawan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih pustakawan. Sistem akan menampilkan halaman dari

pustakawan. Lakukan input pada form yang sudah tersedia. Klik tombol

simpan. Data pustakawan akan tersimpan.

Page 153: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.12 : Activity diagram untuk Edit pustakawan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada maneu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih pustakawan. Sistem akan menampilkan halaman

pustakawan. Klik edt pada pustakawan yang akan di edit. Edit data

pustakawan. Klik tombol simpan. Data pustakawan yang baru akan

tersimpan.

Page 154: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.13 : Activity diagram untuk Hapus Pustakawan

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif

Hidayatullah Jakarta melakukan login sebagai Admin. Setelah berhasil

login, maka akan tampil halaman home dari aplikasi TULIS. Admin

memlih menu administrasi , dimana pada manu administrasi tersebut

terdapat beberapa sub menu. Untuk melakukan Input nama perpustakaan,

admin kemudian memilih sub menu sistem yang kemudian dilanjutkan

dengan memilih pustakawan. Sistem akan menampilkan halaman

pustakawan. Klik hapus pada pustakawan yang akan di hapus. Data

pustakawan akan terhapus dar daftar nama putakawan.

Page 155: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.14 : Activity diagram untuk Input Konfigurasi koleksi

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif Hidayatullah

Jakarta melakukan login sebagai Admin. Setelah berhasil login, maka akan tampil

halaman home dari aplikasi TULIS. Admin memlih menu administrasi , kemudian

pilih menu koleksi dan konfigurasi koleksi. Sistem akan menampilkan form untuk

input konfigurasi. Admin melakukan input tipe koleksi dan konfigurasi koleksi.

Setelah proses peng inputan, klik tombol simpan. Data akan tersimpan pada

database.

Page 156: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.15 : Activity diagram untuk Hapus tipe Koleksi

Admin dari aplikasi TULIS pada perpustakaan utama UIN Syarif Hidayatullah

Jakarta melakukan login sebagai Admin. Setelah berhasil login, maka akan tampil

halaman home dari aplikasi TULIS. Admin memlih menu administrasi , kemudian

pilih menu koleksi. Pilih daftar tipe koleksi. Sistem akan menampilkan tipe

koleksi. Klik tombol hapus pada tipe koleksi yang ingin dihapus. Setelah itu klik

OK. Data akan terhapus.

Page 157: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.16 : Activity diagram input data anggota

Actor yang memliki akses terhadap prose input data angota adalah admin, staff

input data, dan staff pengolahan. Stelah proses login, pilih menu keanggotaan.

Pilih daftar anggota dan tambah data. Sistem akan menampilkan form untuk input

data anggota. Setelah form terisi, klik tombol simpan dan data anggota baru akan

tersimpan kedalam database.

Page 158: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.17 : Activity diagram untuk Edit data anggota

Actor yang memliki akses terhadap data angota adalah admin, staff input data,

dan staff pengolahan. Stelah proses login, pilih menu keanggotaan. Pilih daftar

anggota. Dan pilih input data anggota. Klik tombol car. Sistem akan menampilkan

data anggota yang dicari. Klik menu perintah data detail. Stelah form data detail

muncul, baru data bisa di edit. Setelah dilakukan peng editan, klik tombol simpan.

Data anggota akan tersimpan.

Page 159: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.18 : Activity diagram untuk Hapus data anggota

Actor yang memliki akses terhadap data angota adalah admin, staff input data,

dan staff pengolahan. Stelah proses login, pilih menu keanggotaan. Pilih daftar

anggota. Dan pilih input data anggota. Klik tombol car. Sistem akan menampilkan

data anggota yang dicari. Setelah tampil data yang dicari, klik tombol hapus data.

Klik OK. Dan data akan terhapus.

Page 160: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.19 : Activity diagram untuk Input Data koleksi

Actor yang memliki akses terhadap data koleksi adalah admin, staff input data,

dan staff pengolahan. Stelah proses login, pilih menu pengolahan. Pilih menu

tambah data. Sistem akan menampilkan form tambah koleksi. Input data koleksi

dan kemudian klik tombol simpan. Data koleksi yang bau akan tersimpan di

dalam database.

Page 161: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.20: Activity diagram untuk Edit data koleksi

Actor yang memliki akses terhadap data koleksi adalah admin, staff input data,

dan staff pengolahan. Stelah proses login, pilih menu keanggotaan. Pilih daftar

anggota. Dan pilih input data koleksi. Klik tombol cari. Sistem akan menampilkan

data koleksi yang dicari. Klik menu perintah data detail. Stelah form data detail

muncul, baru data bisa di edit. Setelah dilakukan peng editan, klik tombol simpan.

Data koleksi akan tersimpan.

Page 162: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.21 : Activity diagram untuk Hapus data koleksi

Actor yang memliki akses terhadap data koleksi adalah admin, staff input data,

dan staff pengolahan. Stelah proses login, pilih menu pengolahan. Pilih menu

tambah data. Klik tombol cari. Sistem akan menampilkan data koleksi yang dicari.

Setelah tampil data yang dicari, klik tombol hapus data. Klik OK. Dan data akan

terhapus.

Page 163: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.22 : Activity digram untuk Input peminjaman buku

Actor yang memliki akses terhadap aktivitas sirkulasi koleksi adalah admin dan

staff sirkulasi. Setelah melakukan login, pilih menu sirkulasi. Kemudian pilih

menu peminjaman. Sistem akan menampilkan form peminjaman koleksi. Input

form peminjaman lalu klik tombol pinjam. Data peminjaman akan tersimpan ke

dalam database.

Page 164: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.23 : Activity diagram untuk Pengembalian buku

Actor yang memliki akses terhadap aktivitas sirkulasi koleksi adalah admin dan

staff sirkulasi. Setelah melakukan login, pilih menu sirkulasi. Kemudian pilih

menu pengembalian. Sistem akan menampilkan form pengembalian koleksi. Input

form pengembalian lalu klik tombol kembalikan. Data peminjaman akan terhapus

dari dalam database.

Page 165: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.24 : Activity diagram untuk jelajah koleksi

User yang merupakan mahasiswa, melakukan login sebagai mahasiswa.

Setelah berhasil login, mahasiswa memilih menu jelajah koleksi.

Mahasiswa memilih tipe koleksi yang ingn dilihat. Sistem akan

menampilkan data koleksi sesuai dengan yang diinginkan user. Klik judul

yang diinginkan. Sistem akan menampilkan deskripsi lengkap dari koleksi

tersebut.

Page 166: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.25: Activity diagram untuk Usul Koleksi

User yang merupakan mahasiswa, melakukan login sebagai mahasiswa.

Setelah berhasil login, mahasiswa memilih menu usulan koleksi, SIstem

akan menampilkan form usul koleksi. Mahasiswa harus meng input judul

pengarang dan penerbit dari koleksi yang diusulkan. Kemudian klik OK.

Data usulan akan tersimpan.

Page 167: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.26 : Activity diagram untuk Lihat Koleksi terbaru

User yang merupakan mahasiswa, melakukan login sebagai mahasiswa. Setelah

berhasil login, mahasiswa memilih menu koleksi. Sistem akan menampilkan data

koleksi terbaru. Mahasiswa melakukan klik dari koleksi yang diinginkan. Sistem

akan menampilkan deskripsi lengkap bibliografi dari koleksi tersebut.

Page 168: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

c. Use case Diagram

Use case Diagram digunakan untuk menjelaskan apa yang akan dilakukan

oleh sistem serta aktor-aktor yang akan berhubungan dengan proses-proses yang

ada pada sistem. Usecase sangat diperlukan untuk kebutuhan dokumentasi dan

arah pengembangan selanjutnya. Format Use case sebaiknya dibuat sesederhan

mungkin, karena Use case bisa dijadikan sebagai sarana komunikasi antara pihak

pengembang dan pihak pemakai sistem dibandingkan dengan diagram UML yang

lainnya yang membutuhkan pemahaman notasi UML untuk mengerti maksud

diagram tersebut.

Gambar 4.27 : Use case diagram Admin

Page 169: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.28 : Use case diagram Admin, Input Data, dan Pengolahan

Gambar 4.29 : Use case diagram untuk Admin dan Sirkulasi

Page 170: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.30 : Usecase diagram mahasiswa

Page 171: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

d. Sequence diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan

sekitar objek (termasuk pengguna, display, dan sebagainya) berupa message yang

digambarkan terhadap waktu.

Gambar 4.31: Sequence diagram untuk Input nama Perpustakaan

Page 172: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.32 : Sequence diagram untuk Koneksi Perpustakaan

Page 173: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.33 : Sequence diagram untuk User Group

Page 174: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.34 : Sequence diagram untuk Pustakawan

Page 175: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.35 : Sequence diagram untuk konfigurasi koleksi

Page 176: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.36 : Sequence diagram hapus tipe koleksi

Page 177: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.37 : Sequence diagram untuk data anggota

Page 178: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.38 : Sequence diagram untuk data koleksi

Page 179: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.39 : Sequence diagram peminjaman

Page 180: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.40 : Sequence diagram Pengembalian

Page 181: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.41 : Sequence diagram Jelajah Koleksi

Page 182: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.42 : Sequence diagram Usul Koleksi Buku

Page 183: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.43 : Sequence diagram Lihat Koleksi

Page 184: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

e. Component Diagram

Component diagram menggambarkan struktur dan hubungan antar

komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.

Komponen piranti lunak adalah modul berisi code, baik berisi source code

maupun binary code, baik library maupun executable, baik yang muncul pada

compile time, link time, maupun run time. Umumnya komponen terbentuk dari

beberapa Class dan, atau package, tapi dapat juga dari komponen-komponen

yang lebih kecil.

Gambar 4.44 : Component Diagram TULIS

Page 185: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Pada aplikasi TULIS ini Active Server Pages (ASP) digunakan untuk

menampilkan informasi yang tersimpan dalam suatu database ke halaman web.

Dengan demikian sebuah halaman web dapat tampil secara interaktif.

f. Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana

komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak

(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada

lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik. Sebuah node

adalah server, workstation, atau piranti keras lain yang digunakan untuk men-

deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya

TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Gambar 4.45 : Deployment Dagram TULIS

Page 186: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

ActiveX Control pada gambar diatas adalah sebuah kerangka kerja untuk

mendefinisikan perangkat lunak dapat digunakan kembali komponen yang

melakukan fungsi tertentu atau satu set fungsi.

Beberapa contoh ActiveX yang digunakan dalam sistem ini adalah :

1. DateTimePicker Control

Digunakan untuk menampilkan tanggal pada aplikasi dengan tampilan

kalender yang mudah dinavihgasikan.

2. ProgressBar Control

Digunakan utnuk menghindari tampilan yang monoton.

3. DataGrid Control

Untuk work station nya, Perpustakaan Utama UIN Syarif Hidayatullah Jakarta

memiliki 1 server yang berada pada lantai 1 pada ruang Otomasi, ICT dan

multimedia. Sedangkan untuk clientnya, ada 6 buah komputer yang diletakkan di

lantai 2 dan lantai 3, sehingga masing-masing lantai memiliki 3 buah komputer

catalog yang dapat digunakan oleh para pengunjung perpustakaan untuk melihat

catalog perpustakaan utama UIN Syarif Hidayatullah Jakarta.

Page 187: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Berikut adalah Gambaran Work Station Perpustakaan Utama UIN Syarif

Hidayatullah Jakarta

Server

Berada pada lantai 1

Perpustakaan Utama UIN Syarif Hidayatullah Jakarta

Komputer Katalog 1 Komputer Katalog 2 Komputer Katalog 3

Komputer Katalog 4 Komputer Katalog 5r Komputer Katalog 6

Pengunjung Perpustakaan

Pengunjung PerpustakaanPengunjung PerpustakaanPengunjung Perpustakaan

Pengunjung PerpustakaanPengunjung Perpustakaan

Komputer Katalog

Pada Lantai 2

Perpustakaan Utama UIN

Komputer Katalog

Pada Lantai 3

Perpustakaan Utama UIN

Gambar 4.46 : Work station perpustakaan utama UIN Syarif Hidayatullah Jakarta

Page 188: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

4.5.3 Software Requirement Specification

Hasil akhir dari tahapan reverse engineering aplikasi TULIS ini berupa

Software Requirement Specification (SRS) yang akan dibutuhkan oleh

pengembang aplikasi sebagai software customer ( Untuk mendapatkan kebutuhan

perangkat lunak ) dan software supplier (mengerti keinginan customer). Software

Requirement Specification merupakan sarana utama persetujuan antara developer

dan customer apa yang mereka dirikan. Ini merupakan dokumen yang ditinjau

oleh customer atau wakilnya dan selalu menjadi dasar untuk menyelesaikan

kewajibannya (developer). Software Requirement Specification merupakan catatan

hasil dari permasalahn analisa. Software Requirement Specification

mendefinisikan sifat dari sistem yang harus ada dan merupakan pembatas sistem

serta implementasinya.

Software Requirement Specification merupakan basis dari estimasi biaya

dan penjadwalan kapan sistem tersebut selesai. Software Requirement

Specification merupakan basis untuk perencanaan test development. Software

Requirement Specification menyediakan standart definisi untuk perawatan dan

merupakan catatan yang digunakan untuk perubahan teknik. Pada laporan

penelitian ini, penulis melampirkan Software Requirement Specification dari

aplikasi TULIS yang akan dikembangkan.

Page 189: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

BAB V

KESIMPULAN DAN SARAN

Dilakukannya Reverse Engineering dari aplikasi TULIS pada

perpustakaan utama UIN Syarif Hidayatullah ini diharapkan dapat mengetahui

dan menemukan solusi dari permasalahan-permasalahan yang berhubungan

dengan aplikasi TULIS dan aktifitas pada Perpustakaan Utama UIN Syarif

Hidayatullah Jakarta.

Setelah melakukan serangkaian penelitian, maka pada bab ini penulis akan

menguraikan kesimpulan dan saran yang dapat diambil dari rangkaian penelitian

tersebut. Saran yang diberikan diharapkan dapat bermanfaat bagi pihak-pihak

yang akan melanjutkan pengembangan penelitian ini.

5.1. Kesimpulan

Dari penelitian dan penulis yang telah penulis uraikan, maka dapat

ditarik kesimpulan sebagai berikut:

1. Kelemahan dari Sistem Perpustakaan TULIS pada perpustakaan Utama

UIN Syarif Hidayatullah Jakarta yang telah berjalanadalah tidak adanya

dokumentasi pendukung bagi pengembang.

2. Metode Reverse Engineering untuk mendapatkan dokumentasi sistem

berupa SRS (Software Requirement Specification) yang dinyatakan dalam

diagram-diagram baku UML (Unified Modelling Language).

Page 190: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

5.2. Saran

Sistem ini tentu saja masih belum sempurna. Masih banyak hal yang

dapat dilakukan untuk mengembangkan sistem ini agar menjadi lebih baik

lagi, antara lain:

1. Pengembangan juga dapat dilakukan dengan melakukan integrasi antara

aplikasi perpustakaan dari setiap fakultas.

2. Pembuatan SRS (Software Requirement Specification) yang lebih baik dari

aplikasi TULIS tersebut.

Page 191: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

DAFTAR PUSTAKA

Ariawan. 2007. Reverse Engineering dan pendokumentasian sistem pengenalan

ucapan. ITB : Skripsi tidak diterbitkan.

Budiardjo, romindon. 2009. Metoda Rekayasa Balik Perangkat Lunak Melalui

Analisa Program Sumber dan Opini Domain Expert.

Dharwiyanti, Sri. 2003. “Pengantar Unified Modelling Language (UML)”, Ilmu

Komputer.

E. Chikofsky, J. Cross, 1990. Reverse Engineering and design recovery : A

taxonomy, IEEE Software.

Hariyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Bandung :

Informatika

Jeni. 2008. “Java Framework”.

Kadir, Abdul. 2004. Dasar Pemrograman Web Dinamis dengan JSP (Java Server

Pages). Yogyakarta: Andi.

Kadir, Abdul. 2005. Dasar Pemrograman Java 2. Yogyakarta: Andi.

Kusmayadi. Eka dan Andriaty. Etty. 2006. Kajian On-line Public Access

Catalogue (OPAC) Dalam Pelayanan Perpustakaan dan Penyebaran

Teknologi Pertanian. Jurnal Perpustakaan Pertanian Vol. 15, Nomor 2.

Page 192: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Nugroho, Adi. 2009. Rekayasa perangkat lunak menggunakan UML dan JAVA.

Yogyakarta : Andi Offset

Pressman, Roger. 2010. Software Engineering : A practitioner’s Approach,

Seventh Edition International Edition. Singapore : McGraw-Hill

Rickyanto, Isak. 2002. Belajar Sendiri Java Server Pages. Jakarta: PT. Elex

Media Komputindo.

Romidon, Fadli. 2009. Pengembangan metoda Reverse Engineering untuk

rekonstruksi dokumen arsitektur perangkat lunak. Universtas Indonesia :

tesis tidak dterbitkan.

Silitonga. 2010. Sistem Multiprogram Dengan Memori Maya Sistem Paging,

Segmentasi dan Kombinasi Paging dan Segmentasi.

Soeatmina. 2002. Perpustakaan.

Sofy, Nelly. 2009. Re-engineering.

Sonhaji, dkk. 2010. Rekayasa Ulang (Re-engineering).

Whitten L, Jeffrey. 2007. System Analysis and Design Methods E. 7th.

Yogyakarta: McGraw-Hill.

Zuhdi, dkk. 2009. Perpustakaan Utama UIN Syarif Hidayatullah Jakarta.

Page 193: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

SOFTWARE REQUIREMENTS SPECIFICATION (SRS)

1. Introduction

Dokumentasi ini akan berisi Software Requirement Specification

(SRS) atau Spesifikasi kebutuhan perangkat lunak (SKPL) untuk Aplikasi

Perpustakaan TULIS pada perpustakaan utama UIN Syarif Hidayatullah

Jakarta.

1.1 Purpose

Tujuan dari pembuatan dokumen ini adalah untuk member penjelasan

secara detail mengenai Aplikasi TULIS pada perpustakaan utama UIN

Syarif Hidayatullah Jakarta. Dokumen ini berisi tujuan dari fiur-fitur

aplikasi, antar muka aplikasi, apa yang dilakukan aplikasi, batasan-

batasan operasional aplikas dan bagaimana aplikasi akan merespon

rangsangan dari luar.

1.2 Scope

Aplikasi perangkat lunak (software) adalah Aplikasi perpustakaan

TULIS UIN Syarif Hidayatullah Jakarta. Aplikasi ini di desain untuk

memaksimalkan efisiensi kerja dan produktivitas dari pengembang

dalam pengembangan aplikasi perpustakaan TULIS ini.

1.3 Definitions, Acronyms, and Abbreviations

Page 194: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

a. SKPL : Spesifikasi kebutuhan perangkat luna, yaitu sebuah

dokumen yang menjelaskan secara lengkap semua fungsi dari

aplikasi yang dibuat beserta batasan-batasannya.

b. Stakeholder : Semua orang yang berhubungan dengan proyek

c. User : Pihak Pengembang

d. Update : Mengganti sebagaian atau seluruhnya sebuah data

yang diinginkan.

e. Input : Pemasukan data-data yang nantinya akan diolah

menjadi informasi yang dibutuhkan.

f. Informasi : Kumpulan dari beberapa data fakta mentah yang

diproses untuk memenuhi kebutuhan user.

g. Database : Kumpulan data yang berhubungan dan

dikelompokkan dalam struktur tertentu dan dapat diakses dengan

cepat.

h. Hak akses : Hak yang dimliki oleh user untuk menggunakan

system.

i. Pemeliharaan : Proses pengecekan dan perbaikan berkasla untuk

menjaga sistem dengan baik.

1.4 References

Sistematika spesifikasi kebutuhan perangkat lunak yang

diinginkan ini adalah sistematika yang digunakan oleh Fakultas Sains

dan Teknologi UIN Syarif Hidayatullah Jakarta. Selain itu, acuan

Page 195: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

yang lain yang digunakan adalah IEEE : IEEE Std 830-1998

Recommended Practice for Software Requirement Specfication.

1.5 Overview

Dokumen ini juga menjelaskan use case dari aplikasi perpustakaan

TULIS secara global, asumsi dalam pengembangan, kebutuhan

spesifik dan kebutuhan tambahan.

2. Overall Description

Sistem aplikasi perpustakaan TULIS pada perpustakaanutma UIN

Syarif Hidayatullah Jakarta adlah perangkat lunak yang digunakan

untuk mempermudah user dalam melakukan proses yang berkaitan

dengan sistem keperpustakaan, sehingga aplikasi tesebut dapat

berfungsi secara optimal sesua dengan kebutuhan.

Perangkat lunak ini dapat dijalankan oleh server pada

lingkungan sstem operasi Linux dan Windows. Dibangun dengan

menggunakan bahasa pemrograman Java dan MySQL.

Page 196: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar : Gambaran umum sbatrak proses perangkat lunak aplikasi

TULIS

2.1 Spesifikasi Kebutuhan Fungsional

Adapun fungsi-fungsi yang dimiliki oleh perangkat lunak ini adalah :

1. Memproses dan menyimpan data atau informasi yang berkaitan

dengan proses keperpustakaan.

2. Memberikan kecepatan dan kemudahan kepada user terutama

mahasiswa dalam hal mencari buku dan informasi.

3. Terdiri dari berabgai sub sistem yang saling mendukung.

4. Manual atau sistem berbasi komputer.

5. Mengupdate data-data koleksi setiap ada perubahan.

Page 197: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2.2 Use Case Model Survey

Fungs dasar perangkat lunak apliaksi perpustakaan TULIS yang telah

dijelaskan pada sub bagian spesifikasi kebutuhan fungsional dapat

digambarkan dalam diagram use case untuk requirement sebagai

verikut :

Gambar 4.26 : Use Case diagram Admin

Page 198: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.27 : Use Case diagram Admin, Input Data, dan Pengolahan

Gambar 4.28 : Use Case diagram untuk Admin dan Sirkulasi

Page 199: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Gambar 4.29 : Usecase diagram mahasiswa

2.3 Karakteristik Pengguna

Pengguna perangkat lunak aplikasi TULIS adalah mahasiswa,

admin, bagIan sirkulasi, bagian input data, bagian pengolahan data.

Dimana pada masing-masing pengguna yang berinteraksi dengan

sistem dihubungkan dengan hak akses dan level autentifikasi

dengan kebutuhan dan aturan yang terdapat pada aplikasi TULIS.

Aplikasi perpustakaan TULIS ini bersifat client – server.

2.4 Batasan-batasan

Batasan yang digunakan pada pegembangan perangkat lunak ini adalah

:

1. Data koleksi yang dimasukkan adalah data-data yang telah dicek

kebenarannya.

Page 200: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. Perbakan atau perubahan data hanya dapat dilakukan oleh admin

ukan client.

3. Pengguna mempunyai batsan hak akses yang sudah ditentukan oleh

super user.

3. Deskripsi Rinci Kebutuhan

3.1 Kebutuhan antar muka eksternal

Aplikasi TULIS ini dlengkapi dengan menu untuk pengaksesan

berbagai fungsi yang disediakan. Nteraksi antara pengguna dan

perangkat lunak dilakukan dengan menggunakan keyboard dan

mouse. Ada beberapa fungsi yang hanya bisa dilakukan dengan

mouse dan ada yang bisa dilakukan baik dengan keyboard dan

mouse.

3.2 Antar muka perangkat keras

Kebutuhan minimum perangkat keras yang dapat digunakan adalah :

1. PC IBM Compatible dengan memory 128 MB

2. Monitor VGA yang dpat menampilkan resolusi minimal 800 x 600

pixel

3. Keyboard dan mouse untuk interaksi antara pengguna dengan

sistem

Semua perangkat keras yang digunakan merupakan perangkat standar

dalam sistem computer dan menggunakan port standar yang ada.

Page 201: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

3.3 Antar muka perangkat lunak

Perangkat lunak yang diperlukan adalah :

1. Sistem operasi Windows

2. Sistem operasi Linux

3. Browser Internet

3.4 Antar muka komunikasi

Yang dibutuhkan sebagai sarana antar muka komunikasi hanyalah

sebuah komputer server dan satu atau beberapa komputer client

yang terhubung secara client server.

Page 202: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

1. Struktur navigasi Home Katalog Perpustakaan Utama UIN Jakarta

Keterangan :

No Menu User Fungsi

1. Jelajah Koleksi Mahasiswa dan

pengunjung

lainnya (dosen

dan pengunjung

dari luar

kampus).

Untuk mencari koleksi apa saja

yang ada pada Perpustakaan

Utama UIN Syarif Hidayatullah.

Koleksinya berupa :

a. Buku

b. Skripsi

c. Tesis

d. Disertasi

e. Laporan Peneltian

f. Majalah

2. Favorite Mahasiswa dan

pengunjung

lainnya (dosen

dan pengunjung

dari luar

kampus).

Untuk mengetahui koleksi apa

saja yang paling dicari oleh para

pengunjung Perpustakaan

Utama UIN Syarif Hidayatullah.

HOME

JELAJAH

KOLEKSI

FAVORITE KOLEKSI

TERBARU

LOGIN

Page 203: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

3. Koleksi terbaru Mahasiswa dan

pengunjung

lainnya (dosen

dan pengunjung

dari luar

kampus).

Untuk mengetahui koleksi

terbaru yang ada pada

Perpustakaan Utama UIN Syarif

Hidayatullah.

4. Login Anggota

Perpustakaan

Proses login disini hanya dapat

dilakukan oleh anggota

perpustakaan utama UIN Syarif

Hidayatullah yang sudah

memiliki kartu keanggotaan.

Hal ini dikarenakan username

dan password hanya diberikan

kepada anggota Perpustakaan

Utama UIN Syarif Hidayatullah.

Page 204: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. Struktur navigasi Back Office Aplikasi TULIS

HOME

Pengadaan Pengolahan Keangotaan Sirkulasi Administrasi Laporan Laporan 2 User

Purchase order

Daftar

pemesanan

Finance

Suplier

Desiderata

Receiving

material

Tambah data

Set field hasil

cari

Koleksi

dipinjam

Daftar

anggota

Set field hasil

cari

Chart

sirkulasi

Cek koleksi

Pengembalia

n

Peminjaman

Koleksi

hilang

Koleksi

dikeluarkanKeluar

Profil

Ganti

password

Koleksi

Sistem

Sirkulasi

Anggota

10 buku

paling sering

Statistik

peminjaman

Statistik

pengunjung

Statistik

input olah

Statistik

input koleksi

Statstik

denda

tahunan

Statistk

denda harian

Statistik

denda

bulanan

Jumlah

peminjaman

Jumlah

koleksi

10 peminjam

terbanyak

Page 205: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Keterangan :

No Menu User Fungsi

1. Pengadaan Administrator,

Staff Input data

User dapat melakukan kegiatan

yang berhubungan dengan

pengadaan koleksi, yaitu

berupa:

a. Purchase order

Untuk melakukan order

koleksi.

b. Receiving material

Untuk melihat data

koleksi yang telah di

order.

c. Desiderata

Untuk melihat status dari

koleksi yang telah

disorder.

d. Suplier

Untuk melihat data dari

supplier koleksi.

e. Finance

Untuk melihat data yang

berkaitan dengan

kegiatan finance order

koleksi.

f. Daftar pemesanan

Untuk melihat daftar

pesanan koleksi yang di

inputkan dari angoota

perpustakaan.

Page 206: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. Pengolahan Administrator,

Staff Input data,

Staff pemeliharaan

User dapat melakukan kegiatan

yang berhubungan dengan

pengolahan koleksi, yaitu

berupa:

a. Tambah data koleksi

Didalam menu tambah

data ini, user juga dapat

menghapus dan edit data

koleksi.

b. Set field hasl cari

3. Keanggotaan Administrator,

Staff Input data

User dapat melakukan kegiatan

yang berhubungan dengan

keanggotaan, yaitu berupa:

a. Daftar anggota

Didalam menu daftar

anggota ini, user juga

dapat menghapus dan

edit data anggota.

b. Set field hasl cari

4. Sirkulasi Administrator,

Staff sirkulasi

User dapat melakukan kegiatan

yang berhubungan dengan

keanggotaan, yaitu berupa:

a. Peminjaman

Untuk melakukan

kegiatan yang terkait

dengan peminjaman

koleksi perpustakaan.

b. Pengembalian

Untuk melakukan

kegiatan yang terkait

dengan pengembalian

Page 207: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

koleksi perpustakaan.

c. Cek Koleksi

Untuk melihat data dari

koleksi perpustakaan.

5. Adminisrasi Administrator User dapat melakukan kegiatan

yang berhubungan dengan

administrasi, yaitu berupa:

a. Sistem

Menjelaskan mengenai

sistem perpustakaan

tersebut, isalnya untuk

mengetahui grup

pustakawan, nama

perpustakaan, melihat

saran, dll.

b. Koleksi

Untuk meng konfigurasi

koleksi perpustakaan.

c. Anggota

Untuk meng konfigurasi

hal-hal yang berkaitan

dengan keanggotaan.

d. Sirkulasi

Untuk mengatur

kegiatan dari

perpustakaan yang

terkait dengan hari libur.

6. Laporan Administrator,

Staff Input data,

Staff sirkulasi

User dapat melakukan kegiatan

yang berhubungan dengan

laporan, yaitu berupa :

a. Koleksi dipinjam

Page 208: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Untuk mengetahui

koleksi apa saja yang

sedang dipinjam olah

para pengunjung

perpustakaan

b. Koleksi hilang

Untuk mengetahui dan

mendata koleksi apa saja

yang hilang.

c. Koleksi dikeluarkan

Untuk mengetahui

koleksi apa saja yang

sudah dikeluarkan dari

daftar koleksi.

d. Chart sirkulasi

7. Laporan2 Administrator,

Staff Input data,

Staff sirkulasi

User dapat melakukan kegiatan

yang berhubungan dengan

laporan, yaitu kegiatan yang

terkait dengan pembuatan

laporan kegiatan perpustakaan.

Baik aporan yang dbuat dalam

jangka waktu harian, mingguan

dan bulanan.

8. User Administrator,

Staff Input data,

Staff sirkulasi,

Staff pemeliharaan

User dapat melakukan kegiatan

yang berhubungan dengan user,

yaitu berupa:

a. Ganti password

User dapat mealukakan

pergantian password

sesuai dengan keinginan

user.

Page 209: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

b. Profil

Disini kita dapat

mengetahui kapan

terakhr kita login atau

mengunjungi sistem.

c. Keluar

Page 210: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

AnggotaAction.java

package ui.cs.lontar.bo.action;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForward;

import ui.cs.lontar.bo.form.AnggotaForm;

import org.apache.struts.action.Action;

import ui.cs.lontar.utility.*;

import ui.cs.lontar.proses.*;

import ui.cs.lontar.data.*;

import net.sf.hibernate.*;

import java.util.*;

public class AnggotaAction extends Action {

@Override

public ActionForward execute(

ActionMapping actionMapping,

ActionForm actionForm,

HttpServletRequest servletRequest,

HttpServletResponse servletResponse) {

AnggotaForm anggotaForm = (AnggotaForm) actionForm;

Page 211: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

if (servletRequest.getSession().getAttribute("user") == null) {

return new ActionForward("/bo/index.jsp");

}

SessionFactory sf = (SessionFactory)

getServlet().getServletContext().getAttribute("sf");

Keanggotaan agt = new Keanggotaan(sf);

if (anggotaForm == null) {

anggotaForm = new AnggotaForm();

}

if (servletRequest.getParameter("idanggota") != null) {

anggotaForm.setId(Long.parseLong(servletRequest.getParameter("idangg

ota")));

anggotaForm.setAction("edit");

}

if (anggotaForm.getAction() == null) {

anggotaForm.setAction("new");

}

// System.out.println("COBA LIAT");

// System.out.println(anggotaForm.getAction());

Page 212: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

if (anggotaForm.getAction().equals("new")) {

} else if (anggotaForm.getAction().equals("save")) {

try {

// harusnya ada anggota.setFoto

Anggota anggota = null;

if (anggotaForm.getId() == 0) { // tambah anggota

Utility.log(servletRequest, (User)

servletRequest

.getSession().getAttribute("pustakawan"),

"keanggotaan", "tambah

anggota", "", anggotaForm

.getUsername());

anggota = new Anggota();

GrupAnggota ga = new GrupAnggota();

ga.setId(anggotaForm.getIdgrup());

anggota.setGrup(ga);

anggota.setPassword(anggotaForm.getPassword());

anggota.setUsername(anggotaForm.getUsername());

anggota.setStatus(anggotaForm.getStatus());

anggota.setTglExp(Utility.stringToDate(anggotaForm

.getStrTglExp(),

"dd/MM/yyyy"));

Page 213: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

anggota.setTglUpdate(Calendar.getInstance().getTime());

anggota.setAuth(anggotaForm.getAuth());

long idanggota =

agt.tambahAnggota(anggota);

anggota.setId(idanggota);

} else { // edit anggota

Utility.log(servletRequest, (User)

servletRequest

.getSession().getAttribute("pustakawan"),

"keanggotaan", "edit

anggota", "id="

+

anggotaForm.getId(), anggotaForm

.getUsername());

anggota =

agt.getAnggota(anggotaForm.getId());

GrupAnggota ga = new GrupAnggota();

ga.setId(anggotaForm.getIdgrup());

anggota.setGrup(ga);

if (anggotaForm.getPassword() != null

&&

!anggotaForm.getPassword().trim().equals("")) {

anggota.setPassword(anggotaForm.getPassword());

System.out.println("ganti

password");

Page 214: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

}

anggota.setUsername(anggotaForm.getUsername());

anggota.setStatus(anggotaForm.getStatus());

anggota.setId(anggotaForm.getId());

anggota.setTglExp(Utility.stringToDate(anggotaForm

.getStrTglExp(),

"dd/MM/yyyy"));

anggota.setAuth(anggotaForm.getAuth());

// System.out.println(anggota.getTglExp());

//

System.out.println(anggotaForm.getStrTglExp());

anggota.setTglUpdate(Calendar.getInstance().getTime());

if (anggotaForm.getStatus()

.equalsIgnoreCase("BEBAS

PINJAM"))

anggota.setTglBebasPinjam(Calendar.getInstance()

.getTime());

agt.updateAnggota(anggota);

}

servletRequest.setAttribute("alert", "Data Error");

Map map = anggotaForm.getFields();

for (Iterator it = map.keySet().iterator();

it.hasNext();) {

String id = (String) it.next();

Page 215: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

FieldAnggota fa = new FieldAnggota();

fa.setId(Long.parseLong(id));

FieldDataAnggota fda = new

FieldDataAnggota();

fda.setAnggota(anggota);

fda.setField(fa);

fda.setData((String) map.get(id));

agt.saveOrUpdateFieldData(fda);

System.out.println(id + " - " + map.get(id) +

"<br>");

}

anggotaForm = new AnggotaForm();

servletRequest.setAttribute("alert", "Data telah

disimpan");

} catch (Exception e) {

e.printStackTrace();

servletRequest.setAttribute("alert", e.getMessage());

}

} else if (anggotaForm.getAction().equals("edit")) {

try {

Anggota a = agt.getAnggota(anggotaForm.getId());

anggotaForm = new AnggotaForm();

anggotaForm.setFields(agt.getMapData(a.getId()));

anggotaForm.setId(a.getId());

anggotaForm.setFoto(a.getFoto());

anggotaForm.setIdgrup(a.getGrup().getId());

Page 216: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

// anggotaForm.setPassword(a.getPassword());

anggotaForm.setTglExp(a.getTglExp());

anggotaForm.setTglUpdate(a.getTglUpdate());

if (a.getTglExp() != null)

anggotaForm.setStrTglExp(Utility

.dateToString(a.getTglExp()));

anggotaForm.setUsername(a.getUsername());

anggotaForm.setStatus(a.getStatus());

anggotaForm.setAuth(a.getAuth() == null ?

"manual" : a

.getAuth());

} catch (Exception e) {

e.printStackTrace();

servletRequest.setAttribute("alert", e.getMessage());

}

}

try {

List status = new ArrayList();

status.add(new LabelValueBean("Boleh", "Boleh"));

status.add(new LabelValueBean("Warning", "Warning"));

status.add(new LabelValueBean("BLACK LIST",

"BLACK-LIST"));

status.add(new LabelValueBean("Bebas Pustaka", "BEBAS

PINJAM"));

Page 217: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

// status.add(new LabelValueBean("Tidak Aktif","TIDAK

AKTIF"));

servletRequest.setAttribute("statusList", status);

List auth = new ArrayList();

auth.add(new LabelValueBean("Manual", "manual"));

auth.add(new LabelValueBean("LDAP", "ldap"));

servletRequest.setAttribute("authList", auth);

List fields = agt.listField();

servletRequest.setAttribute("fieldList", fields);

List grup = agt.listGrup();

servletRequest.setAttribute("grupList", grup);

anggotaForm.setFieldList(fields);

anggotaForm.setAction("save");

} catch (Exception e) {

e.printStackTrace();

}

servletRequest.setAttribute("anggotaForm", anggotaForm);

return actionMapping.findForward(anggotaForm.getAction());

}

}

Page 218: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

DBConnectionManager.java

package com.chinaonsite.common.db;

Page 219: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

import java.io.*;

import java.sql.*;

import java.util.*;

import java.util.Date;

public class DBConnectionManager {

static private DBConnectionManager instance; // ΨһʵÀý

static private int clients;

private Vector drivers = new Vector();

private PrintWriter log;

private Hashtable pools = new Hashtable();

static synchronized public DBConnectionManager getInstance() {

if (instance == null) {

instance = new DBConnectionManager();

}

clients++;

return instance;

}

private DBConnectionManager() {

init();

}

Page 220: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

public void freeConnection(String name, Connection con) {

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null) {

pool.freeConnection(con);

}

}

public Connection getConnection(String name) {

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null) {

return pool.getConnection();

}

return null;

}

public Connection getConnection(String name, long time) {

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null) {

return pool.getConnection(time);

}

return null;

}

public synchronized void release() {

if (--clients != 0) {

Page 221: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

return;

}

Enumeration allPools = pools.elements();

while (allPools.hasMoreElements()) {

DBConnectionPool pool = (DBConnectionPool) allPools.nextElement();

pool.release();

}

Enumeration allDrivers = drivers.elements();

while (allDrivers.hasMoreElements()) {

Driver driver = (Driver) allDrivers.nextElement();

try {

DriverManager.deregisterDriver(driver);

}

catch (SQLException e) {

}

}

}

private void createPools(Properties props) {

Enumeration propNames = props.propertyNames();

while (propNames.hasMoreElements()) {

Page 222: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

String name = (String) propNames.nextElement();

if (name.endsWith(".url")) {

String poolName = name.substring(0, name.lastIndexOf("."));

String url = props.getProperty(poolName + ".url");

if (url == null) {

continue;

}

String user = props.getProperty(poolName + ".user");

String password = props.getProperty(poolName + ".password");

String maxconn = props.getProperty(poolName + ".maxconn", "0");

int max;

try {

max = Integer.valueOf(maxconn).intValue();

}

catch (NumberFormatException e) {

max = 0;

}

DBConnectionPool pool =

new DBConnectionPool(poolName, url, user, password, max);

pools.put(poolName, pool);

}

}

}

Page 223: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

private void init() {

InputStream is = getClass().getResourceAsStream("db.properties");

Properties dbProps = new Properties();

try {

dbProps.load(is);

}

catch (Exception e) {

System.err.println("Can not read the properties file; " + "Make sure db.properties is

in the Classpath");

return;

}

String logFile = dbProps.getProperty("logfile", "DBConnectionManager.log");

try {

log = new PrintWriter(new FileWriter(logFile, true), true);

}

catch (IOException e) {

System.err.println("Can not open the log files: " + logFile);

log = new PrintWriter(System.err);

}

loadDrivers(dbProps);

createPools(dbProps);

}

private void loadDrivers(Properties props) {

String driverClasses = props.getProperty("drivers");

Page 224: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

StringTokenizer st = new StringTokenizer(driverClasses);

while (st.hasMoreElements()) {

String driverClassName = st.nextToken().trim();

try {

Driver driver = (Driver)

Class.forName(driverClassName).newInstance();

DriverManager.registerDriver(driver);

drivers.addElement(driver);

}

catch (Exception e) {

}

}

}

private void log(String msg) {

log.println(new Date() + ": " + msg);

}

private void log(Throwable e, String msg) {

log.println(new Date() + ": " + msg);

e.printStackTrace(log);

}

class DBConnectionPool {

Page 225: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

private int checkedOut;

private Vector freeConnections = new Vector();

private int maxConn;

private String name;

private String password;

private String URL;

private String user;

public DBConnectionPool(String name, String URL, String user, String password,int

maxConn) {

this.name = name;

this.URL = URL;

this.user = user;

this.password = password;

this.maxConn = maxConn;

}

public synchronized void freeConnection(Connection con) {

freeConnections.addElement(con);

checkedOut--;

notifyAll();

}

public synchronized Connection getConnection() {

Connection con = null;

if (freeConnections.size() > 0) {

Page 226: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

con = (Connection) freeConnections.firstElement();

freeConnections.removeElementAt(0);

try {

if (con.isClosed()) {

con = getConnection();

}

}

catch (SQLException e) {

con = getConnection();

}

}

else if (maxConn == 0 || checkedOut < maxConn) {

con = newConnection();

}

if (con != null) {

checkedOut++;

}

return con;

}

public synchronized Connection getConnection(long timeout) {

long startTime = new Date().getTime();

Connection con;

while ((con = getConnection()) == null) {

try {

Page 227: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

wait(timeout);

}

catch (InterruptedException e) {}

if ((new Date().getTime() - startTime) >= timeout) {

return null;

}

}

return con;

}

public synchronized void release() {

Enumeration allConnections = freeConnections.elements();

while (allConnections.hasMoreElements()) {

Connection con = (Connection) allConnections.nextElement();

try {

con.close();

}

catch (SQLException e) {

}

}

freeConnections.removeAllElements();

}

private Connection newConnection() {

Connection con = null;

Page 228: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

try {

if (user == null) {

con = DriverManager.getConnection(URL);

}

else {

con = DriverManager.getConnection(URL, user, password);

}

}

catch (SQLException e) {

return null;

}

return con;

}

}

}

Page 229: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Keterangan Listing Program

1. AnggotaAction.Java

Program ini memiliki fungsi untuk penambahan data. Dimana pada

program ini, penamaan class nya adalah AnggotaAction. Dan banyak

melakukan import data dari library yang ada.

a. Dibawah ini adalah library yang ada :

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionForm;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForward;

import ui.cs.lontar.bo.form.AnggotaForm;

import org.apache.struts.action.Action;

import ui.cs.lontar.utility.*;

import ui.cs.lontar.proses.*;

import ui.cs.lontar.data.*;

import net.sf.hibernate.*;

import java.util.*;

b. Berikut adalah program pemanggilan librarynya :

ActionMapping actionMapping,

ActionForm actionForm,

HttpServletRequest servletRequest,

HttpServletResponse servletResponse) {

AnggotaForm anggotaForm = (AnggotaForm) actionForm;

Page 230: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

Attribute yang ada antara lain adalah user dan pustakawan.

a. (servletRequest.getSession().getAttribute("user") == null)

. b. getSession().getAttribute("pustakawan"),

Pada program ini, juga dijelaskan tentang status keanggotaan. Apakah

aktif, tidak aktif, bebas pinjam atau di black list.

List status = new ArrayList();

status.add(new LabelValueBean("Boleh", "Boleh"));

status.add(new LabelValueBean("Warning", "Warning"));

status.add(new LabelValueBean("BLACK LIST",

"BLACK-LIST"));

status.add(new LabelValueBean("Bebas Pustaka", "BEBAS

PINJAM"));

Page 231: REKAYASA BALIK (REVERSE ENGINEERING) APLIKASI …repository.uinjkt.ac.id/dspace/bitstream/123456789/2830/1/ICHEBERLYANTI-FST.pdf · software development. dalam hal pengembangan dari

2. DBConnectionManager.java

Penamaan class nya adalah DBConnectionManager.

public class DBConnectionManager

Merupakan program untuk mendapatkan koneksi database. Melakukan

import data dari library yang ada.Dibawah ini adalah library yang ada :

import java.io.*;

import java.sql.*;

import java.util.*;

import java.util.Date;

Dibawah ini adalah program untuk membuat koneksi database yang baru :

private Connection newConnection() {

Connection con = null;

try {

if (user == null) {

con = DriverManager.getConnection(URL);

}

else {

con = DriverManager.getConnection(URL, user, password);

}