Upload
bahar-de-mario
View
23
Download
1
Embed Size (px)
Citation preview
BAB 2
LANDASAN TEORI
2.1 Teori- Teori Dasar/Umum
Teori-teori ini diperlukan untuk mendukung penulisan laporan tugas
akhir yang dibuat sebagai landasan dan acuan melakukan perancangan pada
database.
2.1.1 Data
Data merupakan komponen terpenting yang ada di dalam
database. Data juga digunakan untuk sumber daya pada suatu
perusahaan atau organisasi untuk membuat suatu database pada
aplikasi yang memerlukan data untuk di olah agar dapat menjadi
informasi yang berguna.
Menurut Connolly & Begg (2010, p70), data merupakan
bagian terpenting dari komponen suatu basis data.
Menurut Hoffer, Prescott & Topi (2009, p46), data adalah
representasi objek dan kejadian yang tersimpan dan mempunyai arti
dan kepentingan kepada lingkungan pengguna.
Jadi, data adalah komponen penting dalam suatu basis data
yang mem-presentasikan objek dan kejadian yang tersimpan sehingga
memiliki arti dan kepentingan untuk penggunanya.
2.1.2 Sistem
Sistem adalah komponen yang saling terhubung satu dengan
lainnya, sehingga menjadi suatu kesatuan yang utuh. Sistem juga
diperlukan untuk memberdayakan penggunaan informasi. Sistem
digunakan untuk mengintegrasikan data yang ada pada aplikasi.
Menurut Gelinas & Dull (2008, p11), sistem adalah kumpulan
dari elemen yang berdiri sendiri yang secara bersamaan untuk
mencapai tujuan tertentu. Sistem harus memiliki organisasi,
hubungan, integrasi, dan tujuan utama.
8
9
Menurut Hall (2011, p5), secara umum sistem dapat dikatakan
sebagai hasil penggambaran dari komputer dan pemrograman. Sistem
adalah kumpulan dari dua atau lebih komponen atau subsistem yang
saling terkait untuk tujuan tertentu. Sistem harus menyediakan
setidaknya satu tujuan, tetapi dapat juga menyediakan lebih dari satu
tujuan. Saat sistem tidak memiliki tujuan lagi, maka sistem tersebut
harus digantikan.
Jadi, sistem adalah kumpulan dari dua atau lebih komponen
yang berdiri sendiri dan saling terkait untuk mencapai tujuan tertentu.
2.1.3 Informasi
Informasi merupakan pengolahan dari data yang terkumpul
dan dapat digunakan sebagai referensi perusahaan atau organisasi di
dalam pengambilan keputusan. Tidak hanya untuk perusahaan,
bahkan dunia maya juga dapat memberikan ataupun menyebarkan
informasi.
Menurut Gelle & Karhu (2010) dalam jurnalnya yang berjudul
“Information Quality for Strategic Technology Planning”, informasi
menjadi lebih global dari sebelumnya, dengan mengikuti
perkembangan pasar dan teknologi. Orang-orang harus
memperhatikan seluruh dunia, informasi yang tersebar diterima dari
distribusi sumber-sumber yang sudah ada.
Menurut Hoffer, Prescott & Topi (2009, p47), data yang telah
diproses sedemikian rupa sehingga meningkatkan pengetahuan dari
orang yang menggunakan tersebut dinamakan informasi.
Menurut Rainer (2007, p5), informasi mengacu pada data yang
telah terorganisir sehingga data memiliki makna dan nilai kepada
penerima.
Jadi, informasi adalah sebuah pengetahuan yang telah diproses
lebih lanjut terhadap data yang dimiliki sehingga data tersebut
memiliki makna dan nilai kepada penerima.
10
2.1.4 Database (Basis Data)
Database terdiri dari tabel-tabel yang saling terhubung satu
sama lain. Basis data ini memungkinkan untuk melakukan
penyimpanan data di internet sehingga tidak perlu memiliki database
dalam yang berbentuk fisik.
Menurut Connolly & Begg (2010, p65), database adalah
kumpulan dari relasi data logikal yang saling terkait (dan deskripsi
data), dirancang untuk memenuhi informasi yang dibutuhkan oleh
organisasi.
Pada buku karangan (Kusrini, 2007, p. 5) memuat beberapa
pengertian database, antara lain:
Himpunan kelompok data yang saling berhubungan yang telah
diorganisasi sedemikian rupa agar dapat dimanfaatkan dengan
cepat dan mudah.
Kumpulan data yang saling terintegrasi yang digunakan untuk
memenuhi kebutuhan akan data dengan cepat.
Kumpulan data yang saling berhubungan yang disimpan
secara bersama dan tidak ada pengulangan pada masing-
masing datanya.
Kumpulan arsip yang saling berhubungan dan disimpan dalam
media penyimpanan elektronik.
Dari pengertian di atas dapat ditarik kesimpulan bahwa
database adalah kumpulan dari data – data yang saling berkaitan
secara logis yang berguna untuk memenuhi kebutuhan pengguna.
Menurut Kroenke (2010, p12), database adalah kumpulan
tabel-tabel yang terintegrasi yang menjelaskan dirinya sendiri.
Sedangkan tabel terintegrasi itu sendiri adalah tabel-tabel yang
menyimpan seluruh data dan hubungan diantara data.
Menurut Liping Lu (2011), dalam jurnalnya yang berjudul
“Database Design Base on GIS Gas Management Network”, database
yang dikombinasikan dengan sistem pengelolaan model dan analisis
yang baik dapat menyediakan informasi berguna untuk perencanaan,
manajemen, dan pengambilan keputusan.
11
Jadi, database adalah suatu kumpulan data yang saling terkait
dan dirancang untuk memenuhi kebutuhan informasi bagi organisasi.
2.1.5 Database Management System (DBMS)
Dalam penggunaannya, DBMS berguna untuk meningkatkan
kualitas suatu perusahaan dengan mengatur proses bisnis perusahaan.
Menurut Hoffer, Prescott & Topi (2009, p49), DBMS adalah
sebuah sistem perangkat lunak yang digunakan untuk membuat,
memelihara, dan menyediakan akses kontrol untuk pengguna basis
data. Sebuah DBMS menyediakan metode sistematik untuk membuat,
memperbarui, menyimpan, mengambil data di databse.
Menurut Connolly & Begg (2010, p66), DBMS adalah sebuah
sistem perangkat lunak yang mampu mendefinisikan, membuat,
memelihara, dan mengatur akses ke databse.
Menurut Kroenke (2010, p11), DBMS digunakan untuk
membuat sebuah basis data dan untuk membuat tabel dan sebagai
struktur lain yang membantu di dalam databse.
Jadi, DBMS adalah sistem perangkat lunak yang mempunyai
kemampuan untuk membuat, menyimpan, memelihara, mengelola,
mengambil data dan mengatur akses ke databse.
2.1.5.1 Fungsi Database Management System (DBMS)
DBMS sangat berguna bagi perusahaan dalam
menjalankan proses bisnisnya agar dapat bersaing dengan
perusahaan lain. Menurut Connolly & Begg (2010, p99),
fungsi DBMS terdiri dari:
1. Data Storage, Retrieval, and Update
Sebuah DBMS harus menyediakan kemampuan untuk
menyimpan, mengambil, dan memperbaharui data
dalam database.
2. A User-Accessible Catalog
12
Sebuah DBMS harus menyediakan sebuah katalog
yang menggambarkan item data yang tersimpan dan
dapat diakses oleh pengguna.
3. Transaction Support
Sebuah DBMS harus menyediakan mekanisme yang
akan memastikan semua kegiatan update yang
berhubungan dengan transaksi maupun tidak.
4. Concurrency Control Service
Sebuah DBMS harus menyediakan mekanisme untuk
memastikan database diperbaharui dengan benar
ketika banyak pengguna melakukan update data pada
basis data secara bersamaan.
5. Recovery Services
Sebuah DBMS harus menyediakan mekanisme untuk
memperbaiki database jika terjadi kerusakan pada
basis data.
6. Authorization Services
Sebuah DBMS harus menyediakan mekanisme untuk
memastikan bahwa hanya pengguna yang diizinkan
dapat mengakses database
7. Support for Data Communication
Sebuah DBMS harus dapat berintegrasi dengan
perangkat lunak komunikasi.
8. Integrity Services
Sebuah DBMS harus menyediakan sebuah cara untuk
memastikan bahwa data dalam database dan
perubahan pada data, keduanya mengikuti aturan-
aturan yang ada.
9. Services to Promote Data Independence
Sebuah DBMS harus memiliki fasilitas untuk
mendukung kebebasan program dari struktur basis data
yang sebenarnya.
10. Utility Services
13
Sebuah DBMS harus menyediakan berbagai layanan
kegunaan.
2.1.5.2 Komponen Database Management System (DBMS)
Untuk menjalankan DBMS, dibutuhkan beberapa
komponen yang mendukungnya agar menjadi satu kesatuan di
dalam sistem.
Menurut Connolly & Begg (2010, p68), komponen-
komponen lingkungan DBMS terdiri dari:
1. Hardware (Perangkat Keras)
DBMS dan aplikasi memerlukan perangkat keras untuk
menjalankan agar sistem dapat berjalan dengan baik.
2. Software (Perangkat Lunak)
Perangkat lunak yang menghubungkan DBMS bersama
sistem operasi juga dengan jaringan berjalan bersama
melalui bahasa pemrograman Third-Generation
Programming Language seperti C , C#, C++, Java,
Visual Basic, COBOL, Fortran, Ada, atau Pascal atau
Fourth-Generation language seperti SQL.
3. Data
Data merupakan bagian terpenting dalam DBMS. Pada
struktur database ada yang dinamakan skema,
metadata, dan struktur data.
4. Procedure (Prosedur)
Prosedur merupakan instruksi dan aturan yang
diberikan dalam merancang basis data. Hal ini
bertujuan untuk mengelola basis data untuk dijalankan
pada sistem.
5. People (Orang)
Komponen terakhir adalah orang yang dapat
mempengaruhi sistem yang berjalan.
14
Gambar 2.1 Komponen DBMS Environment
(Sumber : Connolly, 2010, p68)
2.1.5.3 Keunggulan Database Management System (DBMS)
DBMS memiliki beberapa keunggulan, hal paling
berguna pada DBMS adalah pengguna mampu mengelola dan
mengamankan data yang ada pada databse secara mudah.
Menurut Connolly & Begg (2010, p77), keunggulan
dalam DBMS adalah sebagai berikut:
Mengendalikan redundansi data
Di dalam pengelolaan data diperlukan
pengendalian data untuk menghilangkan
redundansi dengan mengintegrasikan file-file
yang ada pada berbagai tempat dan yang sama
tidak disimpan.
Data menjadi konsisten
Dengan menghilangkan redundansi maka data
menjadi konsisten sehingga nilai baru dapat
segera dipastikan keakuratannya.
Informasi mengenai data menjadi banyak
Dengan mengintegrasikan data operasional
maka memungkinkan suatu organisasi
mengendalikan informasi dari sumber yang
sama sehingga informasi lain dapat diperoleh
untuk organisasi.
Dapat berbagi data
15
Secara umum, file-file yang disimpan dalam
departemen yang berbeda dapat dilakukan
pertukaran data.
Meningkatkan integritas
Integritas basis data bertujuan untuk mencapai
validitas dan konsistensi dalam penyimpanan
data, integritas juga digunakan untuk membuat
suatu batasan.
Meningkatkan keamanan
Keamanan basis data diperlukan untuk menjaga
keamanan data agar tidak dapat
disalahgunakan.
Memberlakukan standard
Integrasi diperbolehkan oleh Database
Administrator (DBA) untuk menentukan
standar-standar yang berlaku dan bersifat
penting pada DBMS.
Skala ekonomi
Dengan menggabungkan data operasional
organisasi ke dalam basis data membuat satu
sumber penyimpanan data sehingga hemat
dalam biaya.
Menyesuaikan kebutuhan yang bertentangan
Setiap pengguna pada departemen
membutuhkan data akan mengalami
pertentangan dalam penggunaannya, untuk itu
diperlukan pengelolaan untuk mengatasi
perbedaan tersebut.
Meningkatkan aksesibilitas dan respon
Hasil dari integrasi meningkatkan aksesibilitas
dan daya respon yang cepat di dalam
menangani permintaan pengguna.
Meningkatkan produktivitas
16
DBMS menyediakan standar dan fungsi agar
dapat meningkatkan produktivitas dalam
penggunaan, penyimpanan dan pengelolaan
data.
Meningkatkan pemeliharaan atas data yang
independen
Akses data yang telah ditentukan bertujuan
untuk penyimpanan data yang efektif sehingga
pemeliharaan data dapat berjalan secara
independen.
Meningkatkan concurency
Dalam mengakses data secara bersamaan harus
dapat dikendalikan agar tidak terjadi kehilangan
integritas data.
Meningkatkan pelayanan backup dan recovery
Tanggung jawab pengguna untuk menyediakan
ukuran dalam menjaga data dari kehilangan,
ditentukan oleh program aplikasi dengan
membuat backup dan recovery setiap
pengguna.
2.1.5.4 Kelemahan Database Management System (DBMS)
Adapun kelemahan yang dimiliki DBMS setelah
mengetahui keuntungan yang dimiliki. Menurut Connolly
(2010, p80), kelemahan dalam DBMS adalah sebagai berikut:
Kompleksitas
Fungsi dari DBMS yang baik menghasilkan
kompleksitas struktur data dan perancang
database harus menyesuaikan
kekompleksitasan tersebut.
Ukuran
17
Kompleksitas menyebabkan ukuran data
menjadi besar sehingga membutuhkan media
penyimpanan yang besar.
Biaya
Biaya yang dibutuhkan untuk implementasi
DBMS serta pemeliharaannya tidak sedikit.
Biaya tambahan hardware
Biaya hardware tambahan untuk
pengimplementasian DBMS tergolong besar.
Biaya konversi
Biaya untuk DBMS, tambahan perangkat keras
dari yang lama menuju implementasi baru
(konversi) besar.
Performa
Secara umum memang baik tetapi dibuutuhkan
berbagai aplikasi untuk mendukungnya.
Dampak kegagalan
Pemusatan sumber data untuk semua pengguna
yang tersedia pada DBMS dapat menyebabkan
kegagalan yang besar apabila pengelolaannya
tidak tepat.
2.1.6 Entity Relationship Diagram (ERD)
ERD digunakan untuk menggambarkan entitas yang ada di
dalam perancangan database dan hubungan entitas pada sebuah
perusahaan. Menurut Connolly & Begg (2010, p371), ERD adalah
pendekatan top-down untuk merancang basis data yang dimulai
dengan melakukan identifikasi data penting yang biasa disebut entitas
dan hubungan antara data yang direpresentasikan dalam model.
Menurut Hoffer, Prescott & Topi (2011, p59), ERD adalah
representasi grafik dari data untuk organisasi atau untuk area bisnis,
menggunakan entitas sebagai kategori data dan hubungan untuk
asosiasi antar entitas.
18
Jadi, ERD adalah model yang menggambarkan data dalam
bentuk entitas dan hubungan antar entitas yang akan digunakan untuk
merancang basis data perusahaan.
2.1.6.1 Entity Type
Entitas memiliki tipe tersendiri untuk
mendeskripsikannya. Ada entitas yang lemah dan entitas yang
kuat, hal itu terlihat dari seberapa independen entitas tersebut.
Menurut Connolly & Begg (2010, p372), tipe entitas
adalah sekumpulan objek dengan properties yang sama dan di
identifikasikan oleh perusahaan yang keberadannya diakui
secara independen. Tipe entitas dibagi menjadi 2 (dua), yaitu:
Strong Entity Type
Suatu tipe entitas yang dapat berdiri sendiri dan
tidak bergantung pada beberapa entitas lain.
Weak Entity Type
Suatu tipe entitas yang tidak dapat berdiri
sendiri dan bergantung pada beberapa entitas
lain.
19
Gambar 2.2 Contoh Strong Entity Type and Weak Entity Type
(Sumber : Connolly & Begg, 2010, p383)
2.1.6.2 Relationship Types
Salah satu hal penting dalam penggambaran ERD
harus menggambarkan hubungan antar entitas. Menurut
Connolly & Begg (2010, p374), tipe hubungan adalah asosiasi
yang memiliki arti diantara tipe entitas.
Gambar 2.3 Contoh Relationship Type
(Sumber : Connolly & Begg, 2010, p376)
2.1.6.3 Attribute (Atribut)
Attribute adalah sifat yang dimiliki oleh sebuah entitas.
Atribute berisi catatan-catatan yang disimpan dalam sebuah
entitas. Menurut Connolly & Begg (2010, p379), atribute
merupakan properties dari entitas atau tipe hubungan. Di
dalam atribut ada yang disebut dengan Attribute Domain.
Attribute Domain adalah sekumpulan nilai yang diperbolehkan
untuk 1 (satu) atau lebih atribut. Klasifikasi atribut dibagi
menjadi 3 (tiga), yaitu:
1. Simple and Composite Attribute
Simple Attribute adalah yang atribut yang
terdiri dari komponen tunggal dengan
keberadaan independen. Simple attribute tidak
20
bisa dibagi ke dalam komponen yang lebih
kecil. Simple attribute biasanya disebut dengan
atomic attribute.
Composite Attribute adalah atribut yang terdiri
dari beberapa komponen, masing-masing
dengan keberadaan independen. Beberapa
atribut dapat dibagi ke dalam komponen yang
lebih kecil.
2. Single-valued and Multi-valued Attribute
Single-valued Attribute adalah atribut yang
memiliki nilai tunggal untuk setiap kejadian
dari tipe entitas.
Multi-valued Attribute adalah atribut yang
memiliki beberapa nilai untuk setiap kejadian
dari tipe entitas.
3. Derived Attribute
Sebuah atribut yang memberikan sebuah nilai yang
dapat diturunkan dari nilai sebuah atribut yang terkait.
Gambar 2.4 Contoh Attribute Domain
(Sumber : Connolly & Begg, 2010, p379)
21
2.1.6.3.1 Keys
Menurut Connolly & Begg (2010, p381), di
dalam atribut ada yang dipakai menjadi key, terdiri
dari:
Candidate Key
Atribut yang secara unik
mengidentifikasikan setiap kejadian yang
terjadi pada entitas.
Primary Key
Candidate Key yang telah dipilih secara
unik untuk mengidentifikasikan kejadian
yang terjadi pada entitas.
Composite Key
Candidate Key yang terdiri dari 2 (dua)
atau lebih atribut.
2.1.6.4 Structural Constraints
Batasan ini menempatkan tipe-tipe entitas yang
berpartisipasi dalam sebuah hubungan. Tipe utama dari
batasan pada sebuah hubungan disebut dengan multiplicity.
Multiplicity merupakan jumlah kejadian yang mungkin
dari suatu entitas yang berhubungan dengan kejadian tunggal
dari entitas lain yang terkait melalui hubungan tertentu.
Multiplicity dibagi menjadi 3 (tiga) jenis, yaitu:
1. One-to-one (1:1) relationship
22
Gambar 2.5 Contoh Multiplicity one-to-one (1:1)
(Sumber : Connolly & Begg, 2010, p385)
2. One-to-many (1:*) relationship
Gambar 2.6 Contoh Multiplicity one-to-many (1:*)
(Sumber : Connolly & Begg, 2010, p385)
3. Many to many (*:*) relationship
23
Gambar 2.7 Contoh Multiplicity many-to-many (*:*)
(Sumber : Connolly & Begg, 2010, p385)
2.1.7 Database Application Life Cycle
Dalam merancang database diperlukan acuan untuk
melakukan perancangan tersebut. Acuan tersebut adalah Siklus Hidup
Aplikasi Basis Data (Database Application Life Cycle).
Menurut Connolly & Begg (2010, p313), Database
Application Life Cycle adalah komponen dasar didalam sistem
informasi suatu organisasi yang bertujuan untuk merencanakan dan
merancang database dari tingkatan awal sampai akhir. Untuk
mengetahui tahapan-tahapan yang ada pada Database Application Life
Cylce dapat dilihat pada gambar dibawah ini:
24
Gambar 2.8 The Stage of the Database Application Lifecycle
(Sumber : Connolly & Begg, 2010, p314)
2.1.7.1 Database Planning
Merancang sebuah database pada sebuah perusahaan
diperlukan ketelitian yang sangat baik agar dapat
menyelesaikan masalah yang dihadapi dan dapat
menghasilkan sistem untuk mengatasi masalah tersebut.
Menurut Connolly & Begg (2010, p313), database
planning merupakan suatu kegiatan pengaturan yang
memungkinkan tahapan dari siklus hidup pengembangan
aplikasi database untuk direalisasikan seefisien dan seefektif
mungkin. Tahapan dalam Database Planning juga harus
menjelaskan:
Mission Statement
25
Mission Statement diperlukan untuk
mengetahui uraian singkat secara deskripsi
mengenai perancangan database yang akan
dilakukan. Menurut Connolly & Begg (2010,
p313), mission statement merupakan suatu
langkah penting yang menjelaskan secara jelas
di dalam merencanakan perancangan database.
Mission Statement juga menentukan tujuan
secara umum dalam perencanaan database.
Mission Objective
Mission Objective diperlukan untuk mengetahui
tujuan dan sasaran mengenai perancangan
database yang akan dilakukan. Menurut
Connolly & Begg (2010, p315), mission
objective adalah tujuan dan sasaran yang ingin
dicapai di dalam merencanakan perancangan
database agar sesuai dengan kebutuhan dan
yang diinginkan perusahaan.
2.1.7.2 System Definition
Sistem database yang dihasilkan seorang perancang
tentunya harus dapat memenuhi kebutuhan-kebutuhan
pengguna, namun dibalik itu tentunya sebuah aplikasi
memiliki batasan-batasan akan sebuah hal yang tidak dapat
dipenuhi.
Menurut Connolly & Begg (2010, p316), system
definition merupakan suatu penjelasan terhadap ruang lingkup
dan batasan dari sistem basis data serta pandangan pengguna
(user view) akhir secara garis besar.
User view mendefinisikan apa yang dibutuhkan dari
sistem database untuk perspektif peran pekerjaan tertentu
(seperti manajer atau supervisor) atau area aplikasi perusahaan
(seperti marketing, personalia, dan bagian gudang).
26
2.1.7.3 Requirements Collection and Analysis
Dalam membuat sebuah sistem baru harus mampu
untuk menjawab tantangan kebutuhan yang diperlukan dengan
cara mengumpulkan dan menganalisis informasi pada
organisasi yang ingin dibuatkan sistemnya.
Menurut Connolly & Begg (2010, p316), requirements
collection and analysis merupakan proses dari mengumpulkan
dan menganalisis informasi tentang bagian-bagian dari
perusahaan yang harus didukung oleh sistem basis data dan
menggunakan informasi yang didapat untuk lebih mengetahui
kebutuhan sistem yang akan dibuat, dengan tujuan untuk
menggantikan sistem yang lama.
2.1.7.4 Database Design
Perusahaan besar sekarang bersaing dalam
menggunakan sistem dengan tujuan memajukan usahanya dan
juga untuk bersaing dengan perusahaan lain. Perusahaan harus
mempunyai sistem yang digunakan untuk membantu
pekerjaan sehari-harinya, oleh karena itu perusahaan perlu
dibuatkan sebuah rancangan database yang baik untuk
penyimpanan data penting perusahaan.
Menurut Connolly & Begg (2010, p320), database
design adalah proses membuat rancangan yang akan
membantu mission statement dan mission objective perusahaan
untuk database yang dibutuhkan. Proses perancangan basis
data dibagi menjadi 3 (tiga), yaitu:
2.1.7.4.1 Conceptual Database Design
Menurut Connolly & Begg (2010, p465),
perancangan database konseptual adalah suatu proses
membuat representasi konseptual dari basis data, yang
27
meliputi identifikasi entitas-entitas yang penting,
hubungan dan atributnya.
Tahapan yang ada dalam perancangan basis
data konseptual yaitu sebagai berikut (p471-p485):
1. Identify entity types
Tahap ini bertujuan untuk
mengidentifikasi entitas utama yang
dibutuhkan. Sebuah metode untuk
mengidentifikasi entitas adalah dengan
memeriksa spesifikasi kebutuhan
pengguna. Dari spesifikasi ini, akan
dapat diindentifikasi kata bendanya.
Selain itu, tujuan dari tahap ini juga
untuk mencari objek utama, seperti
orang, tempat, atau konsep yang
penting.
2. Identify relationship types
Tahap ini bertujuan untuk
mengidentifikasi hubungan penting
yang terdapat diantara tipe entitas yang
telah diidentifikasi. Secara khusus,
hubungan ditandai dengan kata kerja.
3. Identify and associate attributes with
entity or relationship types
Tahap ini bertujuan untuk
menghubungkan atribut dengan tipe
entitas atau tipe hubungan yang sesuai.
Atribut dapat diidentifikasi dimana kata
benda merupakan sebuah sifat
(property), kualitas, identifier, atau
karakteristik dari entitas atau hubungan.
4. Determine attribute domains
28
Tahap ini bertujuan untuk menentukan
domain bagi atribut di dalam model data
konseptual. Domain merupakan sebuah
kolom nilai dari 1 (satu) atau lebih
atribut yang menggambarkan nilai dari
masing-masing atribut.
5. Determine candidate, primary, and
alternate key attributes
Tahap ini bertujuan untuk
mengidentifikasi candidate key bagi
setiap entitas dan jika terdapat lebih dari
satu candidate key, pilih salah satu yang
akan dijadikan primary key dan yang
lain sebagai alternate key.
6. Consider use of enhanced modeling
concepts (optional step)
Tahap ini bertujuan untuk
mempertimbangkan penggunaan konsep
pemodelan lebih lanjut, seperti
spesialisasi atau generalisasi, agregasi,
dan komposisi (composition).
7. Check model for redundancy
Tahap ini bertujuan untuk memeriksa
keberadaan berbagai redudansi dalam
model. Pada tahap ini berfungsi untuk
memeriksa kembali hubungan one-to-
one dan menghilangkan hubungan yang
berulang, dan mempertimbangkan
dimensi waktu.
8. Validate conceptual model against user
transactions
Tahap ini bertujuan untuk memastikan
bahwa model konseptual mendukung
29
transaksi yang diperlukan oleh
pengguna.
9. Review conceptual data model with user
Tahap ini bertujuan untuk meninjau
kembali model data konseptual dengan
pengguna untuk memastikan bahwa
model tersebut merupakan gambaran
data yang sebenarnya (sesuai dengan
kebutuhan pengguna).
2.1.7.4.2 Logical Database Design
Menurut Connolly & Begg (2010, p489),
perancangan databse logikal adalah untuk
menerjemahkan representasi konseptual ke dalam
struktur logikal dari databse, yang meliputi
perancangan hubungan-hubungannya.
Tahapan yang ada dalam perancangan basis
data logikal yaitu sebagai berikut (p490-p517):
1. Derive relations for logical data model
Tahap ini bertujuan untuk membuat
hubungan untuk merepresentasikan
entitas, hubungan, dan atribut. Lalu
mendeskripsikan bagaimana hubungan
diperoleh pada struktur yang terjadi
didalam model data konseptual:
stong entity types (tipe entitas
kuat);
weak entity types (tipe entitas
lemah);
one-to-many (1:*) binary
relationship types (tipe
hubungan satu-ke-banyak);
30
one-to-one (1:1) binary
relationship types (tipe
hubungan satu-ke-satu);
one-to-one (1:1) recursive
relationship types (tipe
hubungan satu-ke-satu rekursif);
superclasss / subclass
relationship types (tipe
hubungan superclass / subclass);
many-to-many (*:*) binary
relationship types (tipe
hubungan banyak-ke-banyak
rekursif);
complex relationship types (tipe
hubungan kompleks);
multi-valued attributes (atribut
multi-valued).
2. Validate relations using normalization
Tahap ini bertujuan untuk memvalidasi
pengelompokan atribut pada setiap
hubungan menggunakan aturan dari
normalisasi. Tujuan dari normalisasi ini
adalah untuk memastikan bahwa
hubungan tersebut memiliki nilai
minimal yang cukup dari atribut yang
dibutuhkan untuk mendukung
kebutuhan data pada suatu perusahaan.
Hal ini juga dapat dilakukan untuk
mengurangi redudansi.
3. Validate relations against user
transactions
Tahap ini bertujuan untuk memvalidasi
model data logikal dan memastikan
31
bahwa model mendukung transaksi
yang dibutuhkan pengguna, seperti yang
sudah dirinci dalam spesifikasi user
requirenments. Di tahap ini harus
diperiksa apakah terjadi kesalahan
(error) saat membuat hubungan yang
berkaitan dengan hubungan antar
entitas.
4. Check integrity constraints
Tahap ini bertujuan untuk memastikan
bahwa hubungan dalam model data
logikal mendukung transaksi yang
dibutuhkan. Pada tahap ini akan
membuat constraint atau batasan pada
database untuk menghindari terjadinya
pemasukan data yang tidak lengkap,
tidak akurat, dan tidak konsisten.
5. Review logical data model with user
Tahap ini bertujuan untuk meninjau
kembali model data logikal dengan
pengguna untuk memastikan bahwa
model tersebut merupakan gambaran
data yang sebenarnya (sesuai dengan
kebutuhan pengguna).
6. Merge logical data models into global
model (optional step)
Tahap ini bertujuan untuk
menggabungkan model data logikal
menjadi model global yang
merepresentasikan seluruh pandangan
pengguna terhadap basis data.
7. Check for future growth
32
Tahap ini bertujuan untuk menentukan
apakah ada kemungkinan perubahan
yang signifikan di masa mendatang dan
untuk menilai apakah model data
logikal dapat memuat perubahan.
2.1.7.4.3 Physical Database Design
Menurut Connolly & Begg (2010, p521),
perancangan basis data fisikal adalah menentukan
bagaimana struktur logikal diimplementasi secara fisik
(sebagai base relation) ke dalam target DBMS.
Tahapan yang ada dalam perancangan basis
data fisikal yaitu sebagai berikut (p524-p561):
1. Translate logical data model for target
DBMS
Langkah 1.1 Design base relations
Tahap ini bertujuan untuk memutuskan
bagaimana merepresentasikan relasi
dasar yang diidentifikasikan dalam
model data logikal pada DBMS yang
dipakai.
Langkah 1.2 Design representation of
derived data
Tahap ini bertujuan untuk memutuskan
bagaimana merepresentasikan suatu
data turunan (derived) pada model data
logikal pada DBMS yang dipakai.
Langkah 1.3 Design general constraint
Tahap ini bertujuan untuk merancang
batasan dalam pengaksesan DBMS
yang dipakai.
2. Design file organizations and indexes
Langkah 2.1 Analyze transactions
33
Tahap ini bertujuan untuk menganalisis
setiap transaksi agar dapat mengetahui
setiap fungsi dari suatu transaksi yang
dijalankan pada database dan untuk
menganalisis transaksi penting.
Langkah 2.2 Choose file organizations
Tahap ini bertujuan untuk menentukan
organisasi file yang efisien untuk setiap
relasional data.
Langkah 2.3 Choose indexes
Tahap ini bertujuan untuk menentukan
apakah penambahan indeks akan
meningkatkan kinerja dari suatu sistem.
Langkah 2.4 Estimate disk space
requirements
Tahap ini bertujuan untuk mengestimasi
jumlah besarnya ukuran kapasitas
penyimpanan yang diperlukan untuk
database.
3. Design user views
Tahap ini bertujuan untuk merancang
tampilan antarmuka pengguna yang
diidentifikasi dan dianalisis dari siklus
hidup aplikasi database.
4. Design security mechanisms
Tahap ini bertujuan untuk merancang
ukuran keamanan untuk database yang
telah ditentukan oleh pengguna.
2.1.7.5 DBMS Selection
Menurut Connolly & Begg (2010, p325), pemilihan
DBMS yang sesuai untuk mendukung sistem database yang
mencakup:
34
1. Define Terms of Reference of study
Kerangka acuan untuk pemilihan DBMS didefinisikan
dengan menyatakan tujuan dan ruang lingkup studi dan
tugas-tugas yang perlu dilakukan.
2. Shortlist two or three products
Kriteria yang dianggap ‘penting’ untuk implementasi
yang sukses dapat digunakan untuk menghasilkan
daftar awal DBMS untuk evaluasi.
3. Evaluate products
Ada berbagai fitur yang digunakan untuk mengevaluasi
produk DBMS. Untuk tujuan evaluasi, fitur ini dapat
dinilai sebagai kelompok atau individu.
4. Recommend selection and produce report
Mendokumentasikan proses dan menyediakan
pernyataan mengenai kesimpulan dan rekomendasi
terhadap salah satu produk DBMS.
2.1.7.6 Application Design
Menurut Connolly & Begg (2010, p329), application
design adalah merancang tampilan antarmuka pengguna dan
program aplikasi yang akan memproses sistem database.
Dalam merancang sistem harus memastikan semua pernyataan
fungsional dari spesifikasi kebutuhan pengguna (user
requirement specification) yang menyangkut perancangan
aplikasi program yang mengakses database dan merancang
transaksi yaitu cara akses ke database dan perubahan terhadap
isi database (retrieve, update dan kegiatan keduanya).
2.1.7.7 Prototyping
Prototyping ini mengizinkan perancang dan pengguna
untuk memvisualisasikan dan mengevaluasi gambaran sistem
secara menyeluruh.
35
Menurut Connolly & Begg (2010, p333), prototyping
adalah membuat model kerja dari sistem database, yang
mengizinkan perancang atau user untuk mengevaluasi hasil
akhir sistem, baik dari segi tampilan maupun fungsi yang
dimiliki sistem.
Tujuan utama dari pembuatan suatu prototipe adalah
mengizinkan pengguna menggunakan prototipe untuk
mengidentifikasikan fitur-fitur dari sistem apakah bekerja
dengan baik dan jika terdapat kemungkinan untuk
meningkatkan fitur baru bagi sistem database. Dengan cara
ini, kebutuhan dari pengguna dan pengembang sistem dalam
mengevaluasi kelayakan rancangan sistem akan semakin jelas
sehingga kelebihan atau kekurangan sistem dapat ditangani
dengan baik.
Strategi prototyping yang umum digunakan ada 2
(dua), yaitu:
1. Requirement prototyping adalah menggunakan
prototipe untuk menetapkan kebutuhan dari tujuan
sistem database dan ketika kebutuhan sudah terpenuhi,
prototipe tidak digunakan lagi atau dibuang.
2. Evolutionary prototyping menggunakan tujuan yang
sama, tetapi perbedaaan pentingnya adalah prototipe
tetap digunakan untuk selanjutnya dikembangkan
menjadi sistem database yang lengkap.
2.1.7.8 Implementation
Sebuah sistem database setelah dirancang harus
diimplementasikan agar mengetahui kekurangan dan kelebihan
dari aplikasi yang dibuat.
Menurut Connolly & Begg (2010, p333),
implementation merupakan realisasi secara fisik dari sistem
database dan rancangan aplikasi. Pada tahap implementasi
database menggunakan Data Definition Language (DDL) dari
36
DBMS yang terpilih atau dengan menggunakan Graphical
User Interface (GUI), yang menyediakan fungsional yang
sama dengan pernyataan DDL. Pernyataan DDL digunakan
untuk membuat struktur database dan mengosongkan file yang
terdapat dalam database tersebut.
Pandangan pengguna lainnya juga diimplementasikan
dalam tahapan ini. Data Manipulation Language (DML)
digunakan untuk mengimplementasikan transaksi database di
dalam bagian aplikasi program dari sasaran DBMS.
2.1.7.9 Data Conversion and Loading
Langkah ini diperlukan pada saat pemindahan data dari
sistem lama ke sistem baru. Menurut Connolly & Begg (2010,
p334), data conversion and loading adalah memindahkan data
yang ada ke dalam database baru dan mengkonversi setiap
aplikasi yang ada untuk dijalankan pada database yang baru.
Tahap ini dibutuhkan ketika suatu sistem database baru akan
menggantikan sistem yang lama.
Saat ini, adalah hal yang biasa bagi DBMS untuk
memiliki utilitas yang memuat file yang ada ke dalam
database yang baru. Utilitas biasanya membutuhkan
spesifikasi dari sumber file dan target database dan secara
otomatis mengkonversi data ke format yang dibutuhkan oleh
database yang baru.
2.1.7.10 Testing
Sebelum diterapkan dalam suatu sistem, database
harus dilakukan pengujian terlebih dahulu supaya kesalahan
yang ada dapat diperbaiki dan menjadi lebih sempurna.
Menurut Connolly & Begg (2010, p334), testing adalah
suatu proses menjalankan sistem database dengan tujuan
menemukan kesalahan (error) yang ada. Terdapat beberapa
kriteria selama melakukan pengujian sistem ini, yaitu:
37
1. Learnability Seberapa lama waktu yang dibutuhkan
pengguna baru untuk bisa berproduktif dengan sistem
baru tersebut?
2. Performance Seberapa baik tanggapan sistem
terhadap pengguna?
3. Robustness Seberapa toleransi sistem terhadap
kesalahan pengguna?
4. Recoverability Seberapa baik sistem dapat
mengaktifkan sistem recover dari kesalahan pengguna?
5. Adaptability Seberapa dekat sistem dengan model
satu pekerjaan?
2.1.7.11 Operational Maintenance
Sebuah sistem database memerlukan penanganan dan
perawatan agar semua data tersimpan aman. Menurut
Connolly & Begg (2010, p335), operational maintenance
adalah proses memantau dan memelihara sistem database
setelah di-install. Pada tahapan sebelumnya, database benar-
benar diuji dan diimplementasikan. Sistem saat ini sudah
berpindah ke dalam tahap pemeliharaan. Yang termasuk
aktifitas dari tahapan ini, yaitu:
1. Memantau kinerja dari sistem
Jika kinerjanya menurun pada tingkatan yang dapat
diterima atau ditoleransi, penyesuaian dan pengaturan
kembali dari database yang dibutuhkan.
2. Pemeliharaan dan peng-upgrade sistem database (jika
diperlukan)
Ketika database sepenuhnya bekerja, pemantauan
harus memastikan kinerjanya dapat berada dalam
tingkat yang diterima. Kebutuhan yang baru
digabungkan kedalam sistem database yang terdahulu.
Database Administrator (DBA) dapat menggunakan
38
informasi ini untuk memperbaiki sistem agar dapat
memberikan kinerja yang lebih baik.
2.1.8 Normalisasi
Normalisasi sangat penting di dalam perancangan database.
Hal tersebut karena normalisasi membuat record tabel menjadi
normal sehingga mencegah timbulnya redundansi data.
Menurut Connolly & Begg (2010, p416), normalisasi adalah
suatu teknik untuk menghasilkan suatu hubungan dengan sifat yang
diinginkan untuk menyajikan kebutuhan data perusahaan. Tujuan
normalisasi adalah untuk mengidentifikasikan kumpulan hubungan
yang cocok untuk mendukung kebutuhan data perusahaan.
2.1.8.1 Unnormalized Form (UNF)
Menurut Connolly & Begg (2010, p430), UNF adalah
tabel yang berisi satu atau lebih kumpulan data yang berulang.
Untuk membuat tabel unnormalized yaitu dengan
memindahkan data dari sumber informasi ke dalam format
tabel dengan baris dan kolom. Jika ada atribut yang multi-
value, maka hubungan tersebut dalam kondisi unnormalized.
2.1.8.2 First Normal Form (1NF)
Menurut Connolly & Begg (2010, p430), 1NF adalah
sebuah hubungan yang dimana merupakan titik temu antara
setiap baris dan kolom yang berisi satu dan hanya satu nilai.
Cara merubah UNF ke 1NF, yaitu:
Pilih satu atau sekumpulan atribut sebagai kunci untuk
tabel unnormalized.
Identifikasi kelompok yang berulang dalam tabel
unnormalized yang berulang untuk kunci atribut.
Hapus kelompok yang berulang dengan memasukkan
data yang sesuai kedalam kolom yang kosong pada
baris yang berisi data yang berulang, atau dengan
39
menggantikan data yang berulang dengan salinan
(copy-an) atribut key yang asli ke dalam hubungan
yang terpisah.
2.1.8.3 Second Normal Form (2NF)
Menurut Connolly & Begg (2010, p434), 2NF adalah
sebuah hubungan yang ada pada bentuk normal pertama (1NF)
dan setiap atribut yang non primary key adalah fungsi yang
sepenuhnya bergantung (fully functionally dependent) pada
primary key. Cara merubah 1NF ke 2NF, yaitu:
Identifikasi primary key untuk hubungan 1NF.
Identifikasi functional dependencies dalam hubungan.
Jika terdapat partial dependencies terhadap primary
key, maka hapus dengan menempatkannya dalam
hubungan yang baru bersama dengan salinan
determinannya.
2.1.8.4 Third Normal Form (3NF)
Menurut Connolly & Begg (2010, p430), 3NF adalah
sebuah hubungan yang ada pada bentuk normal pertama (1NF)
dan kedua (2NF), dimana tidak terdapat atribut non primary
key yang bergantung secara transitif pada primary key. Cara
merubah 2NF ke 3NF adalah:
Identifikasi primary key dalam hubungan 2NF.
Identifikasi functional dependencies dalam hubungan.
Jika terdapat transitive dependencies terhadap primary
key, hapus dengan menempatkannya dalam hubungan
yang baru bersama dengan salinan determinannya..
2.1.9 Activity Diagram
Dari informasi yang didapatkan mengenai proses bisnis,
diperlukan suatu diagram untuk menggambarkan alur kerja
(workflow) bisnis yang berjalan tersebut.
40
Menurut Satzinger, Jackson & Burd (2010, p141), workflow
adalah urutan dari tahap-tahap proses yang secara lengkap menangani
suatu tarnsaksi bisnis atau permintaan pelanggan. Banyak diagram
yang digunakan untuk menggambarkan workflow, diantaranya yaitu
menggunakan activity diagram.
Menurut Satzinger, Jackson & Burd (2010, p141), activity
diagram adalah diagram workflow yang menggambarkan berbagai
kegiatan user (atau sistem), orang-orang yang melakukan aktivitas,
dan alur secara berurutan kegiatan yang terjadi.
Gambar 2.9 Activity Diagram Symbols
(Sumber : Satzinger, Jackson & Burd, 2010, p142)
41
2.1.10 Data Flow Diagram (DFD)
Alur proses bisnis tidak hanya berjalan sendirian di dalam
suatu perusahaan. Para user pun dituntut harus mengetahui dengan
detail mengenai aliran data yang berjalan seriring dengan proses
bisnis. Data Flow Diagram (DFD) adalah alat pembuatan model yang
memungkinkan profesional sistem untuk menggambarkan sistem
sebagai suatu jaringan proses fungsional yang dihubungkan satu sama
lain dengan alur data, baik secara manual maupun komputerisasi.
Menurut Satzinger, Jackson & Burd (2010, p206), Data Flow
Diagram adalah model sistem grafis yang menggambarkan seluruh
persyaratan utama untuk sebuah sistem informasi, di dalam sebuah
diagram: input dan output, proses, dan penyimpanan data. Manfaatnya
adalah setiap orang yang bekerja pada sebuah proyek pengembangan
dapat melihat seluruh aspek sistem yang berjalan secara bersamaan di
dalam DFD.
Gambar 2.10 Data Flow Diagram Symbols
(Sumber : Satzinger, Jackson & Burd, 2010, p207)
2.2 Teori Pendukung
Teori ini berisikan tentang teori-teori pendukung topik laporan tugas
akhir yang dibahas.
42
2.2.1 Klinik
Klinik adalah fasilitas pelayanan kesehatan yang
menyelenggarakan pelayanan kesehatan perorangan yang
menyediakan pelayanan medis dasar dan/atau spesialistik,
diselenggarakan oleh lebih dari satu jenis tenaga kesehatan dan
dipimpin oleh seorang tenaga medis yakni dokter umum, spesialis,
ataupun dokter gigi umum atau dokter gigi spesialis.
2.2.2 C#
C# (dibaca "C sharp") adalah sebuah bahasa pemrograman yang
dirancang untuk membangun berbagai aplikasi yang berjalan di Framework.
NET. C# sederhana, powerful, type-safe, dan berorientasi objek. Banyak
inovasi di C# memungkinkan pengembangan aplikasi yang cepat sementara
tetap mempertahankan ekspresi dan gaya bahasa C yang elegan.
Menurut pendapat (Setiawati, 2011, p. 2) yang mengatakan
bahwa “Visual C# 2008 merupakan bahasa pemrogramman baru yang
diciptakan Microsoft secara khusus sebagai salah satu bahasa
pemrograman dalam teknologi .Net. Sebagai bahasa baru, Visual C#
tidak berevolusi dari bahasa C# versi bukan teknologi .NET. Dengan
demikian Visual C# dapat memaksimalkan kemampuannya tanpa
khawatir dengan masalah kompatibilitas dengan versi-versi
sebelumnya.”
2.2.3 SQL (Structured Query Language)
Saat ini pentingnya peran SQL dalam arsitektur database tidak
selalu jelas kelihatan dengan pengguna aplikasi. Banyak para
pengguna yang mengakses sistem database namun tidak memiliki
pengetahuan tentang SQL itu sendiri.
Menurut Connolly & Begg (2010, p184), idealnya sebuah
bahasa database mengizinkan penggunanya untuk dapat:
Membuat sebuah database dan struktur database.
43
Menampilkan tugas-tugas awal manajemen data, seperti proses
insert, modifikasi, dan delete.
Menampilkan query yang simple dan complex.
SQL merupakan contoh sebuah transform-oriented language,
atau sebuah bahasa yang dirancang untuk dapat digunakan untuk
merubah input-an data ke dalam output yang diinginkan. Sebagai
sebuah bahasa, SQL memiliki 2 (dua) komponen, yaitu:
1. Data Definition Language (DDL) digunakan untuk
mendefinisikan struktur database dan mengontrol akses ke
data.
2. Data Manipulation Language (DML) digunakan untuk
mengambil dan meng-update data.
2.2.1 Data Definition Language (DDL)
Menurut Connolly & Begg (2010, p92), Data Definition
Language (DDL) adalah sebuah bahasa yang mengizinkan Database
Administrator (DBA) atau pengguna untuk menambahkan dan
memberi nama entitas, atribut, dan hubungan yang dibutuhkan dalam
aplikasi, terkait dengan intergritas dan kendala keamanan aplikasi.
2.2.1 Data Manipulation Language (DML)
Menurut Connolly & Begg (2010, p92), Data Manipulation
Language (DML) adalah sebuah bahasa yang menyediakan
seperangkat operasi untuk mendukung manipulasi data yang berada
pada database. Pengoperasian data yang akan di manipulasi biasanya
meliputi:
Penambahan data baru ke dalam database.
Modifikasi data yang disimpan ke dalam database.
Pengembalian data yang terdapat di dalam database.
Penghapusan data dari database.
44
2.3 Kerangka Berpikir
Gambar 2.11 Kerangka Berpikir
1. Pengumpulan Data : Mengumpulkan data yang mencakup ruang
lingkup dan masalah-masalah yang ada pada klinik XYZ
45
2. Identifikasi Masalah : Mengidentifikasi masalah mengenai
penyimpanan dan pengolahan data yang ada di dalam Klinik XYZ.
3. Studi literatur : Mencari informasi yang berguna sebagai pedoman
yang dapat membantu dalam pemecahan masalah yang ada pada
Klinik XYZ.
4. Indentifikasi Pemecahan Masalah : Menentukan pola penyelesaian
proyek, dengan berpedoman kepada :
Metode Pengumpulan Data : Fact Finding, Studi Pustaka, dan
Wawancara
Metode Analisis dan Perancangan : Konsep DBLC
5. Perancangan Database : Hasil proyek yang telah dibuat berdasarkan
metode dan konsep-konsep yang digunakan dalam pembuatan proyek
a. Conceptual Database Design
b. Logical Database Design
c. Physical Database Design
6. Aplikasi : Hasil proyek yang telah menghasilkan aplikasi dalam
bentuk dekstop base berdasarkan konsep-konsep yang telah digunakan
dalam pembuatan proyek.
7. Testing : Melakukan Testing yang berguna untuk mencari titik lemah
pada proyek yang telah dibuat.