Rekayasa balik (reverse) Engineering) aplikasi perpustakaan tulis pada perpustakaan utama UIN Syarif Hidayatullah Jakarta

(1)

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


(2)

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


(3)

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


(4)

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


(5)

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


(6)

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.


(7)

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.


(8)

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


(9)

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


(10)

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


(11)

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


(12)

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


(13)

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


(14)

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


(15)

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


(16)

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


(17)

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


(18)

18 BAB I

PENDAHULUAN

1.1Latar 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.


(19)

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


(20)

20

menjadi panduan pengembang untuk proses perubahan-perubahan yang akan terjadi dalam pengembangan dan pemeliharaan aplikasi perpustakaan TULIS yang baru.

1.2Perumusan 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.


(21)

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.4Tujuan 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.


(22)

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


(23)

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.


(24)

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.


(25)

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)


(26)

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.


(27)

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)


(28)

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 :


(29)

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).


(30)

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


(31)

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 :


(32)

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.


(33)

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


(34)

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.


(35)

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.5JAVA

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


(36)

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.


(37)

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.6JSP (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.


(38)

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.


(39)

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.


(40)

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.8Apache 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


(41)

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


(42)

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.


(43)

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).


(44)

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).


(45)

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.


(46)

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.


(47)

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,


(48)

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.


(49)

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).


(50)

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


(51)

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


(52)

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.


(53)

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:


(54)

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


(55)

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


(56)

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


(57)

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


(58)

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)


(59)

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


(60)

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 :


(61)

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


(62)

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.


(63)

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.


(64)

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


(65)

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


(66)

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


(67)

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


(68)

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


(69)

(70)

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 :


(71)

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)


(72)

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.


(73)

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


(74)

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.


(75)

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.


(76)

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)


(1)

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 {


(2)

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;


(3)

try {

if (user == null) {

con = DriverManager.getConnection(URL); }

else {

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

}

catch (SQLException e) {

return null; }

return con; }

} }


(4)

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) {


(5)

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"));


(6)

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); }