7
BAB 2
LANDASAN TEORI
2.1  Teori Umum Database
2.1.1  Data
Menurut McLeod dan Schell (2007:9) data adalah kumpulan dari fakta dan
gambaran umum yang tidak dapat digunakan karena ukuran yang besar dan belum
diolah.  Menurut Laudon ( 2010:13)   data adalah deskripsi elementer mengenai benda,
kejadian, aktifitas dan transaksi yang dicatat, diklasifikasi dan disimpan tapi tidak
diorganisir.  Sementara menurut O'Brien & Marakas (2013:15) data adalah fakta mentah 
atau observasi yang biasanya mengenai fenomena fisik dan transaksi bisnis.
Berdasarkan definisi-definisi di atas maka data dapat dimengerti sebagai suatu fakta
yang merekam kejadian, aktifitas yang bersifat mentah dan belum terorganisir. 
2.1.2 Database
Menurut Connoly
(2010:6)
Database
adalah kumpulan
bersama
dari data
yang terkait secara logis, dimana deskripsinya dirancang untuk mememuhi kebutuhan
informasi dari organisasi. Menurut Paul Beynon (2004:5) database
adalah pemodelan
dari sebagian aspek realitas kedalam suatu organisasi yang disebut juga sebagai UoD
(Universe of Discoursce). Beradasarkan dua definisi tersebut database dapat dimengerti
sebagai kumpulan dari data dimana kumpulan tersebut terorganisir dan memiliki
domain tertentu.
2.1.3  Database Management System (DBMS)
Menurut
Connolly
dan
Begg
(2010:
66)
DBMS
merupakan sebuah
sistem
software
yang
memungkinkan pengguna
untuk mendefinisikan, membuat,
memelihara
dan
mengontrol
akses
menuju
database.
Sementara menurut Silberschatz, Korth
dan
Sudarshan
(2002:1)  DBMS adalah kumpulan dari data yang saling berelasi dan
seperangkat program untuk mengkases data tersebut, kumpulan data yang dimaksud
adalah database. Dari definisi-definisi di atas DBMS dapat dimengerti sebagai
seperangkat softaware untuk mengelola database.
2.1.3.1 Fungsi DBMS
Menurut Connolly dan Begg (2010:99-104), fungsi daripada DBMS antara lain :
1.   Menyimpan, menampilkan, dan mengubah data
  
8
DBMS harus memperlengkapi
pengguna dengan
kemampuan untuk menyimpan,
menampilkan, dan mengubah data di dalam basis
data. Fungsi ini merupakan
fungsi fundamental dari suatu DBMS.
2. Sebuah user-accessible catalog (katalog data untuk pengguna)
DBMS harus menyediakan sebuah katalog dimana deskripsi data disimpan di
dalamnya dan apakah data tersebut dapat diakses oleh  pengguna.  Biasanya  yang 
disimpan  dalam  sistem katalog  adalah:
I. Nama, tipe, dan ukuran data
II. Nama hubungan-hubungan antar data
III. Batasan-batasan integritas dalam data
IV. Nama pengguna yang diberi hak akses dan telah mengakses data 
V. Data yang dapat diakses pengguna dan tipe hak akses
VI. Skema eksternal, konseptual, internal serta pemetaan antar skema 
VII. Statistik pemakaian
3.   Mendukung transaksi
DBMS harus menyediakan sebuah mekanisme yang 
menjamin bahwa setiap
transaksi yang dilakukan dapat dieksekusi sampai selesai dan dibatalkan jika
terjadi gangguan ketika mengeksekusi sebagian perintah.
4.   Layanan kontrol konkurensi
DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa basis data
telah diubah dengan benar ketika beberapa pengguna mengubah data secara
bersamaan.
5.   Layanan perbaikan
Sebuah DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis
data dengan cara apapun pada saat basis data bermasalah.
6.   Layanan otorisasi
DBMS harus menyediakan sebuah mekanisme untuk menjamin
bahwa hanya
pengguna yang memiliki otoritas yang dapat mengakses basis data.
7.   Mendukung komunikasi data
DBMS harus mampu berintegrasi dengan perangkat lunak untuk melakukan
komunikasi data.
8.   Layanan integritas
DBMS harus menyediakan cara untuk memastikan bahwa baik data dalam basis
data dan perubahan data mengikuti peraturan yang berlaku.
  
9
9.   Memberi kemampuan independensi data
DBMS harus memiliki fasilitas untuk mendukung adanya
independensi program
dari struktur basis data.
10. Layanan utilitas
DBMS harus menyediakan sekumpulan layanan utilitas, seperti :
I.
Fasilitas Import data
II.
Fasilitas monitoring
III.
Program analisa statistik
IV.
Fasilitas pengaturan ulang indeks
V.
Garbage collection dan realokasi
2.1.3.2  Fasilitas DBMS
Menurut Connolly dan Begg (2010:66) berikut adalah fasilitas yang disediakan
oleh DBMS antara lain :
a. Data  Definiton  Language  (DDL)  yang  memungkinkan  pengguna untuk
menspesifikasikan tipe, struktur, serta batasan pada data yang disimpan dalam basis
data.
b. Data Manipulation Language
(DML) yang memungkinkan pengguna untuk
melakukan insert, update, delete dan menampilkan data dari basis data.
c.   Kontrol akses ke sebuah basis data  Contohnya :
1. Security System yang mencegah pengguna yang tidak memiliki hak akses untuk
mengakses basis data.
2.  Integrity System yang menjaga konsistensi data yang disimpan.
3. Conccurency Control System yang mengijinkan pembagian akses basis data.
4. Recovery Control System
yang  mengembalikan  basis data  ke kondisi awal
jika terjadi masalah pada perangkat lunak atau perangkat keras.
5. user-accesible catalog yang berisi deskripsi data yang ada dalam basis data.
2.1.3.3  Keuntungan DBMS
Menurut Connoly dan Begg (2010:77) berikut adalah
keuntungan dalam
menggunakan DBMS:
Control of Data Redudancy
Berbeda dengan file-based system yang mengizinkan data yang sama disimpan
di dalam file berbeda, DBMS berusaha untuk mengurangi redudansi yang
  
10
diakibatkan hal tersebut dengan mengintegrasikan data yang ada. Walaupun tidak
menghilangkan redudansi sepenuhnya, DBMS berusaha untuk mengurangi redudansi
yang terjadi dalam basis data.
Data Consistency
Dengan mengeliminasi atau mengontrol redudansi data, maka secara tidak
langsung dapat mengurangi resiko terjadinya ketidakkonsistenan yang terjadi. Jika
data yang disimpan hanya sekali dalam basis data, maka perubahan-perubahan bagi
nilai dari data tersebut juga hanya terjadi satu kali, nilai tersebut harus tersedia
kepada semua pengguna secara akurat.
Sharing of Data
Basis data yang dimiliki oleh keseluruhan organisasi dapat digunakan bersama
oleh pengguna yang berwenang.
Improved Data Integrity
Integritas basis data merujuk
pada validitas dan konsistensi data yang
tersimpan. Integritas seringkali mengacu kepada constraint
data,  yang merupakan
peraturan yang menjaga konsistensi data.
Improved Security
Keamanan basis data merupakan tindakan perlindungan basis data dari
pengguna-pengguna yang tidak berwenang. Hal ini dapat dilakukan dengan
membentuk username
dan password
untuk mengidentifikasi pengguna yang
berwenang. Selain itu
hak akses yang bagi  
pengguna yang berwenang pada suatu
data dapat dibatasi oleh jenis operasi (retrieval, insert, update, delete) yang dapat
dilakukan oleh user tersebut.
Enforcement of Standarts
Integrasi memungkinkan DBA untuk memberlakukan standar-standar yang di
jaga oleh DBMS. Standar yang dimaksud
seperti format data untuk fasilitas
pertukaran data antara sistem, konvensi penamaan, standar dokumentasi, prosedur
update, dan aturan akses.
Balance of Conflicting Requirements
Setiap pengguna mempunyai kebutuhan yang mungkin berbeda atau bahkan
bertentangan dengan kebutuhan pengguna lain. Oleh karena itu database
dikendalikan oleh seorang DBA
(Database
Administrator)
yang akan membuat
keputusan berkaitan dengan perancangan dan penggunaan operasional database,
yang mengatur cara pemakaian terbaik dari sumber daya bagi keseluruhan organisasi.
  
11
Improved Data Accesibility and Responsiveness
Dengan  mengintegrasikan data yang digunakan oleh berbagai departemen
maka seluruh data dapat
diakses secara langsung oleh pengguna
akhir. Hal ini
membuat 
sistem  memiliki potensi yang lebih besar untuk memiliki fungsionalitas
lain. Contohnya adalah berbagai query maupun pembuatan laporan yang berasal dari
pertanyaan ad hoc.
Increased Concurrency
Pada beberapa file-based system, kehilangan informasi dan integritas data
dapat terjadi karena adanya beberapa user
yang mengakses dan mengubah suatu file
secara bersamaan. DBMS memiliki fitur untuk menangangi akses data secara
bersamaan sehingga mengurangi kemungkinan-kemungkinan seperti itu.
Improved Backup and Recovery Services
file based-system
menempatkan tanggung jawab kepada user untuk menjaga
datanya dari  kesalahan sistem komputer ataupun aplikasi.  DBMS berupaya untuk
menyediakan fasilitas yang lebih baik bagi kemanan data melalui sistem backup dan
recovery yang lebih baik.
2.1.3.4 Komponen DBMS
Menurut Connoly dan Begg (2010:68-71) komponen database
terbagi menjadi
lima komponen yaitu:
Hardware
DBMS memerlukan hardware
untuk bekerja. Hardware
dapat berupa PC,
mainframe, atau jaringan komputer. Penggunaan
hardware
tergantung pada
kebutuhan organisasi dan DBMS yang digunakan. Sebagian DBMS berfungsi
hanya pada hardware tertentu atau sistem operasi yang khusus. Selain itu sebuah
DBMS memerlukan sejumlah memori dan disk space untuk bekerja.
Software
Komponen software
bervariasi terdiri dari software
DBMS itu
sendiri,
sistem operasi, program aplikasi serta aplikasi jaringan jika digunakan di dalam
jaringan.
Pada umumnya, apliksi ditulis dalam bahasa pemrograman generasi
ketiga (3GL) seperti C,C++, Java, Visual Basic, COBOL, Fortran, Pascal, atau
bahasa pemrograman generasi keempat (4GL), seperti SQL, yang juga terdapat
dalam bahasa pemrograman generasi ketiga.
Data
  
12
Data merupakan komponen yang penting dalam DBMS, terutama dari sudut
pandang pengguna akhir. Data menghubungkan komponen mesin (hardware)
dengan manusia. Sebuah basis data berisi data operasional dan meta-data, yaitu
data yang menjelaskan data.
Prosedur
Prosedur merupakan sekumpulan instruksi dan aturan yang mengatur
rancangan dan penggunaan basis data. Pengguna sistem dan staf yang mengelola
basis data membutuhkan sebuah prosedur yang didokumentasikan tentang
penggunaan sistem. Prosedur mencakup instruksi-instruksi berikut:
o
Log on ke DBMS
o
Menggunakan fasilitas DBMS  terentu atau program aplikasi 
o
Memulai dan mengakhiri DBMS
o
Membuat duplikat back-up basis data
o
Menangani kerusakan perangkat keras atau perangkat lunak
o
Mengubah struktur table, mengatur ulang data antara beberapa
disk,
meningkatkan kinerja atau menyimpan arsip pada secondary storage.
People 
Komponen akhir adalah manusia yang terlibat dengan sistem. Ada empat
tipe role atau peran yang terlibat dalam sebuah DBMS:
i.
Data dan database administrators
a.
Data Administrator
(DA) adalah orang yang bertanggung jawab dalam
mengatur sumber data, perencanaan basis data, standar manajemen dan
pengembangan, kebijakan prosedur maupun rancangan konseptual dan
logikal basis data.
b.
Database
Administrator
(DBA)
adalah
orang yang bertanggung jawab
dalam realisasi fisik basis data meliputi rancangan fisikal basis data,
implementasi, keamanan, dan pengaturan integritas, menjaga sistem
operasional dan memastikan kinerja yang memuaskan dari aplikasi untuk
keputusan pengguna. 
ii. Database Designers
a.
Logical Database Designer berhubungan dengan identifikasi data (entitas
dan atribut), hubungan antara data dan batasan pada data untuk disimpan
di basis data.
b.
Phyiscal Database
Designer
memutuskan bagaimana rancangan basis
data logikal dapat direalisasikan.
  
13
iii. Application Developer
bertanggung jawab untuk
mengimplementasikan
program aplikasi yang menyediakan fungsionalitas untuk pengguna akhir
(end-user).
iv. End Users adalah klien dari
basis data yang telah dirancang. End user
dapat
dibagi 2 kategori yaitu:
a.
Naïve Users
Adalah user yang tidak terlalu mengerti
DBMS.  Pada umumnya mereka
mengakses basis data melalui aplikasi yang telah dirancang.
b.
Sophisticated Users
Adalah user yang familiar dengan struktur basis data dan mampu
menggunakan fasilitas-fasilitas yang ditawarkan DBMS.
2.1.3.5 Arsitektur Aplikasi DBMS
Menurut Connolly dan Begg (2010:108) Arsitektur dalam DBMS terdiri atas :
Arsitektur aplikasi Teleprosesing
 
Teleprocessing adalah arsitektur yang terdiri dari satu CPU (Central
Processing Unit) dan beberapa terminal. Terminal yang dimaksud adalah dumb
terminal
atau terminal yang hanya berfungsi menampilkan hasil pemrosesan
data oleh CPU. Arsitektur ini sangat memberikan beban kepada CPU karena
harus menangani program aplikasi tapi juga format tampilan yang dikirimkan
ke dumb terminal.
•  Arsitektur Aplikasi File Server
Aristektur aplikasi file-server
memiliki satu komputer utama yang
berfungsi sebagai tempat penyimpanan file yang akan digunakan seluruh
komputer di dalam jaringan. Komputer-komputer di dalam jaringan masing-
masing memiliki DBMS dan aplikasinya, sehingga server hanya berfungsi
sebagai tempat penyimpanan bersama.
•  Arsitektur Aplikasi two-tier client-server
Arsitektur aplikasi yang terdiri dari 2 sisi yaitu Client
dan Server.
Berbeda dengan teleprocessing, klien pada  arsitektur ini dapat melakukan
fungsi user interface
dan pemrosesan data, dimana server
berfungsi
menyediakan data dan melakukan validasi-validasi terhadap permintaan dan
data yang dikirim.
•  Arsitektur Aplikasi three-tier client-server
  
14
Arsitektur ini terdiri dari tiga bagian yaitu komputer klien, application
server dan database server. Arsitektur ini mirip seperti arstitektur pada two-tier,
dimana ditambahkan satu server
aplikasi yang menangani logika bisnis dan
logika pemrosesan data. Hal ini meringankan tugas komputer klien yang hanya
menampilkan data dan memproses permintaan user, sementara database
server
hanya menangani operasi pada DBMS.
2.1.4 Fact Finding Technique 
Menurut  Connolly  dan  Begg  (2010:341-345), Fact Finding Technique
adalah proses  formal  mengunakan teknik seperti interview dan kuisioner untuk
mengumpulkan fakta-fakta
mengenai sistem, kebutuhan, dan   preferensi-preferensi.  
Seorang   database   developer   biasanya   menggunakan beberapa fact-finding
technique selama mengerjakan proyek database.
Terdapat 5 teknik fact-finding yang
biasanya digunakan yaitu:
1.   Examining Documentation
Dengan memanfaatkan dokumen yang sudah ada, kita dapat dengan cepat
memahami proses dari sistem yang berjalan. Dan dengan melihat dokumen akan
menginspirasi kita untuk dapat membuat rancangan dasar yang diperlukan.
Dokumen yang digunakan dapat berupa  form, laporan, dan  file
yang digunakan
sistem saat itu.
2.   Interviewing
Interviewing merupakan teknik untuk mendapatkan informasi dari individual
secara tatap muka dengan mengajukan pertanyaan-pertanyaan. Terdapat 2 bentuk
wawancara yang dapat dilakukan yang pertama adalah unstructured interview
dimana tidak menggunakan pertanyaan spesifik dan lebih membiarkan subyek yang
diwawancara untuk mengarahkan interview
Bentuk kedua adalah structured
interview dimana interviewer memiliki pertanyaan-pertanyaan spesifik untuk
dijawab oleh interviewee. Pertanyaan tersebut dapat berupa open-ended questions
dan closed ended-questionsOpen-ended
question
adalah pertanyaan yang tidak
ditentukan secara pasti jawabannya, sehingga subyek yang diwawancara dapat
dengan bebas memberikan jawaban. Sementara closed-ended question
adalah
pertanyaan yang membatasi jawaban kepada pilihan tertentu.
3.   Observing the enterprise in operation
Teknik ini membiarkan peneliti untuk secara langsung melihat aktivitas dan
mungkin terlibat dengan sistem yang sedang berjalan. Hal ini cukup efektif untuk
  
15
dapat memelajari sistem yang berjalan dengan cepat melalui pengalaman  secara
langsung.
4.   Research
Teknik fact-finding yang memanfaatkan media seperti Computer trade journal,
buku
referensi
dan internet sebagai sumber informasi untuk menemukan
permasalahan dan solusi yang serupa berkaitan dengan obyek penelitian.
5.   Questionnaires
Kuesioner adalah fasilitas untuk mendapatkan fakta dari banyak perserta
sekaligus. Terdapat  dua  bentuk  pertanyaan  pada  suatu  kuesioner, free-format 
question dan fixed-format question.
Free format question mengedepankan
kebebasan responden dalam menjawab pertanyaan sehingga pertanyaan tidak
disertai oleh jawaban yang
sudah ada. Sementara Fixed Format Question
membutuhkan jawaban spesifik dari responden. Hal tersebut dilakukan dengan
memberikan pilihan jawaban yang sudah ditentukan kepada responden untuk
dipilih.  
2.1.5  Data Model
Menurut Connolly dan Begg (2010:95), data model
merupakan kumpulan
konsep yang terintegrasi untuk mendeskripsikan dan memanipulasi data, hubungan
antar data, dan Constraints terhadap data dalam suatu organisasi. Berdasarkan
definisi
di atas dapat diartikan  bahwa data model adalah kumpulan konsep untuk menjelaskan,
memanipulasi, menentukan hubungan, dan menentukan Constraints pada data dalam
suatu organisasi dan menghasilkan aplikasi yang fleksibel dan stabil. Contoh dari data
model adalah class diagram dan ERD.
2.1.6 Struktur Data Relasional
Menurut Connolly dan  Begg(2010:144)  struktur data relasional terbagi menjadi
beberapa bagian yaitu:
1.   Relasi
Relasi adalah suatu tabel dengan kolom dan baris.
2.   Atribut
atribut adalah nama kolom dalam sebuah relasi.
3.   Domain
domain adalah nilai-nilai yang bisa diperbolehkan bagi satu atribut atau lebih.
4.   Tuple
  
16
tuple adalah suatu baris dalam suatu relasi.
5.   Degree
Cardinality suatu hubungan adalah banyaknya attribut
yang ada dalam hubungan
tersebut.
6.   Cardinality
Cardinality dari suatu relasi adalah banyaknya tuples yang ada dalam relasi tersebut.
7.   Relasional Database
Suatu kumpulan
dari relasi yang telah dinormalisasi dengan nama relasi yang
berbeda.
2.1.7 Sifat-Sifat Relasi
Menurut   Connolly   dan   Begg   (2010:148-149),   relasi mempunyai sifat-sifat
sebagai berikut:
1.   Nama relasi yang berbeda dengan satu sama lain dalam skema relasional
2.   Setiap sel dari relasi memiliki satu nilai atomik
3.   Setiap atribut memiliki nama yang berbeda
4.   Nilai satu atribut berasal dari domain yang sama
5.   Setiap tuple pasti berbeda, dan tidak ada duplikasi tuple
2.1.8  Relational Key
Menurut  Connolly  dan  Begg  (2010 :150-151),  Relational  key  dibagi 
menjadi beberapa jenis yaitu:
1. Superkey : Merupakan sebuah atribut atau sekelompok atribut yang mengidentifikasi
sebuah tuple dalam relasi secara unik.
2. Candidate key: Merupakan Superkey dalam relasi. Candidate Key (K), bagi sebuah
relasi (R) mempunyai dua properti yaitu:
a.  Uniqueness : dalam setiap tuple dari R, nilai dari K secara unik mengidentifikasi
tuple tersebut.
b.   Irreducibility : tidak ada subset dari K yang mempunyai keunikan sifat.
3. Primary Key : merupakan candidate key yang terpilih untuk
mengidentifikasi tuple
secara unik dalam satu relasi. candidate key yang tidak terpilih sebagai primary key
disebut sebagai alternate key.
4.   Foreign Key : merupakan sebuah atribut atau sekelompok atribut dalam relasi yang
sama dengan candidate key pada beberapa relasi.
  
17
Gambar 2.1 Contoh hubungan cabang dengan staff
(Sumber: Connolly dan Begg, 2010, p145)
2.1.9 View
Menurut Connoly dan Begg (2010:155), view adalah hasil yang dinamis dari
satu atau lebih operasi tabel pada relasi dasar untuk menghasilkan relasi baru. View
adalah relasi virtual yang tidak ada di dalam database
tetapi dihasilkan berdasarkan
permintaan tertentu oleh pengguna pada waktu tertentu.
Dari definisi di atas dapat disimpulkan bahwa view dibuat oleh database
administrator dari beberapa tabel inti yang beberapa dan dari atribut tabel tersebut
terbentuk suatu tabel virtual baru yang disesuaikan dengan tiap-tiap pemakai akhir.
2.1.10 Arsitektur ANSI-SPARC Three Level
Menurut Connolly dan Begg (2010:87-90), arsitektur ANSI-SPARC three-level
terdiri dari external, conceptual, dan internal level. Arsitektur ini menyediakan dasar
untuk memahami fungsionalitas dari DBMS. Tujuan dari three-level architecture
adalah untuk memisahkan tiap view database pengguna dai representasi fisik database
tersebut.
1.   Level External
 
Level  external  merupakan  cara  pandang  pengguna  dari  databaseLevel 
ini mendeskripsikan bagian dari database yang relevan dan berkaitan dengan setiap
pengguna.
  
18
2.   Level Conceptual
 
Merupakan view yang dilihat
bersama
di dalam database. Level ini
mendeskripsikan data apa yang disimpan di dalam database dan hubungan antar data.
Pada level konspetual ini perlu dibuat:
Entitas beserta attribut dan relationshipnya
Batasan-batasan data
Informasi semantic mengenai data
Keamanan dan integritas data.
3.   Level Internal
 
Merupakan   representasi   fisik   dari   database   di   dalam   komputer.   Level  
ini mendeskripsikan bagaimana data disimpan di dalam database.
Gambar 2.2 ANSI-SPARC Three-level Architecture.
(Sumber: Connolly Dan Begg, 2010, p87)
2.1.11  Integrity Constraint
 
Menurut Connolly dan Begg (2010:153-154) integrity constraint adalah bagian
dari data model yang memastikan ketepatan data. Dengan kata lain integrity constraint
adalah aturan- aturan
yang
harus dijalani demi menjaga ketepatan, dan kelengkapan
data.
  
19
Intergrity Constraint terbagi menjadi beberapa jenis yaitu :
1. Null
Merupakan deskripsi nilai bagi sebuah atribut yang tidak diketahui saat itu atau
tidak digunakan bagi tuple tersebut. Null tidak sama dengan numeric 0 atau spasi,
tetapi null merepresentasikan ketidakadaan nilai.
2. Entity Integrity
Pada relasi dasar, tidak ada atribut primary key yang bernilai null. Hal tersebut
berarti, primary key adalah identifikasi minimial yang digunakan untuk
mengidentifikasikan tuple secara unik.
3. Referential Integrity
Jika terdapat 
foreign key dalam relasi, maka nilai foreign key tersebut harus
sama dengan nilai candidate key dari beberapa tuple pada relasi itu sendiri atau nilai
foreign key harus semuanya null.
Menurut Connolly dan Begg(2010:504), ada beberapa strategi yang digunakan yaitu:
a. NO ACTION: mencegah penghapusan dari relasi induk jika terdapat referensi ke
tuple anak.
b. CASCADE: jika tuple induk dihapus maka secara otomatis tuple anak akan
dihapus.
c. SET NULL: jika tuple induk dihapus, maka foreign key pada semua tuple anak
akan diberikan nilai NULL.
d. SET DEFAULT: jika tuple induk dihapus, maka foreign key pada semua tuple
anak akan diberikan nilai default.
e. NO CHECK: jika tuple induk dihapus, maka akan dilakukan apapun untuk
menyakinkan bahwa referential integrity terjaga.
4. General Constraint
Peraturan tambahan yang ditentukan oleh pengguna atau database
administrator dari database, yang mendefinisikan atau membatasi beberapa aspek
perusahaan. Constraint
ini merupakan tambahan saja dan dibuat berdasarkan
kebutuhan perusahaan
2.1.12 Entity Relationship Model
Menurut Connolly dan Begg (2010:371), E-R model adalah pendekatan
Top-
down, perancangan basis data yang dimulai dengan mengidentifikasikan data
penting yang disebut entities dan relationships
antara data yang harus
direpresentasikan
dalam suatu model.
Menurut Silberschatz, Korth, dan Sudarshan
  
20
(2002:23), Entity relationship data model merupakan representasi grafis dengan kotak
dan panah yang merepresentasikan elemen data esensial dan koneksinya. Menurut
definisi di atas dapat diartikan bahwa E-R model adalah pendekatan top-down
perancangan basis data yang terdiri dari entitas dan hubungan antar entitas yang
ditentukan berdasarkan fakta-fakta pada dunia nyata.
2.1.12.1  Entity Type
Menurut Connolly dan Begg (2010:372), entity type adalah sekumpulan objek
yang diidentifikasikan oleh sebuah perusahaan atau perorangan yang mempunyai
sifat – sifat yang sama dan mempunyai keberadaan yang independen. Sebuah entity
memiliki keberadaannya yang bebas dan bisa merupakan
objek bersifat
fisik (atau
real) atau merupakan
objek
yang
bersifat
konseptual (atau abstrak). Artinya
perancang yang berbeda mungkin mengidentifikasikan entity yang
berbeda pula.
Menurut definisi di atas dapat diartikan entity type adalah objek-objek
fisik atau
abstrak yang memiliki property yang sama dan bersifat independen.
Menurut
Connolly dan Begg (2010:73-374), entity occurrence adalah objek unik yang dapat
diidentifikasikan dari sebuah tipe entity. Menurut definisi di atas dapat diartikan 
entity occurrence adalah kejadian unik yang terdapat pada suatu entitas.
2.1.12.2  Relationship Type
Menurut Connolly dan Begg (2010,374), sebuah relationship type adalah
sekumpulan asosiasi antara satu atau lebih tipe entity
yang berpartisipasi. Setiap
relation type diberi nama yang menggambarkan fungsinya.
Menurut Connolly dan
Begg (2010:375), relationship occurrence adalah hubungan yang dapat diidentifikasi
secara unik, yang termasuk satu kejadian dari setiap entity yang berpartisipasi.
Menurut definisi di atas dapat diartikan relationship occurrence merupakan kejadian
unik yang menghubungkan antara satu entitas dengan entitas lainnya.
Menurut Connolly dan Begg (2010:376), dalam relation types terdapat degree
of relation type yang merupakan sejumlah tipe entity yang ikut serta dalam
relationship. Entity yang terlibat
dalam sebuah relation type
tertentu
merupakan
participants dalam relationship.
Menurut definisi di atas dapat diartikan relation
type adalah jumlah tipe entitas yang terlibat dalam suatu relationship.
Derajat relationship terdiri dari :
1.
Binary relationship, keterhubungan antar dua tipe entity
2. Ternary   relationship,   keterhubungan   antar   tiga   tipe   entity
  
21
3.Quternary relationship, hubungan antar empat entity.
2.1.12.3  Attributes dan domain
Menurut Connolly dan Begg (2010:379), atribut adalah sebuah properti atau
sifat dari entity dan relationship.
Menurut Connolly dan Begg (2010:379), domain
atribut adalah sekelompok nilai yang diperbolehkan bagi satu atau lebih atribut.
Dapat disimpulkan bahwa atribut merupakan sifat
dari suatu entitas dan domain
adalah batasan dari nilai attribut.
2.1.12.4. Simple dan Composite Attribute
Menurut Connolly dan Begg (2010: 379-380), simple attribute adalah sebuah
atribut yang terdiri dari komponen tunggal dengan keberadaan yang tidak bergantung
pada komponen lain.  Sedangkan atribut composite menurut Connolly dan Begg
(2010:351), adalah sebuah atribut yang terdiri
dari beberapa
komponen, dimana
masing-masing memiliki keberadaan yang bebas.
Dari definisi-definisi diatas dapat
disimpulkan bahwa simple atribut merupakan atribut yang bersifat tunggal/atomik,
sedang kan composite merupakan atribut yang terdiri dari gabungan beberapa atribut.
2.1.12.5  Attribut Singe Valued dan Multi Valued
Menurut Connolly dan Begg (2010:380), atribut single-valued adalah atribut
yang berisi nilai tunggal bagi setiap kejadian dari setiap entity.
Sementara atribut 
multi-valued adalah atribut yang berisi beberapa nilai bagi setiap kejadian dari setiap
entity.
Dari definisi di atas dapat disimpulkan atribut single-valued
adalah atribut
yang nilainya terdiri dari satu nilai saja, sedangkan multi-valued adalah nilai atribut
yang lebih dari satu dalam tuple yang sama.
2.1.12.6  Derived Attribut
Menurut Connolly dan Begg (2010: 380-381), atribut derived adalah atribut
yang merepresentasikan
sebuah nilai yang dapat diperoleh dari nilai atribut yang
saling berhubungan atau sekelompok attribut dan tidak perlu dalam entity yang sama.
Menurut  definisi  di  atas  dapat  diartikan  bahwa  derived  attribut  merupakan
atribut yang dihasilkan dari nilai atribut atau beberapa atribut dari entitas yang sama
atau bukan.
  
22
2.1.12.7 Keys
Menurut Connolly dan Begg (2010: 381), Candidate key adalah jumlah
minimal dari atribut yang secara unik mengidentifikasikan tiap occurence dari tipe
entitas. Menurut Connolly dan Begg (2010:381), primary key adalah candidate key
yang terpilih untuk 
mengientifikasikan occurrence dari tipe entitas.
Menurut 
Connolly  dan  Begg  (2010:382),  composite  key  adalah  sebuah candidate key yang
memiliki dua atau lebih atribut.
Dari definisi-definisi diatas dapat disimpulkan
candidate key adalah key yang dapat mengidentifikasikan setiap record secara unik
dan primary key adalah candidate key yang terpilih untuk
secara unik
mengidentifikasi  record pada suatu entitas.
2.1.12.8  Strong Entity
Menurut Connolly dan Begg (2010:383), entity kuat adalah entity yang
keberadaannya tidak bergantung pada beberapa entity yang lain. Karakter dari entity
ini adalah bahwa setiap kejadian entity teridentifikasi secara unik menggunakan
atribut primary key. Menurut definisi di atas dapat diartikan bahwa entitas kuat
adalah entitas yang memiliki primary key sendiri serta tidak bergantung kepada
primary key entitas lainnya.
2.1.12.9  Weak Entity
Menurut Connolly dan Begg (2010:383), entity lemah adalah entity yang
keberadaannya tergantung pada beberapa entity yang lain. Dari definisi di atas dapat
diartikan bahwa entitas lemah adalah entitas yang keberadaannya bergantung kepada
entitas lainya.
2.1.12.10  Multiplicity
Menurut Connolly dan begg (2010:385), multiplicity adalah angka (batas)
dari kemungkinan occurrence pada sebuah tipe entitas yang mungkin
menghubungkan ke sebuah occurrence dari
sebuah
tipe entitas melalui hubungan
tertentu.
Menurut definisi di atas dapat diartikan multiplicity adalah jumlah range
dari kejadian yang terjadi antara satu entitas dengan entitas lainnya yang terhubung
melalui suatu relationship.
Terdapat 3 jenis tipe hubungan menggunakan integrity constraint yaitu:
1.   One-to-One (1:1) Relationships
2.   One-to Many (1:*) Relationships
  
23
3.   Many-to-Many (*:*) Relationships
2.1.13 Normalisasi
Menurut (Hoffer & Prescott, 2009) Normalisasi adalah suatu proses dekomposisi
relasi yang memiliki anomali-anomoali untuk menghasilkan struktur relasi lebih baik
dan sederhana.  Sementara Menurut Connolly dan Begg(2010, hal. 416) Normalisasi
merupakan sebuah teknik untuk memproduksi satu set hubungan dengan sifat yang
diinginkan, menyediakan kebutuhan data bagi perusahaan. Jadi yang dapat
disimpulkan normalisasi metode yang digunakan untuk mengidentifikasi hubungan
data pada data perusahaan.
Proses Normalisasi adalah:
-
Suatu  teknik  formal  untuk  menganalisis relasi  berdasarkan primary key dan fungsi
depedensi antar atribut yang ada.
-
Dieksekusi  dalam  beberapa  cara.  Setiap  cara  mengacu  ke bentuk normal tertentu,
sesuai dengan sifat yang dimilikinya.
-
Setelah normalisasi diproses, relasi akan secara bertahap lebih terbatas/kuat bentuk
formatnya dan juga mengurangi tindakan anomali pada setiap update.
-
Unnormalized Form(UNF)
Menurut Connolly dan Begg (2010,:439), unnormalized form(UNF) yaitu sebuah
tabel yang berisikan satu atau lebih kumpulan data yang berulang. Ciri dari
unormalized form adalah terdapat multivalued attribut.
-
First Normal Form(1NF)
Menurut  Connolly  dan  Begg  (2010:439),  First Normal Form adalah sebuah relasi
yang dimana pertemuan
antara setiap baris dan kolom hanya berisi satu dan hanya
satu nilai saja.
-
Second Normal Form(2NF)
Menurut Connolly dan Begg (2010: 439), Second Normal Form adalah sebuah relasi
yang terdapat didalam 1NF dan setiap atribut yang bukan primary key bergantung
penuh (full functional dependency) pada primary key.
-
Third Normal Form(3NF)
Menurut Connolly dan Begg (2010, hal. 439), Third Normal Form adalah sebuah
relasi yang terdapat pada bentuk normalisasi pertama dan kedua, yang mana tidak
ada non-primary key
yang bergantung secara transitif (transitive dependency) pada
primary key.
Proses normalisasi meliputi langkah-langkah sebagai berikut:
  
24
a)  First normal form (1NF)
Sebelum  menuju  first  normal  form,  ada  tahap sebelum memulai proses 1NF
yaitu unnormalized form (UNF). UNF merupakan tabel yang mengandung satu
atau lebih grup yang berulang (repeating grup). Sebelum mentransformasi tabel
tidak normal ke bentuk normal pertama (1NF), terlebih dahulu mengidentifikasi 
repeating  group  yang  terdapat  pada  tabel relasi. Kemudian   menghilangkan  
repeating   group   untuk menghilangkan data yang berulang.
b)  Second normal form (2NF)
Second  normal  form  (2NF)  merupakan  relasi  yang  terdapat dalam bentuk
1NF dan tiap atribut yang bukan primary key sifatnya bergantung penuh secara
fungsional pada primary key (full functional dependency). Pada tahap ini setiap
attribut yang bersifat partial dependency
atau tidak sepenuhnya bergantung
kepada primary key di tempatkan pada relasi baru.
c)  Third normal form (3NF)
Third normal form merupakan relasi yang terdapat pada 1NF dan 2NF, dimana
tidak ada atribut bukan primary key yang bergantung secara transitif terhadap
primary key. Bentuk normal ketiga ini, berdasarkan pada konsep transitive
dependency. Transitive dependency adalah kondisi di mana A, B, dan C adalah
atribut dari sebuah relasi jika A
?B dan B?C, maka C adalah
transitive
independent pada A melalui
B (menyatakan bahwa A bukan merupakan
functional dependent pada B atau C). Bentuk normal ketiga, merupakan
relasi
pada bentuk normal pertama dan kedua, di mana tidak ada atribut non-primary
key yang secara transitif bergantung pada primary key.
d)  Boyce-Codd Normal Form (BCNF)
Suatu relasi bisa dikatakan BCNF bila didalamnya berisi atribut yang berfungsi
sebagai candidate key
sehingga salah satu dari candidate key tersebut menjadi
primary key.
e)  Fourth normal form (4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 
BCNF,   dan  tabel  tersebut  tidak  boleh memiliki lebih dari satu multivalued
attribute.
f)
Fifth normal form (5NF)
Bentuk normal 5 NF terpenuhi jika tidak dapat memiliki sebuah
lossless
decomposition menjadi tabel-tabel yang lebih kecil.
  
25
2.1.14 Database System Development Lifecycle
Gambar 2.3 Database System Development Lifecycle
Database System Development Lifecycle
adalah  suatu pendekatan terstruktur
untuk mengembangkan database. Berikut adalah tahapan-tahapannya menurut
Connoly dan Begg (316-338) :
I. Database Planning
Adalah kegiatan manajemen yang mengatur  tahapan dari siklus
pengembangan basis data untuk dapat direalisasikan secara efektif dan efisien. Dalam
tahapan ini dibuat mission objective dan mission statement. Mission statement berisi
definisi dari tujuan utama dari perancangan sistem database. Sementara mission
objective
berisi tugas-tugas khusus yang dapat dikerjakan oleh database
yang akan
dirancang.
II. System Definition
Adalah  tahapan yang menentukan secara spesifik  batasan dan cakupan dari
sistem basis data yang ada, bersama user view utama, penggunaanya dan area aplikasi.
Menurut Connoly dan Begg (2010:316), User View
adalah definisi  dari apa yang
dibutuhkan sistem basis data berdasarkan perspektif job role terentu.
III. Requirement Collection and Analysis 
Adalah tahapan yang mengumpulkan informasi dari bagian-bagian organisasi
yang didukung oleh sistem basis data yang dikembangkan untuk mengidentifikasi
kebutuhan dari sistem yang baru. Tahapan ini dapat menggunakan teknik fact finding
  
26
yang dijelaskan sebelumnya. Informasi yang dikumpulkan untuk setiap user
view,
mencakup:
1.
Deskripsi data yang digunakan.
2.
Rincian mengenai bagaimana data dapat digunakan atau dihasilkan.
3.
Kebutuhan tambahan lain untuk sistem basis data yang baru.
lnformasi ini selanjutnya dianalisis untuk mengidentifikasi kebutuhan yang
perlu dimasukkan ke dalam sistem
basis data baru. Kebutuhan ini dideskripsikan ke
dalam dokumen bersama sebagai requirements specifications untuk aplikasi basis data
baru.
Ada tiga pendekatan untuk mengelola kebutuhan dari aplikasi basis data dengan
banyak user views, yaitu:
1.
The centralized approach: kebutuhan dari setiap user view digabung menjadi
sebuah set kebutuhan dari sistem basis data.
2.
The view integration approach: kebutuhan dari setiap user view digunakan untuk
membangun model data secara terpisah untuk merepresentasikan user view
tersebut. Model data yang dihasilkan tersebut nantinya akan digabungkan pada
tahapan perancangan database.
3.
Kombinasi dari dua pendekatan diatas.
IV. Tahap Perancangan Database
 
Connolly dan Begg (2010: 320) mendefinisikan perancangan database sebagai
proses menciptakan desain untuk basis data yang akan mendukung mission statement
dan mission objective
perusahaan. Metodologi perancangan basis data dibagi dalam
tiga tahapan, yaitu:
a.   Perancangan Basis Data Konseptual
Tahap ini merupakan tahap perancangan model yang tidak bergantung pada
pada detail-detail implementasi seperti target DBMS software, program aplikasi,
bahasa pemrograman, platform perangkat keras, masalah kinerja dan pertimbangan
fisikal lainnya. Tujuan dilakukannya tahap perancangan konseptual adalah untuk
membuat model data konseptual dari data yang dibutuhkan oleh perusahaan. Model
ini menjadi dasar dari tahapan berikutnya yaitu perancangan data logikal. Tahap ini
memiliki langkah-langkah sebagai berikut:
1)  Mengidentifikasi Tipe Entity
Langkah pertama adalah dengan menemukan  dan mendefinisikan entitas-entitas
yang akan membentuk model yang dibuat. Untuk mengidentifikasi entitas
tersebut, dilakukan dengan memeriksa spesifikasi dari kebutuhan pengguna. Hal
  
27
ini dapat dilakukan
dengan menggunakan metode fact finding
yang telah
dijelaskan.
2)  Mengidentifikasi Tipe Relasi
Setelah mengidentifikasi entitas, selanjutnya yaitu mengidentifikasi semua relasi
yang ada di antara entitas-entitas ini.
3)  Mengidentifikasi dan
Menghubungkan
Atribut-atribut dengan Entitas atau
Relasi
Langkah berikutnya pada metodologi ini adalah mengidentifikasi fakta
mengenai entitas dan relasi yang dipilih untuk dimasukan ke dalam database.
4)  Menentukan Domain Atribut
Sebuah domain adalah kumpulan nilai-nilai yang diperbolehkan bagi
satu atau
lebih atribut-atribut.  Tujuan  dari  langkah  ini adalah untuk menentukan domain
dari semua atribut-atribut yang ada pada model data konseptual.
5)  Menentukan Atribut dari Candidate dan Primary Key
Langkah ini bertujuan
mengidentifikasi candidate key dari suatu entitas
dan
kemudian memilih salah satunya
sebagai primary key. Candidate key dapat
diidentifikasikan lebih dari satu, dan harus dipilih salah satu menjadi primary
key, mengingat candidate key merupakan key alternative.
6)  Mempertimbangkan
Penggunaan Konsep Enhanced
Modeling
(langkah
optional)
Pada ini, terdapat pilihan untuk melanjutkan pengembangan ER model
dengan
menggunakan konsep lanjutan,
seperti spesialisasi/generalisasi, agregasi dan
komposisi.
7)  Mengecek Model Terhadap Redudansi
Dalam langkah ini, dilakukan pemeriksaan adanya redudansi terhadap model
konseptual dan menghilangkan redudansi tersebut. Ada tiga
kegiatan dalam
langkah ini, yaitu:
a)
Memeriksa ulang relasi one to one (1:1)
Setiap relasi yang bersifat one to one(1:1) , perlu diperiksa apakah  2 entitas
tersebut mewakili objek yang sama dan dapat digabungkan menjadi satu
relasi.
b)
Menghilangkan relasi redundancy.
Relasi redudansi terjadi jika infromasi yang sama dapat ditemukan melalui
relasi lain
dalam model. Relasi ini perlu dihilangkan sebelum memasuki
perancangan logikal.
  
28
c)
Mempertimbangkan dimensi waktu
Relasi redundan terkadang dimungkinkan jika berkaitan dengan waktu.
Setiap relasi perlu di pahami dengan baik sehingga model tetap konsisten
dengan kebutuhan pengguna.
8)  Memvalidasi Model Konseptual Terhadap Transaksi Pengguna 
Tujuan utamanya yaitu memastikan model konseptual yang dibuat mendukung
transaksi yang diperlukan untuk view
yang ada. Dua pendekatan yang dapat
dilakukan adalah :
a)
Pendeskripsian transaksi
Langkah ini dapat dilakukan dengan mendeskripsikan transaksi yang
digambarkan didalam model. Jika model telah memenuhi semua kebutuhan
transaksi pengguna maka model sudah tepat.
b)
Menggunakan jalur transaksi (transaction pathways).
Langkah
ini dapat dilakukan dengan menambahkan garis-garis yang
mewakili setiap transaksi pada model yang telah dirancang. Dengan melihat
kepada garis-garis tersebut dapat dilihat area-area yang kritis bagi transaksi
dan area yang tidak digunakan.
9) Meninjau Kembali Model Data Konseptual Bersama Pengguna  
Sebelum menyelesaikan tahap pertama, perlu untuk meninjau kembali model
data konseptual bersama pengguna untuk memastikan bahwa model tersebut
telah mewakili kebutuhan mereka. Model data konseptual berisi diagram ER dan
dokumen pendukung yang mendeskripsikan data model. Jika terjadi anomali
atau perbedaan di dalam data model, maka perlu dilakukan
perubahan, dengan
mengulangi langkah-langkah yang telah dilakukan.
b.   Perancangan Basis Data Logical
Sasaran utama dari langkah ini yaitu menerjemahkan
model data konseptual
yang telah dibuat kedalam model data logikal yang tepat dan mewakili transaksi
pengguna.
Langkah-langkah yang pada perancangan basis data logical ini antara lain:
1)  Menentukan relasi untuk model data logikal
Pada langkah ini, diturunkan relasi-relsi untuk model data logikal yang
merepresentasikan entitas, relasi dan atribut.
Hal tersebut diakukan dengan
dengan menenempatkan primary key
suatu entitas pada entitas lain sebagai
foreign key.
Entitas
pemilik primary key
disebut sebagai entitas “parent”,
sementara entitas yang menerima primary key entitas parent  sebagai foreign key
  
29
disebut entitas “child”, berikut struktur yang mungkin berdasarkan model
konseptual :
a)
Tipe Strong Entity
Dalam Strong Entity, tempatkan semua simple attribute pada entitas. Untuk
atribut composite seperti nama, cantumkan yang penting saja seperti
fName(nama depan) dan LName(nama belakang).
b) Tipe weak entity, primary key-nya diturunkan dari setiap owner entity.
c)  Tipe relasi biner one-to-many,   Pada relasi ini, entitas yang memiliki sisi one
merupakan entitas parent
sementara yang memiliki sisi many
merupakan
entitas child. Pada relasi ini, primary key pada parent ditempatkan pada child
sebagai foreign key.
c)
Memeriksa relasi biner one-to-one,  apabila terdapat mandatory participation
pada kedua sisi, gabungkan entitas yang terlibat menjadi satu tabel dan pilih
salah satu primary key dari entitas asalnya menjadi primary key yang
lainnya. Apabila terdapat mandatory participation pada sisi pertama, maka
yang harus dilakukan adalah menentukan entitas induk dan anak dari kedua
tabel. Primary key pada tabel induk akan menjadi primary key juga pada
tabel anak. Dan apabila  terjadi  optional  participation  pada  kedua  sisi, 
maka harus ditentukan primary key dari tabel mana yang akan diberikan ke
tabel lain yang berhubungan.
d)
One-to-One (1:1) Recursive Relationship, Pada relasi ini, penempatan
primary key sama seperti relasi biner one-to-one.
e)
Pada  tipe  relasi  superclass/subclass,  identifikasi  superclass
sebagai
entitas induk dan entitas subclass sebagai entitas anak
g) Pada tipe relasi biner
many-to-many, buat sebuah
relasi baru
untuk
merepresentasikan relasi dan beberapa atribut yang menjadi bagian dari 
relasi tersebut.  Letakan primary  key  dari  entitas yang berhubungan ke tabel
baru sebagai foreign key. Foreign key tersebut akan menjadi primary key pada
tabel yang baru.
h)  Pada relasi kompleks, buat sebuah relasi baru yang merepresentasikan semua
attribut yang menjadi bagian dari hubungan. Kemudian letakkan primary key
dari entitas yang memiliki relasi kompleks ke dalam tabel yang baru dibuat
sebagai foreign key. Foreign key yang mewakili relasi many, misalnya 0…*
atau 1…* akan membentuk primary key juga pada tabel yang baru.
  
30
i)
Pada atribut multi-valued, buat sebuah tabel yang merepresentasikan atribut
multi-valued dan primary key dari tabel yang lama menjadi foreign key pada
tabel yang dibuat.
2)  Memvalidasi Relasi Menggunakan Normalisasi
Normalisasi digunakan untuk menyempurnakan model sehingga menghindari
berbagai kesalahan
dan adanya duplikasi data. Normalisasi memastikan bahwa
model data  yang  dihasilkan  memenuhi jumlah attribut yang diperlukan
perusahaan. Dan relasi yang terbentuk harus memiliki redudansi yang minimal dan
terhindar dari berbagai update anomalies yang terjadi.
3)  Memvalidasi Relasi Terhadap Transaksi Pengguna
Langkah ini diulangi untuk memvalidasi model data logikal dan memastikan bahwa
model tersebut mendukung transaksi yang dibutuhkan,  dan memenuhi  spesifikasi 
kebutuhan  pengguna.
4)  Mengecek Integerity Constraint
Integrity Constarint merupakan kendala-kendala yang perlu diatasi untuk mencegah
database
dari ketidakkonsistenan. 
Ada lima tipe Integerity Constraint
yaitu
required data, atribut domain constraints, entity integrity, referential integrity dan
enterprise constraint.
5)  Meninjau Kembali Model Data Logikal Bersama Pengguna
Langkah ini bertujuan untuk memastikan
bahwa model-model data logikal yang
dijadikan
dokumen pendukung dapat
memberikan
gambaran yang benar dari
kebutuhan perusahaan.
6)  Memeriksa Pertumbuhan Masa Depan
Tujuan dari langkah ini adalah untuk menemukan apakah ada kemungkinan
perubahan-perubahan yang signifikan dalam waktu dekat dan apakah model data
logikal dapat mengakomodasi perubahan-perubahan ini.
c.   Perancangan Basis Data Fisikal
Tujuan langkah ini adalah untuk menghasilkan skema database
relasional dari model data logikal yang dapat diimplementasikan ke DBMS target.
Tahap ini, memungkinkan perancang untuk
menentukan bagaimana database
diimplementasikan. Oleh karena itu, rancangan fisikal dapat dibuat untuk DBMS
yang khusus. Berikut ini adalah langkah-langkah penting yang dilakukan pada
proses perancangan basis data fisikal:
1)
Menterjemahkan Model Data Logikal Terhadap Target DBMS Aktivitas 
pertama  yang  dilakukan  pada  perancangan  basis  data fisikal melibatkan
  
31
penerjemahan relasi pada model data logikal ke dalam suatu bentuk yang bisa
dikembangkan ke dalam DBMS yang ditentukan. Pada langkah ini terdapat
tiga aktivitas, meliputi:
a)  Merancang relasi dasar
Tujuannya adalah untuk menentukan bagaimana merepresentasikan
relasi dasar yang diidentifikasi ke dalam model  data  logikal  pada  DBMS 
yang  ditentukan. Informasi yang akan disusun dan diolah dapat diambil
dari kamus data dan definisi relasi yang dideskripsikan menggunakan
database design language (DBDL).
b) Merancang representasi data yang diperoleh
Tujuannya adalah untuk menentukan bagaimana merepresentasikan
data yang diperoleh pada model data logikal ke dalam DBMS yang
ditentukan.
c)
Merancang batasan umum
Tujuan  dari  langkah  ini  adalah  merancang  batasan  umum untuk
DBMS target.
Batasan umum berkaitan secara langsung dengan realitas
operasional perusahaan.
2)
Merancang organisasi file dan index
Langkah ini bertujuan untuk menentukan optimalisasi file perusahaan  
untuk   menyimpan   relasi   dasar   dan   index   yang diperlukan untuk
mencapai performa yang diharapkan sementara itu relasi dan tuples akan
disimpan ke dalam penyimpanan sekunder.
Aktivitas pada langkah ini
meliputi:
a)  Analisa transaksi
Untuk memahami fungsionalitas dari transaksi yang akan dijalankan   di  
dalam   database   dan   menganalisa   transaksi penting.
b)  Memilih organisasi file
Langkah ini bertujuan untuk menentukan organisasi file setiap relasi,
menyimpan dan mengakses data secara efisien.
c)  Memilih index
Langkah ini bertujuan untuk memastikan apakah penambahan  index  akan
meningkatkan performa sistem.
d)  Mengestimasi kebutuhan kapasitas disk
Tujuan langkah ini adalah untuk
mengestimasi  jumlah  kapasitas  disk 
yang  dibutuhkan oleh database.
  
32
3)
Merancang user views
Langkah ini bertujuan untuk merancang user views yang diidentifikasi
selama pengumpulan kebutuhan  dan  analisa  pada  siklus  hidup  aplikasi 
database relasi.
4)
Merancang mekanisme keamanan
Merancang mekanisme keamanan
untuk database yang ditetapkan oleh
pengguna. Terdapat 2 jenis tipe keamanan database yaitu system security dan
data security.
V.
DBMS Selection
Adalah tahapan didalam menentukan  DBMS yang akan digunakan untuk
mendukung sistem basis data yang dibuat.
VI.
Application Design
Adalah tahapan didalam perancangan user interface dan program aplikasi yang
menggunakan dan memperoses sistem basis data.  Dalam merancang aplikasi harus
memastikan
semua spesifikasi kebutuhan pemakai (user requirement specification)
terhadap basis data dapat terpenuhi melalui aplikasi. 
VII.
Prototyping
Adalah perancangan model basis data yang siap bekerja berdasarkan rancangan
yang telah dibuat. Terdapat dua strategi prototyping yaitu:
a.
Requirement Prototyping
Adalah penggunaan prototype untuk menentukan kebutuhan dari sistem
database yang diajukan. Prototype digunakan hanya digunakan sebagai  alat untuk
memberikan gambaran dari hasil perancangan berdasarkan kebutuhan user. Setelah
menemukan kebutuhan user maka prototype akan ditinggalkan.
b.
Evolutionary Prototyping
Adalah requirement prototyping
yang terus dilanjutkan pengembangannya
untuk menjadi model database yang digunakan sampai akhir.
VIII.
Implementation
Adalah tahapan yang merealisasikan secara fisik  rancangan database dan aplikasi.  
IX.
Data Conversion and Loading
Adalah proses pemindahan data menuju basis data yang telah dibuat dan mengubah
aplikasi-aplikasi untuk menggunakan basis data tersebut.
Langkah ini diperlukan
hanya ketika suatu sistem basis data baru menggantikan sistem yang lama.
X.
Testing
Adalah proses menjalankan basis data untuk menemukan error .
  
33
XI.
Operational Maintenance
Adalah proses-proses monitoring dan maintainance setelah instalasi.
Yang termasuk
aktifitas dari tahapan ini adalah sebgaia berikut:
1.
Memantau kinerja dari sistem. Jika kinerjanya menurun dibawah level yang dapat
diterima, mungkin basis data perlu direorganisasi.
2.
Pemeliharaan dan upgrade aplikasi basis data-nya (jika diperlukan).
2.1.15 Data Flow Diagram
Menurut Whitten(2004:25) Data Flow
merepresentasikan input
suatu data ke
dalam proses atau output suatu data ke luar proses. Data Flow juga merepresentasikan
creation,reading, deletion dan updating data di dalam file atau database (Disebut juga
datastore di dalam database). Sementara Menurut
Marakas
(2006:117)
DFD adalah
alat grafis untuk menggambarkan urutan proses-proses dan fungsi yang terkandung
dalam suatu batasan sistem dan aliran data melalui sistem. Terdapat 2 jenis tipe
penggambaran simbol
DFD yang terkenal yaitu tipe Gane-Sarson nomenclature
(1979) and DeMarco-Yourdon (1979):
Gambar 2.4 Tipe DFD
Data Flow
Adalah panah yang menunjukan arah aliran data, bersamaan dengan penjelasan
dari data yang terkandung didalamnya. Data Flow dapat dimengerti sebagai data
yang bergerak.
Source / Sink
Adalah  subyek yang berperan sebagai asal atau penerima data flow yang keluar
dari sistem.
Data store
Merepresentasikan suatu repository dari data  yang disimpan secara sementara
atau permanen dalam sistem.
  
34
Proses
Adalah pengubahan data menjadi bentuk yang lain, dimana hasil tersebut
digunakan untuk membentuk data baru, atau membentuk beberapa output seperti
laporan atau pengiriman barang.
Beberapa jenis data flow diagram :
1.
Context Data Flow Diagram
Adalah suatu pemodelan proses yang digunakan untuk mendokumentasikan
cakupan dari suatu sistem sering disebut juga Environmental Model.
2.
Level-0 DFD 
Adalah diagram yang menggambarkan proses utama yang terkandung dalam
sistem, urutan dari proses tersebut, dan semua
data stores
yang diakses oleh
proses-proses tersebut dan source/sink yang berhubungan dengan sistem.
3.
Level-1 sampai Level-N DFD
Adalah dekomposisi dari Level-0 DFD. Artinya adalah Level-0 DFD melalui
proses dekomposisi yang menghasilkan Level-1 DFD, Level-2 DFD sampai ke
Leve-N DFD sesuai kebutuhan. Proses yang digambarkan di Level-0 DFD adalah
parent process
dan hasilnya yang merupakan subproses yang disebut sebagai
child process.
2.1.16 Metode Problem Solving
Menurut McLeod dan Schell(2001,112) Masalah(Problem) adalah suatu
kondisi keadaan atau kejadian yang berbahaya atau berpotensi merusak kepada suatu
perusahaan atau bermanfaat atau berpotensi untuk memiliki manfaat. Solusi adalah
hasil dari proses problem-solving.  Sementara Problem-Solving adalah suatu tindakan
yang meresponi masalah-masalah untuk menekan efek berbahayanya atau
mengkapitalisasinya menjadi kesempatan untuk memperoleh keuntungan. Standard
menggambarkan desired-state
atau keadaan yang harusnya dicapai oleh sistem.
Sementara Information
menggambarkan current-state
atau keadaan sistem yang
berjalan saat ini. Perbedaan antara Standart
dan Information
merupakan apa yang
perlu dicapai oleh solusi alternatif. Didalam menentukan solusi alternatif perlu
diperhatikan
Constraints
atau batasan-batasan baik yang bersifat internal maupun
eksternal terhadap pemilihan solusi alternatif.
  
35
Gambar 2.5 Fase Problem-Solving
(Sumber :McLeod dan Schell,2002,p112)
2.2. Teori- Teori Khusus
2.2.1. Rawat Inap
Menurut peraturan bersama Menteri kesehatan no 138/MENKES//PB/II/2009  
Rawat Inap tingkat Lanjutan adalah pelayanan kesehatan perorangan  yang bersifat
spesialistik atau sub spesialistik untuk keperluan observasi, perawatan, diagnosis,
pengobatan, rehabilitasi medis dan/atau pelayanan medis lainnya termasuk konsultasi
psikologi, yang dilaksanakan pada PPK(Pemberi Pelayanan Kesehatan) tingkat lanjutan
di mana peserta atau anggota keluaranya dirawat inap di ruang perawatan paling singkat
1(satu) hari.
Menurut Ery (2010:42), pelayanan rawat inap adalah suatu
kelompok pelayanan
kesehatan yang terdapat di rumah sakit yang merupakan gabungan dari beberapa fungsi
pelayanan. Kategori pasien yang masuk rawat inap adalah pasien yang perlu perawatan
intensif atau observasi ketat karena penyakitnya.
Menurut Ery (2010:43),
bahwa pasien yang masuk pada pelayanan rawat inap
akan mengalami tingkat proses transformasi, yaitu : 
1.
Tahap Admission, yaitu pasien dengan penuh kesabaran dan keyakinan dirawat
tinggal di rumah sakit. 
2.
Tahap Diagnosis, yaitu pasien diperiksa dan ditegakan diagnosisnya. 
  
36
3.
Tahap Treatment, yaitu berdasarkan diagnosis, pasien dimasukkan dalam program
perawatan dan terapi. 
4.
Tahap Inspection, yaitu secara continue
diobservasi dan dibandingkan  pengaruh
serta respon pasien atas pengobatan. 
5.
Tahap Control, yaitu setelah dianalisa kondisinya, pasien dipulangkan. Pengobatan
diubah atau diteruskan, namun dapat juga kembali ke proses untuk didiagnosa ulang. 
2.2.2. Rawat Jalan
Menurut peraturan bersama Menteri Kesehatan no 138/MENKES//PB/II/2009 
rawat jalan tingkat pertama adalah pelayanan kesehatan tingkat perorangan yang
bersifat umum dan dilaksanakan pada PPK tingkat pertama untuk keperluan diagnosis,
observasi, pengobatan dan/atau pelayanan kesehatan lainnya. PPK Tingkat pertama
adalah Puskemas, Puskesmas Kelililng, Puskesmas pembantu, Poskesdes/Polindes,
Rumah Bersalin dan Dokter Keluarga.
Sementara Rawat Jalan tingkat lanjutan adalah pelayanan kesehatan perorangan
yang bersifat spesialistik atau sub spesialitsik dan dilaksanakan pada PPK tingkat
lanjutan sebagai rujukan dari PPK tingkat pertama, untuk keperluan observasi,
diagnosis, pengobatan, rehabilitas medis, dan/atau pelayanan medis lainnya termasuk
konsultasi psikologi tanpa menginap di ruang perawatan. PPK tingkat Lanjutan yaitu
Balkesmas dan Rumah Sakit Daerah.
2.2.3. Fasilitas Penunjang Medis
1.
Laboratorium Klinik
Menurut Peraturan Menteri Kesehatan Republik Indonesia No
411/MENKES/PERIII/2010/, Laboratorium Klinik adalah laboratorium kesehatan
yang melaksanakan pelayanan pemeriksaan spesimen klinik untuk mendapatkan
informasi tentang kesehatan perorangan terutama untuk menunjang upaya diagnosis
penyakit, penyembuhan penyakit, dan pemulihan kesehatan. Laboratorium klinik
dibagi menjadi 2 yaitu:
a)
Laboratorium klinik umum
Merupakan laboratorium klinik yang melaksanakan pelayanan pemeriksaan
spesimen klinik di bidang hematologi, kimia, klinik, mikrobiologi klinik,
parasitologi klinik, dan imunologi klinik.
b)
Laboratorium klinik khusus
  
37
Merupakan laboratorium klinik yang melaksanaan pelayanan pemeriksaan
spesimen klinik pada satu bidang pemeriksaan khusus dengan kemampuan
tertentu contoh : laboratorium mikrobiologi klinik, laboratorium parasitologi
klinik , laboratorium patologi anatomik.
2.
Radiologi
Menurut peraturan Menteri Kesehatan Republik Indonesia no
780/MENKES/PER/VIII/2008, Radiologi adalah pelayanan medik yang
menggunakan semua modalitas energy radiasi untuk diagnosis dan terapi, termasuk
teknik pencitraan dan penggunaan emisi radiasi dengan sinar-X, radiokatif,
ultrasonografi dan radiasi radio frekwensi elektromagnetik.
  
38