6 BAB 2 LANDASAN TEORI 2.1 Pengertian Basis Data Basis data

advertisement
BAB 2
LANDASAN TEORI
2.1
Pengertian Basis Data
Basis data adalah kumpulan data yang secara logika saling berhubungan dan
merupakan deskripsi dari data yang dirancang untuk memenuhi kebutuhan
informasi suatu organisasi (Conolly, 2005, p15).
Menurut Date (2000, p10), basis data adalah sebuah kumpulan data yang
cenderung digunakan secara terus-menerus oleh sistem aplikasi dari beberapa
perusahaan.
2.2
Database Management System (DBMS)
Database Management System (DBMS) adalah sebuah sistem software yang
memungkinkan para user untuk mendefinisikan, membuat, mengelola dan
menyediakan suatu kontrol akses ke database (Conolly, 2005, p16). Secara khusus
DBMS menyediakan fasilitas sebagai berikut :
1. Data Definition Language (DDL)
Memungkinkan
user
untuk
mendefinisikan
database,
membuat
spesifikasi tipe data, struktur data dan constraint data untuk disimpan dalam
database. Beberapa statement yang digunakan dalam Data Definition
Language antara lain (Conolly, 2005, p169) :
a. Create Table
Membuat tabel dengan terlebih dahulu menentukan tipe data setiap kolom.
6
7
b. Alter Table
Merubah struktur tabel yang telah dibuat sebelumnya dengan membuang
atau menambah kolom dan constraint.
c. Drop Table
Menghapus tabel yang mengalami pengulangan (redundant) beserta data di
dalamnya yang saling berkaitan.
d. Create Index
Membuat index pada sebuah tabel.
e. Drop Index
Menghapus index yang telah dibuat sebelumnya.
2. Data Manipulation Language (DML)
Memungkinkan user untuk menambah (insert), mengubah (update),
menghapus (delete) dan memperoleh kembali (retrieve) data dari database.
DML merupakan bahasa yang bertujuan memudahkan pemakai untuk
mengakses data (untuk kemudian menampilkannya atau memanipulasinya)
sebagaimana direpresentasikan oleh model data. DML juga sering disebut
sebagai Query Language. DML terdiri dari dua jenis, yaitu :
a. Prosedural
Mensyaratkan agar pemakai menentukan data apa yang diinginkan serta
menyebutkan bagaimana cara mendapatkannya.
b. Nonprosedural
Memungkinkan pemakai dapat menentukan data apa yang diinginkan tanpa
menyebutkan bagaimana cara mendapatkannya.
8
3. Pengontrol akses basis data, sebagai contoh :
a. Suatu sistem keamanan yang mencegah user yang tidak berkepentingan
mengakses database.
b. Suatu sistem terintegrasi yang memelihara konsistensi data yang disimpan.
c. Suatu sistem kontrol yang memungkinkan user untuk mengakses data
secara bersama-sama.
d. Suatu sistem kontrol yang dapat mengembalikan data dalam keadaan
seperti sebelumnya apabila terjadi error pada perangkat keras atau
perangkat lunak.
e. Suatu katalog yang dapat mendeskripsikan data dalam basis data sehingga
dapat diakses oleh pengguna.
DBMS memiliki beberapa keuntungan dan kerugian, yaitu (Conolly, 2005, p26) :
1. Keuntungan DBMS antara lain :
a. Menyediakan kontrol terhadap pengulangan data.
b. Data yang konsisten
Dengan kontrol terhadap pengulangan data maka akan mengurangi resiko
data menjadi tidak konsisten.
c. Lebih banyak informasi yang diperoleh dari data yang sama
Data operasional yang terintegrasi memungkinkan organisasi menerima
informasi tambahan dari data yang sama.
d. Data dapat digunakan secara bersama-sama oleh semua pengguna yang sah.
e. Meningkatkan integritas data.
9
f. Meningkatkan keamanan terhadap perlindungan database dari pengguna
yang tidak sah.
g. Mengizinkan Database Administrator (DBA) menetapkan dan menjalankan
standar kebutuhan.
h. Menghemat biaya dengan menggabungkan semua data operasional
organisasi menjadi satu database.
i. Menyeimbangkan kebutuhan antara satu user dengan user lainnya yang
saling bertentangan.
j. Meningkatkan pengaksesan data dan hasilnya.
k. Meningkatkan produktivitas.
l. Meningkatkan pemeliharaan melalui data independence.
m. Meningkatkan concurrency
Apabila terdapat dua atau lebih pengguna mengakses file yang sama, maka
proses pengaksesan tidak akan saling menganggu.
n. Meningkatkan backup dan recovery untuk kondisi apabila terjadi kegagalan
sistem.
2. Kerugian DBMS antara lain :
a. Memiliki sistem software yang lebih kompleks.
b. Membutuhkan ukuran yang lebih besar.
c. Biaya yang dikeluarkan bergantung pada keadaan dan fungsi yang
disediakan.
d. Membutuhkan biaya tambahan untuk hardware.
e. Biaya konversi untuk menjalankan DBMS yang baru.
10
f. Performance yang kurang cepat karena aplikasi dibuat tidak secara spesifik
melainkan general.
g. Dampak yang luas jika terjadi kegagalan.
2.3
Entity Relationship (ER) Modelling
Entity Relationship (ER) merupakan sebuah abstraksi dan representasi
konseptual dari data. Entity Relationship Modelling adalah pendekatan top-down
untuk merancang database dimana proses perancangan diawali dengan
mengidentifikasi data utama yaitu entity dan relationship yang keduanya harus
direpresentasikan dalam sebuah model (Connoly, 2005, p342). Berdasarkan
Connolly (Connolly 2005, p343-p356) Model Entity Relationship (ER) memiliki
beberapa konsep dasar, yaitu :
1. Entity Types (Tipe Entity)
Tipe Entity merupakan bentuk representasi dari kumpulan objek di “real
world” dengan properti yang sama, dimana tipe entity tersebut memiliki
keberadaan yang independen yaitu dapat menjadi objek yang nyata (fisik)
maupun tidak nyata (abstrak).
Entity occurrence adalah objek dari tipe entity yang dapat diidentifikasi secara
unik.
2. Relationship Types (Tipe Relasi)
Tipe relasi merupakan sebuah kumpulan hubungan yang memiliki arti
antara tipe-tipe entity.
11
Relationship occurrence adalah hubungan yang dapat diidentifikasi secara
unik, dimana hubungan tersebut meliputi satu kejadian dari setiap tipe entity
yang berpartisipasi.
ƒ
Degree of Relationship Type (Derajat Tipe Relasi)
Merupakan jumlah tipe entity yang berpartisipasi dalam relasi. Entity
yang berkaitan dalam tipe relasi dikenal sebagai participant dalam
relasi. Jumlah participant dalam tipe relasi dikenal sebagai degree
dari relasi. Relasi dengan degree dua disebut binary, sedangkan relasi
dengan degree tiga disebut ternary, dan relasi dengan degree empat
disebut quaternary.
ƒ
Recrusive Relationship (Relasi Rekrusif)
Merupakan sebuah tipe relasi dimana tipe entity yang sama
berpartisipasi lebih dari satu kali dalam peran yang berbeda.
3. Attribute
Attribute merupakan properti dari sebuah entity atau tipe relasi.
Attribute domain adalah kumpulan nilai-nilai yang diperbolehkan untuk satu
atau lebih atribut.
ƒ
Simple dan Composite Attribute
Simple attribute adalah atribut yang tersusun dari satu komponen
secara independen sehingga tidak dapat dipecah menjadi atribut yang
lebih kecil.
12
Composite attribute adalah atribut yang tersusun dari banyak
komponen secara independen sehingga dapat dipecah menjadi
komponen independen yang lebih kecil.
ƒ
Single-Valued dan Multi-Valued Attribute
Single-Valued Attribute adalah atribut yang hanya memiliki satu nilai
untuk setiap tipe entity. Sebagian besar atribut adalah single-value.
Multi-Valued Attribute adalah atribut yang memiliki banyak nilai
untuk setiap tipe entity.
ƒ
Derived Attribute
Merupakan sebuah atribut yang merepresentasikan nilai yang berasal
dari nilai sebuah atribut yang berhubungan atau kumpulan atribut
sehingga tidak perlu berada dalam tipe entity yang sama.
ƒ
Keys
o Candidate key adalah minimal set dari atribut yang secara unik
mengidentifikasi suatu tipe entity.
o Primary
key
adalah
candidate
key
yang
dipilih
untuk
mengidentifikasi secara unik suatu tipe entity. Candidate key yang
tidak dipilih sebagai primary key disebut alternate key.
o Composite key adalah candidate key yang terdiri dari dua atau
lebih atribut.
13
4. Strong dan Weak Entity Type
Strong entity type adalah sebuah tipe entity yang keberadaannya tidak
bergantung pada tipe entity lain. Karakteristiknya adalah setiap entity dapat
diidentifikasi dengan primary key dari tipe entity tersebut.
Weak entity types adalah sebuah tipe entity yang keberadaannya bergantung
pada tipe entity lain. Karakteristiknya adalah atribut yang terdapat pada entity
tersebut tidak dapat mengidentifikasi tipe entity secara unik.
5. Attributes on Relationship
Attributes on Relationship merupakan atribut pada relasi yang
mengidentifikasi hubungan antar entity.
6. Structural Constraints
Tipe utama batasan hubungan didalam relationship disebut multiplicity.
Berikut jenis-jenis multiplicity menurut Connolly (2005, p357):
14
ƒ
One-to-one (1:1) Relationship
Setiap entity maksimal hanya dapat memiliki satu relasi dengan entity
lain.
Entity 1
Relasi
Entity 2
r1
A
C
B
D
r2
Gambar 2.1 One-to-one (1:1) Relationship
ƒ
One-to-many (1:*) Relationship
Setiap entity dapat memiliki satu atau lebih relasi dengan entity lain.
Entity 1
Relasi
Entity 2
r1
D
A
r2
B
E
r3
C
F
Gambar 2.2 One-to-many (1:*) Relationship
15
ƒ
Many-to-many (*:*) Relationship
Setiap entity dapat memiliki lebih dari satu relasi dengan entity lain.
Entity 1
Relasi
r1
A
B
C
r2
Entity 2
D
E
r3
F
r4
G
Gambar 2.3 Many-to-many (*:*) Relationship
2.4
Siklus Hidup Aplikasi Basis Data
Menurut Connolly & Begg (2005, p283), basis data merupakan komponen
dasar dari sebuah sistem informasi yang pengembangan dan penggunaan-nya
dilihat dari perspektif kebutuhan yang lebih luas dari sebuah organisasi. Oleh
karena itu, siklus hidup sistem informasi organisasi tidak dapat dipisahkan
sehingga terhubung pada siklus hidup sistem basis data yang mendukungnya.
Siklus hidup pengembangan sistem basis data (The Database System
Development Lifecycle – DSDLC) mempunyai tahap-tahap yang tidak sepenuhnya
berurutan namun melibatkan beberapa perulangan pada tahap-tahap sebelumnya
melalui feedback loops. Tahapan siklus hidup aplikasi basis data yang dimaksud
adalah sebagai berikut:
16
Database planning
System definition
Requirements collection
and analysis
Database design
Conceptual database
design
DBMS selection
(optional)
Application design
Logical database design
Physical database
design
Prototyping (optional)
Implementation
Data conversion and
loading
Testing
Operational maintenance
Gambar 2.4 Siklus Hidup Pengembangan Sistem Basis Data
Connolly & Begg (2005, p284)
17
Penjelasan dari setiap tahap pada gambar siklus hidup di atas adalah
sebagai berikut:
1. Database Planning (Perencanaan Basis Data)
Perencanaan basis data merupakan beberapa kegiatan manajemen yang
memperbolehkan tahap-tahap siklus hidup pengembangan sistem basis data
untuk dapat dilaksanakan se-efisien dan se-efektif mungkin.
Tahap pertama yang paling penting dalam perencanaan basis data
didefinisikan oleh dua hal yaitu:
a. Mission statement
Mission statement adalah misi yang membantu menerangkan tujuan
utama sistem basis data dan menyediakan jalur yang lebih jelas kearah
pembuatan sistem basis data yang efektif dan efisien. Dalam organisasi,
definisinya akan ditentukan oleh orang-orang yang menjalankan proyek
basis data. Setelah Mission statement didefinisikan maka aktivitas
selanjutnya akan melibatkan identifikasi mission objectives-nya.
b. Mission objectives
Setiap mission objectives harus dapat mengidentifikasi tugas tertentu
yang dapat didukung oleh sistem basis data. Sebagai asumsinya, apabila
sistem basis data dapat mendukung mission objectives maka mission
statement juga harus dapat dipenuhi.
Perencanaan basis data juga harus mencakup standar-standar
pengembangan yang mengatur bagaimana data akan dikumpulkan,
bagaimana format harus dilengkapi, dokumentasi yang akan diperlukan,
dan bagaimana desain dan pelaksanaan harus diproses.
18
2. System Definition (Definisi Sistem)
Mendeskripsikan ruang lingkup dan batasan-batasan dari aplikasi basis
data dan beberapa user view yang utama. Tampilan user bergantung kepada
apa yang diminta dari aplikasi database berdasarkan sudut pandang pekerjaan
tertentu.
3. Requirements Collection and Analysis (Analisa dan Pengumpulan Kebutuhan)
Proses pengumpulan dan analisa informasi kebutuhan dari organisasi
yang harus didukung oleh sistem basis data. Dengan menggunakan informasi
ini, persyaratan sistem yang baru dapat diidentifikasi.
Pada proses pengumpulan terdapat banyak teknik yang dapat digunakan.
Teknik yang digunakan disebut fact finding. Informasi yang dikumpulkan
berdasarkan tiap user view meliputi:
ƒ
Deskripsi data yang digunakan atau dihasilkan;
ƒ
Rincian bagaimana data akan digunakan atau dihasilkan;
ƒ
Persyaratan tambahan untuk basis data yang baru.
Informasi ini kemudian dianalisa untuk mengidentifikasi persyaratan
(atau fitur-fitur) yang akan dimasukkan ke dalam sistem basis data yang baru.
4. Database Design (Perancangan Basis Data)
Database design merupakan proses pembuatan sebuah desain yang akan
mendukung mission statement dan mission objectives perusahaan untuk sistem
basis data yang diperlukan.
Terdapat dua pendekatan pada desain basis data yang disebut bottom-up
dan top-down. Pendekatan bottom-up lebih kepada perancangan basis data
19
yang sederhana dengan sejumlah atribut yang relatif kecil. Pendekatan ini
dimulai dari tingkat yang paling dasar atribut (yaitu, properti-properti entitas
dan hubunganya), yang melalui analisis hubungan antar atribut akan
dikelompokkan ke dalam relasi yang mewakili tipe dari entitas dan hubungan
diantara entitas tersebut.
Pendekatan top-down lebih kepada desain basis data yang lebih
kompleks. Pendekatan ini dimulai dengan pengembangan model data yang
mengandung beberapa entitas tingkat atas dan hubungannya. Kemudian akan
dilakukan secara berturut-turut perbaikan top-down untuk mengidentifikasi
tingkat bawah entitas, hubungannya dan atribut yang terkait.
Pendekatan desain basis data selain yang telah disebutkan, yaitu insideout–pendekatan yang lebih mirip ke bottom-up, dan mixed strategy–
pendekatan yang menggabungkan pendekatan bottom-up dan top-down.
Selain pendekatan di atas, tahap perancangan basis data ini fokus kepada
tiga fase yaitu perancangan basis data konseptual, logikal dan fisikal, yang
ketiganya akan dibahas lebih rinci di sub bab berikutnya.
5. DBMS Selection (Pemilihan DBMS)
Pemilihan DBMS yang tepat untuk mendukung basis data merupakan
pilihan yang optional, artinya dapat dilakukan apabila sekiranya perlu
dilakukan atau dapat juga tidak dilakukan. Tahapan utama dalam memilih
sebuah DBMS yaitu:
a. Mendefinisikan kerangka acuan studi;
b. Difokuskan ke dua atau tiga produk dan membuat perbandingannya;
20
c. Evaluasi produk-produk;
d. Merekomendasikan sebuah produk DBMS tertentu dan menghasilkan
laporan.
6. Application Design (Perancangan Aplikasi)
Perancangan user interface dan program aplikasi yang menggunakan
serta memproses basis data. Dalam perancangannya spesifikasi persyaratan
user harus sudah termasuk dalam perancangan aplikasi untuk sistem basis data,
bagaimana program aplikasi mengakses basis data dan perancangan
transaksinya. Selain itu, perancangan antarmuka pengguna juga harus “userfriendly” dimana pengguna dapat dengan mudah menggunakan program
aplikasi yang telah dibuat.
7. Prototyping
Pada poin tertentu selama proses perancangan, tahap ini merupakan
optional (dapat dibuat atau tidak). Apabila ingin membuatnya kita dapat
memilih untuk sepenuhnya menyelesaikan tahapan sistem basis data.
Prototyping adalah membangun sebuah model kerja dari suatu sistem
basis data. Ada dua jenis strategi prototyping yang sering digunakan, yaitu:
a. requirements prototyping–prototipe yang digunakan untuk menentukan
persyaratan dari sebuah proposal sistem basis data. Apabila proposal telah
dipenuhi maka prototipe-nya dapat dibuang.
b. evolutionary prototyping–digunakan untuk tujuan yang sama dengan
requirements prototyping. Namun terdapat perbedaan yaitu prototipe-nya
21
tidak dibuang melainkan dikembangkan menjadi sistem basis data yang
bekerja.
8. Implementation (Implementasi)
Pemrosesan dari penulisan definisi database secara konseptual, eksternal
dan internal, pembuatan file-file database yang kosong serta implementasi
aplikasi software. Menurut Connolly (2005, p304), implementation adalah
wujud fisik dari pengembangan database dan program aplikasi.
Implementasi
menggunakan
Data
pembuatan
Definition
file-file
Language
database
(DDL)
dilakukan
dari
dengan
DBMS
atau
menggunakan Graphical User Interface (GUI). User view juga diimplementasikan pada tahap ini. Sedangkan implementasi aplikasi software
adalah bentuk dari transaksi database yang di-implementasikan dengan
menggunakan Data Manipulation Language (DML). Biasanya sudah terdapat
dalam bahasa pemrograman.
9. Data Conversion and Loading (Konversi Data dan Loading)
Database ditempatkan dengan baik, sehingga jika ingin memanggil data
secara langsung ataupun merubah file–file yang sudah ada dapat ditempatkan
kembali sesuai dengan format sistem database-nya.
Tahap ini diperlukan ketika sistem database yang baru akan
menggantikan sistem database yang lama. Umumnya DBMS saat ini sudah
memiliki fungsi untuk memasukan file database yang lama kedalam database
yang baru. Fungsi ini memudahkan pihak pengembang untuk mengkonversi
22
dan menggunakan program aplikasi pada sistem yang lama ke dalam sistem
yang baru.
10. Testing (Pengujian)
Sebuah sistem yang baru harus di-test dan divalidasi (diperiksa
keabsahannya). Menurut Connolly (2005, p305), testing adalah proses menguji
program aplikasi untuk mengetahui adanya kesalahan. Beberapa keuntungan
melakukan testing :
ƒ
Mendeteksi adanya error (kesalahan), baik dari aplikasi software
maupun struktur database.
ƒ
Mengetahui kebutuhan performance dan spesifikasi yang dibutuhkan
oleh database dan program aplikasi.
Testing harus dilakukan dengan strategi pengujian yang terencana dan
hati-hati. Salah satu cara untuk menguji sistem adalah dengan menguji
database pada hardware (perangkat keras) yang berbeda. Hal ini jarang
dilakukan karena takut merusak data asli. Namun jika hendak dilakukan maka
diperlukan back up untuk mengantisipasi kesalahan.
11. Operational Maintenance (Pemeliharaan operasional)
Selama operasi, sistem di-monitor dan dipelihara. Baik data maupun
program aplikasi masih dapat terus tumbuh dan berkembang. Tahap ini
meliputi :
ƒ
Me-monitor performance system, bila performance berada ditingkat
yang rendah maka dilakukan tunning.
ƒ
Memelihara dan meng-upgrade aplikasi database (jika dibutuhkan).
23
Sebuah
DBMS
biasanya
menyediakan
berbagai
fasilitas
untuk
memudahkan administrasi database dalam melakukan pengawasan sehingga
memungkinkan sistem pemantauan memberikan informasi tentang pemakaian
database.
2.5
Perancangan Basis Data
Perancangan basis data ini fokus kepada perancangan metodologi yang terdiri
dari beberapa tahapan yang tiap tahap-nya mempunyai sejumlah tahap lagi.
Perancangan metodologi ini bertujuan untuk membimbing perancang dalam
memilih teknik yang cocok seperti bagaimana mereka merencanakan, mengatur,
mengontrol dan mengevaluasi basis data pada tiap tahapan pengembangan proyeknya. Menurut Connolly & Begg (2005, p439), proses perancangan terbagi menjadi
tiga fase utama yaitu:
1. Perancangan basis data konseptual
Perancangan basis data konseptual adalah proses membangun sebuah
model data yang digunakan dalam perusahaan, terlepas dari semua
pertimbangan fisik yang ada. Fase perancangan basis data konseptual dimulai
dengan pembuatan data model konseptual dari perusahaan, di mana semua
rincian pelaksanaannya berdiri sendiri seperti target DBMS (Database
Management System), program aplikasi, bahasa pemrograman, hardware
platform, masalah performa, atau pertimbangan fisik lainnya. Tahap-tahap
perancangan basis data konseptual meliputi:
24
Langkah 1
Membangun model data konseptual
1.1 Mengidentifikasi beberapa tipe entity
Langkah awal dalam membangun model data konseptual
adalah mengidentifikasi tipe entitas. Entity adalah sesuatu yang
mudah diidentifikasi dari suatu sistem database. Entity bisa
berupa objek, orang, tempat, kejadian atau konsep yang
informasinya disimpan. Tujuan dari langkah ini adalah untuk
menentukan kebutuhan pengguna.
Terkadang sulit untuk mengidentifikasi sebuah entity
karena
pengguna
diperhatikan
juga
berbicara
dalam
kata-kata
yang
analogi.
Maka
mengandung
perlu
synonym
(kesamaan arti) atau homonym (kesamaan penulisan, tapi beda
arti). Dokumentasi tahap ini berupa daftar entitas, keterangan
entitas dan nama lain entitas.
1.2 Mengidentifikasi beberapa tipe relationship
Setelah mendapatkan tipe-tipe entity, langkah selanjutnya
adalah mengidentifikasi relationship (hubungan) antar entity.
Umumnya hubungan yang terjadi antar entity bersifat biner, yaitu
hubungan yang melibatkan dua entitas. Namun harus diteliti
kembali untuk hubungan kompleks yang melibatkan lebih dari
dua entitas dan juga hubungan rekursif yang melibatkan satu
entitas saja. Untuk menggambarkan hubungan-hubungan tersebut
digunakan Entity Relationship Diagram. Dokumentasi tahap ini
25
berupa daftar hubungan antar entitas, beserta entitas yang terlibat
didalamnya.
1.3 Mengidentifikasi
dan
mengasosiasikan
atribut
dengan
beberapa tipe entitas dan relationship
Tahap ini mengidentifikasikan atribut-atribut pada setiap
entitas. Ada beberapa hal yang perlu diperhatikan yaitu :
ƒ
Apakah atribut tersebut sederhana atau komposit. Atribut
komposit adalah atribut yang tersusun dari beberapa atribut
kecil, seperti atribut alamat dapat dipecah-pecah menjadi
nama jalan, kota, propinsi, kode pos.
ƒ
Apakah atribut tersebut memiliki satu nilai atau banyak
nilai. Atribut yang memiliki banyak nilai misalnya atribut
nomor telepon. Atribut ini bisa dipisahkan kedalam entitas
baru.
ƒ
Apakah atribut tersebut merupakan atribut turunan. Atribut
turunan adalah atribut yang didapat dari kalkulasi atributatribut lain. Atribut semacam ini harus ditandai untuk
mencegah terjadinya kehilangan informasi.
ƒ
Apakah entitas, relasi dan atribut untuk view tidak biasa
untuk menjadi jelas saat satu atau lebih entitas, relasi dan
atribut dihilangkan dari seleksi sebelumnya.
ƒ
Saat atribut diidentifikasi, berikan nama yang dapat dengan
mudah dimengerti oleh user. Dokumentasikan informasi
berikut untuk setiap atribut :
26
™ Nama atribut dan keterangannya;
™ Tipe data dan ukurannya;
™ Nama lain dari atribut jika ada;
™ Jika atribut tersebut atribut kombinasi, sertakan
informasi mengenai atribut pembentuknya;
™ Apakah atribut tersebut multi-value;
™ Apakah atribut tersebut merupakan atribut turunan, jika
ya bagaimana mengkalkulasi nilainya;
™ Nilai default atribut tersebut.
1.4 Menentukan beberapa domain atribut
Setelah itu tahap berikutnya adalah menentukan domain untuk
tiap atribut. Tahap ini meliputi :
ƒ
Menentukan himpunan nilai yang boleh diisikan pada atribut
ƒ
Menentukan ukuran dan format atribut
Selain dua hal diatas, dapat juga disertakan informasi tentang
operasi-operasi yang boleh dilakukan pada atribut tersebut.
Dokumentasikan nama dan karakteristiknya saat mengidentifikasi
atribut domain.
1.5 Menentukan kandidat utama dan kunci atribut alternatif
Mengidentifikasi candidate key untuk setiap entity dan jika
terdapat lebih dari satu candidate key, pilih salah satu untuk
menjadi primary key. Dalam pemilihan primary key, ada beberapa
panduan yaitu :
ƒ
Candidate key dengan jumlah atribut paling sedikit;
27
ƒ
Candidate key yang paling kecil kemungkinan berubah
nilainya;
ƒ
Candidate key dengan jumlah karakter paling sedikit jika
tipenya teks;
ƒ
Candidate key dengan nilai maksimum terkecil jika tipenya
numeric;
ƒ
Candidate key yang paling mudah digunakan dari sudut
pandang pengguna.
Dalam tahap ini ditentukan pula entitas kuat dan entitas
lemah. Entitas yang tidak memiliki candidate key sebagai primary
key disebut entitas lemah sedangkan entitas yang memiliki
candidate key dan menjadi primary key disebut entitas kuat.
Dokumentasi tahap ini adalah penetapan primary key untuk setiap
entitas.
1.6 Mempertimbangkan penggunaan konsep-konsep pemodelan
yang disempurnakan (optional step)
Mempertimbangkan
penggunaan
konsep
enhanced
modeling, seperti specialization/generalization, aggregration, dan
composition.
1.7 Memeriksa model untuk redundansi
Cek untuk setiap entity dan attribute terhadap redundancy
dalam model. Pada tahap ini dilakukan pengecekan untuk
memastikan bahwa tidak ada dua entitas yang sama. Kemudian
28
diperiksa juga apakah ada hubungan antar entitas yang bersifat
rangkap. Hal yang biasa dilakukan pada tahap ini yaitu :
ƒ
Melakukan pengecekan terhadap relasi one-to-one (1:1)
ƒ
Menghapus redundant relationship.
1.8 Memvalidasi model konseptual terhadap transaksi pengguna
Menjamin model konseptual dapat mendukung kebutuhan
transaksi yang diperlukan oleh view. Pengujian dilakukan dengan
melakukan operasi-operasi pada entitas secara manual. Ada dua
cara pengujian yaitu :
ƒ
Mendeskripsikan transaksi beserta sumber data atributnya;
ƒ
Menggambarkan jalur transaksi pada ERD.
1.9 Meninjau kembali model data konseptual dengan pengguna
Melakukan review terhadap model data konseptual lokal
dengan user untuk menjamin model telah merepresentasikan
user’s view berdasarkan NEED perusahaan. Jika ditemukan
anomali pada model, maka perlu diadakan penyesuaian dengan
mengulangi beberapa langkah diatas. Proses ini dapat diulang,
hingga mendapatkan model konseptual yang dibutuhkan user.
29
2. Perancangan basis data logikal
Perancangan basis data logikal adalah proses membangun sebuah model
data yang digunakan di perusahaan yang didasarkan pada model data tertentu,
tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. Fase ini
memetakan model konseptual ke model logikal yang dipengaruhi oleh model
data untuk target basis data. Model data logikal adalah sumber informasi untuk
fase desain fisik, menyediakan perancang basis data fisikal dengan kendaraan
untuk membuat timbal balik yang sangat penting ke perancangan basis data
yang efisien. Tahap-tahap perancangan basis data logikal meliputi:
Langkah 2
2.1
Membangun dan memvalidasi model data logikal
Derived relation untuk model data logikal
Tahap ini tujuannya adalah untuk membuat hubungan bagi
model data logikal untuk mewakili beberapa entitas, hubungan,
dan atribut yang telah diidentifikasi. Berikut beberapa hubungan
yang mungkin terjadi pada model data konseptual:
ƒ
Tipe strong entity
ƒ
Tipe weak entity
ƒ
Tipe hubungan biner one-to-many (1:*)
ƒ
Tipe hubungan biner one-to-one (1:1)
ƒ
Tipe hubungan rekursif one-to-one (1:1)
ƒ
Tipe hubungan superclass/subclass
ƒ
Tipe hubungan biner many-to-many (*:*)
ƒ
complex relationship types
ƒ
multi-valued attributes
30
2.2
Memvalidasi relation menggunakan normalisasi
Tujuannya adalah untuk memvalidasi hubungan-hubungan
di dalam model data logikal menggunakan normalisasi. Tujuan
dari normalisasi adalah untuk memastikan bahwa himpunan relasi
setidaknya memiliki jumlah atribut yang cukup untuk mendukung
kebutuhan data perusahaan.
Normalisasi adalah sebuah teknik untuk menghasilkan
sebuah set hubungan dengan sifat-sifat yang diinginkan sesuai
dengan kebutuhan data dari perusahaan (Connolly & Begg, 2005,
p388).
Proses normalisasi pertama-tama dimulai dengan
mengirim data dari sumbernya (contohnya, bentuk standar entry
data) kedalam format tabel dengan beberapa baris dan kolom.
Format yang dimaksud adalah tabel dengan bentuk yang belum
ternormalisasi
(Unnormalized
form)
dan
disebut
sebagai
Unnormalized table.
Unnormalized form (UNF) adalah sebuah tabel yang
mengandung satu atau lebih repeating groups (kelompok data
yang berulang). Repeating groups adalah sebuah atau sekelompok
atribut yang berada didalam sebuah tabel dimana atribut tersebut
mempunyai beberapa nilai untuk satu atribut nominated key pada
tabel tersebut. Key yang dimaksudkan adalah atribut yang secara
unik diidentifikasi pada tiap baris didalam tabel yang belum
ternormalisasi.
31
Tingkatan normalisasi yang umum dipakai dan yang akan
digunakan dalam penulisan skripsi adalah sebagai berikut:
a) First Normal Form (1NF)
Sebuah relasi dimana persimpangan setiap baris dan
kolom berisi satu dan hanya satu nilai (Connolly & Begg,
2005, p403). Tahap penting untuk mengubah UNF ke 1NF
adalah:
ƒ
Menunjuk satu atau sekumpulan atribut sebagai
primary key pada tabel UNF
ƒ
Identifikasi repeating groups dalam tabel UNF
yang atribut kuncinya mempunyai nilai lebih dari
satu. Repeating groups dapat dihilangkan dengan
dua pendekatan yang umum yaitu:
o Masukkan data yang sesuai ke dalam kolom
kosong pada baris yang mengandung data
yang berulang.
o Menempatkan data yang berulang bersama
dengan salinan dari atribut kunci yang asli ke
dalam relasi yang terpisah.
b) Second Normal Form (2NF)
Sebuah relasi yang terdapat dalam First Normal
Form dan semua atribut non-primary-key yang secara
fungsional tergantung sepenuhnya pada primary key
(Connolly & Begg, 2005, p407). Normalisasi dari 1NF ke
32
2NF melibatkan penghilangan ketergantungan parsial
(partial dependencies). Jika ketergantungan parsial terjadi,
maka yang dihilangkan adalah atribut dependen parsial
dari relasi, dengan menempatkannya ke relasi yang baru
bersama dengan salinan determinannya.
c) Third Normal Form (3NF)
Sebuah relasi yang terdapat dalam 1NF dan 2NF di
mana tidak ada atribut non-primary-key yang secara
transitif tergantung pada primary key (Connolly & Begg,
2005, p408). Walaupun 2NF sudah lebih sedikit
redundansi daripada 1NF, tetapi update anomalies masih
dapat terjadi. Jika update hanya terjadi pada satu tuple dan
tidak yang lain, basis data akan dalam kondisi yang tidak
konsisten, dan anomali tersebut terjadi dikarenakan
ketergantungan transitif, oleh karena itu normalisasi dari
2NF ke 3NF melibatkan penghilangan ketergantungan
transitif.
2.3
Memvalidasi relation terhadap transaksi pengguna
Tujuannya adalah untuk memastikan bahwa relasi dalam
model data logikal mendukung kebutuhan transaksi. Dengan
menggunakan
relasi,
link
primary
key/foreign
key
yang
diperlihatkan pada relasi, diagram ER dan kamus data akan
dilakukan secara manual.
33
2.4
Memeriksa beberapa integrity constraint
Tujuannya adalah untuk memeriksa batasan integritas
yang ditunjukkan dalam model data logikal. Integrity constraint
adalah batasan yang dipaksakan untuk melindungi basis data dari
ketidaklengkapan,
ketidakakuratan
dan
ketidakkonsistenan.
Beberapa tipe integrity constraint yaitu:
2.5
ƒ
Required data;
ƒ
Attribute domain constraints;
ƒ
Multiplicity;
ƒ
Entity integrity;
ƒ
Referential integrity;
ƒ
General constraints.
Meninjau kembali model data logikal dengan pengguna
Tujuannya adalah untuk meninjau kembali model data
logikal dengan pengguna untuk memastikan bahwa mereka
mempertimbangkan model tersebut untuk menjadi representasi
sesungguhnya dari kebutuhan data oleh perusahaan. Jika
pengguna puas dengan model tersebut maka langkah selanjutnya
yang diambil tergantung pada jumlah user view yang terkait
dengan basis data dan bagaiman pengelolaannya.
2.6
Menggabungkan model data logikal ke model global (optional
step)
Tujuannya adalah untuk menggabungkan model data
logikal lokal ke dalam model data logikal global yang mewakili
34
semua pandangan pengguna database. Tahapan ini meliputi
proses penggabungan model data logikal lokal ke dalam global,
validasi model data logikal dan meninjau ulang model data logikal
global dengan pengguna.
2.7
Memeriksa untuk pertumbuhan di masa depan
Tujuannya
adalah
untuk
menentukan
apakah
ada
perubahan signifikan yang mungkin terjadi di masa yang akan
datang dan untuk menilai apakah model data logikal dapat
mengakomodasi perubahan tersebut.
3. Perancangan basis data fisikal
Perancangan basis data fisikal adalah proses memproduksi sebuah
deskripsi implementasi dari basis data pada penyimpanan sekunder.
Perancangan ini juga mendeskripsikan base relations, file organizations dan
indeks yang digunakan untuk mencapai akses yang efisien pada data dan
semua integrity constraints yang terkait serta langkah-langkah keamanan. Fase
ini memperkenankan perancang untuk membuat keputusan tentang bagaimana
basis data harus dilaksanakan. Oleh karena itu, perancangan fisikal disesuaikan
dengan DBMS tertentu. Terdapat umpan balik antara desain fisikal dan logikal
karena keputusan yang diambil selama desain fisikal yang digunakan untuk
meningkatkan performa dapat mempengaruhi model data logikal. Tahap-tahap
perancangan basis data fisikal meliputi:
35
Langkah 3
Menerjemahkan model data logikal untuk target
DBMS
3.1
Merancang base relations
Tujuannya adalah untuk memutuskan bagaimana relasi
dasar yang diidentifikasi dalam model data logikal dalam target
DBMS dapat diwakilkan. Dalam mewakili perancangan relasi
dasar gunakan bentuk extended dari DBDL (Database Design
Language) untuk menentukan domain, default values, dan
indikator null.
3.2
Merancang representasi dari derived data
Tujuannya adalah untuk memutuskan bagaimana derived
data apapun yang muncul di dalam model data logikal dalam
target DBMS dapat diwakilkan. Derived atau calculated attributes
adalah nilai atribut yang dapat ditemukan dengan memeriksa nilai
dari atribut lain.
3.3
Merancang general constraints
Tujuannya adalah untuk merancang beberapa general
constraint pada target DBMS. Pembaruan ke relasi mungkin
dibatasi oleh integrity constraint yang mengatur transaksi ‘real
world’.
36
Langkah 4
4.1
Merancang file organizations dan indeks
Menganalisa transaksi-transaksi
Tujuannya adalah untuk memahami fungsionalitas dari
transaksi yang akan berjalan di database dan menganalisa
beberapa transaksi penting. Dalam menganalisa transaksi yang
harus diidentifikasi pada kriteria performa yaitu:
ƒ
Transaksi
yang
berjalan
cukup
sering
dan
akan
mempunyai dampak yang signifikan pada performa;
ƒ
Transaksi yang dinilai cukup kritis ke operasi bisnis;
ƒ
Waktu dimana pada hari atau minggu tertentu terjadi
permintaan yang tinggi pada database (disebut peak load).
4.2
Memilih file organizations
Tujuannya adalah untuk menentukan organisasi file yang
efisien pada setiap base relation. Beberapa organisasi file yang
ada yaitu:
4.3
ƒ
Heap
ƒ
Hash
ƒ
Indexed Sequential Office Access Method (ISAM)
ƒ
B + -tree
ƒ
Clusters
Memilih indeks
Tujuannya adalah untuk menentukan apakah dengan
menambahkan indeks akan memperbaiki kinerja sistem.
37
4.4
Memperkirakan kebutuhan disk space
Tujuannya adalah memperkirakan jumlah ruang disk yang
akan diperlukan oleh database.
Langkah 5
Merancang user views
Tujuannya adalah untuk merancang user view yang diidentifikasi
saat melakukan tahap pengumpulan dan analisa kebutuhan dari siklus
hidup pengembangan sistem basis data.
Langkah 6
Merancang beberapa mekanisme keamanan
Tujuannya adalah untuk merancang mekanisme keamanan untuk
database yang ditentukan oleh pengguna saat melakukan tahap
pengumpulan dan analisa kebutuhan dari siklus hidup pengembangan
sistem basis data.
2.6
Tools Analisis dan Perancangan Sistem
1. Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah alat yang menggambarkan aliran data
melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut
(Whitten, 2004, p326).
Terdapat tiga simbol dan satu koneksi untuk DFD, yaitu :
1.
Persegi empat menyatakan agen eksternal yaitu batasan sistem tersebut.
2.
Persegi panjang bersudut tumpul atau lingkaran menyatakan proses atau
bagaimana tugas dikerjakan.
38
3.
Kotak dengan ujung terbuka menyatakan data store, terkadang disebut file
atau database.
4.
Panah menyatakan aliran data, atau input dan output, ke dan dari proses
tersebut.
Adapun komponen DFD yang ditentukan menurut :
a. Yourdan dan DeMarco
Gambar 2.5 Komponen DFD Menurut Yourdan dan DeMarco
b. Gene dan Serson
Gambar 2.6 Komponen DFD Menurut Gene dan Serson
2. State Transition Diagram (STD)
State Transition Diagram (STD) menunjukkan kerja internal dan siklus
hidup dari objek (Chonoles, 2003, p388). Diagram ini mengilustrasikan siklus
hidup objek dalam berbabagi keadaan yang dapat diasumsikan oleh objek dan
event-event yang menyebabkan objek beralih dari suatu state ke state lain.
39
Berikut merupakan langkah-langkah dalam membangun STD :
1. Memilih sebuah class dan fokus pada life cycle untuk semua objek
pada class tersebut.
2. Mengawali STD dengan initial state pada pojok kiri atas diagram.
3. Mengidentifikasi event.
4. Memikirkan objek seperti apa yang dibutuhkan untuk menggambarkan
event yang telah diidentifikasi.
5. Mengurutkan daftar state.
6. Menempatkan state pada diagram dan mengurutkan dari atas (initial
state) hingga ke bawah (final state).
7. Menambahkan event yang telah diidentifikasi sebelumnya pada
langkah nomor 3 untuk menghubungkan antar state.
8. Menetapkan saat objek dihapus dari sistem.
9. Menempatkan
final
state
pada
diagram
dan
memperlihatkan
perpindahan yang membawa objek dari state lain ke final state.
2.7
Interaksi Manusia dan Komputer
Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction
(HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan
implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi
fenomena-fenomena besar yang berhubungan dengannya (Definisi oleh ACM
SIGCHI). Di dalam IMK terdapat delapan aturan emas yang mendukung
perancangan user-interface. Berikut delapan aturan emas yang digunakan :
40
1.
Berusaha untuk konsisten.
Dalam perancangan user-interface bentuk tampilan seperti header, footer,
bahasa yang digunakan, singkatan, grafik, serta menu harus dibuat
sekonsisten mungkin.
2.
Memungkinkan pengguna sesering mungkin menggunakan shortcuts.
Semakin sering pengguna menggunakan shortcuts maka kecepatan
berinteraksi akan semakin meningkat.
3.
Memberikan umpan balik yang informatif
Setiap interaksi yang dijalankan, diperlukan umpan balik dari sistem.
4.
Merancang dialog yang memberikan penutup (selesai)
Setiap interaksi memiliki bagian akhir. Untuk mengakhiri setiap interaksi,
sistem harus memberikan penyampaian akhir berupa dialog sebagai tanda
bahwa interaksi berakhir.
5.
Memberikan pencegahan dan penanganan kesalahan yang sederhana
Merancang sistem yang dapat mencegah dan menangani sebuah kesalahan
sehingga permasalahan tidak menjadi lebih serius. Bentuk pencegahan
misalnya memberikan perintah apabila terdapat salah satu field yang tidak
terisi.
6.
Memungkinkan pembalikan aksi (undo) dengan mudah
Hal ini diperlukan untuk mengurangi kekhawatiran pengguna saat melakukan
kesalahan sehingga aksi yang dilakukan dapat dibalik.
41
7.
Mendukung pengendalian secara internal (internal locus of control)
Pengendalian secara internal diperlukan untuk mengurangi kesan tidak puas
para pengguna berpengalaman yang menginginkan kesan bahwa dia dapat
mengendalikan sistem dan sistem dapat merespon setiap aksi yang dilakukan.
8.
Mengurangi beban ingatan jangka pendek
Tampilan yang sederhana dan frekuensi pengurangan pergerakan window
akan memudahkan pengguna untuk mengingat.
2.8
Microsoft SQL Server 2005
SQL Server 2005 adalah edisi baru dari Microsoft SQL Server clientserver relational database. SQL Server 2005 sangat sederhana namun memiliki
banyak fitur baru yang membantu dalam me-manage relational database dan
menambahkan fungsi penting business intelligence yang baru pada banyak edisi.
SQL Server 2005 menawarkan fungsi untuk membantu menangani data penting
dalam bisnis agar lebih efektif dan efisien.
SQL Server 2005 tersedia dalam beberapa edisi berbeda :
1. Enterprise, memiliki fungsi penuh untuk mendukung skalabilitas dan
ketersediaan yang dibutuhkan oleh perusahaan besar. Mendukung jumlah CPU
yang tidak terbatas. Selain itu juga memiliki fungsi Business Inteligence yang
lengkap.
2. Standard, mendukung hingga 4 CPU. Hanya memiliki beberapa fungsi
Business Inteligence. Sebagai contoh edisi ini hanya memasukan dasar
perubahan Integration Services.
42
3. Workgroup, edisi ini mendukung Bussiness Inteligence yang terbatas. Tidak
mendukung adanya Analysis Services atau Integration Services serta Web
Services.
4. Developer, edisi ini memiliki semua fungsi termasuk didalamnya edisi
Enterprise. Namun edisi ini tidak diijinkan untuk penggunaan produksi.
5. Mobile : Microsoft’s mobile database solution. Sebagai pengganti untuk SQL
Server CE.
6. Express, low-end tree database dengan maksimum size database 4GB. Sebagai
pengganti untuk MSDE. Tidak menyediakan full text search.
2.9
Visual Basic .NET
2.9.1
Sejarah dan Perkembangan Visual Basic
Visual Basic berawal dari bahas BASIC yang dikembangkan
melalui dari tahun 1963. BASIC adalah singkatan dari Beginner’s All
Purpose Symbolic Insctruction Code. BASIC dibuat untuk memudahkan
pengguna agar dapat dengan mudah mempelajari, membuat dan
mengembangkan program komputer.
Visual Basic 1.0 merupakan versi pertama Visual Basic dan dirilis
pada tahun 1991. Versi 1.0 ditujukan untuk sistem operasi Microsoft
DOS. Visual Basic 6.0 merupakan versi yang sangat populer dan masih
banyak dipakai hingga saat ini, namun dukungan terhadap Visual Basic 6
telah dihentikan oleh Microsoft mulai bulan maret 2008.
43
Visual Basic .NET yang diluncurkan pada bulan Februari 2002
merupakan penerus dari Visual Basic 6.0 dan menggunakan platform
.NET yang berbeda dengan Visual Basic sebelumnya.
2.9.2
.NET Framework
.NET Framework merupakan software kerangka kerja yang
menghubungkan antara aplikasi .NET dengan sistem operasi, yang secara
garis besar terdiri atas :
•
Library, berisi kode-kode siap pakai dan banyak dibutuhkan oleh
programmer.
•
Virtual
machine,
berupa
aplikasi
yang
digunakan
untuk
menjalankan program hasil kompilasi.
2.9.3
Visual Basic .NET 2005
Visual Basic .NET merupakan bahasa pemrograman berorientasi
objek. Sebagai evolusi dari Visual Basic Microsoft, Visual Basic .NET
dapat diimplementasikan pada Microsoft .NET Framework.
Visual Basic 2005 merupakan update dari Visual Basic setelah
Visual Basic .NET 2003. Pada visual basic 2005 microsoft menambahkan
banyak fitur seperti :
a. Edit dan Continue
b. Design-time expression evaluation
c. My pseudo-namespace
44
d. Perbaikan pada VB ke VB.NET converter
e. Menggunakan keyword, menyederhanakan penggunaan objek-objek
yang membutuhkan pola dispose untuk resource yang kosong
f. Just My Code, menyembunyikan kode boilerplate yang ditulis oleh
Visual Studio .NET IDE
g. Data
Source
binding,
memudahkan
adalah
suatu
pengembangan
database
client/server
2.10 Teori Pendukung
2.10.1 Pembelian
Pembelian
transaksi
dimana
perusahaan
membutuhkan barang atau jasa, baik dipakai maupun untuk persediaan
yang akan dijual (Himayati, 2008, p79).
2.10.2 Penjualan
Penjualan adalah proses saat seseorang membantu orang lain
mengambil keputusan pembelian (Ashton, 2005, p8). Penjualan melalui
proses ketika produk atau jasa didefinisikan sehingga memiliki nilai merek
dan citra pribadi. Berikut merupakan ciri – ciri dari sebuah penjualan yang
baik :
1. Membutuhkan kontak langsung dengan calon pelanggan.
2. Sebuah proses untuk memperoleh komitmen.
3. Menyediakan umpan balik yang berharga dari pasar.
45
2.10.3 Persediaan
Persediaan adalah barang-barang yang dimiliki untuk dijual
kembali atau diproses lebih lanjut menjadi barang jadi yang (pada
akhirnya) akan dijual untuk memperoleh penghasilan (Soemarso, 2007,
p245).
Download