7 BAB II LANDASAN TEORI 2.1 Data Warehouse Data warehouse ...

25
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

Transcript of 7 BAB II LANDASAN TEORI 2.1 Data Warehouse Data warehouse ...

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.