Pengembangan Aplikasi Sinkronisasi Dua Arah Diagram Kelas dan Kode Sumber.

(1)

ABSTRAK

Salah satu bidang kajian dalam bidang teknologi informasi adalah rekayasa perangkat lunak. Dalam rekayasa perangkat lunak, terdapat konsep yang mendasari berbagai jenis metodologi pengembangan perangkat lunak yang dikenal dengan SDLC(Software Development Life Cycle). Dalam tahapan SDLC,

pengembang sistem memodelkan kelas-kelas dan relasi-relasi yang menyusun sistem yang akan dibuatnya ke dalam bentuk diagram kelas. Diantara beberapa aplikasi yang biasa dipakai untuk membuat diagram kelas, hanya sedikit aplikasi yang dapat melakukan sinkronisasi secara dua arah antara kode sumber dan diagram kelas.

Pada tugas akhir ini, dibuat sebuah aplikasi untuk membantu proses pembuatan diagram kelas yang dapat melakukan sinkronisasi dua arah antara kode sumber dan diagram kelas. Aplikasi yang telah dibuat dapat membuat diagram kelas berdasarkan kode sumber Java ataupun berkas XML.Aplikasi juga dapat membuat template kode sumber berdasarkan diagram kelas yang baru dibuat. Hasil akhir dari penelitian ini adalah aplikasi berhasil melakukan sinkronisasi secara dua arah antara kode sumber dan diagram kelas.


(2)

vi

Universitas Kristen Maranatha

ABSTRACT

One area of study in the field of information technology is software engineering. In software engineering, there are concepts that underlie different types of software development methodology known as SDLC (Software Development Life Cycle). In SDLC stages, system developers model classes and relationships that make up a system into the form of a class diagram. Among several applications commonly used to create a class diagram, only a few applications can perform a round trip engineering between the source code and its class diagram.

An application has been made to assist the process of making a class diagram which can perform a round trip engineering between the source code and class diagram. The application can create a class diagram based on the Java source code or an XML file. The application can also create a template based on the newly created class diagram. The end result of this research is the application successfully perform round trip engineering between the source code and its class diagram.


(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN... iii

PRAKATA ... iv

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiii

DAFTAR ALGORITMA ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan Pembahasan ... 2

1.4 Batasan Masalah ... 2

1.5 Sistematika Penyajian ... 3

BAB II LANDASAN TEORI ... 4

2.1 Object Oriented Programming... 4

2.1.1 Kelas ... 4

2.1.2 Method... 4

2.1.3 Inheritance ... 5

2.2 Java ... 5


(4)

viii

Universitas Kristen Maranatha

2.3 Unified Modeling Language ... 8

2.4 Markup Language... 8

2.4.1 Extensible Markup Language ... 8

2.5 Aplikasi Visualisasi Diagram Kelas ... 9

2.5.1 Visual Paradigm ... 9

2.5.2 Astah ... 9

2.6 Penelitian Sejenis ... 10

BAB III ANALISIS DAN DISAIN ... 11

3.1 Analisis ... 11

3.1.1 DiagramObject ... 11

3.1.2 Parser ... 12

3.1.3 DiagramProcessor ... 12

3.1.4 Synchronizer ... 12

3.1.5 Drawer ... 13

3.1.6 Format XML ... 13

3.2 Gambaran Keseluruhan ... 16

3.2.1 Persyaratan Antarmuka Eksternal ... 16

3.2.2 Antarmuka dengan Pengguna ... 16

3.2.3 Antarmuka Perangkat Keras ... 17

3.2.4 Antarmuka Perangkat Lunak... 17

3.2.5 Fitur-fitur Produk Perangkat Lunak ... 17

3.3 Disain Perangkat Lunak... 21

3.3.1 Pemodelan Perangkat Lunak ... 21

3.3.2 Disain Antarmuka ... 33

BAB IV PENGEMBANGAN PERANGKAT LUNAK... 37


(5)

4.2 Implementasi Antarmuka Jendela Utama ... 38

4.3 Implementasi Fitur Generate Diagram ... 40

4.4 Implementasi Fitur Generate Source Code ... 41

4.5 Implementasi Fitur Sinkronisasi Diagram ke Kode Sumber ... 42

4.6 Implementasi Fitur Sinkronisasi Kode Sumber Ke Diagram ... 44

BAB V TESTING DAN EVALUASI SISTEM ... 46

5.1 Pengujian Modul Penulisan Kode Sumber ke Berkas XML ... 46

5.2 Pengujian Modul Penulisan Berkas XML ke Kode Sumber ... 49

5.3 Pengujian Dengan Unit Testing ... 53

5.4 Pengujian Antarmuka ... 54

5.5 Perbandingan Dengan Aplikasi Sejenis ... 57

5.6 Stress Test ... 58

5.7 Pengisian Kuisioner oleh Pengguna ... 59

BAB VI KESIMPULAN DAN SARAN ... 61

6.1 Kesimpulan ... 61

6.2 Saran ... 63

DAFTAR PUSTAKA ... 65

RIWAYAT HIDUP PENULIS ... 66

LAMPIRAN ... 67


(6)

x

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1 Sintaks untuk mendeklarasi kelas dalam java ... 6

Gambar 2.2 Sintaks untuk mendeklarasi atribut dalam sebuah kelas ... 7

Gambar 2.3 Sintaks untuk mendeklarasi sebuah method dalam sebuah kelas ... 7

Gambar 3.1 Format penulisan tag project ... 13

Gambar 3.2 Format penulisan tag class ... 14

Gambar 3.3 Format penulisan tag pos... 14

Gambar 3.4 Format penulisan tag attr ... 14

Gambar 3.5 Format penulisan tag method ... 15

Gambar 3.6 Format penulisan tag param ... 15

Gambar 3.7 Format penulisan tag agregasi, asosiasi, dan komposisi ... 15

Gambar 3.8 Format penulisan tag interface ... 16

Gambar 3.9 Rancangan use case diagram ... 22

Gambar 3.10 Activity diagram untuk fitur generate diagram... 25

Gambar 3.11 Activity diagram untuk fitur save image ... 26

Gambar 3.12 Activity diagram untuk fitur XML Editor ... 27

Gambar 3.13 Rancangan sequence diagram untuk fitur generate diagram ... 28

Gambar 3.14 Rancangan sequence diagram untuk fitur save image ... 29

Gambar 3.15 Rancangan sequence diagram untuk fitur xml editor ... 29

Gambar 3.16 Rancangan package diagram aplikasi ... 30

Gambar 3.17 Rancangan diagram kelas aplikasi ... 31

Gambar 3.18 Disain antarmuka untuk jendela utama ... 34

Gambar 3.19 Disain antarmuka untuk jendela fitur generate diagram ... 35

Gambar 3.20 Jendela penambahan elemen diagram kelas ... 35

Gambar 4.1 Implementasi antarmuka jendela utama ... 39

Gambar 4.2 Implementasi tampilan untuk fitur Generate Diagram ... 40

Gambar 4.3 Berkas XML yang dibuat oleh aplikasi berdasarkan kode sumber .... 41

Gambar 4.4 Template kode sumber yang dibuat oleh aplikasi ... 41

Gambar 4.5 Penambahan elemen pada salah satu kelas ... 42

Gambar 4.6 Atribut baru pada kelas Drawer ... 43


(7)

Gambar 4.8 Penambahan atribut baru pada kode sumber ... 44

Gambar 4.9 Pemberitahuan perubahan kode sumber pada aplikasi ... 44

Gambar 4.10 Atribut baru berhasil ditambahkan pada diagram kelas ... 45

Gambar 5.1 Potongan Kode Program Algoritma Penulisan Berkas XML ... 47

Gambar 5.2 Potongan Kode Program Algoritma Penulisan Template Kode Sumber ... 51


(8)

xii

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 3.1 Deskripsi use case diagram untuk fitur generate diagram ... 22

Tabel 3.2 Deskripsi use case diagram untuk fitur save image ... 22

Tabel 3.3 Deskripsi use case diagram untuk fitur synchronize ... 23

Tabel 3.4 Deskripsi use case diagram untuk fitur save XML ... 23

Tabel 3.5 Deskripsi use case diagram untuk fitur save source code ... 23

Tabel 5.1 Hasil Pengujian method writeObjectXML ... 47

Tabel 5.2 Hasil Pengujian method writeObjectXML ... 51

Tabel 5.3 Test case untuk fitur generate diagram ... 54

Tabel 5.4 Test case untuk fitur sinkonisasi ... 55

Tabel 5.5 Hasil pengujian dari test case untuk fitur generate diagram ... 55

Tabel 5.6 Hasil pengujian dari test case untuk fitur sinkronisasi ... 56

Tabel 5.7 Perbandingan Hasil Diagram Kelas dengan Hasil Dari Aplikasi Lain . 57 Tabel 5.8 Perbandingan Hasil Stress Test dengan Hasil dari Aplikasi Lain ... 59


(9)

DAFTAR SIMBOL

Use Case Diagram (UML 2.0)

No Gambar Keterangan

1. Menggambarkan aktor atau pengguna aplikasi.

2. Menggambarkan proses atau aksi yang dapat

dilakukan oleh aktor pada aplikasi.

3. Menggambarkan sistem tempat proses

dijalankan

Class Diagram (UML 2.0)

No Gambar Keterangan

1. Menggambarkan paket tempat menyimpan

sekumpulan kelas

2. Menggambarkan sebuah kelas beserta

atribut dan method-nya

3. Menggambarkan sebuah interface beserta


(10)

xiv

Universitas Kristen Maranatha Activity Diagram (UML 1.3)

No Gambar Keterangan

1. Menandakan dimulainya aktivitas pada sebuah

sistem.

2. Menandakan aktivitas apa yang akan

dilakukan oleh pengguna aplikasi.


(11)

DAFTAR ALGORITMA

Algoritma 4.1 Proses penghitungan waktu perubahan terakhir pada direktori ... 38 Algoritma 4.2 Proses pengubahan kode sumber berdasarkan log... 38


(12)

1

Universitas Kristen Maranatha

1.

BAB I

PENDAHULUAN

1.1

Latar Belakang Masalah

Bidang teknologi informasi adalah salah satu bidang pengetahuan yang berkembang dengan pesat. Bidang ini mencakup banyak bidang kajian, salah satunya adalah rekayasa perangkat lunak. Rekayasa perangkat lunak merupakan proses pembuatan atau pengubahan suatu perangkat lunak yang bertujuan untuk mengembangkan, memelihara serta membangun perangkat lunak tersebut agar dapat bekerja secara efisien dan efektif bagi pengguna.

Dalam rekayasa perangkat lunak, terdapat konsep yang mendasari berbagai jenis metodologi pengembangan perangkat lunak yang dikenal dengan

SDLC(Software Development Life Cycle). SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah pengembangan perangkat lunak yang secara garis besar terbagi dalam fase-fase utama, yaitu analisis, desain, implementasi, dan pengujian. Pada tahap analisis, pengembang sistem memodelkan kelas-kelas dan relasi-relasi yang menyusun sistem yang akan dibuatnya ke dalam bentuk diagram kelas. Diantara banyaknya aplikasi yang biasa dipakai untuk membuat diagram kelas, belum banyak aplikasi yang dapat melakukan sinkronisasi secara dua arah antara kode sumber dan diagram kelasnya.

Pada tugas akhir ini, akan dibuat sebuah aplikasi yang bertujuan untuk membantu pembuatan diagram kelas pada tahap analisis dalam software development life cycle. Aplikasi akan menerima masukan dari pengguna berupa alamat penyimpanan kode sumber Java. Setelah itu, aplikasi akan membuat diagram kelas berdasarkan kode sumber tersebut. Apabila kode sumber diubah, aplikasi akan dapat langsung mengubah diagram kelasnya. Sebaliknya apabila diagram kelas diubah, kode sumber akan dapat diubah sesuai dengan perubahan pada diagram kelas. Aplikasi ini diharapkan dapat memudahkan pengguna dalam membuat diagram kelas.


(13)

2

1.2

Rumusan Masalah

Berdasarkan latar belakang masalah pada bagian 1.1, maka dirumuskan masalah sebagai berikut :

1. Bagaimana cara untuk memindai berkas kode sumber java untuk membuat diagram kelas dan mengubahnya ke dalam format XML.

2. Bagaimana cara untuk membangkitkan kode sumber berdasarkan berkas XML

dengan format yang telah ditentukan.

3. Bagaimana cara untuk melakukan sinkronisasi kode sumber terhadap diagram kelas secara dua arah.

1.3

Tujuan Pembahasan

Berdasarkan rumusan masalah pada bagian 1.2 terdapat beberapa tujuan pembahasan sebagai berikut :

1. Aplikasi dapat memindai berkas kode sumber java untuk membuat diagram kelas dan mengubahnya ke dalam format XML.

2. Aplikasi dapat membangkitkan kode sumber berdasarkan berkas XML dengan format tertentu.

3. Aplikasi dapat melakukan sinkronisasi kode sumber terhadap diagram kelas secara dua arah.

1.4

Batasan Masalah

Dalam pembuatan aplikasi ini, akan ditentukan batasan masalah sebagai berikut:

1. Aplikasi akan merepresentasikan diagram kelas ke dalam bentuk berkas gambar berekstensi png, jpg, bmp, dan gif.

2. Aplikasi akan menangani pembangkitan gambar diagram kelas berdasarkan berkas xml dengan format penulisan yang benar.

3. Aplikasi akan menangani pembangkitan gambar diagram kelas berdasarkan kode sumber Java dengan format penulisan yang benar.

4. Aplikasi akan menangani sinkronisasi dua arah pada saat penambahan dan penghapusan elemen diagram kelas.


(14)

3

Universitas Kristen Maranatha 5. Relasi komposisi, agregasi, dan asosiasi dari kode sumber akan ditampilkan

sebagai atribut dalam diagram kelas.

6. Inner class akan ditampilkan sebagai atribut pada diagram kelas. 7. Relasi antar elemen akan ditarik dari titik tengah tiap elemen diagram.

1.5

Sistematika Penyajian

Sistematika laporan yang dipergunakan dalam tugas akhir ini adalah: BAB I PENDAHULUAN

Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang, rumusan masalah, tujuan pembahasan, batasan masalah, serta sistematika penyajian dari proyek kerja praktek ini.

BAB II LANDASAN TEORI

Bab ini membahas teori-teori yang berkaitan dalam penyelesaian proyek kerja praktek ini.

BAB III ANALISIS DAN DISAIN

Bab ini membahas secara lengkap mengenai pemodelan dan diagram alir sistem kerja dari aplikasi, perancangan desain aplikasi, dan penjelasan sistem. BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab ini berisikan tentang hasil yang telah dicapai lewat aplikasi. BAB V TESTING DAN EVALUASI SISTEM

Bab ini berisi pengujian dan analisa terhadap masing-masing fungsi dari aplikasi. Laporan dari pengujian tiap fungsi / method yang dibuat dalam metode

blackbox testing.

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran untuk aplikasi ini yang dapat digunakan untuk perkembangan aplikasi.


(15)

6.

BAB VI

KESIMPULAN DAN SARAN

6.1

Kesimpulan

Kesimpulan yang diperoleh dari hasil analisis, pembuatan, implementasi, dan pengujian aplikasi ini diambil dari hasil testing, perbandingan dengan aplikasi yang sudah ada, dan kuisioner dari pengguna aplikasi. Hasil test blackbox dan

whitebox menunjukkan bahwa aplikasi dapat membuat diagram kelas berdasarkan berkas XML maupun direktori kode sumber Java. Aplikasi juga dapat menyimpan sebuah project Java ke dalam sebuah berkas XML dan melakukan sinkronisasi secara dua arah antara kode sumber dan diagram kelas.

Berdasarkan hasil perbandingan beberapa aplikasi, ditemukan kekurangan dan kelebihan dari masing-masing aplikasi yang diuji. Tabel 6.1 menunjukkan kekurangan dan kelebihan dari aplikasi-aplikasi tersebut.

Tabel 6.1 Kekurangan dan Kelebihan dari Beberapa Aplikasi yang Diuji

Aplikasi yang dibuat

Kekurangan Kelebihan

1.Belum mengimplementasi fitur zoom

2.Penggunaan kelas lain sebagai atribut tidak dapat ditampilkan sebagai relasi antar kelas

3.Tidak dapat menyimpan gambar dalam format vektor.

1.Menampilkan relasi generalisasi dan realisasi.

2.Ukuran berkas gambar relatif kecil. 3.Posisi diagram kelas ditentukan

secara otomatis, tidak terjadi overlap

antar objek diagram.

4.Objek diagram ditempatkan berdekatan, tidak menyisakan banyak tempat kosong.

5.Dapat membaca project Eclipse. 6.Menampilkan nilai dari variabel

statis yang dideklarasi diluar method


(16)

62

Universitas Kristen Maranatha

Kekurangan Kelebihan

1. Ukuran gambar relatif lebih besar. 2. Objek diagram ditempatkan

berjauhan.

3. Tidak menampilkan relasi realisasi dan generalisasi.

1.Posisi diagram kelas ditentukan secara otomatis, tidak terjadi overlap

antar objek diagram, juga meminimalisir terjadi overlap relasi dengan menampilkan package

sebagai subsistem.

2.Dapat menyimpan berkas gambar dalam format vektor.

3.Sudah mengimplementasi fitur zoom.

4.Menampilkan relasi asosiasi antar kelas dalam project beserta

navigability-nya, tidak menampilkan generalisasi dan realisasi.

5.Dapat membaca project Eclipse. 6.Menampilkan nilai dari variabel

statis yang dideklarasi diluar method

EasyUML

Kekurangan Kelebihan

1.Tidak menampilkan relasi realisasi dan generalisasi.

2.Penentuan posisi objek diagram secara grid, dapat terjadi overlap. 3.Tidak dapat membaca project

Eclipse.

4.Tidak menampilkan nilai dari variabel statis yang dideklarasi diluar

method

1.Ukuran berkas gambar kecil.

2.Dapat menyimpan berkas gambar dalam format vektor.

3.Sudah mengimplementasi fitur zoom.

4.Menampilkan relasi agregasi antar kelas dalam project, tidak menampilkan generalisasi dan realisasi.

Berdasarkan hasil perbandingan dengan aplikasi lain, didapat kesimpulan sebagai berikut.


(17)

1. Aplikasi dapat memposisikan elemen diagram secara otomatis, dengan relasi objek dan package ditampilkan dengan relasi, bukan subsistem. 2. Jarak antar elemen tidak terlalu jauh sehingga tidak banyak

menyisakan ruang kosong pada diagram kelas.

3. Ukuran rata-rata berkas gambar yang dihasilkan lebih kecil dibandingkan dengan hasil dari Visual Paradigm.

Berdasarkan hasil pengisian kuisioner oleh responden, didapatkan kesimpulan sebagai berikut.

1. Aplikasi dapat mempermudah pembuatan diagram kelas pada bahasa pemrograman Java.

2. Diagram kelas yang dibuat oleh aplikasi sesuai dengan kode sumber yang dimasukkan oleh pengguna sebagai input.

3. Antarmuka aplikasi masih kurang nyaman dan informatif. 4. Fitur bantuan belum cukup membantu.

5. Sinkronisasi sudah cukup baik dan dapat dilakukan secara dua arah antara kode sumber dan diagram kelas.

6.2

Saran

Berikut adalah saran untuk pengembangan aplikasi ini:

1. Template kode sumber yang dibuat oleh aplikasi belum dapat menambahkan sintaks import apabila terdapat kelas dari package lain yang digunakan. Ketika kode sumber dibuka oleh IDE, sintaks tersebut harus ditambahkan terlebih dahulu. Sehingga akan lebih baik apabila aplikasi dapat menambahkan sintaks import secara otomatis pada template kode sumber Java yang dibuat oleh aplikasi.

2. Template kode sumber java yang dihasilkan oleh aplikasi hanya disimpan dalam sebuah direktori. Hal ini membuat kode sumber tersebut tidak dapat langsung dibuka oleh IDE yang umum digunakan. Untuk pengembangan selanjutnya dapat ditambahkan fitur untuk menyimpan template kode sumber dengan format proyek IDE yang umum digunakan, seperti NetBeans dan Eclipse.


(18)

64

Universitas Kristen Maranatha 3. Pemrosesan posisi objek diagram pada aplikasi ini masih menggunakan

algoritma yang sederhana, sehingga belum dapat menangani overlap antara relasi dan objek diagram. Force Based Graph Drawing Algorithm adalah sebuah algoritma untuk menggambar graf yang dapat diimplementasi untuk menggambar diagram kelas. Pengembangan aplikasi ini menggunakan algoritma tersebut dapat meminimalisir terjadinya overlap antara relasi dan objek diagram.

4. Pemrosesan diagram kelas yang besar masih sulit dilakukan tanpa adanya fotur zoom. Penambahan fitur zoom pada saat aplikasi menampilkan diagram kelas akan dapat mempermudah pengguna untuk mengubah diagram kelas yang berukuran besar.

5. Aplikasi ini belum dapat membuat diagram kelas berdasarkan project dari bahasa pemrograman lain. Pengembangan aplikasi untuk dapat membaca kode sumber di bahasa pemrograman lain akan dapat membantu pembuatan diagram kelas dari project yang menggunakan bahasa pemrograman lain selain Java.


(19)

DAFTAR PUSTAKA

Badros, G. (2000). JavaML: a markup language for Java source code. Seattle, WA USA .

Gosling, J., & McGilton, H. (1996). The Java Language Environment. Mountain View, California, U.S.A: Sun Microsystems.

Gosling, J., Joy, B., Steele, G., Bracha, G., & Buckley, A. (2014, 03 03). The Java® Language Specification Java SE 8 Edition. Redwood City, California, U.S.A.: Oracle.

Lewis, J., & Loftus, W. (2004). Java Software Solutions: Foundations of Program Design. Addison Wesley.

Pilone, D., & Pitman, N. (2005). UML 2.0 in a Nutshell. O'Reilly.

Wu, C. T. (2010). An Introduction to Object-Oriented Programming with Java.


(1)

3

5. Relasi komposisi, agregasi, dan asosiasi dari kode sumber akan ditampilkan sebagai atribut dalam diagram kelas.

6. Inner class akan ditampilkan sebagai atribut pada diagram kelas. 7. Relasi antar elemen akan ditarik dari titik tengah tiap elemen diagram.

1.5

Sistematika Penyajian

Sistematika laporan yang dipergunakan dalam tugas akhir ini adalah: BAB I PENDAHULUAN

Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang, rumusan masalah, tujuan pembahasan, batasan masalah, serta sistematika penyajian dari proyek kerja praktek ini.

BAB II LANDASAN TEORI

Bab ini membahas teori-teori yang berkaitan dalam penyelesaian proyek kerja praktek ini.

BAB III ANALISIS DAN DISAIN

Bab ini membahas secara lengkap mengenai pemodelan dan diagram alir sistem kerja dari aplikasi, perancangan desain aplikasi, dan penjelasan sistem. BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab ini berisikan tentang hasil yang telah dicapai lewat aplikasi. BAB V TESTING DAN EVALUASI SISTEM

Bab ini berisi pengujian dan analisa terhadap masing-masing fungsi dari aplikasi. Laporan dari pengujian tiap fungsi / method yang dibuat dalam metode

blackbox testing.

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran untuk aplikasi ini yang dapat digunakan untuk perkembangan aplikasi.


(2)

6.

BAB VI

KESIMPULAN DAN SARAN

6.1

Kesimpulan

Kesimpulan yang diperoleh dari hasil analisis, pembuatan, implementasi, dan pengujian aplikasi ini diambil dari hasil testing, perbandingan dengan aplikasi yang sudah ada, dan kuisioner dari pengguna aplikasi. Hasil test blackbox dan

whitebox menunjukkan bahwa aplikasi dapat membuat diagram kelas berdasarkan berkas XML maupun direktori kode sumber Java. Aplikasi juga dapat menyimpan sebuah project Java ke dalam sebuah berkas XML dan melakukan sinkronisasi secara dua arah antara kode sumber dan diagram kelas.

Berdasarkan hasil perbandingan beberapa aplikasi, ditemukan kekurangan dan kelebihan dari masing-masing aplikasi yang diuji. Tabel 6.1 menunjukkan kekurangan dan kelebihan dari aplikasi-aplikasi tersebut.

Tabel 6.1 Kekurangan dan Kelebihan dari Beberapa Aplikasi yang Diuji

Aplikasi yang dibuat

Kekurangan Kelebihan

1.Belum mengimplementasi fitur zoom

2.Penggunaan kelas lain sebagai atribut tidak dapat ditampilkan sebagai relasi antar kelas

3.Tidak dapat menyimpan gambar dalam format vektor.

1.Menampilkan relasi generalisasi dan realisasi.

2.Ukuran berkas gambar relatif kecil. 3.Posisi diagram kelas ditentukan

secara otomatis, tidak terjadi overlap

antar objek diagram.

4.Objek diagram ditempatkan berdekatan, tidak menyisakan banyak tempat kosong.

5.Dapat membaca project Eclipse. 6.Menampilkan nilai dari variabel

statis yang dideklarasi diluar method


(3)

Kekurangan Kelebihan 1. Ukuran gambar relatif lebih besar.

2. Objek diagram ditempatkan berjauhan.

3. Tidak menampilkan relasi realisasi dan generalisasi.

1.Posisi diagram kelas ditentukan secara otomatis, tidak terjadi overlap

antar objek diagram, juga meminimalisir terjadi overlap relasi dengan menampilkan package

sebagai subsistem.

2.Dapat menyimpan berkas gambar dalam format vektor.

3.Sudah mengimplementasi fitur zoom.

4.Menampilkan relasi asosiasi antar kelas dalam project beserta

navigability-nya, tidak menampilkan generalisasi dan realisasi.

5.Dapat membaca project Eclipse. 6.Menampilkan nilai dari variabel

statis yang dideklarasi diluar method

EasyUML

Kekurangan Kelebihan

1.Tidak menampilkan relasi realisasi dan generalisasi.

2.Penentuan posisi objek diagram secara grid, dapat terjadi overlap. 3.Tidak dapat membaca project

Eclipse.

4.Tidak menampilkan nilai dari variabel statis yang dideklarasi diluar

method

1.Ukuran berkas gambar kecil.

2.Dapat menyimpan berkas gambar dalam format vektor.

3.Sudah mengimplementasi fitur zoom.

4.Menampilkan relasi agregasi antar kelas dalam project, tidak menampilkan generalisasi dan realisasi.

Berdasarkan hasil perbandingan dengan aplikasi lain, didapat kesimpulan sebagai berikut.


(4)

1. Aplikasi dapat memposisikan elemen diagram secara otomatis, dengan relasi objek dan package ditampilkan dengan relasi, bukan subsistem. 2. Jarak antar elemen tidak terlalu jauh sehingga tidak banyak

menyisakan ruang kosong pada diagram kelas.

3. Ukuran rata-rata berkas gambar yang dihasilkan lebih kecil dibandingkan dengan hasil dari Visual Paradigm.

Berdasarkan hasil pengisian kuisioner oleh responden, didapatkan kesimpulan sebagai berikut.

1. Aplikasi dapat mempermudah pembuatan diagram kelas pada bahasa pemrograman Java.

2. Diagram kelas yang dibuat oleh aplikasi sesuai dengan kode sumber yang dimasukkan oleh pengguna sebagai input.

3. Antarmuka aplikasi masih kurang nyaman dan informatif. 4. Fitur bantuan belum cukup membantu.

5. Sinkronisasi sudah cukup baik dan dapat dilakukan secara dua arah antara kode sumber dan diagram kelas.

6.2

Saran

Berikut adalah saran untuk pengembangan aplikasi ini:

1. Template kode sumber yang dibuat oleh aplikasi belum dapat menambahkan sintaks import apabila terdapat kelas dari package lain yang digunakan. Ketika kode sumber dibuka oleh IDE, sintaks tersebut harus ditambahkan terlebih dahulu. Sehingga akan lebih baik apabila aplikasi dapat menambahkan sintaks import secara otomatis pada template kode sumber Java yang dibuat oleh aplikasi.

2. Template kode sumber java yang dihasilkan oleh aplikasi hanya disimpan dalam sebuah direktori. Hal ini membuat kode sumber tersebut tidak dapat langsung dibuka oleh IDE yang umum digunakan. Untuk pengembangan selanjutnya dapat ditambahkan fitur untuk menyimpan template kode sumber dengan format proyek IDE yang umum digunakan, seperti NetBeans dan Eclipse.


(5)

3. Pemrosesan posisi objek diagram pada aplikasi ini masih menggunakan algoritma yang sederhana, sehingga belum dapat menangani overlap antara relasi dan objek diagram. Force Based Graph Drawing Algorithm adalah sebuah algoritma untuk menggambar graf yang dapat diimplementasi untuk menggambar diagram kelas. Pengembangan aplikasi ini menggunakan algoritma tersebut dapat meminimalisir terjadinya overlap antara relasi dan objek diagram.

4. Pemrosesan diagram kelas yang besar masih sulit dilakukan tanpa adanya fotur zoom. Penambahan fitur zoom pada saat aplikasi menampilkan diagram kelas akan dapat mempermudah pengguna untuk mengubah diagram kelas yang berukuran besar.

5. Aplikasi ini belum dapat membuat diagram kelas berdasarkan project dari bahasa pemrograman lain. Pengembangan aplikasi untuk dapat membaca kode sumber di bahasa pemrograman lain akan dapat membantu pembuatan diagram kelas dari project yang menggunakan bahasa pemrograman lain selain Java.


(6)

DAFTAR PUSTAKA

Badros, G. (2000). JavaML: a markup language for Java source code. Seattle, WA USA .

Gosling, J., & McGilton, H. (1996). The Java Language Environment. Mountain View, California, U.S.A: Sun Microsystems.

Gosling, J., Joy, B., Steele, G., Bracha, G., & Buckley, A. (2014, 03 03). The Java® Language Specification Java SE 8 Edition. Redwood City, California, U.S.A.: Oracle.

Lewis, J., & Loftus, W. (2004). Java Software Solutions: Foundations of Program Design. Addison Wesley.

Pilone, D., & Pitman, N. (2005). UML 2.0 in a Nutshell. O'Reilly.

Wu, C. T. (2010). An Introduction to Object-Oriented Programming with Java.