Jurnal Ilmiah NERO Vol. 1 No. 2
2014
PEMERIKSA KONSISTENSI ELEMEN PADA DIAGRAM KELAS DAN DIAGRAM SEKUENSIAL BERDASARKAN ATURAN KONSISTENSI Dianni Yusuf1), Siti Rochimah2) Institut Teknologi Sepuluh Nopember Surabaya Kampus ITS Sukolilo, Jawa Timur 1) Email :
[email protected],2)
[email protected] ABSTRAK
UML merupakan bahasa visual dengan menggunakan diagram dalam memodelkan sebuah sistem. Model UML digunakan untuk memodelkan kebutuhan dan fungsionalitas sistem, sehingga informasi yang divisualisasikan dalam UML harus konsisten. Selain itu, keterkaitan antar diagram dalam UML memerlukan konsistensi dalam merancang diagram yang satu dengan yang lain. Konsistensi model merupakan hal yang sangat penting dalam proses perancangan UML, sehingga dibutuhkan pemeriksa konsistensi yang dapat mendeteksi adanya inkonsistensi dalam model. Penelitian ini menggunakan pendekatan bagaimana memeriksa adanya inkonsistensi elemen berdasarkan aturan konsistensi yang diterapkan pada dokumen UML. Dokumen UML pada penelitian adalah dokumen XML dari diagram kelas dan diagram sekuensial. Penelitian ini mempunyai dua kontribusi yaitu pertama adalah menghasilkan dua aturan konsistensi untuk memeriksa konsistensi elemen model UML. Kontribusi kedua adalah melakukan pendekatan memeriksa konsistensi elemen model UML berdasarkan aturan konsistensi yang telah dihasilkan. Proses pemeriksaan inkonsistensi elemen dilakukan dengan menguraikan dokumen XML menjadi struktur pohon dengan pengurai DOM parser. Selanjutnya pencarian elemen yang inkonsisten dalam dokumen XML yang telah diurai dilakukan oleh aturan konsistensi yang telah dikonversi dalam bahasa query XPath. Hasil pengujian menunjukkan bahwa aturan konsistensi yang diterapkan pada dokumen XMLdapat mendeteksi semua inkonsistensi yang terdapat pada dokumen XML diagram kelas dan diagram sekuensial. Kata Kunci: konsistensi model, UML diagram, inkonsistensi elemen.
1. Pendahuluan Unified Modeling Language (UML)merupakan standarisasi bahasa pemodelan yang dikembangkan untuk membantu pengembang sistem dalam membangun, menspesifikasikan, dan memvisualisasikan sebuah sistem pengembangan perangkat lunak berorientasi objek. Pengembang sistem menggunakan UML untuk memodelkan kebutuhan dan fungsionalitas dari sebuah sistem.UML terdiri dari beberapa tipe diagram, yaitu diagram aktifitas, diagram kelas, diagram kolaborasi, diagram komponen, diagram penempatan (deployment), diagram objek, diagram paket, diagram kasus pengguna, diagram urutan dan diagram statechart. Keterkaitan masing-masing diagram dalam UML dapat menimbulkan resiko adanya inkonsistensi pada elemen model UML. Permasalahan yang banyak diangkat dalam penelitian terkait dengan pemodelan UML adalah mengenai konsistensi dalam sebuah model [1,2].Adanya desain model yang tidak konsisten seringkali menyulitkan seorang pengembang dalam menganalisis desain model tersebut. Misalnya, Sebuah desain model yang dirancang oleh beberapa pengembang secara pararel dapat menimbulkan inkonsistensi elemen karena model yang dihasilkan dapat berbeda.Selain itu pemahaman yang kurang mengenai keterkaitan antar model dapat pula menghasilkan inkonsistensi elemen antar model. Terdapat beberapa mekanisme untuk memeriksa inkonsistensi elemen model UML, namunsebagian besartidak menerapkan aturan konsistensi dalam mengevaluasi inkonsistensi 13 | N E R O
Jurnal Ilmiah NERO Vol. 1, No.2
2014
elemen model. Selain itu, beberapa mekanisme yang dilakukan dalam memeriksa inkonsistensi elemen UMLhanya mendukung pada diagram yang terstruktur saja dan belum terlalu mendukung pada diagram perilaku, misalnya diagram sekuensial. Oleh karena itu diperlukan alat yang dapat memeriksa adanya inkonsistensi elemen pada kedua tipe model UML. Penerapan aturan konsistensi pada model UML juga diperlukan agar informasi inkonsistensi elemen model UML semakin akurat. Dengan mengacu pada permasalahan mengenai konsistensi model, maka kontribusi pertama pada makalah ini adalah melengkapi aturan konsistensi pada penelitian sebelumnya [egyed], dengan menambahkan dua aturan konsistensi untuk memeriksa inkonsistensi elemen pada diagram kelas dan diagram sekuensial. Kontribusi kedua adalah membangun sebuah model untuk memeriksa konsistensi elemen pada model UML (diagram kelas dan diagram sekuensial) berdasarkan aturan konsistensi yang telah ditetapkan. Pemeriksaan terhadap elemen model UML yang inkonsisten dilakukan pada diagram UML yang telah dikonversi kedalam dokumen XML(eXtensible Markup Language).Pemilihan format dokumen dalam XMLdilakukan karena XMLmendeskripsikan semua elemen dari diagram UML kedalam sebuah sebuah struktur berbentuk dokumen. XML menyediakan format data yang terstruktur dan terurut, sehingga data lebih mudah dipahami[3]. Selain itu data XML dapat diakses dimana saja dan pengolahan data XML menghemat memori [4]. 2. Penelitian Terkait Penelitian yg sudah pernah dilakukan oleh Alexander Egyed [1] berkaitan dengan konsistensi model, membagi-bagi domain ke dalam cakupan atau ruang lingkupyang disebut sebagai ruang lingkup dampak perubahan (Change Impact Scope, secara singkat ditulis CIS). CIS kemudian diinstansiasi menjadi instansiasi aturan konsistensi (Consistency Rule Instances, secara singkat ditulisCRI). Proses pengecekan inkonsistensi dilakukan dengan membandingkan aturan konsistensi dengan model elemen berbasis pencocokan kata (text matching). Penelitian lain yang sudah pernah dilakukan berkaitan dengan konsistensi model fokus kepada konsistensiyang terjadi antara spesifikasi kebutuhan dan UML diagram[9]. Konsistensi antar diagram dalam UML tidak diperiksa. Penelitian lain yang berkaitan dengan transformasi model [5], dilakukan dengan membuat grafikdari keterkaitan antara model elemen suatu model dan menuliskan properti semantiknya. Perbandingan penelitian terkait yang menjadi dasar penentuan kontribusi penelitian ini dapat dilihat pada Tabel 1. Tabel1. PerbandinganPenelitianTerkait
Model yang dianalisa Fokus konsistensi yang diperiksa Metode yang digunakan
Egyed [1]
UML
Konsistensi antar diagram UML Pencocokan kata
UML
Liu [5]
Konsistensi dalam transformasi model
Representasi grafik dan penulisan properti semantik
UML
Kroha [6]
Konsistensi antara spesifikasi kebutuhan, kasus pengguna dan diagram kelas Penalaran pada ontologi
Pengecekan konsistensi dilakukan untuk antar diagram dalam UML, khususnya diagram kelas dan diagram sekuensial. Model yang dibangun mengandung informasi mengenai dokumen XML yang terkait pada penelitian ini, penguraian dokumen XML agar dapat diproses, aturan konsistensi yang akan diterapkan,dan properti lain yang mempengaruhipemeriksaan konsistensi 14 | N E R O
Jurnal Ilmiah NERO Vol. 1 No. 2
2014
model UML. Model yang dibangun akan direpresentasikan dalam sebuah kakas bantu menggunakan Java dan bahasa query Xpath. 3. Dasar Teori 3.1Unified Modeling Language (UML)
UML digunakan untuk menspesifikasikan, memvisualisasikan dan mendokumentasikan sistem. Masing-masing diagram UMLakan merepresentasikan aspek dan sudut pandang yang berbeda dari sebuah sistem. Tsiolakis [7] menyatakan bahwa diagram kelas merepresentasikan struktur statis dalam sebuah sistem, sedangkan diagram sekuensial menggambarkan interaksi pesan yang terjadi antara objek.Diagram kelas menunjukkan struktur statis dari suatu sistem, seperti, elemen sistem, struktur internal dan relasi antar elemen sistem yang satu dengan yang lain. Elemen sistem meliputi kelas, atribut, operasi dan relasi antar kelas.Diagram sekuensial merepresentasikan interaksi antar objek dalam gambaran logis dari sebuah sistem.Diagram sekuensial menggambarkan objek yang terlibat dalam skenario dan urutan pesan yang dipertukarkan antar objek untuk melaksanakan fungsi skenario tersebut.Objek-objek yang berkaitan dengan operasi diurutkan dari kiri ke kanan secara berurutan dan berdasarkan waktu tertentu [8]. 3.2Extensible Markup Language XML adalah suatu bahasa markup yang dirancang untuk menyampaikan informasi atau data dan tidak bergantung pada kakas bantu tertentu. Markup yaitu bahasa yang berisi kode-kode dengan tanda dan aturan tertentu untuk memformat dokumen teks dengan tags agar mudah dimengerti [9]. Proses pembacaan dokumen XML disebut juga parsing. Kusnawi [4] menyatakan XMLparser sebagai parsing / pengurai XML berbentuk pustaka perangkat lunak yang memberikan layanan bagi aplikasi yang akan membaca dan mengambil data didalam dokumen XML. Salah satu cara untuk mengakses dan menampilkan elemen XML adalah dengan menggunakan teknik scripting. Teknik scripting dapat digunakan untuk menguraikan sebuah dokumen XML yang berpedoman pada XMLparser. Terdapat pengurai XML yang sering digunakan yaitu DOM (Document Object Model). DOM menggunakan struktur data berbentuk pohon yang serupa dengan dokumen XML yang sedang diurai. Setiap elemen XML memiliki satu simpul / elemen dengan tipenya masing-masing. Dokumen XML memiliki tipe document, sedangkan elemen didalam dokumen umumnya bertipe Element. Atribut-atribut yang dimiliki oleh elemen diwakili obyek bertipe Attr. Sedangkan komentar dan teks mempunyai tipe CharacterData. 3.3Aturan Konsistensi Aturan konsistensi mendeskripsikan suatu kondisi yang harus dipenuhi oleh model UML sehingga model tersebut dapat dikatakan sebagai model yang konsisten.Terdapat 24 aturan konsistensi yang terdapat dalam penelitian Egyed [1].Dari ke-24 aturan konsistensi, 80% merupakan aturan konsistensi untuk diagram kelas saja, sehingga diperlukan studi eksplorasi lebih jauh untuk mendapatkan aturan konsistensi untuk memeriksa konsistensi antar UML diagram. 3.4Bahasa Query XPATH XPath digunakan untuk melakukan pencarian simpul/elemen dalam dokumen XML yang telah diurai oleh DOMparser.Sebuah dokumen XML hanya mempunyai satu simpul akar.Dalam simpul akar berisi elemen-elemen yang terdapat dalam sebuah dokumen XML.Dalam ekspresi 15 | N E R O
Jurnal Ilmiah NERO Vol. 1, No.2
2014
XPath simpul akar direpresentasikan dengan sebuah garis miring tunggal (/).Simpul elemen merupakan setiap elemen yang terdapat pada sebuah dokumen XML.Sebuah simpul elemen setidaknya mempunyai satu simpul atribut.Simpul atribut menjelaskan fitur sebuah simpul elemen.Simpul teks berisi teks dari suatu simpul elemen. Nama sebuah simpul elemen tidak dapat dijadikan simpul teks, hal ini dilakukan agar tidak terjadi kerancuan informasi antara simpul elemen dengan simpul teks.Simpul komentar digunakan sebagai dokumentasi yang berisi keterangan untuk memperjelas isi dokumen XML. Sebuah simpul instruksi pemrosesan dibagi menjadi dua bagian yaitu nama (nilai kembalian untuk fungsi name()) dan nilai string. Sebuah ekspresi XPath akan mengembalikan nilai dengan tipe data tertentu. 4. Metodologi Penelitian Langkah-langkah yang dilakukan pada penelitian ini sampai diperoleh luaran akhir berupa model untuk memeriksa konsistensi berdasarkan aturan konsistensi dapat dilihat pada Tabel 2. Tabel 2. Langkah-langkah penelitian Langkah Penelitian Keluaran Tiap Tahap Mengkonversi diagram UML Dokumen UML berupa dokumen XML dari 1. menjadi dokumen UML. diagram kelas dan diagram sekuensial Dua aturan konsistensi (aturan konsistensi 25 2. Penggunaan aturan konsistensi dan aturan konsistensi 26) Implementasi aturan konsistensi 3. Aturan konsistensi dalam sintaks XPath dalam bahasa query XPath Inkonsistensi elemen model UML yang 4. Pengujian dan evaluasi terdeteksi berdasarkan aturan konsistensi Langkah yang harus dilakukan pertama adalah mengkonversi diagram UML menjadi dokumen XML.Sebelumnya dilakukan perancangan terhadap diagram kelas dan diagram sekuensial yang akan diperiksa dengan menggunakan kakas bantu pemodelan UML yang dalam penelitian ini menggunakan Enterprise Architect (EA). Setiap jenis kakas bantu pemodelan UML akan menghasilkan dokumen XML dengan struktur yang berbeda. Pada proses konversi setiap elemen pada diagram UMLakan dipetakan kedalam simpul-simpul atau elemen-elemen sebuah dokumen XML. Simpul/elemen pada dokumen XMLakan membentuk struktur pohon. Sebuah pohon akan dimulai dari akar dan memiliki cabang sampai level yang paling rendah.Struktur dokumen XML untuk diagram kelas diperlihatkan pada Tabel 3. Tabel 3. Struktur dokumen XMLdiagram kelas Elemen dokumen XML Keterangan No.
<XMI xmi.version="1.1" XMLns:UML="omg.org/UML1.3" timestamp="2014-06-19 10:21:07"> <XMI.header> <XMI.content> <XMI.extensions xmi.extender="Enterprise Architect 2.5"/> 16 | N E R O
Merupakan akar dari dokumen XMI, yang berisi informasi versi, namespaces, dan waktu pembuatan file XML
Mengandung dokumentasi elemen XMI, dan informasi kakas bantu yang digunakan untuk menghasilkan file XMI Berisi informasi mengenai isi dari dokumen XMI, yaitu dokumen XMI dari diagram kelas sepertinama paket, nama kelas, nama atribut, metode dan semua elemen diagram kelas. Elemen <XMI.extension> berisi informasi representasi, misalnya tata letak, nama kakas bantu yang digunakan.
Jurnal Ilmiah NERO Vol. 1 No. 2
2014
Sama dengan diagram kelas, pada diagram sekuensial setiap elemennya akan dipetakan dalam dokumen XML, seperti yang terlihat pada Tabel 4. Tabel 4. Struktur dokumen XML diagram sekuensial
Elemen dokumen XML
<XMI xmi.version="1.1" XMLns:UML="omg.org/UML1.3" timestamp="2014-06-16 09:38:06"> <XMI.header> <XMI.content> <XMI.extensions xmi.extender="Enterprise Architect 2.5"/>
Keterangan
Merupakan akar dari dokumen XMI, yang berisi informasi versi, namespaces, dan waktu generasi file xmi Mengandung dokumentasi elemen XMI, dan informasi kakas bantu yang digunakan untuk menghasilkan file XMI Berisi informasi mengenai isi dari dokumen XMI, yaitu dokumen XMI dari diagram seperti nama aktor, objek,pesan. Elemen <XMI.extension> berisi informasi representasi, misalnya tata letak, nama kakas bantu yang digunakan.
5. Hasil Dan Pembahasan 5.1 Model Pemeriksa Konsistensi Berdasarkan Aturan Konsistensi Penelitian ini membangun sebuah model untuk memeriksa adanya inkonsistensi elemen pada model UML. Pengujian model dilakukan dengan merepresentasikan model tersebut kedalam sebuah sistem. Sistem ini digunakan untuk melakukan pengujian apakah aturan konsistensi yang dihasilkan dan diterapkan pada dokumen XML dapat menghasilkan luaran yang sesuai dengan model yang dibangun. Selanjutnya hasil luaran dari sistem yang dibangun akan dibandingkan dengan hasil analisis pakar untuk mengetahui sisi kebenaran dari jalannya sistem yang dibangun. Model pemeriksa konsistensi model UML diperlihatkan pada Gambar 1.
Gambar 1. Model pemeriksa konsistensi model UML.
Dibutuhkan data uji berupa dokumen XML dari diagram kelas dan diagram sekuensial dalam pemeriksaan konsistensi diagram UML. Dokumen XMLakan diuraikan oleh pengurai DOM agar dapat dibaca dan dilakukan proses manipulasi data didalamnya. Struktur dokumen XML setelah diuraikan oleh DOMakan berbentuk pohon. Proses pencarian elemen yang inkonsisten dilakukan dengan query aturan konsistensi.Penelitian ini menggunakan pengurai DOMparser karena DOMparser mendukung bahasa query XPath yang dalam penelitian ini 17 | N E R O
Jurnal Ilmiah NERO Vol. 1, No.2
2014
digunakan untuk mengkonversi aturan konsistensi. Selain itu DOMparser menciptakan struktur pohon (tree) berdasarkan dokumen XML, sehingga memudahkan dalam menambah atau menghapus elemen dalam dokumen XML. Beberapa pernyataan tersebut yang menjadikan pertimbangan mengapa penelitian ini menggunakan DOMparser sebagai pengurai dokumen XML yang akan diuji konsistensi elemennya.Aturan konsistensi pada penelitian ini diperoleh berdasarkan studi kritis mengenai karakteristik dua diagram UML. Aturan konsistensi yang ditambahkan dapat dilihat pada Tabel 5. Tabel 5. Aturan Konsistensi Aturan Konsistensi
Aturan konsistensi 25 Aturan konsistensi 26
Keterangan
Nama kelas pada diagram kelas harus unik Nama objek dalam diagram sekuensial harus sama dengan nama kelas pada diagram kelas
Aturan konsistensi 25 mengatur mengenai penamaan kelas. Fungsi dari penamaan sebuah kelas adalah untuk membedakan dari kelas yang lain, sehingga masing-masing kelas harus mempunyai nama yang unik. Seperti yang diunggah pada Rules and Guidelines for identifiers (docs.intersystems.com) bahwa penamaan kelas yang unik sangat penting karena berkaitan dengan penulisan kode sumber pada aplikasi. Booch dkk (1998)dalam buku mengenai panduan dalam diagram UML menyatakan bahwa setiap kelas harus memiliki nama yang mengandung arti dan membedakannya dari kelas-kelas lainnya. Ghehabi [2] dalam penelitiannya menyatakan bahwa salah satu poin penting dalam memvalidasi diagram kelas menurut standar UML 2.0 adalah nama kelas harus unik. Hal – hal tersebut yang mendasari bahwa nama kelas harus unik menjadi sebuah aturan konsistensi dalam penelitian ini.Aturan konsistensi 26 adalah nama objek dalam diagram sekuensial harus sama dengan nama kelas pada diagram kelas. Sebuah objek memiliki label dalam standar format UML yaitu name: ClassName, dimana “name” adalah opsional, biasanya merupakan alias dari “ClassName” itu sendiri. Pada diagram kelas, nama kelas memiliki label dengan format ClassName. 5.2Mekanisme Penerapan Aturan Konsistensi Proses pencarian elemen yang inkonsisten menggunakan ekspresi XPath dilakukan dengan mengidentifikasi ekspresi XPath yang digunakan. Untuk mempermudah proses analisis dan pengujian terhadap ekspresi XPath maka dalam penelitian ini ekspresi XPath dibagi menjadi tiga sub-ekspresi yang dipisahkan oleh tanda ‘/’ yaitu (“/pemilihan simpul/perintah pengolahan simpul/tipe data”). Setiap hasil sub-ekspresi akan disimpan dalam himpunan P1, P2, dan P3. Ekspresi XPath dan sub-ekspresi diperlihatkan pada Tabel 6. Tabel 6. Ekspresi dan sub-ekspresi XPath
XPath
Contoh Sub-Ekspresi
Himpunan
Perintah pengolahan simpul Tipe data
/Class[(@name=precedingsibling::Class/@name)]
P2
/@name
P3
Pemilihan simpul
18 | N E R O
/XMI//XMI.content//*
P1
Keterangan
Pemilihan simpul yang sesuai dengan simpul yang dicari, dimulai dari simpul akar. Pengolahan pada simpul ‘Class’ yaitu mencari nama kelas yang sama atau redundan. Mengembalikan tipe data dari atribut ‘name’ hasil pencarian dari sub-ekspresi sebelumnya.
Jurnal Ilmiah NERO Vol. 1 No. 2
2014
Mekanisme pencarian diawali melalui simpul akar, dilanjutkan ke simpul dibawahnya sampai ditemukan simpul yang sesuai yaitu simpul “Class”. Setelah ditemukan simpul yang dicari, selanjutnya ekspresi XPath akan memproses perintah pengolahan simpul “Class” yang mempunyai nama atribut yang sama. Hasil dari proses pengolahan simpul “Class” berupa nama atribut yang sama akan disimpan dalam simpul atribut “@name”. Mekanisme penerapan aturan konsistensi 25 kedalam dokumen XML diagram kelas dapat dilihat pada Gambar 2.
Gambar 2. Penerapan aturan konsistensi 25 pada dokumen XML diagram kelas
Penerapan aturan konsistensi 26 kedalam dokumen XML diagram kelas dan diagram sekuensial dapat dilihat pada Gambar 3.
Gambar 3. Penerapan aturan konsistensi 26 pada dokumen XML diagram kelas dan diagram sekuensial
Mekanisme pencarian yang dilakukan pada dua dokumen diagram kelas dan diagram sekuensial. Proses pencarian simpul diawali dari simpul akar sampai ditemukan simpul elemen “Class” dan simpul elemen “ClassifierRole”. Simpul atribut “@name” pada simpul elemen “Class” berisi namakelas untuk diagram kelas, sedangkan simpul atribut “@name” pada simpul elemen “ClassifierRole” berisi nama obyek pada diagram sekuensial. Sub ekspresi pengolah dua buah simpul tersebut akan mencari nama obyek yang tidak sama dengan nama kelas, dan akan didefinisikan sebagai elemen yang inkonsisten. 5.3 Hasil Penelitian Pemeriksaan konsistensi elemen pada dokumen XML diagram kelas dan diagram sekuensial dilakukan dengan menerapkan dua aturan konsistensi yang telah dihasilkan oleh 19 | N E R O
Jurnal Ilmiah NERO Vol. 1, No.2
2014
penelitian ini. Penerapan masing-maning aturan konsistensi membutuhkan data masukan yang berbeda. Aturan konsistensi 25 hanya diterapkan pada dokumen XML diagram kelas saja, sedangkan aturan konsistensi 26 diterapkan untuk dokumen XML diagram kelas dan diagram sekuensial. Tabel 7. Memperlihatkan data pengujian dan jumlah elemen dari data pengujian. Inisial
Nama Model
Tabel 7. Data Pengujian
Diagram Kelas
Diagram Sekuensial
Data1
VOD_system
VOD_class.XML
Data2
careerPlanning
careerPlanning_cl ass.XML
VOD_sequen ce.XML careerPlannin g_sequence.X ML
JumlahEl emen Model 14
JumlahSi mpulElem en 348
189
3795
5.3.1 Hasil pengujian skenario 1 pada Data1 Skenario 1 pada data uji 1 memeriksa konsistensi elemen nama kelas pada VOD_class.XML. VOD_class.XMLmempunyai elemen nama kelas yang ditampilkan pada Tabel 8. Tabel 8. Elemen nama kelas pada VOD_class.XML No. 1. 2. 3.
Namakelas Display Server Streamer
Hasil identifikasi ekspresi XPath aturan konsistensi 25 terhadap Data1 ditampilkan pada Tabel 9. Tabel 9. Hasil penerapan konsistensi 25 terhadap Data1
Sub-Ekspresi XPath /XMI//XMI.content//* /Class[(@name=precedingsibling::Class/@name)] /@name
Himpunan P1 P2
Hasil P1 = {XMI, XMI.content, UML:Class} P2 = {Display, Server, Streamer}
P3
P3 = {}.
Berdasarkan Tabel 9, pada sub-ekspresi “/@name” menghasilkan himpunan P3= {}, artinya tidak ada nama kelas yang sama. Hasil yang dapat disimpulkan pada pengujian Data1 berdasarkan aturan konsistensi 25 diperoleh hasil bahwa semua elemen nama kelas konsisten dengan aturan konsistensi 25. 5.3.2 Hasil pengujian skenario 2 pada Data1 Skenario 2 digunakan untuk menguji aturan konsistensi 26 terhadap dua dokumen XML. Dokumen XML diagram kelas dan diagram sekuensial akan digabung dan disimpan pada dokumen VOD_merge.XML. Hasil pengujian menggunakan ekspresi XPath aturan konsistensi 26 terhadap Data1 ditampilkan pada Tabel 10. 20 | N E R O
Jurnal Ilmiah NERO Vol. 1 No. 2
2014
Tabel 10 Hasil penerapan konsistensi 26 terhadap Data1
Sub-Ekspresi XPath /XMI//XMI.content//* /Class[!=(@name=precedingsibling::Class/@name)] /@name
Himpunan Hasil P1 P1 = {XMI, XMI.content, UML:Class} P2 P2 = {Display, Server, Streamer, dis:Display,str:Streamer} P3 P3 = {}.
Pada Tabel 10 sub ekspresi terakhir menghasilkan P3 = { }, sehingga dapat disimpulkan bahwa tidak ada elemen yang inkonsisten terhadap aturan konsistensi 26.
6. Kesimpulan Dan Saran Penelitian yang dilakukan adalah menerapkan model yang telah dibangun untuk memeriksa konsistensi elemen dari dokumen UML, khususnya diagram kelas dan diagram sekuensial yang direpresentasikan kedalam dokumen XML. Model yang dibangun adalah menerapkan DOMparser untuk mengurai dokumen XML menjadi struktur pohon dan menerapkan aturan konsistensi dalam bahasa query XPath untuk melakukan pencarian elemen dokumen XML yang inkonsisten terhadap aturan konsistensi. Permasalahan pokok dalam penelitian ini adalah apakah model yang dibangun dapat menghasilkan informasi konsistensi elemen dokumen UML yang akurat Kesimpulan dari penelitian ini adalah sebagai berikut.
1.
Hasil pengujian terhadap data uji menunjukkan bahwa aturan konsistensi yang diterapkan dapat mendeteksi semua inkonsistensi elemen diagram UML. 2. Konsistensi elemen hasil analisis dengan menggunakan model yang dibangun pada penelitian ini menunjukkan hasil yang akurat. Kesimpulan ini berdasarkan hasil pengujian yang ditunjukkan oleh kakas bantu mempunyai hasil keluaran yang sama dengan hasil analisis yang dilakukan pakar. 3. Dari hasil pengujian pada penelitian ini masih terdapat ancaman keabsahan, yaitu model yang dibangun hanya terbatas untuk mendeteksi inkonsistensi elemen pada model UML khususnya diagram kelas dan diagram sekuensial. Selain itu model yang dibangun belum dapat mendeteksi adanya perubahan secara semantic pada elemen diagram UML. 4. Penelitian ini belum dapat mendeteksi inkonsistensi elemen diagram UML yang diakibatkan kesalahan dalam pengetikan / penulisan elemen. Saran yang dikemukakan terkait dengan adanya ancaman keabsahan hasil analisis penelitian. Sehingga untuk penelitian lebih lanjut diharapkan dapat mengatasi ancaman keabsahan dari penelitian ini. Beberapa saran yang dapat dipertimbangkan adalah sebagai berikut.
1. Penambahan integrasi XMLsemantic dapat diterapkan pada penelitian lebih lanjut untuk mengatasi permasalahan perubahan secara semantik ataupun perubahaan yang dikarenakan kesalahan pengetikan nama elemen diagram UML. 2. Pemeriksaan konsistensi elemen diagram UML dapat diperluas untuk studi kasus diagram UML yang lain, misalnya diagram grafik keadaan, atau diagram kasus pengguna.
21 | N E R O
Jurnal Ilmiah NERO Vol. 1, No.2
2014
7. DAFTAR PUSTAKA [1] Egyed, A. (2011). Automatically Detecting and Tracking Inconsistencies in Software Design Models. IEEE Transaction on Software Engineering, 2. [2] Gherabi, N., & Bahaj, M. (2011). Robust Representation for Conversion UML Class into XML Document using DOM. International Journal of Computer Applications, 09758887. [3] Krumbein, T., & Kudrass, T. (2004). Ruled-Based Generation of XML Schemas from UML Class Diagram. [4] Kusnawi. (2010). Teknik Document Object Model (DOM) untuk Manipulasi Dokumen XML. [5] Liu, Z., Jiang, F., & Qian, S. (2010). Semantic Consistency Checking For Model Transformations. IEEE. [6] Kroha, Robert, J., & Jelabra. (2009). Ontologies in Checking for Inconsistency of Requirements Spesification. International Conference on Advances in Semantic Processing. [7] Tsiolakis, A. (2000). Consistency Analysis of UML Class and Sequence Diagrams based on Attributed Typed Graphs and their Transformation. [8] Dharwiyanti, S., & Wahono, R. S. (2003). Pengantar Unified Modeling Language (UML). IlmuKomputer.com. [9]
Supriyanto, A. (2007). Web dengan HTML &XML. Bandung: Graha Ilmu.
22 | N E R O