BAB 2
LANDASAN TEORI
2.1
Pendekatan Basisdata
2.1.1
Pengertian Basisdata
Menurut Connoly dan Begg (2005, p15), basisdata adalah sebuah
kumpulan data yang saling terhubung secara logis dan deskripsi dari
suatu
data yang dirancang sebagai informasi yang dibutuhkan oleh
organisasi.
Menurut Elmasri dan Navathe (2000,p4), sebuah basisdata adalah
kumpulan dari relasi
relasi data. Dengan data, kita dapat mengetahui
fakta yang dapat direcord dan memiliki arti lengkap. Di dalam basis data,
semua data diintegrasikan dengan menghindari duplikasi data.
2.1.2
Database Management System (DBMS)
Menurut Connolly dan Begg (2005, p16),
Database Management
System (DBMS) merupakan suatu piranti
lunak
yang
membuat pemakai
dapat mendefinisikan, menciptakan, mengatur
dan
mengontrol akses ke
dalam basis data. DBMS menyediakan beberapa fasilitas sebagai berikut :
Data Definition Language (DDL)
:
memperbolehkan pemakai
untuk
membuat spesifikasi tipe data, mendefinisikan basis data, struktur
data dan constraint data untuk disimpan dalam basis data.
9
|
10
Data Manipulation Language (DML) : memperbolehkan pemakai
untuk
memasukan,
memperbaharui,
menghapus, dan
mengirim atau
mengambil data.
Menurut Ramakrishnan dan Gehrke (2000, p1), DBMS adalah
piranti
lunak
yang
dirancang
untuk
membantu
dalam memelihara
dan
memanfaatkan kumpulan data dalam jumlah besar, dan kebutuhan untuk
sistem maupun pemakaiannya yang berkembang dengan cepat.
2.1.2.1
Komponen
Lingkungan
Database
Management
System
(DBMS)
Menurut Connolly dan Begg (2005,p18), ada 5 (lima)
komponen
-
komponen
yang
terdapat
dalam lingkungan
Database Management System (DBMS) yaitu :
Hardware
DBMS
dan
aplikasi-aplikasi
memerlukan hardware
untuk
beroperasi. Hardware
tersebut
dapat
berkisar
dari
komputer
pribadi tunggal, ke suatu mainframe tunggal, ke suatu jaringan
komputer.
Software
Komponen
software
terdiri
dari
DBMS
itu
sendiri
dan
program aplikasi,
bersama
dengan
sistem operasi,
termasuk
software jaringan jika DBMS sedang digunakan melalui suatu
jaringan.
Data
|
![]() 11
Barangkali komponen yang paling penting dari lingkungan
DBMS,
tentu
saja dari sudut pandang end-users, adalah data.
Data
berperan
sebagai
suatu jembatan antara komponen-
komponen mesin dan komponen-komponen manusia.
Prosedur
Merupakan instruksi dan
peraturan yang menguasai
perancangan dan penggunaan basisdata. Pengguna sistem dan
staff yang
mengatur
basisdata
yang
memerlukan
prosedur-
prosedur yang telah didokumentasikan pada bagaimana
menggunakan atau menjalankan sistem. Berikut ini terdiri dari
instruksi-instruksi:
Memasuki DBMS
Menggunakan suatu fasilitas DBMS khusus atau program
aplikasi
Menjalankan dan menghentikan DBMS
Membuat duplikat backup basisdata
Menangani kesalahan-kesalahan hardware atau software
Merubah stuktur dari suatu tabel, mengatur ulang
basisdata
melewati multiple
disks, meningkatkan kinerja,
atau menyimpan data ke secondary storage.
Manusia
Terdiri
dari
data
dan database
administrators,
database
designers, application developers, dan end-users.
|
12
Database
Administrator
(DBA)
bertanggungjawab
atas
realisasi
fisik
dari
basisdata, termasuk perancangan
basisdata
fisik dan implementasi, keamanan dan kontrol integritas,
perawatan
sistem operasional,
dan
menyakinkan
kinerja
aplikasi yang memuaskan untuk pengguna.
Application Developers
bertanggungjawab
atas
setelah
basisdata
diimplementasikan,
program aplikasi
yang
menyediakan fungsionalitas yang diperlukan untuk end-users
harus diimplementasikan.
End-users adalah klien untuk basisdata, yang telah dirancang
dan diimplementasikan, dan sedang dirawat untuk menyajikan
kebutuhan-kebutuhan
informasi
mereka.
End-users dapat
diklasifikasikan berdasarkan cara mereka menggunakan
sistem: Naïve users dan Sophisticated users.
2.1.3
Data Definition Language (DDL)
Menurut Connolly dan Begg (2005,p40), Data Definition
Language (DDL) merupakan suatu bahasa yang memperbolehkan Data
Base Administrator (DBA) atau pemakai untuk mendefinisikan basis
data, menspesifikasikan tipe data, nama entity, atribut dan hubungan yang
diperlukan untuk mendukung suatu aplikasi, bersama sama dengan
suatu manapun yang mempunyai batasan keamanan dan constraint data
untuk disimpan dalam basis data.
|
13
2.1.4
Data Manipulation Language (DML)
Menurut Connolly dan Begg (2005,p40),
Data
Manipulation
Language (DML) adalah
suatu bahasa yang menyediakan kumpulan
operasi operasi yang mendukung operasi basic data manipulation di
dalam basis data.
Adapun operasi operasi yang meliputi Data Manipulation antara lain :
Penyisipan data baru ke dalam basis data.
Modifikasi dari penyimpanan data ke dalam basis data.
Perolehan data kembali ke dalam basis data.
Penghapusan data dari basis data.
2.1.5
Fourth Generation Language (4GLs)
Menurut Connolly dan
Begg (2005,p42), Fourth Generation
Language (4 GLs) merupakan suatu pemodelan pada teknik generasi
keempat yang menggunakan alat bantu piranti lunak. Alat bantu tersebut
dapat
secara
otomatis
menghasilkan
suatu
kode
program
yang
di
buat
dengan spesifikasi yang diberikan oleh pengembangan piranti lunak.
Tahap tahap pemodelan pada teknik generasi keempat ini meliputi :
Pengumpulan data data yang dibutuhkan.
Strategi perancangan.
Implementasi dengan menggunkan 4GL.
Produk.
|
![]() 14
2.1.6
Database
System
Development
Lifecyle
Berikut
ini
merupakan diagram tahap-tahap siklus
hidup
aplikasi
basisdata,
antara
lain:
Database plannrng
System
ddlrution
Req\llfement; collection
and analym
Database
deSign
DBMS selection
(\.nceptua! database
........
Appbcahvn ·ies1gn
(opl!Onal)
...................oL..
Log:tciil d&tabase
Physical database
-
--
-
-
Prototypmg
(ophonal)
Impl mentahon
Data
cvm>trs1vn
and lvwlmg
Testmg
Operational
mamtenance
Gambar 2.1 Tahap-tahap Siklus
Hidup
Aplikasi Basisdata
|
15
2.1.6.1
Database Planning
Database Planning
merupakan
aktivitas-aktivitas
manajemen
yang
memungkinkan
tahap-tahap
dalam aplikasi
basisdata
direalisasikan se-efisien
dan
se-efektif
mungkin.
Database Planning harus diintegrasikan dengan keseluruhan
sistem informasi suatu organisasi. Ada 3 (tiga) persoalan pokok
yang terlibat dalam perumusan suatu strategi sistem informasi:
Identifikasi
rencana
dan
tujuan
perusahaan
dengan
penentuan kebutuhan sistem informasi.
Evaluasi
sistem
informasi
yang
sedang
berjalan
untuk
menentukan kelebihan dan kekurangan yang ada.
Penilaian terhadap peluang IT apakah mampu menghasilkan
keuntungan yang kompetitif.
Tahap awal
yang
penting
dalam perencanaan basisdata
adalah
menentukan dengan jelas mission statement untuk
proyek basisdata. Mission Statement ini menentukan tujuan
utama
aplikasi
basisdata. Mission
Statement
membantu
menjelaskan tujuan proyek basisdata dan menyediakan cara
yang lebih jelas untuk menciptakan suatu basisdata yang efektif
dan efisien.
Tahap
selanjutnya adalah mission objective. Setiap
mission objective harus mengidentifikasi tugas-tugas tertentu
yang akan didukung basisdata.
|
16
2.1.6.2
System Definition
System
Definition menggambarkan
ruang
lingkup
dan
batasan-batasan aplikasi basisdata dan
user
views
(gambaran
pengguna) utama. User Views menentukan apa yang dibutuhkan
oleh aplikasi basisdata dari perspektif peranan pekerjaan
tertentu
(seperti Manager
atau Supervisor)
atau
area
aplikasi
perusahaan (seperti marketing, personnel, atau stock control).
2.1.6.3
Requirements Collection and Analysis
Merupakan proses pengumpulan dan analisis informasi
bagian dari perusahaan yang akan didukung oleh aplikasi
basisdata,
dan
penggunaan
informasi untuk mengidentifikasi
kebutuhan-kebutuhan
pengguna
dari
sistem
yang
baru.
Tahap
ini melibatkan pengumpulan dan analisis informasi tentang
bagian-bagian perusahaan yang akan disajikan oleh basisdata.
Informasi yang diperoleh dari setiap pengguna antara lain:
Deskripsi data yang digunakan dan dihasilkan.
Rincian bagaimana data digunakan dan dihasilkan.
Kebutuhan
tambahan
lainnya
untuk aplikasi basisdata yang
baru.
Informasi ini kemudian dianalisis untuk mengidentifikasi
kebutuhan-kebutuhan
yang
akan
disertakan
dalam aplikasi
basisdata yang baru. Ada 3 (tiga) pendekatan utama untuk
|
17
pengaturan kebutuhan aplikasi basisdata dengan multiple
user
views, antara lain:
Pendekatan centralized
Kebutuhan-kebutuhan
untuk
setiap user
view
digabung
dalam
suatu kumpulan kebutuhan tunggal untuk aplikasi basisdata
baru.
Pendekatan view integration
Kebutuhan-kebutuhan
untuk setiap user
view digunakan
untuk
membangun
sebuah data
model
yang terpisah untuk
merepresentasikan pengguna itu sendiri. Hasil dari data model
akan digabung pada tahap perancangan basisdata.
Kombinasi antara keduanya
2.1.6.4
Database Design
Merupakan proses pembuatan suatu rancangan untuk
basisdata yang akan mendukung operasi
dan objektif
perusahaan. Ada 2 (dua) pendekatan perancangan basisdata:
Bottom-up
Pendekatan ini dimulai dari tingkat paling dasar dari atribut
(yakni properti dari entiti dan hubungan relasional) dimana
melalui analisis
gabungan antara atribut-atribut, dikelompokkan
ke dalam relasi-relasi yang merepresentasikan tipe-tipe entiti
dan
hubungan
antara
entiti.
Pendekatan
ini
lebih cocok
untuk
|
18
perancangan
basisdata
yang
sederhana
dengan
jumlah
atribut
yang relatif kecil.
Top-down
Pendekatan
ini
dimulai
dari
pengembangan data
model
yang
terdiri dari beberapa hubungan relasional dan entiti tingkat
tinggi.
Tahap-tahap dalam perancangan basisdata:
Perancangan Konseptual
Perancangan Logikal
Perancangan Fisikal
2.1.6.5
DBMS Selection
Merupakan pemilihan dari suatu DBMS
yang tepat
untuk
mendukung aplikasi basisdata. Tahap-tahap pemilihan DBMS:
Menentukan istilah referensi studi
Istilah referensi
untuk pemilihan DBMS
sudah
ditetapkan,
penetapan objektif dan ruang
lingkup studi, dan tugas-tugas yang
harus dilakukan.
Membuat daftar sementara 2 (dua) atau 3 (tiga) produk
Kriteria
yang
dipertimbangkan
untuk
menjadi
kritis
agar
implementasi dapat berjalan lancar dapat digunakan untuk
membuat daftar persiapan produk DBMS untuk evaluasi.
Mengevaluasi produk
|
19
Fitur-fitur yang memungkinkan untuk evaluasi produk DBMS
dikelompokkan
berdasarkan data
definition, physical
definition,
accessibility,
transaction
handling, utilities, development, dan
fitur-fitur lainnya.
2.1.6.6
Application Design
Merupakan perancangan
user
interface dan program
aplikasi yang menggunakan dan memproses basisdata. Ada 2
(dua) aspek penting dalam perancangan aplikasi, yakni:
Transaction Design (Perancangan Transaksi)
Transaksi merupakan sebuah aksi, atau serangkaian aksi
yang
dilakukan
oleh
seorang
pengguna
atau
program aplikasi
yang mengakses atau mengubah isi dari basisdata.
Tujuan dari perancangan transaksi adalah untuk menetapkan
dan
mendokumentasikan
karakteristik tingkat tinggi dari
transaksi yang dibutuhkan pada basisdata, yang termasuk :
1. data yang digunakan dalam transaksi
2. karakteristik fungsional dari transaksi
3. keluaran dari transaksi
4. kepentingan pengguna
5. nilai yang diharapkan dari pemakaian
Ada 3 (tiga) jenis transaksi, yaitu :
1. Retrieval
transactions,
digunakan
untuk
mendapatkan
kembali data untuk ditampilkan di layar atau dalam laporan.
|
20
2.
Update transactions, digunakan untuk menambah data,
menghapus
data
lama,
atau
memodifikasi data yang ada
dalam basisdata.
3. Mixed
Transactions,
melibatkan
retrieval
dan
update data
atau kombinasi antara keduanya.
User Interface Design (Perancangan Antarmuka)
Sebelum mengimplementasikan suatu form atau laporan, ada
perlunya merancang layout (tampilan) terlebih dahulu.
2.1.6.7
Prototyping (Optional)
Merupakan pembuatan suatu model pekerjaan dari aplikasi
basisdata. Suatu prototype adalah model yang bekerja yang
tidak
mempunyai
semua
fitur-fitur yang diperlukan atau
menyediakan
semua
fungsionaliti
dari
sistem terakhir.
Tujuan
utama
dari
pengembangan
suatu
aplikasi
basisdata prototype
adalah memungkinkan pengguna menggunakan prototype
tersebut
untuk
menentukan
fitur-fitur dari
sistem yang bekerja
dengan baik, dan jika mungkin mengusulkan peningkatan atau
bahkan fitur-fitur baru
pada aplikasi basisdata. Ada 2 (dua)
strategi prototyping pada zaman sekarang :
Requirements prototyping, menggunakan suatu prototype
untuk
menentukan
kebutuhan-kebutuhan
dari
aplikasi
basisdata yang diusulkan dan suatu waktu kebutuhan-
kebutuhan tersebut lengkap prototype dibuang.
|
21
Evolutionary
prototyping,
digunakan
untuk
tujuan
yang
sama, perbedaan yang penting adalah bahwa prototype tidak
dibuang tetapi dengan perkembangan yang lebih jauh
menjadi aplikasi basisdata yang berjalan.
2.1.6.8
Implementation
Merupakan realisasi fisik dari perancangan basisdata dan
aplikasi. Implementasi basisdata
dicapai dengan
menggunakan
Data Definition Language (DDL) dari DBMS yang dipilih atau
graphical user interface (GUI), dimana
menyediakan
fungsionaliti yang sama ketika menyembunyikan pernyataan
DDL tingkat-rendah. Pernyataan DDL tersebut digunakan untuk
membuat struktur basisdata dan file basisdata kosong.
2.1.6.9
Data Conversion and Loading
Merupakan pemindahan data yang ada ke dalam basisdata
baru dan merubah aplikasi yang ada untuk beroperasi pada
basisdata yang baru. Langkah ini diperlukan hanya ketika suatu
sistem basisdata baru menimpa sistem yang lama.
2.1.6.10 Testing
Merupakan proses pengeksekusian program aplikasi
dengan maksud pencarian kesalahan-kesalahan. Sebelum
ditunjukkan secara
langsung,
aplikasi
basisdata
yang
baru
dikembangkan seharusnya diuji sepenuhnya. Ini dicapai dengan
menggunakan strategi uji yang direncanakan secara hati-hati
|
22
dan
data yang
nyata sehingga
keseluruhan
proses
uji
diterima
secara teliti dan metodis.
2.1.6.11 Operational Maintenance
Merupakan proses pengawasan dan pertahanan sistem
berikut instalasi. Pada langkah sebelumnya, aplikasi basisdata
telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem
memasuki langkah perawatan, yang melibatkan aktivitas-
aktivitas berikut:
Mengawasi kinerja sistem. Jika kinerja jatuh di bawah
level
yang
dapat
diterima,
perbaikan
atau reorganisasi
basisdata
dibutuhkan.
Mempertahankan dan meng-upgrade aplikasi basisdata
(ketika dibutuhkan). Kebutuhan baru digabungkan ke dalam
aplikasi
basisdata
melalui
langkah terdahulu
dari
siklus
hidup.
2.1.7
Tahapan Tahapan Perancangan Basisdata
Menurut Connolly dan Begg (2005,p438) metodologi
perancangan adalah pendekatan terstruktur yang menggunakan bantuan
aturan, teknik, alat -
alat, dan dokumentasi
yang bertujuan untuk
mendukung dan memfasilitasi proses perancangan basisdata. Metodologi
perancangan basisdata atas tiga tahapan, yaitu : perancangan konseptual,
logikal, dan fisikal.
|
23
2.1.7.1 Perancangan Basisdata Konseptual
Perancangan
basisdata
secara konseptual merupakan
proses
pemodelan
secara
khusus, Menurut Connolly dan Begg
(2005,p439) dalam
merancang konseptual basisdata terdapat
tahap tahap yang dimulai dengan pembuatan sebuah konseptual
data dari sebuah perusahaan, dimana semuanya
tergantung dari
detail-detail implementasi termasuk dari target
DBMS, aplikasi
program program, bahasa bahasa pemrogramannya, perangkat
keras
yang
digunakan, performance
issues
dan
pertimbangan
pertimbangan yang lainnya.
Langkah 1 : Membangun model data konseptual
Langkah pertama dari konseptual ini bertujuan untuk
membangun sebuah model data
konseptual
dari
sebuah
perusahaan. Model data konseptual didukung dari documentasi
yang
terdiri
dari
ER
diagram dan
sebuah
kamus
data.
Adapun
langkah
langkah dari
membangun
model data konseptual
sebagai berikut :
Langkah 1.1 : Mengidentifikasi tipe entity
Tujuan
dari
langkah
ini
adalah mengidentifikasikan
tipe
data entity
yang diperlukan. Langkah ini berguna untuk
memudahkan dan menarik user dalam menspesifikan entity . Dari
langkah ini User
dapat mengidentifikasikan
kata benda
seperti
:
staff number, staff name, property number, property address, rent,
dll.
|
24
Langkah 1.2 : Mengindentifikasi tipe relasi
Langkah ini bertujuan untuk mengidentifikasi pentingnya
relasi
yang exist di antara
tipe
entity.
Mengidentifikasikan
yang
didahului dengan spesifikasi record relasi sangat dibutuhkan
dalam suatu perusahaan yang mempunyai basisdata.
Adapun langkah
langkah dalam mengidentifikasi tipe
relasi adalah sebagai berikut :
Gunakan Entity Relationship Diagram (ERD)
ERD digunakan untuk menghadirkan kesatuan dan bagaimana
tipe
relasi
tersebut
berhubungan dengan
satu sama lain dengan
mudah. Selain itu ERD dapat kapan saja digunakan untuk
membantu
membangun suatu
gambar-an dari bagian
perusahaan
yang akan dimodelkan.
Tentukan multiplicity contraints dari tipe entity
Multiplicity constraint di
gunakan untuk mengecek dan merawat
data quality. Constraints dapat di terapkan ketika basisdata sedang
di-update, tentunya jika tidak melanggar aturan dari perusahaan.
Mengecek fan dan chasm traps
Setelah
mengidentifikasi
dari
hubungan
tipe
entity yang
diperlukan, memeriksa bahwa
masing-masing hubungan di ER
model yang sesuai dengan true representation.
Document relationship types
|
25
Tipe relasi yang diidentifikasi untuk menugaskan nama yang telah
diberi keterangan yang bertujuan untuk memperjelas keterangan
yang berguna bagi user.
Langkah 1.3 : Mengidentifikasi dan mengasosiasikan atribut
suatu entity
atau tipe relasi
Langkah ini bertujuan untuk mengidentifikasi dan
mengasosiasikan atribut dan tipe relasi. Atribut atribut dari
entity dapat di
identifikasikan
melalui property,quality,indentifier
atau characteristic.
Langkah 1.4 : Mengidentifikasi domain attribute
Langkah ini bertujuan untuk menentukan
domains
dari
setiap
atribut
dalam
model
data
dan
mendokumentasikan
detail
dari setiap domains.
Langkah 1.5 : Mengidentifikasi candidate dan primary key
Tujuan dari langkah ini adalah mengidentifikasi
candidate
key
untuk setiap entity dan menyeleksi untuk dijadikan sebuah
primary key.
Langkah
1.6
:
Menggunakan
konsep
enhanced modeling
(langkah optional)
Langkah
ini
digunakan
untuk
spesialisasi, generalisasi,
agregasi dan kimposisi yang berguna untuk mendukung enhanced
modeling.
|
26
Langkah 1.7 : Mengecek redundancy
Langkah ini bertujuan untuk mengecek apakah di dalam
suatu model terdapat redundancy
Adapun langkah langkahnya sebagai berikut :
-
Memeriksa kembali one to one (1:1) relationship
Dalam mengidentifikasikan entity , ada kemungkinan bahwa
dua
entity
yang
merepresentasikan
hal
yang
sama
dalam perusahaan
diidentifikasikan ganda.
-
Menghilangkan redundancy pada relationship yang ada
Sebuah relationship dikatakan redundancy,apabila informasi yang
sama
dapat
di
peroleh
dari
relationship
yang
lain.
Model
data
yang dikembangkan diusahakan seminimal mungkin sehingga
relationship yang
redundancy tidak diperlukan dan harus di
hilangkan.
-
Menentukan dimensi waktu
Dimensi
wakitu
dari relationship
sangat penting
dalam
menilai
redundancy.
Langkah 1.8 : Memvalidasi
model konseptual local dengan
transaksi user
Bertujuan untuk memastikan konseptual data model
mendukung data yang di perlukan dalam transaksi.
|
![]() 27
Langkah 1.9 : Mereview model data konseptual dengan user
Bertujuan untuk me-review model data konseptual dengan
user
untuk memastikan apakah data model sudah benar dari
pengambilan data perusahaan.
Gambar 2.2
Contoh
gambar model data konseptual untuk view staff yang
menampilkan semua attribut
|
28
2.1.7.2 Perancangan Basisdata Logikal
Perancangan basisdata
secara
logikal
merupakan
proses
pembuatan model informasi yang digunakan perusahaan
berdasarkan model khusus, tapi
bebas dari DBMS tertentu dan
pertimbangan fisik lainnya. Tahap ini memetakan model data
konseptual pada sebuah model data logikal yang dipengaruhi oleh
data model untuk basisdata tujuan. Model data logikal merupakan
sumber informasi untuk tahap perancangan physical,
menyediakan
suatu
kendaraan
bagi
para
perancang physical
database untuk melakukan pertukaran yang sangat penting untuk
perancangan basisdata yang baik.
Langkah
2
:
Membangun
dan
memvalidasikan
model
data
logikal lokal untuk setiap view
Langkah kedua ini bertujuan untuk menterjemahkan
model data konseptual ke dalam model data logikal dan
memvalidasikannya menggunakan teknik normalisasi untuk
memastikan bahwa model data logikal yang di terjemahkan benar
secara struktur dan mendukung transaksi yang diperlukan. Dalam
langkah ini, kita memetakan setiap model data konseptual lokal
yang di buat pada langkah pertama, menjadi sebuah model data
logikal local yang mengandung ER diagram, skema relasional dan
dokumentasi pendukung.
|
29
Langkah 2.1
: Membuat relation
untuk
model
basisdata
logikal
Tujuan dari
langkah
ini adalah untuk
membuat relasi dari
model data logikal yang merepresentasikan entities, relationships,
dan
attributes
yang
telah
diketahui.
Dalam langkah
ini,
kita
membuat relasi untuk model data logikal untuk merepresentasikan
entities,
relationships,
dan
attributes yang
di
definisikan
dalam
view.
Sekarang
kami
akan
memaparkan
bagaimana relasi dapat
di
buat
dari
stuktur-struktur yang memungkinkan dan berada di
model data.
1)
Tipe Strong Entity
Untuk setiap Strong Entity yang terdapat dalam model
data, buatlah relasi yang mencakup semua attribut sederhana pada
entity tersebut.
2)
Tipe Weak Entity
Untuk setiap Weak Entity yang terdapat dalam model data,
buatlah relasi yang mencakup semua attribut sederhana pada
entity tersebut.
Primary
Key
dari
Weak
Entity
didapat
dari
sebagian atau sepenuhnya
entity
yang
memiliki
weak
entity
(Owner
Entity)
tersebut
sehingga
identifikasi primary
key
dari
sebuah
weak
entity tidak
dapat
dilakukan
sampai
semua
relationship dengan owner entity selesai di petakan.
3)
Tipe One-to-many (1:*) binary relationship
|
30
Untuk setiap 1:* binary relationship, entity pada sisi 1
(one) pada relationship ditentukan sebagai parent entity dan entity
yang berada pada sisi * (many) pada relationship akan ditentukan
sebagai child entity. Pada hubungan 1:* binary relationship, copy
dari primary key parent entity harus ditambahkan ke dalam child
entity agar dapat tercipta relationship yang benar.
4)
Tipe One-to-one (1:1) binary relationship
Membuat relasi pada tipe ini lebih kompleks karena
cardinality tak dapat di gunakan untuk mengidentifikasi parent
entity
dan
child
entity.
Participation Constraint yang
dipertimbangkan
dalam pembuatan
relasi
untuk
merepresentasikannya :
a. Mandatory participation pada kedua sisi dari 1:1 relationship
Dalam kasus seperti ini, kita harus menggabungkan entity-
entity
yang
terlibat ke
dalam
1
relationship
dan
memilih
salah
satu
primary
key dari
entity
yang
ada
untuk
jadi
primary
key
relationship yang baru, dan yang lainnya (jika ada) akan
digunakan sebagai alternate key.
b. Mandatory participation pada satu sisi dari 1:1 relationship
Dalam kasus seperti ini, kita dapat mengidentifikasikan
parent
entity
dan
child
entity menggunakan
participation
constraints.
|
31
c. Optional participation pada kedua sisi dari 1:1 relationship
Dalam kasus
ini, penentuan parent entity dan child entity
dapat dengan sembarang, kecuali kita mendapat informasi yang
lebih dari relationship tersebut yang bisa membantu menentukan
keputusan yang lebih baik dari keputusan lainnya.
5)
One-to-one (1:1) recursive relationship
Untuk kasus seperti ini, aturan pembuatan relasinya sama
dengan kondisi One-to-one (1:1) binary relationship.
a. Bila terjadi Mandatory participation pada kedua sisi dati 1:1
recursive
relationship,
representasikan recursive relationship
sebagai relasi tunggal dengan dua copy dari primary key.
b. Dan apabila mandatory participation hanya terjadi pada 1 sisi
dari
1:1 recursive
relationship,
maka
terdapat
pilihan
untuk
membuat
relasi
tunggal
dengan
dua
copy
dari
primary
key,
atau
membuat relasi baru yang merepresentasikan
relationship.
c. Apabila terjadi optional participation pada kedua sisi dari 1:1
recursive
relationship, maka
buatlah relasi yang baru seperti
yang di jelaskan diatas.
6)
Tipe superclass/subclass relationship
Untuk
membuat
relasi
pada
tipe
ini,
tentukan superclass
sebagai parent entity dan subclass sebagai child entity. Ada
banyak
pilihan
dalam merepresentasikan relationship
tipe
ini ke
dalam satu atau banyak relasi.
|
32
Pilihan yang paling tepat di antara pilihan yang ada bergantung
pada
beberapa
faktor
seperti
disjointness dan
participation
constraints pada
superclass/subclass
relationship,
keterlibatan
subclasses
dalam relationship
yang
berbeda,
dan
jumlah
participants dalam superclass/subclass relationship.
7)
Tipe Many-to-many (*:*) binary relationship
Pada tipe ini, buatlah relasi untuk merepresentasikan
relationshipnya dan masukkan semua attributes
yang merupakan
bagian dari relationship tersebut.
8)
Tipe complex relationship
Buatlah relasi untuk merepresentasikan relationship ini
dengan memasukkan semua attributes yang merupakan bagian
dari relationship tersebut.
9)
Tipe Multi-valued attributes
Buatlah relasi yang baru untuk merepresentasikan multi-
valued attributes dan masukkan primary key dari entity ke dalam
relasi yang baru untuk bertindak sebagai foreign key.
Langkah 2.2 : Validasikan relasi-relasi menggunakan
normalisasi
Dalam langkah ini kita
memvalidasikan relasi-relasi
yang
telah dibuat pada model data logikal dengan menggunakan teknik
normalisasi.
Tujuannya adalah untuk memastikan bahwa relasi-relasi
yang didapat setidaknya sudah dalam bentuk Boyce-Codd Normal
|
33
Form (BCNF).
Apabila tidak valid melalui
proses
normalisasi,
maka hal ini mengindikasikan ada bagian dari model data logikal
yang
salah
atau
terdapat
kesalahan
dalam pembuatan
relasi.
Langkah 2.3 : Validasikan relasi-relasi melalui transaksi user
Dalam langkah
ini kita memvalidasikan relasi-relasi yang
ada di
model data
logikal
lokal untuk
memastikan bahwa
relasi
dalam model data ini mendukung transaksi yang di butuhkan oleh
view seperti yang di sebutkan dalam spesifikasi kebutuhan user.
Langkah 2.4
:
Periksa integritas
dari
batasan-batasan
pada
model data (integrity constraint)
Tahap ini digunakan untuk mengecek
integritas
dari
batasan-batasan yang di representasikan pada model data logikal.
Hal ini meliputi :
Required Data (data yang dibutuhkan)
Beberapa
attribut
harus
mengandung
nilai
yang
valid.
Atau
dengan kata lain, attribut tersebut tidak boleh mengandung null.
Attribute domain constraints (batasan domain attribut)
Setiap attribut mempunya sebuah domain, yaitu sekumpulan nilai
yang legal/diperbolehkan.
Multiplicity
Entity Integrity (Integritas entity)
Primary key dari sebuah entity tidak boleh mengandung null.
Referential Integrity (Integritas referensial)
|
34
Foreign key yang menghubungkan setiap tuple pada child relation
ke tuple pada parent relation harus mengandung nilai yang sesuai
di relasi-relasi yang berhubungan.
General Constraints (Batasan umum)
Langkah 2.5 : Review model data logikal dengan user
Langkah ini merupakan langkah untuk mereview
model
data
logical
dengan
user
untuk menjamin
bahwa
user
telah
menentukan
representasi
model yang benar dari kebutuhan data
enterprise.
Langkah 2.6 : Gabungkan model data logikal ke model global
(optional)
Dalam
langkah
ini,
kita
menggabungkan
model
data
logikal
ke
dalam model
data logikal
global
tunggal
yang
merepresentasikan semua user views dari database.
1)
Penggabungan model data logikal ke model global
Pada langkah ini langkah-langkah yang dikerjakan meliputi :
a. Review nama-nama dan isi dari entity/relasi dan candidate
keysnya.
b. Review nama-nama dan isi dari relationship/foreign keys
c. Menggabungkan
entity-entity/relasi-relasi
model
data
local
d. Memasukkan entity-entity/relasi-relasi secara unik ke
dalam model data lokal
|
35
e. Menggabungkan relationship/foreign keys dari model data
lokal
f.
Memasukkan relationship/foreign keyssecara unik ke
dalam model data lokal
g. Memeriksa
apakah
ada
entity/relasi
dan
relationship/foreign keys yang hilang
h. Memeriksa foreign key
i.
Memeriksa integritas batasan-batasan yang ada.
j.
Menggambar Entity Relationship Diagram secara global.
k. Update dokumentasi.
2)
Validasi model data logikal global
Memvalidasikan relasi-relasi yang dibuat dari model data
logikal global menggunakan teknik normalisasi dan memastikan
bahwa relasi-relasi tersebut mendukung transaksi yang
dibutuhkan.
3)
Mereview model data logikal global dengan user
Dalam langkah ini, kita mereview model data logikal
global dengan user untuk memastikan bahwa model yang dibuat
telah merepresentasikan data yang dibutuhkan oleh perusahaan.
2.1.7.3 Perancangan Basisdata Fisikal
Perancangan basisdata fisikal merupakan proses
pembuatan deskripsi dari implementasi database pada secondary
strorage yang menjelaskan basis relasi, organisasi data, dan indeks
yang
digunakan
untuk
memperoleh
akses
pada
yang
baik,
dan
|
![]() 36
masalah
integritas
lainnya
yang
berkaitan,
dan
menentukan
mekanisme keamanan.
Perancangan fisikal
ini
memiliki
langkah
langkah
sebagai berikut :
Langkah 3 : Translate logical database design for target DBMS
(Menterjemahkan logikal data model ke dalam DBMS).
Langkah ini adalah langkah untuk memproduksi dasar
kerja relasional basisdata dari model data logical.
Dalam
langkah
ini
dibutuhkan
fungsionalitas dari
DBMS
target seperti bagaimana membuat base table dan apakah DBMS
mendukung definisi dari :
PK, FK, dan AK;
required data apakah sistem mendukung NOT NULL;
domains;
relational integrity rules;
business rules.
Pada Langkah ini terdapat beberapa langkah lain:
Langkah 3.1 Design base tables (Merancang base table)
Langkah ini merupakan langkah untuk memutuskan
bagaimana
menghadirkan base
table
yang dikenali dalam model
logical di dalam DBMS target.
Untuk setiap table diperlukan pengertian dari :
Nama tabel;
Daftar kolom singkat yang diberi kurung;
|
![]() 37
PK, AK dan FK;
referential integrity constraints untuk setiap FK yang dikenali.
Untuk setiap kolom diperlukan pengertian dari :
domain, terdiri dari tipe data, panjang, dan constraints pada
domain;
nilai default sebagai optional untuk kolom;
apakah kolom dapat bernilai NULL.
Langkah
3.2
Design
representation
of
derived
data
(Merancang representasi dari derived data)
Langkah
ini
merupakan
langkah
untuk
merancang
representasi dari derived data dalam basisdata.
Pilihan yang ada berdasarkan :
Penambahan biaya untuk menyimpan derived data dan
menjaganya agar tetap consistent dengan data dari tempat data
tersebut berasal;
Biaya untuk mengkalkulasi setiap waktu diperlukan.
Langkah 3.3
Design remaining business rules (Merancang
peraturan bisnis yang tersisa)
Langkah
ini merupakan
langkah
untuk
merancang the
remaining business rules untuk DBMS target.
|
![]() 38
Langkah 4
:
Choose
file
organizations and indexes (Memilih
data organisasi dan indeks).
Langkah
ini
adalah
langkah
untuk menentukan organisasi
data yang optimal dalam menyimpan base table, dan indeks yang
diperlukan untuk mencapai bentuk persetujuan.
Langkah ini terdiri dari beberapa langkah berikut ini :
Langkah 4.1 Analyze transactions (Menganalisa transaksi)
Langkah ini merupakan langkah untuk mengartikan
fungsionalitas dari transaksi dan menganalisa transaksi penting
lainnya.
Langkah ini juga menjelaskan bentuk kriteria seperti :
-
transaksi yang berjalan secara berkala dan mempunyai
dampak penting dalam pertunjukan;
-
transaksi yang merupakan kritikal bisnis;
-
waktu
selama
sehari/seminggu
ketika
ada
permintaan
pembuatan basisdata yang tinggi (yang disebut peak load).
Untuk membantu mengindentifikasi mana transaksi yang
akan diinvestigasikan, dapat menggunakan :
transaction/table
cross-reference matrix,
menunjukkan
table
yang diakses pada tiap transaksi,
transaction
usage
map,
mengindikasikan
table
yang
berpotensial sering digunakan dalam transaksi.
|
![]() 39
Gambar 2.3 Contoh gambar Pemakaian transaksi
untuk memetakan beberapa transaksi
Setiap transaksi menentukan :
(a) table dan kolom yang diakses dan tipe pengaksesannya.
(b) kolom yang digunakan dalam search conditions.
(c) untuk query, meliputi kolom yang di join.
(d) frekuensi yang jelas dari transaksi.
(e) bentuk tujuan dari transaksi.
Langkah 4.2
Choose
file
organizations (Memilih
organisasi
data)
Langkah
ini
merupakan
langkah
untuk
menentukan
keefisienan organisasi data untuk setiap base table.
|
40
Organisasi data tersebut meliputi Heap, Hash, Indexed
Sequential Access Method (ISAM), B+-Tree, dan Clusters.
Beberapa
DBMS
(PC-based DBMS)
mempunyai
organisasi data pasti yang tidak dapat di alter.
Langkah 4.3 Choose indexes (memilih indeks)
Langkah ini merupakan langkah untuk menentukan
apakah penambahan indeks akan meningkatkan kinerja sistem
atau tidak.
Pendekatannya
yaitu
menjaga record
tidak tersusun dan
membuat indeks secondary sesuai kebutuhan, atau dapat
menyusun record dalam table dengan menspesifikasikan primary
atau clustering index.
Garis-garis besar dalam pemilihan wish-list
(1) Jangan menunjuk table kecil.
(2) Tunjuk PK dari table jika bukan key dari organisasi data.
(3) Tambahkan indeks secondary ke dalam kolom yang digunakan
sebagai key secondary. (Add secondary index to any column that
is heavily used as a secondary key.)
(4) Tambahkan secondary index ke dalam FK jika sering diakses.
(5) Tambahkan secondary index ke dalam kolom yang meliputi :
selection atau join criteria; ORDER BY; GROUP BY; dan operasi
lain yang meliputi sorting (seperti UNION atau DISTINCT).
(6) Tambahkan secondary index ke dalam
kolo yang meliputi
built-in functions.
|
![]() 41
(7) Tambahkan secondary index ke dalam kolom yang dapat
menghasilkan index-only plan.
(8) Hindari menunjukan kolom atau table yang sering diupdate.
(9) Hindari penunjukan kolom jika query akan menerima
perbandingan yang jelas dari record dalam table.
(10) Hindari penunjukan kolom yang mengandung karakter string
yang panjang.
Langkah 5 : Design user views (Merancang user views)
Design
user views
dilakukan selama
tahap
Requirements
Collection and Analysis dari database application lifecycle.
Secara normal view dibuat menggunakan SQL atau fasilitas QBE-
like.
Langkah
6
:
Design
security
mechanisms
(Merancang
mekanisme keamanan)
Secara
umum
RDBMS
menyediakan
dua
tipe
dari
keamanan basisdata :
system security:
mengakses dan menggunakan basisdata
pada level system (seperti username/password);
data security:
mengakses dan menggunakan objek pada
basisdata (seperti tables dan views).
|
![]() 42
Design Security Measures - SQL
Setiap user basisdata yang ditentukan sebagai
authorization identifier dilakukan oleh DBA
(biasanya
merkaitan
dengan password).
Privileges
adalah
tindakan
dimana
user
diperbolehkan
untuk
mengatur
base
table
atau
view yang
diberikan
(seperti
SELECT, UPDATE).
Perintah GRANT membolehkan owner untuk memberikan
privileges kepada user lain.
Perintah REVOKE melepaskan privileges.
Langkah
7
:
Consider introduction of controlled redundancy
(Mempertimbangkan pengenalan
dari pengontrolan
redundancy)
Langkah ini adalah langkah untuk menentukan apakah
pengenalan
redundancy
dalam controlled
manner
oleh
aturan
normalisasi akan meningkatan kinerja sistem atau tidak.
Selain itu juga perlu ditentukan bahwa denormalisasi :
membuat implementasi lebih kompleks;
sering mengorbankan kefleksibelan;
dapat
meningkatkan
penerimaan
tapi
lama
dalam
mengupdate.
Menentukan
denormalisasi
dalam situasi
berikut
khususnya untuk meningkatkan transaksi berkala :
|
![]() 43
Langkah 7.1 Combining 1:1 relationships
Gambar 2.4 Combining 1:1 relationships
Langkah 7.2 Duplicating nonkey columns in 1:* relationships
to reduce joins
Gambar 2.5 Duplicating nonkey columns in 1:* relationships to reduce joins
|
![]() 44
Langkah
7.3 Duplicating
FK
columns
in 1:*
relationships to
reduce joins
Gambar 2.6 Duplicating FK columns in 1:* relationships to
reduce joins
Langkah 7.4 Duplicating columns in *:* relationships to reduce
joins
|
![]() 45
Gambar 2.7 Duplicating columns in *:* relationships to reduce
joins
Langkah 7.5 Introducing repeating groups
Gambar 2.8 Introducing repeating groups
|
![]() 46
Langkah 7.6 Creating extract tables
Langkah
ini
dapat
membuat extract
tabel
tunggal,
denormalisasi yang tinggi berdasarkan tabel yang diperlukan oleh
laporan, dan mengizinkan user untuk mengakses
extract tabel
secara langsung sebagai pengganti base tables.
Langkah 7.7 Partitioning tables
Sedikit mengkombinasikan tabel, dapat memisahkan tabel
ke dalam partisi yang lebih kecil.
Horizontal partition: menyebarkan records bersilangan
dengan beberapa tabel kecil.
Vertical
partition:
menyebarkan
kolom bersilangan
dengan beberapa tabel kecil.
Duplikat PK memperbolehkan
rekonstruksi.
Partisi berguna untuk aplikasi yang menyimpan dan
menganalisa data yang besar.
Keuntungan:
Meningkatkan load balancing
Meningkatkan performance
Meningkatkan availability
Meningkatkan recovery
Keamanan.
Kerugian:
Complexity
Reduced performance
|
![]() 47
Duplication.
Langkah 8 : Monitor and tune operational system (Memonitor
sistem operasional).
Langkah ini merupakan langkah
untuk mengawasi sistem
operasional
dan
mengembangkan
kinerja
sistem untuk
memperbaiki perancangan keputusan yang tidak sesuai atau
menunjukan perubahan kebutuhan.
Beberapa factor yang mungkin digunakan untuk mengukur
keefisienan :
-
Transaction throughput:
transaksi
yang
diproses
pada
saat
interval waktu yang diberikan.
-
Response time:
elapsed time untuk penyelesaian transaksi
tunggal.
-
Disk
storage: banyaknya disk space yang diperlukan
untuk
menyimpan file basisdata.
Ada
4
komponen
penting
hardware
yang
dapat
berinteraksi
dan
mempengaruhi kinerja, yaitu :
main memory
CPU
disk I/O
network.
|
48
2.1.8
Entity-Relationship (ER) Modeling
Menurut Connolly dan Begg (2005,p342), salah satu aspek yang
sulit dalam perancangan basisdata adalah kenyataannya bahwa
perancang, programmer
dan
pemakai
akhir
cenderung
melihat
data
dengan cara yang berbeda.
2.1.8.1 Entity Type
Tipe
entity
adalah
kumpulan
objek
objek
dengan
properti yang sama, yang didefinisikan oleh perusahaan yang
keberadaannya tidak tergantung.
Konsep dasar dari bentuk entity relationship adalah tipe
entity.
Sebuah
tipe
entity
memiliki
keberadaan
yang
bebas
dan
bisa
menjadi
objek
dengan keberadaan
fisik atau
menjadi objek
dengan keberadaan konseptual.
Entity Occurrence adalah objek dan tipe entity yang dapat
di identifikasikan secara unik.
|
![]() 49
Nama Entity
Staff
Branch
Gambar 2.9
Contoh Gambar Tipe Entity
(Sumber Connolly dan Begg, 2005, p345)
2.1.8.2 Tipe Relationship
Tipe relationship adalah sebuah gabungan yang
mempunyai arti di antara tipe tipe entity. Setiap tipe relationship
diberi nama sesuai dengan fungsinya. Relationship Occurance
adalah gabungan yang dapat di identifikasikan secara unik, yang
meliputi suatu kejadian dari setiap tipe entity yang beradaptasi.
Derajat dari relationship adalah jumlah dari partisipasi tipe
entity
dalam
sebuah
tipe
relationship
tertentu.
Entity yang
berkaitan
dalam sebuah
tipe
relationship dikenal
sebagai
participant
dalam relationship
dan
sejumlah
participant
dalam
relationship disebut sebagai derajat dari relationship.
2.1.8.3 Attributes
Atribut
adalah
sifat
dari
sebuah
entity
atau
sebuah
tipe
relationship.
Atribut
menyimpan
nilai
dari
setiap
entity
|
50
occurrence dan mewakili bagian
utama dari data
yang disimpan
dalam basisdata.
Attribute
domain
adalah suatu
nilai-nilai
untuk satu atau
beberapa atribut. Setiap atribut yang dihubungkan dengan
sejumlah nilai disebut domain. Domain mendefinisikan nilai-nilai
yang
dimiliki
sebuah
atribut
dan
sama
dengan
konsep
domain
pada model relasional.
Simple
attribute
adalah
atribut
yang terdiri
dari
satu
komponen tunggal dengan keberadaan yang bebas. Simple
attribute disebut juga sebagai atomic attribute.
Composite Attribute adalah atribut yang terdiri dari banyak
komponen dengan sebuah keberadaan yang bebas. Dalam hal ini,
beberapa atribut dapat dipisahkan menjadi komponen yang lebih
kecil lagi dengan keberadaan yang bebas.
Single
value attribute
adalah
atribut
yang
memiliki
nilai
tunggal untuk masing masing kejadian dari entity.
2.1.8.4 Keys
Candidate key
adalah
kunci
yang
secara
unik
mengenali
setiap kejadian di dalam tipe entity. Sebuah candidate key
tidak
boleh NULL. Sebuah entity mungkin punya lebih dari satu
candidate key.
Primary key
adalah candidate key
yang dipilih sebagai
kunci
primer
untuk
mengenali
secara unik setiap occurance dari
tipe entity.
|
![]() 51
Pemilihan primary
key
untuk
sebuah
entity
adalah
berdasarkan pada pertimbangan panjang
atribut,
jumlah
minimal
dari kebutuhan atribut, dan memenuhi syarat unik.
2.1.8.5 Structural Constraints
Tipe
utama
dari
batasan
hubungan di dalam relatioship
disebut
multiplicity. Multiplicity jumlah
kemungkinan
kejadian
dari sebuah entity yang mungkin berhubungan ke sebuah kejadian
tunggal
dari
sebuah
entity
yang tergabung melalui
sebuah
hubungan khusus.
Hubungan binary secara umum dibedakan menjadi :
Derajat hubungan one to one ( 1:1 )
Derajat hubungan antar entity 1:1 terjadi bila tiap anggota entity
Staff
hanya boleh berpasangan dengan satu anggota dari entity
Branch.
Sebaliknya,
tiap
anggota
dari
entity Branch
hanya
berpasangan dengan satu anggota dari entity Staff.
Gambar 2.10
Contoh gambar Diagram representasi hubungan one-to-one
(1:1)
|
![]() 52
Penjelasan:
Gambar di atas menunjukkan setiap staf dapat me-manage 0 (nol)
atau 1 (satu) kantor cabang dengan
menempatkan
0..1
di
samping
entiti
Branch. Sedangkan untuk menunjukkan setiap
kantor cabang hanya mempunyai 1 (satu) staf, ditempatkan 1..1
di samping entiti Staff.
Derajat hubungan One-to-Many (1:*)
Derajat
hubungan
ini terjadi bila
tiap anggota entity Staff
boleh
berpasangan dengan lebih dari satu anggota entity
PropertyForRent. Sebaliknya tiap anggota entity
PropertyForRent
hanya
boleh
berpasangan dengan
satu
anggota
entity Staff.
Gambar 2.11 Contoh Gambar Diagram representasi hubungan one-to-
many (1:*)
Penjelasan:
Gambar
di atas
menunjukkan
setiap
staf
mengatur 0
(nol)
atau
lebih properti dengan
menempatkan
0..* di samping entiti
|
![]() 53
PropertyForRent. Sedangkan untuk menunjukkan setiap properti
diatur oleh 0 (nol) atau 1 (satu) staf, ditempatkan 0..1 di
samping entiti Staff.
Derajat hubungan Many-to-Many (*:*)
Derajat hubungan antar entity ini terjadi bila tiap anggota entity
newspaper
boleh berpasangan dengan lebih dari suatu anggota
entity PropertyForRent.
Sebaliknya tiap anggota entity
PropertyForRent
juga boleh
berpasangan dengan
lebih dari satu
anggota entity newspaper.
Gambar 2.12 Contoh Gambar Diagram representasi hubungan many-to-
many (*:*)
Penjelasan:
Gambar di atas
menunjukkan
setiap properti
diiklankan
dalam
0
(nol) atau lebih koran dengan
menempatkan 0..* di samping
entiti
Newspaper.
Sedangkan
untuk
menunjukkan setiap koran
mengiklankan 1 (satu) atau lebih properti, ditempatkan 1..* di
samping entiti PropertyForRent.
|
54
2.1.9
Normalisasi
2.1.9.1 Pengertian
Menurut Connolly dan Begg (2005,p387) normalisasi adalah
teknik untuk mengorganisasikan data ke dalam table table untuk
memenuhi kebutuhan pemakai di dalam sebuah organisasi.
Tujuan dari normalisasi adalah untuk menghilangkan
kerangkapan data, untuk mengurangi kompleksitas dan untuk
mempermudah memodifikasi data.
Adapun Manfaat dari normalisasi adalah sebagai berikut:
1.
Meminimalkan jumlah storage
space yang diperlukan
untuk menyimpan data.
2.
Meminimalkan resiko data yang tidak konsisten dalam
suatu basisdata.
3.
Meminimalkan kemungkinan update dan delete anomally.
4.
Memaksimalkan stabilitas dari struktur data.
2.1.9.2 Tingkatan Normalisasi
1. First Normal Form (1NF)
Adalah relasi dimana pertemuan antar setiap baris dan kolom
terdiri 1 (satu) dan hanya 1 (satu) nilai. Dalam normalisasi
pertama ini, data yang berulang-ulang dihilangkan.
2. Second Normal Form (2NF)
Adalah
relasi
yang setiap
atributnya
adalah Full
Function
Dependency pada
seluruh
primary
key
dari
relasi
tersebut.
Dalam
normalisasi
kedua
ini,
atribut
yang
tergantung
pada
|
![]() 55
sebagian
dari
suatu
composite
key
sebuah
tabel
dipindahkan
ke sebuah tabel yang terpisah.
3. Third Normal Form (3NF)
Adalah relasi dimana semua atribut yang non-key bersifat
mutually independent.
Dengan
demikian,
tidak
ada
non-key
atribut yang bersifat functional dependent terhadap non-key
atribut yang lain. Dalam normalisasi ketiga ini, atribut yang
tidak memberikan kontribusi terhadap penjelasan karakteristik
primary key, akan dipindahkan ke sebuah tabel yang terpisah.
Keuntungan
dari
tabel
relasional
dalam 3NF
adalah
menghilangkan data yang berulang-ulang dengan tujuan
menghemat tempat dan mengurangi keanehan manipulasi.
2.2
Pengertian Internet, Web, HTML, PHP, SQL, Asuransi, dan CRM
2.2.1
Internet
2.2.1.1 Pengertian Internet
Secara harafiah,
internet (kependekan daripada perkataan
'inter-network',
ialah rangkaian komputer yang berhubung menerusi beberapa
rangkaian. Manakala Internet (huruf 'I' besar) ialah sistem
komputer umum, yang berhubung secara global dan
menggunakan TCP/IP sebagai protokol pertukaran paket (packet
switching communication protocol).
|
![]() 56
2.2.1.2 Kegunaan Internet
Banyak kegunaan yang menguntungkan yang didapatkan
dari internet dalam semua bidang (bisnis, akademis,
pemerintahan, organisasi, dan lain
sebagainya),
antara lain
(kegunaan internet,
a. Informasi
yang didapatkan
lebih
cepat dan
murah dengan
aplikasi : email, WWW, NewsGroup, FTP, Gopher, dan
lain-lain.
b. Mengurangi biaya kertas dan biaya distribusi, contoh :
koran masuk internet, majalah, brosur, dan sebagainya.
c. Sebagai
media
promosi,
contoh
:
citra
perusahaan,
pengenalan dan pemesanan produk.
d.
Komunikasi interaktif, meliputi : email, dukungan
pelanggan dengan WWW, Video Conferencing, Internet
Relay Chat, Internet Phone, dan sebagainya.
e.
Sebagai
alat Research and Development
seperti
:
untuk
pertukaran data.
f.
Sebagai alat pertukaran data.
2.2.2
Web
World
Wide
Web ("WWW"
atau
singkatnya
"Web",
)
adalah suatu
ruang
informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh
pengenal global yang disebut Uniform Resource Identifier (URI). WWW
|
![]() 57
sering dianggap sama dengan internet secara keseluruhan, walaupun
sebenarnya ia hanyalah bagian daripadanya.
2.2.3
HTML
HyperText
Markup
Language (HTML) (
http://id.wikipedia.org/wiki/HTML) adalah sebuah bahasa markup yang
digunakan untuk membuat sebuah halaman web dan
menampilkan
berbagai informasi di dalam sebuah browser internet. Bermula dari
sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan
dan percetakan yang disebut dengan SGML, HTML adalah sebuah
standar yang digunakan secara luas untuk menampilkan halaman web dan
HTML kini merupakan standar internet yang saat ini dikendalikan oleh
World Wide Web Consortium (W3C).
Versi terakhir dari HTML adalah HTML 4.01, meskipun saat ini
telah berkembang XHTML yang merupakan pengembangan dari HTML.
HTML berupa kode-kode tag yang menginstruksikan browser
untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Markup/Tanda
Secara garis besar, terdapat 4 jenis elemen dari HTML:
-
Structural. Tanda yang menentukan level atau tingkatan dari
sebuah teks (contoh, <h1>Golf</h¹> akan
memerintahkan browser
untuk menampilkan "Golf" sebagai teks tebal besar yang
menunjukkan sebagai Heading 1.
|
![]() 58
-
Presentational. Tanda yang menentukan tampilan dari sebuah
teks
tidak
peduli
dengan
level
dari
teks
tersebut
(contoh,
<b>boldface</b>
akan
menampilkan bold.
Tanda presentational
saat
ini sudah mulai digantikan oleh CSS dan tidak
direkomendasikan untuk mengatur tampilan teks.
-
Hypertext. tanda
yang
menunjukkan pranala ke bagian dari
dokumen tersebut atau pranala ke dokumen lain (contoh,
akan menampilkan Wikipedia
sebagai sebuah hyperlink ke URL tertentu).
-
Elemen
widget
yang
membuat
objek-objek
lain
seperti
tombol
(<button>), list (<li>), dan garis horizontal (<hr>).
2.2.4
PHP
Menurut Blake Schwendiman (2001,p.xv-xvi) PHP adalah bahasa
pemrograman yang diciptakan untuk memungkinkan para pengembang
web dalam membuat aplikasi web dinamis secara cepat. PHP
singkatan
dari PHP : Hypertext Prepocessor.
2.2.5
SQL
SQL (Structured Query Language,
untuk mengakses data dalam basis data relation. Bahasa ini secara defacto
adalah bahasa standar yang digunakan dalam manajemen basis data
|
59
relasional. Saat ini hampir semua server basis data yang ada mendukung
bahasa ini dalam manajemen datanya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM
bernama EF Codd yang membahas
tentang ide pembuatan basis data
relasional pada bukan juni tahun 1970. Dalam artikel ini juga dibahas
tentang kemungkinan pembuatan bahasa standar untuk mengakses data
dalam basis
data
tersebut.
Bahasa
tersebut
kemudian
diberi
nama
SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, maka IBM mengadakan proyek
pembuatan basis data relasional beserta SEQUEL. Akan tetapi karena
permasalah
hukum mengenai
penamaan
SQL,
maka
IBM
merubahnya
menjadi SQL. Implementasi basis data relasional dikenal dengan
System/R.
Di akhir tahun 1970-an muncul perusahaan bernama Oracle yang
membuat server basis data populer yang bernama sama dengan nama
perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga
ikut populer sehingga saat ini menjadi standar defacto bahasa dalam
manajemen basis data.
2.2.6
Asuransi
2.2.6.1 Definisi Asuransi
Definisi-definisi asuransi : (Soeisno Djojosoedarso,2003,p73-74)
1. Definisi
Asuransi
menurut pasal 246 Kitab
Undang-Undang
Hukum Dagang (KUHD) Republik Indonesia.
|
60
Asuransi atau pertanggungan adalah suatu perjanjian, dengan
mana seorang penanggung mengikatkan diri pada tertanggung
dengan menerima suatu premi, untuk memberi penggantian
kepadanya
karena
suatu
kerugian, kerusakan
atau
kehilangan
keuntungan yang diharapkan, yang mungkin akan dideritanya
karena suatu peristiwa yang tidak tertentu.
Berdasarkan
definisi
tersebut,
maka
dalam asuransi
terkandung empat unsur, yaitu:
a. Pihak tertanggung (insured)
Pihak yang berjanji untuk membayar uang premi kepada pihak
penanggung, sekaligus atau secara berangsur-angsur.
b. Pihak penanggung(insurer),
Pihak yang berjanji akan membayar sejumlah uang (santunan)
kepada pihak tertanggung, sekaligus atau secara
berangsur-
angsur apabila terjadi sesuatu
yang
mengandung
unsur
tidak
tertentu.
c. Suatu peristiwa (accident),
Suatu
peristiwa
yang tidak
tertentu
(tidak
diketahui
sebelumnya).
d. Kepentingan (interest),
Yang mungkin akan mengalami kerugian karena peristiwa
yang tak menentu.
2.
Definisi Asuransi menurut Prof. Willet:
|
61
Asuransi adalah alat sosial untuk mengumpulkan dana guna
mengatasi kerugian modal yang tidak tentu, yang dilakukan
melalui pemindahan resiko dari banyak individu kepada
seseorang atau sekelompok orang.
3. Definisi
Asuransi menurut C.Arthur William Jr dan Richard
M.Heins
Mendefinisikan asuransi berdasarkan dua sudut pandang :
a. Asuransi adalah suatu pengamanan terhadap kerugian
financial yang dilakukan oleh seorang penanggung.
b.
Asuransi adalah suatu persetujuan dengan mana dua
atau lebih orang atau badan mengumpulkan dana untuk
menanggulangi kerugian finansial.
Simpulan definisi asuransi adalah : Asuransi adalah suatu
alat untuk mengurangi resiko yang
melekat
pada perekonomian,
dengan
cara
menggabungkan
sejumlah unit-unit yang terkena
resiko
yang
sama atau
hampir
sama, dalam jumlah
yang
cukup
besar, agar probabilitas
kerugiannya
dapat
diramalkan
dan
bila
kerugian
yang diramalkan terjadi akan dibagi secara proporsional
oleh semua pihak dalam gabungan itu.
2.2.6.2 Prinsip-Prinsip Dasar Asuransi
Ada empat prinsip yang dimiliki asuransi, yaitu: ( Soeisno
Djojosoedarso, 2003,p109)
Insurable Interest (Kepentingan yang dapat diasuransikan)
|
62
Jika suatu kejadian dapat menimbulkan kerugian kepada
seseorang, maka berarti orang
yang bersangkutan mempunyai
kepentingan terhadap kerugian tersebut.
Indemnity (Indemnitas)
Suatu perjanjian penggantian kerugian, di mana ganti rugi
yang diberikan tidak boleh melebihi kerugian yang
sebenarnya.
Subrogasi
Prinsip
ini
bertujuan
agar
penderita peril
tidak
memperoleh
keuntungan dari terjadinya
kerugian, maka
pihak yang
menyebabkan terjadinya kerugian juga memberikan ganti rugi.
Utmost Good Faith (Kejujuran Sempurna)
Merupakan
prinsip adanya
itikad
baik
atas
dasar saling
percaya antara pihak penanggung dengan pihak tertanggung
dalam melaksanakan
kontrak penutupan pertanggungan
(asuransi).
2.2.7
CRM (CUSTOMER RELATIONSHIP MANAGEMENT)
Menurut kalakota dan Robinson (1999,p111) CRM didefinisikan
sebagai suatu penjualan, pemasaran
dan
strategi
pelayanan
yang
terintegrasi
yang
menghindarkan kepemimpinan
tunggal
dan
yang
bergantung pada tindakan perusahaan yang terkoordinasi secara luas.
|
![]() 63
Menurut Jill Dyche (2002,p4) definisi
dari
CRM
adalah
infrastruktur yang memungkinkan penggambaran dari pertambahan nilai
pelanggan
dan
dalam artian
untuk
memotivasi
customer
yang
bernilai
tinggi untuk tetap loyal (setia pada produk membeli produk kembali).
Customer
Relationship
Management
adalah strategi pada level perusahaan yang berfokus pada pembuatan dan
pemeliharaan hubungan yang berkesinambungan dengan pelanggannya.
2.2.7.1 Aspek Implementasi CRM
Adapun
aspek
implementasi CRM ( Customer Relationship
Management ) terdiri dari 3 ( tiga )
antara lain : (
onship_management)
-
Operasional CRM yaitu pihak perusahaan yang memberi atau
menjual pelayanan kepada pelanggan untuk memproses yang
informasi suatu perusahaan.
-
Collaborative CRM yaitu pihak perusahaan berinteraksi
dengan pelanggan.
-
Analytical
CRM yaitu
menganalisa data
pelanggan
setelah
menggunakan produk dan jasa perusahaan.
|
![]() 64
2.2.7.2 Tujuan CRM
Customer
Relationship
Management
Bertujuan dengan menggunakan teknologi berguna untuk
membantu
perusahaan
dalam menjalin
hubungan
dengan
pelanggan.
2.2.7.3 Strategi CRM
Adapun strategi dalam mewujudkan CRM antara lain :
-
Perusahaan
menyediakan jasa dan informasi produk.
-
Mengetahui keinginan pelanggan.
-
Menawarkan layanan yang baik kepada pelanggan.
-
Membantu perusahaan dalam penjualan produk.
|