• Tidak ada hasil yang ditemukan

Implementasi dan Analisis Visualisasi Graph Pada Graph Statis Menggunakan Representasi Visual Treemap

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi dan Analisis Visualisasi Graph Pada Graph Statis Menggunakan Representasi Visual Treemap"

Copied!
67
0
0

Teks penuh

(1)

Implementasi dan Analisis Visualisasi Graph Pada Graph Statis

Menggunakan Representasi Visual Treemap

Implementation and Analysis of Visualization Graph Toward Static

Graph Using Visual Representation Treemap

Tugas Akhir

Diajukan untuk memenuhi sebagian dari syarat untuk memperoleh gelar Sarjana Komputer

School of Computing Telkom University

Lukman Arie Susanto 1103138515

Program Studi Sarjana Teknik Informatika

Fakultas Informatika

Universitas Telkom

Bandung

(2)

i

Lembar Pernyataan

Dengan ini saya menyatakan bahwa tugas akhir dengan judul “Implementasi dan Analisis Visualisasi Graph Pada Graph Statis Menggunakan Representasi Visual Treemap” beserta seluruh isinya adalah benar-benar karya saya sendiri. Saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika keilmuan yang ada. Atas pernyataan ini, saya siap menanggung resiko atau sanksi yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini.

Bandung, September 2015 Yang Membuat Pernyataan,

(3)

ii

Lembar Pengesahan

Implementasi dan Analisis Visualisasi Graph Pada Graph

Statis Menggunakan Representasi Visual Treemap

Implementation and Analysis of Visualization Graph Toward

Static Graph Using Visual Representation Treemap

Lukman Arie Susanto 1103138515

Tugas akhir ini sudah diterima dan disahkan untuk memenuhi sebagian dari syarat untuk memperoleh gelar Sarjana Komputer

School of Computing Telkom University

Bandung, September 2015 Menyetujui

Pembimbing 1 Pembimbing 2

Kemas Rahmat Saleh W., S.T., M.Eng. Shinta Yulia Puspitasari, S.T.,M.T. NIP : 06830335-1 NIP : 13881172-3

(4)

iii

Abstrak

Implementasi graph dapat diterapkan di bidang sosial network, transportasi, biokimia, dan lain-lain. Visualisasi graph pada media sosial menghubungkan antar orang untuk saling bertukar informasi. Pada bidang transportasi menggambarkan jalur atau jalan dengan tempat tertentu sebagai node atau titik. Permasalahan yang timbul jika data tersebut sangat besar maka akan menimbulkan masalah dalam hal visualisasi graph tersebut. Tampilan graph yang besar mempengaruhi pengguna menjadi tidak dapat membaca dan memahami data-data pada visualisasi graph. Selain itu karena data yang besar membuat node-node dan sisi saling overlap dan menggunakan ruang tampilan yang besar. Oleh karena itu dibutuhkan visualisasi yang efektif dan efisien. Pada tugas akhir ini membahas judul Implementasi dan Analisis Graph pada Graph Statis Menggunakan Representasi Visual Treemap. Implementasi treemap pada tugas akhir ini adalah menggunakan data graph berarah dengan konten dataset social network wiki vote. Selain itu juga output yang ditampilkan yaitu berupa visualisasi treemap 2D. Implementasi treemap ini juga dapat berinteraksi dengan user untuk melihat hubungan antar node. Hasil yang diperoleh dari penelitian ini adalah bahwa dengan menggunakan data graph berarah, maka data yang tampil pada visualisasi lebih banyak daripada jumlah dari dataset. Selain itu juga visualisasi treemap ini efektif karena user dapat melihat node yang dipilih terhubung ke node mana saja. Tetapi kekurangan yang didapat adalah bahwa user terlebih dahulu harus mencari node yang ingin dipilih sehingga hal ini menjadi tidak efisien karena membutuhkan waktu yang lebih banyak. Penelitian yang akan datang diharapkan dapat menggunakan visualisasi graph dengan representasi visual yang lain selain treemap dan juga menggunakan graph yang dinamis.

(5)

iv

Abstract

Graph implementation can be seen in several fields such as social network, transportation, biochemistry, and so on. Graph visualization connected the people to share the information through social media. Moreover, it reflects the track or path of certain place as node or point. If the data are too large, they will cause problem in graph visualization. The big appearance of the graph becomes obstacles for the user to read or even uderstand the data of graph visualization. Besides that, the big data create some nodes and the sides are overlap to each other, so they need a large space to be shown. Therefore, the effective and effiecient visualization is needed. This research entitled Implementation and Analysis of Static Graph Visualization Using Graph In Visual Representation Treemap. Treemap implementations in this thesis is the use of data directed graph with the social network dataset content wiki vote. In addition, the output is displayed in the form of 2D treemap visualization. This treemap implementations may also interact with the user to see the relationships between nodes. The results obtained from this study is that the use of data directed graph, the data displayed on the visualization greater than the number of datasets. In addition, the treemap visualization is effective because the user can see the selected node is connected to a node anywhere. But the lack gained is that the user must first search for nodes that want to be chosen so that it becomes inefficient because it requires a lot more time. Future research is expected to use visualization graphs with visual representations other than treemap and also uses a dynamic graph.

(6)

v

Lembar Persembahan

Alhamdulillah rasa syukur kepada Allah SWT yang telah membantu penulis dalam menyelesaikan tugas akhir ini. Atas rahmat dan hidayah-Nya semua proses pengerjaan tugas akhir dapat berjalan dengan baik. Shalawat serta salam kepada Nabi Muhammad SAW, sebagai tauladan bagi umat manusia. Pada halaman persembahan ini, penulis dengan segala kerendahan hati dan ketulusan hati, ingin menyampaikan rasa terima kasih yang sangat besar kepada:

1. Kedua orang tua penulis, Bapak Suhardjono dan Ibu Sumiyati, yang selalu memberikan dukungan, kasih sayang, do’a dan nasihat sehingga penulis dapat menghadapi berbagai rintangan selama proses perkuliahan dan proses pengerjaan tugas akhir ini.

2. Kakak penulis Lucky Hardiyanto dan adik penulis Tri Irfan Santoso yang juga telah memberikan semangat kepada penulis dalam menyelesaikan tugas akhir ini.

3. Bapak Kemas Rahmat Saleh W.,S.T.,M.Eng. sebagai dosen pembimbing 1 dan Ibu Shinta Yulia Puspitasari,S.T.,M.T. sebagai dosen pembimbing 2. Terima kasih banyak atas semua arahan, masukan bimbingan, ilmu dengan penuh kesabaran dan waktu yang diluangkan kepada penulis.

4. Bapak Erda Guslinar Perdana,S.T.,M.T. sebagai dosen wali pada semester satu sampai dengan semester tiga yang telah membantu semua proses perwalian hingga sampai proses pengerjaan tugas akhir ini.

5. Ibu Anisa Herdiani,S.T.,M.T. sebagai dosen wali yang juga membantu melancarkan proses pengerjaan tugas akhir ini.

6. Ibu Gia Septiani,S.T.,M.T. sebagai dosen yang juga telah membantu dan memberikan ilmu selama pengerjaan tugas akhir.

7. Seluruh dosen Telkom University khususnya di fakultas Informatika yang sudah banyak memberikan ilmu, arahan, bimbingan dan dukungan yang telah diberikan sampai sekarang.

8. Muhammad Taufik,S.Kom teman seperjuangan penulis dari D3 hingga ekstensi S1 yang telah berbagi suka maupun duka bersama-sama hingga saat ini dan perjuangan mengerjakan tugas akhir.

9. Nz. Ghaliyah Azhar Afra,S.S. yang telah menemani, mendukung mendo’akan dan mewarnai hidupku selama proses pengerjaan tugas akhir ini.

10. Teman-teman DBD 10-06, khususnya Aditya Nugraha Munawar yang telah memberikan semangat dan dukungan selama proses pengerjaan tugas akhir. 11. Anak kosan narendra,Riqi,Habib,Fauzan,Yoni,Reza,Surya yang juga telah

membantu kelancaran pengerjaan tugas akhir dan dukungan dari kalian yang sangat luar biasa. Serta kepada Ika Juliyanti pacarnya Riqi atas dukungan dan do’anya.

12. Teman-teman IFX 37-01 yang sama-sama berjuang mengerjakan tugas akhir ini. Terima kasih atas kebersamaan dan dukungan kalian semua.

(7)

vi

13. Teman-teman laboratorium basis data, dion, anita dan anak basis data lainnya. Terima kasih telah memberikan tempat dan ilmu sehingga dapat membantu menyelesaikan tugas akhir ini.

14. Teman-teman seperjuangan tugas akhir yang sedang berjuang untuk bisa lulus tepat pada waktunya, semangat untuk kita semua dan sukses selalu.

15. Semua pihak yang berkontribusi dalam kelancaran pengerjaan tugas akhir yang tidak bisa disebutkan satu persatu. Terima kasih atas dukungan dan bantuan yang telah diberikan.

(8)

vii

Kata Pengantar

Segala puji dan syukur senantiasa dipanjatkan kehadirat Allah SWT karena atas nikmat, rahmat, dan hidayahnya yang telah diberikan akhirnya penulis dapat menyelesaikan dengan baik tugas akhir yang berjudul “Implementasi dan Analisis Visualisasi Graph Pada Graph Statis Menggunakan Representasi Visual Treemap”. Tujuan dari tugas akhir ini adalah untuk melakukan penelitian dalam bidang yang diambil dan juga sebagai syarat salah satu kelulusan untuk memperoleh gelar sarjana di Fakultas Informatika Telkom University.

Penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu dalam menyelesaikan tugas akhir ini. Ilmu, waktu dan tempat yang sudah diberikan kepada penulis semoga dapat bermanfaat setiap saat.

Selama melakukan penelitian hasil dan pengamatan ditulis dalam buku tugas akhir ini. Dalam penyusunan buku ini penulis masih menyadari banyak kesalahan dalam hal penulisan maupun susunan tata tulis karya ilmiah. Saran dan kritik yang membangun atau untuk memperbaiki kesalahan yang ada sangat dibutuhkan penulis dari pembaca untuk kemajuan yang lebih baik lagi atau meneruskan dari hasil penelitian ini di masa yang akan datang.

Bandung, September 2015

(9)

viii

Daftar Isi

Lembar Pernyataan ... i Lembar Pengesahan ... ii Abstrak ... iii Abstract ... iv Lembar Persembahan ... v

Kata Pengantar ... vii

Daftar Isi... viii

Daftar Gambar ... x

Daftar Tabel ... xii

Daftar Istilah ... xiii

1. Pendahuluan ... 1 1.1 Latar Belakang ... 1 1.2 Perumusan Masalah ... 2 1.3 Tujuan ... 2 1.4 Batasan Masalah ... 2 1.5 Metodologi Penyelesaian ... 3 1.6 Sistematika Penulisan ... 4 2. Landasan Teori... 5 2.1 Graph ... 5 2.1.1 Jenis Graph ... 5 2.2 Graph Berarah ... 6 2.3 Tree ... 7

2.4 Representasi Visual Graph Statis ... 8

2.4.1 Tree Termasuk Hierarki ... 8

2.5 Squarified Treemap ...12

2.5.1 Squarification ...12

(10)

ix

2.6 JSON ...17

2.6.1 Penggunaan JSON ...18

2.6.2 Karakteristik JSON ...18

3. Perancangan Sistem...19

3.1 Gambaran Umum Sistem ...19

3.2 Use Case Sistem ...31

3.2.1 Diagram Use Case ...31

3.2.2 Skenario Use Case ...32

3.3 Class Diagram ...35

3.4 Spesifikasi Kebutuhan Sistem ...36

3.4.1 Kebutuhan Perangkat Keras ...36

3.4.2 Kebutuhan Perangkat Lunak ...36

4. Pengujian dan Analisis ...37

4.1 Tujuan Pengujian ...37

4.2 Parameter Pengujian ...37

4.3 Skenario Pengujian ...37

4.3.1 Pengujian Kesesuaian Jumlah Data Node yang Tampil Terhadap Dataset ...38

4.3.2 Pengujian Interaksi User Terhadap Kesesuaian dari Struktur Graph ...38

4.3.3 Pengujian Perbandingan Struktur Antara Graph Biasa Dengan Treemap ...38

4.3.4 Pengujian Interaksi User Terhadap Informasi yang ada Pada Treemap ...38

4.4 Analisis Hasil Pengujian ...38

4.4.1 Analisis Hasil Jumlah Data Node yang Tampil Terhadap Dataset ...39

4.4.2 Analisis Hasil Interaksi User Terhadap Kesesuaian dari Struktur Graph...39

4.4.3 Analisis Hasil Perbandingan Struktur Antara Graph Biasa Dengan Treemap.41 4.4.4 Analisis Hasil Interaksi User Terhadap Informasi yang ada Pada Treemap ...51

5 Kesimpulan dan Saran ...52

5.1 Kesimpulan ...52

5.2 Saran ...52

(11)

x

Daftar Gambar

Gambar 2-1 Graph dengan 5 titik dan 7 sisi [3] ... 5

Gambar 2-2 Klasifikasi graph berdasarkan time dependence dan struktur graph [6] ... 6

Gambar 2-3 Jenis Digraph [2] ... 7

Gambar 2-4 Beberapa trees [4] ... 7

Gambar 2-5 Node-link diagram [6] ... 8

Gambar 2-6 Space Filling diagram [6] ... 9

Gambar 2-7 Representasi Kombinasi [6] ... 9

Gambar 2-8 Treemap [6] ...10

Gambar 2-9 Icicle Plot [6] ...11

Gambar 2-10 Beamtree [6] ...11

Gambar 2-11 Vanishing Point Right Top Squarified Layout [13] ...12

Gambar 2-12 Subdivision Problem [1] ...13

Gambar 2-13 Subdivision Algorithm [1] ...14

Gambar 2-14 Nesting [1]...16

Gambar 2-15 Frames [1] ...17

Gambar 3-1 Alur Sistem Visualisasi ...19

Gambar 3-2 Mengubah Data Excel ke Data Graph ...20

Gambar 3-3 Beberapa Node yang Merupakan Root ...20

Gambar 3-4 Root Semesta yang Terhubung ke Beberapa Root ...21

Gambar 3-5 Mengubah Data Graph ke Dokumen JSON ...21

Gambar 3-6 Pembentukan Root Dengan Node-Node Indegree Nol di Dokumen JSON ...22

Gambar 3-7 Graph yang Terbentuk dari Data di Tabel...23

Gambar 3-8 Struktur Tree dari Graph ...24

Gambar 3-9 Struktur Tree dengan Boundary ...25

Gambar 3-10 Dokumen JSON yang Terbentuk dari Struktur Tree ...26

Gambar 3-11 Dokumen JSON Diinputkan Untuk Visualisasi Treemap ...27

Gambar 3-12 Transformasi Tree ke Bentuk Treemap ...27

Gambar 3-13 Treemap Setelah Node 25 Dipilih ...28

Gambar 3-14 Implementasi Visual Treemap ...29

Gambar 3-15 Tampilan Untuk Convert Data ...30

Gambar 3-16 Diagram Use Case Sistem ...31

Gambar 3-17 Diagram Kelas Sistem Visualisasi Treemap ...35

Gambar 4-1 Hasil Visual Treemap ...39

Gambar 4-2 Hasil Treemap setelah Interaksi User ...40

Gambar 4-3 Hasil Potongan Program Suatu Node ...40

Gambar 4-4 Hasil Tampilan Graph Biasa ...41

(12)

xi

Gambar 4-6 Hasil Struktur Tree yang Terbentuk dari 4 Node ...42

Gambar 4-7 Hasil Treemap Struktur 4 Node ...43

Gambar 4-8 Hasil Treemap(2) Struktur 4 Node ...43

Gambar 4-9 Hasil Struktur Graph dengan 5 Node ...44

Gambar 4-10 Hasil Struktur Tree yang Terbentuk dari 5 Node ...44

Gambar 4-11 Hasil Treemap Struktur 5 Node ...45

Gambar 4-12 Hasil Treemap(2) Struktur 5 Node ...45

Gambar 4-13 Hasil Treemap(3) Struktur 5 Node ...46

Gambar 4-14 Hasil Treemap(4) Struktur 5 Node ...46

Gambar 4-15 Hasil Struktur Graph dengan 6 Node ...47

Gambar 4-16 Hasil Struktur Tree yang Terbentuk dari 6 Node ...47

Gambar 4-17 Hasil Treemap Struktur 6 Node ...47

Gambar 4-18 Hasil Struktur Graph dengan 7 Node ...48

Gambar 4-19 Hasil Struktur Tree yang Terbentuk dari 7 Node ...48

Gambar 4-20 Hasil Treemap Struktur 7 Node ...49

Gambar 4-21 Hasil Treemap(2) Struktur 7 Node ...49

Gambar 4-22 Hasil Treemap(3) Struktur 7 Node ...50

(13)

xii

Daftar Tabel

Table 3-1 Contoh Data Graph ...23

Table 3-2 Skenario Use Case Konversi Data ...32

Table 3-3 Skenario Use Case Input File Excel ...33

Table 3-4 Skenario Use Case Kelola Visualisasi ...33

Table 3-5 Skenario Use Case Input Dokumen XML ...34

Table 3-6 Skenario Use Case View Visual Treemap ...34

(14)

xiii

Daftar Istilah

Visualisasi Konversi data ke dalam format visual atau tabel sehingga karakteristik dari data dan relasi di antara item data atau atribut dapat di analisis atau dilaporkan

Representasi Pemetaan informasi menjadi format visual

Parent node Node yang berada satu level di atas node yang ditinjau Child Node Node yang berada satu level di bawah node yang ditinjau Derajat/Degree Banyaknya anak/turunan di node tersebut

Indegree Banyaknya derajat masuk ke node tersebut Outdegree Banyaknya derajat keluar dari node tersebut

(15)

1

1. Pendahuluan

1.1 Latar Belakang

Informasi berkembang sangat cepat yang didukung oleh kemajuan teknologi. Bentuk informasi dapat berupa media cetak atau media digital. Informasi berupa media cetak seperti koran, majalah berita, surat kabar dan lain-lain. Untuk informasi media digital dapat diperoleh dengan menggunakan internet. Dengan internet dapat memperoleh informasi apa saja berupa berita, gambar, dan video. Visualisasi informasi berita yaitu berbentuk teks, sedangkan visualisasi informasi dari gambar berbentuk chart, graph, diagram dan lain-lain. Sedangkan visualisasi informasi video yaitu berbentuk video untuk tutorial belajar. Visualisasi gambar dengan bentuk graph sering digunakan dalam bidang biokimia, social network, transportasi dan lain-lain. Simply graph adalah G(V,E) terdiri dari kumpulan objek V ={ , ,…} yang disebut titik, dan kumpulan yang lain E={ , ,…} yang unsur-unsurnya disebut sisi, dimana setiap sisi diidentifikasi dengan pasangan titik ( , ) tak terurut [3]. Misalkan pada social network, orang diidentifikasi sebagai titik dan hubungan yang mewakili antar orang sebagai sisi, maka antar titik terhubung oleh sisi. Jika dalam masalah di atas setiap orang mempunyai teman yang tidak terbatas dan sampai puluhan ribu atau jutaan maka akan menghasilkan titik berjumlah puluhan ribu atau jutaan dengan sisi-sisi yang menghubungi antar titik tersebut. Permasalahan tampilan graph dalam kasus social network yang sangat besar mempengaruhi pengguna menjadi tidak dapat membaca data-data pada graph karena tampilan graph yang sangat padat dan kompleks sehingga sulit mencari titik atau node yang sangat penting atau hubungan antar node tersebut. Kalau pada kasus lain dalam hal bidang transportasi, seperti jalur transportasi kereta atau jalur bus maka jalur-jalur tersebut juga membentuk sebuah graph dimana titik sebagai halte atau stasiun tempat berhenti dan sisi sebagai jalur kereta atau bus. Jika jalur transportasi yang dibangun cukup rumit dan luas maka membentuk graph yang besar. Hal ini akan membuat pembacaan jalur transportasi dalam bentuk graph menjadi sulit karena titik-titik atau sisi yang saling overlap dan juga menggunakan ruang tampilan yang besar.

Pada paper Visual Analysis of Large Graphs menjelaskan bagaimana merancang sebuah sistem analisis visualisasi graph yang efektif. Representasi visual pada paper ini ada berbagai macam dengan berdasarkan struktur graph seperti struktur tree dibagi menjadi tiga teknik yaitu, space filling diagram, node-link diagram dan kombinasi kedua teknik tersebut. Semua representasi visual yang dijelaskan pada paper ini memiliki kelebihan dan kekurangan masing-masing teknik. Teknik space filling mempunyai metode pendekatan lagi atau strategi yang digunakan yaitu, enclosure, adjacency, dan crossings. Teknik space filling diagram dengan metode enclosure atau treemap mempunyai

(16)

2

kelebihan yaitu penggunaan yang sangat baik dari ruang tampilan yang tersedia karena node anak saling overlap dengan node induk [6].

Oleh karena itu diperlukan visualisasi yang efektif dan juga efisien supaya dapat memecahkan masalah di atas. Pada tulisan ini penulis membahas tugas akhir dengan judul Implementasi dan Analisis Visualisasi Graph Pada Graph Statis Menggunakan Representasi Visual Treemap. Algoritma yang digunakan untuk merepresentasikan visualisasi treemap adalah algoritma squarified. Dalam penulisan tugas akhir ini diharapkan dapat membuat visualisasi yang efektif dan efisien serta interaktif agar mudah dibaca dan dipahami oleh pengguna selain itu penggunaan ruang tampilan yang seminimal mungkin.

1.2 Perumusan Masalah

Rumusan masalah dalam penelitian ini adalah :

1. Bagaimana merancang visualisasi graph dengan representasi visual treemap?

2. Bagaimana visualisasi graph dengan visual treemap agar dapat dibaca dan dipahami oleh pengguna?

1.3 Tujuan

Tujuan dari penelitian ini adalah :

1. Mengimplementasikan visualisasi graph pada graph statis dengan representasi visual treemap menggunakan data graph berarah. Ukuran keberhasilan dari penelitian ini adalah data yang ditampilkan pada treemap sesuai dengan dataset.

2. Menggunakan metode atau algoritma squarified yang diimplementasikan pada treemap dengan interaksi pengguna dapat pindah layer sesuai struktur graph agar visualisasi treemap yang dihasilkan efektif.

1.4 Batasan Masalah

Batasan masalah dalam melakukan penelitian ini adalah :

1. Menggunakan library algoritma squarified untuk visualisasi treemap.

2. Dataset yang digunakan adalah mengenai wiki vote dengan konten social networks.

3. Hasil output berupa visualisasi treemap 2D.

4. Tidak membahas tentang social network analysis hanya implementasi graph dengan representasi visual treemap.

(17)

3

1.5 Metodologi Penyelesaian

1. Studi Literatur

Sebelum melakukan penelitian, tahapan pertama adalah studi literatur dengan memilah serta memilih topik atau tema apa yang akan dilakukan untuk penelitian. Setelah sudah diputuskan untuk melakukan penelitian mengenai topik tertentu, selanjutnya adalah mencari sumber-sumber yang terkait mengenai penelitian yang akan dilakukan. Pencarian sumber yang terkait dapat dari buku, jurnal/paper, artikel, internet dan lain-lain.

2. Pengumpulan Data

Melakukan proses pengumpulan data dengan browsing mencari dataset yang tepat mengenai graph sebagai studi kasus yang dibahas dalam melakukan penelitian ini.

3. Preprocessing Data

Pada tahap ini data yang ada kemudian diolah atau pemrosesan awal sebelum diimplementasikan dalam visualisasi treemap. Tahapan preprocessing ini untuk menampilkan suatu visualisasi graph. Dataset yang ada yaitu berupa file excel. Dari file excel tersebut kemudian akan diubah menjadi data graph.

4. Analisis dan Perancangan Sistem

Tahap analisis dan perancangan sistem adalah mendefinisikan semua kebutuhan sistem yang akan dibuat sebuah program. Pada tahap ini dapat juga dikatakan sebagai gambaran umum sistem yang akan dibangun untuk dianalisis hasil akhirnya. Dalam studi kasus ini semua kebutuhan sistem didefinisikan mulai dari hardware dan software yang dibutuhkan, metode menggambar graph yang digunakan atau representasi visual dan tools serta bahasa pemrograman yang digunakan.

5. Implementasi

Kebutuhan sistem yang sudah didefinisikan dan juga hasil dari preprocessing data, selanjutnya diimplementasikan dengan bahasa pemrograman untuk membuat visualisasi graph dengan representasi visual treemap.

6. Pengujian

Tahapan pengujian ini dilakukan dengan menggunakan parameter atribut atau variabel node, struktur graph, dan interaksi pengguna untuk mengetahui hasil dari visualisasi treemap.

7. Analisis Hasil

Melakukan analisis hasil dari pengujian dengan parameter yang sudah dilakukan berdasarkan dataset untuk mengetahui metode atau teknik yang digunakan sudah tepat dan memberikan solusi yang terbaik.

(18)

4

1.6 Sistematika Penulisan

Berikut ini adalah sistematika dalam penulisan buku tugas akhir : 1. BAB 1

Pada bab 1 merupakan pendahuluan yang terdiri dari latar belakang, perumusan masalah, tujuan, batasan masalah, metodologi penyelesaian dan juga sistematika penulisan.

2. BAB 2

Pada bab 2 merupakan landasan teori atau literatur yang digunakan dalam penelitian tugas akhir ini.

3. BAB 3

Dalam bab 3 ini berisi mengenai perancangan sistem yang akan dibangun. Pada tugas akhir ini yaitu perancangan sistem visualisasi graph dengan representasi visual treemap.

4. BAB 4

Pada bab 4 menjelaskan tentang pengujian yang dilakukan terhadap sistem yang sudah dibangun dan melakukan analisis dari pengujian yang sudah dilakukan.

5. BAB 5

Dalam bab 5 ini terdiri dari kesimpulan dan saran terhadap penelitian tugas akhir ini untuk pengembangan lebih lanjut.

6. Daftar Pustaka

Daftar pustaka merupakan sumber atau literature yang digunakan sebagai bahan referensi pada penelitian tugas akhir ini.

(19)

5

2. Landasan Teori

2.1 Graph

Simply graph adalah G(V,E) terdiri dari kumpulan objek V ={ , ,…} yang disebut titik, dan kumpulan yang lain E={ , ,…} yang unsur-unsurnya disebut sisi, dimana setiap sisi diidentifikasi dengan pasangan titik ( , ) tak terurut. Titik , menghubungkan dengan sisi yang disebut titik akhir dari . Seringkali diagram itu sendiri mengacu sebagai graph. Objek yang ditunjukkan pada gambar 2-1 contohnya adalah graph [3].

Gambar 2-1 Graph dengan 5 titik dan 7 sisi [3]

Amati bahwa definisi ini memungkinkan sisi untuk dihubungkan dengan sepasang titik ( , ). Seperti memiliki simpul yang sama dengan kedua simpul ujungnya disebut self loop (Kata loop, bagaimanapun, memiliki arti yang berbeda dalam teori jaringan listrik;. Oleh karena itu dapat menggunakan istilah self-loop untuk menghindari kebingungan ). Ujung pada gambar 2-1 adalah self loop. Perhatikan juga bahwa definisi memungkinkan lebih dari satu sisi berhubungan dengan sepasang titik tertentu, misalnya, sisi dan pada gambar 2-1. Sisi tersebut disebut sebagai sisi paralel [3].

2.1.1 Jenis Graph

Graph sering diklasifikasikan berdasarkan arah sisi menjadi tidak berarah dan berarah. Dalam teori graph literature graph berarah dengan sisi berbobot juga disebut jaringan. Dalam visualisasi informasi, istilah jaringan sering digunakan dalam arti yang lebih luas juga termasuk graph dengan siklus. Klasifikasi graph berarah dan tidak berarah, bagaimanapun, tidak cukup jika hubungan hierarkis dan generik ada dalam satu graph pada waktu yang sama. Jenis graph di bawah ini adalah dikenal sebagai

(20)

6

graph kompleks. Graph kompleks juga bisa dibuat oleh agregasi berturut-turut (atau pengelompokan) dari titik graph dalam pendekatan bottom-up [6].

Graph juga dapat berkembang dari waktu ke waktu, mengimplikasikan perubahan struktur graph dan / atau atribut titik dan node. Graph dinamis adalah graph yang tergantung waktu graph berbeda dengan graph statis. Perubahan tergantung waktu dapat mempengaruhi atribut node/sisi, struktur graph, atau keduanya. Klasifikasi graph dapat disajikan pada gambar 2-2 di bawah ini [6].

Time Dependence Structure

Static Graphs

Time Dependent Graphs

Attribute change

Structure change Attribute & Structure

change Tree (Generic) Graphs Compound Graphs Hierarchy Directed Undirected

Gambar 2-2 Klasifikasi graph berdasarkan time dependence dan struktur graph [6]

2.2 Graph Berarah

Graph berarah atau digraph terdiri dari kumpulan obyek v terbatas disebut simpul atau titik bersama-sama dengan kumpulan sisi terbatas terarah atau busur, yang memerintahkan pasang simpul. Hal ini seperti graph kecuali bahwa setiap sisi dialokasikan arah, satu titik yang ditunjuk awal dan yang lainnya adalah akhir. Busur diarahkan dari awal s sampai akhir t dinotasikan dengan (s, t), atau hanya st. Hal ini penting untuk mengamati bahwa, tidak seperti graph, digraph dapat memiliki dua busur dengan titik akhir yang sama, asalkan diarahkan dengan cara berlawanan [2].

Ide adjacency perlu penjabaran lebih lanjut dalam digraph. Terkait dengan simpul v adalah dua set

A(v) = {x : (v,x) adalah busur}, B(v) = {x : (x,v) adalah busur},

Sebuah titik v disebut awal di digraph jika B(x) kosong dan akhir jika A(x) kosong. Sebuah directed path adalah urutan (a0, a1,. . . , an) dari titik, semua

(21)

7

an) adalah urutan dua atau lebih titik dimana semua anggota berbeda,

masing-masing berurutan pasangan ai – 1ai adalah busur, dan juga an, a1 merupakan

busur. Sebuah digraph dikatakan acyclic jika tidak mengandung directed cycle. Sebagai contoh perhatikan digraph pada gambar 2-3 di bawah ini [2].

a b

d c

Gambar 2-3 Jenis Digraph [2]

Pada gambar diatas menjelaskan bahwa

A(a) = {b, c}, B(a) = Ø, A(b) = Ø, B(b) = {a, c, d} , A(c) = {b, d}, B(c) = {a},

A(d) = {b}, B(d) = {c};

a adalah awal dan b adalah akhir. Sehingga [{a, c},{b, d}] = {ab, cb, cd}. Ada berbagai directed paths, seperti (a, c, d, b), tetapi tidak directed cycle [2].

2.3 Tree

Tree adalah graph terhubung yang tidak memiliki siklus. Gambar 2-4 menunjukkan jumlah trees [4].

Gambar 2-4 Beberapa trees [4]

Trees adalah graph terhubung paling kecil; menghapus sisi dari tree dan itu menjadi terputus. Selain sebagai sebuah kelas penting dari graph, tree yang

(22)

8

penting dalam ilmu komputer sebagai struktur data, dan sebagai obyek yang dibangun oleh algoritma pencarian. Sebuah properti fundamental dari tree adalah bahwa semua tree di n titik memiliki jumlah yang sama dari sisi [4].

Dalam graph terhubung, setiap dua titik dihubungkan oleh beberapa jalur. Sebuah properti fundamental dari tree adalah bahwa setiap dua titik dihubungkan oleh sebuah jalur yang unik. Karena jika ada dua jalur uv P dan Q, dimana P ≠ Q, maka perjalanan dari u ke v pada P dapat menemukan titik pertama P yang tidak pada Q. Melanjutkan pada P sampai datang ke titik pertama yang kembali pada kedua P dan Q, sekarang dapat mengikuti Q kembali ke u dan menemukan siklus, yang, bagaimanapun tidak mungkin di tree [4].

2.4 Representasi Visual Graph Statis

2.4.1 Tree Termasuk Hierarki

Teknik menampilkan tree dapat dibagi menjadi tiga kelompok utama: Space filling, node-link based, dan kombinasi. Secara umum, sulit untuk menyatukan hasil ini karena berbeda secara signifikan. Baru-baru ini, telah ditemukan bahwa efektivitas teknik masing-masing sangat tergantung tidak hanya pada tugas untuk diselesaikan, tetapi juga pada perumusan penetapan tugas , yaitu jika mencerminkan containment atau tingkat metafora. Contoh ketiga teknik ditampilkan pada gambar di bawah ini [6].

(23)

9

Gambar 2-6 Space Filling diagram [6]

Gambar 2-7 Representasi Kombinasi [6]

2.4.1.1 Teknik Space Filling

Teknik ini terutama digunakan untuk tree berakar. Teknik dengan menggunakan posisi spasial dari node (seperti kedekatan atau enclosure) untuk mewakili struktur hierarkis graph. Selain itu juga mencoba untuk menggunakan area penuh tampilan untuk menyajikan graph. Terutama digunakan untuk memvisualisasikan partisi hierarkis dari semua himpunan item data ke partisi, misalnya ketika mempertimbangkan set file di standar sistem file. Ukuran node dikodekan oleh ukuran daerah dari item yang ditampilkan. Selain itu, warna dan tinggi dapat mewakili atribut data tambahan. Dalam kasus yang lebih kompleks informasi tambahan perlu ditampilkan, khusus presentasi data dapat ditempatkan dalam node anak seperti ikon, parallel koordinat diagram, dan lain-lain. Teknik space filling dapat dikategorikan oleh strategi penempatan bekerja dalam enclosure, adjacency, dan crossing [6].

Enclosure

Teknik ini secara rekursif layout node anak dalam area node induknya. Contoh yang paling menonjol adalah treemaps bentuk

(24)

10

persegi panjang secara rekursif pengelompokan ruang tampilan persegi panjang sesuai hierarki yang mendasari, yang diperkenalkan oleh Shneiderman (disebut algoritma slice dan dice). Teknik tersebut dapat ditampikan baik dalam 2D dan 3D. Variasi termasuk menggunakan Voronoi tessellations atau layout gelembung. Jenis selanjutnya, seperti elips atau bentuk lingkaran telah diusulkan tetapi dengan definisi tidak dapat sepenuhnya menggunakan persegi panjang input area tampilan sebagai node anak tidak sepenuhnya menutupi node induk. Seperti yang terlihat pada gambar di bawah ini [6].

Gambar 2-8 Treemap [6]

Keuntungan utama dari enclosure adalah penggunaan yang sangat baik dari ruang yang tersedia, sebagai node anak tidak perlu tambahan ruang karena overlap dengan node induk. Kerugiannya adalah bahwa overlap node induk mungkin juga menyebabkan perbedaan yang lebih sulit dari hierarki struktur oleh pengguna, seperti yang agak implicit dikodekan [6].

Adjacency

Berbeda dengan treemaps, teknik berbasis adjacency tidak overlap node induk oleh node anak dan sebaliknya, mewakili hubungan titik dengan menempatkan node anak di sebelah node induknya. Penempatan dapat di lapisan melingkar seperti dalam metode Sunburst (variasi 2D atau 3D), atau pada lapisan linier, yang menghasilkan disebut “Icicle plots”. Keuntungan dari visualisasi ini adalah bahwa node orangtua tidak overlap oleh node node anak dan oleh karena itu, atribut node anak dan node induk dapat lebih mudah ditampilkan dan dianalisis. Namun, visualisasi ini mengkonsumsi lebih banyak ruang. Seperti yang terlihat pada gambar di bawah ini [6].

(25)

11

Gambar 2-9 Icicle Plot [6]

Crossings

Metode crossing tempat node anak di node induk, sehingga hanya sebagian overlap orangtua. Metode “Beamtree” meningkatkan lebih masalah treemap klasik dimana struktur hierarkis mungkin sulit untuk menilai secara visual, sementara masih menjadi lebih banyak ruang efisien daripada teknik adjacency. Kelemahan utama dari teknik ini adalah jika pengguna tidak terbiasa dengan pendekatan ini. Hal ini sering kurang dapat dibaca dari metode lain [6]. Berikut ini adalah contoh gambar dari teknik crossings.

(26)

12

2.5 Squarified Treemap

Dalam algoritma squarified persegi panjang ditambahkan satu per satu untuk strip sepanjang sisi terpanjang di persegi panjang. Jika kiri atau bawah bagian sisi telah digunakan untuk posisi strip baru, node yang kecil diletakkan di sudut kanan atas. Hal ini menyebabkan layout terstruktur diagonal, dimana node yang kecil terletak di salah satu sudut [13]. Lihat pada gambar 2-11 di bawah ini.

Gambar 2-11 Vanishing Point Right Top Squarified Layout [13]

Dalam algoritma squarified standar node diurutkan untuk mengurangi ukuran. Secara eksperimental ditemukan bahwa ini memberikan hasil terbaik sehubungan dengan squarification. Namun, ketika jumlah persegi panjang besar, pemilahan untuk meningkatkan ukuran juga memberikan hasil yang dapat diterima. Layout yang dihasilkan berbeda : bukan yang terkecil, persegi panjang terbesar yang strategis di titik hilang. Di sini, node yang lebih penting akan ditampilkan di tengah, yang tampaknya lebih alami [13].

2.5.1 Squarification

Bagaimana membuat tessellate persegi panjang secara rekursif menjadi empat persegi panjang, sehingga aspek rasio bentuk persegi panjang tersebut (misalnya max (tinggi/lebar; lebar/tinggi)) mendekati 1 sedekat mungkin? Jumlah semua tessellations yang mungkin adalah sangat besar. Masalah ini jatuh dalam kategori masalah sulit dari NP. Namun, untuk aplikasi ini tidak perlu solusi optimal, solusi yang baik dibutuhkan agar dapat dihitung dalam waktu singkat. Pada bagian ini menyajikan metode yang (empiris) ternyata memberikan hasil terbaik. Ide utama didasarkan pada dua konsep. Pertama, tidak menganggap pembagian untuk semua tingkatan secara simultan. Hal ini menyebabkan ledakan dalam waktu perhitungan. Sebaliknya, di sini berusaha untuk menghasilkan persegi seperti persegi panjang untuk satu set saudara, mengingat persegi panjang dimana harus menyesuaikan diri dan menerapkan metode yang sama secara rekursif. Starpoint untuk tingkat berikutnya kemudian akan

(27)

13

menjadi persegi seperti persegi panjang, yang memberikan kesempatan baik untuk subdivisi bagus. Kedua, ganti proses subdivisi straightforward untuk satu set saudara dari teknik treemap standar (lebar atau tinggi diberikan, persegi panjang dibagi dalam satu arah) oleh proses yang mirip dengan proses pembagian hierarki dari treemap standar [1].

2.5.1.1 Contoh Kasus

Misalkan memiliki persegi panjang dengan lebar 6 dan tinggi 4, dan selanjutnya anggaplah bahwa ini persegi panjang harus dibagi dalam tujuh persegi panjang dengan daerah 6,6,4,3,2,2, dan 1 (Lihat pada gambar 2-12 di bawah ini). Algoritma treemap standar menggunakan pendekatan sederhana: persegi panjang ini dibagi baik secara horizontal maupun vertikal. Persegi panjang tipis muncul, dengan aspek rasio masing-masing 16 dan 36 [1].

4 6 6 6 areas : 6,6,4,3,2,2,1 4 3 2 2 1 Problem Horizontal 16/1 6 6 4 ... Vertical 36/1

Gambar 2-12 Subdivision Problem [1]

Langkah pertama algoritma ini adalah untuk membagi persegi panjang awal. Selanjutnya dipilih pembagian secara horizontal, karena persegi panjang asli lebih lebar dari tinggi. Selanjutnya mengisi setengah bagian kiri. Pertama menambahkan persegi panjang tunggal (lihat pada gambar 2-13). Aspek rasio persegi panjang pertama ini adalah 8/3. Kemudian menambahkan persegi panjang kedua, di atas yang pertama. Rasio aspek meningkat ke 3/2. Namun, jika menambahkan berikutnya (area 4) di atas persegi panjang asli ini, aspek rasio persegi panjang ini adalah 4/1. Oleh karena itu diputuskan bahwa telah mencapai optimum untuk setengah bagian kiri pada langkah dua, dan mulai memproses bagian kanan. Pembagian awal pemilihan di sini adalah vertikal, karena persegi panjang lebih tinggi dari lebar. Pada langkah 4 ditambahkan persegi panjang dengan luas 4, diikuti oleh persegi panjang dengan area 3 pada langkah 5. Aspek rasio menurun. Penambahan berikutnya (area 2) namun tidak meningkatkan hasil, jadi menerima hasil dari langkah 5, dan mulai mengisi bagian kanan atas partisi [1].

(28)

14

Gambar 2-13 Subdivision Algorithm [1]

Langkah-langkah ini diulang sampai semua persegi panjang telah diproses. Sekali lagi, hasil optimal tidak dapat dijamin, dan tandingan dapat diatur. Urutan dimana persegi panjang diproses adalah penting. Ditemukan bahwa urutan menurun biasanya memberikan hasil terbaik. Awalnya persegi panjang besar kemudian diisi terlebih dahulu dengan persegi panjang yang lebih besar [1].

(29)

15

2.5.1.2 Algoritma

Setelah contoh, disajikan algoritma untuk layout anak dalam satu persegi panjang sebagai prosedur squarify rekursif. Prosedur ini menjabarkan persegi panjang di baris horizontal dan vertikal. Ketika persegi panjang diproses, keputusan dibuat antara dua alternative. Entah persegi panjang ditambahkan ke baris saat ini, atau baris saat ini tetap dan sebuah baris baru dimulai pada persegi panjang tersisa. Keputusan ini hanya tergantung pada apakah menambahkan persegi panjang ke baris akan meningkatkan layout baris saat ini atau tidak [1].

Asumsi tipe data persegi panjang yang berisi layout selama perhitungan adalah global ke prosedur squarify. Hal ini mendukung function width() yang memberikan panjang sisi terpendek dari persegi panjang tersisa dimana baris saat ini ditempatkan dan function layoutrow() yang menambahkan baris baru dari anak untuk persegi panjang. Untuk menjaga deskripsi sederhana, digunakan beberapa daftar notasi: ++ adalah gabungan dari list, [x] adalah list mengandung elemen x, dan [] adalah list kosong. Input dari squarify() pada dasarnya adalah list bilangan real, mewakili bidang anak yang akan diletakkan. List baris berisi persegi panjang yang saat ini sedang diletakkan. Function worst() memberikan aspek rasio tertinggi dari list persegi panjang, mengingat panjang bagian samping sepanjang yang harus ditata. Fungsi ini dibahas lebih lanjut di bawah ini [1].

Procedure squarify(list of real children, list of real row, real w) begin

real c = head(children);

if worst(row,w) ≤ worst(row++[c], w) then squarify(tail(children), row++[c], w) else layoutrow(row); squarify(children, [], width()); endif end

(30)

16

Biarkan list daerah R diberikan dan membiarkan s menjadi jumlah total. Maka function worst adalah didefinisikan oleh:

( , ) = ( ( / , / ( )))

Karena salah satu istilah meningkat di r dan yang lainnya menurun, ini sama dengan

( / ( ), / ( ))

Dimana r dan r adalah maksimum dan minimum R. Oleh karena itu, maksimum dan minimum saat ini baris yang sedang ditata [1]. 2.5.2 Frames

Nesting diperkenalkan oleh Shneiderman dan Johnson, untuk memperkuat struktur visualisasi. Setiap persegi panjang yang mewakili node non-leaf disediakan perbatasan untuk menunjukkan bahwa anak-anak memiliki orangtua yang sama. Contoh untuk sebuah binary tree ditunjukkan pada gambar 2-14. Metode ini memiliki beberapa kelemahan. Ruang layar ekstra yang digunakan, dan lebih jauh lagi, itu menimbulkan labirin seperti gambar, yang dapat membingungkan bagi viewer [1].

Namun, kelemahan kedua dapat diperbaiki dengan cara yang sama seperti untuk visualisasi dari node-node. Pengisian perbatasan dengan corak abu-abu, berdasarkan model geometris sederhana. Lebar dalam pixel dari batas daerah level l, dengan l = 1,……,n diberikan oleh [1]:

= [ ],

(31)

17

Dimana w adalah lebar batas tingkat akar, dan faktor f yang dapat digunakan untuk mengurangi lebar ke batas tingkat yang lebih rendah. Untuk profil perbatasan menggunakan parabola :

(r)= ( + ) + ( + ), dengan

= ,

Dimana (r) adalah tinggi profil untuk tingkat l, r adalah jarak dari luar perbatasan untuk tingkat ini, dan a dan b adalah dua koefisien yang mengontrol bentuk parabola.

Gambar 2-15 menunjukkan hasil untuk binary tree. Dalam hal ini (berlebihan) misalnya menggunakan w = 8, f = 1, a = -1, dan b = 16, yang memberikan parabola dengan puncaknya bergeser ke interior [1].

Gambar 2-15 Frames [1]

2.6 JSON

JSON atau Javascript Object Notation adalah standar terbuka berbasis teks ringan yang dirancang untuk manusia melakukan pertukaran data yang dapat dibaca. Konvensi yang digunakan oleh JSON diketahui programmer termasuk C, C++, Java, Phyton, Perl dan lain-lain [12].

 JSON adalah singkatan dari Javascript Object Notation.  Format ini ditentukan oleh Douglas Crockford.

 Dirancang untuk manusia melakukan pertukaran data yang mudah dibaca.  Telah diperluas dari bahasa scripting Javascript.

 Ekstensi nama file adalah .json

 Jenis media internet JSON adalah application/json  Identifikasi jenis yang seragam adalah public.json

(32)

18

2.6.1 Penggunaan JSON

 Hal ini digunakan ketika menulis Javascript berdasarkan aplikasi yang termasuk ekstensi browser dan websites.

 Format JSON adalah digunakan untuk serialisasi dan transmisi data terstruktur melalui koneksi jaringan.

 Hal ini terutama digunakan untuk mengirimkan data antara server dan aplikasi web.

 Layanan web dan API.s menggunakan format untuk menyediakan data publik.

 Hal ini dapat digunakan dengan bahasa pemrograman modern [12]. 2.6.2 Karakteristik JSON

 Mudah untuk membaca dan menulis JSON.  Teks ringan berdasarkan format pertukaran.  Bahasa independen [12].

(33)

19

3. Perancangan Sistem

3.1 Gambaran Umum Sistem

Pada bagian ini menjelaskan arsitektur atau gambaran umum sistem yang akan dibangun dan menganalisis kebutuhan apa saja yang digunakan untuk membangun sistem visualisasi graph dengan representasi visual treemap. Berikut adalah alur sistem visualisasi yang akan dibuat pada gambar 3-1.

Gambar 3-1 Alur Sistem Visualisasi

Tahapan untuk membuat sistem visualisasi graph dengan representasi visual treemap ini adalah sebagai berikut :

1. Input Data

Untuk input data dalam penelitian ini digunakan dataset dari web https://snap.stanford.edu/data/ [14]. Pada web ini diberikan beberapa koleksi data dengan large network atau jaringan yang sangat besar. Untuk tugas akhir ini menggunakan dataset social networks yaitu wiki vote dengan jenis graph berarah. Dari web tersebut data diberikan dalam bentuk text atau dengan file ekstensi text. Untuk memudahkan dalam membaca data maka file dari text diubah menjadi file excel. Dataset yang sudah tersedia kemudian diinputkan ke dalam program untuk proses selanjutnya yaitu preprocessing data.

(34)

20

2. Preprocessing Data

Berdasarkan dataset yang diberikan yaitu jenis graph berarah, maka untuk visualisasi graph dengan visual treemap dataset tersebut harus diubah ke dalam bentuk tree. Pada proses ini dataset yang diinputkan dalam bentuk excel diubah terlebih dahulu ke dalam bentuk graph.

Gambar 3-2 Mengubah Data Excel ke Data Graph

Data yang sudah dalam bentuk graph akan memudahkan proses filtering dan convert data selanjutnya. Hasil akhir dari preprocessing data ini adalah dataset akan berbentuk struktur pohon atau tree dan memiliki struktur seperti dokumen JSON.

a. Filtering

Pada tahapan ini dataset yang sudah ada dipilih atau diklasifikasikan berdasarkan jumlah derajat masuk atau indegree yang bernilai nol dari suatu node. Tujuan dari proses ini adalah untuk mencari dan menentukan root. Root ini akan dijadikan elemen pertama pada sebuah tree atau juga dapat disebut sebagai parent pertama. Node dengan jumlah derajat masuk bernilai nol, maka node tersebut akan dijadikan root atau akar dalam sebuah tree. Dataset diinputkan menggunakan bahasa pemrograman java untuk mencari node dengan jumlah indegree atau derajat masuk bernilai nol. Dari hasil program didapatkan bahwa node yang indegree bernilai nol memiliki jumlah lebih dari satu node.

Gambar 3-3 Beberapa Node yang Merupakan Root

Karena jumlah node dengan indegree bernilai nol lebih dari satu maka harus menggunakan root semesta untuk menampung semua root yang indegree bernilai nol. Selain itu tidak dapat memilih dari salah satu node tersebut untuk dijadikan root, karena akan berakibat

(35)

21

pada node-node tersebut tidak akan dikunjungi. Root semesta ini digunakan supaya node-node yang indegree nol tidak terpisah satu sama lain dan mengakibatkan visualisasi treemap yang terpisah. Oleh karena itu diperlukan root semesta untuk menampung semua root dari node yang indegree nol. Setelah node-node tersebut didapatkan maka tahapan selanjutnya adalah mengkonversi dari data excel diubah menjadi file JSON atau dokumen JSON.

Gambar 3-4 Root Semesta yang Terhubung ke Beberapa Root

b. Convert data

Setelah node-node dari dataset telah dipilih berdasarkan jumlah derajat masuk atau indegree yang bernilai nol, kemudian dataset tersebut dikonversi ke dalam bentuk struktur pohon. Pengubahan bentuk dataset ini dikarenakan visualisasi treemap harus menggunakan data dengan struktur tree untuk memudahkan membaca dataset.

Gambar 3-5 Mengubah Data Graph ke Dokumen JSON

Dalam tahapan ini ada beberapa rule atau aturan untuk mengubah dataset menjadi dokumen JSON. Aturan tersebut ada supaya dataset yang berbentuk data dengan jenis graph berarah ini tidak mengalami perulangan yang tak terhingga. Menurut teori graph, tree adalah graph terhubung yang tidak memiliki siklus [4]. Perbedaan antara

(36)

22

tree dan graph adalah untuk tree tidak memiliki siklus sedangkan graph tidak mempunyai root. Oleh karena itu dalam mengkonversi bentuk dataset ke dalam bentuk dokumen JSON harus mempunyai rule agar masalah perbedaan tersebut dapat diselesaikan. Rule atau aturan mengubah dataset menjadi bentuk dokumen JSON yaitu : 1. Dokumen JSON terdapat aturan cara penulisan yang benar untuk

dapat dibaca oleh suatu program. Setelah proses filtering sebelumnya, sudah didapatkan hasil node-node dengan indegree bernilai nol. Hasil dari proses filtering membuktikan bahwa lebih dari satu node dengan indegree nol dan solusi untuk mengatasi masalah tersebut adalah dengan menggunakan node baru yang dijadikan root semesta yang dapat menghubungkan ke semua node dengan indegree nol. Berikut ini adalah contoh gambar pembentukan root semesta beserta node-node dengan indegree nol dalam dokumen JSON.

Gambar 3-6 Pembentukan Root Dengan Node-Node Indegree Nol di Dokumen JSON

Pada gambar diatas dapat dijelaskan bahwa nama root di dokumen JSON tersebut merupakan node baru yang dijadikan root semesta. Sementara children menandakan bahwa dari root tersebut mempunyai child node dengan menggunakan kurung siku. Dari gambar di atas dijelaskan bahwa 25, 4, 244, dan seterusnya hingga 8274 merupakan node dengan indegree bernilai nol.

(37)

23

2. Setelah root semesta beserta node-node dengan indegree bernilai nol ditampilkan, maka rule kedua adalah menampilkan semua node berdasarkan sisi yang menghubungkan dari node dengan indegree nol. Semua node yang sudah ditampilkan tersebut dilakukan lagi proses yang sama secara berulang hingga kondisi dimana ada node yang memiliki outdegree atau derajat keluar bernilai nol. Selain kondisi itu perlu juga suatu kondisi dimana jika ada sisi yang sudah dikunjungi tidak boleh lagi dikunjungi agar tidak menyebabkan perulangan yang tak terhingga. Sehingga ketika sisi yang sudah dikunjungi diberikan sebuah status true, perulangan akan berhenti dan menampilkan node yang terhubung dengan sisi tersebut. Di bawah ini adalah contoh tabel data graph.

Source Target 25 3 25 28 10 3 3 6 6 20 20 3 20 8 28 5 5 64 5 72

Table 3-1 Contoh Data Graph

Pada tabel di atas data dibentuk ke dalam bentuk graph seperti gambar di bawah ini.

(38)

24

Pada gambar graph di atas dapat terlihat dengan jelas bahwa terdapat cycle atau siklus. Dari graph tersebut jika diubah ke dalam bentuk tree maka dapat diketahui bahwa node 25 dan 10 adalah node dengan dengan indegree nol atau tidak ada sisi yang masuk ke node 25 dan 10. Hal tersebut menyebabkan salah satu node tidak dapat dipilih menjadi root dan harus menggunakan node baru untuk dijadikan root semesta yang akan menghubungkan ke node 25 dan 10. Jika digambarkan dalam struktur tree dan menggunakan aturan yang sudah dijelaskan maka akan terlihat seperti gambar di bawah ini.

Gambar 3-8 Struktur Tree dari Graph

Dari gambar di atas dapat dijelaskan bahwa dari Rs terhubung ke node 25 dan 10. Dan dari node 25 dilanjutkan lagi berdasarkan sisi yang terhubung yaitu node 28 dan 3 yang merupakan child. Proses ini dilakukan secara terus menerus atau berulang hingga terdapat node yang memiliki outdegree bernilai nol yaitu node 64,72 dan 8. Untuk node 3 bukan termasuk node dengan outdegree bernilai nol hal ini dikarenakan bahwa node 3

(39)

25

memiliki sisi yang menghubungkan ke node 6. Tetapi untuk node 3 yang dijadikan child node dari node 20 dan 10 adalah untuk mengatasi masalah siklus yang ada pada graph. Jadi jika ada sisi dari successor node(node yang berada di bawah dari node yang ditinjau) yang sudah dikunjungi maka successor node tidak harus lagi menjabarkan semua node yang terhubung untuk dijadikan child node.

Gambar 3-9 Struktur Tree dengan Boundary

Pada gambar di atas dapat dijelaskan bahwa proses perulangan yang terjadi di tandai dengan boundary atau batas. Boundary nomor satu menjelaskan bahwa perulangan dari node dengan indegree nol. Kemudian dilanjutkan lagi ke dalam boundary nomor dua yang melakukan proses perulangan untuk setiap sisi yang terhubung dari parent node. Dalam hal ini boundary dua berisi node-node yang merupakan child dari node di boundary satu. Dan proses ini dilakukan secara berulang sampai pada boundary nomor tiga yang menampilkan lagi child dari node di boundary dua. Proses perulangan ini akan berhenti ketika ada

(40)

26

node dengan outdegree bernilai nol, contohnya adalah node 64 dan 72. Ketika kondisi ini dipenuhi maka proses perulangan akan balik lagi ke node di boundary dua untuk mengecek apakah ada node lagi selain node 28. Dan jika sudah tidak ada lagi maka akan balik lagi ke boundary satu. Untuk node 10 atau node 20 dengan child node 3 merupakan kondisi khusus ketika node 3 dengan sisinya sudah dijelaskan maka tidak akan dijelaskan lagi jika ketemu node 3 karena hal itu akan menyebabkan perulangan yang tak terhingga. Sehingga node 64,72, 8 dan juga node 3 dari parent node 10 dan 20 dapat juga dikatakan leaf.

Hasil yang diperoleh setelah dua proses rule tersebut dijalankan maka dokumen JSON yang terbentuk adalah seperti gambar di bawah ini.

Gambar 3-10 Dokumen JSON yang Terbentuk dari Struktur Tree

Dari gambar dokumen JSON di atas dijelaskan bahwa nama root merupakan root semesta. Untuk nama dengan children digunakan ketika suatu node masih memiliki child node, misalkan node 25, 28,

(41)

27

5, dan lain-lain. Dan untuk penulisan size setelah nama node menjelaskan bahwa ketika node dengan outdegree bernilai nol dan juga node dengan sisi yang sudah dikunjugi, misalkan node 64,72,8 dan 3.

3. Implementasi Representasi Visual Treemap

Tahapan selanjutnya adalah melakukan implementasi representasi visual treemap menggunakan algoritma squarified. Penerapan algoritma squarified treemap pada program menggunakan library. Setelah proses preprocessing data selesai dilakukan dan dari proses tersebut didapatkan hasil konversi data berupa dokumen JSON. Dari dokumen JSON kemudian diinputkan ke dalam program untuk visualisasi treemap.

Gambar 3-11 Dokumen JSON Diinputkan Untuk Visualisasi Treemap

Dalam visualisasi treemap, dokumen JSON yang sudah ada dan struktur tree yang terbentuk diimplementasikan ke bentuk treemap. Di bawah ini adalah gambar dari struktur tree dari dokumen JSON yang diubah ke dalam visual treemap. Rs 25 10 28 3 6 5 64 72 20 3 3

Keterangan : Rs = Root semesta 8

(42)

28

Pada gambar di atas dapat dijelaskan bahwa dari tree yang ada dan dibentuk ke dalam treemap menampilkan semua node dari dari tree. Mulai dari node root semesta dan terletak paling atas pada treemap dengan bentuk persegi panjang kecil. Sementara itu child node dari root semesta yaitu node 25 dan 10 berada di bawah persegi panjang root semesta pada treemap. Node 25 yang mempunyai child node yaitu node 28 dan 3 berada di bagian bawah persegi panjang dari node 25. Dan hal ini terjadi seterusnya untuk setiap node yang masih mempunyai child node, pada treemap digambarkan dengan berada di bawah persegi panjang parent node hingga node yang merupakan leaf node atau node dengan outdegree bernilai nol dan juga node dengan kondisi bahwa node tersebut sudah pernah dikunjungi sebelumnya. Sehingga pada gambar di atas terdapat dua data yang sama ditampilkan yaitu node 3. Kedua data tersebut harus ditampilkan karena mengikuti struktur tree yang sudah terbentuk. Jadi pada gambar di atas dapat menjelaskan bahwa parent node dan child node dapat diketahui. Pada implementasi treemap ini juga terdapat interaksi terhadap user sistem. Jika node 25 dipilih atau diklik maka akan seperti gambar dibawah ini.

Gambar 3-13 Treemap Setelah Node 25 Dipilih

Setelah node 25 dipilih maka akan menampilkan seperti gambar di atas. Jadi yang ditampilkan adalah child node dari node 25 dan juga child dari child node yang lain hingga seterusnya sampai pada node yang merupakan leaf node. Implementasi treemap ini yang membedakan bahwa persegi tersebut parent atau child node adalah dari segi warna. Untuk setiap parent node diberikan warna abu-abu tua. Meskipun node tersebut merupakan child node dan jika node tersebut masih mempunyai child maka warna persegi akan tetap sama seperti parent node lainnya yaitu warna abu-abu tua. Sedangkan leaf node akan mempunyai warna yang beragam seperti biru, merah, kuning hijau dan lain-lain.

(43)

29

4. Output Visualisasi Treemap

Hasil dari proses implementasi representasi visual treemap digambarkan seperti gambar di bawah ini.

Gambar 3-14 Implementasi Visual Treemap

Pada gambar di atas merupakan hasil implementasi visual treemap dari program. Data yang ditampilkan pada gambar tersebut dipilih pendekatan top down. Dengan pendekatan top down, semua node yang ada ditampilkan mulai dari root sampai pada leaf node. Secara umum struktur graph dapat dilihat dan dapat melihat bagian yang menarik dari graph tersebut [6]. Semakin besar ukuran data maka ukuran persegi yang ada pada treemap juga semakin kecil tetapi untuk ukuran treemap itu tetap, dan itu menyebabkan sulitnya membaca isi data tersebut. Tetapi dengan implementasi treemap pada tugas akhir ini, node yang sulit dibaca bisa dipilih atau diklik untuk berganti layer dan melihat struktur yang lebih jelas.

(44)

30

Secara umum hasil dari program yang dibuat untuk mengkonversi data hingga visualisasi digambarkan dengan user interface seperti gambar di bawah ini.

Gambar 3-15 Tampilan Untuk Convert Data

Pada gambar di atas merupakan tampilan awal dari sistem yang sudah dibuat. Gambar di atas terdapat sebuah form untuk input sebuah data. Data yang harus diinputkan yaitu berupa file excel. Pada tampilan ini data file excel yang sudah diinputkan akan dikonversi ke dokumen JSON dengan memilih menu konversi. Dokumen JSON hasil konversi langsung disimpan dalam komputer. Setelah hasil konversi data keluar maka selanjutnya adalah menampilkan visual treemap dengan data dokumen JSON dengan menyalin file dokumen JSON dan dipindahkan ke folder xampp yang ada pada komputer. Setelah file dokumen JSON dipindahkan maka selanjutnya adalah membuka web browser dapat menggunakan mozilla firefox, chrome atau yang lainnya. Selanjutnya adalah memanggil file dokumen JSON tersebut di browser berdasarkan path tempat file disimpan pada komputer. Pada gambar 3-14 merupakan hasil visual treemap yang dibentuk setelah memanggil file dokumen JSON di browser. Dari gambar 3-14 di atas merupakan tampilan visual treemap yang terbentuk setelah membaca dokumen JSON. Pada tampilan visual treemap tersebut, informasi tentang data ditampilkan pada setiap persegi dari visual treemap. Tampilan visual treemap ini akan menyesuaikan dengan ukuran dari layar komputer supaya hasil yang diinginkan efisien dari segi ukuran.

(45)

31

5. Pengujian dan Analisis

Setelah output dari visualisasi treemap ditampilkan, maka tahapan selanjutnya adalah melakukan analisis terhadap visualisasi tersebut. Analisis dilakukan setelah pengujian. Tujuan analisis ini adalah untuk memahami visualisasi treemap. Penjelasan lebih lengkap dijelaskan pada bab 4.

6. Kesimpulan

Tahapan akhir dari pembangunan sistem adalah menyampaikan hasil atau dapat disebut juga sebagai kesimpulan dari semua proses tahapan yang sudah dikerjakan. Hasil kesimpulan yang disampaikan akan merepresentasikan penelitian-penelitian selanjutnya di masa yang akan datang. Selain itu juga kesimpulan yang diberikan berdasarkan pada analisis dan bersifat objektif dari sebuah sistem visualisasi treemap.

3.2 Use Case Sistem

Use case pada sistem visualisasi ini untuk menggambarkan fungsionalitas dari sistem supaya user atau pengguna dapat paham mengenai kegunaan sistem. 3.2.1 Diagram Use Case

Di bawah ini adalah diagram use case dari sistem visualisasi treemap.

(46)

32

3.2.2 Skenario Use Case

Berikut ini adalah beberapa skenario use case dari diagram use case sistem.

Nomor : VTUC-01

Nama use case : konversi data Actor : user

Type : Primary

Tujuan : Melakukan proses konversi data

Deskripsi : Menu ini untuk mengkonversi data yang diinputkan user

Aktor Sistem

1. Jika ingin mengkonversi data, user dapat memilih tombol ini dengan input data terlebih dahulu.

2. Sistem akan melakukan konversi data dengan membaca file data yang sudah diinputkan.

3. Sistem akan mengubah file ke dalam bentuk dokumen JSON.

4. Sistem menyimpan file hasil konversi di direktori.

5. User dapat melihat hasil konversi data.

Table 3-2 Skenario Use Case Konversi Data

Nomor : VTUC-02

Nama use case : input file excel Actor : user

Type : Primary

Tujuan : User dapat input file excel

Deskripsi : Dengan memilih menu ini, user dapat memasukkan file ke dalam program atau sistem.

(47)

33

Aktor Sistem

1. Jika ingin menginputkan file ke dalam sistem, user dapat memilih menu ini.

2. Sistem akan mengeluarkan tampilan direktori komputer yang menyimpan semua data.

3. User memilih salah satu file excel untuk diinputkan.

4. Sistem menyimpan file yang sudah dipilih oleh user dan membaca file excel tersebut.

Table 3-3 Skenario Use Case Input File Excel

Nomor : VTUC-03

Nama use case : kelola visualisasi Actor : user

Type : Primary

Tujuan : Melakukan proses kelola visualisasi

Deskripsi : Dengan memilih menu ini, user dapat menginputkan file hasil konversi data yaitu dokumen JSON dan juga dapat view visual treemap.

Aktor Sistem

1. Jika ingin mengelola visualisasi, user dapat membuka browser Mozilla firefox.

2. Sistem menampilkan visualisasi treemap yang terbentuk.

Table 3-4 Skenario Use Case Kelola Visualisasi

Nomor : VTUC-04

Nama use case : input dokumen JSON Actor : user

Type : Primary

Tujuan : User memanggil file dokumen JSON

Deskripsi : User dapat memanggil file dokumen JSON hasil dari konversi data pada web browser.

(48)

34

Aktor Sistem

1. Jika ingin memanggil file dokumen JSON hasil konversi, maka user dapat membuka web browser.

2. Sistem akan mengeluarkan tampilan web browser. 3. User menuliskan path

localhost tempat dimana file dokumen JSON disimpan pada url web browser.

4. Sistem membaca file dokumen JSON dan ditampilkan pada web browser.

Table 3-5 Skenario Use Case Input Dokumen XML

Nomor : VTUC-05

Nama use case : view visual treemap Actor : user

Type : Primary

Tujuan : User dapat melihat dan interaksi dengan visual treemap Deskripsi : Menu ini untuk menampilkan visualisasi treemap.

Aktor Sistem

1. User melihat dan berinteraksi dengan sistem visualisasi treemap.

2. Sistem membaca file dokumen JSON yang sudah diinputkan.

3. Sistem menampilkan hasil visualisasi treemap dan memberikan interaksi terhadap user.

(49)

35

3.3 Class Diagram

Berikut ini adalah diagram kelas dari sistem visualisasi treemap.

(50)

36

3.4 Spesifikasi Kebutuhan Sistem

Dalam menunjang untuk mengerjakan penelitian tugas akhir ini, dibutuhkan beberapa spesifikasi kebutuhan terhadap sistem. Spesifikasi kebutuhan sistem tersebut adalah kebutuhan perangkat keras dan kebutuhan perangkat lunak. 3.4.1 Kebutuhan Perangkat Keras

Pada penelitian ini dibutuhkan beberapa peralatan atau perangkat untuk mendukung melakukan penelitian. Khususnya analisis kebutuhan perangkat keras yang dibutuhkan untuk membuat sistem visualisasi. Pada sistem ini hanya digunakan oleh satu pengguna atau user saja. Spesifikasi perangkat keras yang digunakan adalah sebagai berikut:

a. Laptop model ASUS X450CC

b. Processor : Intel® Core™ i3-3217U CPU @ 1.80GHz (4CPUs), 1.8GHz

c. BIOS : BIOS Date: 08/01/13 10:59:41 Ver: 04.06.05 d. Memori : 4096MB RAM

e. DirectX Version : DirectX 11 f. Display :

a. Name : Intel® HD Graphics 4000 b. Manufacturer : Intel Corporation

c. Chip Type : Intel® HD Graphics Family d. DAC Type : Internal

e. Total Memori : 3734MB

f. Current Display Mode : 1366 x 768(32bit) (60Hz) 3.4.2 Kebutuhan Perangkat Lunak

Selain menganalisis kebutuhan perangkat keras yang digunakan, kebutuhan perangkat lunak pun perlu dianalisis. Kebutuhan perangkat lunak menjadi pendukung dalam melakukan penelitian ini. Spesifikasi kebutuhan perangkat lunak adalah sebagai berikut :

a. Operating system : Windows 7 Ultimate 64-bit (6.1, Build 7600) b. Microsoft Office 2007

Sedangkan tools yang digunakan untuk implementasi sistem yang akan dibuat adalah sebagai berikut :

a. NetBeans IDE 6.9.1 b. Notepad

c. Notepad++ d. XAMPP v3.2.1

(51)

37

4. Pengujian dan Analisis

Sistem yang dibangun pada tugas akhir ini adalah untuk memudahkan pengguna atau user dalam melihat sebuah visualisasi graph yang sangat besar. Keterbatasan pandangan user melihat suatu objek dan juga tersedianya ruang tampilan menjadi kendala untuk memahami suatu informasi yang diberikan dan menggambarkan visualisasi. Visualisasi graph dengan representasi visual treemap akan membantu atau memudahkan dalam membaca suatu informasi yang diberikan dan juga memahami pembacaan dari visualisasi treemap.

4.1 Tujuan Pengujian

Tujuan dari proses pengujian ini adalah :

1. Untuk melakukan analisis terhadap visualisasi treemap yang terbentuk.

2. Untuk mengetahui bahwa sistem visualisasi yang sudah dibuat atau dibangun sudah tepat.

4.2 Parameter Pengujian

Visualisasi treemap yang sudah berhasil dibuat maka harus dilakukan pengujian berdasarkan parameter yang ada. Parameter untuk melakukan pengujian sistem visualisasi treemap yaitu :

1. Struktur Graph

Parameter struktur graph digunakan untuk mengetahui bahwa treemap yang terbentuk sudah sesuai berdasarkan dengan struktur graph yang ada seperti hubungan antar node.

2. Atribut Data

Parameter atribut data ini dibutuhkan untuk memberikan informasi yang ada pada suatu data yang terbentuk dari visualisasi treemap.

4.3 Skenario Pengujian

Dalam melakukan pengujian diperlukan beberapa skenario pengujian yaitu sebagai berikut :

1. Pengujian kesesuaian jumlah data node yang ditampilkan terhadap jumlah data dari dataset.

2. Pengujian interkasi user dari visual treemap terhadap kesesuaian dari struktur graph.

3. Pengujian perbandingan antara struktur dari graph biasa dengan struktur dari tree pada treemap.

4. Pengujian interaksi user dari visual treemap terhadap informasi yang ingin dicari atau didapatkan.

Gambar

Gambar 2-1 Graph dengan 5 titik dan 7 sisi [3]
Gambar 2-2 Klasifikasi graph berdasarkan time dependence dan struktur graph [6]
Gambar 2-11 Vanishing Point Right Top Squarified Layout [13]
Gambar 3-1 Alur Sistem Visualisasi
+7

Referensi

Dokumen terkait

dengan resolusi spasial !( meter... )iga mode operasi utama dari 3ALSAR adalah 1 mode @ine yaitu moderesolusi tinggi dengan resolusi spasial 1# m dan mode operasi yang

Guru melakukan aktivitas pembelajaran secara bervariasi dengan waktu yang cukup untuk kegiatan pembelajaran yang sesuai dengan usia dan tingkat kemampuan belajar dan

Dengan menggunakan konseling behavioristik teknik operant conditioning dapat menghasilkan perubahan tingkah laku pada klien untuk mampu memulai mengerjakan tugas,

Serangan akut asma dapat terjadi karena gagal tatalaksana jangka panjang asma kronis atau dirangsang oleh pencetus asma seperti infeksi saluran nafas, aktivitas fisik,

• Pertumbuhan (q-to-q) produksi Industri Manufaktur Besar dan Sedang Triwulan I tahun 2014 Provinsi Jawa Tengah turun sebesar (8,93) persen dari produksi industri Triwulan IV

Landasan filosofis mengenai ungensinya jaminan sosial adalah berlandaskan kepada hak asasi manusia dan hak konstitusional setiap orang, wujud tanggung jawab

Intervensi ketika makan tidak sesuai dengan rancangan, karena pada awalnya penguatan berupa susu akan diberikan jika subjek melakukan perilaku

Mahasiswa menyelesaikan permasalahan studi kasus penerapan konsep stokastik markov, antrian, dan game theory di dunia nyata secara. berkelompok