10 BAB 2 LANDASAN TEORI 2.1 TEORI UTAMA BASIS DATA 2.1.1

advertisement
BAB 2
LANDASAN TEORI
2.1
TEORI UTAMA BASIS DATA
2.1.1
Basis Data
Pengertian data, informasi, dan sistem informasi menurut Turban
E. et al (2003, p15), data adalah fakta-fakta yang belum diolah atau
gambaran-gambaran lebih lanjut dari benda-benda, kejadian-kejadian,
kegiatan-kegiatan, dan transaksi-transaksi yang ditangkap, direkam,
disimpan dan diklasifikasikan, tetapi tidak disusun untuk menyampaikan
arti khusus lainnya. Informasi adalah sebuah kumpulan dari fakta-fakta
(data) yang disusun di dalam beberapa cara, jadi kumpulan fakta tersebut
bisa berarti bagi penerimanya. Sistem Informasi adalah sebuah sistem
yang
mengumpulkan,
mengolah,
menyimpan,
menganalisa,
dan
menyebarkan informasi untuk sebuah tujuan tertentu. Sedangkan menurut
Raymond Mc Leod, Jr. dan George P Schell (2004, p9) sistem informasi
adalah sistem konseptual yang memungkinkan management mengontrol
operasional dari sistem fisikal yang tetap. Pengertian data menurut
Jeffrey A Hoffer (2005, p5), data adalah representasi objek yang
ditempatkan dan kemudian yang mempunyai arti dan kepentingan di
lingkungan pengguna.
Sedangkan menurut Abdul Kadir (2001, p7), data adalah fakta
mengenai objek, orang, dan lain-lain. Data dinyatakan dengan nilai
(angka, deretan karakter, atau simbol). Data digunakan untuk menyatakan
10
11
nilai-nilai yang secara aktual terkandung dalam basis data sedangkan
informasi digunakan untuk menyatakan makna nilai ketika dipahami oleh
pengguna. Informasi adalah hasil analisis dan sintesis terhadap data.
Dengan kata lain, informasi dapat dikatakan sebagai data yang telah
diorganisasikan kedalam bentuk yang sesuai dengan kebutuhan seseorang
di dalam suatu organisasi atau perusahaan.
Menurut Connolly dan Begg (2005, p15), basisdata adalah
sekumpulan data yang secara logika saling terhubung dan dapat
digunakan bersama-sama, serta sebuah deskripsi mengenai data tersebut,
yang dirancang untuk memperoleh informasi yang dibutuhkan oleh
organisasi. Secara logika, hubungan antar data terdiri dari entitas-entitas,
atribut, dan relationship (hubungan antar entity) dari informasi
organisasi.
Pengertian basis data menurut Date (2000, p10), adalah suatu
koleksi atau kumpulan data yang persisten digunakan oleh sistem aplikasi
dari suatu perusahaan. Yang dimaksud dengan persisten adalah data yang
berbeda satu dengan yang lainnya dan biasanya merupakan data yang
bersifat sementara.
Sedangkan menurut sumber lain yang di dapat dari internet,
basisdata adalah kumpulan informasi yang diorganisasikan sehingga
program komputer dapat secara cepat mengakses data-data yang
diinginkan. Basisdata juga terdiri dari field, record, dan files.
(http://www.webopedia.com/).Selain itu, basisdata juga merupakan
kumpulan informasi yang secara sistematis terorganisasi, sehingga
12
menjadi mudah untuk diakses dan dianalisis. (http://www.ojp.usdoj.gov).
Secara logika, hubungan antar data terdiri dari entity, atribut, dan
relationship (hubungan antar entity).
2.1.2
Database Management System (DBMS)
Menurut Connoly dan Begg (2005, p16), DBMS adalah sistem
piranti
lunak
yang
memungkinkan
user
untuk
mendefinisikan,
menciptakan, memelihara, dan mengontrol akses ke suatu basisdata.
Sedangkan menurut Ramakrishnan dan Gehrke (2003, p8), DBMS adalah
sebuah piranti lunak yang dibuat untuk mempermudah tugas. Dengan
cara menyimpan data, dan memanage data agar menjadi lebih efisien.
Selain itu, menurut Abdul Kadir (2001, p17), DBMS diartikan sebagai
suatu program komputer yang digunakan untuk memasukkan, mengubah,
menghapus, memanipulasi, dan memperoleh data atau informasi dengan
praktis dan efisien.
Oleh sebab itu, suatu DBMS adalah sebuah sistem generalpurpose software (software bertujuan umum) yang memudahkan prosesproses penentuan, pembangunan, dan pelaksanaan manipulasi data pada
banyak basis data untuk berbagai macam aplikasi.
Menurut Connoly dan Begg (2005, p18), komponen utama DBMS
terdiri dari 5 komponen, yaitu :
1.
Hardware
Terdiri dari :
13
a.
Penyimpanan permanen (magnetic disk atau hard disk),
perangkat
I/O
(contohnya
:
disk
drives),
Device
Controller, I/O Channels, dan lainnya.
b.
Hardware procesor dan main memory, digunakan untuk
mendukung saat eksekusi sistem software basis data
2.
Software
Komponen software terdiri dari DBMS, sistem operasi
(seperti Microsoft Windows atau Linux), network software (jika
diperlukan) dan program aplikasi pendukung lainnya.
3.
Data
Data pada sebuah sistem basisdata baik itu sistem singleuser maupun sistem multi-user harus terintegrasi (terhubung) dan
dapat digunakan bersama. Data bertindak sebagai jembatan antara
komponen mesin dan komponen manusia.
4.
Prosedures
Prosedur adalah instruksi atau perintah dan aturan yang
mengatur penrancangan penggunaan dari basisdata. Pengguna
sistem dan karyawan yang mengatur basisdata membutuhkan
dokumen prosedur tentang bagaimana untuk menggunakan atau
menjalankan sistem tersebut.
Ini semua terdiri dari instruksi tentang bagaimana untuk :
•
log on ke DBMS
14
•
menggunakan fasilitas utama DBMS atau program
aplikasi
5.
•
memulai dan mengakhiri DBMS
•
membuat backup copy dari database
•
memakai hardware dan software
•
mengubah struktur table, menyusun ulang database, dll.
People (User)
Ada 4 tipe user yang berhubungan dengan DBMS yaitu :
a.
DA (Data Administrator), seseorang yang berwenang
untuk
membuat keputusan stategis dan kebijakan
mengenai data yang ada, DBA (Database Administrator),
menyediakan
keputusan
dukungan
tersebut,
teknis
dan
untuk
implementasi
bertanggungjawab
atas
keseluruhan kontrol sistem pada tingkatan teknis.
b.
Database Designers
Database designer terdiri dari :
•
Logical Database Designer : Mengidentifikasi data
(entity dan
atribut), relationshipantar data, dan
constraints dalam data yang disimpan dalam basisdata.
•
Physical Database Designer : menentukan bagaimana
desain basis data logikal dinyatakan secara fisikal,
yaitu memetakan desain basisdata logikal ke dalam
15
kumpulan tabel dan integrity constraints, memilih
struktur penyimpanan yang spesifik dan metode akses
data untuk mencapai tujuan yang baik, serta mendesain
ukuran security yang dibutuhkan oleh data.
c.
Application Developers
Bertanggung jawab untuk membuat aplikasi basis
data dengan menggunakan bahasa pemrograman yang ada,
seperti: C++, Java, dan lainnya sehingga dapat digunakan
oleh end users.
d.
End-Users
Sebagai pengguna dari basisdata yang telah dibuat
dan diimplementasikan dalam sebuah aplikasi, dimana
berisi informasi-informasi yang dibutuhkan olehnya.
Keuntungan DBMS menurut Connolly dan Begg (2005, p26) :
1.
Penggunaan data bersama (sharing of data)
2.
Mengurangi kerangkapan data
3.
Menghindari ketidakkonsistenan data
4.
Integritas data terpelihara
5.
Keamanan terjamin
6.
Penyimpanan data dalam jumlah yang besar
7.
Penetapan standarisasi
16
8.
Meningkatkan produktivitas
9.
Layanan Back up dan Recovery semakin baik
Keuntungan DBMS menurut Ramakrishnan dan Gehrke (2003, p9),
adalah sebagai berikut :
1.
Data Independence
2.
Efficient Data Access
3.
Integritas dan Keamanan Data
4.
Data Administration
5.
Concurrent Access and Crash Recovery
6.
Reduced Application Development Time
Keuntungan DBMS menurut Abdul Kadir (2001, p17) adalah :
1.
Kepraktisan
Menggunakan media penyimpanan sekunder yang berukuran kecil
tetapi padat informasi
2.
Kecepatan
Mesin dapat mengambil atau mengubah data jauh lebih cepat dari
pada manusia
3.
Mengurangi kejemuan
Dengan menggunakan tangan dalam mengganti informasi
cenderung bisa membuat kejemuan, namun dengan DBMS ini
bisa mengurangi kejemuan
4.
Kekinian
17
Informasi yang tersedia pada DBMS akan bersifat mutakhir dan
akurat setiap saat
Kerugian DBMS menurut Connolly dan Begg (2005, p29):
1.
Rumit
Karena penetapan fungsi dari DBMS yang baik, menyebabkan
DBMS menjadi software yang cukup rumit. Seluruh user harus
mengetahui fungsi-fungsi yang ada dengan baik, sehingga dapat
memperoleh manfaatnya.
2.
Ukuran
Kerumitan dan banyaknya fungsi yang ada menyebabkan DBMS
memerlukan banyak software pendukung yang mengakibatkan
penambahan tempat penyimpanan dan memori.
3.
Biaya DBMS
Biaya dari DBMS bergantung pada lingkungan dan fungsinya
4.
Biaya tambahan hardware
Keperluan tempat penyimpanan untuk DBMS dan basis data
mengharuskan membeli tempat penyimpanan tambahan.
5.
Biaya konversi
Biaya DBMS dan tambahan hardware mungkin tidak berarti
dibandingkan dengan harga untuk mengubah aplikasi yang ada
untuk menjalankan DBMS dan hardware yang baru.
18
6.
Penampilan (performance)
Pada dasarnya DBMS dibuat untuk menyediakan banyak aplikasi,
akibatnya mungkin beberapa aplikasi akan berjalan tidak seperti
biasanya.
7.
Dampak yang tinggi dari kegagalan
Karena sistem yang terpusat, jika seluruh pengguna dan aplikasi
terakses dari DBMS maka kerusakan pada bagian manapun dari
sistem, akan menyebabkan operasi terhenti.
2.1.3
Perkembangan Database
Pada
awalnya,
perusahaan-perusahaan
yang
ada
masih
menggunakan sistem operasional secara manual, yaitu semua proses
penyimpanan barang, transaksi-transaksi pembelian, penjualan, dan lainlain masih dicatat secara langsung dan untuk data penyimpanan barang
masih ditempatkan pada sistem pembukuan saja. Namun pada saat
sekarang
ini,
semua
proses-proses
tersebut
sudah
dilakukan
menggunakan sistem komputerisasi, seperti sistem basis data untuk
menyimpan data-data, aplikasi-aplikasi yang dibuat dan terhubung
dengan basis data untuk melakukan transaksi-transkasi yang dilakukan
suatu perusahaan, dan lain sebagainya.
Basis data pada saat sekarang ini sudah merupakan suatu bagian
penting bagi perusahaan untuk memenuhi kebutuhan penyimpanan data.
Basis data juga sudah mengalami beberapa perkembangan yang sangat
penting dengan menggunakan aplikasi-aplikasi yang dibuat dari masing-
19
masing perusahaan. Aplikasi basis data adalah program sederhana yang
berinteraksi dengan basis data pada nilai tertentu dalam eksekusinya. Kita
juga menggunakan istilah sistem basis data untuk memasukkan koleksi
dari program-program aplikasi yang berinteraksi dengan basis data.
2.1.4
Daur Hidup Database (Database Lifecycle)
Menurut Connolly dan Begg (2005, p283), sistem basis data
adalah komponen penting dari suatu sistem informasi sebuah perusahaan
atau organisasi yang besar. Aplikasi daur hidup basis data adalah
pengumpulan pewarisan dengan daur hidup dari sistem informasi.
Sebagai contoh, masalah yang dihadapi selama perancangan basis data
mengharuskan penambahan koleksi dan analisis kebutuhan.
Untuk aplikasi basis data yang kecil, dengan jumlah pengguna
yang
sedikit,
tidak
dibutuhkan
daur
hidup
yang
kompleks.
Bagaimanapun, saat merancang aplikasi basis data menengah sampai
yang besar dengan sepuluh sampai seribu pengguna, menggunakan
ratusan dari query dan aplikasi program, daur hidup dapat menjadi
kompleks sekali. Berikut ini adalah tahapan-tahapan dari aplikasi daur
hidup basis data beserta aktivitas-aktivitas utama yang dilakukan oleh
setiap tahapnya:
20
Gambar 2.1 Tahap-tahap Siklus Hidup Aplikasi Basisdata
( Sumber : Connolly dan Begg, 2005, p284)
21
1.
Database Planning (Perencanaan Basisdata)
Merencanakan bagaimana tahapan-tahapan daur hidup basis data
dapat direalisasikan dengan efisien dan efektif.
2.
System Definition (Definisi Sistem)
Menspesifikasikan jangkauan (ruang lingkup) dan batasan-batasan
dari aplikasi basis data, pengguna basis data, dan area-area
aplikasi. Sedangkan menurut sumber yang didapat dari internet,
sistem merupakan bagian dari entity atau objek, real atau abstrak,
yang setiap elemennya mempunyai hubungan satu dengan yang
lain (http://en.wikipedia.org) . Menurut sumber lain dikatakan
pula bahwa sistem adalah sekelompok elemen atau bagian yang
saling berinteraksi, terhubung, atau saling bergantung, yang
secara bersamaan mempunyai fungsi untuk mencapai tujuan
tertentu (www.doe.mass.edu).
3.
Requirements
Collection
and
Analysis
(Pengumpulan
Kebutuhan dan Analisis)
Suatu proses pengumpulan dan analisa informasi tentang bagian
dari perusahaan yang akan didukung oleh aplikasi sistem
basisdata, dan menggunakan informasi ini untuk mengidentifikasi
kebutuhan sistem yang baru.
4.
Database Design (Desain Database)
Suatu proses membuat suatu rancangan untuk basisdata yang akan
mendukung operasi dan objektifitas perusahaan. Perancangan
basisdata ini terdiri dari tiga tahapan (fase) yaitu :
22
5.
¾
Perancangan Konseptual
¾
Perancangan Logikal
¾
Perancangan Fisikal
DBMS Selection (Pemilihan DBMS)
Merupakan pemilihan DBMS yang tepat untuk mendukung suatu
aplikasi basisdata.
6.
Application Design (Desain Aplikasi)
Perancangan
user
interface
dan
program
aplikasi
yang
menggunakan dan memproses basisdata.
7.
Prototyping (Bentuk Dasar)
Pembuatan suatu model kerja dari aplikasi basisdata dengan
tujuan memungkinkan pengguna menggunakan prototype tersebut
untuk menentukan fitur-fitur dari sistem yang bekerja dengan
baik.
8.
Implementation (Implementasi)
Realisasi fisik dari perancangan basisdata dan aplikasi. Membuat
definisi basis data eksternal, konseptual, dan internal serta
program-program aplikasi. Sedangkan menurut sumber lain
menyebutkan implementasi adalah aplikasi dari suatu metodologi
yang berisi suatu tujuan tertentu (http://en.wikipedia.org).
9.
Data Conversion and Loading (Perubahan dan Pengambilan
Data)
Pemindahan data yang ada ke dalam basisdata baru dan merubah
aplikasi yang ada untuk beroperasi pada basisdata yang baru.
23
10.
Testing (Pengujian)
Pemindahan data yang ada ke dalam basisdata baru dan merubah
aplikasi yang ada untuk beroperasi pada basisdata yang baru
11.
Operational Maintenance (Perawatan Operasional)
Sistem memasuki langkah perawatan, yang melibatkan aktivitasaktivitas berikut:
•
Mengawasi kinerja sistem.
•
Mempertahankan dan meng-upgrade aplikasi basisdata
(ketika dibutuhkan)
2.1.5
Entity Relationship
Entity dapat berupa ide atau konsep baik secara nyata maupun
secara logika (http://www.dai-sho.com).
Menurut Connolly dan Begg (2005, p342), salah satu bagian yang
sulit dalam perancangan basis data adalah suatu fakta bahwa para
perancang, pembuat-pembuat program, dan end-user cenderung untuk
melihat data dan menggunakannya dengan cara-cara yang berbeda.
Kecuali kalau kita memperleh sebuah pemahaman sama yang
mencerminkan
bagaimana
suatu
perusahaan
beroperasi,
suatu
perancangan yang kita hasilkan akan gagal untuk memenuhi kebutuhankebutuhan user. Untuk meyakinkan bahwa kita mendapat sebuah
pemahaman yang tepat dari suatu data dan bagaimana data tersebut
digunakan oleh suatu perusahaan, kita harus mempunyai sebuah model
24
untuk membuat komunikasi yang non teknikal dan tidak bersifat ambigu.
Entity-Relationship (ER) adalah salah satu contohnya.
Pemodelan ER adalah sebuah pendekatan top-down untuk
perancangan basis data yang dimulai dengan mengidentifikasi suatu data
penting yang disebut entitas-entitas dan relationships diantara suatu data
yang harus direpresentasikan dalam suatu model. Lalu kita menambah
perincian-perincian lagi seperti suatu informasi yang ingin kita ambil
tentang suatu entitas-entitas dan relationships yang disebut atribut-atribut
dan batasan-batasan yang lain pada suatu entitas-entitas, relationships,
dan atribut-atribut.
Berikut ini adalah notasi Entity-Relationship Modelling menurut
Connolly dan Begg (2005, p346):
Gambar 2.2 Notasi Entity-Relationship Modelling
25
Pengertian Multiplicity menurut Connolly dan Begg (2005, p356)
adalah sejumlah kemungkinan kejadian-kejadian dari sebuah tipe entitas
di dalam sebuah hubungan n-nary ketika nilai-nilai yang lain (n-1)
ditentukan. Multiplicity biasanya terdiri dari dua batasan terpisah, yaitu:
a.
Cardinality:
Mendeskripsikan
jumlah
maksimum
dari
kemungkinan kejadian-kejadian yang saling berhubungan untuk
sebuah
partisipasi
entitas
dalam
proses
penentuan
tipe
relationship.
b.
Participation: Menentukan apakah semua kejadian-kejadian
entitas akan ikut berpartisipasi dalam sebuah relationship atau
hanya beberapa saja yang ikut berpartisipasi.
Jenis-jenis multiplicity menurut Connolly dan Begg (2002, p357) adalah:
1.
One-to-One (1:1) Relationships
Gambar 2.3 One-to-One Relationships
Pada gambar 2.3, kita bisa melihat bahwa A hanya terhubung
One-to-One (1 : 1) dengan C, dan B hanya terhubung One-to-One (1 : 1)
dengan D. Jadi dari gambar tersebut kita dapat menulis notasi
multiplicity-nya dengan gambar di bawah ini.
26
Gambar 2.4 Notasi One-to-One Relationships
2.
One-to-Many (1:*) Relationships
Gambar 2.5 One-to-Many Relationships
Pada gambar 2.5, kita bisa melihat bahwa B terhubung One-toMany (1 : *) dengan D dan E. Jadi dari gambar tersebut kita dapat
menulis notasi multiplicity-nya dengan gambar di bawah ini.
27
Gambar 2.6 Notasi One-to-Many Relationships
3.
Many-to-Many (*:*) Relationships
Gambar 2.7 Many-to-Many Relationships
Pada gambar 2.7, kita bisa melihat bahwa A terhubung One-toMany (1 : *) dengan D dan E. Sedangkan E terhubung One-to-Many (1 :
*) dengan A dan B. Jadi dari entitas Group 1 (value-nya A dari gambar di
atas) dan Group 2 (value-nya E dari gambar di atas) terhubung Many-toMany (* : *). Dari gambar tersebut kita dapat menulis notasi multiplicitynya dengan gambar di bawah ini.
28
Gambar 2.8 Notasi Many-to-Many Relationships
2.1.6
Keys
Menurut Connolly dan Begg (2005, p352), Keys memiliki peran
yang sangat penting untuk menghubungkan satu objek dengan objek yang
lainnya. Keys diletakkan pada suatu atribut yang telah ditentukan
kedudukannya, agar dapat dihubungkan dengan atribut pada entitas yang
lain. Sedangkan menurut Date (2000, p258), model relasi selalu dibuat
stress dengan konsep dari keys, karena itu merupakan sesuatu yang
khusus – sangat penting- dari semua fenomena secara umum.
Beberapa jenis keys yang biasa digunakan, menurut Connolly dan
Begg (2005, p352), antara lain:
1.
Candidate key
Candidate key yaitu himpunan atribut minimal yang secara unik
mengidentifikasikan tiap-tiap keberadaan suatu tipe entitas.
Sedangkan menurut Date (2000, p258), ciri khusus yang dimiliki
oleh candidate key adalah uniqueness dan irreducibility.
2.
Primary key
29
Primary key yaitu candidate key yang dipilih secara unik untuk
mengidentifikasikan tiap-tiap keberadaan suatu tipe entitas.
Menurut Date (2000, p261), hanya terdapat satu candidate key
untuk setiap entitas yang ada.
3.
Foreign key
Foreign key yaitu himpunan atribut dalam suatu relasi yang cocok
dengan candidate key dari beberapa relasi. Menurut Date (2000,
p261), foreign key adalah sebuah atribut yang nilainya sama
dengan candidate key.
4.
Alternate key
Alternate key yaitu candidate key yang tidak terpilih menjadi
primary key.
2.1.7
Normalisasi
Menurut Connolly dan Begg (2005, p 388), normalisasi adalah
sebuah teknik untuk menghasilkan sebuah kumpulan dari relasi-relasi
dengan atribut-atribut yang diinginkan, yang berdasarkan kebutuhankebutuhan data sebuah perusahaan.
Tujuan normalisasi menurut Petroutsos (2000, p65) adalah:
1.
Membuat sekecil mungkin kerangkapan data
2.
Menghindari adanya data yang tidak konsisten terutama bila
dilakukan penghapusan, atau penambahan data sebagai akibat
adanya kerangkapan data
3.
Menjamin
bahwa
identitas
determinan semua atribut.
tabel
secara
tunggal
sebagai
30
Tahapan normalisasi menurut Connolly dan Begg (2005, p.401),
adalah sebagai berikut:
1.
Unnormalized (UNF), sebuah tabel yang berisi satu atau lebih
grup yang berulang. Yang dimaksud grup yang berulang itu
adalah atribut-atribut yang multivalued.
2.
Normalisasi pertama (1NF), menghilangkan perulangan. Sebuah
relasi dimana setiap baris dan kolom hanya berisi satu nilai saja.
Bentuk Normal pertama ini, dicapai apabila setiap nilai atribut
adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan
eliminasi terhadap terjadinya data ganda (repeating groups). Pada
kondisi normal pertama ini kemungkinan masih terjadi adanya
data rangkap.
3.
Normalisasi kedua (2NF), bentuk ini mempunyai syarat yaitu data
harus memenuhi kriteria 1NF dan setiap data barang yang bukan
key harus bergantung secara fungsional pada primary key-nya.
Bentuk normal kedua adalah berdasarkan konsep ketergantungan
fungsional penuh (full functional dependency). Full functional
dependency dinyatakan jika A dan B adalah atribut dari suatu
relasi, B adalah fungsional ketergantungan penuh (fully functional
dependency) pada A jika B adalah secara fungsional bergantung
pada A, tetapi bukan merupakan himpunan bagian dari A. Bentuk
normal kedua menciptakan sebuah relasi pada bentuk normal
pertama dan semua atribut yang bukan primary key adalah
fungsional tergantung penuh pada primary key.
31
4.
Normalisasi ketiga (3NF), sebuah relasi dalam bentuk normal
pertama dan kedua serta setiap atribut bukan key yang bergantung
secara transitif kepada bukan key juga.
Bentuk normal ketiga adalah berdasarkan pada konsep peralihan
ketergantungan (transitive dependency). Transitive dependency
adalah sebuah kondisi dimana A, B, dan C adalah atribut dari
sebuah relasi bahwa jika A p B dan B p C, maka C adalah
transitive dependent pada A melewati B (menyatakan bahwa A
bukan functional dependent pada B atau C). Pada bentuk normal
ketiga, sebuah relasi pada bentuk normal pertama dan kedua serta
dimana tidak ada atribut non-primary key secara transitif
bergantung (transitively dependent) pada primary key.
5.
Normalisasi Boyce-Codd (Boyce-Codd Normal Form / BCNF),
suatu relasi dinyatakan BCNF, jika dan hanya jika setiap
determinannya adalah sebuah candidate key.
Untuk menguji apakah suatu relasi sudah dalam BCNF, dilakukan
identifikasi semua determinan dan memastikan bahwa determinan
tersebut adalah candidate key. Determinan adalah sebuah atribut,
atau kumpulan atribut, dimana beberapa atribut yang lain masih
bergantung
secara
fungsional
penuh
(fully
functionally
dependent).
Perbedaan antara 3NF dan BCNF dalam hal functional
dependency. A p B, 3NF mengijinkan ketergantungan ini dalam
sebuah relasi jika B adalah atribut primary key dan A bukan
32
candidate key. Sedangkan dalam BCNF ketergantungan ini tetap
ada di dalam sebuah relasi, dimana A harus sebuah candidate key.
6.
Normalisasi keempat (4NF), sebuah relasi dalam BCNF dan tidak
mengandung ketergantungan multi-valued nontrivial (nontrivial
multi-valued dependencies).
Bentuk normal keempat merupakan bentuk yang lebih kuat dari
BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued
dependency dan data redundancy. Normalisasi dari BCNF ke 4NF
meliputi pemindahan multi-valued dependency dari relasi dengan
menempatkan atribut dalam sebuah relasi baru bersama dengan
determinan.
Multi-valued dependency menggambarkan ketergantungan antara
atribut-atribut dalam suatu relasi.
7.
Normalisasi kelima (5NF), sebuah relasi yang tidak mempunyai
ketergantungan gabungan (join dependency).
Join dependency menggambarkan sebuah tipe ketergantungan.
Sebagai contoh, untuk sebuah relasi R dengan subset-subset
atribut dari R yang dimisalkan dengan A, B, ..., Z , sebuah relasi
R menunjukkan join dependency, jika dan hanya jika, setiap nilai
dari R sama dengan gabungan dari proyeksi-proyeksinya pada A,
B, ..., Z.
Adapun anomali atau penyimpangan di dalam melakukan
perubahan terhadap data yang ada pada suatu tabel. Ada 3 anomali atau
penyimpangan menurut Connolly dan Begg (2005, p.391), yaitu:
33
1.
Insertion Anomalies
a.
Penyimpangan yang terjadi ketika ingin memasukkan
suatu data baru yang bersifat foreign key maka harus
memasukkan detil dari data tersebut secara berulang
apabila ada data yang sama. Tujuannya untuk mencegah
terjadinya ketidakkonsistenan data.
b.
Penyimpangan yang terjadi ketika ingin memasukkan
suatu data baru yang bersifat foreign key, tetapi primary
key dari data tersebut belum bisa dimasukkan karena
alasan tertentu. Ini melanggar aturan dari integrity
constraints, yaitu entity integrity (dalam sebuah relasi,
atribut primary key tidak boleh bersifat null)
2.
Deletion Anomalies
Penyimpangan yang terjadi apabila ingin menghapus suatu data di
mana data tersebut merupakan foreign key dari tabel gabungan
dan tidak ada duplikasi dari foreign key tersebut, maka detil dari
foreign key tersebut akan bebar-benar hilang dari basis data.
3.
Modification Anomalies
Penyimpangan yang terjadi apabila ingin mengubah suatu detil
data foreign key pada tabel gabungan maka harus mengubah detil
data foreign key pada setiap baris lainnya sesuai dengan data
foreign key yang diubah.
34
2.1.8
4th GL (Generation Languages)
Menurut Connolly dan Begg (2005, p.42), 4GL merupakan
bahasa-bahasa pemrograman generasi keempat yang memberikan
kelebihan baru dibandingkan dengan bahasa generasi ketiga seperti
COBOL.
Salah
satu
kelebihannya
adalah
4GL
memungkinkan
programmer untuk menulis program dengan jumlah baris yang lebih
sedikit dibandingkan pada bahasa generasi ketiga.
4GL meliputi :
•
Presentation
languages,
seperti
bahasa
query
dan
generator laporan
•
Speciality languages, seperti spreadsheets dan bahasa
basisdata
•
Application
generators,
yang
mendefinisikan,
menambahkan, mengubah, dan mengambil kembali data
dari basisdata untuk membangun aplikasi
•
Very
high-level
languages, yang
digunakan
untuk
mengeksekusi kode-kode aplikasi
Beberapa tipe lain dari 4GL adalah :
•
Forms generators
Fasilitas interaktif untuk memasukkan dan menampilkan
tampilan form pada layar secara cepat.
•
Report generators
35
Fasilitas untuk menciptakan laporan dari data-data yang
tersimpan dalam basisdata.
•
Graphics generators
Fasilitas untuk mengambil kembali data dari basisdata dan
menampilkan
data
tersebut
sebagai
grafik
yang
menampilkan tren dan hubungan antar data.
•
Application generators
Fasilitas untuk menghasilkan sebuah program yang
ditampilkan bersama-sama dengan basisdata.
2.1.9
Database Design
Menurut Connolly dan Begg (2005, p291), Database design
(perancangan basis data) adalah proses pembuatan sebuah perancangan
untuk suatu basis data yang akan mendukung operasi dan tujuan suatu
perusahaan. Proses perancangan basis data menurut Connolly dan Begg
(2005, p437), terdiri dari tiga tahap utama, yang pertama yaitu,
perancangan konseptual basis data adalah proses untuk membuat sebuah
model informasi yang digunakan dalam suatu perusahaan, serta bebas
dari semua pertimbangan fisik. Yang kedua yaitu, perancangan logikal
basis data adalah proses untuk membuat sebuah model informasi yang
digunakan dalam suatu perusahaan, berdasarkan suatu data model
spesifik, namun bebas dari DBMS tertentu dan pertimbangan fisik
lainnya. Dan yang ketiga yaitu, perancangan fisikal basis data adalah
proses untuk menghasilkan sebuah gambaran dari pengimplementasian
36
basis data pada secondary storage, menggambarkan hubungan dasarnya,
pengaturan file, pengindeksan yang digunakan untuk memenuhi akses
data yang efisien, batasan integritas terkait lainnya, dan pengukuran
keamanan.
Berikut
ini
merupakan
langkah-langkah
metodologi
dari
perancangan basis data, menurut Connolly dan Begg (2005, p439):
2.1.9.1 Perancangan Konseptual
Proses membangun sebuah rancangan informasi yang
digunakan dalam suatu perusahaan yang bebas dari pertimbangan
fisikal.
Berikut
adalah
langkah-langkah
dalam
metodologi
perancangan basisdata konseptual:
Langkah 1 : Membuat data model lokal yang konseptual untuk
setiap tampilan
1.
Mengidentifikasikan tipe entiti.
2.
Mengidentifikasikan tipe relasi atau hubungan
3.
Mengidentifikasikan dan menghubungkan atribut dengan
tipe entiti atau hubungan.
4.
Menentukan atribut domain.
5.
Menentukan atribut candidate dan primary key.
6.
Mempertimbangkan penggunaan dari perbaikan konsep
model. (langkah pilihan)
7.
Mengecek model untuk redundansi.
37
8.
Menvalidasi model data konseptual lokal terhadap
transaksi pengguna.
9.
Meninjau ulang model data konseptual lokal dengan
pengguna
2.1.9.2 Perancangan Logikal
Proses membangun sebuah rancangan informasi yang
digunakan dalam suatu perusahaan berdasarkan pada rancangan
data yang spesifik, tetapi masih bebas dari penentuan DBMS dan
pertimbangan fisikal lainnya.
Berikut adalah langkah-langkah dalam metodologi perancangan
basisdata logikal:
Langkah 2 : Membuat dan memvalidasi model data logikal lokal
untuk setiap tampilan
1.
Menghilangkan fitur-fitur yang tidak kompatibel dengan
model relasional (langkah pilihan).
2.
Membuat hubungan untuk model data logikal lokal.
3.
Validasi hubungan dengan menggunakan normalisasi.
4.
Validasi hubungan terhadap transaksi pengguna.
5.
Menentukan batasan-batasan integritas.
6.
Meninjau ulang model data logikal lokal dengan
pengguna.
Langkah 3 : Membuat dan memvalidasi model data logical global
1.
Menggabungkan model data logikal lokal ke dalam model
global.
38
2.
Validasi model data logikal global.
3.
Mengecek perkembangan yang akan datang.
4.
Meninjau ulang model data logikal global dengan
pengguna.
Pada perancangan basisdata logikal, hal yang paling
penting dan yang harus dilakukan adalah Normalisasi.
2.1.9.3 Perancangan Fisikal
Proses menghasilkan sebuah gambaran implementasi
basisdata pada media penyimpanan yang menggambarkan
hubungan dasar, organisasi data, dan indeks-indeks yang
memungkinkan pengaksesan data yang efisien.
Berikut adalah langkah-langkah dalam metodologi perancangan
basisdata fisikal:
Langkah 4 : Menterjemahkan model data logikal global untuk
DBMS.
1.
Mendesain relasi dasar.
2.
Mendesain gambaran dari data yang yang didapat.
3.
Mendesain batasan perusahaan.
Langkah 5 : Mendesain gambaran fisikal.
1.
Menganalisis transaksi.
2.
Memilih file organisasi.
3.
Memilih indeks.
4.
Memperkirakan kebutuhan kapasitas disk.
Langkah 6 : Merancang tampilan pengguna.
39
Langkah 7 : Mendesain mekanisme keamanan.
Langkah 8 : Mempertimbangkan pengenalan kontrol perulangan
Langkah 9 : Memonitor dan mengatur sistem operational.
2.1.10 Data Definition Language (DDL)
Menurut Connolly dan Begg (2005, p 40), DDL adalah sebuah
bahasa yang memungkinkan DBA atau user untuk menjelaskan dan
memberi
nama
entities,
atribut-atribut,
dan
relationshups
yang
dibutuhkan oleh aplikasi, bersama-sama dengan beberapa integrity and
security constraints yang saling berhubungan. Sedangkan Menurut
Silberschatz (2002,p 11), DDL adalah skema basisdata yang dispesifikasi
dengan sejumlah definisi yang diekspresikan dengan menggunakan
bahasa yang khusus. Sebagai contoh dalam SQL adalah proses create
table. Menurut Paul Brown (2001, p64), DDL digunakan untuk
memodifikasi struktur dari skema seperti tabel, views, penunjuk, fungsi,
prosedur, tipe data, kelas operator, dan lain-lain. Prinsip bahasa kalimat
DDL adalah antara lain CREATE, ALTER, dan DROP.
DDL digunakan untuk mendesain suatu skema atau memodifikasi
skema yang telah ada, bukan digunakan untuk memanipulasi data. Hasil
dari DDL adalah sekumpulan tabel yang tersimpan dalam file khusus
yang disebut system catalog, yang berisi metadata (data mengenai data),
kamus data, serta direktori data.
Menurut Martina (2003, p58), DDL merupakan bagian dari sistem
manajemen basis data, dipakai untuk mendefinisikan dan mengatur
40
semua atribut dan properti dari sebuah basis data. DDL digunakan untuk
mendefinisikan basis data, tabel, dan view. Berikut ini adalah beberapa
pernyataan yang termasuk dalam DDL, yaitu:
1.
Create Table
Digunakan untuk membuat tabel dengan mengidentifikasikan tipe
data untuk tiap kolom.
2.
Alter Table
Digunakan untuk menambah dan menghapus kolom dan
konstrain.
3.
Drop Table
Menghapus tabel beserta semua data yang terkait di dalamnya.
4.
Create Index
Digunakan untuk membuat indeks pada suatu tabel.
5.
Drop Index
Digunakan
untuk
menghapus
indeks
yang
sudah
dibuat
sebelumnya.
Selain itu, menurut Abdul Kadir (2001, p29), DDL adalah
perintah-perintah yang biasa digunakan oleh administrator basis data
(DBA) untuk mendefinisikan skema ke DBMS, DDL juga digunakan
untuk menciptakan, mengubah dan menghapus basis data. Skema adalah
deskripsi lengkap tentang struktur medan , rekaman, dan hubungan data
dalam basis data. Tugas utama skema adalah menjabarkan struktur basis
data kepada DBMS.
41
2.1.11 Data Manipulation Language (DML)
Menurut Connolly dan Begg (2005, p40), DML adalah sebuah
bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi
manipulasi data basis dalam data yang tersimpan pada basisdata.
Operasi manipulasi data yang biasa dipakai adalah :
•
Menambahkan data baru ke dalam basisdata
•
Memodifikasi data yang telah tersimpan dalam basisdata
•
Mengambil kembali data yang terdapat dalam basisdata
•
Menghapus data dari basisdata
Menurut Abdul Kadir (2001, p31), DML adalah perintah-perintah
yang digunakan untuk mengubah, memanipulasi dan mengambil data
pada basis data.
Menurut
Martina
(2003,
p60),
DML
digunakan
untuk
menampilkan, menambah, mengubah, dan menghapus data dalam objekobjek yang didefinisikan oleh DDL. Berikut ini adalah beberapa
pernyataan yang termasuk dalam DML, yaitu:
1.
Select
Digunakan untuk menampilkan sebagian atau seluruh isi
dari suatu tabel dan menampilkan kombinasi isi dari
beberapa tabel.
2.
Update
42
Digunakan untuk mengubah isi satu atau beberapa atribut
dari suatu tabel.
3.
Insert
Digunakan untuk menambah satu atau beberapa baris nilai
baru ke dalam suatu tabel.
4.
Delete
Digunakan untuk menghapus sebagian atau seluruh isi dari
tabel.
Sedangkan menurut Silberschatz (2002, p.12), DML adalah
sebuah bahasa yang memperbolehkan users untuk mengakses atau
memanipulasi data yang telah terorganisasi dengan menyesuaikan model
data yang ada. Pada dasarnya terdapat dua tipe, yaitu :
•
Procedural DMLs
Memperbolehkan user untuk menspesifikasi data apa yang
dibutuhkan dan bagaimana untuk mendapatkan data tersebut.
•
Declarative DMLs
Memperbolehkan user untuk menspesifikasi data apa yang
dibutuhkan
tanpa
menspesifikasi
bagaimana
untuk
mendapatkan data tersebut.
Biasanya Declarative DMLs lebih mudah untuk dipelajari
daripada Procedural DMLs
43
Penggunaan DML menurut Paul Brown (2001, p64) adalah untuk
membaca dan memodifikasi nilai data yang diakses kedalam basis data.
Empat operasi utama DML adalah SELECT, INSERT, UPDATE dan
DELETE. Selain itu ada juga dua perintah serupa untuk memanggil
procedural logic embedded dengan : EXECUTE FUNCTION dan
EXECUTE PROCEDURE.
2.2
TEORI UTAMA SISTEM PAKAR
2.2.1
Pengertian Sistem Pakar
Menurut Sri Kusumadewi (2003, p 109), secara umum system
pakar adalah system yang berusaha mengadopsi pengetahuan manusia ke
computer, agar computer dapat menyelesaikan masalah seperti yang biasa
dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat
menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para
ahli.
Sedangkan menurut Giarratano (2005, p 5), pengertian system
pakar adalah kemampuan program computer yang menggunakan
pengetahuan untuk mengatasi masalah yang cukup sulit seperti manusia
mendapatkan solusinya.
2.2.2
Keuntungan dan Kelemahan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan
adanya system pakar, menurut Sri Kusumadewi (2003, p 110) manfaat
system pakar antara lain :
o
Memungkinkan orang awam bias mengerjakan pekerjaan
para ahli
44
o
Bisa melakukan proses secara berulang secara otomatis
o
Menyimpan pengetahuan dan keahlian para pakar
o
Meningkatkan output dan produktifitas
o
Meningkatkan kualitas
o
Mampu mengambil dan melestarikan keahlian para pakar
o
Mampu beroperasi dalam lingkungan yang berbahaya
o
Memiliki kemampuan untuk mengakses pengetahuan
o
Memiliki reliabilitas
o
Meningkatkan kapabilitas system computer
Di samping memiliki beberapa keuntungan, system pakar juga
memiliki beberapa kelemahan seperti yang dinyatakan oleh Sri
Kusumadewi (2003, p 111) antara lain :
o
Biaya
yang
diperlukan
untuk
membuat
dan
memeliharanya sangat mahal
o
Sulit dikembangkan. Hal ini tentu saja erat kaitannya
dengan ketersediaan pakar di bidangnya
o
2.2.3
System pakar tidak 100% bernilai benar
Komponen-Komponen Sistem Pakar
Komponen-komponen yang ada pada system pakar menurut Sri
Kusumadewi (2003, p 114) antara lain:
1.
Subsistem penambahan pengetahuan. Bagian ini digunakan untuk
memasukkan pengetahuan, mengkonstruksi atau memperluas
pengetahuan dalam basis pengetahuan
45
2.
Basis
Pengetahuan.
dibutuhkan
Berisi
untuk
pengetahuan-pengetahuan
memahami,memformulasikan,
yang
dan
menyelesaikan masalah.
3.
Motor inferensi. Program yang berisi metodologi yang digunakan
untuk melakukan penalaran terhadap informasi-informasi dalam
basis pengetahuan dan blackboard derts digunakan untuk
memformulasikan konklusi.
4.
Blackboard. Merupakan area dalam memori yang digunakan
untuk merekam kejadian yang sedang berlangsung termasuk
keputusan sementara.
5.
Antarmuka. Digunakan untuk media komunikasi antara user dan
program.
6.
Subsistem penjelasan. Digunakan untuk melacak respon dan
memberikan penjelasan tentang kelakuan system pakar secara
interaktif.
7.
Sistem penyaring pengetahuan. System ini digunakan untuk
mengevaluasi kinerja system pakar itu sendiri untuk melihat
apakah pengetahuan-pengetahuan yang ada masih cocok untuk
digunakan di masa mendatang.
2.3
TEORI PENDUKUNG
2.3.1
Pengertian Penyewaan
Pengertian Penyewaan “The right to use or occupy personal
property or real property given by a lessor to another person (usually
called the lessee or tenant) for a fixed or indefinite period of time,
46
whereby the lessee obtains exclusive possession of the property in return
for paying the lessor a fixed or determinable consideration (payment).”
menurut (http://en.wikipedia.org/) yang artinya adalah hak untuk
menggunakan atau menempati properti milik seseorang oleh pemilik
kepada penyewa untuk jangka waktu yang ditentukan, dimana penyewa
mendapat hak atas properti secara ekslusif sebagai kompensasi atas
pembayaran yang dilakukan.
Kesepakatan antara kedua belah pihak dalam hal penyewaan akan
dicantumkan dalam perjanjian penyewaan yang merupakan perjanjian
yang diatur dalam KUH dalam Bab VII Pasal 1584 sampai dengan pasal
1580 serta disebut Perjanjian Bernama.
Berdasarkan BAB VII KUH Perdata, sewa-menyewa ialah suatu
perjanjian, dengan mana pihak yang satu mengikat dirinya untuk
memberikan kepada pihak yang lain kenikmatan dari sesuatu barang,
selama suatu waktu tertentu dan dengan pembayaran sesuatu harga, yang
oleh pihak tersebut belakangan itu disanggupi pembayarannya.
2.3.2
Perjanjian Penyewaan
Pasal 1548 KUH Perdata mendefinisikan tentang Perjanjian
Penyewaan sebagai berikut :
Perjanjian penyewaan ialah suatu persetujuan, dengan nama pihak
yang satu mengikatkan dirinya untuk memberikan kepada pihak yang
lainnya kenikmatan dari sesuatu barang selama jangka waktu tertentu
dengan pembayaran sesuatu harga,yang oleh pihak tersebut belakangan
itu disanggupi pembayarannya.
47
Aturan-aturan yang berlaku bagi pihak yang menyewakan :
1.
Menyerahkan barang yang disewakan kepada si penyewa
2.
Memelihara barang yang disewakan sedemikian, hingga barang
itu dapat dipakai untuk keperluan yang dimaksudkan
3.
Memberikan sipenyewa kenikmatan yang tenteram daripada
barang yang disewakan selama berlangsungnya sewa.
4.
Pihak yang menyewakan diwajibkan menyerahkan barang yang
disewakan dalam keadaan terpelihara segala-galanya
Perjanjian penyewaan seperti halnya dengan perjanjian-perjanjian
lainnya adalah suatu perjanjian komersial, artinya perjanjian itu sudah sah
dan mengikat pada detik tercapainya kata sepakat mengenai unsur-unsur
pokok yaitu barang dan harga. Dalam perjanjian penyewaan kewajinan
pihak yang menyewakan adalah menyerahkan barang untuk dinikmati
oleh pihak penyewa, oleh sebab itu barang yang diserahkan itu tidak
untuk dimiliki seperti halnya dalam perjanjian leasing, tetapi hanya
menikmati kegunaannya. Maka sifatnya hanya untuk menyerahkan
kekuasaan belaka atas barang yang disewa. Karena yang diserahkan
bukan hak milik dari barang itu, tetapi hanya pemakaiannya saja, maka
pihak yang menyerahkan tidak perlu seorang pemilik dari barang
tersebut.
Unsur
terpenting
dalam
perjanjian
penyewaan
kenikmatan dari sesuatu barang yang disewakan dan harga sewa.
2.3.3
Keuntungan dan Kerugian Penyewaan
Keuntungan Penyewaan (http://en.wikipedia.org/):
adalah
48
•
Penyewaan menggunakan biaya yang lebih kecil dari membeli,
sehingga bisnis dapat berkembang lebih cepat dengan menyewa
dibandingkan jika harus membeli.
•
Harga aset dapat berfluktuasi. Penyewaan dapat mengalihkan
resiko pada pemilik, tetapi jika harga aset meningkat seiring
waktu, bisnis yang bergantung pada penyewaan akan kehilangan
pendapatan.
Kerugian Penyewaan (http://en.wikipedia.org/):
•
Jika keadaan memaksa untuk perusahaan mengubah operasinya
secara signifikan, mungkin akan mahal atau sulit untuk
memutuskan penyewaan sebelum masa kontrak berakhir.
•
Jika bisni berjalan dengan sukses, maka pemilik properti mungkin
akan menawarkan harga sewa yang lebih tinggi ketika saat
pembaharuan kontrak.
Download