Post on 14-Jan-2017
7
BAB II
LANDASAN TEORI
2.1 Data Warehouse
Data warehouse adalah database yang berisi data dari beberapa sistem
operasional yang terintegrasi, teragregasi, dan terstruktur sehingga dapat
digunakan untuk mendukung analisa dan proses pengambilan keputusan. Data
warehouse suatu konsep dan kombinasi teknologi yang memfasilitasi organisasi
untuk mengelola dan memelihara data historis yang diperoleh dari sistem atau
aplikasi operasional (Ferdiana, 2008).
Data warehouse mempunyai karakteristik, berikut karakteristik data
warehouse (inmon, 2002) adalah :
a. Subject-Oriented
Mempelajari persoalan berdasarkan persoalan yang diinginkan saja. Setiap
subjek utama secara fisik diimplementasikan sebagai serangkaian tabel yang
terkait di data warehouse.
b. Integrated
Dari semua aspek data warehouse, integrasi merupakan karakteristik yang
paling penting. Dalam integrasi data disuplai dari beberapa sumber yang berbeda
kedalam data warehouse. Integrasi data pada sumber diubah, diformat ulang,
dirangkum dan sebagainya sesuai dengan kebutuhan data warehouse.
Data yang dimasukan kedalam data warehouse adalah data yang memiliki
konsistensi. Sehingga data pada tingkat aplikasi atau data sumber yang tidak
memiliki konsistensi akan dibatalkan. Contohnya adalah penyimpanan data pada
8
jenis kelamin. Jenis data pada jenis kelamin adalah pria dan wanita. Akan tetapi
pada prakteknya format data berupa P/L atau 1/0 atau P/W dan lain sebagainya.
Perbedaan format penamaan pada jenis kelamin tersebut harus dikonversi menjadi
sebuah format yang sama. Sehingga data yang dipindahkan kedalam data
warehouse konsisten. Konsistensi data berlaku untuk semua, seperti konversi
penamaan, struktur kunci, pengukuran atribut, dan karakteristik fisik data.
c. Nonvolatile
Data diperbaharui atau diubah dalam lingkungan operasional merupakan hal
yang biasa. Namun data pada data warehouse memiliki karakteristik yang
berbeda. Data warehouse dapat dimuat dan diakses tetapi tidak dapat
diperbaharui. Maksudnya adalah data tidak dapat diubah, dihapus atau ditambah.
Data pada data warehouse bersifat read only.
d. Time Variant
Time variant atau rentang waktu menyiratkan bahwa setiap unit data dalam
data warehouse akurat pada beberapa waktu. Dalam beberapa kasus, record
ditandai oleh waktu. Dalam kasus lain, record memiliki tanggal transaksi. Tapi
dalam setiap kasus, ada beberapa bentuk penandaan waktu untuk menunjukan
waktu selama record data akurat.
Berbeda dengan database operasional yang dapat melakukan update, insert,
delete terhadap data yang mengubah isi dari database. Sedangkan pada data
warehouse, hanya ada dua kegiatan memanipulasi data yaitu load data
(mengambil data) dan akses data (mengakses data warehouse seperti melakukan
query atau menampilkan laporan yang dibutuhkan, tidak ada kegiatan updating
data).
9
Data warehouse juga mempunyai tugas yang bisa dilakukan (Kimball dan
Caserta, 2004) yaitu :
a. Pembuatan Laporan
Yaitu proses pembuatan laporan merupakan salah satu kegunaan data
warehouse yang paling umum dilakukan. Dengan menggunakan query sederhana
didapatkan laporan dengan jangka waktu yang diinginkan.
b. OLAP
Yaitu dengan adanya data warehouse, semua informasi baik detail maupun
hasil summary yang dibutuhkan dalam proses analisa mudah didapat.
c. Data Mining
Yaitu merupakan proses untuk menggali pengetahuan dan informasi baru
dari data yang berjumlah banyak pada data warehouse, dengan menggunakan
kecerdasan buatan (artificial intelligence), statistika dan matematika.
d. Proses Informasi Eksekutif
Yaitu data warehouse dapat membuat ringkasan informasi yang penting
dengan tujuan membuat keputusan bisnis tanpa harus menjelajahi keseluruhan
data. Dengan data warehouse segala laporan telah diringkas dan mempermudah
untuk proses pengambilan keputusan.
10
Adapun arsitektur dari data warehouse (Conolly dan Begg, 2005 : 1157)
adalah seperti berikut :
Gambar 2.1 Arsitektur Data Warehouse
(Sumber: Connolly, 2005. Database Systems 4th Edition.)
Komponen-komponen yang ada dalam arsitektur data warehouse diatas
adalah sebagai berikut :
a. Operational Data
Operational data adalah data yang digunakan dalam proses operasional
jangka waktu.
b. Operatinonal Data Store (ODS)
Operational data store (ODS) adalah sebuah tempat penyimpanan data saat
ini dan data operasional terintegrasi yang digunakan untuk analisis.
11
c. Load Manager
Load manager disebut juga komponen front-end melakukan semua operasi
yang berhubungan dengan ekstraksi dan load data ke dalam data warehouse.
d. Warehouse Manager
Warehouse manager melaksanakan semua yang berhubungan dengan
pengelolaan data dalam data warehouse.
e. Query Manager
Query manager menampilkan semua operasi yang terkait dengan query
pengguna.
f. Detailed Data
Detailed data menyimpan dalam schema database.
g. Lightly and Highly Summarized Data
Lightly and highly summarized menyimpan semua data yang sudah
terdefinisi sebelumnya yang dibuat oleh warehouse manager.
h. Archive or Backup Data
Archive or backup data menyimpan semua detail dan ringkasan data.
i. Metadata
Metadata merupakan data mengenai data yang mendeskripsikan data
warehouse.
j. End User Access Tools
Pembangunan data warehouse adalah untuk menyediakan data yang
konsisten kepada user yang akan digunakan untuk menganalisis dan menyediakan
informasi untuk mendukung pengambilan keputusan.
12
Pemodelan dimensional adalah sebuah teknik perancangan logikal yang
bertujuan untuk mempresentasikan data ke dalam sebuah standar, bentuk intuitif
yang dapat diakses dengan performa yang tinggi (Connolly dan Begg, 2005 :
1183). Contoh pemodelan dimensional antara lain sebagai berikut :
a. Star Schema
Star schema adalah sebuah model data dimensional yang memiliki sebuah
tabel fakta di pusatnya, dikelilingi oleh tabel-tabel dimensi yang berisi referensi
data yang biasanya dapat dinormalisasikan.
Gambar 2.2 Contoh Star Schema
b. Snowflake Schema
Snowflake schema adalah model data dimensional yang memiliki sebuah
tabel fakta sebagai pusatnya., dikelilingi tabel-tabel dimensi yang ternormalisasi.
Snowflake schema adalah sebuah variasi dari star schema dimana tabel
dimensinya boleh memiliki dimensi.
13
Gambar 2.3 Contoh Snowflake Schema
c. Starflake Schema
Starflake schema adalah model data dimensional yang memiliki sebuah
tabel fakta sebagai pusatnya, dikelilingi oleh tabel-tabel dimensi yang
ternormalisasi dan terdenormalisasi.
Gambar 2.4 Contoh Starflake Schema
14
2.2 Relational Mapping
Dalam proses ETL diperlukan pemetaan dalam membangun sistem data
warehouse. Ada dua jenis yaitu :
a. Relational to Relational
Yaitu, tabel operasional dipetakan ke tabel data warehouse dengan jenis
tabel fakta atau dimensi dan kolom operasional dipetakan ke kolom data
warehouse.
Gambar 2.5 Relational to Relational Mapping
(Sumber: Chaudhuri, 1997. An Overview of Data Warehousing and OLAP
Technology)
b. Relational to Multidimensional
Jadi, tabel fisik berupa tabel fakta dan dimensi dijadikan cube dalam
database OLAP.
15
Gambar 2.6 Relational to Multidimensional Mapping
(Sumber: Chaudhuri, 1997. An Overview of Data Warehousing and OLAP
Technology)
2.3 ETL (Extract, Transform, Load)
ETL atau Extract, Transform, Load merupakan sebuah proses untuk
menghasilkan data warehouse. ETL merupakan sistem yang dapat membaca data
dari satu data store, merubah bentuk data, dan menyimpan ke data store yang
lain. Data store yang dibaca ETL disebut data source sedangkan data store yang
disimpan ETL disebut target.
Proses ETL (Extract, Transform, Load) yaitu :
a. Extraction
Ekstraksi data adalah proses pengambilan data dari satu database atau
beberapa database yang berbeda. Proses ekstraksi mencakup tugas memvalidasi
data dan membuang data yang tidak cocok dengan pola yang diharapkan.
16
Terdapat beberapa fungsi ekstraksi data, yaitu :
Ekstraksi data secara otomatis dari aplikasi sumber.
Penyaringan atau seleksi data hasil ekstraksi.
Pengiriman data dari berbagai platform aplikasi ke sumber data.
Perubahan format layout data dari format aslinya.
Penyimpanan dalam file sementara untuk penggabungan dengan hasil
ekstraksi dari sumber lain.
b. Transformation
Taransformasi adalah proses mengubah data dari data operasional menjadi
format data warehouse. Proses transformasi berupa tugas-tugas seperti
mengkonversi tipe data, melakukan beberapa perhitungan, penyaringan data yang
tidak relevan, dan meringkasnya.
Langkah-langkah dalam transformasi data adalah sebagai berikut :
Memetakan data input dari skema data aslinya ke skema data warehouse.
Melakukan konversi tipe data atau format data.
Pembersihan serta pembuangan duplikasi dan kesalahan data.
Penghitungan nilai-nilai derivate atau mula-mula.
Penghitungan nilai-nilai agregat atau rangkuman.
Pemeriksaan integritas referensi data.
Pengisian nilai-nilai kosong dengan nilai default.
Penggabungan data.
17
c. Load
Merupakan proses terakhir yang perlu dilakukan adalah proses pemuatan
data yang didapatkan dari hasil transformasi ke dalam data warehouse. Cara
untuk memuat data adalah dengan menjalankan SQL script secara periodik.
Untuk dapat lebih memahami bagaimana proses ETL dilakukan, bisa dilihat
pada gambar 2.7 berikut ini :
Gambar 2.7 Contoh Proses ETL dengan Pentaho Data Integration (PDI)
Pada gambar diatas terdapat beberapa proses yang dilakukan untuk
memuat data kedalam data warehouse. Berikut penjelasan dari gambar 2.7 :
18
Table Input/Text File Input merupakan proses ekstraksi, ini adalah proses
mengambil data dari sumber data.
Value Mapper dan Filter Rows merupakan proses ekstraksi, dimana
setelah data diambil dari sumbernya, dilakukan beberapa penyaringan
dan pemilihan data yang akan digunakan saja.
Stream Lookup dan Database Lookup merupakan proses transformasi,
dalam proses ini database yang sudah siap akan diolah untuk dimasukan
kedalam data warehouse.
Select Values merupakan proses transformasi, yang bertugas untuk
memilih data yang akan dimasukan kedalam data warehouse.
Table Output merupakan proses load, ini merupakan tahapan akhir
karena data yang sudah diolah dinyatakan sudah siap untuk selanjutnya
dimasukan kedalam data warehouse.
2.4 Optimasi Query
Optimasi query adalah suatu proses untuk menganalisis dan menentukan
sumber apa saja yang digunakan oleh suatu query serta mencari celah untuk dapat
mengurangi query tanpa merubah output. Tujuan dari optimasi query ini adalah
untuk meminimumkan waktu proses, waktu respon, I/O, penggunaan memori,
serta menemukan akses jalan yang termudah untuk meminimumkan total waktu
pada saat proses sebuah query. Ada tiga aspek dasar yang mempengaruhi optimasi
query yaitu, search space, cost model, dan search strategy.
Faktor yang dapat mempengaruhi kecepatan akses data adalah :
19
a. Optimasi Aplikasi
Dalam pembuatan aplikasi, yang perlu mendapat perhatian adalah apakah
akses terhadap data sudah efisien. Efisien dalam hal penggunaan objek yang
mendukung kecepatan akses, seperti index atau cluster. Kemudian juga bagaimana
cara database didesain. Apakah desain database sudah melakukan normalisasi
data secara tepat.
b. Cluster dan Index
Cluster dan Index adalah suatu segmen yang menyimpan data dari tabel
yang berbeda dalam suatu struktur fisik disk yang berdekatan. Konfigurasi ini
bermanfaat untuk akses data dari beberapa tabel yang sering di query. Penggunaan
cluster secara tepat dilaksanakan setelah menganalisa tabel-tabel mana saja yang
sering di query secara bersamaan menggunakan perintah SQL-join.
Teknik optimasi umumnya dapat dilakukan dengan beberapa cara. Terdapat
dua cara pendekatan optimasi yang umum digunakan saat ini (Chanowich, 2001),
yaitu :
a. Heuristic atau Rule-Based
Teknik ini mengaplikasikan aturan heuristic agar terjadi keefektifan dalam
proses query. Optimasi jenis ini mentransformasikan query dengan sejumlah
aturan yang akan meningkatkan kinerja ekseskusi, yakni :
Melakukan operasi seleksi diawal untuk mereduksi jumlah baris.
Melakukan operasi projeksi diawal untuk mereduksi jumlah atribut.
Mengkonversikan query dengan banyak join menjadi query dengan
banyak subquery.
20
Melakukan operasi seleksi dan join yang paling kecil keluarnya sebelum
operasi lain.
b. Cost-Based
Teknik ini mengoptimalkan cost yang dipergunakan dari beberapa alternatif
untuk kemudian dipilih salah satu yang menjadi cost terendah. Teknik ini
dipergunakan untuk mendapatkan pohon left-deep join yang menghasilkan sebuah
relasi pada node sebelah kanan yang bukan hasil dari sebuah intermediate join.
c. Join Ordering
Join ordering merupakan aspek yang penting dalam suatu optimasi query.
Terlebih pada query terdistribusi. Join ordering menjadi lebih penting ketika
query merupakan query terdistribusi karena akan mempengaruhi communication
time. Join ordering dapat dilakukan secara langsung, maupun dengan
mengkombinasikan dengan semi join dimana akan meminimalisasi
communication cost.
d. Objective Function Algorithm
Fungsi objektif ini adalah untuk meminimalisasi kombinasi baik
communication time maupun response time. Algoritma ini juga mendapat
keuntungan pada fragmentasi, tetapi hanya fragmentasi horizontal. Input untuk
algoritma pemrosesan query ini dinyatakan dalam kalkulus relasional dan skema
informasi.
e. System-R Algorithm
System-R merupakan optimasi query statis yang didasarkan pada executive
search dari ruang solusi yang ada. Input untuk optimasi query ini adalah pohon
relasi aljabar yang dihasilkan dari dekomposisi sebuah query SQL. Kemudian
21
output dari system merupakan rencana eksekusi yang mengimplementasikan
pohon relasi aljabar yang optimal.
f. Ingres Algorithm
Algoritma ingres menggunakan algoritma optimasi dinamis yang memecah
query kalkulus ke dalam bagian yang lebih kecil secara rekursif.
Mengkombinasikan dua tahapan yaitu dekomposisi dan optimasi kalkulus aljabar.
2.5 Pentaho Data Integration (PDI)
Pentaho adalah kumpulan aplikasi business intelligence yang bersifat free
open souce software (FOSS) dan berjalan diatas platform java. Selain sifatnya
gratis dalam bentuk lisensi pentaho juga dapat dibeli dalam bentuk service level
agreement (SLA) dan dipaketkan dalam versi enterprise edition yang sifatnya
annual subscription atau perlu kontrak tahunan.
Pentaho sebenarnya merupakan koleksi aplikasi sebagai berikut :
a. Pentaho Reporting
Pentaho reporting adalah aplikasi perancangan ad-hoc report. Engine
reporting dari pentaho reporting ini bisa diembed di aplikasi java. Selain sifatnya
yang multi platform, pentaho reporting juga dapat mengambil source dari
berbagai relational engine, dapat mengambil source OLAP yang didukung driver
OLAP4J seperti Mondrian, SQL server analysis service, PALO molap, SAP BW,
dan yang lainnya. Pentaho reporting memiliki kemampuan mengambil source
pentaho data integration step. Ini menjadikan source yang dapat diambil hampir
menjadi tidak terbatas. Dilengkapi dengan desainer yang intuitif dan koleksi chart
22
yang lengkap untuk keperluan analisa. Output dalam pentaho reporting bisa dalam
format PDF, Excel, HTML, dan CSV.
b. Pentaho Analysis/Mondrian OLAP Engine
Pentaho ini merupakan OLAP engine open source terpopuler dan digunakan
di berbagai produk BI open source. Sifatnya multi platform dan mendukung data
mart dengan rancangan multi dimensional star schema atau snowflake schema.
Mondrian merupakan tipe ROLAP (Relational OLAP) dimana semua perintah
query diterjemahkan via SQL dan ditujukan kepada data mart. Pentaho
analysis/mondrain OLAP engine ini didukung oleh beberapa aplikasi interface
baik web based maupun desktop seperti JPivot, Pentaho Reporting, Pentaho
Analysis Tools, dan Pentaho Analyzer. Semua interface yang telah disebutkan
memiliki kemampuan drill down/roll up serta drill through untuk melihat detail
penyusunan sel-sel nilai analisis.
c. Pentaho Data Mining/Weka
Pentaho data mining yang sangat popular dan digunakan untuk predictive
analysis. Memiliki sifat yang multi platform dan mendukung data sumber
berformat ARFF (Attribute Relational File Format), XRRF (XML attribute
Relational File Format), CSV (Comma Serparated Value), maupun tabel dari
relasional database. Pentaho ini mendukung standar PMML (Predictive Model
Markup Language), mendukung data nominal dan numerik (continue maupun
discrete), mandukung algoritma yang cukup banyak untuk operasi dasar data
mining seperti classification, clustering dan association, algoritma tersebut adalah
J48, M54, Simple Chart, Simple KMeans, Apriori, dan sebagainya. Utilitas grafis
23
yang membantu pengolahan dan pemahaman data mulai dari preprocessing, data
visualization dalam bentuk plot maupun curve, tree visualization, dan sebagainya.
d. Pentaho BI Server/Platform
Server BI berjalan sebagai web application portal yang terdiri dari layanan
web service, workflow pada space JVM (Java Virtual Machine), dan sebagai user
interface untuk laporan operasional maupun grafis. Bersifat multi platform.
Workflow berupa integrasi dari produk pentaho yang telah disebutkan
sebelumnya. Scheduler berjalan diatas platform BI untuk melakukan proses
batching, misalkan mengirim laporan dalam bentuk PDF ataupun Excel secara
periodik. Script JSP (Java Server Pages) dapat dengan mudah diintegrasikan
kedalam platform. User dapat memiliki space sendiri untuk menyimpan report
dan tipe solusi lainnya. Ad-hoc report yang bisa digunakan untuk membuat
rancangan report on the fly tanpa keterlibatan IT.
Pentaho Data Integration (PDI) memiliki beberapa kelebihan dari
fungsinya, yaitu :
Utilitas ETL (Extract, Transform, Load) open source paling popular.
Designer GUI yang intuitif dan sangat mudah digunakan.
Multi platform.
Script ETL dapat disimpan dalam bentuk filesystem maupun repository.
Mendukung multi pipelining sehingga load balance maupun optimasi
pekerjaan data warehouse dapat dilakukan dengan mudah.
Mendukung clustering (master-slave) engine ETL.
Terdiri atas lebih 200 step yang mencakup job (workflow control) dan
transformasi (data workflow).
24
Mendukung Apache Virtual Filesystem (Apache VFS) sehingga
filesystem seperti HTTP Webdav, FTP, SFTP, dan lain sebagainya dapat
dengan mudah diakses dengan konfigurasi yang minimal.
2.6 PHP (Hypertext Preprocessing)
PHP (Hypertext Preprocessing) adalah salah satu bahasa pemrograman
skrip yang dirancang untuk membangun aplikasi web. PHP banyak dipakai untuk
memprogram situs web dinamis. Ketika dipanggil dari web browser, program
yang ditulis dengan PHP akan di-parsing di dalam web server oleh interpreter
PHP dan diterjemahkan ke dalam dokumen HTML, yang selanjutnya akan
ditampilkan kembali ke web browser. Karena pemrosesan program PHP
dilakukan dilingkungan web server, PHP dikatakan sebagai bahasa sisi server
(server-side). Oleh sebab itu, kode PHP tidak akan terlihat pada saat user memilih
perintah “View Source” pada web browser yang mereka gunakan.
Cara kerja aplikasi web yang ditulis dengan PHP adalah sebagai berikut :
1. User menuliskan alamat web ke dalam address bar dari web browser.
2. Web browser mengirimkan pesan di atas ke komputer server melalui
internet.
3. Web server (misalnya Apache), program yang berjalan di komputer server,
akan menangkap pesan tersebut, lalu meminta interpreter PHP (program lain
yang juga berjalan di komputer) untuk mencari file yang dimaksud dalam
disk drive.
4. Interpreter PHP membaca file tersebut dari disk drive.
5. Interpreter PHP akan menjalankan perintah-perintah atau kode PHP yang
25
ada dalam file tersebut. Jika kode dalam file tersebut melibatkan akses
terhadap database (misalnya MySQL) maka interpreter PHP juga
berhubungan dengan MySQL untuk melaksanakan perintah-perintah yang
berkaitan dengan database.
6. Interpreter PHP mengirimkan halaman dalam bentuk HTML ke Apache.
7. Melalui internet, Apache mengirimkan halaman yang diperoleh dari
interpreter PHP ke komputer user sebagai respon atas permintaan yang
diberikan.
8. Web server dalam komputer user akan menampilkan halaman yang dikirim
oleh Apache.
Beberapa kelebihan PHP dari bahasa pemrograman web lainnya, antara lain:
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaannya.
2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari
mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif
mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan
developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah
karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah sistem.
26
2.7 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari
sistem manajemen basisdata relasional (RDBMS). Setiap pengguna dapat secara
bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut
tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya
merupakan turunan salah satu konsep utama dalam basisdata yang telah ada
sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep
pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan
data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara
otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja
pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat
oleh pengguna maupun program-program aplikasi yang memanfaatkannya.
Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional
maupun operasi basisdata non-transaksional. Pada modus operasi non-
transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja
dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada
modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang
tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi
yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web
(wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk
bisnis sangat disarankan untuk menggunakan modus basisdata transaksional,
27
hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional
tidak secepat unjuk kerja pada modus non-transaksional.
MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows,
Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2. Perangkat lunak open source
MySQL didistribusikan sebagai perangkat lunak open source dibawah
lisensi GPL sehingga dapat digunakan secara gratis.
3. Multi-user
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
4. 'Performance tuning'
MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan
waktu.
5. Ragam tipe data
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed/unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Perintah dan Fungsi
MySQL memiliki operator dan fungsi secara penuh yang mendukung
perintah Select dan Where dalam perintah (query).
28
7. Keamanan
MySQL memiliki beberapa lapisan keamanan seperti level subnetmask,
nama host, dan izin akses user dengan sistem perizinan yang mendetail serta
sandi terenkripsi.
8. Skalabilitas dan Pembatasan
MySQL mampu menangani basis data dalam skala besar, dengan jumlah
rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris.
Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap
tabelnya.
9. Konektivitas
MySQL dapat melakukan koneksi dengan klien menggunakan protokol
TCP/IP, Unix Soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi
MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan
lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum
termasuk di dalamnya.
11. Antar Muka
MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan
bahasa pemrograman dengan menggunakan fungsi API (Application
Programming Interface).
12. Klien dan Peralatan
MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan
untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan
petunjuk online.
29
13. Struktur Tabel
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani
ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL
ataupun Oracle.
Terdapat beberapa API (Application Programming Interface) tersedia yang
memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa
pemrograman untuk dapat mengakses basis data MySQL antara lain: bahasa
pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman
Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP,
bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka
ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman
yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL.
Kebanyakan kode sumber MySQL dalam ANSI C.
Untuk melakukan administrasi dalam basis data MySQL, dapat
menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql
dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul
berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain
itu terdapat juga sebuah perangkat lunak gratis untuk administrasi basis data
MySQL berbasis web yang sangat populer yaitu phpMyAdmin.
2.8 Dashboard
Dashboard adalah sebuah koleksi data informasi yang digunakan untuk
melakukan evaluasi performa dan memastikan tercapainya tujuan dari sebuah
30
operasi (Ronald R, 2010). Dashboard adalah tampilan visual dari informasi yang
paling penting yang diperlukan untuk memahami dan mengelola satu atau lebih
bidang organisasi yang diatur pada satu layar komputer sehingga dapat dipantau
dengan mudah (Stephen Few, 2006).
Dari pengertian diatas, maka sebuah dashboard harus dapat mendukung
proses monitoring secara visual seperti :
a. Melihat gambaran besar informasi.
b. Fokus pada item tertentu yang memiliki informasi penting.
c. Dapat melakukan drill ke informasi tambahan yang diperlukan untuk proses
pengambilan keputusan.
Komunikasi visual akan efektif bila diselaraskan dengan cara manusia
melihat dan berfikir. Dengan kata lain, agar dapat bekerja secara efektif
dashboard harus dapat dengan mudah dipahami dan dimengerti oleh pengguna.
Hal yang penting pada proses perancangan desain adalah kesederhanaan desain.
Ketika merancang dashboard informasi yang ditampilkan hanya yang
benar-benar dibutuhkan, menyederhanakan informasi tanpa harus menurunkan
makna dari informasi tersebut, dan menampilkannya menggunakan mekanisme
tampilan visual yang dapat dengan mudah dibaca dan dipahami.
Menurut (Few, 2006:33) ada tiga jenis dashboard, yaitu :
1. Tactical Dashboard
Mengukur produktivitas jangka pendek dan efektivitas. Hasilnya sering
digunakan oleh contributor individu
31
2. Operational Dashboard
Mengukur efektivitas jangka pendek dari fungsi bisnis yang spesifik pada tim
atau level unit bisnis. Level dashboard ini dapat secara potensial dikembangkan
untuk seorang knowledge worker atau local team manager.
3. Strategic Dashboard
Dibangun untuk level pengaturan kebijakan dari organisasi. Dashboard
menampilkan metric yang menggambarkan strategi dan tujuan korporasi.