• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
231
0
0

Teks penuh

(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:

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

(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

(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

(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

(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

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

(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

(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

(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

(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

(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

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

(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

(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

(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

(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

(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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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,

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(63)

63 BAB III

METODOLOGI PENELITIAN

3.1 MetodePenelitian

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

Gambar

Gambar 2.2 Arsitektur TULIS
Gambar 2.3 : Arsitektur Struts
gambar grafis mengenai struktur objek statis dari suatu sistem,
Gambar 2.4. Notasi Aktor
+7

Referensi

Dokumen terkait

Penulis menyusun contoh kalimat yang diterjemahkan dari bahasa Mandarin kedalam bahasa Indonesia, dan sebaliknya dari bahasa Indonesia kedalam bahasa Mandarin, dengan

Panitia Pengadaan Barang/Jasa Satuan Kerja Kantor Perpustakaan dan Arsip Kabupaten Aceh Tamiang Sumber Dana APBK Aceh Tamiang Tahun Anggaran 2011 mengundang Penyedia

Perputaran piutang secara langsung tidak berpengaruh signifikan terhadap profitabilitas (Studi Kasus pada Perusahaan Pembiayaan yang Terdaftar di Bursa Efek Indonesia

Konflik keagenan dapat disebabkan oleh adanya free cash flow dalam jumlah yang besar sehingga memungkinkan manajemen untuk melakukan investasi yang tidak efisien

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan dan melimpahkan segala karunia, nikmat dan rahmat-Nya yang tak terhingga kepada penulis,

Tabel 4.28 Perubahan Tabel Transportasi Akibat Variabel x 12 Dijadikan Basic Variable – Iterasi 2

Makcik kamu ingin belikan buku untuk kamu.Beliau meminta kamu memilih buku yang kamu suka?. Tulis mesej bersama tiga sebab mengapa kamu memilih

(1) Hasil penelitian menunjukkan bahwa terdapat perbedaan minat belajar IPA materi Struktur Bumi dan Matahari pada siswa kelas V SD Negeri Pesayangan 01 antara pembelajaran