BAB 2 TINJAUAN PUSTAKA Pada tinjauan pustaka akan dibahas

advertisement
BAB 2
TINJAUAN PUSTAKA
Pada tinjauan pustaka akan dibahas secara ringkas hal-hal umum yang berhubungan
dengan basis data dan hal-hal khusus yang berhubungan dengan topik skripsi dan alat
bantu analisis dan perancangan basis data.
2.1
Definisi Data
Menurut Hoffer, Prescott dan McFadden (2005, p5), data merupakan gambaran objek
dan peristiwa yang mempunyai arti dan kepentingan di lingkungan pemakai.
Sedangkan informasi merupakan data yang telah diproses sedemikian rupa sehingga
dapat meningkatkan pengetahuan seseorang yang menggunakan data tersebut.
2.2
Definisi Basis Data
Menurut Connoly dan Begg (2010,p65), basis data merupakan kumpulan data yang
terhubung secara logika dan deskripsi dari suatu data yang dirancang sebagai
informasi yang dibutuhkan oleh organisasi.
Menurut Capron dan Johnson (2010, p176), basis data adalah kumpulan data yang
terhubung yang disimpan dengan pengulangan yang sedikit.
2.3
DBMS
Menurut Hoffer, Prescott dan McFadden (2005,p7), DBMS merupakan sebuah
sistem piranti lunak yang digunakan untuk membuat, memelihara dan menyediakan
akses kontrol kepada pengguna basis data. Sebuah DBMS menyediakan metode yang
sistematis untuk menciptakan, memperbaharui, menyimpan dan mengambil kembali
data didalam basis data.
7
8
Menurut Connoly and Begg (2005,p16), DBMS merupakan sistem piranti lunak
dimana pemakainya dapat mendefinisikan, menciptakan, memelihara dan mengontrol
akses ke basis data. DBMS menyediakan beberapa fasilitas :
1.
Mengizinkan pengguna untuk menentukan basis data, biasanya melalui Data
Definition Language (DDL). DDL menyediakan fasilitas bagi Basis data
Administrator (DBA) dan pemakai untuk menentukan tipe data, entitas, atribut
dan relasi yang diperlukan aplikasi serta batasan integritas dan keamanan yang
bisa disimpan di basis data.
2.
Mengizinkan pengguna untuk melakukan pengoperasian data seperti
memasukkan, memperbaharui, menghapus dan mengambil data dari basis data.
3.
DBMS juga menyediakan akses kontrol terhadap basis data. Contoh akses
kontrol yang disediakan :
a.
Security System, yang mana dapat mencegah pengguna tidak berwenang
untuk mengakses basis data.
b.
Integrity System, yang mana dapat mengatur ketetapan data yang
disimpan.
c.
Concurrency Control System, yang mana dapat memungkinkan berbagi
akses ke basis data.
d.
Recovery Control System, yang mana dapat mengembalikan basis data ke
keadaan awal apabila terjadi kesalahan pada piranti lunak atau keras.
e.
User-Accessible Catalog, yang mana dapat mengandung gambaran data
yang ada dalam basis data.
9
2.3.1
Komponen–komponen DBMS
Menurut Connoly dan Begg (2005,p18), DBMS memiliki lima komponen penting
yaitu :
A.
Hardware (perangkat keras)
Suatu DBMS dan aplikasi yang menggunakan hardware (perangkat keras) untuk
menjalankan aplikasi. Hardware (perangkat keras) dapat disusun dari suatu
komputer tunggal, suatu mainframe (server) tunggal, suatu jaringan komputer.
B.
Software (perangkat lunak)
Komponen perangkat lunak terdiri dari DBMS Software (perangkat lunak) dan
aplikasi program beserta sistem operasi, termasuk perangkat lunak tentang jaringan
bila DBMS digunakan dalam jaringan.
C.
Data
Data merupakan komponen terpenting dalam DBMS khususnya sudut pandang dari
pengguna mengenai data, dimana data berfungsi sebagai jembatan antara komponen
mesin dengan komponen manusia.
D.
Procedures
Prosedur merupakan instruksi dan aturan-aturan dalam membuat rancangan dan
menggunakan basis data. Pengguna sistem dan staff yang mengatur kebutuhan basis
data dan didokumentasikan dalam prosedur yang berupa petunjuk pengguna sistem
atau petunjuk menjalankan sistem. Berikut ini terdiri dari :
1.
Log on ke DBMS.
2.
Menggunakan sebagian fasilitas DBMS atau aplikasi program.
3.
Menjalankan dan menghentikan DBMS.
4.
Membuat duplikat backup basis data.
5.
Menangani kesalahan pada hardware atau software.
10
6.
Mengubah struktur suatu table, mengatur ulang basis data melalui multiple
disks, meningkatkan kinerja, atau menyimpan data ke secondary storage.
E.
People
Pengguna yang menjalankan dan terkait dengan sistem.
1.
DA (Data Administrator), pihak yang berwenang untuk membuat keputusan
strategis dan kebijakan mengenai data yang ada, DBA (Database
Administrator), menyediakan dukungan teknis untuk implementasi keputusan
tersebut, dan bertanggung jawab atas keseluruhan kontrol sistem pada
tingkatan teknis.
2.
Database Designer (Basis data Desainer), dalam sebuah proyek basis data
yang besar, seharusnya terdapat dua tipe designer yaitu logical database
designer dan physical databse designer. Dimana, Logical Database Designer
bertugas untuk mengindentifikasi data (entitas dan atribut), hubungan antar
data dan hambatan penyimpanan data kedalam basis data. Sedangkan Physical
Database Designer menentukan bagaimana basis data logikal untuk dijadikan
bentuk fisik.
3.
Application Developer (Pengembang Aplikasi), mempunyai tanggung jawab
untuk menerima, memasukkan, mengubah, dan menghapus data.
4.
End-Users (Konsumen), pihak yang berinteraksi dengan sistem melalui
workstation atau terminal.
Gambar 2.1 Komponen DBMS
11
2.3.2
Keuntungan dan Kerugian DBMS
Menurut Connoly dan Begg (2005,p26), keuntungan DBMS adalah sebagai berikut :
1.
Kontrol terhadap data redudancy (pengulangan data).
2.
Data yang tetap.
3.
Mendapatkan informasi lebih dari jumlah data yang sama.
4.
Data digunakan bersama-sama.
5.
Meningkatkan integritas data.
6.
Meningkatkan keamanan data.
7.
Penetapan standarisasi.
8.
Pengurangan biaya.
9.
Mempermudah pengoperasian data.
10.
Memudahan akses dan respon data.
11.
Meningkatkan produktifitas.
12.
Memudahkan pemeliharaan data mandiri.
13.
Menambah konkurensi data.
14.
Meningkatkan pelayanan cadangan dan pemulihan.
Menurut Connoly dan Begg (2005,p26), kerugian DBMS adalah sebagai berikut :
1.
Memiliki sistem yang rumit.
2.
Ukuran yang besar.
3.
Biaya yang tinggi.
4.
Penambahan biaya untuk perangkat keras yang dibutuhkan.
12
5.
Penambahan biaya perubahan.
6.
Kemampuan yang tidak maksimal.
7.
Kegagalan yang ditimbulkan lebih besar.
2.4
Arsitektur Basis Data
Gambar 2.2 Tingkat Arsitektur Basis Data
Tiga tingkat arsitektur terdiri dari :
1.
Tingkat Eksternal
Tingkat dimana terdapat tampilan basis data untuk pengguna. Tingkat ini
menjelaskan bahwa ada bagian dari basis data yang relevan ke setiap
pengguna. Pada tampilan ini terdapat :
a.
Lebih dari satu entity (entitas).
b.
Lebih dari satu attribute (atribut).
c.
Lebih dari satu relationship (hubungan).
13
2.
Tingkat Konseptual
Tingkat dimana terdapat tampilan basis data untuk komunitas. Tingkat ini
menjelaskan data apa yang disimpan di basis data dan juga menjelaskan
hubungan antar data. Tingkat ini mewakili :
a)
Semua entity (entitas), attribute (atribut) dari entity (entitas) tersebut, dan
relationship-nya.
3.
b)
Kendala yang ada pada data.
c)
Informasi semantik tentang data.
d)
Keamanan dan integritas informasi.
Tingkat Internal
Tingkat dimana representasi fisik dari basis data dalam komputer. Tingkat ini
menjelaskan bagaimana data disimpan dalam basis data. Tingkat internal ini
berkaitan dengan beberapa hal dibawah ini :
a)
Alokasi ruang penyimpanan untuk data dan indeks.
b)
Pencatatan data untuk penyimpanan.
c)
Perbandingan data dan teknik enkripsi data.
d)
Penempatan pencatatan.
Dibawah tingkat internal terdapat tingkat fisik yang mengatur sistem operasi
dibawah arahan dari DBMS. Fungsi dari DBMS dari sistem informasi pada
tingkat ini tindak jelas dan berbeda dari sistem ke sistem.
(Connolly,2005,p35)
14
2.5
Data Independence
Sasaran utama dari tiga tingkat arsitektur adalah untuk menyediakan data
independence atau kemandirian data, dalam arti tingkat atas tidak akan berubah
dengan perubahan ketingkat bawah. Terdapat dua tipe dari kemandirian data :
2.5.1 Logical Data Independence (Data Mandiri Logis)
Merujuk kepada imunitas dari skema eksternal untuk perubahan dalam skema
konseptual.
2.5.2 Physical Data Independence (Data Mandiri Fisik)
Merujuk kepada imunitas dari skema konsptual untuk perubahan dalam
skema internal.
(Connolly,2005,p38-39)
2.6
The Database System Development Lifecycle
Sebagai sistem basis data komponen mendasar bagi perusahaan besar yang memiliki
sistem informasi yang luas, sistem basis data mengembangkan siklus hidup yang
secara lazim terkait dengan siklus hidup dari sistem informasi. Penting untuk
mengetahui tahapan-tahapan dari pengembangan siklus hidup sistem basis data
tersebut. Erikut tahapan-tahapannya :
15
Gambar 2.3 Database System Development Lifecycle
2.6.1 Database Planning (Perencanaan Basis data)
Aktivitas manajemen yang memperkenankan tahapan database application lifecycle
(siklus aplikasi basis data) direalisasikan seefisien dan seefektif mungkin.
Perencanaan basis data harus diintegrasikan dengan semua strategi sistem informasi
organisasi. Ada tiga isu pokok yang terlibat dalam perumusan strategi sistem
informasi, diantaranya :
1.
Identifikasi rencana dan tujuan perusahaan, kemudian menentukan kebutuhan
sistem informasi.
2.
Evaluasi sistem informasi yanh ada untuk menentukan kelebihan dan
kelemahan yang ada.
16
3.
Penafsiran kesempatan teknologi informasi yang dapat menghasilkan kekuatan
kompetitif.
(Connolly,2005,p285).
2.6.2 System Definition (Pendefinisian Sistem)
Mendeskripsikan lingkup dan batasan-batasan dari aplikasi basis data dan pandangan
pengguna utama. Pendangan pengguna adalah apa saja yang termasuk dalam sistem
basis data dari perspektif peran kerja tertentu seperti manajer atau supervisor
(pengawas), atau area aplikasi perusahaan seperti personal marketing (pemasaran
perorangan) atau kontrol saham (Connolly,2005,p286).
2.6.3 Requirement Collection and Analysis (Pengumpulan dan Analisis Data)
Proses pengumpulan dan analisa data tentang bagian dari organiasasi yang akan
didukung oleh aplikasi basis data, dan menggunakan data ini untuk mengidentifikasi
persyaratan-persyaratan pangguna dari sistem yang baru (Connolly,2005,p288).
2.6.4 Database Design (Perancangan Basis data)
Proses menciptakan rancangan untuk suatu basis data yang akan mendukung operasi
dan sasaran perusahaan (Connolly,2005,p291).
Terdapat dua pendekatan perancangan basis data yaitu :
a)
Bottom-up
Pendekatan ini sesuai untuk rancangan basis data yang sederhana dengan
jumlah attribute yang relatif sedikit (Connolly,2005,p291).
b)
Top-Down
Pendekatan ini lebih sesuai untuk strategi rancangan basis data yang rumit
(Connolly,2005,p292).
17
Perancangan basis data terdiri data tiga tahap, yaitu :
1.
Perancangan Basis data Konseptual
Proses membangun sebuah model dari data yang digunakan dalam suatu
perusahaan, independen dari semua pertimbangan fisik (Connolly,2005,p293).
Berikut langkah dalam perancangan basis data konseptual :
Langkah 1 Membangun model data konseptual :
a.
Identifikasi tipe entity.
b.
Identifikasi tipe relationship.
c.
Identifikasi dan mengumpulkan attribute dengan tipe entity atau tipe
relationship.
d.
Menentukan domain attibute.
e.
Menentukan attribute candidate key, primary key, dan alternate key.
f.
Mempertimbangkan penggunaan konsep model enhanced(pilihan).
g.
Memerika redudansi dari model.
h.
Memvalidasi model data konseptual terhadap transaksi penguna.
i.
Meninjau kembali model data konseptual terhadap pengguna.
(Connolly,2005,p440).
2.
Perancangan Basis data Logikal
Proses membangun sebuah model dari data yang digunakan dalam suatu
perusahaan berdasarkan pada model data yang spesifik, tetapi independen
terhadap DBMS tertentu dan pertimbangan fisik lainnya (Connolly,2005,p294).
Langkah 2 membangun dan memvalidasi model data logika :
a.
Derivasi relationship untuk model data logika.
18
b.
Validasi relationship dengan normalisasi.
c.
Validasi relationship terhadap relationship transaksi.
d.
Memeriksa integrity constraint.
e.
Meninjau model data logika dengan pengguna.
f.
Menggabungkan model data logika kedalam model global (pilihan).
g.
Meninjau untuk perkembangan di masa yang akan datang.
(Connolly,2005,p440)
3.
Perancangan Basis data Fisikal
Proses memproduksi sebuah deskripsi dari implementasi basis data dalam
tempat penyimpanan kedia, hal ini menjelaskan relationship dasar berkas
organisasi, dan indeks uang digunakan untuk mencapai keefisienan akses ke
data, dan apapun integrity constraint yang terkait dan langkah-langkah security
(Connolly,2005,p294).
Langkah 3 menerjemahkan model data logika untuk target DBMS :
a.
Merancang relationship dasar.
b.
Merancang representasi dari data derivasi.
c.
Merancang general constraint.
Langkah 4 merancang berkas organisasi dan indeks :
a.
Menganalisa transaksi.
b.
Memilih berkas organisasi.
c.
Memilih indeks.
d.
Estimasi kapasitas disk yang dibutuhkan.
e.
Merancang views pengguna.
19
f.
Merancang mekanisme security.
g.
Mempertimbangkan oengenalan dalam mengontrol redudansi.
h.
Memonitor dan mengaktifkan sistem operasional.
2.6.5 DBMS Selection (Pemilihan DBMS)
Pemilihan dari suatu DBMS yang sesuai untuk mendukung aplikasi basis data
(Connolly,2005,p295).
Langkah-langkah dalam pemilihan DBMS :
1.
Mendefinisikan syarat-syarat sebagai referensi.
2.
Daftar singkat dua atau tiga produk.
3.
Evaluasi produk.
4.
Merekomendasikan pilihan dan menghasilkan laporan.
2.6.6 Application Design (Perancangan Aplikasi)
Menurut Connolly(2005,p299), perancangan aplikasi (application design) adalah
perancangan antarmuka pengguna dan program aplikasi yang menggunakan dan
memproses basis data.
Ada dua ospek penting dalam perancangan aplikasi, yaitu :
1.
Transaction Design (Perancangan Transaksi)
Transaksi merupakan satu atau serangkaian transaksi yang dilakukan oleh
pengguna atau program aplikasi yang mengakses atau mengubah isi dari basis
data.
Tujuan
dari
perancangan
transaksi
adalah
menetapkan
dan
mendokumentasikan katakteristik tingkat tinggi dan transaksi yang dibutuhkan
pada basis data, diantaranya :
20
a)
Data yang digunakan dalam transaksi.
b)
Karakteristik fungsional dari transaksi.
c)
Keluaran (output) dari transaksi.
d)
Kepentingan pengguna.
e)
Nilai yang diharapkan dari pengguna.
Ada tiga jenis transaksi :
a.
Retrieval Transaction
Digunakan untuk mendapatkan kembali data untuk ditampilkan dalam
laporan.
b.
Update Transaction
Digunakan untuk menambah data, menghapus data lama, atau mengubah
data yang sudah ada dalam basis data.
c.
Mixed Transaction
Merupakan kombinasi antara Retrieval Transaction dan Update
Transaction.
2.
User Interface Design (Perancangan Antarmuka)
Sebelum mengimplementasikan sebuah form atau laporan perlu dirancang
tampilannya terlebih dahulu. Ada beberapa pedomannya dalam perancangan
pelaporan, yaitu :
a.
Judul yang bermakna.
b.
Instruksi yang mudah dipahami.
c.
Pengelompokkan yang logis dan kolom yang berurutan.
d.
Visualisasi tata letak yang menarik dari laporan.
21
e.
Nama field yang akrab.
f.
Terminologi dan singkatan yang konsisten.
g.
Warna yang digunakan konsisten.
h.
Ruang dan batas-batas untuk field memasukkan data jelas.
i.
Pergerakkan kursor yang mudah.
j.
Perbaikan kesalahan untuk karakter individu dan seluruh field.
k.
Pesan kesalahan untuk nilai yang tidak dapat diterima.
l.
Field pilihan ditadai dengan jelas.
m.
Pesan yang jelas untuk field.
n.
Adanya sinyal selesai, ketika pengguna selesai mengisi field dari suatu
formulir.
(Connolly,2005,p299)
2.6.7 Prototype (Permodelan)
Membangun suatu model kerja dari suatu aplikasi basis data.
Tujuan utama dari pengembangan protoype aplikasi basis data adalah untuk
memungkinkan pengguna memakai prototype tersebut dalam mengidentifikasikan
kelebihan
atau
kekurangan
sistem,
dan
memungkinkan
perancang
untuk
memperbaiki atau melengkapi fitur-fitur aplikasi basis data yang baru.
Ada dua strategi prototyping yang umum digunakan, yaitu :
1.
Requirement Prototyping
Menggunakan prototype untuk menetapkan tujuan dari aplikasi basis data dan
ketika tujuan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang.
22
2.
Evolutionary Prototyping
Digunakan untuk tujuan yang sama. Perbedaannya adalah prototype yang
sudah dipakai tidak dibuang, tetapi dikembangkan lebih jauh menjadi aplikasi
basis data yang baru.
(Connolly,2005,p303-304)
2.6.8 Implementation (Pelaksanaan)
Realisasi secara fisik dari basis data dan perancangan aplikasi. Implementasi basis
data dapat dicapai dengan menggunakan Data Definition Language (DDL) dari
DBMS yang dipilih atau Graphical User Interface(GUI).
(Connolly,2005,p304).
2.6.9 Data Conversion and Loading (Konversi Data dan Pemuatan)
Menurut Connolly(2005,p305), data conversion and loading adalah memindahkan
data yang sudah ada kedalam basis data yang baru dan mengubah aplikasi yang
sudah ada kedalam basis data yang baru dan mengubah aplikasi yang sudah ada
untuk dijalankan pada basis data yang baru.
Tahapan ini diperlukan ketika sistem basis data yang baru akan menggantikan sistem
basis data yang lama. Pada masa sekatang, DBMS umumnya memiliki fungsinya
untuk memasukkan file ke dalam basis data yang baru. Fungsi ini memungkinkan
pengembang untuk mengkonversi dan menggunakan program aplikasi yang lama
dalam sistem yang baru.
2.6.10 Testing (Pengujian)
Proses melaksanakan program aplikasi dengan tujuan untuk menemukan kesalahan.
Berikut adalah contoh kriteria yang dapat digunakan untuk melaksanakan evaluasi :
1.
Learnability
Berapa lama waktu yang diperlukan untuk seorang pengguna baru menjadi
produktif dengan sistem? (Conolly,2005,p305).
23
2.
Performance
Seberapa baik sistem dalam menanggapi kesesuaian praktek kerja pengguna?
(Connolly,2005,p305).
3.
Robustness
Setoleransi apa sistem pada kesalahan pengguna? (Connolly,2005,p305).
4.
Recoverbility
Seberapa
baik
sistem
saat
pemulihan
kesalahan
pengguna?
(Connolly,2005,p306)
5.
Adaptibility
Seberapa dekat sistem terkait ke satu model kerja? (Connolly,2005,p306)
2.6.11 Operational Maintenance (Pemeliharaan Operasional)
Proses pemantapan dan memelihara sistem dengan mengikuti instalasi. Tahap ini
melibatkan dua kegiatan, yakni :
1.
Memantau kinerja sistem.
2.
Memelihara dan memperbaharui sistem basis data (jika diperlukan)
(Connolly,2005,p306).
2.7
Normalisasi
Normalisasi adalah sebuah teknik untuk menghasilkan suatu paket relationship
(hubungan) dengan properti yang diinginkan, dan memberikan persyaratan data dari
sebuah perusahaan (Connolly,2005,p388).
24
2.7.1 Redudansi Data dan Update Anomalis
Tujuan utama dari desain basis data relasi adalah untuk mengelompokkan attribute
(atribut) kedalam relationship (hubungan) untuk meminimalisasi data yang
redundan. Jika tujuan ini tercapai, keuntungan potensial bagi implementasi basis data
mencakup beberapa hal, yaitu :
A.
Pembaruan data yang tersimpan dalam basis data yang dicapai dengan minimal
jumlah operasi dengan demikian akan mengurangi kesempatan dalam
ketidakkonsistenan data yang terjadi dalam basis data (Connolly,2005,p390).
B.
Pengurangan kapasitas di berkas penyimpanan diperlukan oleh relationship
(hubungan)
dasar
dengan
demikian
dapat
meminimalisasi
biaya
(Connolly,2005,p390).
Relationship yang berulang memungkinkan memiliki beberapa masalah yang disebut
update anomalies. Update anomalies diklasifikasikan sebagai insertion, deletion atau
modification anomalies (Connolly,2005,p391).
2.7.2 Functional Depedencies
Menjelaskan relationship antara attribute dalam setiap relationship. Sebagai contoh,
jika A dan B adalah attribute dari relationship R, fungsi B tergantung dari A
(ditandai AB), jika setiap nilai dari A berasosiasi dengan nilai dari B. (A dan B
masing-masing terdiri dari satu atau lebih attribute) (Connolly,2005,p392).
2.7.3 Proses Normalisasi
1.
Unnormalized Form (UNF)
Suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating
group). Repeating group adalah sebuah attribute atau himpunan attribute di dalam
25
tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key
pada tabel tersebut (Connolly,2005,p403).
2.
First Normal Form (1NF)
Sebuah relationship dimana titik temu antara baris dan kolomnya mengandung hanya
satu nilai. Sebuah relationship akan berada dalam 1NF jika repeating grup tersebut
telah hilang. Ada dua pendekatan umum untuk menghilangkan repeating group dari
tabel yang tidak normal, yaitu :
a.
Memasukkan data yang tepat di kolom yang kosong dari baris yang
mengandung data berulang.
b.
Menempatkan data berulang bersama salinan attribute kunci pada relationship
yang terpisah. Sebuah primary key diidentifikasikan ke relationship yang baru.
(Connolly,2005,p403).
3.
Second Normal Form (2NF)
Sebuah relationship yang berada pada 1NF dan setiap attribute yang bykan
merupakan primary key berfungsi secara penuh bergantung pada primary key-nya
(Connolly,2005,p407).
4.
Third Normal Form (3NF)
Sebuah relationship yang berada pada 1NF dan 2NF, dan tidak ada attribute yang
bukan primary key yang secara langsung bergantung pada primary key-nya
(Connolly,2005,p408).
2.8
Entity Relationship Diagram
Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa
notasi untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain.
(Whitten dan Bentley, 2007, p271)
26
2.8.1 Entitas (Entity)
Entity adalah sekumpulan objek dengan properti yang sama, yang diidentifikasikan
di dalam perusahaan perusahaan karena keberadaannya yang mandiri. Sedangkan
kejadian entity adalah sebuah objek dari satu tipe entity yang dapat diidentifikasikan
secara unik (Connolly,2005,p343). Keberadaan objek-objeknya secara nyata, seperti
PTN dan KOPERTIS, atau secara abstrak seperti penjualan. Tipe entity dapat
dikelompokkan menjadi :
A.
Tipe Entity Kuat
Tipe Entity kuat adalah tipe entity yang keberadaannya tidak bergantung pada tipe
entity lainnya (Connolly,2005, p354).
B.
Tipe Entity Lemah
Tipe Entity lemah adalah tipe entity yang keberadaannya bergantung pada tipe entity
lainnya (Connolly,2005,p355).
2.8.2 Relationship Types (Tipe Hubungan)
Tipe relationship adalah gabungan antara tipe entity. Setiap jenis relationship
diberikan nama yang menjelaskan fungsinya. Sdangkan kejadian relationship adalah
hubungan yang dapat diidentifikasikan scara unik, yang meliputi sebuah kejadian
dari setiap tipe entity didalam relationship (Connolly,2005,p346).
A.
Derajat dari Tipe Relationship
Derajat dari tipe relationship adalah banyaknya tipe entity yangberpartisipasi dalam
sebuah relationship (Connolly,2005,p347).
Tipe relationship kompleks adalah sebuah relationship antara tiga atau lebih
entity(Connlly,2005,p348).
27
B.
Recursive Relationship
Relationship recursive adalah sebuah tipe relationship dimana ada entity yang sama
yang diikutsertakan lebih dari satu fungsi (Connolly,2005,p349).
2.8.3 Attribute
Attribute adalah properti dari sebuah entity atau relationship (Connolly,2005,p350).
Attribute juga diartikan sebagai properti deskriptif atau karakteristik dari sebuah
entity. Attribute menampung nilai yang menjelaskan setiap kejadian entity dan
menggambarkan bagian utama dari data yang disimpan dalam basis data
(Whitten,2004,p295).
A.
Attribute Domain
Attribute Domain adalah sejumlah nilai yang diizinkan untuk nilai lebih dari satu
atau lebih attribute. Domain menetepkan bahwa sebuah attribute mungkin menahan
dan serupa dengan konsep domain pada model relationship (Connolly,2005,p350).
B.
Attribute Simpel
Attribute Simple yang disusun dari komponen tunggal dengan keberadaan yang
mandiri. Attribute Simpel tidak bisa dibagi lebih jauh lagi ke komponen yang lebih
kecil. Sperti contoh posisi entity dan gaji karyawan. Attribute simpel dapat disebut
juga atomic attribute (Connolly,2005,p351).
C.
Attribute Composite
Sebuah attribute yang disusun dari komponen berlipat ganda, masing-masing dengan
sebuah keberadaan yang bebas. Beberapa attribute dapat dibagi lebih jauh lagi ke
hasil komponen yang lebih kecil dengan keberadaan mandiri yang dimiliki attribute
itu sendiri (Connolly,2005,p351).
28
D.
Attribute Single-Valued
Attribute yang mempunyai njilai tunggal untuk setiap kejadian pada sebuah tipe
entity (Connolly,2005,p351).
E.
Attribute Multi-Valued
Attribute yang mempunyai beberapa nilai untuk setiap kejadian pada sebuah entity.
F.
Attribute Derivation
Sebuah attribute yang mewakili sebuah nilai yang dapat diturunkan dari attribute
lain yang berhubugnan atau kumpulan dari beberapa attribute, dan tidak harus
berasal dari entity yang sama (Connolly,2005,p352).
2.8.4 Keys
A.
Candidate Key
Sejumlah kecil attribute yang secara unik mengidentifikasikan kejadian dari setiap
tipe entity (Connolly,2005,p352).
B.
Primary Key
Candidate Key yang terpilih untuk mendefinisikan secara unik pada setiap kejadian
dari sebuah entity (Connolly,2005,p353).
C.
Composite Key
Sebuah
candidate
key
yang
terdiri
dari
dua
atau
banyak
attribute
(Connolly,2005,p353).
D.
Foreign Key
Himpunan attribute dalam suatu relationship yang cocok dengan candidate key dari
beberapa relationship lainnya (Connolly,2005,p79).
29
E.
Alternate Key
Candidate Key yang tidak terpilih menjadi primary key, atau biasa disebut secondary
key.
2.9
ER Model (Entity-Relationship Model)
Entity-Relationship Model merupakan salah satu model yang dapat memastikan
pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu
organisasi (Connolly,2005,p342).
Model ini menggunakan pendekatan Top-down dalam merancangan basis data,
dimulai dengan mengidentifikasikan data yang disebut entity dan relationship antara
data harus direpresentasikan ke dalam model, kemudian ditambahkan beberapa
attribute dan constraint pada entity, attribute dan relationship.
2.10 Cardinality and Participation Constrains
Multiplicity sebenarnya terdiri atas dua batasa yang berbeda, yaitu :
1.
Cardinality
Cardinality adalah nilai maksimun dari kejadian relationship yang mungkin terjadi
untuk sebuah entity yang ikut serta pada suatu relationship (Connolly,2005,p363).
2.
Participation
Participation menentukan apakah semua atau hanya beberapa kejadian entity yang
ikut serta dalam sebuah relationship (Connolly,2005,p363).
Participation constraint dibagi menjadi :
a.
Mandatory Participation
Participation mandatory melibatkan semua kejadian entity pada relationship
tertentu (Connolly,2005,p351).
30
b.
Optional Participation
Optional participation melibatkan beberapa kejadian entity pada relationship
tertentu (Connolly,2005,p351).
2.11 Structural Constrains
Constraint harus menggambarkan pembatasan di dalam relationship seperti halnya di
‘dunia nyata’. Jenis utama dari constraint pada suatu dinamakan multiplicity.
Multiplicity adalah banyaknya kejadian yang mungkin pada suatu tipe entity yang
mungkin hubungan dengan suatu kejadian dari tipe entity lain pada suatu relationship
(Connolly,2005,p363).
Derajat yang paling umum pada suatu relationship adalah biner. Relationship biner
terdiri dari :
A.
One-to-one Relationship (1:1)
Gambar 2.4 One-to-one Relationship
Pada gambar 2.4 bisa dilihat bahwa table Person hanya tehubung one-to-one (1:1)
dengan Table Passport, karena satu orang hanya boleh mempunyai satu passport.
Berdasarkan gambar diatas dapat ditulis multiplicity-nya seperti gambar di bawah ini
(Connolly,2005,p357).
31
1..1
Relate to
1..1
Group 2
Group 1
Multiplicity
Gambar 2.5 Notasi One-to-one Relationship
B.
One-to-many Relationship (1:*)
Gambar 2.6 One-to-many Relationship
Pada gambar 2.6 bisa dilihat bahwa table Product hanya terhubung one-to-many (1:*)
dengan table Supplier, karena satu product bisa didapat dari satu atau lebih supplier.
Berdasarkan dari gambar diatas dapat ditulis multiplicity-nya seperti gambar di
bawah ini (Connolly,2005,p358).
32
1..1
Relate to
0..*
Group 2
Group 1
Multiplicity
Gambar 2.7 Notasi One-to-many Relationship
C.
Many-to-many Relationship (*:*)
Gambar 2.8 Many-to-many Relationship
Pada gambar 2.8 dapat dilihat bahwa table Video terhubung many-to-many (*:*)
dengan table Customer, karena satu video dapat ditonton oleh banyak customer,
begitu juga sebaliknya. Berdasarkan gambar di atas dapat ditulis multiplicity-nya
seperti gambar di bawah ini (Connolly,2005,p358).
33
0..*
Relate to
1..*
Group 2
Group 1
Multiplicity
Gambar 2.9 Notasi Many-to-many Relationship
2.12 Enhanced Entity-Relationship Model (EER Model)
Model EER memiliki tiga konsep tambahan yang sangat berguna dan penting yaitu
spesialisasi/generalisasi, agregasi, dan komposisi.
2.12.1 Spesialisasi/Generalisasi
Spesialisasi merupakan suatu proses memaksimalkan perbedaan-perbedaan antara
anggota sebuah entity dengan cara mengidentifikasi karakteristik yang membedakan
entity tersebut (Connolly,2005,p374).
Sedangkan, generalisasi merupakan suatu proses yang meminimalkan perbedaanperbedaan antara entity dengan cara mengidentifikasi sifat umum entity
(Connolly,2005,p357).
2.12.2 Agregasi
Agregasi menggambarkan relationship ‘mempunyai sebuah’ atau ‘bagian dari’
antara tipe entity dimana salah satunya mewakili ‘seluruh’ dan salah satunya lagi
mewakili ‘bagian’ (Connolly,2005,p383).
34
2.12.3 Komposisi
Komposisi adalah sebuah bentuk spesifik dari agregasi yang merepresentasikan
sebuah kumpulan antar entity. Dimana terdapat sebuah kepemilikan yang kuat dari
kebetulan antara ‘seluruh’ dan ‘bagian’ (Connolly,2005,p384).
2.13 Flowchart
Menurut Indrajani (2011, p22) Flowchart merupakan penggambaran secara grafik
dari langkah-langkah dan urutan suatu prosedur dari program. Biasanya
mempermudah penyelesaian masalah, khususnya yang perlu dipelajari dan dievaluasi
lebih lanjut.
Jenis-jenis Flowchart terdiri atas :

System Flowchart

Docyment Flowchart

Schematic Flowchart

Program Flowchart

Process Flowchart
Tabel 2.1 Notasi Flowchart
No. Bentuk
1.
Deskripsi
Logical Proses
2.
Decision
3.
Terminal Start or End Operation
35
4.
Input / Output Operation
5.
Off-Page Connector
6.
Source Document or Report
7.
Flow
2.14 DFD (Data Flow Diagram)
Menurut McLeod (2008, p167) Data Flow Diagram adalah penyajian grafis dari
sebuah
sistem
yang
mempergunakan
4
(empat)
bentuk
symbol
untuk
mengilustrasikan bagaimana data mengalir melalui proses-proses yang saling
tersambung. Dimana simbol-simbol tersebut mencerminkan :
1.
Unsur-unsur lingkungan dengan mana sistem berinteraksi
2.
Proses
3.
Arus data
4.
Penyimpanan data
Berdasarkan pengertian di atas, Data Flow Diagram (DFD) adalah penggambaran
grafis yang menampilkan aliran data dari sumber ke dalam objek, dengan melewati
proses yang mentransformasikannya ke tujuan yang ada pada objek.
2.14.1 Diagram Konteks
Menurut McLeod (2008, p168) Diagram konteks adalah sebuah diagram yang
menempatkan sistem dalam suatu konteks lingkungan. Diagram ini terdiri atas satu
symbol proses tunggal yang melambaikan keseluruhan sistem. Diagram ini juga
menunjukkan arus data yang mengarah dan keluar dari terminator.
36
2.14.2 Diagram Nol
Merupakan level tertinggi dari fungsi yang ada di dalam sistem. Selain itu, pada
diagram ini memberikan lebih banyak detail dibandingkan dengan diagram konteks.
Proses ini diperoleh dari pemecahan diagram konteks.
Tabel 2.2 Penjelasan Diagram Nol
Simbol
Keterangan
Proses
adalah
sesuatu
untuk
mengubah input dan output. Proses
dapat digambarkan dengan sebuah
lingkaran, sebuah persegi panjang
horizontal, atau sebuah persegi
panjang tegak bersudut melingkar.
Setiap
simbol
proses
diidentifikasikan dengan label
Aliran
data
terdiri
dari
sekelompok unsur-unsur data yang
berhubungan secara logis, yang
bergerak dari satu titik atau proses
ke titik atau proses lain. Aliran data
menggambarkan
perpindahan
informasi dari satu bagian ke
bagian lain dari sistem.
Penyimpanan data (data store)
adalah suatu tempat penyimpanan
data. Proses dapat memasukkan
atau mengambil data dari data
store.
37
Terminator
digunakan
unsur-unsur
menunjukkan
(external
untuk
entities)
menyatakan
lingkungan
titik-titik
yang
dimana
sistem berakhir, dan dapat berupa
orang, organisasi dan sistem lain
yang memiliki antarmuka dengan
sistem.
2.15
STD (State Transition Diagram)
Menurut Indrajani (2011, p17), State transition diagram adalah suatu kondisi yang
menunjukkan keadaan tertentu, dimana suatu sistem dapat dan transisi menghasilkan
keadaan tertentu yang baru. Biasanya digunakan pada sistem yang real time.
Hal-hal yang terdapat pada STD antara lain :
A.
System State
Setiap empat persegi panjang menggambarkan satu keadaan dari sistem ke sistem
secara keseluruhan.
38
B.
Change State
State 1
State 2
State 3
Gambar 2.10 Change of State
C.
Condition and Actions
State 1
Condition
Action
State 2
Gambar 2.11 Condition and Actions
39
2.16 Teori Khusus
Pada bagian ini merupakan teori yang berkaitan pada aplikasi tersebut, seperti
software-software yang dipakai dan lain-lain.
2.16.1 Intranet
Menurut Connoly and Begg (2005, p996) Intranet adalah sebuah atau sekumpulan
situs yang dimiliki oleh suatu organisasi, yang hanya dapat diakses oleh anggota dari
organisasi tersebut.
2.16.2 Hypertext Markup Language (HTML)
HTML adalah dokumen yang mengatur bahasa-bahasa yang digunakan untuk
mendesain kebanyakan halaman web. HTML adalah suatu sistem untuk marking-up,
tagging,
sehingga
dokumen
tersbut
dapat
dipublikasikan
ke
web
(Connolly,2005,p1001)
2.16.3 Web Server
Menurut James dan Ross (2003, p90) Web Server adalah objek web yang masingmasing memiliki alamat dari URL, serve web juga menerapkan sisi server HTTP.
Beberapa server web yang populer yaitu Apache dan Microsoft Internet Information
Server. HTTP mendefinisikan bagaimana web klien (misalnya browser) melakukan
requst halaman web dari web server dan bagaimana cara mentransfer halaman web
tersebut ke klien.
2.16.4 Web Browser
Menurut William dan Sawyer (2010, p64), web browser adalah perangkat lunak yang
memungkinkan anda mencari dan mengakses beragam komponen web.
40
2.16.5 PHP (PHP Hypertext Preprpcessor)
Menurut Blake Schwedndiman (2001,pXV), PHP adalah bahasa pemrograman yang
dibuat untuk mengizinkan pengembang web untuk dapat membuat aplikasi web
dinamis dengan cepat. PHP sebenarnya singkatan dari “PHP: Hypertext
Preprocessor.” Yang mana adalah bahasa pemrograman HTML-embedded yang
sintaksnya sama dengan C, Perl, dan Java.
2.16.6 Interaksi Manusia dan Komputer (IMK)
Menurut Shneriderman (2005,p74-75), sebuah sistem berbasis komputer selalu
mempunyai elemen manusia yang terkait didalamnya. Elemen mausia ini
berinteraksi langsung dengan perangkat keras dan perangkat lunak melaui sebuah
antarmuka (interface).
Penggunaan delapan aturan emas berasal dari prinsip-prinsip yang didapatkan dari
pengalaman-pengalaman, dan diperbaiki selama lebih dari 2 dekade. Delapan aturan
emas tersebut adalah :
1.
Berusah untuk konsisten
Urutan aksis yang konsisten diperlukan pada situasi yang sama. Konsitensi juga
harus digunakan pada prompt, menu, layar bantu. Warna tampilan, kapitalisasi, huruf
dan sebagainya juga harus konsisten.
2.
Memungkinkan pengunaan shortcut
Menambahkan feature untuk oemakai yang sudah ahli bisa memperkaya design
interface dan meningkatkan kualitas sistem.
3.
Memberikan umpan balik yang informatif
Untuk setiap tindakan yang dilakukan pemakai, diharapkan adanya respon dari
sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi,
41
respon yang ada bisa dibuat secara sederhana, sedangkan tindakan yang jarang
dilakukan dan membutuhkan banyak aksi harus lebih ditonjolkan.
4.
Merancang dialog yang memberikan penutupan (keadaan akhir)
Urutan aksi harus disusun ke dalam kelompok awal, tengah dan akhir. Suatu umpan
balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan
bahwa pekerjaan telah selesai dan siap untuk melanjutkan ke aksi berikutnya.
5.
Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.
Sebisa mungkin dibuat sistem yang tidak akan menghasilkan kesalahan yang serius
jika digunakan oleh pemakai. Jika pemakai membuat kesalahan, sistem tersebut
harus dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana,
konstruktif, dan spesifik untuk perbaikan.
6.
Memungkinkan pembalikan aksi yang mudah.
Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan awal.
7.
Mendukung pusat kendali internal (internal locus of control).
Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang yang merespon aksi.
8.
Mengurangi beban ingatan jangka pendek.
Karena keterbatasan manusia dalam pemrosesan informasi pada ingatan jangka
pendek, sebaiknya tampilan dibuat sederhana, beberapa galaman dijadikan satu,
frekuensi pergerakan window dikurangi, dan harus ada waktu yang cukup untuk
mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau
kode sebaiknya juga tersedia.
2.16.7 TCP/IP
Menurut James A. O’Brien (2005, p131), TCP/IP terdiri dari lima lapis protokol
yang berhubungan dengan tujuh lapis dari arsitektur OSI. TCP/IP digunakan oleh
internet dan seluruh intranet dan extranet. Banyak perusahaan dan organisasi yang
42
mengubah jaringan klien atau server mereka ke teknologi TCP/IP, yang sekarang
sering disebut jaringan IP.
2.16.8 Local Area Network (LAN)
Menurut Jonathan (2006,p12), Local Area Network
adalah jaringan yang
menyediakan hubungan komunikasi berbagai peralatan, sehingga peralatan yang ada
dalam jaringan mampu memberi dan menerima informasi dari peralatan lainnya yang
ada didalam jaringan.
2.16.9 MySQL
Menurut Luke W. dan Laura T. (2009, p3) MySQL adalah relational database
management system (RDBMS) yang sangat cepat dankuat, MySQL server
mengontrol akses ke data anda untuk memastikan banyak pengguna bisa bekerja
secara bersamaan, memberikan akses yang cepat, dan memastikan hanya pengguna
yang berwenang dapat mengakses. Oleh karena itu, MySQL adalah banyak pengguna
(multi-user) dan multi thread server sehingga dapat digunakan pada serveryang
memiliki multi-CPU, MySQL menggunakan SQL (Structured Query Language)
yang meupakan standar bahasa query basis data. Keunggulan MySQL adalah :
1.
High Performance
2.
Low Cost
3.
Ease of Configuration and Learning
4.
Portability
5.
Availabilty of Source Code
6.
Availability of Support
43
2.17
Hasil Penelitian atau Produk Sebelumnya
Dalam penulisan sebuah skripsi sangat perlu mencari referensi dari sebuah teori-teori
atau temuan-temuan yang sudah ada yang dapat dijadikan sebagai data pendukung.
Penulis menemukan beberapa data pendukung yang mendukung dan berkaitan
langsung dengan hasil penelitian sebelumnya yang relevan dengan permasalahan
yang sedang dibahas dalam penulisan skripsi ini. Dalam hal ini, penelitian terdahulu
yang dijadikan acuan adalah penelitian yang terkait dengan masalah sistem basis data
pengelolaan data pada sebuah puskesmas. Oleh karena itu, kami melakukan langkah
kajian terhadap beberapa hasil penelitian yang berasal dari beberapa jurnal
elektronik.
Penelitian yang dilakukan oleh Hery Harjono Mulyo, Johan Setiawan dan Heru
Darmadi (2008) dengan judul Sistem Informasi Pelayanan Puskesmas Terpadu,
Artikel menganalisis sistem informasi puskesmas yang berjalan, mengidentifikasi
setiap kelemahan yang terjadi, mengidentifikasi setiap kebutuhan informasi yang
diperlukan, mengembangkan dan merancang sistem informasi puskesmas secara
terpadu. Hasil akhir penelitian berupa aplikasi sistem informasi yang dibagi menjadi
tiga, yaitu front office, bagian poli, dan bagian apotek. Simpulannya, sistem ini
dibuat secara terintegrasi sehingga waktu yang digunakan untuk memproses data
lebih cepat, mengurangi pemakaian kertas, meminimalkan pekerjaan yang dilakukan
berulang-ulang, banyak input yang sudah di-generate oleh sistem, dan membantu
sekali dalam pengambilan keputusan.
Sedangkan penelitian yang dilakukan oleh Indrajani (2010) dengan judul Analisis
Dan Perancangan Sistem Basis Data Pada Rumah Sakit, dengan tujuan penelitian ini
adalah menganalisis dan merancang basis data untuk mendukung kebutuhan
informasi rumah sakit khususnya pada Customer Relationship Management (CRM).
Metode yang digunakan adalah metode pengumpulan data dengan menggunakan
teknik pencarian data yang meliputi wawancara, mempelajari dokumen, observasi,
dan studi kepustakaan. Kemudian penelitian ini juga menggunakan metode analisis
dan perancangan basis data yang mencakup perancangan basis data secara
konseptual, logikal, dan fisikal. Hasil yang dicapai adalah sistem basis data yang
mampu menyimpan data terintegrasi, memenuhi kebutuhan informasi rumah sakit,
dan meningkatkan pelayanan kesehatan terhadap pelanggan dalam hal ini pasien
44
khususnya dan masyarakat umumnya. Simpulan yang dapat diperoleh dari penelitian
ini adalah dengan adanya sistem basis data ini, maka rumah sakit dapat mengelola
data pelanggan dan traksaksi yang dilakukan pelanggan, meningkatkan efektifitas
dalam mendapatkan kepuasan dan loyalitas pelanggan di mana pelanggan tersebut
dapat mempromosikan pengalamannya terhadap pelanggan baru, dan menjadi rumah
sakit pilihan melalui peningkatan pelayanan kesehatan terhadap masyarakat.
Dari jurnal diatas didapatkan kesimpulan bahwa sistem Customer Relationship
Management (CRM) merupakan solusi yang terbaik dengan tujuan menghemat uang,
beban kerja dan lebih efektif. Selain itu, Customer Relationship Management (CRM)
bisa membantu organisasi untuk pengadaan macam-macam barang secara langsung
maupun tidak langsung.
Selain itu peran database sangatlah penting untuk membangun suatu sistem
pengadaan barang. Adapun penelitian yang berkaitan dengan sistem tersebut dan
diambil dari jurnal internasional yang berjudul MySQL Database Provides Full
Transactional Support oleh Oracle Corp. Dari hasil penelitiannya menyebutkan
bahwa MySQL termasuk InnoDB storage engine transaksional ACID - compliant,
yang dirancang untuk kinerja yang sangat tinggi dan skalabilitas saat memproses
volume data yang besar dan di bawah concurrency tinggi. Selain itu MySQL
menyediakan berbagai fitur pendukung untuk aplikasi database berbasis transaksi,
seperti :
1.
Dukungan penuh transaksi, dengan komit, rollback dan kecelakaan
kemampuan pemulihan untuk memastikan konsistensi data penuh, bahkan jika
perangkat keras gagal.
2.
Penguncian tingkat-baris Lanjutan tanpa memerlukan eskalasi kunci untuk
maksimum membaca / menulis concurrency tanpa mengorbankan integritas
kunci.
3.
Multi-versioning memberikan concurrency tetap menjaga integritas data
maksimum.
4.
Non-locking berbunyi, konsisten dengan gaya Oracle, untuk memungkinkan
cepat membaca bahkan ketika database terlibat dalam update berat.
45
Oleh sebab itu suatu proses transaksi sangat tertolong dengan adanya database
khususnya MySQL ini guna mempermudah dan menjaga keseluruan suatu proses
transaksi.
Download