Class Diagram State Diagram Component Diagram Penelitian Sejenis

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.