bab 2 landasan teori - FTP Directory Listing

advertisement
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Pengertian Data
Data merupakan aliran fakta yang mewakili kejadian yang terjadi dalam
organisasi atau dalam lingkungan fisik sebelum mereka diatur menjadi sebuah
bentuk yang dapat dimengerti dan digunakan oleh pengguna (Laudon, 1998, p7).
Sehingga dapat disimpulkan bahwa data adalah fakta yang telah terjadi, memiliki
arti, dapat disimpan serta dapat diatur sedemikian rupa sehingga dapat digunakan
dalam berbagai tujuan.
Secara tradisional, data diorganisasikan ke dalam suatu hirarki yang terdiri
atas elemen data ( field ), rekaman ( record ), dan berkas ( file ). Berikut ini
penjelasan mengenai elemen data ( field ), rekaman ( record ), dan berkas ( file ),
yaitu :
1. Elemen data ( field )
Field merupakan penggabungan dari karakter yang menunjukkan
sifat dari seseorang, tempat, benda, atau kejadian. Istilah lain untuk
elemen data adalah field, kolom, item, dan atribut. Sebagai contoh, field
nama pekerja.
2. Rekaman ( record )
Record adalah gabungan sejumlah elemen data ( fields ) yang saling
berhubungan. Dalam sistem basis data relasional, rekaman biasa disebut
9
10
dengan istilah tuple atau baris. Sebagai contoh, pada record pekerja yang
akan dibayar dapat berisi field nama, dan field gaji.
3. Berkas ( file )
File merupakan koleksi dari dokumen - dokumen ( records ) data
yang saling berhubungan dengan suatu objek. Dalam sistem basis data
relasional, berkas mewakili komponen yang disebut tabel atau relasi.
Sebagai contoh, sistem pembayaran dapat berisi records pembayaran dari
semua pekerja di suatu perusahaan.
2.1.2 Pengertian Database ( Basis Data )
Basis data dan teknologi dalam basis data mengalami perkembangan yang
besar seiring dengan berkembangnya penggunaan komputer. Database ( basis data
) dapat diartikan sebagai suatu kumpulan informasi yang disimpan di dalam
komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak
yang digunakan untuk mengelola dan memanggil kueri ( query ) basis data disebut
sistem manajemen basis data ( Database Management System, DBMS ).
Menurut Connolly, basis data dapat diartikan sebagai suatu kumpulan data
yang secara logika saling terkait, dan terdapat uraian mengenai data tersebut,
dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (2002, p14).
Sedangkan C.J. Date (2000, p5) adalah suatu sistem yang pada dasarnya
menyimpan beberapa record di dalam suatu sistem yang dilakukan secara
komputerisasi yang bertujuan untuk memelihara informasi dan untuk membuat
informasi tersebut berdasarkan permintaan. Basis data merupakan suatu objek yang
11
kompleks untuk menyimpan informasi terstruktur, yang diorganisir dan disimpan
dengan aturan - aturan tertentu sehingga pemakai dapat mengambil informasi
tersebut dengan cepat dan efisien.
Di dalam sistem basis data, data disimpan dalam bentuk tabel - tabel yang
saling berhubungan satu dengan lainnya berdasarkan nilai dari dua kolom yang
sama pada kedua tabel tersebut. Keterkaitan seperti ini adalah inti dari basis data
relasional. Dalam basis data relasional data dipecah dalam banyak tabel namun
dengan adanya relasi antar tabel tersebut memungkinkan baris - baris pada banyak
tabel disatukan dan ditampilkan kembali sebagai suatu bentuk informasi bagi
pengguna basis data tersebut.
2.1.3 Pengertian Sistem Basis Data
Menurut Date (2000, p5), sistem basis data pada dasarnya adalah sistem
penyimpanan record yang terkomputerisasi di mana tujuan sebenarnya untuk
menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat
yang dibutuhkan. Keseluruhan sistem terkomputerisasi itu membolehkan pengguna
menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
Menurut Fathansyah (1999, p3), di dalam suatu disk, basis data dapat
diciptakan, dapat ditiadakan, dan dapat menempatkan beberapa basis data. Adapun
operasi-operasi dasar yang dapat dilakukan berkenaan dengan basis data dapat
meliputi :
1. create database : pembuatan basis data.
2. drop database ( penghapusan ) : penghapusan basis data.
12
3. create table : membuat tabel dengan mengidentifikasikan tipe data
untuk tiap kolom.
4. drop table : untuk membuang atau menghapus tabel beserta semua data
yang terkait di dalamnya.
5. insert : menyisipkan satu baris record ke dalam basis data.
6. retrieve atau search : pencarian data dari sebuah tabel.
7. update : mengubah satu baris record dalam basis data.
8. delete : menghapus satu baris record dalam basis data.
Menurut Fathansyah (1999, p5), pemanfaatan basis data dapat dilakukan
untuk memenuhi sejumlah tujuan (objektif) seperti :
1. Kecepatan dan kemudahan ( Speed ).
2. Efisiensi ruang penyimpanan ( Space ).
3. Keakuratan ( Accurancy ).
4. Ketersediaan ( Availibility ).
5. Kelengkapan ( Completeness ).
6. Keamanan ( Security ).
7. Kebersamaan pemakai ( Sharability ).
2.1.4 Database Management System ( DBMS )
Database Management System ( DBMS ) adalah suatu sistem perangkat
lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke
basis data (Connolly, 2002, p16). Pada intinya DBMS memiliki dua bagian utama,
yakni DDL dan DML. Menurut Connolly (2002, p40) Data Definition Language (
13
DDL ) adalah suatu bahasa yang memperbolehkan database administrator ( DBA )
atau user untuk mendeskripsikan nama dari suatu entitas, atribut, dan relasi data
yang diminta oleh aplikasi bersamaan dengan integritas data dan keamanan
datanya. Sedangkan untuk memanipulasi data yang tersimpan di dalam basis data
menggunakan Data Manipulation Language ( DML ). Definisi dari DML menurut
Connolly (2002, p41) adalah suatu bahasa yang memberikan fasilitas
pengoperasian data yang ada dalam basis data. Pengoperasian data yang akan di
manipulasi biasanya meliputi :
1. Penambahan data baru ke dalam basis data.
2. Modifikasi data yang disimpan dalam basis data.
3. Pengambilan data yang terdapat dalam basis data.
4. Penghapusan data dari basis data.
Sampai saat ini vendor DBMS masih saling bersaing untuk meraih pasar
terbaik dengan cara memperbanyak fitur dalam memproses basis data. Informasi
sangat penting bagi suatu perusahaan atau organisasi, sehingga sebuah DBMS
dituntut untuk memperkuat sistem keamanannya. Saat ini, banyak DBMS yang
dilengkapi otentifikasi user sebelum bisa mengakses basis data. Fitur ini berguna
untuk mencegah user yang tidak berkepentingan mengakses basis data.
2.2 Teori – teori khusus
2.2.1 Database Application Lifecycle ( DBLC )
Untuk merancang aplikasi sistem basis data diperlukan tahapan - tahapan
terstruktur yang harus diikuti yang dinamakan dengan Siklus Hidup Aplikasi Basis
Data ( Database Application Lifecycle ) atau disingkat dengan DBLC. Perlu diingat
14
bahwa tahapan dalam DBLC tidak harus berurutan, namun juga melibatkan
beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback
loops). Tahapan - tahapan tersebut terlihat pada gambar 2.1.
Database Planning
System Definition
Requirements Collection
and Analysis
Database
Design
Conceptual
Database Design
DBMS Selection
(optional)
Logical Database
Design
Application Design
Physical
Database Design
Prototyping (optional)
Implementation
Data Conversion and
Loading
Testing
Operational
Maintenance
Gambar 2.1 Database Application Lifecycle
Sumber : Connolly dan Begg (2002, p272)
15
2.2.2 Database Planning
Database planning (perencanaan basis data) adalah aktivitas manajemen
yang memungkinkan tingkatan aplikasi database untuk direalisasikan seefisien
dan seefektif mungkin. Database planning dilakukan dengan mengidentifikasi
database apa yang hendak dibuat atau diperlukan oleh user. Misalnya,
perusahaan membutuhkan sebuah aplikasi database karyawan atau staff, maka
database yang harus dibuat adalah database yang berkaitan dengan storing
identitas karyawan suatu perusahaan.
Pada PT CENTRAL SOLE AGENCY, aplikasi data warehouse yang
dibuat, membutuhkan database untuk informasi data-data dasar seperti produk,
pemasok, dan pelanggan.
2.2.3 Definisi Sistem
Definisi sistem adalah suatu proses mendeskripsikan ruang lingkup dan
batasan dari aplikasi database dan sudut pandang user secara umum. Sebelum
merancang sebuah aplikasi database, harus diidentifikasikan terlebih dahulu
batasan-batasan dari sistem yang akan dibuat dan bagaimana sistem tersebut
berinteraksi dengan sistem informasi lain dari organisasi. Identifikasinya
meliputi investigasi jalannya proses bisnis dan sudut pandang pengguna aplikasi.
Definisi sistem yang ada pada skripsi ini mencakup aplikasi data
warehouse pembelian, penjualan, retur penjualan, retur pembelian, hutang dan
piutang untuk keperluan analisis serta laporan tingkat manajer pada PT
CENTRAL SOLE AGENCY.
16
2.2.4 Pengumpulan Kebutuhan dan Analisis
Dalam tahap ini dilakukan proses pengumpulan dan analisa informasi
tentang bagian organisasi yang akan didukung oleh aplikasi basis data, dan
menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna terhadap
sistem yang baru (Connolly, 2002, p276).
Suatu proses resmi dalam menggunakan teknik - teknik seperti wawancara
atau kuesioner untuk mengumpulkan fakta - fakta tentang sistem dan kebutuhankebutuhannya dinamakan dengan teknik fact-finding (Connolly, 2002, p302). Ada
lima kegiatan yang dipakai dalam teknik ini, yaitu :
1. Memeriksa dokumentasi
Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan
memeriksa dokumen - dokumen, formulir, laporan, dan berkas yang terkait
dengan sistem yang sedang berjalan pada perusahaan. Dengan pemeriksaan
ini diharapkan dapat mengetahui data - data apa saja yang akan disimpan di
dalam basis data.
2. Wawancara
Wawancara bertujuan untuk mengumpulkan fakta - fakta, memeriksa
kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan semangat,
melibatkan pengguna akhir, mengidentifikasi kebutuhan - kebutuhan, dan
mengumpulkan ide - ide dan pendapat (Connolly, 2002, p306). Teknik ini
memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna
yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang
berbeda - beda.
17
Keuntungan menggunakan teknik ini menurut Thomas Connolly (2002,
p306), antara lain :
a. Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan
dengan bebas dan terbuka.
b. Memungkinkan orang yang diwawancara merasa bahwa ia merupakan
bagian dari proyek.
c. Memungkinkan pewawancara untuk menindaklanjuti komentar komentar menarik yang dibuat oleh orang yang diwawancara.
d. Memungkinkan pewawancara untuk mengubah atau menyusun kembali
pertanyaan selama kegiatan wawancara.
e. Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang
diwawancara.
Kerugian teknik ini menurut Thomas Connolly (2002, p306), yaitu:
a. Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis.
b. Keberhasilannya tergantung pada kemampuan komunikasi pewawancara.
c. Keberhasilannya tergantung pada keinginan orang yang diwawancara
untuk ikut serta dalam wawancara.
3. Mengamati operasional perusahaan
Pengamatan ini memungkinkan untuk ikut serta atau mengamati
seseorang melakukan kegiatan untuk mempelajari sistem. Salah satu faktor
pengamatan dapat berhasil adalah dengan mencari informasi sebanyak
18
mungkin tentang aktivitas yang akan diamati serta orang yang melakukan
aktivitas tersebut.
Keuntungan menggunakan teknik ini, antara lain :
a. Validitas fakta dan data dapat diperiksa.
b. Pengamat dapat melihat dengan jelas apa yang dikerjakan.
c. Pengamat juga dapat memperoleh data yang menjelaskan lingkungan
fisik dari tugas yang diberikan.
d. Relatif murah.
e. Pengamat dapat membuat pengukuran kerja.
Kerugian teknik ini, yaitu:
a. Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis.
b. Dapat terlewat dalam mengamati tugas - tugas yang melibatkan tingkat
kesulitan yang lain.
c.
Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat
pengamatan.
4. Penelitian
Selain melakukan penelitian yang berasal dari dalam organisasi itu
sendiri, dapat juga dilakukan pengumpulan informasi yang berasal dari luar
organisasi tersebut. Beberapa contoh sumber informasi tersebut antara lain
jurnal komputer, buku - buku referensi, dan internet. Sumber informasi
tersebut juga dapat digunakan untuk memecahkan masalah serupa.
Keuntungan menggunakan teknik ini, antara lain :
19
a. Dapat menghemat waktu jika solusinya telah tersedia.
b. Peneliti dapat mengamati cara orang lain memecahkan masalah yang
sama atau menemui kebutuhan yang serupa.
c. Membuat para peneliti selalu up-to-date dengan perkembangan baru.
Kerugian teknik ini, yaitu :
a. Dapat menjadi sangat memakan waktu.
b. Membutuhkan akses ke sumber informasi yang tepat.
c. Dapat saja tidak membantu memecahkan masalah karena tidak
didokumentasikan.
5. Kuesioner
Teknik lain yang dapat digunakan untuk mengumpulkan informasi
yang dibutuhkan adalah dengan menggunakan kuesioner. Kuesioner adalah
suatu dokumen dengan tujuan khusus yang memungkinkan fakta - fakta
dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan
yang diberikan (Connolly, 2002, p308).
Keuntungan menggunakan teknik ini, antara lain :
a. Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang
sebaik - baiknya.
b. Tidak mahal untuk mengumpulkan data dari banyak orang.
c. Responden lebih mudah untuk memberikan jawaban yang benar karena
jawaban yang diberikan dapat dijaga kerahasiaannya.
d. Tanggapan dapat ditabulasikan dan dianalisa dengan cepat.
20
Kerugian teknik ini, yaitu:
a. Jumlah responden dapat saja rendah, sekitar 5% sampai 10%.
b. Kuesioner dapat saja dikembalikan dengan tidak lengkap.
c. Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah
diartikan.
d. Tidak dapat mengamati dan menganalisa bahasa tubuh responden.
e. Memakan waktu untuk menyiapkan kuesioner.
2.3 Teori Pendekatan Perancangan Basis Data ( Approaches to Database Design )
Teori pendekatan perancangan basis data yang digunakan pada skripsi ini
adalah menggunakan pendekatan Top-Down Approach. Pendekatan ini berguna
untuk mendesain basis data yang kompleks dengan atribut yang banyak, di mana
ditemukan kesulitan untuk membangun semua functional dependencies di antara
atribut – atribut yang ada.
Pendekatan ini dimulai dengan membangun contoh data ( data model )
yang mengandung sedikit entitas yang penting ( high-level entities ) dan kemudian
menerapkan perbaikan top-down untuk mengidentifikasi entitas yang lainnya (
lower-level entities ), hubungan antar entitas ( relationships ), dan atribut yang
berkaitan ( associated attributes ).
Top-Down Approach diilustrasikan menggunakan konsep dari model
hubungan entitas ( Entity Relationship ER model ), dimulai dengan
mengidentifikasikan entitas – entitas dan hubungan di antara entitas yang
merupakan fokus penting dari perusahaan.
21
2.4 Teori Metodologi Perancangan Basis Data
2.4.1 Perancangan Basis Data Konseptual ( Conceptual Database Design )
Perancangan Basis Data Konseptual adalah proses membangun suatu
model informasi yang digunakan oleh perusahaan atau organisasi yang tidak
tergantung dari pertimbangan fisik (Connolly, 2002, p419).
Langkah pertama : Membuat local conceptual data model untuk setiap
pandangan. Bertujuan untuk memecah rancangan menjadi tugas - tugas yang dapat
diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam
suatu organisasi (Connolly, 2002, p421).
Pada tahap membuat local conceptual data model, langkah - langkah yang
dilakukan adalah sebagai berikut :
a. Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama yang dibutuhkan.
Menentukan
entitas
dapat
dilakukan
dengan
memeriksa
user’s
requirements specification. Setelah terdefinisi, entitas diberikan nama
yang tepat dan jelas seperti Mahasiswa, Dosen, atau Mata_Kuliah.
b. Mengidentifikasi relationship types
Bertujuan untuk mengidentifikasi suatu relationship yang penting
yang ada antar entitas yang telah diidentifikasi. Nama dari suatu
relationship menggunakan kata kerja ( verb ) seperti mempelajari,
memiliki, mempunyai, dan lain - lain.
22
c. Mengidentifikasi dan menghubungkan attribute dengan entity atau
relationship types
Bertujuan untuk menghubungkan atribut dengan entitas atau
relationship yang tepat. Atribut yang dimiliki setiap entitas atau
relationship memiliki identitas atau karakteristik yang sesuai dengan
memperhatikan atribut berikut : simple/composite attribute, single-valued
attribute, dan derived attribute.
d. Menentukan attribute domain
Bertujuan untuk menentukan attribute domain pada conceptual
data model. Contohnya, yaitu, menentukan nilai attribute Jenis_Kelamin
pada entitas mahasiswa dengan ‘M’ atau ‘F’ atau nilai atribut SKS pada
entitas Mata_Kuliah dengan ‘1’,’2’,’3’, dan ‘4’.
e. Menentukan candidate key dan primary key attributes
Bertujuan untuk mengidentifikasi candidate key pada setiap
entitas dan memilih primary key jika ada lebih dari satu candidate key.
Pemilihan primary key didasari pada panjang dari atribut dan keunikan
key di masa datang.
f. Mempertimbangkan penggunaan Enhance Modelling Concepts (
pilihan )
23
Pada langkah ini bertujuan untuk menentukan specialization,
generalization, aggregation, composition. Di mana masing - masing
pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization
dan
generalization
adalah
proses
dalam
mengelompokkan beberapa entitas dan menghasilkan entitas yang baru.
Beda dari keduanya adalah cara prosesnya, di mana spesialisasi
menggunakan proses top-down dan generalisasi menggunakan proses
bottom-up.
Aggregation menggambarkan sebuah entity types dengan sebuah
relationship types di mana suatu relasi hanya akan ada jika telah ada
relationship lainnya.
g. Mengecek redudansi
Bertujuan untuk memeriksa conceptual model untuk menghindari
dari adanya informasi yang redundan. Yang dilakukan pada langkah ini
adalah :
1. Memeriksa kembali one-to-one relationship (1:1)
Setelah entitas diidentifikasikan maka kemungkinan ada
dua entitas yang mewakili satu objek. Untuk itu, dua entitas
tersebut harus di-merger bersama. Dan jika primary key-nya
berbeda maka harus dipilih salah satu dan yang lainnya dijadikan
alternate key.
2. Menghilangkan relasi yang mengalami redundansi
24
Untuk menekan jumlah model data, maka relationship
data yang redundan harus dihilangkan.
h. Memvalidasi conceptual model dengan transaksi
Bertujuan untuk menjamin bahwa conceptual data model
mendukung kebutuhan transaksi. Dengan menggunakan model yang telah
divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara
manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local
conceptual data model mendukung kebutuhan transaksi, yaitu :
1. Mendeskripsikan transaksi
Memeriksa seluruh informasi ( entities, relationship, dan
attribute ) yang diperlukan pada setiap transaksi yang disediakan
oleh model dengan mendokumentasikan penggambaran dari tiap
kebutuhan transaksi.
2. Menggunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data model dengan
keperluan transaksi yang melibatkan diagram yang mewakili
pathways diambil dari tiap transaksi secara langsung yang
terdapat pada E-R diagram.
E-R diagram menggambarkan komponen - komponen dari
entitas dan relasi yang masing-masing dilengkapi dengan atribut atribut yang merepresentasikan seluruh fakta dari ‘real-world’
yang kita tinjau (Fathansyah, 1999, p79). Sedangkan menurut
25
Silberschatz (2002, p42), E-R diagram dapat menyatakan
keseluruhan struktur logikal dari basis data dengan menggunakan
bagan.
i. Melihat kembali conceptual data model dengan pengguna
Bertujuan untuk melihat kembali conceptual model dan
memastikan bahwa data model tersebut sudah benar.
2.4.2 Perancangan Basis Data Logikal ( Logical Database Design )
Logical database design adalah proses pembuatan suatu model informasi
yang digunakan pada perusahaan berdasarkan pada model data yang spesifik,
tetapi tidak tergantung dari Database Management System ( DBMS ) yang khusus
dan pertimbangan fisik lain (Connolly, 2002, p441).
Langkah kedua : Membuat dan memvalidasi local logical data model
untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari
local conceptual data model yang merepresentasikan pandangan khusus dari
perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran
strukturnya ( dengan menggunakan teknik normalisasi ) dan menjamin bahwa
model tersebut mendukung kebutuhan transaksi.
Pada perancangan model logical langkah kedua, tahapan - tahapannya
adalah:
a. Menghilangkan features yang tidak kompatibel dengan model
relasional ( pilihan )
26
Bertujuan untuk menghasilkan model yang kompatibel dengan
model relasional, yaitu dengan :
1. Menghilangkan many-to-many (*:*) binary relationship types
Dengan cara memecah relationship yang mengandung manyto-many (*:*) untuk mengidentifikasikan sebuah entitas tengah (
internediate entity) sehingga relationship ini digantikan dengan dua
buah one-to-many (1:*) relationship, dengan entitas tengah berada di
antara dua buah entitas lama.
2. Menghilangkan many-to-many (*:*) recursive relationship types
Jika recursive relationship ada pada conceptual data model,
relationship tersebut harus dipecah untuk mengidentifikasikan sebuah
entitas tengah dengan cara menganggap entitas lain yang terlibat pada
relationship ini merupakan dua buah entity dengan jenis relationship
many-to-many (*:*) binary sehingga penyelesaiannya sama dengan
penyelesaian pada relationship many-to-many (*:*) binary.
3. Menghilangkan complex-relationship types
Dihilangkan
dengan
memecah
relationship
ini
untuk
mengidentifikasi entitas tengah. Kemudian complex relationship ini
akan digantikan dengan beberapa one-to-many (1:*) relationship.
4. Menghilangkan multi-valued attributes
27
Dengan cara memecah atribut ini untuk mengidentifikasikan
sebuah entitas.
b. Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model yang mewakili
entitas, relationship, dan atribut yang telah didefinisi. Mendeskripsikan
komposisi tiap hubungan memakai Database Definition Language ( DDL
) untuk relasi basis data. Dengan menggunakan DDL dapat dibuat
spesifikasi nama dari relasi yang diikuti dengan daftar dari relasi atribut
yang mudah lalu mengidentifikasikan primary key dan foreign key dari
suatu relasi.
Untuk memperoleh relasi untuk local logical data model, maka
diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin
dalam data model saat ini.
c. Memvalidasi relasi dengan menggunakan normalisasi
Menurut Connolly dan Begg (2002, p376), normalisasi adalah
sebuah teknik untuk menghasilkan relasi dengan properti - properti yang
diinginkan, memberikan kebutuhan data dari sebuah perusahaan.
Tujuan normalisasi adalah terjaminnya struktur yang konsisten,
kerangkapan yang minimal, dan stabilitas struktur data yang maksimal.
Manfaat normalisasi adalah sebagai berikut :
28
1. Meminimalkan jumlah kapasitas penyimpanan yang diperlukan
untuk menyimpan data.
2. Meminimalkan resiko data yang tidak konsisten dalam suatu basis
data.
3. Meminimalkan kemungkinan update dan delete anomally.
4. Memaksimalkan stabilitas dari struktur data.
Proses normalisasi tabel secara detil dibagi menjadi lima tahap
sehingga dikenal bentuk - bentuk tabel normal sesuai dengan tahapan
normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua,
ketiga, Boyce-Codd, keempat, dan kelima.
d. Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam logical model
tersebut mendukung user’s requirements specification secara detil. Selain
itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul
sewaktu membuat suatu relasi.
e. Mendefinisikan integrity constraints
Bertujuan untuk mendefinisikan integrity constraints yang
disampaikan dalam pandangan. Terdapat lima tipe integrity constraints
yang harus diperhatikan, yaitu :
1. Required data.
2. Attribute domain constraints.
29
3. Entity integrity.
4. Referential integrity.
5. Enterprise constraints.
f. Melihat kembali local logical data model dengan pengguna
Bertujuan untuk menjamin local logical data model dan
mendukung dokumentasi yang menggambarkan model sudah benar.
Langkah ketiga : Membuat dan memvalidasi global logical data model.
Bertujuan untuk menyatukan local logical data model menjadi global logical data
model.
Pada perancangan logical model langkah ketiga tahapannya adalah :
a. Menggabungkan local logical data model
Menghasilkan E-R diagram, skema relasional, kamus data dan
dokumen pendukung yang mendeskripsikan constraints dari model.
Beberapa tugas yang harus dikerjakan adalah sebagai berikut :
1. Memeriksa kembali nama dan isi dari entities dari relationships
dan candidate key.
2. Memeriksa kembali nama dan isi dari relationships / foreign keys.
3. Menggabungkan entities atau hubungan dari local data model.
4. Mengikutsertakan ( tanpa menggabungkan ) entities atau
relationships yang unik pada tiap local data model.
5. Menggabungkan relationship atau foreign key dari local data
model.
30
6. Mengikutsertakan ( tanpa menggabungkan ) relationship atau
foreign key unik pada tiap local data model.
7. Memeriksa untuk entities ( hubungan ) dan relationships atau
foreign key.
8. Memeriksa integrity constraints.
9. Menggambarkan E-R diagram.
10. Melakukan Update dokumen.
b. Memvalidasi global logical data model
Bertujuan untuk memvalidasi relasi yang dibuat dari global
logical data model dengan teknik normalisasi dan menjamin bahwa
model tersebut mendukung kebutuhan transaksi.
c. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang
signifikan seperti keadaan yang tidak terduga di masa mendatang dan
menilai apakah model logikal tersebut dapat menampung atau
menyesuaikan perubahan yang terjadi.
d. Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logikal yang bersifat global
telah tepat untuk perusahaan.
2.4.3 Perancangan Basis Data Fisik ( Physical Database Design )
31
Physical database design adalah suatu proses untuk menghasilkan
gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan
dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan
menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly,
2002, p478).
Langkah keempat : Menerjemahkan global logical data model untuk
target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam
global logical data model yang dapat diimplementasikan ke DBMS.
Pada perancangan physical model, langkah-langkahnya adalah :
a. Merancang basis data relasional
Dalam memulai merancang physical design, diperlukan untuk
mengumpulkan dan memahami informasi tentang relasi yang dihasilkan
dari logical database design. Informasi yang penting bisa didapatkan
dari kamus data dari DDL.
b. Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data yang
diperoleh mewakili global logical data model ke dalam DBMS.
c. Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan - batasan
yang ada pada perusahaan.
32
Langkah kelima : Merancang representasi physical. Bertujuan untuk
menentukan organisasi file yang untuk penyimpanan dan menentukan indeks yang
dibutuhkan untuk meningkatkan performa.
Terdapat tiga faktor yang memungkinkan digunakannya representasi
physical:
1. Transaction throughput.
2. Response time.
3. Disk storage.
Dalam langkah kelima ini perlu untuk memahami system resources untuk
meningkatkan performa basis data.
1. Main memory
Dengan semakin besar main memory yang ada maka akan dapat
meningkatkan performa DBMS dan aplikasi basis data yang digunakan.
2. CPU
Mengontrol tugas - tugas dari system resources lain dan
mengeksekusi prosesnya.
3. Disk I/O
Dengan menggunakan DBMS yang besar, maka disk I/O yang
diperlukan sangat signifikan dalam menyimpan dan mengambil data.
Untuk menghindari kemacetan transfer data, maka :
a. File sistem operasi harus dipisahkan dari file basis data.
b. File utama basis data harus dipisahkan dari file indeks.
33
c. File recovery log harus dipisahkan dari basis data yang sedang
digunakan.
4. Network
Ketika jumlah data yang ditransfer telah banyak, maka dengan
menggunakan network sangat dianjurkan. Selain itu juga untuk
menghindari dari kemacetan dalam mentransfer data.
Langkah-langkah dalam langkah kelima ini adalah:
a. Menganalisis transaksi
Bertujuan untuk memahami fungsi dari transaksi yang
dijalankan pada basis data dan menganalisa transaksi yang penting.
Kriteria kemampuan yang harus diidentifikasi dalam menganalisa
transaksi adalah :
1. Transaksi dapat berjalan secara sering dan akan mempunyai
dampak yang signifikan pada performa.
2. Transaksi yang kritis pada operasi dan bisnis.
3. Waktu selama sehari atau seminggu ketika akan ada permintaan
yang tinggi pada saat basis data dibuat.
b. Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat ke tempat
penyimpanan data. Ada beberapa pilihan struktur penyimpanan
(Silberschatz, 2002, p422), yaitu :
34
1. Heap.
2. Hash.
3. Index Sequencial.
4. Clusters.
c. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu sistem
basis data. Salah satu pendekatan untuk memilih organisasi file yang
cocok untuk relasi adalah untuk menyimpan tuples yang tidak
disimpan dan dibuat sebanyak secondary indexes sebagaimana
diperlukan. Oleh karena itu, pilih atribut yang digunakan adalah :
1. Atribut yang sering digunakan untuk join operations untuk
membuat lebih efisien.
2. Atribut yang sering dipesan untuk mengakses tuples pada suatu
relasi di dalam urutan yang menunjukkan atribut.
d. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang penyimpanan
yang akan diperlukan dalam basis data. Perkiraannya didasari pada
ukuran setiap tabel dalam suatu relasi. Contohnya, dalam lima tahun
mendatang berapa kapasitas hard disk yang dibutuhkan untuk
menampung data.
35
Langkah keenam : Merancang pandangan pengguna ( user interface ).
Bertujuan untuk merancang user interface yang telah diidentifikasi selama
mengumpulkan kebutuhan dan menganalisis langkah dari relasional database
lifecycle. Contohnya pada branch terdiri dari interface direktur dan manajer.
Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem basis
data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data
berupa informasi yang sangat penting. Menurut Silberszhatz (2002, p239), ukuran
keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi :
1. Sistem basis data : ada beberapa user berwenang yang diizinkan untuk
mengakses bagian basis data tertentu dan ada para user lain yang hanya
diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya
hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah
menjaga batasan seperti di atas tetap terjaga.
2. Sistem operasi : tidak peduli betapa aman sistem basis datanya, apabila
terjadi kelemahan dalam keamanan sistem operasi. Hal ini sama artinya
dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat
keamanan perangkat lunak dalam sistem operasi sangatlah penting seperti
halnya keamanan yang dilakukan secara fisik.
3. Jaringan : seluruh sistem basis data memperbolehkan untuk mengakses
lewat terminal atau jaringan, keamanan software-level dalam software
jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan
dalam internet dan jaringan pribadi.
36
4. Fisik : situs yang mengandung sistem komputer harus secara fisik aman
dari entri yang diam - diam dan bahaya oleh para penyelundup.
5. Manusia : otorisasi pada user harus dilakukan secara hati-hati untuk
mengurangi adanya kejadian di mana user yang berwenang memberikan
akses kepada orang lain dengan imbalan suap atau yang lainnya.
Langkah kedelapan : Mempertimbangkan pengenalan dan redundansi
kontrol. Pada langkah physical database design ini mempertimbangkan
denormalisasi skema relasional untuk meningkatkan performa. Hasil dari
normalisasi adalah perancangan basis data logikal secara struktural konsisten dan
menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah :
1. Denormalisasi membuat implementasi lebih kompleks.
2. Denormalisasi selalu mengorbankan fleksibilitas.
3. Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat
dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut
pandang tertentu, yaitu melalui pendekatan efisiensi data (Normalisasi) atau
pendekatan efisiensi proses ( denormalisasi ). Efisiensi data dimaksudkan untuk
meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk
mempercepat proses saat retrieve data dari basis data.
Langkah kesembilan : Memonitor dan memasang sistem operasi.
Bertujuan untuk memonitor sistem operasi, meningkatkan performa, dan
37
menentukan perancangan sistem yang tepat atau menggambarkan perubahan
kebutuhan.
2.5 Perancangan Data Warehouse
2.5.1 Pengertian Data Warehouse
Data warehouse terdiri dari sistem komputasi yang digunakan untuk
menyimpan informasi dengan memperhatikan aktivitas organisasi dalam basis
data. Data warehouse didesain berfungsi untuk analisis sehingga didapat informasi
strategis dan memfasilitasi pengambilan keputusan. ( www.bambooweb.com )
Menurut Poe (1996, p24), data warehouse adalah basis data yang bersifat
analisis yang digunakan sebagai landasan dalam sistem pendukung keputusan.
Data warehouse dirancang untuk data yang hanya dapat dibaca ( read-only data ),
yang memungkinkan akses secara intuitif ke informasi yang akan digunakan dalam
pengambilan keputusan.
Menurut Inmon (2002, pp31-35), data warehouse adalah kumpulan data
yang mendukung pengambilan keputusan manajemen yang berkarakteristik subject
oriented, integrated, nonvolatile, dan time-variant.
2.5.2 Perancangan Data Warehouse
Pada penelitian ini menggunakan metodologi menurut Kimball
(Connoly,2002,p1083), yaitu :
1. Pemilihan proses ( choosing the processs )
Melakukan pemilihan proses yang mengacu pada materi subyek yang
dibutuhkan oleh data mart. Pada tahap ini ditentukan pada proses bisnis apa
38
data warehouse akan digunakan. Tahap ini akan menjadi sumber dari penetuan
measurement.
2. Pemilihan grain ( choosing the grain )
Menentukan secara tepat apa yang di presentasikan oleh record tabel
fakta. Pada tahap ini akan ditentukan detail data yang bisa didapatkan dari
model dimensional.
3. Idetifikasi dan konfirmasi dimensi ( identifying and confirming the dimensions)
Membuat set dimensi yang dibutuhkan untuk menjawab seluruh
pertanyaan yang diajukan pada tabel fakta. Set dimensi ini membuat data mart
di mengerti dan mudah digunakan.
Dimensi harus menggambarkan sejelas mungkin dan memperkuat
grain. Tabel dimensi berisi data yang menggambarkan dimensi dari bisnis.
Pada model dimensional, hubungan dari measurement diwakili dalam
tabel dimensi. Hubungan dari measurement juga dapat berupa karakteristik
seperti siapa, apa, dimana, kapan, bagaimana dari measurement. Jika proses
bisnisnya adalah penjualan, karakteristik dari measurement jumlah penjualan
bulanan dapat berupa lokasi ( dimana ), waktu ( kapan ) dan produk yang
terjual (apa).
Dimension atribut adalah kolom di tabel dimensi. Pada dimensi lokasi,
atributnya dapat berupa Kode Lokasi, Kota, Negara, Kode Pos. Secara umum,
atribut dimensi digunakan dalam label dalam laporan dan batasan dalam query.
39
4. Pemilihan fakta ( choosing the facts )
Pemilihan tabel fakta yang dapat mengimplikasikan semua grain yang
digunakan pada data mart. Pada tahap ini akan diidentifikasi apakah
measurement yang diperlukan, fakta harus berupa angka adan harus
memperkuat grain yang ditetapkan pada tahap dua.
Pada model dimensional, tabel fakta berisi measurement atau fakta dari
proses bisnis. Jika proses bisnisnya adalah penjualan maka, measurement dari
proses bisnis ini misalnya jumlah penjualan per bulan yang ditampung di
dalam tabel fakta. Sebagai tambahan pada measurement, hal lain yang dimuat
di dalam tabel fakta adalah foreign key untuk tabel dimensi.
5. Penyimpanan pre-calculation di table fakta ( Storing pre-calculation in the fact
table )
Setelah tabel fakta terpilih, setiap tabel fakta tersebut harus diperiksa
ulang untuk menetukan apakah ada fakta-fakta yang dapat diterapkan
prekalkulasi dan kemudian dilakukan penyimpanan pada tabel fakta.
6. Memastikan tabel dimensi ( Rounding out the dimension tables )
Pada tahap ini dilakukan pemeriksaan ulang pada tabel dimensi dan
menambahkan deskripsi teks terhadap dimensi, serta menetukan hierarki
atribut dimensi untuk mempermudah proses analisis. Gambaran teks haruslah
mudah digunakan dan dimengerti oleh user.
7. Pemilihan durasi database ( Choosing the duration of database )
40
Menetukan waktu periode database untuk beberapa tahun kebelakang.
Pada beberapa perusahaan ada kebutuhan untuk melihat data pada waktu yang
sama, tetapi setahun atau dua tahun sebelumnya.
Tabel fakta yang sangat besar menyebabkan sedikitnya dua
permasalahan desain data warehouseyang signifikan, yaitu :
•
Pertama, menimbulkan kesulitan untuk menyimpan data lama. Semakin
lama data, semakin besar kemungkinan ada masalah dalam membaca dan
meninterpretasikan data lama tersebut
•
Kedua, adalah penggunaan dimensi-dimensi lama yang penting yang
dapat menyebabkan slowly changing dimension yang akan dijelaskan
pada langkah berikutnya.
8. Tracking SCD ( Slowly Changing Dimension )
Dimensi berubah secara perlahan seiring berjalannya waktu dan
kebutuhan. Tiga tipe Slowly Changing Dimension, yaitu :
•
Tipe 1 : Dimana perubahan atribut dimensi di-overwrite
•
Tipe 2 : Dimana perubahan atribut dimensi menyebabkan pembentukan
record dimensi baru
•
Tipe 3 : Dimana perubahan atribut dimensi menyebabkan pembentukan
atribut pengganti ( kolom baru ), jadi baik nilai lama dan nilai baru dari
atribut tersebut dapat diakses secara bersamaan pada record dimensi
yang sama.
41
9. Penentuan prioritas dan metode query ( Deciding the query priorities and the
query modules )
Pada tahap ini dilakukan pertimbangan perancangan fisikal, seperti
keberadaan dari summaries ( ringkasan ) dan aggregate ( penjumlahan ). Selain
itu, masalah administrasi, back-up, kinerja index dan keamanan juga merupakan
faktor yang harus diperhatikan. Isu rancangan kritis database fisikal
mempengaruhi persepsi penggunaan akhir terhadap data mart.
2.5.3 Kegunaan Data Warehouse
Data warehouse biasanya digunakan untuk melakukan empat tugas yang
berbeda, yaitu :
1. Pembuatan Laporan
Penggunaan sederhana dalam data warehouse dapat menghasilkan
informasi per tahun, per bulan, per minggu bahkan per hari.
2. Online Analytical Processing ( OLAP )
Data warehouse digunakan untuk melakukan analisis bisnis guna
menyelidiki kecenderungan pasar dan faktor penyebabnya.
3. Data Mining
Penggunaan data warehouse dalam pencarian pola dan hubungan
data, dengan tujuan membuat keputusan bisnis. Dalam hal ini, software
dirancang untuk pola statistik dalam data untuk mengetahui kecenderungan
yang ada.
42
4. Proses Informasi Eksekutif
Data warehouse digunakan untuk mencari informasi summary
kunci yang penting, dengan tujuan membuat keputusan bisnis, tanpa harus
ada menjelajahi keseluruhan data yang ada.
2.5.4 Karakteristik Data Warehouse
Berikut karakteristik yang spesifik dari sebuah data warehouse :
a. Subject Oriented
Informasi pada data warehouse ditampilkan menurut subjek atau area
peminatan yang spesifik. Data dimanipulasi sedemikian rupa sehingga dapat
menyediakan informasi mengenai sebuah objek secara khusus.
b. Integrated
Data warehouse menyediakan beragam kemampuan dari berbagai
sumber tunggal informasi dan dapat dimengerti area-area peminatan yang
banyak sehingga menampung informasi dari beragam subjek.
Untuk menciptakan subyek area yang berguna, sumber data yang
berasal dari beberapa sistem yang berbeda terlebih dahulu harus terintegrasi
sebelum digabungkan ke dalam sebuah data warehouse. Sebagai contoh,
terdapat empat aplikasi yang menyimpan kode jenis kelamin dalam basis data
secara berbeda. Aplikasi A menyimpan kode jenis kelamin dalam bentuk ‘m’
untuk laki-laki dan ‘f’ untuk perempuan, sedangkan aplikasi B dalam bentuk
‘1’ dan ‘0’, aplikasi C dalam bentuk ‘x’ dan ‘y’, aplikasi D dalam bentuk
43
‘male’ dan ‘female’. Melalui proses integrasi dihasilkan kode jenis kelamin
yang seragam untuk data warehouse, yaitu ‘m’ dan ‘f’.
Untuk lebih jelasnya dapat dilihat pada gambar berikut ini :
Gambar 2.2 Aspek Terintegrasi dari Data Warehouse
Sumber : Inmon, (2002, p33)
c. Non-Volatile
Informasi yang stabil tidak akan berubah begitu saja setiap kali
eksekusi proses operasional terjadi.
Proses update, insert dan delete biasanya dilakukan pada OLTP
dengan basis record. Tetapi manipulasi data pada data warehouse lebih
sederhana. Hanya ada 2 macam operasi dalam data warehouse yaitu loading
data dan akses data. Dalam data warehouse tidak ada proses update terhadap
data. Untuk lebih jelasnya dapat dilihat pada gambar berikut :
44
Gambar 2.3 Aspek Nonvolatile Data Warehouse
Sumber : Inmon (2002, p34)
d. Time-Variant
Data warehouse mengandung histori sebuah subjek sama seperti
informasi terkini. Informasi historikal merupakan komponen yang penting
dari sebuah data warehouse.
Data yang tersimpan dalam data warehouse bersifat time variant atau
bersifat akurat pada periode tertentu. Karakteristik dasar data dalam data
warehouse sangat berbeda dengan data pada OLTP, di mana data hanya
akurat untuk waktu sesaat setelah data diakses, sedangkan data pada data
warehouse akurat selama periode waktu tertentu, maka dikatakan memiliki
perbedaan waktu / rentang waktu (time variance).
45
Gambar berikut ini menunjukkan karakteristik time variant data
warehouse.
Gambar 2.4 Aspek Time Variant Data Warehouse
Sumber : Inmon (2002, p35)
Time variant pada data warehouse dapat ditunjukkan pada beberapa
cara, yaitu :
1. Dengan adanya data yang akurat selama jangka waktu tertentu, yaitu
5 sampai 10 tahun.
2. Struktur key, baik secara eksplisit maupun implisit memiliki elemen
waktu, seperti hari, minggu, bulan, dan tahun. Elemen waktu ini
biasanya terletak di bawah key pada data warehouse.
46
3. Tidak dapat di-update setelah selesai dibuat. Pada data operasional,
karena bersifat akurat pada beberapa waktu pengaksesan, maka data
warehouse dapat di-update bila perlu.
e. Accessible
Fungsi utama dari sebuah data warehouse adalah untuk menyediakan
informasi yang siap diakses oleh end-user.
f. Process Oriented
Adalah penting untuk menganggap data warehouse sebagai proses
untuk menghantarkan informasi. Perawatan (Maintenance) dari sebuah data
warehouse pada umumnya akan terus berlanjut (out going) dan sifatnya
iteratif (iterative).
2.5.5 Anatomi Data Warehouse
Menurut Inmon (2002, pp38-40), Penerapan awal dari arsitektur data
warehouse dibuat berdasarkan konsep bahwa data warehouse mengambil data dari
berbagai sumber dan memindahkannya ke dalam sebuah pusat pengumpulan data
yang besar. Konsep ini sebetulnya lebih cenderung pada sebuah lingkungan main
frame yang terpusat. Keunggulan teknologi client-server memungkinkan data
warehouse diterapkan dalam berbagai macam cara untuk menampung kebutuhan
pemakai sistem secara lebih proposional. Misalnya, pemakai tertentu perlu
menggabungkan data dari sebuah sistem pengumpulan data yang statis, dengan
data dari sistem operasional yang dinamis hanya dalam sebuah query saja.
47
Berikut ini adalah tiga jenis dasar sistem data warehouse:
1. Data Warehouse Fungsional (Functional Data Warehouse).
2. Data Warehouse Terpusat (Centralized Data Warehouse).
3. Data Warehouse Terdistribusi (Decentralized Data Warehouse).
2.5.5.1 Data Warehouse Fungsional ( Functional Data Warehouse )
Data Warehouse Fungsional mempergunakan pendekatan kebutuhan dari
tiap bagian fungsi bisnis, misalnya departemen, divisi, dan sebagainya, untuk
mendefinisikan jenis data yang akan ditampung di dalam sistem.
Setiap unit fungsi dapat mempunyai gambaran datanya masing-masing.
Penerapan jenis sistem pengumpulan data seperti ini beresiko kehilangan
konsistensi data di luar lingkungan bisnis bersangkutan. Apabila pendekatan ini
lingkupnya diperbesar dari lingkungan fungsional menjadi lingkup perusahaan,
konsistensi data perusahaan tidak lagi dapat dijamin. Sebab utama dipergunakan
pendekatan seperti ini adalah bahwa sistem ini dapat memberi solusi yang mudah
untuk dibangun dengan biaya investasi yang relatif rendah dan dapat memberikan
kelompok pemakai sebuah kemampuan sistem pengumpulan data yang terbatas.
2.5.5.2 Data Warehouse Terpusat (Centralized Data Warehouse)
Data Warehouse Terpusat adalah pendekatan yang paling banyak
digunakan, sebagian besar karena keterbiasaan pemakai dengan lingkungan main
frame yang terpusat. Data diambil dari seluruh sistem operasional dan disimpan di
dalam
pusat
penyimpanan
data.
Pemakai
kemudian
bekerja
dengan
mempergunakan data yang telah terkumpul tersebut untuk membangun Data
48
Warehouse Fungsional masing - masing. Keuntungan sistem ini dibandingkan
dengan Data Warehouse Fungsional adalah bahwa data benar - benar terpadu.
Sistem ini mengharuskan pemasok data harus mengirimkan data tepat pada
waktunya agar supaya tetap konsisten dengan pemasok lainnya. Di samping itu,
pemakai hanya dapat mengambil data dari bagian pengumpulan saja, dan tidak
dapat secara langsung berhubungan dengan pemasok datanya sendiri.
2.5.5.3 Data Warehouse Terdistribusi (Decentralized Data Warehouse)
Data Warehouse Terdistribusi dikembangkan berdasarkan konsep data
warehouse “gateway” yang memungkinkan pemakai untuk langsung berhubungan
dengan sumber data maupun dengan pusat pengumpul data lainnya. Gambaran
pemakai atas data adalah berupa gambaran logis karena data mungkin diambil dari
berbagai sumber yang berbeda. Pendekatan ini mengandalkan keunggulan
teknologi client-server untuk mengambil data dari berbagai sumber. Pendekatan ini
memungkinkan tiap departemen atau divisi untuk membangun pengumpul data
fungsionalnya masing - masing atau bahkan sistem operasionalnya dan
memadukan bagian - bagian tersebut dengan teknologi client-server. Pendekatan
ini memerlukan biaya yang sangat besar karena setiap sistem pengumpulan data
fungsional dan sistem operasinya dikelola secara terpisah. Di samping itu, supaya
berguna bagi perusahaan data harus disinkronisasikan untuk memelihara
keterpaduannya. Metode ini akan sangat efektif apabila data telah tersedia dalam
bentuk yang konsisten dan pemakai ingin dapat menambah data tersebut dengan
informasi baru apabila ingin membantu gambaran baru atas informasi.
49
2.5.6 Struktur Data Warehouse
Data warehouse memiliki struktur yang berbeda di mana terdapat beberapa
tingkat summary dan umur data. Struktur data warehouse dapat dilihat pada
gambar 2.5.
Gambar 2.5 Struktur Data Warehouse
Sumber : Inmon (2002, p36)
2.5.7 Komponen-Komponen Struktur Data Warehouse
Komponen-komponen struktur data warehouse adalah :
1. Current Detail Data
Data ini merupakan data terkini. Jumlah datanya berukuran sangat besar
karena datanya memiliki level granularity (tingkat keringkasan) yang paling
50
rendah. Data ini selalu disimpan dalam media penyimpanan yang memiliki
kecepatan akses tinggi, namun mahal dan kompleks pengaturannya.
2. Older Detail Data
Data ini merupakan data historis yang disimpan pada media
penyimpanan yang terpisah dengan current detail data. Penamaan media
penyimpanan sebaiknya mencerminkan umur dari data untuk memudahkan
pengaksesan kembali.
3. Lightly Summarized Data
Data ini merupakan ringkasan atau rangkuman dari current detail data.
Data ini dirangkum berdasarkan periode waktu atau dimensi lainnya sesuai
dengan kebutuhan.
4. Highly Summarized Data
Data ini merupakan ringkasan atau rangkuman yang dihasilkan dari
lightly summarized data.
5. Metadata
Metadata memegang peranan penting dan istimewa dalam data
warehouse. Peranan metadata, yaitu :
a. Sebagai
directory
untuk
membantu
pengguna
data
warehouse
menempatkan isi data dan mengetahui lokasi data dalam data warehouse.
b. Sebagai panduan untuk menempatkan (mapping) data pada saat data
51
ditransformasikan dari OLTP ke dalam lingkungan data warehouse.
c. Sebagai panduan untuk menghasilkan rangkuman dari current detailed data
menjadi lightly summarized data dan dari lightly summarized data menjadi
highly summarized data.
2.5.8 Data Warehouse Dataflow
Berdasarkan pendapat Connoly dan Begg ( 2002, p1057 ), data
warehousing focuses on the management of five primary data flows, namely the
inflow, downflow, outflow dan metaflow, yang artinya datawarehouse memusat
pada manajemen 5 arus data primer antara lain :
1. Inflow adalah proses ekstrasi, pembersihan dan pengisian data dari sistem sumber
ke dalam data warehouse.
2. Upflow adalah proses di mana di dalamnya terdapat nilai tambahan ke data
dalam gudang melalui peringkasan, mempaket dan distribusi data.
3. Downflow adalah proses mengambil dan memback up data dalam gudang.
4. Outflow adalah proses membuat data agar tersedia bagi end user.
5. Metaflow adalah proses memanajemen meta data ( berdasarkan pendapat Inmon (
2002, p393 ) meta data (1) data about data, (2) the description of structure,
content, keys, indexes, etc; of data )
2.6 Skema Bintang ( Star Scheme )
2.6.1 Pengertian Skema Bintang
Menurut Poe (1996, p120), skema bintang adalah suatu desain basis data
yang paling sering digunakan untuk merealisasikan sebuah data warehouse,
52
memiliki struktur sederhana dengan tabel - tabel yang relatif dan penggabungan
yang telah diketahui.
Skema ini memungkinkan respon yang cepat dalam menentukan query dan
pemahaman yang mudah bagi analisis dari end-user, maupun pemakai yang tidak
biasa dengan struktur basis data.
2.6.2 Keuntungan Skema Bintang
Beberapa keuntungan skema bintang, yaitu :
a. Membentuk rancangan basis data yang memberikan waktu respon yang
cepat.
b. Menghasilkan suatu rancangan yang dapat dimodifikasi dengan mudah sesuai
dengan perkembangan data warehouse tersebut.
c. Dapat menyamakan persepsi antara user dan data warehouse sehingga dapat
berguna bagi user.
d. Mempermudah pemahaman dan navigasi metadata baik bagi pemakai atau
pengembang.
e. Memperluas pilihan front-end tools dalam pengaksesan data, sebagai
beberapa produk yang memerlukan rancangan skema bintang.
2.6.3 Perancangan Skema Bintang
Skema bintang terdiri dari 2 macam tabel, yaitu :
1. Tabel Fakta
Tabel fakta sering disebut major table, merupakan inti dari skema
bintang dan berisi data aktual yang akan dianalisis. Field - field di tabel fakta
53
disebut measure yang biasanya berupa numerik yang selalu berisikan foreign
key dari masing-masing tabel dimensi.
2. Tabel Dimensi
Tabel Dimensi disebut juga minor table, merupakan tabel dari skema
bintang yang menyediakan jenis perspektif dari cara pandang terhadap data.
Tabel dimensi mempunyai field-field dari level hirarki tabel dimensi. Nama
dari field-field biasanya digunakan nama dari level dalam suatu hirarki.
2.6.4 Jenis Skema Bintang
Ada beberapa jenis skema bintang, yaitu :
1. Simple–star Schema
Dalam simple-star schema atau skema bintang sederhana, tabel fakta
atau tabel yang merupakan hasil summarized sebagai input bagi data
warehouse, terdiri dari satu atau beberapa foreign key. Sebuah foreign key
adalah sebuah kolom dalam suatu tabel yang nilainya ditentukan oleh
primary key dari tabel lain.
Pada gambar 2.6 akan terlihat hubungan antara tabel fakta dan tabel
dimensi terdiri dari satu tabel fakta dan tiga tabel dimensi. Tabel utama
memiliki primary key yang terdiri dari tiga foreign key, yaitu kunci-1, kunci2, dan kunci-3, yang masing-masing merupakan primary key di tabel dimensi
masing - masing. Di sini terjadi hubungan many to one antara foreign key
pada tabel fakta dengan primary key pada tabel dimensi.
54
Gambar 2.6 Hubungan Antara Tabel Dimensi pada Skema Bintang Sederhana
Sumber : Poe (1996, p124)
2. Multi Star Schema
Skema bintang juga dapat terdiri dari banyak tabel fakta. Hal ini
terjadi karena mereka berisi kenyataan yang tidak saling berhubungan atau
karena perbedaan waktu pemuatan data, di samping itu juga dapat
meningkatkan penampilan. Terutama jika data tersebut dalam jumlah besar.
Kegunaan lain dari tabel fakta adalah untuk mendefinisikan hubungan
many-to-many dari suatu tabel dimensi tertentu. Bentuk tabel seperti ini
biasanya disebut tabel asosiasi. Tabel ini dibuat untuk menyelaraskan
hubungan banyak ke banyak antara dimensi yang berbeda.
Gambar 2.7 Skema Bintang Dengan Lebih dari Satu Tabel Fakta
Sumber : Poe (1996, p126)
55
Pada gambar 2.7 terlihat bahwa dua tabel fakta dan tiga tabel dimensi.
Di sini hubungan many-to-one antara foreign key pada kedua fakta tersebut
dengan primary key pada masing-masing tabel dimensi.
2.7 Skema Snowflake
Pada snowflake, prinsip dasarnya tidak jauh berbeda dari skema bintang.
Snowflake merupakan variasi lain dari skema bintang di mana tabel dimensi dari
skema bintang di organisasi menjadi suatu hirarki dengan melakukan normalisasi.
Skema snowflake dibuat berdasarkan OLTP sehingga semua data akan
termuat detil dalam setiap tabel fakta dari tabel dimensi. Keuntungan dari skema
snowflake terletak pada kecepatan memindahkan data dari data OLTP ke dalam
metadata.
Salah satu variasi yang ada pada skema bintang adalah menyimpan seluruh
informasi tabel dimensi dalam bentuk normal ke tiga. Sementara fakta tetap dalam
keadaan semula. Hal ini biasanya disebut dengan skema snowflake yang
ditunjukkan pada gambar 2.8. Ciri-ciri skema snowflake adalah :
1. Tidak ada level di tabel dimensi.
2. Tabel dimensi dinormalisasi dengan dekomposisi pada level atribut.
3. Setiap dimensi mempunyai satu key untuk setiap level pada hirarki dimensi.
4. Kunci level terendah menghubungkan tabel dimensi dengan tabel fakta dan
tabel atribut berlevel terendah.
56
Gambar 2.8 Skema Bintang Snowflake
Sumber : Poe (1996, p129)
2.8 Agregasi
Agregasi adalah proses perhitungan data fakta selama pendefinisian atribut.
Agregasi dapat dibuat selama proses transformasi berlangsung dan pada saat
pemuatan data ke dalam data warehouse. Agregasi dapat juga berarti proses
mengkombinasi beberapa objek menjadi satu bentuk objek yang baru.
Menurut Poe (1996, p136), faktor yang mendorong pembuatan agregasi :
1. Meningkatnya penampilan pencarian ( searching ).
2. Mengurangi jumlah penggunaan kode produk universal.
Suatu agregasi yang baik dapat dibuat untuk digunakan oleh 300 user
dalam satu hari, karena akan lebih dimanfaatkan jika dibandingkan dengan
membuat agregasi yang membutuhkan waktu 2 jam tapi hanya digunakan sekali
dalam satu tahun oleh satu user saja.
57
Salah satu teknik yang harus dicatat pada saat pemuatan data warehouse,
kita tetap membutuhkan teknik basis data klasik, seperti partisi tabel secara fisik.
Hal ini menjadi penting bilamana data warehouse mencapai gigabyte data.
2.9 Matriks
2.9.1 Pengertian Matriks
Matriks merupakan sebuah tabel yang terdiri dari kolom dan baris, serta
menunjukkan hubungan tertentu antara kolom dan baris. Kolom mewakili fungsi
tertentu, demikian pula halnya dengan baris. Apabila ada hubungan antara fungsi
tertentu dari kolom dengan fungsi tertentu dari baris, maka titik temunya diberi
tanda centang ( V ), Sedangkan apabila tidak ada tanda, maka dianggap tak ada
hubungan secara langsung.
2.9.2 Prosedur Dalam Membuat Analisis Menggunakan Matriks
Terdapat empat prosedur yang digunakan dalam membuat analisis
menggunakan matriks, yaitu :
1. Membuat analisis top level dari data perusahaan
a. Menentukan subjek data.
b. Dijabarkan ke dalam bentuk entitas.
c. Membuat diagram awal hubungan antar entitas.
d. Membuat matriks fungsi bisnis versus entitas.
e. Membuat matriks unit organisasi versus entitas.
2. Menentukan enterprise mode
58
a. Wawancara
dengan
pihak
manajemen
untuk
menentukan
enterprise model.
b. Membuat presentasi kepada pihak manajemen tentang enterprise
model yang sudah diperbaiki.
c. Menentukan matriks entitas versus fungsi bisnis.
d. Menentukan matriks entitas versus unit organisasi.
e. Meminta persetujuan enterprise model.
3. Mengelompokkan matriks fungsi
a. Menggunakan algoritma clustering.
b. Mengumpulkan ke depan semua fungsi create dalam entitas.
c. Memasukkan fungsi - fungsi yang lain dan entitas ke dalam
cluster.
d. Mengelompokkan secara manual untuk mengetahui sistem yang
ada.
e. Menentukan alur data dari sistem yang satu ke sistem yang lain.
f. Membuat diagram hubungan yang menunjukkan hubungan antar
sistem.
g. Menyusun
kelompok
-
kelompok
tersebut
untuk
menyederhanakan interaksi antar sistem.
4. Mengelompokkan matriks fungsi untuk menunjukkan area bisnis
sebenarnya :
59
a. Mengatur matriks fungsi yang telah dikelompokkan ke dalam
bentuk batasan - batasan analisis bisnis.
b. Menempatkan semua fungsi ke dalam area bisnis.
c. Menentukan lokasi geografis untuk setiap area bisnis.
d. Mengatur area bisnis sehingga area - area tersebut saling
berhubungan.
2.10 Data Mart
2.10.1 Pengertian Data Mart
Berdasarkan pendapat Connoly dan Begg (2002, p106), Data mart diartikan
sebagai suatu subset gudang data yang mendukung kebutuhan departemen atau
fungsi bisnis tertentu. Berdasarkan pendapat McLeod, Jr. (2001, p191), Data mart
adalah basis data yang berisi data yang menjelaskan satu segmen operasi
perusahaan.
Data mart adalah subset dari data warehouse. Data mart biasanya
digunakan oleh satu departemen atau grup user dalam perusahaan untuk
mendefinisikan serangkaian tugas. Data yang ada di dalam data mart merupakan
subset data yang ditemukan dalam data warehouse.
2.11 Perbedaan Antara Data Mart dengan Data Warehouse
Berdasarkan pendapat Connoly dan Begg (2002, p1067), karakteristik yang
membedakan data mart dan data warehouse antara lain :
1. Data mart memusat pada kebutuhan para pemakai yang berhubungan dengan
satu departemen atau fungsi bisnis.
60
2. Data mart tidak secara normal berisi rincian data operasional, tidak sama
dengan data warehouse.
3. Data mart berisi lebih sedikit data dibandingkan dengan data warehouse, data
mart jadi lebih mudah dipahami.
Ada beberapa pendekatan membangun data mart. Salah satu pendekatan
untuk membangun beberapa data mart adalah untuk pengintegrasian yang akhirnya
ke dalam suatu warehouse, pendekatan yang lain adalah pembangunan
infrastruktur untuk suatu perusahaan data warehouse pada waktu yang sama dalam
membangun satu atau lebih data mart untuk segera mencukupi kebutuhan bisnis.
Arsitektur data mart dapat dibangun seperti two-tier atau three-tier aplikasi
database. Data warehouse adalah tier pertama yang opsional ( jika data warehouse
menyediakan data tersebut untuk data mart ). Data mart adalah tier yang kedua,
dan pemakaian yang terakhir adalah tier yang ketiga.
2.12 Entity Relationship Modelling
2.12.1 Entity type
Entitas ( entity ) adalah kumpulan objek dengan sifat - sifat sama yang
diidentifikasikan oleh perusahaan dan mempunyai keberadaannya sendiri. Entitas
dilambangkan dengan sebuah kotak yang dibubuhi nama dari entitas tersebut
didalam kotak tersebut. Dalam UML huruf pertama entitas selalu menggunakan
huruf kapital. Entitas ada dua jenis, yaitu :
a. Strong entity : keberadaanya tidak bergantung pada entitas lain.
b. Weak entity : keberadaanya bergantung pada entitas lain.
61
2.12.2 Relationship type
Sekumpulan asosiasi yang artinya mempunyai satu atau lebih tipe entitas.
Setiap tipe relasi diberikan nama yang menggambarkan fungsinya. Representasi
diagram dari tipe relasi ditunjukkan dengan garis yang menghubungkan tipe entitas
yang berasosiasi dan diberi label dengan nama relasi.
2.12.2.1 Derajat tipe relasi
Entitas yang dilibatkan dalam tipe relasi tertentu dinyatakan sebagai
partisipan pada relasi tersebut. Jumlah partisipan pada tipe relasi disebut
derajat relasi. Relasi dengan derajat dua disebut binary. Relasi dengan derajat
tiga disebut ternary. Relasi dengan derajat empat disebut quaternary.
2.12.2.2 Relasi rekursif
Merupakan tipe relasi di mana tipe entitas yang sama berpartisipasi
lebih dari sekali dengan peranan yang berbeda.
2.12.3 Atribut
Merupakan property dari sebuah tipe entitas atau tipe relasi. Contohnya,
tipe entitas Pegawai, bisa memiliki atribut nomor pegawai, nama pegawai, jabatan,
dan gaji. Atribut dapat dikelompokkan sebagai berikut :
2.12.3.1 Atribut Sederhana dan Komposit
Atribut sederhana merupakan atribut yang terdiri dari satu komponen
tunggal dengan keberadaannya sendiri, sehingga tidak dapat dipecah menjadi
62
komponen - komponen yang lebih kecil lagi. Contoh atribut sederhana
meliputi jabatan dan gaji dari entitas Pegawai.
Atribut komposit merupakan atribut yang dibentuk dari banyak
komponen. Contohnya, atribut alamat dapat dipecah menjadi atribut jalan,
kota, dan kode pos.
2.12.3.2 Atribut Single – Valued dan Multi – Valued
Atribut Single – Valued merupakan atribut yang menyimpan nilai
tunggal untuk setiap entitas. Kebanyakan atribut adalah Single – Valued.
Atribut Multi – Valued merupakan atribut yang menyimpan banyak
nilai untuk setiap entitas.
2.12.3.4 Atribut Turunan
Atribut Turunan merupakan atribut di mana nilainya diperoleh atau
diturunkan dari nilai atribut atau sekumpulan atribut lainnya, dan tidak harus
dari tipe entitas yang sama.
2.12.4 Keys
2.12.4.1 Simple Key
Simple Key suatu kunci yang dibentuk oleh satu atribut.
2.12.4.2 Composite Key
Composite Key merupakan candidate key yang terdiri atas dua atau
lebih atribut, di mana nilai dari atribut tersebut bila digabungkan secara
63
bersama - sama baru akan dapat mengidentifikasikan sebuah record unik
untuk tipe entitas tersebut.
2.12.4.3 Candidate Key
Candidate Key merupakan sekumpulan minimal atribut yang secara
unik untuk mengidentifikasi setiap kemunculan tipe entitas.
2.12.4.4 Primary Key
Primary Key merupakan key yang terpilih secara unik untuk
mengidentifikasi setiap kemunculan tipe entitas.
2.12.4.5 Alternate Key
Alternate Key merupakan candidate key yang tidak dapat dipakai
sebagai kunci primer ( primary key ).
2.12.4.6 Foreign Key
Foreign Key merupakan suatu atribut yang melengkapi satu hubungan
( relationship ) yang menunjukkan ke induknya.
2.13 Normalisasi
Merupakan serangkaian test dari sebuah relasi untuk menentukan apakah
relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form
yang diberikan (Connolly, 2002, p376).
64
2.13.1 Proses Normalisasi
Teknik normalisasi menyangkut sebuah rangkaian aturan yang digunakan
untuk memeriksa sebuah relasi, sehingga sebuah basis data dapat dinormalisasi
dalam beberapa tahap. Normalisasi biasanya dijalankan seperti sekumpulan
langkah secara bertahap, di mana relasi menjadi semakin kuat bila langkah (
degree ) yang dikenakan padanya semakin tinggi.
2.13.1.1 Bentuk Normal Kesatu ( 1NF )
Mengidentifikasi dan membuang atribut yang berulang ( repeating
group ) dan memiliki nilai yang lebih dari satu. Suatu hubungan dikatakan
normal pertama jika :
a. Setiap dari baris dan kolom berisi attribute yang bernilai tunggal.
b. Primay key telah ditentukan.
c. Atribut nilai banyak ( multi value ) telah dihilangkan.
2.13.1.2 Bentuk Normal Kedua ( 2NF )
Suatu relasi yang memiliki composite key sebagai primary key–nya
mempunyai kemungkinan untuk memiliki partial functional dependency, di
mana atribut bukan primary key merupakan fungsi pada salah satu atau
sebagian dari primary key. Dalam 2NF maka setiap atribut yang merupakan
partial functional dependency harus dipisahkan ke relasi atau tabel yang baru
dengan mengikutsertakan determinant-nya. Bentuk 2NF diperoleh apabila
setiap atribut bukan bagian dari primay key suatu tabel, melainkan merupakan
functional dependency dari primary key tabel tersebut.
65
2.13.1.3 Bentuk Normal Ketiga ( 3NF )
Suatu tabel atau relasi memiliki transitive dependency apabila memilki
atribut bukan primary key yang bergantung fungsional pada atribut bukan
primary key lainnya pada tabel tersebut. Maka setiap atribut yang transitive
dependency dipisahkan menjadi relasi yang baru dengan mengikutsertakan
determinant-nya. Bentuk 3NF diperoleh apabila setiap atribut bukan primary
key dalam suatu tabel merupakan transitive dependency dari atribut bukan
primay key tabel tersebut.
2.14 SQL ( Structured Query Language )
2.14.1 Pengertian SQL
Menurut Kadir (1998, p101), SQL singkatan dari Structured Query
Language. Dalam bahasa Inggris sering dibaca sebagai SEQUEL. SQL merupakan
bahasa query standar yang digunakan untuk mengakses basis data relasional.
Standarisasi internasional terhadap SQL pertama kali dilakukan oleh ANSI (
American National Standard Institution ), melalui publikasi database language
SQL (ANSI X3.136 – 1986). Saat ini, ANSI dan ISO ( International Standards
Organization ) merupakan dua organisasi yang membuat standarisasi tehadap
SQL.
SQL pertama kali diterapkan pada sistem R ( sebuah proyek riset pada
laboratorium riset San Jose, IBM ). Namun kini SQL juga dijumpai pada berbagai
platform, dari microcomputer hingga mainframe. SQL dapat digunakan baik secara
berdiri sendiri maupun dilekatkan pada bahasa – bahasa lain, seperti COBOL dan
66
C. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti ORACLE,
SYBASE, dan INFORMIX.
SQL bukanlah satu –satunya query yang diterapkan pada basis data.
QUELL adalah contoh bahasa query yang lain, yang pertama kali diperkenalkan
pada sistem basis data Ingres.
2.14.2 SQL sebagai Subbahasa
Penyebutan SQL sebagai bahasa query tidak tepat sebab kemampuan SQL
tidak terbatas hanya untuk query ( memperoleh data ) tetapi juga mencakup
kemampuan lain, seperti :
a. Pendefinisian struktur data.
b. Pengubahan data.
c. Pengaturan sekuritas, dan sebagainya.
Terkadang SQL dikatakan sebagai subbahasa data, bukan sebagai bahasa.
Alasan SQL bukanlah bahasa query telah dijelaskan. Adapun alasan SQL
dikatakan sebagai subbahasa data adalah karena SQL tidak mendukung
persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai untuk mengakses
basis data. SQL tidak menyediakan hal – hal berikut :
1. Pernyataan penguji kondisi ( semacam IF pada COBOL ).
2. Pernyataan pengulangan / iterasi ( semacam REPEAT pada Pascal ).
2.14.3 Elemen SQL
Menurut Kadir (1998, p.104 – p.106), elemen dasar SQL mencakup
pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan.
67
2.14.3.1 Pernyataan
Pernyataan adalah perintah SQL yang meminta suatu tindakan pada
DBMS. Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut :
Tabel 2.1 Pernyataan – Pernyataan Dasar SQL
PERNYATAAN
KETERANGAN
ALTER
Mengubah struktur table
COMMIT
Mengakhiri sebuah eksekusi transaksi
CREATE
Menciptakan tabel, indeks, atau pandangan
DELETE
Menghapus baris pada tabel
DROP
Menghapus tabel, indeks, atau pandangan
Menugaskan hak terhadap basis data kepada pengguna atau
GRANT
grup pengguna
INSERT
Menambahkan sebuah baris pada tabel
REVOKE
Membatalkan hak terhadap basis data
Mengembalikan ke keadaan semula sekiranya suatu
ROLLBACK
transaksi gagal dilaksanakan
SELECT
Memilih baris dan kolom pada tabel
UPDATE
Mengubah nilai pada sebuah baris
2.14.3.2 Nama
Nama digunakan sebagai identitas bagi objek – objek pada DBMS.
Contoh objek pada DBMS adalah tabel, kolom, dan pengguna.
68
2.14.3.3 Tipe Data
Setiap data memiliki tipe data. Beberapa tipe data standar dapat
dilihat pada tabel berikut :
Tabel 2.2 Tabel Tipe Data Standar
TIPE
KETERANGAN
DATA
Untuk menyatakan deretan kerakter ( string ). Misalnya, untuk
CHAR
menyatakan nama orang, nama jalan, atau nama kota
INTEGER
Untuk menyatakan bilangan bulat
NUMERIC
Untuk menyatakan bilangan real
Adapun beberapa tipe data perluasan dapat dilihat pada tabel berikut :
Tabel 2.3 Tabel Tipe Data Perluasan
TIPE DATA
KETERANGAN
VARCHAR
Untuk menyatakan string yang panjangnya bervariasi
MONEY
Untuk menyatakan uang
BOOLEAN
Menyatakan tipe logis ( True atau False )
BLOB
Untuk menyatakan data biner (gambar
SERIAL atau
Untuk menyatakan nilai yang urut
AUTOINCREMENT
69
2.14.3.4 Konstanta
Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta
adalah variabel). Beberapa contoh konstanta :
1. Konstanta numerik : 123, -245, 5.45.
2. Konstanta : ‘Jl. Gemblung 34’.
3. Konstanta simbolik (konstanta yang tersedia pada SQL dan mempunyai
makna tersendiri) : SYSDATE ( tanggal sistem ), USER ( nama
pengguna yang menjalankan SQL ). Konstanta simbolik seringkali
disebut variable system.
2.14.3.5 Ekspresi
Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi
digunakan untuk menghitung nilai. Contoh : ( LABA / MODAL ) * 100
merupakan ekspresi untuk membagi isi variabel LABA dengan MODAL, dan
kemudian dikalikan dengan 100. Simbol – simbol yang dapat digunakan pada
ekspresi aritmatika antara lain :
Tabel 2.4 Simbol pada Ekspresi Aritmatika
SIMBOL
KETERANGAN
*
Perkalian
/
Pembagian
+
Penjumlahan
-
Pengurangan
70
2.14.3.6 Fungsi Bawaan
Fungsi bawaan adalah sebuah sub – program yang menghasilkan
suatu nilai jika dipanggil. SQL memiliki sejumlah fungsi bawaan ( fungsi
yang disediakan oleh SQL ). Sebagai contoh, terdapat fungsi bernama MIN
yang digunakan untk memperoleh nilai terkecil atau AVG untuk memperoleh
nilai rata – rata.
2.14.4 Kelompok Pernyataan SQL
Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok, DDL, DML,
DCL, pengendali transaksi, dan pengendali programatik.
2.14.4.1 DDL ( Data Definition Language )
Menurut Subekti (1997, p20), DDL (Data Definition Language)
adalah suatu bahasa yang dipakai untuk menjelaskan objek dari basis data
seperti terlihat oleh pengguna ( DBA, programmer, pengguna akhir ). DDL
dipakai untuk mendefinisikan kerangka basis data ( berorientasi pada tipe
dari objek basis data ).
DDL juga merupakan kelompok perintah yang berfungsi untuk
mendefinisikan atribut – atribut basis data, tabel, atribut (kolom), batasan –
batasan terhadap terhadap suatu atribut, serta hubungan antar tabel. Yang
temasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.
2.14.4.2 DML ( Data Manipulation Language )
Menurut Subekti (1997, p20), DML (Data Manipulation Language)
adalah suatu bahasa yang dipakai untuk memanipulasi (memasukkan,
71
merubah, menghapus) objek data dari basis data.
Perintah yang masuk
kategori DML adalah :
1. SELECT Æ memilih data.
2. INSERT Æ menambah data.
3. DELETE Æ menghapus data.
4. UPDATE Æ mengubah data.
2.14.4.3 DCL ( Data Control Language )
DCL berisi perintah – perintah untuk mengendalikan pengaksesan
data. Pengendalian dapat dilakukan per pengguna, per tabel, per kolom,
maupun per operasi yang boleh dilakukan. Perintah – perintah yang termasuk
DCL adalah :
1. GRANT Æ memberikan kendali pengaksesan data.
2. REVOKE Æ mencabut kemampuan pengaksesan data.
3. LOCK TABLE Æ mengunci tabel.
2.14.4.4 Pengendali Transaksi
Pengendalian transaksi adalah perintah – perintah yang berfungsi
untuk mengendalikan pengeksekusian transaksi. Perintah yang termasuk
dalam kategori ini :
1. COMMIT Æ menyetujui rangkaian perintah yang berhubungan
erat (disebut transaksi) yang telah berhasil dilakukan.
72
2. ROLLBACK Æ membatalkan transaksi yang dilakukan karena
adanya kesalahan atau kegagalan pada salah satu rangkaian
perintah.
2.14.4.5 Pengendali Programatik
Pengendalian programatik mencakup pernyataan – pernyataan yang
berhubungan dengan pemanfaatan SQL dalam bahasa lain ( SQL yang
dilekatkan ). Pernyataan – pernyatan ini bisa dipakai pada bahasa
konvensional ( 3 – GL ), seperti COBOL. Yang termasuk dalam
pengendalian programatik :
1. CLOSE Æ menutup kursor ( pointer yang menunjuk ke tabel ).
2. DECLARE Æ mendeklarasikan kursor.
3. FETCH Æ mengambil nilai baris berikutnya.
4. OPEN Æ untuk membuka kursor.
2.15 Teori – Teori Lain
2.15.1 Diagram Aliran Dokumen ( DAD )
Menurut Romney & Steinbart (2003, p165), data aliran dokumen
menggambarkan aliran dari dokumen dan informasi dalam area yang bertanggung
jawab dalam suatu organisasi. Data aliran dokumen digunakan untuk menelusuri
dokumen dari tempat dokumen itu dikeluarkan sampai dokumen itu disimpan.
Data aliran dokumen menunjukkan dokumen mana yang asli, pendistribusiannya,
untuk apa dokumen itu digunakan, dan lain - lain. Data aliran dokumen berguna
73
untuk menganalisis pengontrolan prosedur dalam suatu sistem, seperti pengecekan
internal dan pemisahan fungsi - fungsi dalam suatu organisasi.
2.15.2 Entity Relationship Diagram ( ERD )
E-R diagram menggambarkan komponen - komponen dari entitas dan
relasi yang masing - masing dilengkapi dengan atribut - atribut yang
merepresentasikan seluruh fakta dari ‘real-world’ yang kita tinjau (Fathansyah,
1999, p79). Sedangkan menurut Silberschatz (2002, p42), E-R diagram dapat
menyatakan keseluruhan struktur logikal dari basis data dengan menggunakan
bagan.
2.15.3 State Transition Diagram ( STD )
State transition diagram adalah suatu modeling tools yang menggambarkan
sifat ketergantungan pada waktu dari sebuah sistem. Pada mulanya state transition
diagram ini hanya digunakan untuk menggambarkan suatu sistem yang memiliki
sifat realtime dan online seperti transaksi perbankan dan sistem militer.
Terdapat 2 (dua) hal yang harus diperhatikan pada state transition diagram,
yaitu :
1. Condition
Suatu event pada external environment yang dapat dideteksi
oleh sistem dalam bentuk sebuah sinyal, interupt atau data. Hal ini
akan menyebabkan perubahan terhadap state dari state menunggu X
ke state menunggu Y atau memindahkan aktivitas X ke aktivitas Y.
2. Action
74
Event yang terjadi pada sistem ketika sistem mengalami
perubahan state. Action akan menghasilkan output, message display
pada screen, dan menghasilkan kalkulasi.
State transition diagram memiliki beberapa simbol yang digunakan di
mana setiap state direpresentasikan oleh sebuah empat persegi panjang, setiap
transition direpresentasikan dengan anak panah. Event yang menyebabkan
munculnya transition dari sebuah state menuju state yang lain digambarkan
dengan sebuah label yang diletakkan disamping anak panah transition. Action yang
muncul pada state dituliskan dalam bentuk suatu set list instruksi. Berikut adalah
gambar dari state, transition, event, dan action.
State X
Present State
Transition
Input Data
Output Data
State Y
Next State
Gambar 2.9 State Transition Diagram
Untuk menggambarkan state transition diagram, ada beberapa aturan
yang dapat diikuti :
75
1. Identifikasikan initial state.
2. Gambar empat persegi panjang untuk merepresentasikan setiap state.
3. Hubungkann setiap state dengan anak panah untuk menunjukan
transition yang terjadi.
4. Setiap state harus menunjuk kepada satu atau lebih state yang lain.
5. Berikan label pada transisition dengan nama event.
6. Tuliskan list dari action yang terjadi pada setiap state.
7. Pertimbangkan reaksi dari sistem terhadap event yang muncul.
8. Amati diagram yang ada untuk menentukan apakah diagram tersebut
perlu diubah.
9. Diskusikan diagram tersebut dengan anggota tim untuk meyakinkan
akurasi dan kekonsistenan dari sistem.
2.16 Teori – teori pendukung
2.16.1 Manajemen
Manajemen merupakan proses pengkoordinasian aktivitas kerja beberapa
orang
sehingga
kerja
bisa
terselesaikan
secara
efektif
dan
efisien.
(http://romisatriawabono.net/)
2.16.2 Intranet
Intranet adalah sebuah jaringan privat ( private network ) yang
menggunakan protokol - protokol Internet ( TCP/IP ), untuk membagi informasi
rahasia perusahaan atau operasi dalam perusahaan tersebut kepada karyawannya.
Terkadang, istilah intranet hanya merujuk kepada layanan yang terlihat, yakni
76
situs web internal perusahaan. Untuk membangun sebuah intranet, maka sebuah
jaringan haruslah memiliki beberapa komponen yang membangun Internet, yakni
protokol Internet ( Protokol TCP/IP, alamat IP, dan protokol lainnya ), klien dan
juga server. Protokol HTTP dan beberapa protokol Internet lainnya ( FTP, POP3,
atau SMTP ) umumnya merupakan komponen protokol yang sering digunakan.
Download