7 BAB 2 TINJAUAN PUSTAKA 2.1 Teori Dasar

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Dasar Umum
Berikut merupakan teori-teori dasar umum yang digunakan dalam
penulisan skripsi ini:
2.1.1
IMK (Interaksi Manusia dan Komputer)
Menurut Shneiderman dan Plaisant (2010:4), Interaksi Manusia
dan Komputer adalah ilmu yang melibatkan perancangan dengan
mengumpulkan data dan kerangka intelektual yang dikembangkan
dari ilmu komputer.
2.1.1.1
Lima Faktor Manusia Terukur
Shneiderman dan Plaisant (2010:32) menyatakan
bahwa perancangan sebuah sistem yang user-friendly,
efisien,
dan
dapat
memenuhi
kebutuhan
harus
memperhatikan lima faktor berikut:
1. Waktu untuk Belajar
Waktu yang dibutuhkan seorang pengguna untuk
mempelajari fungsi-fungsi di dalam sebuah aplikasi
untuk menyelesaikan tugasnya.
2. Kecepatan Kinerja
Waktu yang diperlukan untuk penyelesaian suatu tugas
di dalam aplikasi.
3. Tingkat Kesalahan yang Dilakukan Pengguna
Jumlah dan jenis kesalahan yang dilakukan oleh
pengguna dalam melakukan serangkaian tugas dengan
menggunakan aplikasi.
4. Daya Ingat
Seberapa baik pengguna mempertahankan ingatan dan
pengetahuannya dalam jangka waktu tertentu saat
menggunakan aplikasi.
7
8
5. Kepuasan Subjektif
Tingkat ketertarikan pengguna atas berbagai aspek dari
suatu sistem.
2.1.1.2
Eight Golden Rules of Interface Design
Shneiderman dan Plaisant (2010:88) mengemukakan
delapan aturan yang dapat digunakan sebagai petunjuk dasar
yang baik untuk merancang suatu user interface. Delapan
aturan ini disebut dengan Eight Golden Rules of Interface
Design, yaitu:
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah,
warna, tata letak, penggunaan huruf kapital, font, dan
istilah yang digunakan pada prompt, menu, serta layar
bantuan.
2. Melayani kebutuhan secara universal
Dengan mengenali kebutuhan pengguna yang beragam,
perancangan sebuah user interface harus mampu
memfasilitasi
perubahan
konten
sesuai
kebutuhan
pengguna. Perbedaan tingkat pengetahuan pengguna,
keterbatasan yang dimiliki pengguna, perbedaan usia
pengguna, dan ragam teknologi yang ada membuat
kebutuhan pengguna semakin bertambah. Perancangan
user interface harus mampu memperhatikan kebutuhan
tersebut. Misalnya, penambahan penjelasan ataupun
panduan pada interface bagi pemula dan penambahan
fasilitas, shortcut, tombol fungsi, perintah tersembunyi,
dan fasilitas makro bagi pengguna yang sudah ahli untuk
meningkatkan kecepatan interaksi.
3. Memberikan feedback yang informatif
Untuk
setiap
tindakan
pengguna,
user
interface
sebaiknya disertai dengan suatu sistem feedback.
Feedback berguna untuk memberitahukan akibat dari
tindakan yang telah dilakukan pengguna. Untuk tindakan
yang sering dilakukan dan tidak terlalu penting, interface
9
dapat disertai feedback yang sederhana. Akan tetapi, jika
tindakan merupakan hal yang penting, maka feedback
sebaiknya lebih menarik perhatian, misalnya, muncul
suatu suara ketika salah menekan tombol pada waktu
input data atau muncul pesan kesalahannya.
4. Merancang dialog untuk hasil akhir
Urutan tindakan sebaiknya dikelompokkan menjadi
bagian awal, tengah, dan akhir. Feedback yang
informatif
akan
menunjukkan
bahwa
cara
yang
dilakukan sudah benar dan dapat mempersiapkan
kelompok tindakan berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Rancangan
sistem
yang
telah
dibuat
tidak
memperbolehkan pengguna melakukan kesalahan. Jika
kesalahan terjadi, sistem dapat mendeteksi kesalahan
dengan
cepat
dan
memberikan
mekanisme
yang
sedehana dan mudah dipahami untuk penanganan
kesalahan.
6. Mudah kembali ke tindakan sebelumnya
Aksi yang sudah dilakukan harus dapat dikembalikan.
Hal ini dapat mengurangi rasa cemas karena mengetahui
situasi error dapat dikembalikan pada situasi sebelum
terjadi error.
7. Mendukung tempat pengendali internal (internal locus of
control)
Pengguna menjadi pengontrol sistem dan sistem akan
merespon tindakan yang dilakukan pengguna. Sistem
dirancang sedemikian rupa, sehingga pengguna menjadi
inisiator daripada menjadi responden.
8. Mengurangi beban ingatan jangka pendek
Sistem yang dirancang harus sederhana karena ingatan
manusia yang terbatas. Pembuatan interface yang lebih
sederhana, pelatihan yang cukup untuk memahami kode,
10
mnemonik dan urutan aksi dapat mengurangi beban
ingatan jangka pendek.
2.1.2
Internet
Menurut Williams dan Sawyer (2007:17), Internet adalah
jaringan komputer di seluruh dunia yang menghubungkan jaringanjaringan kecil, seperti situs pendidikan, pemerintahan, komersial,
organisasi, dan perorangan.
Internet bekerja menggunakan konsep penting, yaitu clientserver computing, yang menunjukkan konsep hubungan dalam
pertukaran informasi dengan mengirimkannya sebagai server dan
menerimanya sebagai client (Hofstetter, 2003:11).
Internet
menghubungkan
komputer-komputer
untuk
berkomunikasi dengan menggunakan Internet Protocol (IP). Menurut
Williams dan Sawyer (2007:62), komunikasi Internet terbagi menjadi
tiga:
1. Protocols
Data
ditransmisikan
dari
komputer
ke
Internet
dengan
menggunakan protokol yang memungkinkan komputer untuk
mengirimkan data secara elektronik. Protokol yang digunakan
adalah Transmission Control Protocol/Internet Protocol (TCP/IP).
TCP/IP menentukan apakah pengirim telah selesai mengirimkan
pesan atau data dan penerima telah menerima pesan atau data.
2. Packets
TCP/IP memecah data yang dikirimkan ke Internet ke dalam
packets. Packets adalah blok data dengan ukuran yang tetap untuk
transmisi. Data akan dipecah ke dalam bagian-bagian kecil dan
bagian-bagian itu dikirimkan oleh rute yang berbeda dengan
tujuan yang sama. IP digunakan untuk mengirimkan packets ke
tujuan dan TCP digunakan untuk mengumpulkan kembali packets
ke urutan yang benar.
3. IP Addresses
Setiap komputer dan perangkat yang terhubung ke Internet
memiliki alamat. Internet Protocol (IP) address adalah alamat
11
yang mengidentifikasikan setiap komputer dan perangkat yang
terhubung ke Internet secara unik. IP address dibagi menjadi dua,
yaitu dynamic IP address dan static IP address. Dynamic IP
address akan berubah setiap kali pengguna terhubung ke Internet,
sedangkan static IP address akan tetap setiap kali pengguna
terhubung ke Internet. Jika komputer terhubung ke Internet secara
tetap, maka pengguna akan memiliki static IP address. Jika
komputer sesekali terhubung ke Internet atau memiliki koneksi
dial-up ke Internet, maka pengguna akan menggunakan dynamic
IP address dari kumpulan IP address yang tersedia pada Internet
Access Provider (IAP).
Internet memiliki akses untuk layanan komunikasi di antara
penggunanya. Layanan Internet (Internet Service) yang paling sering
digunakan adalah electronic mail (e-mail), listserv, newsgroup, chat,
videoconferencing, File Transfer Protocol (FTP), multimedia
streaming, dan World Wide Web.
a. File Transfer Protocol (FTP)
FTP adalah protokol yang digunakan untuk mengirimkan data dari
satu komputer ke komputer lain. Sebuah server FTP diakses
dengan menggunakan Universal Resource Identifier (URI). FTP
menggunakan protokol TCP untuk komunikasi data antara server
dan client sebelum memulai pengiriman data.
b. World Wide Web (WWW)
Menurut Hofstetter (2003:10), World Wide Web (WWW) adalah
suatu sistem jaringan hypertext yang memungkinkan dokumen
disebarkan menggunakan Internet. World Wide Web merupakan
layanan Internet yang paling sering digunakan dan bisa mengakses
ke seluruh halaman situs yang ada. Menurut Williams dan Sawyer
(2007:68-69), fondasi dari World Wide Web adalah HTML
(Hypertext Markup Language) dan hypertext link. HTML adalah
instruksi spesial yang digunakan untuk menspesifikasikan struktur
dokumen, formatting, dan link untuk dokumen multimedia yang
ada pada web. HTML menggunakan hypertext link untuk
12
menghubungkan dokumen hypertext dengan dokumen hypertext
yang lain.
Williams dan Sawyer (2007:64-66) mendefinisikan beberapa
istilah untuk web:
1. Website
Website adalah komputer yang memiliki nama domain.
Misalnya,
www.barnesandnoble.com
merupakan
sebuah
website.
2. Halaman Web
Halaman web adalah dokumen yang terdapat dalam World
Wide Web.
3. Web Browser
Web browser adalah software yang memungkinkan pengguna
untuk menemukan dan melihat halaman web dan pindah dari
suatu halaman web ke halaman web yang lain.
4. URL (Uniform Resource Language)
URL adalah kumpulan karakter yang menunjuk pada sebuah
informasi spesifik dalam web. Komponen URL terdiri dari:
1. Protokol web
Protokol web atau HTTP (Hypertext Transfer Protocol)
adalah suatu protokol yang memungkinkan web browser
untuk berhubungan dengan web server.
2. Nama domain (nama web server)
Nama domain adalah nama unik yang menunjukkan lokasi
dan tipe dari alamat yang ada pada web.
3. Nama directory
Nama directory adalah nama untuk directory atau folder
yang diperlukan web browser untuk mengambil file.
4. Nama file dan ekstensi
File adalah halaman atau dokumen yang dicari pada web.
13
2.1.3
E-Commerce
Menurut Turban et al. (2010:46), electronic commerce adalah
proses berkembang yang menggambarkan suatu proses pembelian,
penjualan, atau pertukaran produk, layanan, dan informasi melalui
jaringan komputer yang meliputi Internet.
Turban et al. (2010:51) mengklasifikasikan e-commerce
berdasarkan sifat dasar dari transaksi menjadi sepuluh jenis ecommerce, yakni:
1. Business-to-Business (B2B)
B2B meliputi aliran informasi dan transaksi antara dua atau lebih
organisasi.
2. Business-to-Consumer (B2C)
B2C
meliputi
transaksi
dengan
pembeli
yang
bersifat
perseorangan.
3. Business-to-Business-to-Customer (B2B2C)
B2B2C merupakan model transaksi bisnis yang menyediakan
produk atau jasa ke klien bisnis lain yang mengatur pelanggannya
sendiri.
4. Consumer-to-Business (C2B)
C2B merupakan kategori yang melibatkan individu yang menjual
produk atau jasa kepada organisasi. Individu mencari penjual,
berinterakasi dengan penjual, dan melakukan transaksi.
5. Intrabusiness E-Commerce
Kategori ini meliputi semua aktivitas internal sebuah organisasi
yang melibatkan pertukaran barang, jasa, dan informasi.
6. Business-to-Employees (B2E)
B2E adalah model transaksi bisnis yang memungkinkan organisasi
memberikan informasi, jasa, atau produk ke karyawan sendiri.
B2E merupakan bagian dari Intrabusiness E-Commerce.
7. Consumer-to-Consumer (C2C)
C2C merupakan kegiatan transaksi antarkonsumen. Konsumen
menjual langsung ke konsumen lain.
14
8. Collaborative Commerce
Model ini memungkinkan individu atau kelompok untuk
berkomunikasi secara online.
9. E-Learning
E-learning merupakan penyampaian informasi secara online
sebagai media edukasi.
10. E-Government
E-government adalah model transaksi bisnis yang melibatkan
pemerintah dalam membeli atau menyediakan barang, jasa, atau
informasi dari atau ke bisnis atau masyarakat.
E-commerce
menawarkan
beberapa
keuntungan
untuk
organisasi, individu dan masyarakat. Menurut Turban et al. (2010:77),
berikut ini keuntungan penggunaan e-commerce untuk organisasi.
1. E-commerce
memperluas
pasar
ke
tingkat
nasional
dan
internasional dengan pengeluaran modal yang minimal. Ecommerce membantu perusahaan untuk menemukan konsumen,
pemasok, dan partner bisnis.
2. E-commerce
menekan
biaya-biaya
pengeluaran
sebuah
perusahaan. Biaya-biaya tersebut meliputi biaya pembuatan,
pemrosesan, pendistribusian, penyimpanan dan pengambilan
informasi.
3. E-commerce mengurangi inventori dan ongkos tambahan. Ecommerce menyediakan fasilitas manajemen rantai pasokan pulltype. Sistem pull-type dimulai dengan pemesanan dari konsumen
dan pabrik akan membuat pesanan dari konsumen. Proses pulltype memungkinkan konsumen untuk membeli produk dan jasa
yang disesuaikan dengan spesifikasi yang diinginkan konsumen.
Dengan cara ini, pull-type menyediakan keuntungan kompetitif
untuk mengimplementasikan pull-type.
4. E-commerce
menginisiasi
proyek
business
processes
reengineering. Business processes reengineering dapat membantu
meningkatkan pelayanan konsumen, pengetahuan pekerja dan
produktivitas dari penjual.
5. Pengurangan biaya komunikasi.
15
6. E-commerce menawarkan keuntungan lain seperti peningkatan
citra
organisasi,
produktivitas,
fleksibilitas,
dan
layanan
konsumen, penemuan partner bisnis baru, proses yang lebih
mudah, pengurangan waktu dan biaya pengiriman, dan perluasan
akses informasi.
Turban et al. (2010:77) menjelaskan keuntungan penggunaan ecommerce untuk konsumen.
1. E-commerce
mempermudah
konsumen
untuk
melakukan
pembelanjaan dan transaksi lain dari berbagai tempat selama 24
jam dalam sehari.
2. E-commerce memberikan banyak pilihan produk dan penjual
untuk konsumen.
3. E-commerce memungkinkan konsumen untuk mendapatkan jasa
dan produk yang lebih murah. Konsumen dapat melakukan
transaksi di banyak tempat dan melakukan perbandingan secara
cepat.
4. Pengiriman produk dan jasa yang lebih cepat.
5. Konsumen dapat mengakses informasi dengan cepat.
6. Konsumen dapat mengikuti lelang virtual.
7. Konsumen dapat berinteraksi dengan konsumen lain dalam sebuah
komunitas elektronik dan melakukan pertukaran ide serta
pengalaman berbelanja.
8. E-commerce meningkatkan kompetisi antara penjual, sehingga
menghasilkan banyak diskon.
Turban
et
al.
(2010:77)
mendeskripsikan
keuntungan
penggunaan e-commerce untuk masyarakat sebagai berikut.
1. E-commerce mengurangi kemacetan dan polusi udara karena
banyak individu memilih bekerja di rumah dan mengurangi
perjalanan untuk belanja.
2. E-commerce menyediakan beberapa produk dan jasa yang murah,
sehingga masyarakat dapat membeli lebih banyak produk dan jasa
untuk meningkatkan standar kehidupan.
16
3. E-commerce memungkinkan masyarakat yang berada di daerah
terpencil untuk menikmati produk dan jasa yang tidak tersedia di
daerah mereka tinggal.
4. E-commerce menyediakan pengiriman layanan publik dengan
pengurangan biaya dan peningkatan kualitas layanan.
2.1.4
Cross-Selling
Menurut Li et al. (2010:683), cross-selling adalah suatu praktik
menjual produk atau layanan tambahan kepada pelanggan yang sudah
ada. Pada banyak industri, seperti jasa keuangan, asuransi, kesehatan,
akuntansi, telekomunikasi, penerbangan, dan ritel, cross-selling
dijadikan sebagai prioritas strategis atas.
Cross-selling dipandang sebagai suatu teknik mapan dan
berharga yang dapat meningkatkan ukuran pesanan serta mengubah
pembeli tunggal produk ke pembeli multi-produk. Implementasi yang
tepat dari cross-selling hanya dapat dicapai jika ada suatu
infrastruktur
informasi
yang
memungkinkan
produk-produk
ditawarkan kepada pelanggan yang cocok dengan keinginan mereka.
2.1.5
Waterfall Model
Menurut Pressman (2010:39), waterfall model juga disebut
sebagai classic life cycle yang mengembangkan software dengan
pendekatan sistematis dan berurutan. Pendekatan ini diawali dengan
pengumpulan
kebutuhan
yang
selanjutnya
diikuti
dengan
perancangan, pemodelan, pembangunan, dan implementasi dari sistem
software. Metode waterfall ini digunakan dalam pengembangan web
e-commerce dengan tahap-tahap yang dapat dilihat pada gambar 2.1.
17
Gambar 2.1 Waterfall Model
(Sumber: Software Engineering: A Practitioner’s Approach – Pressman,
2010)
1. Communication
Tahap ini merupakan tahap inisiasi proyek dengan melakukan
analisis terhadap masalah yang ada dan tujuan yang ingin dicapai.
Selain itu, tahap ini juga melakukan analisis terhadap kebutuhan
software dan pengguna yang didapatkan melalui pengumpulan
data dengan kuesioner.
2. Planning
Tahap ini merupakan tahap lanjutan dari communication. Tahap
ini melakukan estimasi terhadap kebutuhan-kebutuhan dalam
pembuatan sistem dan membuat perencanaan terhadap jadwal
pengerjaan software.
3. Modeling
Tahap ini membuat pemodelan terhadap software dengan
melakukan analisis dan perancangan software berdasarkan hasil
dari analisis kebutuhan pengguna yang sudah didapatkan.
Perancangan software tersebut berupa perancangan struktur data,
arsitektur program, user interface, dan detil prosedur.
4. Construction
Setelah membuat pemodelan terhadap software, tahap selanjutnya
adalah membuat kode (coding) berdasarkan kebutuhan pengguna
dan software tersebut. Selanjutnya, pengujian dilakukan untuk
meminimalkan kesalahan-kesalahan yang mungkin terjadi dalam
sistem.
18
5. Deployment
Setelah proses construction selesai, tahap selanjutnya adalah
mengimplementasikan software tersebut kepada pengguna untuk
mendapatkan umpan balik untuk software tersebut. Software yang
telah dibuat juga harus dilakukan pemeliharaan, perbaikan, dan
pengembangan secara berkala agar dapat berjalan dengan baik.
2.1.6
Flowchart
Menurut Romney dan Steinbart (2006:70), flowchart adalah
teknik analitik yang digunakan untuk mendeskripsikan beberapa
aspek dari sebuah sistem informasi secara jelas, singkat, dan logis.
Ketika terdapat beberapa entitas, flowchart dibagi ke dalam kolomkolom dengan nama untuk setiap kolom. Romney dan Steinbart
(2006:77) membagi flowchart ke dalam tiga kategori, yakni:
a. Program flowchart, yang menggambarkan struktur dan urutan
operasi oleh sebuah komputer dalam mengeksekusi program,
b. System flowchart, yang menggambarkan hubungan input, proses,
dan output dari sebuah sistem informasi, dan
c. Document flowchart, yang menggambarkan aliran dokumen dan
informasi antardepartemen dalam organisasi.
Menurut Romney dan Steinbart (2006:71-73), simbol dalam
flowchart terbagi menjadi empat kategori sebagai berikut:
1. Simbol input atau output
Simbol input atau output merepresentasikan alat atau media yang
menyediakan input ke atau mencatat output dari operasi
pemrosesan.
19
Tabel 2.1 Simbol Input atau Output
Simbol
Nama
Document
Keterangan
Sebuah
dokumen
atau
laporan.
Dokumen
dapat
disiapkan secara manual atau
dicetak oleh komputer.
Multiple
copies of one
document
Digambarkan
dokumen
dengan
yang
saling
tumpang tindih.
Fungsi input atau output pada
Input/Output;
Journal/ledger
sebuah program flowchart
dan
representasi
jurnal
akutansi dan buku kas dalam
sebuah document flowchart.
Informasi yang ditampilkan
Display
oleh alat output online seperti
sebuah
terminal,
monitor,
atau layar.
Entri data menggunakan alat
Online Keying
online seperti terminal atau
komputer personal.
Simbol display dan online
Terminal or
keying digunakan bersama
Personal
untuk
Computer
terminal
merepresentasikan
dan
komputer
personal.
Kontrol total yang disiapkan
secara manual. Simbol ini
Transmittal
Tape
digunakan
untuk
tujuan
kontrol yang membandingkan
dengan total yang dikerjakan
komputer.
20
2. Simbol processing
Simbol processing menunjukkan tipe dari alat yang digunakan
untuk memproses data atau mengindikasikan pemrosesan yang
dilakukan secara manual.
Tabel 2.2 Simbol Processing
Simbol
Nama
Keterangan
Sebuah fungsi pemrosesan
Computer
Processing
yang
dilakukan
oleh
komputer. Biasanya hasilnya
mengubah
data
atau
informasi.
Manual
Operation
Auxiliary
Operation
Operasi
pemrosesan
yang
dilakukan secara manual.
Sebuah fungsi pemrosesan
yang
dioperasikan
oleh
sebuah alat selain komputer.
Simbol
yang
Off-line
merepresentasikan
sebuah
Keying
operasi yang menggunakan
Operation
alat entri data secara offline,
seperti cash register.
3. Simbol storage
Simbol storage merepresentasikan alat yang digunakan untuk
menyimpan data yang sedang tidak digunakan oleh sistem.
21
Tabel 2.3 Simbol Storage
Simbol
Nama
Keterangan
Data disimpan pada sebuah
disk
magnetik
secara
Magnetic Disk permanen. Disk magnetik ini
digunakan sebagai master file
dan database.
Magnetic
Tape
Diskette
Data disimpan pada sebuah
magnetic tape.
Data disimpan dalam sebuah
disket.
Data disimpan dalam sebuah
Online
file
online
temporer
Storage
menggunakan medium akses
langsung seperti disk.
File atau dokumen disimpan
dan diambil secara manual.
Huruf
N
File
yang
tertulis
mengindikasikan
urutan
berkas. N = numerically, A=
alphabetically, dan D = by
date.
4. Simbol flow dan miscellaneous
Simbol flow and miscellaneous mengindikasikan aliran data dan
barang. Simbol flow and miscellaneous juga merepresentasikan
22
operasi saat flowchart mulai atau berakhir, keputusan dibuat, dan
penambahan penjelasan dalam flowchart.
Tabel 2.4 Simbol Flow dan Miscellaneous
Simbol
Nama
Document or
Processing
Flow
Keterangan
Arah dari aliran proses atau
dokumen.
Aliran
yang
normal adalah ke bawah dan
ke kanan.
Arah dari aliran data atau
Data or
informasi. Sering digunakan
Information
untuk menunjukan data yang
Flow
di-copy
dari
sebuah
dokumen ke dokumen lain.
Transmisi data dari sebuah
Communication lokasi
Link
ke
lokasi
menggunakan
lain
jalur
komunikasi.
Menghubungkan
aliran
proses pada halaman yang
On-page
Connector
sama. On-page connector
digunakan
untuk
menghindari garis tumpang
tindih pada sebuah halaman.
Off-page
Connector
Entri dari, keluar dari, atau
ke halaman lain.
Permulaan, akhir, atau poin
interupsi
Terminal
dalam
sebuah
proses atau program, juga
digunakan
mengindikasikan
pihak eksternal
untuk
sebuah
23
Simbol
Nama
Keterangan
Langkah
pembuatan
keputusan.
Simbol
digunakan
Decision
ini
untuk
menggambarkan
percabangan
alternatif
ke
jalan
dalam
program
dari
komentar
flowchart.
Tambahan
Annotation
deskriptif atau penjelesan
sebagai klarifikasi.
Gambar 2.2 Contoh Flowchart I
(Sumber: Accounting Information System - Romney dan Steinbart, 2006)
24
Gambar 2.3 Contoh Flowchart II
(Sumber: Accounting Information System - Romney dan Steinbart, 2006)
2.1.7
Database
Menurut Connolly dan Begg (2005:15), database adalah
kumpulan dari data yang berelasi secara logis dan deskripsi data yang
dirancang untuk memenuhi kebutuhan informasi sebuah organisasi.
Database adalah sebuah penyimpanan data yang besar dan tunggal
yang dapat digunakan oleh banyak departemen dan pengguna.
Database tidak lagi dimiliki oleh satu departemen melainkan
merupakan sumber daya perusahaan yang terbagi. Selain itu, database
memiliki data operasional dari organisasi dan deskripsi dari data
tersebut. Oleh karena itu, database juga merupakan koleksi
penggambaran sendiri dari record yang terintegrasi (self-describing
collection of integrated records). Deskripsi data ini dikenal sebagai
system catalog atau data dictionary.
Saat menganalisis informasi yang dibutuhkan suatu organisasi,
identifikasi dari entity, attributte, dan relationship sangat dibutuhkan.
Entity adalah objek yang jelas dalam organisasi yang digambarkan
dalam database seperti orang, tempat, benda, dan konsep. Attribute
25
adalah properti yang menjelaskan aspek objek yang di-record.
Relationship adalah hubungan asosiasi antar-entity.
Bahasa yang digunakan pada database dibagi menjadi dua
kategori:
1. Data Manipulation Language (DML)
Menurut Connolly dan Begg (2005:40), DML adalah suatu bahasa
yang melakukan operasi-operasi standar pada data yang ada di
dalam database. Pengoperasian data yang akan dimanipulasi
biasanya meliputi:
a. Penambahan data baru ke dalam database,
b. Mengubah data yang tersimpan di database,
c. Pemanggilan data yang terdapat di dalam database, dan
d. Penghapusan data dari database.
2. Data Definition Language (DDL)
Definisi dari Data Definition Language menurut Connolly dan
Begg (2005:40) adalah suatu bahasa yang memperbolehkan
Database
Administrator
(DBA)
atau
pengguna
untuk
mendefinisikan entity, attribute, dan relationship yang dibutuhkan
oleh suatu aplikasi serta menambahkan fungsi-fungsi khusus
tertentu untuk mempermudah atau meningkatkan keamanan
datanya.
2.1.8
Database Management System (DBMS)
2.1.8.1
Pengertian DBMS
Menurut Connolly dan Begg (2005:16), Database
Management System (DBMS) adalah sebuah sistem software
yang
memungkinkan
pengguna
untuk
menjelaskan,
membuat, menjaga, dan memberikan kontrol akses terhadap
database.
Menurut Williams dan Sawyer (2007:420), DBMS
adalah sebuah software yang ditulis untuk mengontrol
struktur dari basis data dan mengakses data.
26
2.1.8.2
Fungsi DBMS
Menurut Connolly dan Begg (2005:48), DBMS
memiliki sepuluh fungsi, antara lain:
1. Data storage, retrival, and update
DBMS harus dapat memungkinkan pengguna untuk
menyimpan, mengambil dan meng-update data di dalam
database.
2. A user-accessible catalog
DBMS harus memiliki sebuah catalog yang berisi
deskripsi data item dan dapat diakses oleh pengguna.
3. Transaction support
DBMS harus memiliki sebuah mekanisme yang dapat
menjamin baik seluruh update yang berhubungan dengan
sebuah transaksi dapat dilakukan ataupun keseluruhan
update tersebut tidak dilakukan.
4. Concurrency control services
DBMS harus memiliki sebuah mekanisme untuk
menjamin database di-update secara benar ketika banyak
pengguna meng-update database secara bersamaan.
5. Recovery services
DBMS harus memiliki sebuah mekanisme untuk
pemulihan database apabila terjadi bencana.
6. Authorization services
DBMS harus memiliki sebuah mekanisme untuk
menjamin bahwa hanya pengguna yang memiliki
otorisasi yang dapat mengakses database.
7. Support for data communication
DBMS harus dapat berintegrasi dengan piranti lunak
komunikasi dan dapat mengakses database dari lokasi
yang jauh.
8. Integrity services
DBMS harus memiliki sarana untuk menjamin baik data
di dalam database maupun perubahan terhadap data
mengikuti aturan-aturan yang telah ditetapkan.
27
9. Services to promote data independence
DBMS harus
menyertakan fasilitas-fasilitas untuk
mendukung ketidaktergantungan piranti lunak terhadap
struktur dari database.
10. Utility services
DBMS
harus
menyediakan
serangkaian
layanan
kegunaan seperti program analisis statistik, pengawasan
fasilitas, fasilitas reorganisasi indeks dan lain-lain.
2.1.8.3
Fasilitas DBMS
DBMS merupakan software yang berinteraksi dengan
aplikasi pengguna dan database. DBMS menyediakan
beberapa fasilitas sebagai berikut:
1. Mendefinisikan
database,
yaitu
menentukan
tipe,
struktur, dan batasan data yang disimpan dalam database
menggunakan Data Definition Language (DDL),
2. Mengizinkan
pengguna
untuk
memasukkan,
memperbarui, menghapus, dan mendapatkan kembali
data dari database menggunakan Data Manipulation
Language (DML). DML memiliki fasilitas untuk
melayani pengaksesan data yang disebut sebagai query
language. Query language yang paling diakui adalah
Structured Query Language (SQL), yang secara de facto
merupakan standar bagi DBMS, dan
3. Menyediakan akses yang terkontrol ke database, yaitu:
a. Sistem keamanan (security system)
Mencegah pengguna yang tidak berwenang untuk
mengakses database.
b. Sistem integritas (integrity system)
Menjaga konsistensi dari data yang disimpan.
c. Sistem kontrol konkurensi (concurrency control
system)
Mengizinkan data dapat dipakai bersama-sama oleh
pengguna lainnya.
28
d. Sistem kontrol pengembalian (recovery control
system)
Memperbaiki data jika sebelumnya terjadi kesalahan
pada hardware atau software.
e. Katalog
yang dapat
diakses
pengguna
(user-
accessible catalog)
Berisi deskripsi data dalam database.
2.1.8.4
Komponen DBMS
Menurut Connolly dan Begg (2005:18), DBMS
memiliki lima komponen, yaitu:
1. Perangkat Keras (Hardware)
DBMS
membutuhkan
perangkat
keras
untuk
menjalankannya. Contohnya, single personal computer
dan single mainframe.
2. Perangkat Lunak (Software)
Karena seluruh kendali DBMS akan dilakukan oleh
program aplikasi, DBMS harus dapat dihubungkan
dengan program-program aplikasinya.
3.
Data
Data yang digunakan oleh suatu organisasi harus
didesain sedemikian rupa sehingga mudah untuk
digunakan.
4.
Prosedur (Procedures)
Perintah-perintah
yang
harus
dilakukan
untuk
menjalankan DBMS ini.
5.
Faktor Manusia (People)
Ini adalah masalah keterkaitan perilaku orang yang
menggunakan sistem (pengguna) dengan DBMS yang
sudah didesain sebelumnya. Manusia yang terlibat
dengan sistem, termasuk dalamnya adalah database
administrator,
perancang
aplikasi, dan pemakai akhir.
basis
data,
pengembang
29
Gambar 2.4 Komponen-komponen dalam lingkungan DBMS
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
2.1.8.5
Keuntungan dan Kerugian DBMS
Penggunaan
DBMS
memiliki
keuntungan
dan
kerugian. Keuntungan DBMS antara lain:
1.
Kontrol terhadap redundant data,
2.
Data yang konsisten,
3.
Semakin banyak informasi yang didapat dari data yang
sama,
4.
Shared data,
5.
Menambah integritas data,
6.
Menambah keamanan data,
7.
Penetapan standarisasi,
8.
Menyeimbangkan konflik kebutuhan,
9.
Memperbaiki pengaksesan data dan hasilnya,
10. Memperbaiki produktivitas,
11. Memperbaiki
pemeliharaan
data
independence, dan
12. Meningkatkan concurrency.
Kerugian DBMS antara lain:
1.
Kompleksitas,
2.
Size/ukuran,
3.
Biaya dari suatu DBMS, dan
4.
Biaya penambahan perangkat keras.
melalui
data
30
2.1.9
Data Flow Diagram
Menurut Whitten dan Bentley (2007:317), data flow diagram
(DFD) adalah suatu model yang menggambarkan aliran data dalam
suatu sistem dan proses yang berjalan pada sistem tersebut. DFD juga
disebut sebagai bubble chart, transformation graph, dan process
model.
Gambar 2.5 Contoh Data Flow Diagram
(Sumber: Systems Analysis and Design Methods - Whitten dan Bentley,
2007)
DFD terdiri dari tiga simbol dan satu penghubung sebagai
berikut:
1. External Agents
External agent adalah orang, sistem, atau organisasi lain di luar
lingkup sistem tetapi berinteraksi dengan sistem. External agent
disebut juga external entity. External agent menyediakan input
untuk sistem dan menerima output dari sistem. External agent
mendefinisikan batasan atau lingkup dari pemodelan sistem. Jika
31
lingkupnya berubah, maka external agent dapat menjadi proses
dan sebaliknya. External agent dapat berupa kantor, departemen,
divisi, organisasi eksternal, bisnis lain, atau salah satu end-user
sistem. External agent diberi nama dengan kata benda deksiprif
dan tunggal. External agent dilambangkan dengan bentuk kotak
pada DFD.
Gambar 2.6 Simbol External Agent
(Sumber: Systems Analysis and Design Methods - Whitten dan
Bentley, 2007)
2. Data Stores
Data store adalah data yang disimpan agar dapat digunakan di lain
waktu. Data store juga disebut file dan database. Data flow
merupakan data in motion, sedangkan data store merupakan data
at rest. Data store dapat berupa orang (kelompok atau individu),
tempat, objek, kejadian, atau konsep. Data store menggambarkan
DFD yang menyimpan semua instance dari entitas data. Data
store diberi nama dengan kata benda jamak. Data store
dilambangkan dengan open-end box pada DFD.
32
Gambar 2.7 Simbol Data Store
(Sumber: Systems Analysis and Design Methods - Whitten dan
Bentley, 2007)
3. Process
Process adalah suatu pekerjaan yang dilakukan oleh sistem
sebagai respon untuk aliran data atau kondisi yang masuk. Process
disebut juga sebagai transform. Process memberikan respon
terhadap kondisi bisnis dan mengubah data menjadi informasi
yang berguna. Pemodelan process sangat membantu dalam
memahami interaksi yang terjadi dengan lingkungan sistem,
sistem lain, dan proses lain. Process diberi nama dengan kata
kerja
aksi
yang
mendeskripsikan
diikuti
pekerjaan
dengan
yang
klausa
objek
dilakukan.
dilambangkan dengan rounded box pada DFD.
untuk
Process
33
Gambar 2.8 Simbol Process
(Sumber: Systems Analysis and Design Methods - Whitten dan
Bentley, 2007)
4. Data Flow
Data flow adalah data yang dimasukkan atau dikeluarkan dari
suatu proses. Data flow digunakan untuk menggambarkan
pembuatan, pembacaan, penghapusan, atau pengubahan data
dalam file atau database. Composite data flow adalah data flow
yang terdiri dari data flow lain untuk menggabungkan data flow
yang sama pada diagram data flow tingkat tinggi. Data flow
dilambangkan dengan panah penghubung pada DFD.
Gambar 2.9 Simbol Data Flow
(Sumber: Systems Analysis and Design Methods - Whitten dan
Bentley, 2007)
Berikut ini perbedaan antara DFD dan flowchart.
1. Proses dalam DFD dapat dijalankan secara paralel pada waktu
yang sama, sedangkan proses dalam flowchart hanya dapat
dijalankan satu kali pada satu waktu.
2. DFD menggambarkan aliran data yang melalui sistem, sedangkan
flowchart menggambarkan aliran kontrol.
34
3. Proses dalam DFD dapat memiliki waktu yang sangat berbeda,
sedangkan proses dalam flowchart memiliki waktu yang
konsisten.
Dalam membangun suatu model proses, hal penting yang
dibutuhkan adalah membuat dokumentasi ruang lingkup suatu sistem.
Dokumentasi ini dapat dilakukan dengan menggunakan context data
flow diagram. Menurut Whitten dan Bentley (2007:339), context data
flow diagram adalah model proses yang digunakan sebagai
dokumentasi terhadap ruang lingkup sistem. Langkah-langkah untuk
membuat dokumentasi terhadap ruang lingkup sistem:
1. Memikirkan sistem sebagai black box,
2. Menanyakan pengguna tentang transaksi bisnis yang harus
direspon oleh sistem sebagai input. Sumbernya adalah external
agent,
3. Menanyakan pengguna tentang respon yang harus diberikan oleh
sistem sebagi output. Tujuannya adalah external agent,
4. Mengidentifikasi data store eksternal, dan
5. Membuat context diagram.
Gambar 2.10 Contoh Context Data Flow Diagram
(Sumber: Systems Analysis and Design Methods - Whitten dan Bentley,
2007)
35
2.1.10
Entity Relationship Diagram (ERD)
ERD adalah sebuah diagram untuk perancangan database yang
dimulai dari pengidentifikasian data-data penting yang disebut entity
dan relationship antara data yang digambarkan dalam sebuah model.
Detil tambahan, seperti attribute dan constraint juga dapat
ditambahkan pada entity dan relationship.
a. Entity
Entity adalah kelompok objek yang memiliki properti yang sama,
yang diidentifikasi sebagai objek yang memiliki independent
existence.
Gambar 2.11 Contoh Entity
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
b. Relationship
Relationship
adalah
kumpulan
asosiasi
bermakna
yang
menghubungkan satu atau lebih entity. Setiap relationship
diberikan suatu nama yang menjelaskan fungsinya.
36
Gambar 2.12 Contoh Relationship
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
c. Attribute
Attribute adalah properti dari entity atau relationship. Attribute
terbagi menjadi simple dan composite, single-valued dan multivalued, dan derived.
1. Simple dan Composite Attribute
Simple attribute adalah attribute yang tidak dapat dibagi
menjadi komponen yang lebih kecil yang dapat berdiri sendiri
lagi. Contoh simple attribute adalah umur dan gaji. Composite
attribute adalah attribute yang dapat dibagi ke dalam
komponen yang lebih kecil yang dapat berdiri sendiri. Alamat
yang dapat dibagi menjadi jalan, kode pos, dan kota
merupakan salah satu contoh composite attribute.
2. Single-Valued dan Multi-Valued Attribute
Single-valued attribute adalah attribute yang berisi nilai
tunggal untuk setiap occurrence dari entity. Contoh singlevalued attribute adalah jenis kelamin dan umur. Multi-valued
attribute adalah attribute yang berisi banyak nilai untuk setiap
occurrence dari entity. Contoh multi-valued attribute adalah
nomor telepon, dan e-mail.
3. Derived Attribute
Derived attribute adalah attribute yang berisi nilai yang
diturunkan dari nilai attribute lain yang berhubungan. Contoh
37
derived attribute adalah diskon yang nilainya didapatkan dari
perhitungan nilai jumlah transaksi.
d. Structural Constraint
Structural constraint menetapkan jumlah relasi yang terjadi
antarentitas.
Tipe
utama
dari
structural
constraint
pada
relationship adalah multiplicity. Multiplicity adalah jumlah
kemungkinan cara suatu entity dapat berhubungan. Multiplicity
menekankan banyaknya jumlah occurrence dari sebuah entity
dapat berhubungan dengan suatu occurrence dari entity lain yang
berhubungan. Multiplicity terbagi menjadi dua, yaitu cardinality
dan participation. Cardinality menjelaskan kemungkinan jumlah
maksimal dari rentang multiplicity pada setiap sisi relationship.
Participation
menentukan
apakah
semua
(mandatory
participation) atau hanya beberapa entity occurrence (optional
participation) yang terjadi pada relationship tertentu.
Gambar 2.13 Cardinality dan Participation
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
38
Tabel 2.5 Cara Merepresentasikan Multiplicity Constraint
Cara alternatif untuk
merepresentasikan
Deskripsi
multiplicity constraint
0..1
Nol atau satu entity occurrence.
1..1 (atau hanya 1)
Hanya satu entity occurrence.
0..* (atau hanya *)
Nol sampai banyak entity occurrence.
1..*
Satu sampai banyak entity occurrence.
5..10
Minimum
lima
sampai
maksimum
sepulih entity occurrence.
0, 3, 6-8
Nol, tiga, enam, tujuh, atau delapan
entity occurrence.
Cardinality pada relationship dapat ditentukan sebagai berikut:
a. One-to-One (1..1) Relationship
Gambar 2.14 Contoh One-to-One Relationship
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
Pada gambar 2.14, 0..1 menunjukkan bahwa seorang Staff
dapat mengelola satu Branch atau tidak mengelola Branch
sama sekali, sedangkan 1..1 menunjukkan bahwa satu Branch
dikelola oleh seorang Staff.
39
b. One-to-Many (1..*) Relationship
Gambar 2.15 Contoh One-to-Many Relationship
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
Pada gambar 2.15, 0..* menunjukkan bahwa seorang Staff
dapat
mengawasi
banyak
PropertyForRent
atau
tidak
mengawasi sama sekali, sedangkan 0..1 menunjukkan bahwa
PropertyForRent dapat dikelola oleh seorang Staff atau tidak
dikelola sama sekali.
c. Many-to-Many (*..*) Relationship
Gambar 2.16 Contoh Many-to-Many Relationship
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
Pada gambar 2.16, 1..* menunjukkan bahwa satu Newspaper
mengiklankan
satu
sampai
banyak
PropertyForRent,
sedangkan 0..* menunjukkan bahwa satu PropertyForRent
40
diiklankan oleh banyak Newspaper atau tidak diiklankan sama
sekali.
2.1.11
OLAP (On-line Analytical Processing)
Menurut Connolly dan Begg (2005:1205), OLAP adalah analisis
dan konsolidasi dinamis dari model data multidimensi dalam jumlah
besar. OLAP memungkinkan pengguna untuk lebih memahami
berbagai aspek data perusahaan secara cepat dan konsisten. OLAP
juga memungkinkan pembuatan keputusan untuk tindakan di masa
depan.
2.1.12
Data Warehouse
2.1.12.1
Pengertian Data Warehouse
Menurut Inmon (2005:29), 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.
Jadi, data warehouse merupakan metode dalam
perancangan database, yang menunjang DSS (Decision
Support System) dan EIS (Executive Information System).
Secara fisik data warehouse adalah database, tapi
perancangan data warehouse dan database sangat berbeda.
2.1.12.2
Karakteristik Data Warehouse
Menurut
Inmon
(2005:29),
karakteristik
data
warehouse adalah:
1. Subject-oriented
Data warehouse disusun dan diatur berdasarkan subjek
utama dari perusahaan dikarenakan oleh kebutuhan
akan penyimpanan data pendukung keputusan daripada
data yang berorientasi aplikasi.
41
2. Integrated
Integrasi merupakan karakteristik yang paling penting
dari data warehouse. Data warehouse memiliki
sumber data dari sistem aplikasi perusahaan yang
berbeda. Data yang diperoleh kemudian diubah,
diformat, disusun kembali, dan diringkas. Oleh karena
itu, sumber data yang terintegrasi harus konsisten
dalam menyajikan tampilan data ke pengguna secara
seragam.
3. Non-volatile
Data tidak diperbarui secara real time, tetapi diperbarui
dari sistem operasional secara berkala. Data dalam
lingkungan operasional dapat dilakukan perubahan dan
manipulasi, tetapi data dalam data warehouse hanya
dapat dimuat dan diakses. Dengan demikian, data baru
merupakan tambahan untuk database, bukan sebagai
pengganti, dan data lama tetap tersimpan dalam data
warehouse.
4. Time-variant
Data dalam warehouse hanya bersifat akurat dan sah
pada waktu tertentu atau selama interval waktu
tertentu. Lingkungan yang berbeda memiliki time
horizon yang berbeda pula. Time horizon adalah waktu
yang menunjukkan lamanya data ditampilkan dalam
suatu lingkungan. Batas waktu pada data warehouse
lebih lama daripada sistem operasional. Oleh karena
itu, data warehouse memiki lebih banyak history
dibandingkan dengan lingkungan lain.
2.1.12.3
Arsitektur Data Warehouse
Menurut Connolly dan Begg (2005:1156), arsitektur
data warehouse adalah sebagai berikut:
1. Operational Data
Sumber data untuk data warehouse berupa:
42
a.
Data dari sistem mainframe,
b.
Data dari DBMS relasional, seperti Oracle dan
Informix,
c.
Data dari server pribadi, dan
d.
Data dari sistem eksternal, seperti Internet atau
database komersial.
2. Operational Data Store
Operational
Data
Store
(ODS)
adalah
tempat
penyimpanan untuk data operasional saat ini dan
terintegrasi yang digunakan untuk analisis. ODS
membantu
dan
mempermudah
pembuatan
data
warehouse karena ODS dapat menyediakan data yang
telah diekstrak dan dibersihkan oleh sistem, sehingga
integrasi dan restrukturisasi data menjadi lebih
sederhana.
3. Load Manager
Load manager bertugas melakukan semua operasi
yang berhubungan dengan
proses ekstraksi dan
loading data ke dalam data warehouse.
4. Warehouse Manager
Warehouse
manager
bertanggung
jawab
atas
pengelolaan data dalam warehouse. Tugas warehouse
manager meliputi:
a. Analisis data untuk memastikan konsistensi,
b. Transformasi dan menggabungkan sumber data
dari penyimpanan sementara ke dalam tabel data
warehouse,
c. Membuat index dan view pada base table,
d. Melakukan denormalisasi,
e. Menghasilkan agregasi, dan
f. Melakukan backup dan mengarsip data.
5. Query Manager
Query manager bertugas melakukan semua operasi
yang berhubungan dengan pengelolaan user query.
43
6. Detailed Data
Detailed data adalah area dalam warehouse yang
menyimpan
semua
detailed data
dalam
skema
database.
7. Lightly and Highly Summarized Data
Lightly and highly summarized data adalah area dalam
warehouse
yang
menyimpan
semua
data
yang
teragregasi yang dihasilkan oleh warehouse manager.
Tujuan dari informasi ini adalah untuk mempercepat
kinerja query.
8. Archive/Backup Data
Archive/backup data adalah area dalam warehouse
yang menyimpan detailed data dan summarized data
untuk pengarsipan dan backup. Data ini dipindahkan
ke dalam tempat penyimpanan, seperti magnetic tape
atau optical disk.
9. Metadata
Metadata
adalah
area
dalam
warehouse
yang
menyimpan semua definisi metadata (data yang
menerangkan tentang data) yang digunakan oleh semua
proses
dalam
warehouse.
Berikut
ini
tujuan
penggunaan metadata.
a. Proses ekstraksi dan load. Metadata memetakan
sumber data ke tampilan informasi yang ada di
warehouse.
b. Proses
manajemen
warehouse.
Metadata
menghasilkan summary table secara otomastis.
c. Bagian dari proses manajemen query. Metadata
mengarahkan query ke sumber data yang benar.
10. End-User Access Tools
Data warehouse menyediakan informasi kepada
pengguna bisnis untuk membantu dalam pembuatan
keputusan. Pengguna tersebut menggunakan end-user
access
tools
untuk
berinteraksi
dengan
data
44
warehouse. Data warehouse harus mendukung analisis
rutin dan ad hoc. Kinerja yang tinggi dapat diperoleh
dengan melakukan perencanaan terhadap kebutuhan
joins, summation, dan laporan berkala oleh end-users.
End-user access tools dikategorikan menjadi lima
bagian sebagai berikut:
a. Reporting and Query Tools
Reporting tools terdiri dari production reporting
tools dan report writer. Production reporting tools
digunakan untuk menghasilkan laporan operasional
reguler atau mendukung tugas batch berkapasitas
tinggi, seperti pesanan pelanggan dan staf yang
membayar cek. Report writter adalah desktop tools
murah yang dirancang untuk end-users. Query
tools dirancang untuk menghasilkan SQL statement
untuk melakukan query data yang disimpan dalam
warehouse. Tool ini melindungi end-users dari
kompleksitas SQL dan struktur database dengan
menyertakan meta-layer antara pengguna dan
dataase. Salah satu query tools adalah Query-ByExample (OBE).
b. Aplication Development Tools
Pengguna mungkin membutuhkan pengembangan
aplikasi in-house menggunakan tool akses data
grafis yang dirancang untuk lingkungan clientserver apabila kebutuhan dari end-user, seperti
kapasitas built-in tidak sesuai. Beberapa tool
pengembangan aplikasi ini berintegrasi dengan
OLAP tool dan dapat mengakses sistem database
(Oracle, Sybase, dan Informix).
c. Executive Information System (EIS) Tools
EIS tools dirancang untuk mendukung pembuatan
keputusan strategis tingkat tinggi. EIS tools yang
dihubungkan dengan mainframe memungkinkan
45
pengguna untuk membangun aplikasi pembuatan
keputusan untuk dapat melakukan peninjauan dari
data dan akses organisasi ke sumber data eksternal.
d. Online Analytical Processing (OLAP) Tools
OLAP tools adalah tool yang didasarkan pada
konsep
database
multi-dimensional
dan
memungkinkan pengguna untuk menganalisis data
menggunakan view yang kompleks dan multidimensional. Aplikasi bisnis untuk tools ini berupa
penilaian efektivitas dari kampanye pemasaran,
peramalan penjualan produk, dan perencanaan
kapasitas.
e. Data Mining Tools
Data mining adalah proses dalam menemukan
hubungan, pola, dan kecenderungan baru dengan
menggali
banyak
data
menggunakan
teknik
intelegensia semu, statistik, maupun matematis.
Data mining berpotensi memperluas kapasitas dari
OLAP
tools
karena
memiliki
membangun model prediktif.
tujuan
untuk
46
Gambar 2.17 Arsitektur Data Warehouse
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg, 2005)
2.1.12.4
Skema Bintang
Menurut Connolly dan Begg (2005:1183), skema
bintang adalah struktur tabel sederhana yang terdiri dari
tabel fakta yang terhubung dengan beberapa tabel dimensi
yang berisi data referensi yang dapat didenormalisasi.
Fakta-fakta tersebut dihasilkan dari kejadian sebelumnya
dan tidak mungkin berubah. Tabel fakta dapat memiliki
hubungan yang besar terhadap tabel dimensi karena
sebagian besar data dalam data warehouse merupakan
fakta.
Fakta yang paling penting dalam tabel fakta adalah
numerik dan aditif karena aplikasi data warehouse dapat
mengakses jutaan record dalam satu waktu. Tabel fakta
merupakan tabel utama yang berisi foreign key dari
masing-masing tabel dimensi. Tabel dimensi merupakan
tabel minor yang berisi deskripsi lebih lanjut dari data pada
47
tabel fakta. Atribut tabel dimensi digunakan sebagai
constraints dalam data warehouse queries.
Gambar 2.18 Contoh Star Schema
(Sumber: Database System: A Practical Approach to
Design, Implementation, and Management - Connolly dan
Begg, 2005)
2.1.12.5
Data Mart
Menurut Connolly dan Begg (2005:1171), data mart
adalah suatu bagian dari data warehouse yang mendukung
kebutuhan bisnis atau departemen.
Menurut Inmon (2005:494), data mart adalah data
yang bersumber dari data warehouse dan didenormalisasi
berdasarkan kebutuhan informasi departemen.
Berikut ini karakteristik data mart.
1. Data mart fokus hanya pada kebutuhan pengguna yang
berhubungan dengan fungsi bisnis.
2. Data
mart
biasanya
tidak
mengandung
data
operasional yang rinci.
3. Data mart lebih mudah dimengerti dan dinavigasikan
karena mengandung informasi yang lebih sedikit
dibandingkan dengan data warehouse.
48
Alasan membangun data mart adalah:
1. Memungkinkan pengguna untuk mengakses data yang
diperlukan untuk analisis,
2. Menyediakan data yang sesuai dengan tampilan
kolektif data oleh sekelompok pengguna dalam suatu
departemen,
3. Meningkatkan
waktu
respon
dari
end-user
berhubungan dengan berkurangnya jumlah data yang
diakses,
4. Menyediakan data terstruktur sesuai dengan kebutuhan
end-user access tools seperti OLAP dan data mining
tools,
5. Menggunakan sedikit data untuk memudahkan dalam
cleansing, loading, transformasi, dan integrasi data,
6. Membutuhkan biaya yang lebih sedikit dibandingkan
dengan data warehouse, dan
7. Memudahkan dalam menentukan dan menargetkan
pengguna data mart untuk mendapatkan dukungan
proyek.
49
Gambar 2.19 Arsitektur Data Warehouse dan Data Mart
(Sumber: Database System: A Practical Approach to
Design, Implementation, and Management - Connolly dan
Begg, 2005)
2.1.13
Data Mining
2.1.13.1
Pengertian Data Mining
Menurut Connolly dan Begg (2005:1233), data
mining adalah proses penggalian informasi dari database
yang besar yang bersifat valid, belum dikenal, dapat
dipahami dan ditindaklanjuti yang digunakan untuk
pembuatan keputusan penting. Data mining berfokus pada
analisis data dan pencarian informasi berupa pola-pola
tersembunyi dan hubungan dari data menggunakan teknik
software tertentu.
50
2.1.13.2
Teknik Data Mining
Teknik data mining terbagi menjadi empat kategori
sebagai berikut:
1. Pemodelan Prediktif
Pemodelan prediktif merupakan teknik data mining
yang memodelkan karakteristik-karakteristik penting
dari data dengan menganalisis database yang ada. Ada
dua
macam
teknik
pemodelan
prediktif,
yaitu
klasifikasi dan prediksi nilai.
a.
Klasifikasi
Klasifikasi adalah teknik menentukan kelas untuk
setiap record dalam database dari himpunan pasti
dari nilai kelas yang mungkin. Terdapat dua
spesialisasi dari klasifikasi:
1) Tree Induction
Gambar 2.20 Contoh Klasifikasi Menggunakan Tree
Induction
(Sumber: Database System: A Practical Approach to
Design, Implementation, and Management Connolly dan Begg, 2005)
Gambar 2.20 merupakan model prediktif
menggunakan
dua
variabel:
lamanya
pelanggan telah menyewa properti dan umur
51
pelanggan. Model ini dirancang secara intuitif
untuk memprediksikan bahwa pelanggan yang
telah menyewa properti selama lebih dari dua
tahun dan berumur lebih dari 25 tahun
berkemungkinan besar tertarik untuk membeli
properti.
2) Neural Induction
Gambar 2.21 Contoh Klasifikasi Menggunakan
Neural Induction
(Sumber: Database System: A Practical Approach to
Design, Implementation, and Management Connolly dan Begg, 2005)
Pada gambar 2.21, klasifikasi dilakukan
melalui neural network yang berisi kumpulan
node dengan input, output, dan processing
pada setiap node. Pada neural network setiap
processing unit (circle) terhubungan dengan
setiap processing unit lainnya pada layer yang
berbeda
melalui
weighed
value
yang
menunjukkan kekuatan hubungan dari nodenode tersebut. Jaringan ini mencoba meniru
cara manusia berpikir dengan mengenali polapola yang secara aritmatik menggabungkan
semua variabel yang terhubung data point
yang diberikan. Teknik ini memungkinkan
52
terjadinya pengembangan model prediktif
nonlinear yang dapat mempelajari kombinasi
dari setiap variabel dan bagiamana kombinasi
variabel yang berbeda memengaruhi himpunan
data berbeda.
b. Prediksi Nilai
Prediksi nilai merupakan teknik untuk mengetahui
atau
memprediksikan
nilai
kontinu
yang
berhubungan dengan record pada database dengan
menggunakan teknik statistik tradisional.
2. Segmentasi Database
Segmentasi database berguna untuk melakukan partisi
database dengan record yang serupa, yakni record
yang memiliki property yang mirip atau homogen,
menjadi beberapa segmen atau cluster. Contoh dari
segmentasi database adalah pembagian wilayah tempat
tinggal pelanggan. Perbedaan segmentasi dengan
klasifikasi adalah segmentasi tidak dipakai ketika
diketahui bagimana cara data harus dikelompokkan,
sedangkan klasifikasi sebaliknya. Selain itu, pada
klasifikasi penambahan jumlah kelompok tidak terjadi.
3. Analisis Link
Analisis link adalah teknik data mining yang
membangun asosiasi antara record individual atau
kelompok record dalam database. Analisis link
memiliki tiga spesialisasi, yaitu penemuan asosiasi,
penemuan pola sekuensial, dan penemuan urutan
waktu yang sama. Penemuan asosiasi digunakan untuk
menemukan item dengan cara mengetahui keberadaan
item-item lain pada saat yang sama. Penemuan pola
sekuensial digunakan untuk menemukan pola-pola
antarkejadian dalam database selama periode waktu
tertentu. Penemuan urutan waktu yang sama digunakan
untuk menemukan hubungan antara dua kelompok data
53
yang memiliki ketergantungan waktu dan didasarkan
pada kesamaan pola yang ditunjukkan dari keduanya.
4. Deteksi Deviasi
Deteksi deviasi adalah teknik data mining untuk
mengidentifikasi outlier, yang menyatakan deviasi dari
beberapa expectation dan norm. Deteksi deviasi dapat
dilakukan dengan menggunakan teknik statistik dan
visualisasi.
Tabel 2.6 Teknik Data Mining
(Sumber: Database System: A Practical Approach to Design,
Implementation, and Management - Connolly dan Begg,
2005, p1234)
Operasi
Pemodelan prediktif
Teknik Data Mining
Klasifikasi
Prediksi nilai
Segmentasi database
Demographic clustering
Neural clustering
Analisis link
Penemuan asosiasi
Penemuan pola sekuensial
Penemuan urutan waktu yang
sama
Deteksi deviasi
Statistik
Visualisasi
2.1.13.3
Metode CRISP-DM (Cross Industry Standard Process
for Data Mining)
CRISP-DM merupakan metode standar dalam data
mining yang disusun oleh tiga penggagas data mining
market, yaitu Daimler Chrysler (Daimler-Benz), SPSS
(ISL), dan NCR. Menurut Nisbet et al. (2009:35-36),
metode CRISP-DM mendefinisikan hierarki yang terdiri
54
dari fase utama, tugas umum dan khusus, dan contoh
proses. Proses data mining berdasarkan CRISP-DM terdiri
dari enam fase sebagai berikut:
Gambar 2.22 Proses CRISP-DM
(Sumber: Handbook of Statistical Analysis and Data Mining
Applications – Nisbet et al., 2009)
1. Business Understanding
Tahap ini membutuhkan pemahaman yang jelas
terhadap tujuan dan kebutuhan bisnis, apa yang akan
dilakukan, dan hal-hal yang dapat memberikan
keuntungan bagi bisnis. Tahap ini terdiri dari tiga
kegiatan sebagai berikut:
a. Menentukan tujuan bisnis dari model data mining
Dalam kegiatan ini, latar belakang dari kebutuhan
bisnis harus dipahami agar model data mining
dapat berfungsi dengan baik. Tujuan bisnis adalah
menemukan cara untuk mendapatkan informasi
yang relevan yang akan mendukung pembuatan
keputusan. Hal penting dalam menentukan tujuan
bisnis adalah menyertakan individu dari seluruh
unit bisnis perusahaan yang dipengaruhi oleh
55
masalah dan akan mendapatkan keuntungan dari
solusinya.
b. Memahami situasi bisnis untuk data mining
Kegiatan ini melakukan inventarisasi terhadap
integrasi data, kualitas data, dan alat analisis yang
akan digunakan. Selain itu, hasil dari kegiatan ini
akan didokumentasikan dengan penjelasan yang
cukup sebagai referensi.
c. Merumuskan tujuan data mining
Kegiatan ini fokus dalam merumuskan tujuan data
mining dengan menentukan model prediktif yang
baik untuk memenuhi tujuan bisnis yang sudah
ditetapkan.
2. Data Understanding
Tahap ini merupakan tahap pengumpulan data awal
untuk mendapatkan pemahaman yang mendalam
tentang
data.
Selain
itu,
tahap
ini
juga
mengindentifikasi kualitas data dan mendeteksi bagian
data yang menarik untuk membuat hipotesis awal.
3. Data Preparation
Tahap ini merupakan tahap persiapan data. Operasi
dasar dari tahap ini adalah mengakses, mengubah, dan
mengondisikan data untuk menghasilkan kumpulan
data dalam format yang tepat untuk model analisis.
4. Modeling
Tahap ini merupakan tahap pemodelan data. Tahap ini
menentukan teknik pemodelan data mining yang
digunakan,
meliputi
algoritma
dan
arsitektur
pemodelan. Selain itu, tahap ini juga menyesuaikan
parameter yang digunakan untuk mendapatkan nilai
yang optimal.
5. Evaluation
Model yang telah dibuat pada tahap sebelumnya akan
dievaluasi
untuk
memastikan
kualitas
dan
56
efektivitasnya. Selain itu, tahap ini juga menentukan
apakah model tersebut dapat memenuhi tujuan yang
telah ditetapkan pada tahap awal.
6. Deployment
Pada tahap ini, informasi yang telah diperoleh akan
dipresentasikan dalam bentuk laporan sederhana dan
model
data
yang
telah
dievaluasi
akan
diimplementasikan kepada pengguna.
2.1.13.4
Data Mining Tools
Fitur penting dari data mining tools adalah:
1. Persiapan data
Persiapan
data
merupakan
aspek
yang
paling
membutuhkan waktu yang lama dalam data mining.
Tools yang dapat memberikan fasilitas terhadap proses
ini akan sangat mempercepat proses pengembangan
model. Fungsi-fungsi yang dapat diberikan meliputi
pembersihan data (misalnya, penanganan data yang
hilang), penggambaran data (misalnya, distribusi nilai),
transformasi data (misalnya, melakukan perhitungan),
dan pengambilan sampel data untuk validasi.
2. Pemilihan operasi (algoritma) data mining
Memahami karakteristik dari operasi yang digunakan
oleh data mining tool merupakan hal yang penting. Hal
ini dilakukan untuk memastikan bahwa operasi
tersebut dapat memenuhi kebutuhan pengguna. Tugas
penting
lainnya
adalah
menetapkan
bagaimana
algoritma berhubungan dengan tipe data dari variabel
respon dan predictor dan seberapa cepat algoritma
tersebut bekerja pada data baru. Fitur penting lainnya
dari algoritma adalah kepekaan terhadap noise yang
merupakan perbedaan antara model dan prediksi.
3. Skalabilitas dan kinerja produk
57
Skalabilitas dan kinerja merupakan pertimbangan
penting
untuk
mendapatkan
tool
yang
mampu
menangani peningkatan jumlah data dalam baris dan
kolom.
4. Fasilitas untuk memahami hasil
Data mining tool yang baik harus dapat membantu
pengguna dalam memahami hasil yang didapatkan
dengan menyediakan pengukuran, seperti menjelaskan
akurasi dalam matriks yang memungkinkan pengguna
untuk melakukan analisis sensitivitas dan visualisasi
pada hasil tersebut.
2.1.14
Market Basket Analysis (Affinity Analysis)
Menurut Han dan Kamber (2006:228), market basket analysis
adalah suatu proses yang menganalisis kebiasaan pembelian
pelanggan dengan menemukan asosiasi antar-item yang berbeda
dalam keranjang belanja pelanggan. Asosiasi ini dibutuhkan untuk
mengetahui item apa saja yang mungkin dibeli pelanggan secara
bersamaan. Analisis ini sangat membantu pemilik usaha dalam
meningkatkan strategi pemasaran mereka. Market basket analysis
dapat dianalisis dengan menggunakan association rule.
Gambar 2.23 Market Basket Analysis
(Sumber: Data Mining Concepts and Techniques – Han dan Kamber,
2006)
58
2.1.15
Association Rule
2.1.15.1
Pengertian Association Rule
Association rule adalah salah satu teknik dalam data
mining untuk mencari suatu aturan asosiatif antara suatu
kombinasi
item.
Menurut
Vivekananth
(2012:79),
association rule yang diperkenalkan oleh Rakesh Agrawal
dan Ramakrishnan Srikant pada tahun 1993 untuk market
basket analysis ini telah menjadi salah satu area riset yang
terkenal pada bidang knowledge discovery.
Salah satu penerapan dari association rule adalah
Market
basket
analysis.
Aplikasi
association
rule
digunakan untuk menganalisa isi keranjang belanja
pelanggan sehingga association rule juga sering disebut
sebagai
market
memungkinkan
basket
analysis.
pemilik
usaha
Association
dalam
rule
mengatur
penempatan item atau merancang kampanye pemasaran
untuk kombinasi item tertentu.
Association
rule
biasanya
disertai
dengan
pengukuran support dan confidence dan berbentuk
kalimat:
JIKA antecedent (premise), MAKA consequent.
Contohnya, pada Senin malam 1000 pelanggan
membeli barang di suatu toko online, 200 orang membeli
baju, dan dari 200 yang membeli baju tersebut, sebanyak
50 orang membeli celana. Jadi, aturan asosiasi dapat
berbentuk:
“JIKA membeli baju, MAKA membeli celana”
dengan support 50/1000 = 5% dan confidence 50/200 =
25%.
Aturan tersebut memiliki arti “25% dari transaksi di
database yang memuat item baju juga memuat item celana
dan 5% dari seluruh transaksi yang ada di database
memuat kedua item tersebut.” Analisis asosiasi merupakan
suatu proses untuk menemukan semua association rule
59
yang memenuhi syarat minimum untuk support (minimum
support) dan syarat minimum untuk confidence (minimum
confidence).
2.1.15.2
Interestingness Measures
Associaton
rule
menggunakan
dapat
interestingness
ditentukan
dengan
measure
(ukuran
ketertarikan) yang didapatkan dari hasil pengolahan data
dengan perhitungan tertentu. Beberapa ukuran tersebut
adalah:
1. Support
Support adalah nilai penunjang atau persentase
kombinasi sebuah item dalam database. Rumus
support:
Support(A→B) = P(A ∩ B)
2. Confidence
Confidence adalah nilai kepastian yaitu kuatnya
hubungan
antar-item
Confidence
bisa
dicari
dalam
association
setelah
pola
rule.
frekuensi
munculnya sebuah item ditemukan. Rumus untuk
menghitung confidence:
Confidence(A→B) =
= P(B|A)
=
= ( Support(A→B) / Support(A) ) × 100%
3. Lift (Interest)
Lift adalah nilai yang mengukur besarnya hubungan
antara antecedent dan consequent yang tidak saling
bergantung (independent). Lift memiliki range mulai
dari 0 sampai dengan ∞. Nilai yang mendekati 1
mengindikasikan bahwa antecedent dan consequent
60
tidak memiliki ketergantungan. Nilai yang jauh dari 1
mengindikasikan
informasi
bahwa
tentang
antecedent
consequent.
menyediakan
Rumus
untuk
menghitung lift:
Lift(A→B) = Lift(B→A)
=
=
=
= ( Support(A→B) / (Support(A) × Support(B)) ) × 100%
= ( Support(B→A) / (Support(B) × Support(A)) ) × 100%
4. Conviction
Conviction adalah nilai yang mengukur tingkat
implikasi
dari
suatu
aturan.
Conviction
sangat
memperhatikan arah dari suatu association rule.
Conviction mengindikasikan bahwa conviction(A→B)
≠
conviction(B→A).
Rumus
untuk
menghitung
conviction:
Conviction(A→B) =
=
= ( (Support(A) × Support(~B)) / Support(A→~B)
) × 100%
5. Leverage
Leverage adalah nilai yang mengukur banyaknya item
antecedent dan consequence yang dijual secara
bersamaan dalam suatu data set yang lebih dari yang
diharapkan. Nilai 0 menunjukkan antecedent dan
consequent independent. Leverage memiliki jangkauan
nilai dari -0,25 sampai dengan 0,25. Rumus untuk
menghitung leverage:
61
Leverage(A→B) =
= ( Support(A→B) – (Support(A) × Support(B))
) × 100%
Tabel 2.7 Interestingness Measures
Situasi
Support(A→B)
Independence
P(A)P(B)
Logical Rule
P(A)
Confidence(A→B) P(B)
1
Lift(A→B)
1
1/P(B)
Conviction(A→B)
1
∞
2.1.15.3
Metode Dasar Association Rule
Metode dasar association rule terbagi menjadi dua
tahap sebagai berikut:
1. Analisis pola frekuensi tinggi
Tahap ini digunakan untuk mencari kombinasi item
yang memenuhi syarat minimum dari nilai support
dalam database. Rumus untuk menghitung support:
Support(A→B) = P(A ∩ B)
2. Pembentukan aturan asosiatif
Setelah semua pola frekuensi tinggi ditemukan, aturan
asosiatif yang memenuhi syarat minimum untuk
confidence dapat dihitung. Rumus untuk menghitung
confidence:
Confidence(A→B) = P(B|A)
Contoh penerapan association rule dari suatu database
transaksi perbelanjaan sebagai berikut:
62
Tabel 2.8 Contoh Database Transaksi Perbelanjaan
Kode Transaksi
Item yang Dibeli
T1
Roti, Susu
T2
Jus, Popok, Telur
T3
Jus, Roti, Biskuit, Popok, Susu
T4
Jus, Roti, Popok, Susu
T5
Roti, Biskuit, Popok, Susu
Itemset adalah himpunan dari satu atau lebih item.
Contoh dari itemset adalah {Susu, Roti, Popok}. K-itemset
adalah itemset yang terdiri dari k items. Misalnya, {Susu,
Roti} merupakan 2-itemset dan {Susu, Roti, Popok}
merupakan 3-itemset. Frequent itemset adalah itemset yang
memiliki support lebih dari atau sama dengan minimum
support yang telah ditentukan (ϕ).
Tabel 2.9 1-Itemset
Item
Count
Roti
4
Biskuit
2
Susu
4
Jus
3
Popok
4
Telur
1
Misalnya, minimum support yang ditetapkan adalah
3/5 = 0.6. Calon 2-itemset dan 3-itemset yang mungkin
terjadi adalah:
63
Tabel 2.10 2-Itemset
Itemset
Count
{Roti, Susu}
4
{Roti, Jus}
2
{Roti, Popok}
3
{Susu, Jus}
2
{Susu, Popok}
3
{Jus, Popok}
3
Tabel 2.11 3-Itemset
Itemset
Count
{Roti, Susu, Popok}
3
Berdasarkan 2-itemset dan 3-itemset tersebut, nilai
support dan confidence dari association rule dapat
dihitung seperti pada tabel berikut.
Tabel 2.12 Association Rule dari 2-Itemset
Jika
Antecedent
Maka
Consequent
Jika membeli
roti, maka
membeli susu
Jika membeli
susu, maka
membeli roti
Jika membeli
roti, maka
membeli jus
Support
Confidence
64
Jika
Antecedent
Maka
Consequent
Jika membeli
jus, maka
membeli roti
Jika membeli
roti, maka
membeli
popok
Jika membeli
popok, maka
membeli roti
Jika membeli
susu, maka
membeli jus
Jika membeli
jus, maka
membeli susu
Jika membeli
susu, maka
membeli
popok
Jika membeli
popok, maka
membeli susu
Jika membeli
jus, maka
membeli
popok
Support
Confidence
65
Jika
Support
Confidence
Antecedent
Maka
Consequent
Jika membeli
popok, maka
membeli jus
Tabel 2.13 Association Rule dari 3-Itemset
Jika
Support
Confidence
Antecedent
Maka
Consequent
Jika membeli
roti, maka
membeli susu
Jika membeli
roti dan susu,
maka membeli
popok
Jika membeli
susu dan popok,
maka membeli
roti
Jika minimum confidence yang ditetapkan adalah
80%, maka aturan yang dapat terbentuk:
“Jika membeli roti, maka membeli susu”
“Jika membeli susu dan popok, maka membeli roti”
2.1.16
Algoritma Apriori
Algoritma apriori adalah salah satu jenis aturan asosiasi dalam
data mining. Menurut Han dan Kamber (2006:234), algoritma apriori
66
adalah suatu algoritma yang digunakan untuk mining frequent itemset
menggunakan aturan asosiasi boolean. Barik
et al. (2010:52)
mengatakan bahwa Rakesh Agrawal dan Ramakrishnan Srikant dari
IBM Almaden Research Center pada tahun 1993 mengembangkan
suatu algoritma penghasil association rules, yang disebut Apriori.
Apriori property adalah semua subset yang tidak kosong dari
sebuah frequent itemset juga harus menjadi frequent (Han dan
Kamber, 2006:235). Jika sebuah itemset I tidak memenuhi minimum
support threshold (min_sup), maka itemset I tidak frequent. Jika
sebuah item A ditambahkan pada itemset I tersebut dan hasil dari
itemset itu tidak lebih frequent dari itemset I, maka
juga tidak
frequent.
Algoritma Apriori terdiri dari dua langkah sebagai berikut:
1. Menemukan semua frequent itemsets (large itemsets)
Subset dari frequent itemset juga harus menjadi frequent itemset.
Jika {A, B} adalah frequent itemset, maka {A} dan {B} harus
menjadi frequent itemset. Selain itu, frequent itemsets harus
ditemukan secara berulang dari 1 sampai k (k-itemset).
2. Menggunakan frequent itemsets untuk menghasilkan association
rules
Gambar 2.24 Metode Algoritma Apriori
(Sumber: Introduction to Data Mining – Tan et al., 2006)
67
Pada gambar 2.24, Ck adalah kumpulan kandidat dari k-itemset
dan Fk adalah kumpulan dari frequent k-itemset. Metode algoritma
Apriori dapat dijelaskan sebagai berikut:
1. Langkah 1 dan 2 merupakan inisialisasi awal dari k dan Fk untuk
menemukan semua frequent 1-itemsets.
2. Langkah selanjutnya adalah menghasilkan kandidat baru kitemsets dengan perulangan menggunakan frequent (k-1)-itemsets
yang didapatkan pada iterasi langkah 5. Kandidat tersebut
dihasilkan dengan menggunakan fungsi apriori-gen.
3. Langkah 6 sampai dengan langkah 10 digunakan untuk
menghitung support dari kandidat. Fungsi subset digunakan untuk
menentukan semua kandidat itemset dalam Ck yang ada dalam
setiap transaksi t.
4. Pada langkah 12, algoritma melakukan eliminasi terhadap semua
kandidat itemset yang memiliki support lebih kecil dari minimum
support (minsup).
5. Pada langkah 13, algoritma akan berakhir jika tidak ada frequent
itemsets baru yang dihasilkan (Fk= ).
Fungsi apriori-gen menghasilkan kandidat itemsets deengan
melakukan dua operasi berikut:
1. Candidate Generation
Operasi ini menghasilkan kandidat k-itemset berdasarkan frequent
(k-1)-itemsets pada iterasi sebelumnya.
2. Candidate Pruning
Operasi ini melakukan eliminasi beberapa kandidat k-itemsets
menggunakan strategi support-based pruning.
2.1.17
Frequent Pattern Growth Algorithm
Menurut
Vivekananth
(2012:79),
salah
satu
algoritma
association rule mining yang sangat berpengaruh adalah Apriori.
Pengembangan Apriori telah banyak dilakukan dan FP-Growth
merupakan salah satunya. FP-Growth dianggap sebagai suatu
kemajuan besar dalam perbaikan kinerja dari Apriori. Algoritma ini
dibuat dengan struktur data yang dikenal sebagai frequent pattern tree
68
atau FP-Tree. Barik et al. (2010:52) mengatakan bahwa algoritma ini
pertama kali diperkenalkan oleh Jiawei Han, Jian Pei, dan Yiwen Yin
pada tahun 2000.
Menurut Han dan Kamber (2006:243), frequent patttern growth
algorithm atau yang biasa disebut dengan FP-Growth Algorithm
adalah suatu algoritma yang memperkecil ukuran data set yang
merepresentasikan frequent item ke dalam frequent pattern tree (FPTree).
2.1.17.1
Representasi Frequent Pattern Tree
Menurut Tan et al. (2006:363), frequent pattern tree
adalah representasi dari database yang telah diperkecil
ukurannya. FP-Tree dibangun dengan membaca kumpulan
data satu transaksi pada satu waktu dan memetakan setiap
transaksi ke path yang terdapat pada FP-Tree. Root node
dari FP-Tree direpresentasikan dengan simbol null.
Gambar 2.25 Konstruksi dari Sebuah FP-Tree
(Sumber: Introduction to Data Mining – Tan et al.,
2006)
69
Gambar 2.25 menunjukkan struktur dari FP-Tree
setelah membaca tiga transaksi pertama dan sebuah data
set yang berisi sepuluh transaksi dan lima item. Langkahlangkah untuk membangun FP-Tree sebagai berikut.
1. Data set dianalisis untuk menentukan support count
dari setiap item. Infrequent item dibuang, sebaliknya
frequent item diurutkan secara decreasing berdasarkan
support count. Pada gambar 2.25, urutannya adalah a,
b, c, d, dan e.
2. Setelah membaca transaksi pertama, {a, b}, node a dan
b dibuat. Path dibuat dari null → a → b untuk
melakukan encode transaksi. Setiap node yang
melewati path ini mempunyai perhitungan frekuensi
sebanyak satu.
3. Setelah membaca transaksi kedua, {b, c, d}, node b,
c, dan d dibuat. Path dibuat dari null→b→c→d untuk
melakukan encode transaksi. Setiap node yang
melewati path ini mempunyai perhitungan frekuensi
sebanyak satu. Walaupun node b terdapat pada
transaksi pertama dan transaksi kedua, path-nya tidak
tergabung karena tidak memiliki prefix yang mirip.
4. Transaksi ketiga, {a, c, d, e}, memiliki prefix yang
mirip dengan transaksi pertama. Oleh karena itu, path
untuk transaksi ketiga, null→a→c→d→e, tumpang
tindih dengan path transaksi pertama. Perhitungan
frekuensi pada node a menjadi dua, sedangkan
perhitungan frekuensi node c, d, dan e adalah satu.
5. Proses ini dilanjutkan sampai semua transaksi dimapping ke dalam path.
2.1.17.2
Frequent Itemset
Menurut Tan et al. (2006: 366), frequent itemset
adalah hasil yang didapat dari algoritma FP-Growth
dengan memeriksa FP-Tree menggunakan bottom-up.
70
Pendekatan yang digunakan algoritma FP-Growth untuk
membantu menemukan frequent itemset adalah divide and
conquer
approach.
Divide
and
conquer
approach
membagi subproblem menjadi subproblem yang lebih
kecil.
Gambar 2.26 Algoritma FP-Growth untuk Mencari
Frequent Itemset
(Sumber: Data Mining: Concept and Technique – Han
dan Kamber, 2006)
Gambar 2.27 Contoh Pencarian Frequent Itemset
Menggunakan Algoritma FP-Growth
(Sumber: Introduction to Data Mining – Tan et al.,
2006)
71
Sebagai contoh, frequent itemset berakhir pada node
e. Langkah-langkah untuk mencari frequent itemset adalah
sebagai berikut:
1. Langkah pertama adalah mengumpulkan prefix path.
Prefix path adalah path yang mengandung node akhir.
Kumpulkan path yang mengandung node e. Prefix path
ditunjukkan pada gambar 2.27(a).
2. Support count untuk node e didapatkan dengan
menambahkan support count yang memiliki hubungan
dengan node e. Asumsikan support count minimum
adalah dua, maka node e adalah frequent itemset
karena memiliki support count sebanyak tiga.
3. Subproblem dari pencarian frequent itemset berakhir
dalam de, ce, be, dan ae karena node e adalah frequent.
Ubah prefix path menjadi conditional FP-Tree.
Langkah-langkah untuk mendapatkan conditional FPTree adalah:
1) Support count dan prefix path harus diubah karena
beberapa support count memiliki transaksi yang
tidak mengandung node e. Perhatikan gambar
2.27(a), path paling kanan null→b:2→c:2→e:1,
mengandung transaksi {b, c}, yang tidak memiliki
node e. Support count diubah menjadi satu untuk
memberikan jumlah yang tepat dari transaksi yang
mengandung {b, c, e}.
2) Lakukan
truncate
pada
prefix
path
dengan
menghilangkan node e.
3) Setelah melakukan perubahan pada support count
dan prefix path, beberapa node tidak lagi menjadi
frequent item. Sebagai contoh, node b hanya
muncul
sekali
dan
memiliki
support
count
berjumlah satu. Node b tidak perlu dihiraukan
dalam analisa subsequent karena semua itemset
yang berakhir harus infrequent.
72
4) Untuk menemukan frequent itemset yang berakhir
di de, kumpulkan prefix path untuk d dari
conditional tree untuk e (Gambar 2.27(c)). Support
count untuk de didapatkan dengan menambahkan
perhitungan frekuensi yang berhubungan dengan
node d. Support count untuk de adalah dua, maka
{d,e} adalah frequent itemset. Conditional FP-Tree
untuk de terdapat pada gambar 2.27(d). Karena
conditional FP-Tree hanya mengandung a, yang
support-nya
sama
dengan
minsup,
algoritma
mengekstrak frequent itemset {a, d, e}. Setelah itu,
algoritma akan mencari frequent itemset yang
berakhir di ce. Setelah melakukan pemprosesan
pada prefix path untuk c, hanya {c, e} yang
ditemukan
frequent.
melanjutkan
ke
Kemudian
subprogram
algoritma
berikutnya
dan
menemukan {a, e} adalah frequent itemset yang
tersisa.
2.1.18
Tanimoto Coefficient Similarity
Menurut Owen et al. (2012:54), Tanimoto coefficient adalah
perbandingan ukuran antara intersection dua barang yang disukai
pengguna dengan union kedua barang tersebut. Tanimoto coefficient
similarity ini memiliki beberapa nama lain, seperti Jaccard coeffient
similarity, Jaccard binary similarity measure, Jaccard-Tanimoto
coeffient similarity, Jaccard-Tanimoto binary similarity measure, dan
lain-lain. Tanimoto coefficient similarity memiliki nilai satu jika
kedua barang memiliki kesamaan sepenuhnya dan nol jika tidak ada
kesamaan antara kedua barang tersebut. Rumus yang digunakan
adalah sebagai berikut:
T(a, b) =
Pada rumus tersebut, N merupakan jumlah atribut dari setiap
objek, yaitu a dan b. C merupakan intersection set. Tanimoto
73
coefficient yang bernilai 0,5 sudah menunjukkan kesamaan yang
signifikan, misalnya antara dua pembeli. Nilai 0,5 itu menunjukkan
bahwa dari semua item yang dibeli oleh salah satu dari mereka, salah
satunya membeli setengah dari semua item tersebut.
2.1.19
Distributed Item-Based Algorithm
Menurut Owen et al. (2012:95), pendekatan terdistribusi sangat
dibutuhkan untuk menghasilkan sistem rekomendasi. Algoritma
tersebut diimplementasikan dengan menggunakan operasi matriks.
Matriks yang digunakan adalah similarity matrix. Matriks ini juga
merupakan matriks item-item (square matrix). Dalam square matrix,
jumlah baris dan kolom sama dengan jumlah item dalam model data.
Setiap baris dan kolom menunjukkan kesamaan antara item tertentu
dan item lainnya. Matriks ini merupakan matriks yang simetris karena
kesamaan antara item A dan B sama dengan kesamaan antara item B
dan A.
Tabel 2.14 Similarity Matrix untuk Item dalam Suatu Contoh Data Set
Kode
A01
A02
A03
A04
A05
A01
1
0,5
0,2
0
0,75
A02
0,5
1
0,6
0,9
0,4
A03
0,2
0.6
1
0,42
0
A04
0
0,9
0,42
1
0,5
A05
0,75
0,4
0
0,5
1
Item
Similarity matrix pada tabel 2.14 merupakan contoh matriks
simetris yang menggunakan lima item yang bisa dihitung dengan
similarity measure, seperti Tanimoto coefficient similarity. Setelah
74
similarity matrix terbentuk, langkah selanjutnya adalah menghasilkan
perkalian matriks untuk menghasilkan rekomendasi. Similarity matrix
tersebut dikalikan dengan vektor dari preferensi pengguna. Nilai
dalam vektor merupakan nilai preferensi pengguna terhadap item
dalam suatu data set. Jika pengguna tidak memiliki preferensi
terhadap suatu item, maka nilai di dalam vektor adalah 0. Sebagai
contoh, vektor dari preferensi pengguna adalah [0, 1, 0, 0, 1].
Perkalian similarity matrix dengan vektor dari preferensi pengguna
(U) untuk menghasilkan vektor rekomendasi (R) diperlihatkan pada
tabel berikut.
Tabel 2.15 Perkalian Similarity Matrix dengan Vektor Preferensi
Pengguna (U) untuk Menghasilkan Vektor Rekomendasi (R)
Kode
A01
A02
A03
A04
A05
U
R
A01
1
0,5
0,2
0
0,75
0
1,25
A02
0,5
1
0,6
0,9
0,4
1
1,4
A03
0,2
0,6
1
0,42
0
A04
0
0,9
0,42
1
0,5
0
1,4
A05
0,75
0,4
0
0,5
1
1
1,4
Item
×
0
=
0,6
Hasil dari perkalian similarity matrix dengan vektor didapatkan
dengan cara menjumlahkan hasil perkalian nilai setiap baris item
dengan nilai vektor. Sebagai contoh, perkalian item A02 dengan
vektor U dapat ditunjukkan sebagai berikut.
(0,5×0) + (1×1) + (0,6×0) + (0,9×0) + (0,4×1) = 1,4
Pada tabel 2.15, nilai pada baris (R) yang berhubungan dengan
item A02 dan A05 dapat diabaikan (ditandai dengan warna merah)
karena pengguna sudah memberikan preferensi untuk item tersebut
75
sehingga item yang tersisa adalah A01, A03 dan A04. Berdasarkan
hasil perkalian tersebut, item yang menjadi rekomendasi adalah A04
karena memiliki nilai yang lebih tinggi dari item A01 (dengan nilai
1,25) dan A03 (dengan nilai 0,6), yaitu 1,4.
2.1.20
Precision dan Recall
Menurut Mehta et al. (2011:237), pengukuran kualitas sistem
rekomendasi dapat dilakukan dengan memperoleh dua informasi,
yakni precision dan recall. Precision adalah ukuran ketepatan yang
menentukan kumpulan item yang relevan dari semua item yang
ditampilkan. Recall adalah ukuran kelengkapan yang menentukan
kumpulan item yang relevan yang ditampilkan dari semua item yang
seharusnya relevan.
Tabel 2.16 Keterangan Formula Precision dan Recall
Direkomendasikan
Tidak
Direkomendasikan
Seharusnya
Seharusnya Tidak
Direkomendasikan
Direkomendasikan
tp (true positive)
fp (false positive)
fn (false negative)
tn (true negative)
Setelah itu, F1 score yang merupakan harmonic mean dari
precision dan recall dapat dihitung dengan:
76
2.2
Teori Khusus
Berikut merupakan teori-teori khusus yang digunakan dalam penulisan
skripsi:
2.2.1
Hypertext Preprocessor (PHP)
Menurut Valade (2004:15), PHP adalah bahasa scripting yang
dirancang khusus untuk membuat halaman web yang dinamis. PHP
merupakan singkatan dari PHP: HyperText Preprocessor. PHP
memiliki kemampuan untuk berinteraksi dengan database, seperti
menghubungkan ke database, melewatkan instruksi ke database, dan
mengembalikan respon database.
Keunggulan dari PHP menurut Valade (2004:16):
1. Cepat
PHP memiliki respon yang cepat karena tertanam pada kode
HTML.
2. Murah dan gratis
PHP merupakan open source sehingga dapat diperoleh secara
gratis.
3. Mudah digunakan
PHP memiliki banyak fitur dan fungsi untuk membuat halaman
web yang dinamis.
4. Dapat berjalan pada banyak sistem operasi
PHP dapat berjalan pada banyak sistem operasi, seperti Windows,
Linux, Mac OS, dan Unix.
5. Dukungan teknis tersedia secara luas
Dukungan teknis dari pengguna melalui e-mail.
6. Aman
Pengguna tidak dapat melihat kode PHP sehingga PHP aman
untuk digunakan.
7. Dirancang untuk mendukung database
PHP memiliki kemampuan untuk berinteraksi dengan database
sehingga pengguna tidak perlu mengetahui teknis-teknis rinci
untuk terhubung ke database.
77
8. Dapat disesuaikan
PHP memiliki lisensi open source sehingga programmer dapat
melakukan perubahan atau penambahan fitur pada software PHP
sesuai kebutuhan.
2.2.2
Cascading Style Sheet (CSS)
Menurut Castro (2007:14), Cascading Style Sheets adalah sistem
yang dibuat untuk instruksi formatting untuk penyediaan tata letak,
efek, dan pengaturan lain pada halaman web. CSS dapat digunakan
untuk membuat tampilan tata letak agar terlihat lebih profesional.
2.2.3
MySQL
Menurut DuBois (2008:1), MySQL adalah suatu relational
database management system (RDBMS) client/server yang bersifat
open-source berasal dari Skandinavia. Menurut Nugroho (2004:29),
MySQL juga merupakan program pengakses database yang bersifat
jaringan, sehingga dapat digunakan pada aplikasi multiusers (banyak
pengguna). MySQL menggunakan bahasa query standar yang dimiliki
SQL (Structured Query Language).
MySQL dikenal sebagai RDMS yang cepat dan sederhana,
namun, pada awalnya, banyak pihak yang menilai rendah MySQL
karena kekurangan fiturnya pada dukungan akan foreign key. MySQL
pun dikembangkan lebih lanjut, sehingga tidak hanya menambahkan
fitur tersebut, namun kemampuan tambahan lain seperti replication,
subquery, stored procedure, view, dan trigger. Hal ini menjadikan
MySQL makin dipercaya sebagai pilihan RDMS untuk merancang
database. MySQL dapat berjalan pada berbagai sistem operasi, seperti
Mac OS X, HP-UX, dan Windows, dan pada berbagai hardware.
(DuBois, 2008:1).
2.2.4
SQL Server
Menurut Nielsen et al. (2009:3), SQL Server adalah sebuah
software produk Microsoft yang mendukung client-server relational
database (RDBMS) dengan Transact-SQL (T-SQL) sebagai bahasa
78
pemrograman utama. SQL Server digunakan sebagai database server
untuk mengatur semua proses penyimpanan data dan transaksi suatu
aplikasi. Berikut ini beberapa komponen dalam SQL Server (Nielsen
et al., 2009:3).
1. SQL Server mendukung hubungan data dan teknologi untuk
import dan export, seperti Tabular Data Stream (TDS), XML,
Integration Services, bulk copy, SQL Native Connectivity, OLE
DB, dan ODBC.
2. SQL Server mendukung data XML, spasial, kata tanpa teks, dan
blob.
3. SQL Server memiliki berbagai komponen OLAP/BI dan alat yang
bekerja dengan data multidimensi, analisis, cube, dan mining.
4. SQL Server mendukung dalam pembuatan laporan.
5. SQL Server mencakup komponen Performance Studio, SQL
Trace/Profiler, dan Database Management Views and Functions.
6. SQL
Server
dapat
dikelolah
menggunakan
Policy-Based
Management.
7. SQL Server Management Studio merupakan UI untuk database
developer dan DBA.
8. SQL Server tersedia dalam edisi 32-bit dan 64-bit.
2.2.5
Weka
Menurut Witten et al. (2011:403), Weka adalah aplikasi berbasis
Java yang bersifat open source untuk data mining. Waikato
Environment for Knowledge Analysis (Weka) dikembangkan pertama
kali di Universitas Waikato New Zealand. Weka dapat berjalan pada
banyak platform dan sudah diuji pada sistem operasi Linux, Windows,
dan Macintosh. Weka menyediakan implementasi dari algoritma yang
dapat diterapkan pada suatu dataset, termasuk berbagai tool untuk
mengubah dataset tersebut. Weka juga menyediakan metode untuk
pre- dan postprocess dataset dan melakukan evaluasi terhadap hasil
learning scheme dari suatu dataset.
79
2.3
Penelitian Sejenis
Beberapa penelitian dengan fokus pada pengembangan e-commerce
telah dilakukan sesuai dengan beragamnya kebutuhan dan karakteristik dari
e-commerce yang sedang berkembang. Velpula et al. (2010:27-29)
menjelaskan bahwa e-commerce telah berkembang secara pesat dan menjadi
salah satu bisnis yang sangat siginifikan dan mengadakan penelitian berfokus
pada bidang tersebut. Penelitiannya mencoba meneliti perilaku pembelian
pelanggan dengan melakukan analisis web log untuk mengklasifikan
pelanggan berdasarkan perilaku pembelian mereka. Tujuan dari penelitian itu
adalah untuk mengklasifikan profil pelanggan dan perilaku mereka, seperti
pelanggan pria berusia 21 sampai 31 sering membeli produk komputer dan
buku. Karena penelitian berdasarkan web log, penelitian ini tidak bisa
berjalan pada bisnis yang belum memiliki website tersendiri.
Dakhel dan Mahdavi (2013:525-527) merancang sistem rekomendasi
dengan penggunaan algoritma user-based collaborative filtering agar sistem
rekomendasi lebih terpersonalisasi. Penelitian itu menggunakan data set
rating setiap pengguna untuk semua item yang ada. Hal ini menyebabkan
pendekatan pemecahan masalah tidak bisa diimplementasikan untuk sistem
yang tidak memiliki data rating dari setiap pengguna. Selain itu, penggunaan
user-based collaborative filtering menyebabkan pengguna yang baru menjadi
pengguna tidak akan mendapatkan rekomendasi item karena sistem belum
dapat menganalisis aktivitas pengguna tersebut untuk dibandingkan dengan
pengguna yang lain sebelum sistem dapat menyajikan rekomendasi item.
Menurut Laurraine dan Shanmugasundaram (2013:55), pendekatan lain
selain user-based collaborative filtering adalah item-item collaborative
filtering. Algoritma ini memetakan kesamaan antara item dengan rating yang
telah diberikan pada item tersebut dan memprediksi rating yang akan
diberikan pengguna terhadap produk yang dilihat berdasarkan rating-rating
yang pengguna telah berikan pada item lain. Pendekatan ini tidak sesuai
untuk diimplementasikan pada sistem yang belum memiliki rating untuk item
yang ada.
Market
basket
analysis
adalah
salah
satu
pendekatan
untuk
menganalisis asosiasi dari item yang ada dengan item yang lain. Apabila hasil
analisis asosiasi memenuhi syarat yang diinginkan, maka item yang sesuai
80
dapat direkomendasikan. Beberapa penelitian telah dilakukan berfokus pada
meneliti algoritma market basket analysis yang ada dan membandingkan
algoritma yang ada berdasarkan kecepatan dalam mendapatkan hasil dan
efisiensi pengolahan data. Tushar et al. (2013:6-9) membandingkan beberapa
algoritma dan menjelaskan perbedaan antara masing-masing algoritma. Hasil
penelitian menunjukkan algoritma FP-Growth lebih unggul dari Apriori
karena memiliki kecepatan eksekusi yang lebih baik.
Mishra dan Choubey (2012:4664) membandingkan FP-Growth dan
Apriori dengan data set web log. Parameter pembanding pada penelitian ini
adalah mininum support yang digunakan. Hasil penelitian ini juga
menyatakan FP-Growth lebih baik dari Apriori.
Vanitha dan Santhi (2011:102-103) menggunakan Weka 3.6.1 dengan
data set supermarket untuk membandingkan kinerja Apriori dan FP-Growth
dengan variasi minimum confidence dan jumlah instance. Hasil yang
diperoleh menyatakan FP-Growth sebagai algoritma yang lebih baik dari
Apriori.
Download