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
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
Umumnya komponen terbentuk dari beberapa class dan, atau package, tapi dapat juga dari komponen-komponen yang lebih
kecil. Sri Dharwiyanti , 2003
g. Deployment Diagram
Deploymentphysical 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 TCPIP 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
1. Aktor actor
Dalam pemodelan sistem dengan UML, aktor adalah seseorang atau sesuatu yang berinteraksi dengan sistem yang
sedang kita kembangkan. Aktor berada diluar lingkup sistem atau perangkat lunak yang sedang kita kembangkan; bersifat
eksternal Hermawan, 2006. Secara prinsip dapat kita kenali 3 jenis aktor untuk hampir
semua sistem atau perangkat lunak yang kita kembangkan: para pengguna sistem, perangkat lunak lain yang berinteraksi
dengan sistem, dan perangkat lunak yang kita kembangkan serta waktu. Jadi aktor ini bisa berupa orang, perangkat keras
atau mungkin juga objek lain dalam sistem yang sama. Biasanya yang dilakukan oleh aktor adalah memberikan
informasi pada sistem dan atau memerintahkan sistem untuk melakukan sesuatu.
Gambar 2.4. Notasi Aktor
Sumber:
Nugroho, 2005
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
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
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
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
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
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
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 SIMK 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
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
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.