• Tidak ada hasil yang ditemukan

Visualisasi Data Interaktif Data Terbuka Pemerintah Provinsi DKI Jakarta Topik Ekonomi dan Keuangan Daerah

N/A
N/A
Protected

Academic year: 2017

Membagikan "Visualisasi Data Interaktif Data Terbuka Pemerintah Provinsi DKI Jakarta Topik Ekonomi dan Keuangan Daerah"

Copied!
119
0
0

Teks penuh

(1)
(2)
(3)
(4)

Nama

: Nadiar Ahmad Syaripul

Nim

: 10111121

Tempat, Tanggal Lahir : Garut, 29 April 1993

Jenis Kelamin

: Laki-Laki

Alamat

: Kp. Pasanggrahan Kec. Kersamanah Kab. Garut

No. Telp

: 085223866185

E-Mail

: [email protected]

II.

RIWAYAT PENDIDIKAN

1998-1999

: TK Sejahtra V

1999-2005

: SD Negeri Kersamanah I

2005-2008

: SMP Negeri I Kersamanah

2008-2011

: SMA Negeri 9 Garut

2011-2016

: S1 Teknik Infromatika

Universitas Komputer Indonesia

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam

keadaan sadar dan tanpa paksaan.

Bandung, Agustus 2016

(5)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

NADIAR AHMAD SYARIPUL

10111121

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

(6)

iii

Puji dan syukur penulis panjatkan kehadirat Allah SWT atas rahmat dan

karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang memiliki judul

“VISUALISASI DATA INTERAKTIF DATA TERBUKA PEMERINTAH

PROVINSI DKI JAKARTA TOPIK EKONOMI DAN KEUANGAN DAERAH”

sebagai syarat untuk menyelesaikan program studi Strata I (Starata Satu) Jurusan

Teknik Informatika, Fakultas Teknik dan Ilmu Komputer Universitas Komputer

Indonesia.

Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan,

bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan

terima kasih kepada:

1.

Allah SWT atas petunjuk, pertolongan, karunia, hidayah, kekuatan, kesehatan,

dan kesabaran selama menyelesaikan skripsi ini. Sholawat serta salam selalu

terlimpahkan kepada baginda Nabi Muhammad SAW.

2.

Orang tua, Ibu Popon Nuryati dan Bp. Amang Abdurahman, yang senantiasa

memberikan doa, semangat, motivasi, dan kasih sayangnya kepada penulis.

3.

Bapak Adam Mukharil Bactiar, S.Kom., M.T. selaku dosen pembimbing yang

telah sabar membimbing, memotivasi, memberikan perhatian dan memberikan

pengarahan selama penelitian skripsi ini sehingga penelitian skripsi ini bisa

terselesaikan dengan sebaik-baiknya.

4.

Ibu Dian Dharmayati, S.T., M.Kom. selaku reviewer

yang telah memberikan

masukan dan arahan selama perbaikan perangkat lunak ini.

5.

Ibu Kania Evita Dewi, selaku penguji tiga yang telah memberikan masukan

dalam penelitian skripsi ini.

6.

Bapak Iskandar Ikbal, S.T., M.Kom selaku dosen wali IF-4 angkatan 2011.

7.

Teman-teman kelas IF-4 angkatan 2011, yang selalu mendukung penulis dalam

penelitian skripsi ini.

(7)

iv

banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu, saran dan kritik

yang membangun sangat diharapkan untuk pengembangan ke arah yang lebih baik.

Bandung, Juli 2016

(8)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xvii

DAFTAR LAMPIRAN ... xx

BAB I

PENDAHULUAN ... 1

1.1

Latar Belakang Masalah ... 1

1.2

Perumusan Masalah ... 2

1.3

Maksud dan Tujuan ... 2

1.4

Batasan Masalah ... 3

1.5

Metodologi Penelitian ... 3

1.6

Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

2.1

Konsep Data ... 7

2.1.1 Data ... 7

2.1.2 Basis Data ... 7

2.1.3 Basis Data NoSQL ... 8

2.2

Visualisasi Data ... 9

2.2.1 Visual Encoding ... 9

2.2.2 Tipe-Tipe Visualisasi ... 10

2.2.3 Proses Visualisasi Data ... 14

2.3

Statistika Deskriptif ... 15

(9)

vi

2.3.2 Ukuran Gejala Pusat dan Variansi ... 16

2.3.3 z Skor dan Distribusi Normal ... 18

2.4

Statistika Inferensi ... 19

2.4.1 Probabilitas ... 19

2.4.2 Distribusi Sampling ... 20

2.5

Korelasi ... 21

2.5.1 Korelasi Pearson r ... 21

2.5.2 Interpretasi r

2

... 22

2.5.3 Faktor-Faktor yang Memengaruhi Nilai r ... 23

2.5.4 Pendugaan Interval Rho (

ρ

) ... 23

2.6

Regresi Linear ... 24

2.7

k-Means ... 25

BAB III ANALISIS DAN PERANCANGAN DATA ... 27

3.1

Analisis Visualisasi Data ... 27

3.1.1 Analisis Masalah ... 27

3.1.2 Analisis Sumber Data ... 27

3.1.3 Analisis Segmentasi Pengguna Informasi ... 31

3.1.4 Analisis Kebutuhan Informasi Berdasarkan Segmentasi Pengguna ... 32

3.1.5 Analisis Algoritma ... 34

3.1.6 Pemetaan Visualisasi Data ... 59

3.2

Analisis Spesifikasi Kebutuhan Perangkat Lunak ... 79

3.2.1 Analisis Kebutuhan Non-Fungsional ... 79

3.2.2 Analisis Kebutuhan Fungsional ... 80

3.3

Perancangan Data ... 110

3.4

Perancangan Sistem ... 114

3.4.1 Perancangan Arsitektur ... 114

3.4.2 Perancangan Struktur Menu ... 116

3.4.3 Perancangan Antarmuka ... 117

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 135

(10)

vii

4.1.1 Lingkungan Implementasi ... 135

4.1.2 Implementasi Data ... 136

4.1.3 Implementasi Antarmuka ... 142

4.2

Pengujian Sistem ... 143

4.2.1 Rencana Pengujian ... 143

4.2.2 Sekenario Pengujian ... 159

4.2.3 Hasil Pengujian ... 188

4.2.4 Evaluasi Pengujian ... 212

BAB V KESIMPULAN DAN SARAN ... 213

5.1

Kesimpulan ... 213

5.2

Saran ... 213

(11)

215

in the Field of Internet Science,” Int. J. Internet Sci., vol. 7, no. 1, pp. 1–5,

2013.

[2]

Anon, “Open Definition - Defining Open in Open Data, Open Content and

Open Knowledge.” [Online]. Available: http://opendefinition.org/.

[Accessed: 03-Oct-2015].

[3]

Anon, “Tentang - Data.jakarta.go.id.” [Online]. Available:

http://data.jakarta.go.id/about. [Accessed: 03-Oct-2015].

[4]

I. J. Asmara, E. Achelia, W. Maulana, R. Wijayanti, and Y. Rianto, “Teknik

Visualisasi Grafik Berbasis Web Di Atas Platform,” Semin. Nas. Apl. Teknol.

Inf. 2009 (SNATI 2009), vol. 2009, no. Snati, pp. 44–47, 2009.

[5]

M. Berndtsson, J. Hansson, B. Olsson, and B. Lundell,

Thesis Guide - A

Guide for Students in Computer Science and Information Systems. 2008.

[6]

C. O’Neil and R. Schutt,

Doing Data Science: Straight Talk from the

Frontline. 2013.

[7]

R. Elmasri and S. B. Navathe,

Basics of Functional Dependencies and

Normalization for Relational Databases. 2010.

[8]

Fathansyah, Basis Data Edisi Revisi. Bandung: Informatika, 2012.

[9]

A. Silberschatz, H. F. Korth, and S. Sudarshan, Database System Concepts -

6th. ed., vol. 4. 2011.

[10] G. Vaish, Getting started with NoSQL. 2013.

[11] F. Frankel, Visualizing Data, vol. 92, no. 2. 2004.

[12] “Visual Encoding | Targetprocess - Visual management software.” [Online].

Available: https://www.targetprocess.com/articles/visual-encoding/.

[Accessed: 17-Dec-2015].

(12)

216

Types.” [Online]. Available:

http://guides.library.duke.edu/datavis/vis_types. [Accessed: 14-Oct-2015].

[16] A. M. Glenberg and M. E. Andrzejewski,

Learning from data: an

introduction to statistical reasoning. 2008.

[17] Anon, “Udacity - Intro to Inferential Statistics - Statistical Significance.”

[Online]. Available:

https://www.udacity.com/course/viewer#!/c-ud201/l-1330628575/m-230229089. [Accessed: 16-Dec-2015].

[18] Anon, “R-Squared: Sometimes, a Square is just a Square.” [Online].

Available:

http://blog.minitab.com/blog/statistics-and-quality-data-analysis/r-squared-sometimes-a-square-is-just-a-square. [Accessed: 16-Dec-2015].

[19] Anon, “MATH 241: Materials - confidence interval for r.” [Online].

Available:

http://turner.faculty.swau.edu/mathematics/math241/materials/rconf/.

[Accessed: 16-Dec-2015].

[20] R. M. Forte, Mastering Predictive Analytics with R. 2015.

[21] J. Han, M. Kamber, and J. Pei, “Data Mining: Concepts and Techniques,

Third Edition,” Morgan Kaufmann Publishers. p. 745, 2012.

[22] Boundless, “Macroeconomics,” 21-Jul-2015. [Online]. Available:

https://www.boundless.com/economics/textbooks/boundless-economics-

textbook/principles-of-economics-1/differences-between-macroeconomics-and-microeconomics-44/macroeconomics-162-12260/. [Accessed:

01-Dec-2015].

[23] Anon, “Microeconomics and Macroeconomics | Microeconomics.” [Online].

Available:

(13)

217

2015].

[25] D. W. Scott, “Optimal and Data-Based Histograms,” Biometrika, vol. 66, no.

3, pp. 605–610, 1979.

[26] M. Last and A. Kandel, “Automated Detection of Outliers in Real-World

Data,” Proc. Second Int. Conf. Intell. Technol., no. MARCH 2002, pp. 1–10,

2001.

[27] Anon, “CRS Report: THE 1997-98 ASIAN FINANCIAL CRISIS.”

[Online]. Available: http://fas.org/man/crs/crs-asia2.htm. [Accessed:

26-Feb-2016].

[28] S. Weisberg, “Simple linear regression,”

Appl. Linear Regression, Third Ed.,

no. 1994, pp. 19–46, 1985.

(14)

1

1.1

Latar Belakang Masalah

Pada era digital seperti sekarang, menemukan data tidaklah begitu sulit, data

(dataset) banyak ditemukan di internet. Dataset tersebut sangatlah besar, kompleks,

dan sulit dianalisis dengan perangkat lunak

data processing

seperti

spreadsheet

[1].

Pemerintah Provinsi DKI Jakarta menyediakan dataset yang bebas didistribusikan,

disimpan, dan dikelola. Dataset seperti ini dikenal dengan istilah

“open data”

(data

terbuka) [2]. Saat penelitian ini dilakukan, dataset yang terdapat pada tempat

penyimpanan data terbuka Pemerintah Provinsi DKI Jakarta sebanyak 556 dataset.

Selain sebagai transparansi, dataset itu juga sebagai upaya Pemerintah Provinsi DKI

Jakarta menyediakan satu basis data pembangunan yang akurat, terbuka, terpusat,

dan terintegrasi [3].

Data ekonomi dan keuangan daerah menggambarkan data tentang

pertumbuhan ekonomi dan hasil kinerja pemerintah, data ini ada sebagai upaya

transparansi pemerintah baik kepada pelaku ekonomi maupun pelaku non-ekonomi.

Akan tetapi, berdasarkan hasil kuesioner terbuka yang dilakukan pada tanggal 25

Agustus 2015 s/d 27 Agustus 2015 dengan segmentasi responden pelaku UKM atau

entrepreneur

, mayoritas responden setuju bahwa data yang disajikan dalam tempat

penyimpanan data Pemerintah Provinsi DKI Jakarta masih sulit dibaca dan

dimengerti. Selanjutnya, berdasarkan wawancara dengan Ibu Sri Dewi Anggadini,

SE., M.Si, dosen tetap Fakultas Ekonomi di Universitas Komputer Indonesia

(UNIKOM). Menurut beliau, melihat dataset yang digunakan dalam penelitian ini,

segmentasi pengguna informasi secara garis besar dibedakan menjadi dua segmen.

Segmen pertama adalah pelaku ekonomi makro dan segmen kedua dalah pelaku

(15)

Tabel I-1 Masalah Berdasarkan Segmentasi

No. Segmentasi Masalah

1 Pelaku ekonomi makro Sulitnya melihat bagaimana sumber daya telah dimanfaatkan.

2 Pelaku ekonomi makro Tidak dapat melihat trend variabel-variabel ekonomi mengalami pergerakan.

3 Pelaku ekonomi mikro Tidak dapat melihat distribusi harga suatu komoditas.

4 Pelaku ekonomi mikro Sulitnya melihat permintaan dan penawaran terhadap komoditas.

Cara efektif menyajikan data yang detail menjadi informasi yang mudah

diterima adalah dengan cara abstraksi menjadi informasi visual. Visualisasi melalui

perumpamaan visual dari dulu hingga saat ini telah digunakan sebagai teknik

penyimpanan pesan. Dahulu perumpamaan visual berbentuk simbol-simbol yang

merepresentasikan suatu makna. Visualisasi mengubah data menjadi informasi

yang bisa dimengerti secara universal [4].

Berdasarkan masalah yang dipaparkan, dapat disimpulkan bahwa (publik)

segmentasi pelaku ekonomi makro dan ekonomi mikro memerlukan visual analisis

dari dataset tersebut. Visualisasi dapat menjadi solusi dalam memahami informasi

umum dari dataset ekonomi dan keuangan.

1.2

Perumusan Masalah

Berdasarkan pemaparan latar belakang masalah, maka perumusan

permasalahan yang terdapat pada penelitian ini adalah memvisualisasikan dataset

ekonomi dan keuangan daerah Pemerintah Provinsi DKI Jakarta.

1.3

Maksud dan Tujuan

Maksud dari penelitian ini adalah melakukan implementasi visualisasi data

dari dataset terbuka topik ekonomi dan keuangan daerah Pemerintah Provinsi DKI

Jakarta berdasarkan analisis statistik/algoritma berbasis aplikasi

mobile

.

(16)

1.

Membantu pelaku ekonomi makro melihat seberapa besar sumber daya telah

dimanfaatkan.

2.

Membantu pelaku ekonomi makro melihat

trend

variabel-variabel ekonomi

mengalami pergerakan.

3.

Membantu pelaku ekonomi mikro melihat distribusi harga suatu komoditas.

4.

Membantu pelaku ekonomi mikro melihat seberapa besar permintaan dan

penawaran komoditas.

1.4

Batasan Masalah

Adapun batasan masalah dari penelitian ini adalah:

1.

Dataset yang digunakan adalah dataset keuangan daerah dan perekonomian

yang didapatkan dari tempat penyimpanan data terbuka (

open data

)

Pemerintah

Provinsi DKI Jakarta (http://data.jakarta.go.id).

2.

Segmentasi pengguna produk dari penelitian ini adalah pelaku ekonomi makro

dan pelaku ekonomi mikro.

3.

Sistem hanya menampilkan informasi visual, tidak menerima data masukan ke

basis data atau tidak melakukan

storing data

dari pengguna.

4.

Aplikasi hanya menggunakan Bahasa Indonesia.

5.

Pendekatan analisis perangkat lunak menggunakan

Object Oriented Analysis

and Design

.

1.5

Metodologi Penelitian

(17)

Gambar I-1

Data Science Process

[6]

Tahap pertama adalah tahap pengumpulan data, data yang diambil adalah

data dalam bentuk csv dari tempat penyimpanan data terbuka Pemprov DKI Jakarta

(http://data.jakarta.go.id), data ini belum bersih, masih terdapat beberapa tipe data

yang tidak sesuai (

null value

) dan

outliers

. Untuk melakukan proses data diperlukan

pembersihan data terlebih dahulu, proses ini disebut dengan

data cleaning.

Pada tahap

data cleaning

, data dibersihkan sekaligus diproses menggunakan

bahasa R. Keluaran yang dihasilkan adalah

data frame

yang sudah bersih, dalam

arti sudah tidak terdapat

null value

dan tipe data sudah sesuai.

Selanjutnya peneliti melakukan pemahaman dan analisis terhadap data.

Tahap ini tidak berlangsung satu arah, tetapi peneliti bisa kembali ke tahap pertama

untuk memeriksa/mengumpulkan data yang masih kurang. Tahap ini disebut

dengan EDA (

Exploratory Data Analysis

).

Selanjutnya adalah tahap penyelesaian masalah menggunakan algoritma

tertentu, tahap ini bersifat pilihan. Algoritma yang akan digunakan disesuaikan

berdasarkan masalah yang coba diselesaikan atau informasi yang dicari. Apabila

informasi sudah tersedia pada tahap analisis, maka tahap algoritma dapat dilewat

dan langsung menuju tahap selanjutnya, yaitu visualisasi data.

(18)

visualisasi dua dimensi dibuat, visualisasi ini menjadi

main ingredients

dalam tahap

perancangan aplikasi.

Tahap selanjutnya adalah membuat

blue print

untuk aplikasi yang dibuat,

blue print

ini mengacu pada proses perancangan rekayasa perangkat lunak.

Tahap terakhir, yaitu mengimpelemtasikan perancangan aplikasi. Istilah

lain tahap ini adalah pengkodingan. Informasi visual akan dikomunikasikan dalam

bentuk aplikasi.

1.6

Sistematika Penulisan

Sistematika penulisan yang akan digunakan untuk laporan akhir penelitian

disusun untuk memberikan gambaran umum tentang penelitian yang dikerjakan.

Sistematika penulisan dalam tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab 1 secara singkat membahas tentang latar belakang permasalahan,

perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian,

dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab 2 menguraikan bahan-bahan kajian, konsep dasar, dan teori dari para

ahli yang berkaitan dengan penelitian. Meninjau permasalahan dan hal-hal yang

berguna dari penelitian-penelitian dan sintesis serupa yang pernah dikerjakan

sebelumnya dan menggunakannya sebagai acuan pemecahan masalah pada

penelitian ini.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab 3 menguraikan hasil analisis dari objek penelitian untuk mengetahui hal

atau masalah apa yang timbul dan mencoba memecahkan masalah tersebut dengan

mengaplikasikan perangkat-perangkat dan pemodelan yang digunakan.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab 4 menguraikan tentang perancangan solusi beserta implementasinya

dari masalah-masalah yang telah dianalisis. Pada bagian ini juga akan ditentukan

(19)

BAB V KESIMPULAN DAN SARAN

(20)

7

2.1

Konsep Data

2.1.1

Data

Menurut kamus internasional Cambridge data adalah kumpulan dari

fakta-fakta yang berupa angka yang digunakan untuk membantu pengambilan keputusan.

Menurut Joseph M. Firestone dalam buku

“Enterprise Information Portals and

Knowladge Management” data adalah kumpulan dari datum, yang mana datum

adalah nilai observasi yang bisa diukur atau dihitung. Kesimpulannya, data

merupakan fakta-fakta dari fenomena yang sudah ada.

2.1.2

Basis Data

Basis data adalah kumpulan data yang merepresentasikan dunia nyata

didesain dan dibangun dengan tujuan tertentu [7]. Perangkat lunak yang membantu

pengguna dalam mengelola dan membuat basis data disebut dengan DBMS (Data

Base Management System) [8]. Tujuan utama dari DBMS adalah menyediakan cara

untuk menyimpan dan mengambil informasi dari basis data secara lebih mudah dan

efisien.

Sistem basis data didesain untuk mengelola informasi yang besar [9].

Pengelolaan data termasuk mendefinisikan struktur informasi penyimpanan dan

penyediaan mekanisme untuk melakukan manipulasi informasi. Selain itu, sistem

basis data juga harus bisa memastikan bahwa informasi disimpan dengan aman,

baik dari system crash atau akses yang tidak diizinkan. Jika data memang dikelola

oleh beberapa pengguna, sistem harus menghindari sebisa mungkin hasil yang

anomali.

Interaksi antara pengguna dan DBMS ditentukan melalui bahasa atau sintak

khusus sesuai dengan jenis DBMS yang digunakan. Pada umumnya bahasa DBMS

dikelompokan ke dalam dua bentuk, yaitu DDL (data-definition language) dan

DML (data-manipulation language) [8].

(21)

DDL digunakan untuk membuat skema dan memberikan properti tambahan

data, dengan kata lain DDL adalah bahasa untuk membuat tabel, membuat indeks,

mengubah tabel, dan menentukan struktur penyimpanan tabel. Keluaran dari

perintah DDL adalah kumpulan tabel yang disimpan dalam berkas khusus yang

disebut data dictionary.

2.

DML (Data Manipulation Language)

DML adalah bahasa yang memungkinkan pengguna DBMS mengakses atau

melakukan manipulasi data yang diorganisasikan dengan model data yang sesuai.

Tipe akses tersebut yaitu:

§

Mengambil (retrieve) informasi dari basis data.

§

Memasukan (insert) informasi baru ke basis data.

§

Menghapus (delete) infromasi dari basis data.

§

Modifikasi (update) informasi yang terdapat dari basis data.

2.1.3

Basis Data NoSQL

NoSQL diinterpretasikan dengan “not only SQL” (bukan SQL saja) DBMS

yang tidak memakai model relasi; NoSQL tidak dibangun di atas tabel, sehingga

tidak bisa memakai query SQL untuk melakukan manipulasi data. Keunggulan

NoSQL dibandingkan basis data relasi ada pada skabilitas [10]. Selain skalabilitas,

NoSQL memiliki keunggulan sebagai berikut [10]:

§

Scemaless data representation: Hampir semua model NoSQL

merepresentasikan

schemalees. Administrator basis data tidak perlu

memikirkan bagaimana struktur dan model basis data yang berubah setiap

waktu.

§

Development time: Query yang komplek pada basis relasi yang sudah besar,

akan membuat proses penyajian data menjadi lambat (misalnya JOIN tabel

pada basis data yang tersebar di banyak server). Pada NoSQL hal demikian

tidak terjadi.

§

Plan ahead for scalability: Aplikasi yang memakai model NoSQL akan

(22)

2.2

Visualisasi Data

Data yang sangat banyak, kompleks, dan tidak teratur sangat sulit untuk

dimengerti sekilas pandang oleh manusia. Membaca data akan menjadi masalah

ketika data secara inkremental bertambah atau berubah. Tujuan visualisasi data

adalah menunjukan mana hal-hal yang penting secara jelas, melihat pola, dan

menunjukan informasi dari berbagai dimensi. Visualisasi yang efektif membantu

pengguna dalam melakukan analisis, mempermudah menyimpulkan data, dan

membuat data yang kompleks menjadi lebih mudah untuk dimengerti [11].

Visualisasi data tidak semerta-merta mengubah data menjadi grafik visual,

visualisasi data memerlukan perencanaan. Setiap jenis data memiliki teknik

visualisasi berdasarkan kebutuhannya. Berdasarkan tingkat kompleksitas data,

untuk menghasilkan solusi yang berharga diperlukan dari berbagai disiplin ilmu,

yaitu: statistika, data mining, desain grafis, dan visualisasi informasi [11].

2.2.1

Visual Encoding

Visual encoding adalah sebuah cara memtakan data ke dalam struktur

visual. Desainer membantu pembaca memahami makna data lebih cepat dengan

memakai beberapa prinsip

visual encoding. Terdapat dua tipe prinsip

visual

encoding: planar dan retina. Manusia sangat peka terhadap variabel retina [12].

Terdapat tiga tipe data dasar dalam visual encoding. Berikut adalah tiga tipe

dasar visual encoding [12]:

1.

Kuantitatif: Tipe data ini dibedakan berdasarkan objek yang bisa diukur.

Contoh: Nilai ujian, durasi jam dalam sehari, jumlah hari dalam setahun, dll.

2.

Kualitatif: Tipe data ini dibedakan berdasarkan objek yang bisa dibandingkan

dan tidak memiliki ukuran yang pasti. Contoh: Baik, buruk, jelek, tidak yakin,

dll.

3.

Categorical: Tipe data ini dibedakan berdasarkan pengelompokan objek.

Contoh:

a.

Buah: apel, jeruk, mangga, dll;

b.

Negara: Singapura, Indonesia, Jepang, Rusia, dll;

(23)

2.2.2

Tipe-Tipe Visualisasi

Tujuan visualisasi adalah untuk membantu pemahaman manusia terhadap

data dengan memaksimalkan sistem penglihatan manusia yang bisa membedakan

pattren, spot the trends, dan identifikasi

outlier [13]. Tantangan dari visualisasi data

adalah bagaimana membuat visualisasi yang effektif, menarik, dan tepat terhadap

data yang dipakai [13].

Terdapat tujuh hal yang harus dipenuhi dalam melakukan abstraksi tingkat

tinggi (high-level abstraction), semakin banyak hal yang disembunyikan, semakin

banyak juga langkah-langkah yang harus dipenuhi, langkah tersebut yaitu [14]:

1.

Overview: Melihat gambaran dari keseluruhan data;

2.

Zoom: Memperbesar item yang terlihat menarik.

3.

Filter: Melakukan penyaringan terhadap item yang dirasa kurang menarik.

4.

Details-on-demand: Pilih satu item dari grup tertentu dan dapat melihat detail

kapan saja.

5.

Relate: Lihat relasi dari setiap item.

6.

History: Dapat mengulang kembali atau kembali ke aksi sebelumnya.

7.

Extract: Dapat melakukan ekstraksi dari parameter yang diberikan.

Berdasarkan taksonominya, grafik visual dibedakan menjadi [14]:

1D/Linear; 2D/Planar; 3D/Volumetric; Temporal; Multidimensional; Tree/

Hierarchical; dan Network.

2.2.2.1

1D/Linear

Grafik 1-dimensi termasuk di dalamnya adalah tipe data tekstual, kode

sumber program, dan huruf alfabet. Setiap item yang digambarkan memiliki elemen

garis . Contoh dari grafik 1D seperti kode-kode DNA, perbedaan kode sumber, dan

lain-lain.

(24)

2.2.2.2

2D/Planar

Grafik 2-dimensi termasuk di dalamnya peta geografis, denah rancangan,

atau layout koran. Setiap item pada grafik 2-dimensi memiliki total area dan atribut

(warna, ukuran, dll).

Gambar II-1 Contoh Grafik Planar/2D [13]

2.2.2.3

3D/Volumetric

Grafik 3-dimensi adalah visual yang menggambarkan objek nyata, seperti

tubuh manusia, bentuk bangunan, dll. Setiap item pada grafik 3-dimensi memiliki

volume.

2.2.2.4

Temporal

Grafik temporal adalah grafik yang berhubungan dengan waktu (time lines).

Grafik ini menggambarkan persentasi historikal dari data 1-dimensi. Yang

membedakan, grafik temporal memiliki item dengan waktu awal dan waktu akhir,

(25)

Gambar II-2 Contoh Grafik Temporal [15]

2.2.2.5

Multi-dimensional

Grafik temporal didalamnya termasuk grafik-grafik yang dihasilkan dari

manipulasi data dari disiplin ilmu statistika. Antarmuka representasi

milti-dimensional adalah grafik 2-dimensi. Grafik multi-dimensi termasuk didalamnya

grafik

pie, histogram, tag cloud, bubble cloud, bar, tree-map, scatter plot, bubble

chart, line chart, step chart, heat-map, parallel sets, spider chart, box-plot, mosaic

display, waterfall, dan tabular.

Gambar II-3 Tree-map (Multi-dimensi) [15]

2.2.2.6

Tree/Hierarchical

Tree adalah grafik herarkikal dari item-item yang memiliki hubungan satu

(26)

dan anak bisa memiliki banyak atribut. Grafik tree termasuk didalamnya grafik tree,

dendorogram, radial-tree, hyperbolic-tree, tree-map, dan sunburst.

Gambar II-4 Contoh Radial-tree [15]

2.2.2.7

Network

Network adalah grafik relasi yang tidak bisa digambarkan oleh grafik tree,

network memvisualisasikan relasi-relasi item yang banyak (semena-mena). Grafik

network termasuk di dalamnya grafik matrix, node-diagram, dependency, hive-plot,

alluvial diagram, dan subway.

(27)

2.2.3

Proses Visualisasi Data

Visualisasi data sama halnya seperti berkomunikasi, berhasil atau tidaknya

komunikasi ditentukan oleh bagaimana cara pembicara menyampaikan informasi

yang diberikan kepada lawan komunikasi. Terlalu meluas apa yang dibicarakan

juga termasuk hal yang buruk dalam berkomunikasi. Visualisasi yang baik tentu

terfokus, memberikan jawaban yang jelas, dan tidak terlalu detail [11]. Banyak

metode dan cara untuk membuat visualisasi yang baik, akan tetapi pada prinsip

dasarnya, visualisasi yang bagus memenuhi aspek:

overview, zoom dan

filtering,

selanjutnya details-on-demand [14].

Proses memahami sebuah data dimulai dari beberapa pertanyaan.

Selanjutnya tidak semerta-merta dijawab begitu saja, tetapi terdapat

langkah-langkah dalam menjawab pertanyaan berdasarkan data. Langkah-langkah-langkah tersebut

yaitu [11]:

1.

Acquire

Tahap ini adalah tahap dimana data dikumpulkan dari berbagai sumber.

Tahap ini bisa menjadi sangat rumit (contoh: mengambil data dari berkas log sistem

yang besar). Tahap acquire

hanya peduli bagaimana data didapatkan, jika produk

akhir akan didistribusikan melalui internet, maka data yang ada harus memiliki

struktur yang bisa disimpan dalam suatu server.

2.

Parse

Tahap ini adalah tahap dimana data dekemas ke dalam bentuk atau format

data baku dan dikelompokan ke dalam beberapa kategori. Setiap berkas data harus

dapat dibaca dan bisa dibedakan dengan data lain.

3.

Filter

Pada tahap ini beberapa data yang tidak terlalu penting dengan pertanyaan

yang akan dijawab dihilangkan. Beberapa data pada berkas, mungkin perlu

diterjemahkan ke dalam model matematika atau dilakukan normalisasi terlebih

(28)

4.

Mine

Pada tahap ini, data diaplikasikan ke dalam metode disiplin ilmu statistika

atau data mining sebagai jalan untuk mencari pola atau dijabarkan pada konteks

matematis.

5.

Represent

Pada tahap ini data diubah dan disajikan dalam bentuk model visual dasar,

seperti bar,

list, atau tree. Tahap represent menunjukan bentuk dasar data yang akan

diambil. Tahap ini adalah tahap yang sangat penting dalam membuat visualisasi

data. Pemilihan model visualisasi yang tepat dapat memengaruhi bagaimana

nantinya kualitas produk yang akan dihasilkan.

6.

Refine

Pada tahap ini, model visual dibuat lebih jelas lagi dan lebih menarik. Grafik

desain lebih banyak berbicara pada tahap ini. Titik-titik yang cukup penting pada

visual grafik dibandingkan titik lainnya diberikan pembeda agar dapat mudah

dibaca.

7.

Interact

Pada tahap interact, metode untuk memanipulasi data ditambahkan, dengan

arti bahwa data bisa ditampilkan sesuai kehendak pengguna. Contoh interaksi

antara pengguna dan data seperti

zoom-in,

zoom-out, merubah rentang data,

melakukan filtering, dll.

2.3

Statistika Deskriptif

Statistika deskriptif (descriptive statistics) adalah suatu metode untuk

mengorganisasikan dan melihat gambaran umum dari pengukuran sampel dan

populasi. Statistika deskriptif seperti namanya biasa dipakai untuk membaca data,

seringkali digunakan pada sebuah sampel populasi karena sulitnya untuk

(29)

yang diambil dari populasi, maka hasil tersebut disebut statistika. Sementara bila

perhitungan ditarik dari seluruh populasi, maka hasilnya disebut parameter.

Statistika

deskriptif

mencakup

metode

untuk

menyusun

dan

mengelompokan distribusi data dan termasuk mencari satu nilai yang dapat

menggambarkan semua nilai dari sampel atau populasi. Menurut Arthur M.

Glenberg dan Matthew E. Andrzejewski dalam bukunya yang berjudul “Learning

from Data an Introduction to Statistical Reasoning 3

rd

” terdapat tiga teknik penting

pada statistika deskriptif, distribusi frekuensi dan peresentil, titik tengah dan

variabilitas, dan z skor dan distribusi normal.

2.3.1

Distribusi Frekuensi dan Persentil

Distribusi frekuensi adalah tabulasi jumlah kemunculan dari setiap nilai.

Distribusi frekuensi mengelola dan memberikan gambaran umum data, yaitu

dengan cara menampilkan karakteristik terbanyak [16]. Persentil adalah persentasi

skor nilai yang didapatkan dari perhitungan distribusi di bawah skor nilai. Persentil

dan persen tidaklah sama. Skor nilai sendiri sering disebut sebagai persentil (Pth),

adalah skor nilai P% dari perhitungan di bawah distribusi [16].

2.3.2

Ukuran Gejala Pusat dan Variansi

Ukuran gejala pusat distribusi adalah nilai yang dekat dengan titik tengah

dari distribusi. Biasanya digunakan sebagai representasi nilai distribusi keseluruhan

[16].

2.3.2.1

Notasi Sigma

adalah karakter kapital dari huruf Yunani yang disebut dengan sigma.

digunakan sebagai persamaan jumlah dalam bentuk lebih pendek. Contoh: terdapat

sebuah data pelanggaran dari sebuah aktivitas olah raga [1], berikut adalah data

tersebut:

Atlit 1 2 3 4 5 6 7 8 9 Jumlah Pelanggaran (X) 0 3 1 0 2 2 2 5 1

(30)

" #

"$%

X

adalah variable yang dihitung, dalam contoh di atas adalah “jumlah

pelanggaran”. i menunjukan posisi index ke-i, i=1 di bawah

menunjukan index

posisi pertama yang akan dijumlahkan,

n di atas

menunjukan index posisi terakhir

yang akan dihitung. Sehingga expresi sigma di atas bisa ditulis seperti:

" #

"$%

= �

%

+ �

(

+ �

)

+ �

*

+ �

+

+ �

,

+ �

-

+ �

.

+ �

/

" #

"$%

= 0 + 3 + 1 + 0 + 2 + 2 + 2 + 5 + 1 = 16

Dari data dan persamaan di atas, dapat diketahui bahwa jumlah pelanggaran

dapat ditulis dengan notasi

= 16.

2.3.2.2

Ukuran Gejala Pusat

Tedapat tiga perhitungan yang sering digunakan dalam mengukur gejala

pusat, mean, median, dan modus (mode). Nilai pada mean, median, dan modus tidak

dapat mewakili seluruh distribusi, tetapi bisa memberikan gambaran umum.

Rata-rata distribusi didefinisikan sebagai nilai penjumlahan setiap nilai

yang terdapat pada distribusi (

) dibagi dengan jumlah nilai yang terdapat pada

distribusi (n). Formula yang dipakai untuk menghitung rata-rata adalah sebagai

berikut:

Rata-rata =

∑7 #

Rata-rata pada sampel dan populasi dibedakan, untuk rata-rata sampel,

dinotasikan sebagai M, sedangkan pada populasi dinotasikan sebagai

µ

(miu).

µ

=

∑7

8

M =

∑7 #

Median distribusi adalah nilai yang berada pada titik tengah distribusi.

Formula median dapat dibedakan untuk jumlah distribusi genap dan ganjil.

(31)

Modus distribusi adalah nilai pada distribusi yang paling sering muncul atau

yang memiliki frekuensi terbanyak.

2.3.2.3

Varian dan Standar Deviasi

Variabilitas adalah pengukuran beda nilai antara satu nilai distribusi dengan

nilai distribusi pusat atau seberapa besar penyimpangan dengan nilai pusatnya.

Pengukuran yang lebih menggambarkan variabilitas adalah varian, varian

menghitung variabilitas berdasarkan nilai beda dengan

µ

[16].

Varian dari sebuah populasi dapat dihitung dengan cara [16]: (a) Hitung

setiap nilai distribusi dengan

µ

; (b) Kuadratkan setiap nilai yang sudah dihitung; (c)

Bagi jumlah dari setiap perhitungan dengan populasi, N.

(

=

∑(� − µ)

(

=

��(�)

Varian dari sebuah sampel untuk menggambarkan populasi, dihitung

dengan formula sebagai berikut:

(

=

∑(� − µ)

(

� − 1

=

��(�)

� − 1

Varian dari populasi atau sampel tidak dapat dinyatakan dalam stauan ukur,

karena alasan tersebut ukuran varian yang sering digunakan adalah standar deviasi.

Secara matematis, standar deviasi didefinisikan sebagai akar kuadrat dari varian.

� = �

(

(parameter)

� = �

(

(statistik)

2.3.3

z Skor dan Distribusi Normal

z skor atau disebut juga dengan skor standar, sama seperti persentil, z skor

juga menghitung posisi relatif dari mean. Index z skor adalah posisi distribusi relatif

terhadap distribusi lain. z skor sangat berguna pada distribusi normal [16].

z skor adalah skor yang sudah dilakukan standarisasi dengan menjadikan 0

sebagai mean dari distribusi dan 1 sebagai standar deviasi [16]. Formula untuk

menghitung z skor adalah sebagai berikut:

(32)

Jarak skor dari mean berdasarkan z skor adalah: +

dan +2

di atas nilai

mean (

µ

) atau : -

dan -2

di bawah nilai mean (

µ

).

2.4

Statistika Inferensi

Tahap pertama memahami data adalah memahami sampel, selanjutnya,

sampel yang diambil seringkali digunakan untuk menyimpulkan kondisi populasi

sesungguhnya dimana sampel tersebut diambil. Statistika inferensi menggunakan

sembarang sampel dari populasi yang diuji untuk membuat kesimpulan atau

menaksir terhadap karakteristik populasi [16]. Statistika inferensi diperlukan karena

terdapat dua masalah yang saling berhubungan. Pertama, skor dari populasi selalu

dibutuhkan. Kedua, populasi biasanya sangat besar, menghitung skor populasi

seringkali tidak bisa dilakukan.

Prosedur inferensial statistik dibedakan menjadi dua kategori, estimasi

parameter dan pengujian hipotesis.

§

Estimasi parameter melakukan estimasi parameter populasi dari sampel yang

diambil secara acak.

§

Pengujian hipotesis membandingkan dua hipotesis tentang populasi. Data dari

sampel acak digunakan untuk menentukan hipotesis mana yang cenderung

benar.

2.4.1

Probabilitas

Probabilitas adalah kemungkinan yang dapat terjadi dalam suatu peristiwa

(event) tertentu. Secara matematis, probabilitas diartikan sebagai banyaknya

pristiwa yang dimaksud dibagi dengan seluruh pristiwa yang mungkin [16].

Formula probabilitas yaitu:

�(�) =

�(�)

�(�)

dengan:

P(A) = probabilitas terjadinya peristiwa A

n(A) = jumlah peristiwa A

(33)

2.4.2

Distribusi Sampling

Keputusan diambil terhadap informasi yang diambil dari populasi. Informasi

yang lengkap diperoleh dari seluruh populasi. Hanya saja, untuk mendapatkan

seluruh data dari populasi hampir tidak mungkin dilakukan secara singkat.

Sampling adalah metode yang digunakan untuk mengestimasi parameter-parameter

populasi [16].

Standar deviasi dari distribusi sampling disebut dengan standar error statistik

(SE). Perbedaan standar deviasi dan standar error adalah pada nilai, sementara

standard error berkaitan dengan hasil perhitungan.

�� =

� − 1

Perbedaan hasil yang diperoleh dari sampel statistik dan hasil yang diperoleh

dari parameter populasi disebut sampling error. Sampling error dipakai untuk

menunjukan ketepatan populasi yang didasarkan pada perhitungan terhadap sampel

di bawah distribusi normal. Semakin kecil sampling error, semakin besar ketepatan

penaksiran.

2.4.2.1

Pendugaan Titik

Cara penaksiran skor tunggal parameter populasi mean (

µ

) dapat dilakukan

dengan mengambil mean terhadap sampel acak populasi (M). Mean sampel acak

tersebut disebut pendugaan titik (point estimator --

µ

"

) [16].

2.4.2.2

Pendugaan Interval

Pendugaan interval (interval estimation) menunjukan interval berapa suatu

parameter populasi akan berada pada dua nilai (dibatasi oleh dua nilai) karena

adanya treatment, nilai tersebut biasanya disebut batas bawah dan batas atas [16].

� − �

G/(

≤ � ≤ �

G/(

(34)

2.4.2.3

Significance Level (

α

)

Significant secara bahasa berarti penting, tetapi dalam statistik ‘significant’

berarti probabilitas true atau false. Alpha level (

α

) adalah simbol yang menunjukan

sebarapa besar suatu kejadian dalam sampel terjadi akibat pengambilan acak

(likely) atau bukan acak (unlikely). Artinya kejadian yang muncul dari sampel

apakah terjadi secara kebetulan (random) atau bukan kebetulan [17]. Significance

of Alpha level (

α

) dibagi menjadi tiga, yaitu:

1.

α

= 0.05

2.

α

= 0.01

3.

α

= 0.001

2.4.2.4

Nilai Statistik t

Nilai statistik

t menggambarkan seberapa jauh beda rata-rata sampel antara

satu sampel dengan sampel lainnya atau populasi. Nilai Statistik t didapatkan dari

pembagian antara beda mean populasi dengan sampel dengan standard error [16].

� =

� − �

��

=

� − �

2.5

Korelasi

Korelasi digunakan untuk mengukur hubungan antara dua sampel, yaitu

ketika pengukuran setiap variabel sampel dengan variabel lainnya harus dilibatkan.

Analisis korelasi digunakan untuk membuat kesimpulan terhadap populasi dari

sampel yang diukur, analisis ini bisa dilakukan hanya ketika suatu sampel yang

dependen [16].

2.5.1

Korelasi Pearson r

Korelasi

Pearson r atau yang sering disebut

r

saja, adalah pengukuran

terhadap kekuatan garis linear antara dua variabel. Pengukuran r bisa diaplikasikan

pada sampel atau populasi, simbol

r

dugunakan untuk mengukur statistik,

(35)

1.

Nilai korelasi selalu pada rentang -1 dan 1m inklusif.

2.

Nilai korelasi selalu menunjukan hubungan dengan kemiringan/gradien garis

regresi; garis regresi dengan kemiringan positif memiliki koefisien korelasi

positif, dan sebaliknya. Garis regresi dengan gradien 0, memiliki koefisien

korelasi 0.0.

3.

Kekuatan relasi garis linear diindikasikan dengan nilai absolut dari korelasi.

Relasi garis linear yang sempurna ditandai dengan r atau

ρ

yang bernilai -1 atau

1; tidak ada hubungan garis linear r atau

ρ

bernilai 0.

Kekuatan relasi garis linear ditandai dengan scatter plots yang dekat dengan

[image:35.595.123.426.323.581.2]

garis regresi (S

y.x

kecil). Ilustrasi ini digambarkan pada Gambar II-6.

Gambar II-6 Ilustrasi Korelasi dan Scatter plots [16]

2.5.2

Interpretasi r

2
(36)

Gambar II-7 Ilustrasi Korelasi r

2

Secara matematis, r2 dapat dihitung dengan mengurangi varian x terhadap

x dengan total varian dari y dengan 1 [18].

(

= 1 −

��

NOP"Q

��

R

= 1 −

"

− �

" (

"

− �

(

= 1 −

"

− (��

"

+ �)

(

"

− �

(

2.5.3

Faktor-Faktor yang Memengaruhi Nilai r

Terdapat beberapa faktor yang harus diperhatikan ketika akan menghitung

hubungan antara x

dan

y. Jika diabaikan, faktor-faktor tersebut akan memberikan

masalah terhadap regresi [16]. Faktor-faktor tersebut yaitu [16]:

1.

Nonlinear relationship. Korelasi linear hanya menghitung derajat hubungan

kelineran. Jika

x dan

y berhubgan tetapi tidak linear, r dapat memberikan nilai

kosong (meskipun terdapat hubungan antara dua variabel).

2.

Restricted range. Pengecualian baik pada range x atau y, akan mengurangi nilai

r.

3.

Extreme score. Satu nilai yang sangat tinggi dapat menghasilkan bukti pada saat

perhitungan korelasi ketika tidak ditemukan pada skor mayoritas.

4.

Combining griups. Dapat terjadi tidak adanya hubungan antara grup, tetapi

menggabungkan beberapa grup dapat menimbulkan kebiasan dalam korelasi

linear.

2.5.4

Pendugaan Interval Rho (

ρ

)

Nilai statistik

r dapat digunakan untuk membuat berbagai macam

(37)

pada

, dimana diperlukan nilai standar yaitu z dan

α

level. Pada pendugaan interval

ρ

juga diperlukan nilai statistik t dan

α

level [16]. Nilai statistik t untuk menduga

interval

ρ

dapat dihitung dengan formula:

� =

� − 0

1 − �

(

��

=

� − 0

1 − �

(

� − 2

df adalah kependekan dari dgree of freedom (derajat kebebasan). Dimana df

dapat dihitung dengan mengurangi setiap kelompok sampel dengan 1. Artinya, jika

terdapat

n sampel, maka

df

adalah

n-(banyak sampel). Sehingga, untuk regresi

linear yang memiliki sampel

x dan sampel

y, maka

df adalan 2(n-1). Selanjutnya

pada t statistik dinotasikan N-2 [16].

Selanjutnya interval

ρ

dapat dihitung dengan formula [19]:

� ± �

G (

��

P

��

P

adalah simpangan baku dari r.

��

P

dapat dihitung dengan formula:

��

P

=

1 − �

(

��

=

1 − �

(

� − 1

2.6

Regresi Linear

Regresi linear merupakan salah satu pembelajaran mesin

supervised

learning, yaitu pembelajaran mesin yang memproyeksikan suatu nilai berdasarkan

nilai lainnya [20]. Regresi linear memproyeksi nilai dengan membuat model. Model

adalah represtasi dari

state, proses, atau sistem untuk mengambil sebuah

kesimpulan [20]. Regresi linear menjelaskan hubungan matematis antara dua

variabel. Regresi linear memakai variabel independen x untuk menjelaskan variabel

dependen y atau sering disebut juga outcome variable [6].

Model regresi linear yang terbentuk untuk sampel adalah

� = �� + �

,

sedangkan untuk populasi adalah

� = �

%

� + �

Z

. b adalah tingkat kemiringan untuk

sampel, sedangkan

β

1

adalah tingkat kemiringan (slop) untuk populasi. Untuk

mencari tingkat kemiringan, dilakukan dengan cara mengalikan

r

dengan

(38)

%

= �

��

R

��

[

Model regresi linear ini kemudian diplot melewati titik (

,

) [17].

2.7

k-Means

Misalkan sebuah data set D, data set D membiliki n buah objek pada ruang

Euclidean. k-Means adalah algoritma yang mendistribusikan objek-objek pada data

set D ke cluster k, C

1

, ..., C

k

, dimana C

i

Ì

D dan C

i

Ç

C

j

=

Æ

untuk (1

£

i, j

£

k)

[21]. Fungsi objektif yang hendak dicapai oleh

k-Means

clustering adalah objek

dalam cluster memiliki kriteria sejenis dan tidak sejenis untuk cluster lainnya [21].

Berikut adalah abstraksi bagaimana algoritma k-means bekerja [21]:

1.

Secara acak, pilih k-centroid (titik yang akan mencadi titik tengah

cluster) pada

ruang d dimensi.

2.

Kelompokan setiap titik ke dalam k-set centroid paling dekat.

3.

Perbaharui

k-centroid dengan rata-rata titik

k-set atau titik-titik yang sudah

dikelompokan sebelumnya.

(39)
(40)

135

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1

Implementasi Sistem

Tahapan implementasi adalah tahapan dimana perancangan yang dibuat

pada BAB III diimplementasikan menggunakan bahasa pemrograman tertentu,

dalam penelitian tugas akhir ini, digunakan bahasa pemrograman JavaScript. Pada

tahap ini, dipaparkan seluruh elemen-elemen yang terlibat pada pengembangan

aplikasi

mobile

visualisasi data terbuka Pemprov DKI Jakarta.

4.1.1

Lingkungan Implementasi

Lingkungan implementasi merupakan spesfikasi perangkat keras dan

perangkat lunak baik

client

ataupun

server

dimana aplikasi

mobile

visualisasi data

akan diimplementasikan. Berikut adalah lingkungan implementasi aplikasi

mobile

visualisasi data terbuka Pemprov DKI Jakarta.

1.

Lingkungan Perangkat Keras

Berikut adalah spesifikasi perangkat keras

client

yang diimplementasikan

untuk menjalankan aplikasi, yang dapat dilihat pada Tabel IV-1.

Tabel IV-1 Lingkungan Perangkat Keras

Client

Perangkat Keras Spesifikasi Android Spesifikasi iPhone

Prosesor Quad-core 1.3 GHz Dual-core 1.4 GHz

Memori 1 GB RAM 1 GB RAM

Resolusi Layar 540 x 960 pixels 750 x 1334 pixels

Disk 8 GB 16 GB

Internet 4G 4G

Berikut adalah spesifikasi perangkat keras

server

(teknologi awan

Infrastructure as a Service

dan

Database as a Service

) yang diimplementasikan

untuk mendukung perangkat

client

berjalan, yang dapat dilihat pada Tabel IV-2.

Tabel IV-2 Lingkungan Perangkat Keras IaaS

Perangkat Keras Spesifikasi

Prosesor Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz

Memori 1024 MB

(41)

Perangkat Keras Spesifikasi

Uplink/Downlink 1 Gbps

Data Center DigitalOcean (Singapore Node)

Tabel IV-3 Lingkungan Perangkar Keras DaaS

Perangkat Keras Spesifikasi

Prosesor Shared

Memori 512 MB

Disk 512 MB

Data Center AWS us-east-1

2.

Lingkungan Perangkat Lunak

Berikut adalah spesifikasi perangkat lunak

mobile

yang diimplementasikan

untuk menjalankan aplikasi, yang dapat dilihat pada Tabel IV-4.

Tabel IV-4 Lingkungan Perangkat Lunak

Mobile

Perangkat Lunak Spesifikasi Android Spesifikasi iPhone

Sistem Operasi Android OS v5.1.1 iOS v8

Berikut adalah spesifikasi perangkat lunak

server

yang diimplementasikan

untuk mendukung aplikasi

client

, yang dapat dilihat pada Tabel IV-5.

Tabel IV-5 Lingkungan Perangkat Lunak

Server

Perangkat Lunak Spesifikasi

Sistem Operasi Ubuntu 16.04 LTS 64 bit

Task Runner gulp 3.9.x

Server Proxy nginx v1.8.x

Software Platform NodeJS v6.0.0

Database MongoDB 3.x

Database Driver Mongoose 4.5.x

Framework Express 4.14.x

Task Runner Gulp 3.9.x, gulp-nodemon 2.1.x

Auth Handler Passport 0.3.x, passport-http-barer 1.0.x

4.1.2

Implementasi Data

Implementasi data yang dilakukan adalah menggunakan MongoDB.

Pembuatan

collection

dilakukan melalui

driver

mongoose nodejs.

1.

Pembuatan Database

1 use dbbatavia

(42)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

rincian: String, jumlah: Number, kategori: String, persen: Number });

var data = mongoose.model('Ikhtisar', dataModel);

module.exports = { data: data }

3.

Implementasi Data 2: Besar Upan Minimum DKI Jakarta

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

ump: Number,

kenaikan_ump: Number, inflasi: Number, keterangan: String });

var data = mongoose.model('DataUmpInflasi', dataModel);

var linearModel = new Schema({ model: {

coefficient: Number, slope: Number,

correlation_coefficient: Number },

data: [{

type: Schema.ObjectId, ref: 'DataUmpInflasi' }]

});

var linear = mongoose.model('LinearUmpInflasi', linearModel);

module.exports = { data: data, linear: linear }

4.

Implementasi Data 3: Laju Pertumbuhan Ekonomi Jakarta dan Nasional

1 2 3

(43)

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

var dataModel = new Schema({ tahun: Date,

persen_tumbuh_jakarta: Number, persen_tumbuh_nasional: Number, keterangan: String

});

var data = mongoose.model('DataPertumbuhanEkonomi', dataModel);

var linearModel = new Schema({ model: { coefficient: Number, slope: Number, correlation_coefficient: Number }, data: [{ type: Schema.ObjectId, ref: 'DataPertumbuhanEkonomi' }] });

var linear = mongoose.model('LinearPertumbuhanEkonomi', linearModel);

module.exports = { data: data, linear: linear }

5.

Implementasi Data 4: Tingkat Inflasi Jakarta dan Nasional

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

inflasi_jakarta: Number, inflasi_nasional: Number, keterangan: String

});

var data = mongoose.model('DataInflasi', dataModel);

var linearModel = new Schema({ model: { coefficient: Number, slope: Number, correlation_coefficient: Number }, data: [{ type: Schema.ObjectId, ref: 'DataInflasi' }] });

(44)

25 26 27 28 29

module.exports = { data: data, linear: linear }

6.

Implementasi Data 5: Komponen Inflasi Jakarta

1 2 3 4 5 6 7 8 9 10 11 12 13 14

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

komponen: String, persen_inflasi: Number, persen_kontribusi: Number });

var data = mongoose.model('KomponenInflasi', dataModel);

module.exports = { data: data }

7.

Implementasi Data 6: Ekspor Impor DKI Jakarta

1 2 3 4 5 6 7 8 9 10 11 12 13

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

atribut: String, juta_usd: Number });

var data = mongoose.model('BesarEkprImpr', dataModel);

module.exports = { data: data }

8.

Implementasi Data 7: Volume dan Nilai Ekspor DKI Jakarta

1 2 3 4 5 6 7 8 9 10 11 12

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

no_hs: String, komoditas: String, volume: Number, nilai: Number, grup: String });

(45)

13 14 15 16

module.exports = { data: data }

9.

Implementasi Data 8: Nilai Impor Produk Menurut Golongan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

17 18 19 20 21

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ bulan: Date,

golongan: String, nilai_fob: Number });

var data = mongoose.model('DataNilaiImprProgukGol', dataModel);

var histogramModel = new Schema({ kelas_interval: String,

frekuensi: Number,

frekuensi_relatif: Number });

var histogram = mongoose.model('HistogramNilaiImprProdukGol', histogramModel);

module.exports = { data: data,

histogram: histogram }

10.

Implementasi Data 9: Struktur Ekonomi Jakarta Berdasarkan Sektor

1 2 3 4 5 6 7 8 9 10 11 12 13 14

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tahun: Date,

persen_kontribusi: Number, jenis_sektor: String, keterangan: String });

var data = mongoose.model('StrukturEkonomi', dataModel);

module.exports = { data: data }

11.

Implementasi Data 10: Harga Pangan Tingkat Konsumen DKI Jakarta

1 2 3 4

var mongoose = require('mongoose'), Schema = mongoose.Schema;

(46)

5 6 7 8 9 10 11 12 13 14 15 16 17 18

19 20 21 22 23

tanggal: Date, wilayah: String, komoditi: String, harga: Number, satuan: String });

var data = mongoose.model('DataHargaPanganKonsumen', dataModel);

var histogramModel = new Schema({ kelas_interval: String,

frekuensi: Number,

frekuensi_relatif: Number });

var histogram = mongoose.model('HistogramHargaPanganKonsumen', histogramModel);

module.exports = { data: data,

histogram: histogram }

12.

Implementasi Data 11: Perkembangan Harga Grosir di Pasar Induk

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

var mongoose = require('mongoose'), Schema = mongoose.Schema;

var dataModel = new Schema({ tanggal: Date,

komoditas: String, harga: Number });

var data = mongoose.model('DataPerkemHargaGrosir', dataModel);

var histogramModel = new Schema({ kelas_interval: String,

frekuensi: Number,

frekuensi_relatif: Number });

var histogram = mongoose.model('HistogramPerkemHargaGrosir', histogramModel);

module.exports = { data: data,

histogram: histogram }

13.

Implementasi Data 12: Pendapatan Perkapita Jakarta dan Nasional

1 2 3 4 5

var mongoose = require('mongoose'), Schema = mongoose.Schema;

(47)

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

perkapita_jakarta: Number, perkapita_nasional: Number, keterangan: String

});

var data = mongoose.model('DataPendapatanPerkapita', dataModel);

var linearModel = new Schema({ model: {

coefficient: Number, slope: Number,

correlation_coefficient: Number },

data: [{

type: Schema.ObjectId,

ref: 'DataPendapatanPerkapita' }]

});

var linear = mongoose.model('LinearPendapatanPerkapita', linearModel);

module.exports = { data: data, linear: linear }

4.1.3

Implementasi Antarmuka

Bagian ini merupakan implementasi antarmuka dari subsistem aplikasi

mobile

visualisasi data terbuka Pemprov DKI Jakarta. Implementasi ini terdiri dari

nama antarmukan dan nama file yang mewakilinya. Adapun rincian implementasi

antarmuka dapat dilihat pada lampiran. Implementasi antarmuka ini dapat dilihat

[image:47.595.86.476.108.412.2]

pada Tabel IV-6.

Tabel IV-6 Implementasi Antarmuka

No. Nama Antarmuka Nama Berkas No. Lampiran

1 Perkenalan Aplikasi intro.html A-1

2 Beranda main.html A-2

3 Halaman Kredit credit.html A-3

4 Menu Ekonomi Makro makro-menu.html A-4

5 Menu Ekonomi Mikro mikro-menu.html A-5

6 Halaman Visualisasi

Ikhtisar Statistik

ikhtisar-statistik-tab.html A-6

7 Halaman Visualisasi UMP

upah-minimum-provinsi-tab.html

A-7

8 Halaman Visualisasi

Pertumbuhan Ekonomi

pertumbuhan-ekonomi-tab.html

A-8

9 Halaman Visualisasi

Tingkat Inflasi

(48)

No. Nama Antarmuka Nama Berkas No. Lampiran 10 Halaman Visualisasi

Komponen Inflasi

komponen-inflasi-tab.html A-10

11 Halaman Visualisasi Struktur Ekonomi

struktur-ekonomi-pie.html A-11

12 Halaman Visualisasi Pendapatan Perkapita

pendapatan-perkapita-tab.html

A-12

13 Halaman Visualisasi Ekspor dan Impor

ekspor-impor-line.html A-13

14 Halaman Visualisasi Volume dan Nilai Ekspor

volume-nilai-ekspor-tab.html

A-14

15 Halaman Visualisasi Nilai Impor Produk

nilai-impor-produk-tab.html

A-15

16 Halaman Visualisasi Pangan Konsumen

pangan-konsumen-tab.html A-16

17 Halaman Visualisasi Harga Grosiran

harga-grosiran-tab.html A-17

4.2

Pengujian Sistem

Pengujian sistem merupakan tahapan untuk mencari tahu

kekurangan-kekurangan pada aplikasi yang dibangun sehingga bisa memenuhi tujuan untuk

selanjutnya disempurnakan dan di-

deploy

sebaik mungkin.

4.2.1

Rencana Pengujian

Rencana pengujian merupakan strategi dokumentasi yang digunakan untuk

melakukan verifikasi dan memastikan bahwa aplikasi yang dibangun telah

memenuhi desain dan tujuan yang dipaparkan pada bagian sebelumnya. Terdapat

empat rencana pengujian yang dilakukan, yaitu rencana pengujian unit, pengujian

integrasi, pengujian algoritma, dan pengujian

beta

.

1.

Rencana Pengujian Unit

Pengujin unit yang akan dilakukan, ditujukan untuk kelas

controller

pada

subsistem RESTful API yang terdiri dari tiga kelas. Dari setiap kelas tersebut

[image:48.595.113.512.110.338.2]

kemudian akan menguji setiap method yang ada di kelas tersebut. Berikut adalah

(49)

Tabel IV-7 Rencana Pengujian Unit

Kelas Uji Method Uji Jenis Pengujian

Controller create() Unit Testing

delete() Unit Testing

getDateBetween() Unit Testing

getMaxMin() Unit Testing

limitSortByKey() Unit Testing

select() Unit Testing

selectById() Unit Testing

sortByKey() Unit Testing

update() Unit Testing

updateAll() Unit Testing

LinearCtrl createModel() Unit Testing

deleteModel() Unit Testing

selectModel() Unit Testing

selectModelById() Unit Testing

updateModel() Unit Testing

HistogramCtrl createHist() Unit Testing

deleteHist() Unit Testing

getDateBetween() Unit Testing

selectHist() Unit Testing

selectHistById() Unit Testing

sortHist() Unit Testing

updateHist() Unit Testing

updateHistAll() Unit Testing

2.

Rencana Pengujian Integrasi

Pengujin integrasi ditujukan untuk router dari subsistem RESTful API.

Tujuannya untuk memeriksa integrasi dengan database. Berikut adalah tabel

lengkap rencana pengujian integrasi, dapat dilihat pada Tabel IV-8 sampai Tabel

[image:49.595.87.482.130.454.2]

IV-19.

Tabel IV-8 Route Data 1: Ikhtisar Statistik antar Kerja DKI Jakarta

Method URL Keterangan Jenis

Pengujian

POST { Base URL

}/ikhtisar-statistik-antar-kerja

Digunakan untuk membuat data baru Ikhtisar Statistik antar Kerja Jakarta

Integration Testing

GET { Base URL

}/ikhtisar-statistik-antar-kerja

Digunakan untuk me-retrive data Ikhtisar Statistik antar Kerja Jakarta antar kerja

Integration Testing

GET { Base URL }/

ikhtisar-statistik-antar-kerja /limit={ :n }

Digunakan untuk me-retrive data dengan n buah objek

(50)

Method URL Keterangan Jenis Pengujian &sortBy={ :key }

&order={ [asc]/[desc] }

GET { Base URL

}/ikhtisar-statistik-antar-kerja/id= { :id }

Digunakan untum me-retrive satu data Ikhtisar Statistik antar Kerja Jakarta dengan

berdasarkan field id

Integration Testing

GET { Base URL

}/ikhtisar-statistik-antar-kerja &sortBy{ :key } &order{ [asc]/[desc] }

Digunakan untuk mengurutkan data secara ascending atau descending berdasarkan key

Integration Testing

GET { Base URL

}/ikhtisar- statistik-antar-kerja/key={ field } &get{ [max]/[min] }

Digunakan untuk me-retrive maksimum atau minumum data berdasarkan field

Integration Testing

GET { Base URL

}/ikhtisar- statistik-antar-kerja/key=tahun &gd=”{ :tahun }” &ld”{ :tahun }”

Digunakan untuk me-retrive data antara tahun

Integration Testing

PUT { Base URL

}/ikhtisar-statistik-antar-kerja/id= { :id }

Digunakan untuk melakukan update terhadap seluruh fields dari id yang dipilih

Integration Testing

PATCH { Base URL

}/ikhtisar-statistik-antar-kerja/id= { :id }

Digunakan untuk melakukan update terhadap sebagian atau seluruh fields dari id yang dipilih

Integration Testing

DELETE { Base URL }/ikhtisar-statistik-antar-kerja/id= { :id }

Digunakan untuk menghapus data berdasarkan id-nya

Integration Testing

Tabel IV-9 Route Data 2: Besar Upan Minimum DKI Jakarta

Method URL Keterangan Jenis

Pengujian

POST { Base URL

}/ump-inflasi

Digunakan untuk membuat data model linear UMP DKI Jakarta

Integration Testing

GET { Base URL

}/ump-inflasi/id={ :id }

Digunakan untum me-retrive data model linear UMP DKI Jakarta berdasarkan field _id-nya

Integration Testing

GET { Base URL

}/ump-inflasi

Digunakan untum me-retrive data model linear UMP DKI Jakarta dan data-nya

Integration Testing

PATCH { Base URL

}/ump-inflasi/id={ :id }

Digunakan untuk melakukan update terhadap sebagian atau seluruh fields dari id yang dipilih

(51)

Method URL Keterangan Jenis Pengujian DELETE { Base URL

}/ump-inflasi/id={ :id }

Digunakan untuk menghapus model linear UMP DKI Jakarta berdasarkan id-nya

Integration Testing

POST { Base URL

}/ump-inflasi/data

Digunakan untuk membuat data baru UMP DKI Jakarta

Integration Testing

GET { Base URL

}/ump-inflasi/data

Digunakan untuk me-retrive data UMP DKI Jakarta

Integration Testing

GET { Base URL

}/ump-inflasi/data/ id={ :id }

Digunakan untum me-retrive satu data UMP DKI Jakarta

berdasarkan id-nya

Integration Testing

GET { Base URL

}/ump-inflasi/data/limit={ :n } &sortBy={ :key } &order={ [asc

Gambar

Gambar II-6 Ilustrasi Korelasi dan Scatter plots [16]
Tabel IV-6 Implementasi Antarmuka
tabel lengkap rencana pengujian unit, dapat dilihat pada Tabel IV-7.
Tabel IV-8 Route Data 1: Ikhtisar Statistik antar Kerja DKI Jakarta
+7

Referensi

Dokumen terkait