1 bab ii kajian pustaka 2.1 tinjauan mutakhir ii .pdf · kajian pustaka 2.1 tinjauan mutakhir...

19
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 informasi ringkasan tanaman

Upload: others

Post on 07-Dec-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

5

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 informasi ringkasan tanaman

Page 2: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Mutakhir 1

Tinjauan

Mutakhir 2

Tinjauan

Mutakhir 3

Aplikasi

Penulis

Basis Desktop Desktop Desktop Web

DBMS 1 jenis

(Oracle)

3 jenis

(MySQL,

PostgreSQL,

PLSQL)

1 jenis

(Oracle)

3 jenis

(MySQL,

Oracle,

SQLServer)

Mapping Statis (proses

mapping

tidak bisa

diatur user)

Dinamis

(proses

mapping bisa

diatur user)

Statis (proses

mapping tidak

bisa diatur

oleh user)

Dinamis

(proses

mapping

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.

Page 3: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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 Warehouse

Data Mart

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

Page 4: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

aplikasi dan fungsi tertentu

Dirancang berdasarkan subjek-subjek

tertentu

Fokus pada desain basis data dan

proses

Fokusnya pada pemodelan data dan

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

Page 5: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 6: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 7: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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.

Page 8: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 9: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 10: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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 (client-

serverarchitecture). 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.

Page 11: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

15

Tabel 2.3 Tipe Data Oracle

Tipe Data Deskripsi Minimal Maksimal

VARCHAR2(x)

Karakter dengan panjang

sesuai variable dan kebutuhan

memori x bytes.

1 bytes 4000 bytes

CHAR(x)

Karakter dengan panjang

fix dan

kebutuhan memori x bytes.

1 bytes 2000 bytes

NUMBER(p,s) Presisi adalah p dan skala

adalah s

P=1

S = -84

P = 38

S = 127

DATE

Tanggal yang valid dan

kebutuhan memori

7 bytes

1 Januari

4712 SM

31

Desember

9999

ROWID

String Hexadesimal yang

merepresentasi

alamat unik dari sebuah row

pada Tabel

8 bytes 10 bytes

CLOB Character Large Object 1 bytes 4 Giga

Bytes

BLOB Binary Large Object 1 bytes 4 Giga

Bytes

BFILE Pointer to binary file on disk 1 bytes 6

GigaBytes

2.2.6 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

Page 12: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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 non-

transaksional. 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 non-

transaksional.

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 berturut-

turut seperti pada Tabel 2.4, 2.5, dan 2.6.

Tabel 2.4 Tipe Data Numerik MySQL

Tipe Data Jangkauan Signed Jangkauan

Unsigned

Memory

TINYINT -128-127 0-255 1 byte

SMALLINT -32768 – 32767 0-65535 2 byte

MEDIUM INT -8388608-8388607 0-16777215 3 byte

INT -2147483648-

2147483647

0-4294967295 4 byte

Page 13: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

17

BIG INT 9223372036854775808-

9223372036854775807

0-

1844674407370955

1615

8 byte

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

Size

Memory Tipe Data Max Size Memor

y

CHAR(X) 255Byte X Byte BLOB 65535

Byte

X+2Byt

e

VARCHAR(X) 255 Byte X+1 Byte MEDIUMTEX

T

1,6 MB X+3

Byte

TINYTEXT 255 Byte X +1 Byte MEDIUMBLO

B

1,6 MB X+3

Byte

TINYBLOB 255 Byte X+2 Byte LONGTEXT 4,2 GB X+4

Byte

TEXT 65535

Byte X+2 Byte LONGBLOB 4,2 GB

X+4

Byte

Tabel 2.6 Tipe Data Waktu MySQL

Tipe Data Format Standar Zero Values

DATETIME YYYY-MM-DD

HH:MM:SS

0000-00-00

00:00:00

DATE YYYY-MM-DD 0000-00-00

TIME HH:MM:SS 00:00:00

YEAR YYYY 0000

TIMESTAMP YYYYMMDDHHMMSS 00000000000000

Page 14: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 15: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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.

Page 16: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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.

Page 17: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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

Page 18: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

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.

Page 19: 1 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir II .pdf · KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian mengenai proses ETL (extraction, tranformation, loading) telah beberapa kali

23

Tabel 2.7 Tabel Perbandingan Metode Pengujijan

Black Box Grey Box White Box

Cara kerja internal

aplikasi tidak perlu

diketahui

Pengetahuan tentang

cara kerja internal

dikenal

Tester memiliki

pengetahuan tentang cara

kerja internal dari aplikasi

Juga dikenal sebagai

pengujian kotak

tertutup, didorong oleh

data pengujian dan

pengujian fungsional

Istilah lain untuk

pengujian grey box

adalah pengujian

tembus yang memiliki

pengetahuan terbatas

dalam bagian aplikasi

Juga dikenal sebagai

pengujian kotak yang

jelas, pengujian struktural

atau terstruktur

Dilakukan oleh

pengguna akhir dan juga

oleh penguji serta

pengembang

Dilakukan oleh

pengguna akhir dan juga

oleh penguji serta

pengembang

Biasanya dilakukan oleh

penguji dan pengembang

Pengujian didasarkan

pada eksternal, internal

aplikasi tidak diketahui

Pengujian dilakukan

atas dasar data diagram

basis tingkat tinggi dan

data diagram alur

Kerja internal sepenuhnya

diketahui dan tester dapat

merancang data pengujian

dengan benar

Cara kerjanya memakan

dan waktu dan

menyeluruh

Sebagian memakan

waktu dan menyeluruh

Sangat menyeluruh dan

membutuhkan waktu pada

jenis pengujian ini

Tidak cocok untuk

pengujian algoritma

Tidak cocok untuk

pengujian algoritma

Cocok untuk pengujian

algoritma

Hanya dapat dilakukan

dengan metode trial dan

error

Domain data dan batas-

batas internal dapat

diuji, jika diketahui

Domain data dan batas-

batas internal dapat diuji

lebih baik lagi