1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian

advertisement
5
1
BAB II
KAJIAN PUSTAKA
2.1
Tinjauan Mutakhir
Penelitian mengenai proses ETL (extraction, tranformation, loading) telah
beberapa kali dilakukan sebelumnya.
Armadiyah (2010) melakukan penelitian mengenai analisis faktor-faktor
yang mempengaruhi proses ETL pada data warehouse. Menurut Armadiyah, ETL
(Extract Transform Loading) pada proses develop data warehouse merupakan
suatu proses yang memakan waktu paling lama. Kesuksesan proses ETL sangat
dipengaruhi oleh kualitas data yang ada pada database OLTP. Penelitian ini
bertujuan untuk mencari noise yang mungkin timbul pada proses ETL pada
pengembangan data warehouse. Dari analisa yang dilakukan ditemukan bahwa
noise banyak disebabkan karena adanya data yang bernilai null Sehingga sebelum
proses ETL dilakukan perlu adanya proses menghilangkan noise yang ada pada
database sumber atau database OLTP.
Pada penelitian lainnya dilakukan oleh Mahendra (2011), yang
berpendapat bahwa ETL merupakan pondasi utama dari data warehouse, maka
dalam penelitian ini akan diteliti mengenai perancangan dan implementasi aplikasi
ETL. Aplikasi ETL dibuat mampu melakukan proses cleaning data yang berfungsi
untuk menjamin kualitas data yang akan ditransfer ke dalam data warehouse.
Untuk mengantisipasi terjadinya kesalahan pada saat proses ETL berlangsung
maka diperlukan pembentukan data log dan metadata untuk membantu dalam
pemetaan dari sistem sumber menuju sistem tujuan. Untuk menjaga kualitas data
agar memperoleh data yang valid maka diperlukan fitur data cleaning.
Konfigurasi yang dilakukan pada proses ETL sangat menentukan proses ETL yang
akan terjadi dalam sistem. Pengembangan aplikasi ETL tidak hanya sebatas
aplikasi desktop namun dapat berbasis web untuk mempermudah pendistribusian.
Penelitian lainnya juga dilakukan oleh Febriani (2014), Aplikasi OLAP
yang dibangun dalam penelitiannya diharapkan dapat membantu mengatasi
penumpukan data tanaman hortikultura agar dapat diolah dan dianalisis sehingga
membantu
pengguna
dalam
memperoleh
5
informasi
ringkasan
tanaman
6
hortikultura dengan lebih cepat, yang sangat ditekankan adalah dalam proses
pembuatan fungsi ETL (Extract
Transform Load) untuk mengolah data dan
membedakan hasil untuk data yang bernilai 0 dan data yang tidak tersedia.
Berdasarkan tinjauan mutakhir tersebut dapat dijelaskan pada Tabel 2.1
terkait perbandingan ketiga aplikasi dari tinjauan mutakhir terhadap aplikasi yang
dikembangkan penulis.
Tabel 2.1 Perbandingan Aplikasi
Keterangan
Tinjauan
Tinjauan
Tinjauan
Aplikasi
Mutakhir 1
Mutakhir 2
Mutakhir 3
Penulis
Basis
Desktop
Desktop
Desktop
Web
DBMS
1 jenis
3 jenis
1 jenis
3 jenis
(Oracle)
(MySQL,
(Oracle)
(MySQL,
Mapping
PostgreSQL,
Oracle,
PLSQL)
SQLServer)
Statis (proses
Dinamis
Statis (proses
Dinamis
mapping
(proses
mapping tidak
(proses
tidak bisa
mapping bisa
bisa diatur
mapping
diatur user)
diatur user)
oleh user)
bisa diatur
user)
Keterangan tabel:

Tinjauan mutakhir 1 ditulis oleh Armadiyah (2010)

Tinjauan mutakhir 2 ditulis oleh Mahendra (2011)

Tinjauan mutakhir 3 ditulis oleh Febriyani (2014)
Pada penelitian ini penulis akan membangun suatu aplikasi ETL (Extract
Transform Load) untuk data warehouse berbasis web. Database operasional
(ODS) yang akan diakomodir meliputi MySQL, Oracle, SQLServer .Untuk itu
rancang bangun aplikasi ETL (Extract Transform Load) untuk data warehouse
berbasis web ini diharapkan menjadi aplikasi yang tepat guna melayani dan
membantu pengguna.
7
2.2
Tinjauan Pustaka
2.2.1
Konsep Data Warehouse
Menurut Inmon (2005), terdapat dua konsep besar dalam Data Warehouse.
Kedua konsep ini dikemukakan oleh dua ahli yaitu William H. Inmon dan Ralph
Kimball. Menurut William H. Inmon, Data Warehouse adalah koleksi data yang
mempunyai sifat berorientasi subjek, terintegrasi, time-variant, dan bersifat tetap
dari koleksi data dalam mendukung proses pengambilan keputusan manajemen.
Inmon menegaskan bahwa Data Warehouse sebaiknya dibangun jika desain
arsitektur Data Warehouse sudah dibuat (top-down approach), seperti pada
Gambar 2.1 . Data Warehouse merupakan bagian dari business intelegent
sehingga segala informasi berasal dari satu Data Warehouse.
Data Mart
Data
Warehouse
Data Mart
Data Mart
Gambar 2.1 Top-down Approach
Menurut Ralph Kimball (2004), Data Warehouse merupakan suatu sistem
yang mengekstrak, membersihkan, menyesuaikan diri, dan mengirim sumber data
ke dalam suatu data penyimpanan dimensional dan kemudian mendukung
implementasi query dan analisisa untuk tujuan pengambilan keputusan. Data
Warehouse berawal dari kumpulan data mart (bottom-up approach) yang berada
dalam sebuah lingkungan enterprise,seperti Gambar 2.2 . Informasi dalam Data
Warehouse selalu disajikan dalam bentuk dimensional dan fact.
Data Mart
Data Mart
Data Mart
Gambar 2.2 Bottom-up Approach
8
2.2.2
Karakteristik Data Warehouse
Menurut Turban (2005) karakteristik data warehouse dapat dibagi menjadi
empat jenis yaitu berorientasi subyek, terintegrasi, rentang waktu dan non volatile.
1.
Berorientasi Subyek
Data Warehouse berorientasi subyek artinya Data Warehouse didesain
untuk menganalisa data berdasarkan subyek-subyek tertentu dalam organisasi,
bukan pada proses atau fungsi aplikasi tertentu. Data Warehouse diorganisasikan
disekitar subjek-subjek utama dari perusahaan (konsumen, produk dan penjualan)
dan tidak diorganisasikan pada area-area aplikasi utama (pelayanan konsumen,
pengontrolan stok dan penjualan produk). Hal ini dikarenakan kebutuhan dari
Data Warehouse untuk menyimpan data-data yang bersifat sebagai penunjang
suatu keputusan, daripada aplikasi yang berorientasi data.
Perbedaan antara data operasional dan data warehousing secara garis besar
dapat dilihat pada Tabel 2.2.
Tabel 2.2 Perbedaan Data Operasional dan Data Warehouse
Data Operasional
Data Warehouse
Dirancang beroriantasi hanya pada
Dirancang berdasarkan subjek-subjek
aplikasi dan fungsi tertentu
tertentu
Fokus pada desain basis data dan
Fokusnya pada pemodelan data dan
proses
desain data
Berisi rincian atau detail data
Berisi data history yang dipakai
proses analisis
2.
Terintegrasi
Data warehouse dapat menyimpan data-data yang berasal dari sumber-
sumber yang terpisah kedalam suatu format yang konsisten dan saling terintegrasi
satu dengan lainnya. Data tidak bisa dipecah-pecah karena data yang ada
merupakan suatu kesatuan yang menunjang keseluruhan konsep data warehouse
itu sendiri. Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara
seperti konsisten dalam penamaan variabel, ukuran variabel, struktur pengkodean
dan atribut fisik dari data. Sebagai contoh pada lingkungan operasional terdapat
9
berbagai macam aplikasi yang mungkin pula dibuat oleh developer yang berbeda.
Mungkin dalam aplikasi-aplikasi tersebut ada variabel yang memiliki maksud
yang sama tetapi nama dan format yang berbeda. Variabel tersebut harus
dikonversi menjadi nama yang sama dan format yang disepakati bersama dengan
demikian tidak ada lagi kerancuan karena perbedaan nama, format dan lain
sebagainya barulah data tersebut bisa dikategorikan sebagai data yang terintegrasi
karena kekonsistenannya.
3. Rentang Waktu
Seluruh data pada data warehouse dapat dikatakan akurat atau valid pada
rentang waktu tertentu. Melihat interval waktu yang digunakan dalam mengukur
keakuratan suatu data warehouse, dapat digunakan berbagai cara antara lain :
a. Menyajikan data warehouse pada rentang waktu tertentu, misalnya pada
tahun-tahun tertentu untuk mengetahui suatu tren dari subjek tertentu atau
untuk perbandingan.
b. Menggunakan variasi/perbedaan waktu yang disajikan dalam data
warehouse baik implisit maupun eksplisit. Secara eksplisit dengan unsur
waktu dalam hari, minggu, bulan dan lain sebagainya. Secara implisit
misalnya pada saat data tersebut diduplikasi pada setiap akhir bulan atau
per tiga bulan. Unsur waktu tetap ada secara implisit didalam data tersebut.
c. Variasi waktu yang disajikan data warehouse melalui serangkaian
snapshot yang panjang. Snapshot merupakan tampilan dari sebagian data
tertentu sesuai keinginan pemakai dari keseluruhan data yang ada bersifat
read-only.
4.
Non-Volatile
Karakteristik
keempat
dari
data
warehouse
adalah
non-volatile,
maksudnya data pada data warehouse tidak di-update secara real time tetapi di
refresh dari sistem operasional secara reguler. Data yang baru selalu ditambahkan
sebagai suplemen bagi basis data itu sendiri daripada sebagai sebuah perubahan.
Basis data tersebut secara kontinyu menyerap data baru ini, kemudian secara
incremental disatukan dengan data sebelumnya. Berbeda dengan basis data
operasional yang dapat melakukan update, insert dan delete terhadap data yang
mengubah isi dari basis data sedangkan pada data warehouse hanya ada dua
10
kegiatan memanipulasi data yaitu loading data (mengambil data) dan akses data
(melakukan query atau menampilan laporan yang dibutuhkan, tidak ada kegiatan
updating data).
2.2.3
Arsitektur Data Warehouse
Menurut Kimball (2004), Arsitektur data warehouse secara umum terdiri
dari beberapa komponen penting diantaranya adalah Operational Source, Staging
Area, Data Warehouse, Data Mart dan Metadata dapat digambarkan seperti pada
gambar 2.3.
Gambar 2.3 Arsitektur data warehouse
(Sumber : Kimball, 2004)
1. Operational Sources
Komponen operational sources merupakan komponen yang berfungsi
sebagai sumber dari data yang diolah sehingga data tersebut bisa di-loading ke
dalam data warehouse. Komponen ini bisa juga terdiri dari berbagai macam
mesin DBMS seperti Microsoft SQL Server, MySQL, Oracle ataupun flat file
(.txt/.csv). Komponen ini tidak lain adalah database dari sistem informasi
operasional yang dibuatkan data warehouse.
2. Staging Area
Komponen staging area merupakan komponen yang digunakan sebagai
tempat atau stage untuk melakukan proses ETL. Proses yang pertama dilakukan
oleh komponen ini adalah extraction data dari operational sources. Setelah proses
tersebut berhasil dilanjutkan dengan proses transformation. Proses ini bertujuan
untuk melakukan transformasi dari data yang telah diekstrak sebelumnya.
Tranformasi
ini
termasuk
perubahan
struktur
Tabel
ataupun
penggabungan/pemisahan Tabel untuk mendapatkan summary dari data detail
11
yang ada. Disamping itu pada proses ini juga dilakukan cleaning dan conforming
data yang di-loading dalam data warehouse. Proses tersebut jika telah berhasil,
maka dilanjutkan dengan proses loading data. Proses ini sangat penting karena
bertugas untuk menjamin ketersediaan data pada data warehouse itu sendiri.
Walaupun terlihat sederhana, namun proses loading data menjadi rumit jika
loading data berjalan secara otomatis sesuai jadwal pengiriman datanya.
3. Data Warehouse
Komponen ini merupakan suatu database dengan menggunakan suatu
DBMS tertentu dimana dalam data warehouse ini terdapat informasi yang berupa
summary ataupun data yang ingin dimasukkan ke dalam data warehouse.
4. Data Marts
Komponen data marts ini merupakan sebuah laporan yang dihasilkan dari
proses query yang dilakukan pada data warehouse. Data marts yang dihasilkan
mempunyai bermacam-macam jenis mulai dari tabular hingga berbagai jenis
grafik. Ini tergantung dari kebutuhan penggunanya. Tapi yang tidak boleh
dilupakan data marts yang dihasilkan harus berdasarkan time-variant.
5. Metadata
Komponen ini merupakan kumpulan data yang menjelaskan arti dari data
yang ada pada setiap komponen mulai dari Operational Data Source hingga pada
komponen Data Mart.
2.2.4
ETL dalam Data Warehouse
Menurut Kimball (2004), ETL (extraction, transformation, loading)
merupakan aplikasi yang terpisah dari data warehouse dan berfungsi sebagai
pondasi dari data warehouse itu sendiri. ETL terdiri dari tiga proses utama. Ketiga
proses ini dilakukan secara berurutan. Keberhasilan suatu proses dalam ETL ini
tergantung dari proses ETL sebelumnya. Gambar 2.4 menunjukkan arsitektur dari
suatu ETL pada data warehouse.
12
Gambar 2.4 Arsitektur ETL
(Sumber : Kimball, 2004)
1. Extraction
Data mentah yang berasal dari sistem informasi operasional/sistem sumber
biasanya ditulis atau di-copy langsung ke dalam media penyimpanan/staging area
dengan restrukturisasi seminimal mungkin. Hal ini dilakukan untuk menjaga
keaslian data yang didapat dari sistem sumber. Adakalanya sistem sumber yang
berbasis struktur seperti pada mesin-mesin DBMS ditulis dalam bentuk flat file
atau dalam Tabel relasional pada staging area-nya. Hal ini memungkinkan hasil
ekstraksi menjadi sesederhana dan secepat mungkin untuk diolah disamping itu
dimungkinkan juga untuk fleksibilitas yang bagus untu melakukan restart jika
terjadi gangguan pada saat ekstraksi berlangsung.
Data yang telah diambil dalam proses ekstraksi ini dapat dibaca beberapa
kali sesuai dengan keperluannya. Data hasil ekstraksi ini dalam beberapa kasus
bisa dihapus setelah dilakukannya proses transformation karena dianggap sudah
tidak berguna lagi. Data ekstraksi ini pada kasus lain bisa disimpan sebagai arsip
cadangan jangka panjang namun memerlukan space yang besar.
2. Transformation
Perubahan sekecil apapun yang dilakukan pada data mentah hasil ekstraksi
adalah transformasi. Misalnya melakukan proses seleksi dari data yang
mengandung nilai null. Data jika ditemukan null maka data dihapus. Proses
menterjemahkan kode seperti pada data mentah ditulis jenis kelamin laki-laki
adalah 1 dan perempuan adalah 2 maka semua nilai jenis kelamin 1 diubah
menjadi laki-laki dan 2 diubah menjadi perempuan. Contoh diatas merupakan
contoh kecil dari sebuah proses transformasi yang dilakukan oleh ETL. Beberapa
13
hal penting yang sering dilakukan dalam tranformasi ini dan menjamin data yang
diolah sudah bersih dari data yang dianggap sampah atau tidak perlu adalah
cleaning dan conforming. Kedua proses ini merupakan proses penting yang wajib
dilakukan jika data mentah dianggap belum bersih.
a. Cleaning
Dalam kebanyakan kasus, tingkat kualitas data pada sistem-sistem sumber
berbeda-beda. Kualitas data sistem sumber ini juga berbeda dengan kualitas
data yang dibutuhkan pada data warehouse itu sendiri. Bertolak dari hal
tersebut maka pengolahan data dapat melibatkan banyak proses-proses
terpisah antara lain memeriksa nilai-nilai yang valid, memastikan konsistensi
dari nilai- nilai tersebut, membuang duplikasi atau redudansi dari data. Proses
pembersihan data ini karena begitu kompleks, dimungkinkan melibatkan
manusia dalam penilaian apakah data yang diolah sudah bersih atau belum.
Perlu diingat bahwa hasil dari cleaning ini tidak bisa dikembalikan ke sistem
sumber tempat data itu berasal. Hal ini dikarenakan baik itu struktur atau isi
data sudah tidak seperti data pada sistem sumber. Data jika dikembalikan,
maka dimungkinkan terjadi kegagalan pada sistem exsisting tersebut.
b.
Conforming
Data yang telah bersih kemudian dicek lagi sebelum dilakukan proses
berikutnya. Proses ini adalah memisahkan data sumber yang identik atau jika
menggunakan hitungan numeric data yang tidak termasuk dalam range
tertentu. Conforming ini membutuhkan suatu kesepakan dari pengguna data
untuk menentukan data mana saja yang digunakan dalam data warehouse
3.
Loading
Proses loading atau dikenal juga dengan proses delivering adalah suatu
proses dimana data hasil transformasi siap untuk dimasukkan ke dalam
datawarehouse itu sendiri. Pembentukan struktur Tabel dari data yang di-loading
merupakan tugas dari designer dari data warehouse itu sendiri. Loading ini
merupakan langkah akhir dan penting dalam menjamin ketersediaan data dalam
data warehouse.
Data hasil proses loading ini siap di-query. Mengenai kecepatan query
yang dihasilkan tergantung dari desain atau skema yang digunakan dalam data
14
warehouse.
Diharapkan
skema
yang digunakan
bisa
secara
signifikan
mengurangiwaktu query dan dapat menyederhanakan dalam pembangunan
aplikasi.
2.2.5
Oracle
Menurut Masya (2009), Oracle Coorporation merupakan perusahaan yang
bergerak di bidang penyediaan tool pembangun aplikasi, produk-produk siap
pakai dan pelayanan untuk mendukung keperluan penanganan masalah-masalah
yang berkaitan dengan teknologi informasi. Aplikasi-aplikasi Oracle dapat
dijalankan pada berbagai platform dan sistem operasi, dari komputer personal
sampai komputer dengan multi processor.
Oracle menyediakan aplikasi Relational Database Management System
(RDBMS) yang disebut dengan Oracle Server. Fasilitas-fasilitas yang ada
didalamnya
memungkinkan
pengguna
untuk
menyimpan
dan
mengatur
informasidengan segala keuntungan dari struktur relasional, ditambah dengan
PL/SQL,suatu mesin yang mendukung pengguna dengan kemampuan untuk
menyimpandan mengeksekusi objek-objek basis data, seperti procedure dan
trigger.
Oracle Server juga menyediakan fasilitas untuk keamanan data yang dapat
mengontrol bagaimana suatu basis data diakses. Aplikasi-aplikasi Oracle dapat
dijalankan pada satu komputer sebagai Oracle Server. Sebagai alternatif,
pengguna dapat menjalankan aplikasi-aplikasi Oracle tersebut pada computer
lokal untuk pengguna dan komputer lainnya untuk Oracle Server (clientserverarchitecture). Lingkungan pada client-server ini, jangkauan luas dari
sumber daya komputer dapat digunakan. Contoh, aplikasi berbasis form pada
sistem pelayanan penerbangan dapat dijalankan pada komputer personal, pada
saat yang bersamaan data penerbangan yang diperlukan oleh aplikasi tersebut
ditangani oleh Oracle Server pada komputer pusat.
Oracle mempunyai beberapa jenis tipe data yaitu tipe data numeric, tipe
data string dan tipe data waktu. Ketiga jenis tipe data ini biasanya sering
digunakan dalam implementasi pembuatan suatu database. Adapun tipe data yang
tersedia pada oracle seperti pada Tabel 2.3.
15
Tabel 2.3 Tipe Data Oracle
Tipe Data
Deskripsi
Minimal
Maksimal
1 bytes
4000 bytes
1 bytes
2000 bytes
Presisi adalah p dan skala
P=1
P = 38
adalah s
S = -84
S = 127
Karakter dengan panjang
VARCHAR2(x)
sesuai variable dan kebutuhan
memori x bytes.
Karakter dengan panjang
CHAR(x)
fix dan
kebutuhan memori x bytes.
NUMBER(p,s)
Tanggal
DATE
yang
valid
dan
kebutuhan memori
4712 SM
7 bytes
String
ROWID
Hexadesimal
1 Januari
31
Desember
9999
yang
merepresentasi
alamat unik dari sebuah row
8 bytes
10 bytes
pada Tabel
CLOB
Character Large Object
1 bytes
BLOB
Binary Large Object
1 bytes
BFILE
Pointer to binary file on disk
1
2.2.6
bytes
4 Giga
Bytes
4 Giga
Bytes
6
GigaBytes
MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL
(General Public License). 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
16
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. Basis
data, MySQL
mendukung operasi basis data transaksional maupun operasi basisdata nontransaksional. Modus operasi non- transaksional, MySQL dapat dikatakan unggul
dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor
lainnya namun demikian 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. Kebutuhan
sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus
basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL
pada modus transaksional tidak secepat unjuk kerja pada modus nontransaksional.
MySQL termasuk jenis RDBMS (Relational Database Management
System). Database relasional menyimpan data dalam Tabel-Tabel terpisah
daripada menempatkan semua data dalam satu ruang penyimpanan yang besar.
Hal ini menambah kecepatan dan fleksibilitas. Itu sebabnya istilah seperti Tabel,
baris dan kolom digunakan pada MySQL. Informasi tambahan pada MySQL,
sebuah database mengandung satu atau beberapa kolom. MySQL mendukung tipe
data yaitu tipe data numerik,tipe data string dan tipe data waktu, secara berturutturut seperti pada Tabel 2.4, 2.5, dan 2.6.
Tabel 2.4 Tipe Data Numerik MySQL
Tipe Data
Jangkauan Signed
Jangkauan
Memory
Unsigned
TINYINT
-128-127
0-255
1 byte
SMALLINT
-32768 – 32767
0-65535
2 byte
MEDIUM INT
-8388608-8388607
0-16777215
3 byte
INT
-2147483648-
0-4294967295
4 byte
2147483647
17
BIG INT
9223372036854775808- 09223372036854775807
8 byte
1844674407370955
1615
FLOAT(M,D)
Tergantung nilainya
-
4 byte
DOUBLE(M,D)
Tergantung nilainya
-
8 byte
DECIMAL(M,D)
Tergantung nilainya
-
M+2
byte
Tabel 2.5 Tipe Data String MySQL
Tipe Data
Max
Memory
Tipe Data
Max Size
Memor
Size
CHAR(X)
y
255Byte
X Byte
BLOB
65535
Byte
VARCHAR(X) 255 Byte
X+1 Byte
MEDIUMTEX
1,6 MB
T
TINYTEXT
255 Byte
X +1 Byte
255 Byte
X+2 Byte
e
X+3
Byte
MEDIUMBLO
1,6 MB
B
TINYBLOB
X+2Byt
X+3
Byte
LONGTEXT
4,2 GB
X+4
Byte
65535
TEXT
Byte
X+2 Byte
LONGBLOB
4,2 GB
Tabel 2.6 Tipe Data Waktu MySQL
Tipe Data
Format Standar
Zero Values
YYYY-MM-DD
0000-00-00
HH:MM:SS
00:00:00
DATE
YYYY-MM-DD
0000-00-00
TIME
HH:MM:SS
00:00:00
YEAR
YYYY
0000
TIMESTAMP
YYYYMMDDHHMMSS 00000000000000
DATETIME
X+4
Byte
18
2.2.7
SQL Server
Microsoft SQL Server merupakan produk RDBMS (Relational Database
Management System) yang dibuat oleh Microsoft. Orang sering menyebutnya
dengan SQL Server saja. Microsoft SQL Server mendukung SQL sebagai bahasa
untuk memproses query ke dalam database dan SQL ini sudah digunakan secara
umum pada semua produk database server yang ada di pasaran saat ini. Microsoft
SQL Server banyak digunakan pada dunia bisnis, pendidikan atau juga
pemerintahan sebagai solusi database atau penyimpanan data. Berbagai macam
skala bisnis mulai yang kecil sampai skala enterprise bisa menggunakan
Microsoft SQL Server sebagai database server.
2.2.8 PHP (Hypertext Preprocessor)
PHP merupakan singkatan dari Hypertext Preprocessor adalah sebuah
bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip
dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik.
Tujuan utama bahasa ini adalah untuk memungkinkan perancang web menulis
halaman web dinamik dengan cepat.
1.
Pengertian PHP
Halaman web biasanya disusun dari kode-kode html yang disimpan dalam
sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke
browser, kemudian browser menerjemahkan kode-kode tersebut sehingga
menghasilkan suatu tampilan yang indah. Lain halnya dengan program php,
program ini harus diterjemahkan oleh webserver sehingga menghasilkan kode
html yang dikirim ke browser agar dapat ditampilkan.
Program ini dapat berdiri sendiri ataupun disisipkan di antara kode-kode
html sehingga dapat langsung ditampilkan bersama dengan kode-kode html
tersebut. Program php dapat ditambahkan dengan mengapit program tersebut di
antara tanda <? dan ?>. Tanda-tanda tersebut biasanya disebut tanda untuk
escaping (kabur) dari kode html. File html yang telah dibubuhi program php harus
diganti ekstensi-nya menjadi .php atau .php3.
PHP merupakan bahasa pemograman web yang bersifat server-side
HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan
19
berada di server. Artinya adalah sintaks dan perintah-perintah yang kita berikan
sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal
sebagai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server
dan digunakan untuk membuat halaman web yang dinamis seperti ASP (active
Server Pages) dan JSP (Java Server Pages).
PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C.
Semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam web.
Kemudian ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis.
Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script
PERL yang dibuatnya untuk membuat halaman web menjadi dinamis. Kemudian
pada tahun1996 ia mengeluarkan PHP versi 2.0 yang kemampuannya telah
mampu mengakses basis data dan dapat terintegrasi dengan HTML.
Tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0
yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang software.
Versi terbaru yaitu PHP 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi
yang lebih lengkap lagi dibandingkan dengan versi sebelumnya. Perubahan yang
paling mendasar pada PHP 4.0 adalah terintegrasinya Zend Engine yang dibuat
oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP3
scripting engine sedangkan yang lainnya adalah build in HTTP session, tidak lagi
menggunakan library tambahan seperti pada PHP3. Tujuan dari bahasa scripting
ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web.
Aplikasi dalam hal ini pada umumnya memberikan hasil pada web browser, tetapi
prosesnya secara keseluruhan dijalankan web server.
2.
Kelebihan PHP
E-commerce ketika semakin berkembang, situs-situs yang statis pun
semakin ditinggalkan karena dianggap sudah tidak memenuhi keinginan pasar
karena situs tersebut harus tetap dinamis setiap hari. Bahasa PERL dan CGI saat
ini sudah jauh ketinggalan jaman sehingga sebagian besar desainer web banyak
beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh
aplikasi berbasis web dapat dibuat dengan PHP namun kekuatan yang paling
utama PHP adalah pada konektivitasnya dengan sistem basis data di dalam web.
20
Sistem basis data yang dapat didukung oleh PHP adalah : Oracle, MySQL,
Sybase, PostgreSQL, dan lainnya.
PHP dapat berjalan di berbagai sistem operasi seperti windows 98/NT,
UNIX/LINUX, solaris maupun macintosh. PHP merupakan perangkat lunak yang
open source yang dapat anda download secara gratis dari situs resminya yaitu
http://www.php.net, ataupun dari situs-situs yang menyediakan perangkat lunak
tersebut seperti di ftp://gerbang.che.itb.ac.id. Perangkat lunak ini juga dapat
berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS,
AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa
pemograman yang dapat kita kembangkan sendiri seperti menambah fungsi-fungsi
baru.
Keunggulan lainnya dari PHP adalah PHP juga mendukung komunikasi
dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 bahkan HTTP. PHP
dapat dipasang sebagai bagian atau modul dari apache web server atau sebagai
CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika
menggunakan PHP sebagai modul dari apache di antaranya adalah:
1. Tingkat keamanan yang cukup tinggi
2. Waktu eksekusi yang cepat.
3. Akses ke sistem basis data yang fleksibel. seperti MySQL, Interbase,
PosgreSQL dan lainnya.
3.
Konsep Kerja PHP
Model kerja HTML diawali dengan permintaan suatu halaman web oleh
browser. Berdasarkan URL (Uniform Resource Locator) atau dikenal dengan
sebutan alamat internet, browser mendapatkan alamat dari web server,
mengidentifikasi halaman yang dikehendaki dan menyampaikan segala informasi
yang dibutuhkan oleh web server. Proses selanjutnya, webserver mencarikan
berkas yang diminta dan memberikan isinya ke browser. Browser yang
mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan
menampilkannya ke layar pemakai yang dilustrasikan seperti pada Gambar 2.5.
21
Gambar 2.5 Skema HTML
Prinsipnya serupa dengan kode HTML. Hanya saja, ketika berkas PHP
yang diminta didapatkan oleh webserver, isinya dikirimkan ke mesin PHP dan
mesin inilah yang memproses dan memberikan hasilnya (berupa kode-kode
HTML) ke webserver, untuk selanjutnya webserver menyampaikan ke klien
seperti pada gambar 2.6.
Gambar 2.6 Skema PHP
22
2.2.9 Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan
pengkodean. Pengujian menyajikan anomali yang menarik bagi perekayasa
perangkat lunak. Perekayasa pertama-tama berusaha membangun perangkat lunak
dari konsep abstrak ke implementasi yang dapat dilihat, baru dilakukan pengujian.
Perekayasa menciptakan sederetan
test
case
yang dimaksudkan
untuk
“membongkar” perangkat lunak yang sudah dibangun. Pada dasarnya, pengujian
merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat
dianggap (paling tidak secara psikologis) sebagai hal yang destruktif daripada
konstruktif.
Beberapa metode yang mungkin digunakan dalam sebuah pengujian
perangkat lunak, yaitu :
1. Pengujian Black Box merupakan Teknik pengujian tanpa memiliki
pengetahuan tentang cara kerja dalam aplikasi. Tester mempunyai arsitektur
sistem dan tidak memiliki akses ke kode sumber. Saat melakukan pengujian
black box, tester akan berinteraksi dengan user interface sistem dengan
memberikan masukan dan memeriksa keluaran tanpa mengetahui bagaimana
dan dimana masukan bekerja.
2. Pengujian White Box adalah penyelidikan rinci dari logika internal dan
struktur kode. Pengujian white box disebut juga pengujian kaca atau pengujian
kotak terbuka.
3. Pengujian Grey Box merupakan teknik untuk menguji aplikasi dengan
pengetahuan yang terbatas tentang cara kerja aplikasi internal.
Adapun perbedaan antara ketiga metode pengujian tersebut dapat dilihat pada
Tabel 2.7.
23
Tabel 2.7 Tabel Perbandingan Metode Pengujijan
Black Box
Grey Box
White Box
Cara kerja internal
Pengetahuan tentang
Tester memiliki
aplikasi tidak perlu
cara kerja internal
pengetahuan tentang cara
diketahui
dikenal
kerja internal dari aplikasi
Juga dikenal sebagai
Istilah lain untuk
Juga dikenal sebagai
pengujian kotak
pengujian grey box
pengujian kotak yang
tertutup, didorong oleh
adalah pengujian
jelas, pengujian struktural
data pengujian dan
tembus yang memiliki
atau terstruktur
pengujian fungsional
pengetahuan terbatas
dalam bagian aplikasi
Dilakukan oleh
Dilakukan oleh
Biasanya dilakukan oleh
pengguna akhir dan juga
pengguna akhir dan juga
penguji dan pengembang
oleh penguji serta
oleh penguji serta
pengembang
pengembang
Pengujian didasarkan
Pengujian dilakukan
Kerja internal sepenuhnya
pada eksternal, internal
atas dasar data diagram
diketahui dan tester dapat
aplikasi tidak diketahui
basis tingkat tinggi dan
merancang data pengujian
data diagram alur
dengan benar
Cara kerjanya memakan
Sebagian memakan
Sangat menyeluruh dan
dan waktu dan
waktu dan menyeluruh
membutuhkan waktu pada
menyeluruh
jenis pengujian ini
Tidak cocok untuk
Tidak cocok untuk
Cocok untuk pengujian
pengujian algoritma
pengujian algoritma
algoritma
Hanya dapat dilakukan
Domain data dan batas-
Domain data dan batas-
dengan metode trial dan
batas internal dapat
batas internal dapat diuji
error
diuji, jika diketahui
lebih baik lagi
Download