BAB 2 LANDASAN TEORI
2.1
Deskripsi Database Menurut Elmasri dan Navathe (1994, p2), data merupakan fakta-fakta yang
telah diketahui untuk dapat disimpan dan yang mempunyai arti yang mutlak atau selengkapnya. Pengertian data, informasi, dan sistem informasi menurut Turban, Rainer, dan Potter (2003, p15), data adalah fakta-fakta yang belum diolah atau gambarangambaran lebih lanjut dari benda-benda, kejadian-kejadian, kegiatan-kegiatan, dan transaksi-transaksi yang ditangkap, direkam, disimpan dan diklasifikasikan, tetapi tidak disusun untuk menyampaikan arti khusus lainnya. Informasi adalah sebuah kumpulan dari fakta-fakta (data) yang disusun di dalam beberapa cara, jadi kumpulan fakta tersebut bisa berarti bagi penerimanya. Sistem Informasi adalah sebuah sistem yang mengumpulkan, mengolah, menyimpan, menganalisa, dan menyebarkan informasi untuk sebuah tujuan tertentu. Menurut Connoly&Begg (2002, p14) database adalah suatu kumpulan logikal data yang terhubung satu sama lain, dan deskripsi dari suatu data yang di rancang sebagai informasi yang dibutuhkan oleh organisasi. DBMS (Database Management System) adalah sistem software yang memungkinkan user untuk mendefinisikan, membuat, dan memelihara database dan menyediakan akses kontrol kepada database.
8
9
2.2
Perkembangan Database
2.2.1
Sistem Database Database adalah kumpulan dari data yang berhubungan dan merupakan
deskripsi dari data-data tersebut yang didesain untuk menemukan informasi yang dibutuhkan suatu perusahaan. Menurut Connoly dan Begg (2002, p16) DBMS adalah software yang memungkinkan user untuk mendefinisikan, membuat, memaintain serta mengontrol akses ke database. DBMS menyediakan beberapa fasilitas sebagai berikut : •
Data Definition Language (DDL) : memperbolehkan user untuk membuat spesifikasi tipe data, mendefinisikan database, struktur data dan constraint data untuk disimpan dalam database.
•
Data Manipulation Language (DML) : memperbolehkan user untuk memasukkan, memperbaharui, menghapus, dan mengirim atau mengambil data dari database.
DBMS
memiliki
komponen-komponen
utama
dalam
lingkungannya,
komponen-komponen tersebut adalah : •
Hardware Dibutuhkan untuk menjalankan DBMS dan juga aplikasi-aplikasinya. Hardware mencakup dari minicomputer, network computer, personal computer dan juga mainframe
10
•
Software Meliputi software aplikasi, software DBMS, Operating System dan juga software network jika dalam penggunaannya menggunakan network.
•
Data Merupakan komponen yang terpenting dan juga merupakan komponen penghubung antara komponen mesin (Hardware dan Software) dan komponen human (Procedures dan People)
•
Prosedur (Procedures) Prosedur adalah instruksi-instruksi dan aturan-aturan yang mengatur desain dan penggunaan database.
•
People Merupakan komponen yang juga terlibat di dalam sistem. Komponen ini meliputi data dan database administrator, database designers, application developers, dan end-users.
11
2.3
Siklus Basis Data Menurut Connoly & Begg (2002, p272), waktu basis data dianalisis dan
dirancang berdasarkan silus hidup seperti tergambar pada gambar berikut:
12
13
Database planning
System definition
Requirements collection and analysis Database design
Conceptual database design DBMS selection (optional)
Application design Logical database design
Physical database design
Prototyping (optional)
Implementation
Data conversion and loading
Testing
Operational maintenance
Gambar 2.1 Diagram Siklus Basis Data
a. Database Planning Dalam tahap ini dilakukan perencanaan bagaimana tahapan-tahapan perancangan berikutnya dapat direalisasikan secara paling efektif dan efisien. b. System Definition Tahap ini menjabarkan spesifikasi jangkauan dan batasan dari aplikasi basis data, penggunaannya dan lingkungan tempat aplikasi diimplementasikan.
14
c. Requirement Collection and Analysis Pada tahap ini dilakukan pengumpulan dan analisis kebutuhan pengguna dan lingkungan aplikasi. d. Database Design Pada tahap ini dilakukan perancangan basis data secara konseptual, logikal, dan fisikal. e. DBMS Selection (optional) DBMS yang paling cocok dipilih untuk aplikasi basis data. f. Application Design Tahap ini dilakukan untuk merancang interface bagi pengguna dan program aplikasi yang menggunakan dan memproses basis data. g. Prototyping (optional) Tahap ini ditujukan untuk membangun prototype dari aplikasi basis data. Hasil prototype ini memungkinkan perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana bentuk dan fungsionalitas sistem akhir. h. Implementation Dalam tahap ini dilakukan pembuatan definisi basis data eksternal, konseptual dan internal, serta program aplikasi. i. Data Convertion and Loading Pada tahap ini dilakukan konversi data dari sistem lama ke sistem baru.
15
j. Testing Aplikasi basis data yang telah selesai akan diuji coba dengan tujuan untuk mencari error pada aplikasi. Selain itu, dilakukan pula validasi aplikasi atas kebutuhan yang telah dispesifikasikan sebelumnya oleh pengguna. k. Operational Maintenance Pada tahap ini aplikasi basis data diimplementasikan sepenuhnya. Sistem diawasi dan dipelihara secara berkelanjutan. Jika diperlukan, kebutuhan-kebutuhan baru dimasukan dalam aplikasi basis data melalui tahapan basis data terdahulu.
2.4
Tahapan Perancangan Basis Data Connoly & Begg (2002, p417-476) mendefinisikan metodologi perancangan
basis data atas tiga tahapan, yaitu: 1. Perancangan basis data konseptual Tahap ini merupakan proses pembuatan model informasi yang digunakan dalam sebuah perusahaan yang tidak tergantung pada semua masalah fisik. Awal tahap ini dimulai dengan pembuatan conceptual data model perusahaan yang secara keseluruhan bebas dari detail implementasi seperti DBMS yang digunakan, program aplikasi, bahasa pemrograman, platform untuk hardware, tingkat kinerja, maupun bentuk masalah fisik lainnya. Secara garis besar perancangan ini terdiri dari tiga langkah sebagai berikut: a. Penentuan entity (entitas) pada basis data b. Pendefinisian relationship (hubungan) antar entitas
16
c. Penerjemahan hubungan ke dalam entity 2. Perancangan basis data logikal Perancangan basis data secara logikal merupakan proses pembuatan model informasi yang digunakan perusahaan berdasarkan pada model data khusus, tapi bebas dari DBMS tertentu dan masalah fisik lainnya. Tahap ini memetakan model konseptual pada sebuah model logikal yang dipengaruhi oleh data model untuk database tujuan. Model data logikal merupakan sumber informasi untuk tahap perancangan physical, menyediakan suatu kendaraan bagi perancang physical database untuk melakukan pertukaran yang sangat penting untuk perancangan basis data yang efisien. Aktivitas pada logical database design terdiri dari dua langkah besar, dimana langkah pertama adalah membangun sebuah model data logikal lokal dari model data konseptual lokal yang menggambarkan pandangan tertentu dari perusahaan dan kemudian mengesahkan model ini untuk memastikan strukturnya telah benar atau menggunakan teknik normalisasi. Sedangkan langkah kedua atau langkah selanjutnya adalah untuk membuat kombinasi model data logikal lokal individual ke dalam sebuah model data logikal global tunggal yang menggambarkan perusahaan. Hasil akhir dari tahapan ini berupa sebuah kamus data yang berisi semua atribut beserta key-nya (primary key, alternate key dan foreign key) dan ERD secara keseluruhan (relasi global) dengan sebuah atribut key-nya.
17
3. Perancangan basis data fisikal Perancangan basis data secara fisik merupakan proses pembuatan deskripsi dari implementasi database pada secondary storage yang menjelaskan basis relasi, organisasi file, dan indeks yang digunakan untuk memperoleh akses pada data yang efisien, dan masalah integritas lainnya yang berkaitan, dan menentukan mekanisme security. Tahap ini memungkinkan perancang untuk menentukan bagaimana basis data diimplementasikan. Oleh karena itu, rancangan fisikal dirancang untuk DBMS yang khusus. Antara rancangan logical dan fisikal terdapat keterkaitan, hal ini disebabkan karena keputusan yang diambil selama perancangan fisikal untuk meningkatan kinerja bisa mempengaruhi logical data model. Tujuan utama untuk model relasional ini meliputi : •
Membuat kumpulan tabel relasional dan constraints pada tabel tersebut dari informasi yang didapatkan dalam model data logikal.
•
Mengidentifikasi struktur penyimpanan tertentu dan metode akses terhadap data untuk mencapai performa optimal dari sistem basis data.
•
Merancang proteksi keamanan untuk sistem. Aktivitas dari physical database design adalah menterjemahkan model
data logikal global ke dalam sasaran DBMS, dimana dengan membuat base relation dengan menggunakan database design language yang tujuannya untuk memutuskan bagaimana representasi relasi utama yang diidentifikasi dalam model data logikal global ke dalam DBMS, merancang constraint perusahaan
18
untuk kegiatan transaksi (update and retrieve data), menentukan kebutuhan sumber daya sistem dan organisasi file. Berikut ini merupakan langkah-langkah metodologi dari perancangan basis data : 1. Perancangan konseptual basis data Langkah 1 : Membuat data model lokal yang konseptual untuk setiap tampilan 1.1
: Mengidentifikasikan tipe-tipe dari entity
1.2
: Mengidentifikasikan tipe-tipe dari relationship
1.3
: Mengidentifikasikan dan hubungkan atribut dengan tipe-tipe entity atau relationship
1.4
: Menentukan domain-domain dari atribut
1.5
: Menentukan atribut-atribut, candidate key, dan primary key
1.6
: Pertimbangkan penggunaan konsep enhanced modelling (optional step)
1.7
: Periksa model dari redundancy
1.8
: Memvalidasikan model konseptual lokal terhadap transaksi pengguna
1.9
: Melihat kembali data model konseptual lokal dengan pengguna
2. Perancangan logikal basis data untuk model relasional Langkah 2 : Membuat dan memvalidasikan data model lokal yang logikal untuk setiap tampilan 2.1
: Hilangkan fitur-fitur yang tidak kompatibel dengan model relasional (optional step)
19
2.2
: Turunkan relasi-relasi untuk data model logikal lokal
2.3
: Memvalidasikan relasi-relasi menggunakan normalisasi
2.4
: Memvalidasikan relasi-relasi terhadap transaksi pengguna
2.5
: Menentukan
integrity
constraints
(batasan-batasan
yang
diberlakukan dalam rangka menjaga suatu database agar tidak berubah menjadi tidak konsisten) 2.6
: Melihat kembali data model logikal lokal dengan pengguna
Langkah 3 : Membuat dan memvalidasikan data model global yang logikal 3.1
: Menggabungkan data model logikal lokal menjadi model global
3.2
: Memvalidasikan data model logikal global
3.3
: Periksa untuk perkembangan mendatang
3.4
: Melihat kembali data model logikal global dengan pengguna
3. Perancangan fisikal basis data untuk basis data relasional Langkah 4 : Mengubah data model global yang logikal untuk target DBMS 4.1
: Merancang relasi-relasi dasar
4.2
: Merancang representasi data turunan
4.3
: Merancang enterprise constraints
Langkah 5 : Merancang representasi fisik 5.1
: Analisa transaksi-transaksi
5.2
: Memilih pengaturan-pengaturan file
5.3
: Memilih pengindeksan-pengindeksan
5.4
: Memperkirakan kebutuhan disk space
Langkah 6 : Merancang tampilan pengguna
20
Langkah 7 : Merancang mekanisme keamanan Langkah 8 : Mempertimbangkan pengenalan dari kontrol pengulangan Langkah 9 : Mengawasi dan mengatur sistem operasional
2.5
Data Flow Diagram Menurut Yourdon (1989, p139), diagram aliran data adalah model atau alat
yang digunakan untuk menggambarkan sistem sebagai jaringan dari sekumpulan proses fungsional, yang dihubungkan satu dengan lainnya oleh suatu aliran data dan meneruskannya menjadi data. Ada tiga tingkatan dalam diagram aliran data, yaitu: 1. Diagram Konteks Merupakan tingkatan yang paling pertama, yang menggambarkan ruang lingkup sistem dari sistem yang digunakan. Diagram ini hanya memiliki satu proses yang menggambarkan sistem secara keseluruhan dan hubungan antara sistem dengan unit-unit di luar sistem tersebut. 2. Diagram Nol Diagram yang menggambarkan proses-proses dan aliran data yang terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah menjadi proses-proses dan aliran data yang lebih terperinci. 3. Diagram Rinci Diagram yang menggambarkan rincian proses-proses yang ada pada diagram nol dan rincian proses-proses ini dapat dipecah lagi menjadi proses-proses yang lebih terperinci.
21
Menurut Yourdon (1989, p141-152), diagram aliran data terdiri dari simbolsimbol sebagai berikut: a. Proses (Bubble atau function atau transformation) Proses menggambarkan bagian dari sistem yang mengolah masukan menjadi keluaran. Proses digambarkan dengan sebuah lingkaran.
Gambar 2.2 Simbol proses dalam DFD
b. Aliran (flow) Aliran menggambarkan perpindahan informasi dari satu bagian ke bagian lain dari sistem. Awal panah menggambarkan asal data sedangkan awah panah menggambarkan tujuan.
Gambar 2.3 Simbol aliran data dalam DFD c. Store Simbol ini digunakan untuk menggambarkan penyimpanan data.
Gambar 2.4 Simbol data store dalam DFD
22
d. Terminator Merupakan simbol yang menggambarkan entitas yang dapat berupa orang, kelompok, atau organisasi yang berhubungan dengan sistem.
Gambar 2.5 Simbol terminator dalam DFD
2.6
State Transition Diagram Menurut Jeffrey A. et al (1996, p364), State Transition Diagram adalah suatu
diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukan bagaimana kejadian-kejadian tersebut dari satu state ke state lain. Ada dua macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu: 1. Gambar persegi panjang menunjukan state dari sistem
Gambar 2.6 Simbol State dalam STD 2. Gambar panah menunjukan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukan kejadian yang menyebabkan
23
transisi yang terjadi. Label yang dibawah menunjukan aksi yang terjadi akibat dari kejadian tadi.
Gambar 2.7 Simbol Transisi dalam STD
Contoh STD : Verifikasi Data Valid
Login Username dan Password
Menu Utama Data tidak valid
Gambar 2.8 Contoh STD
2.7
Analisis SWOT Menurut Freddy Rangkuti (2000,p18), Analisis SWOT adalah indentifikasi
berbagai faktor secara sistematis untuk merumuskan strategi perusahaan. Analisis ini didasarkan pada logika yang dapat memaksimalkan kekuatan (Strengths) dan peluang (Opportunities), namun secara bersamaan dapat meminimalkan kelemahan (Weakness) dan ancaman (Threats). Proses pengambilan keputusan strategis selalu berkaitan dengan pengembangan misi, tujuan, strategi, dan kebijakan perusahaan.
24
Dengan demikian perencana strategis perusahaan (strategic planner) harus menganalisis factor-faktor strategis perusahaan (kekuatan, kelemahan, peluang dan ancaman) dalam kondisi yang ada saat ini. Hal ini disebut dengan Analisis Situasi. Model yang paling popular untuk analisis situasi adalah Analisis SWOT. 2.7.1
Cara Membuat Analisis SWOT Penelitian menunjukkan bahwa kinerja perusahaan dapat ditentukan oleh
kombinasi faktor internal dan eksternal. Kedua faktor tersebut harus dipertimbangkan dalam analisis SWOT. SWOT adalah singkatan dari lingkungan internal Strength dan Weakness serta lingkungan eksernal Opportunities dan Threats yang dihadapi dunia bisni. Analisis SWO membandingkan antara faktor eksternal dengan faktor internal. Berbagai Peluang 3.Mendukung strategi turnaround
1.Mendukung strategi agresif
Kelemahan Internal
4.Mendukung strategi defensif
Kekuatan Internal 2.Mendukung strategi diversifikasi Berbagai Ancaman
Gambar 2.9 Diagram Analisis SWOT Kuadran I
: Ini merupakan situasi yang sangat menguntungkan. Perusahaan
tersebut memiliki peluang dan kekuatan sehingga dapat memanfaatkan peluang yang
25
ada. Strategi yang harus diterapkan dalam kondisi ini adalah mendukung kebijakan pertumbuhan yang agresif (Growth Oriented Strategy).
Kuadran II
: Meskipun menghadapi berbagai ancaman, perusahaan ini masih
memiliki kekuatan dari segi internal. Strategi yang harus diterapkan adalah menggunakan kekuatan untuk memanfaatkan peluang jangka panjang dengan cara strategi diversifikasi (produk/pasar).
Kuadran III
: Perusahaan menghadapi peluang pasar yang sangat besar, tetapi di
lain pihak, ia menghadapi beberapa kendala/kelemahan internal. Kondisi bisnis pada kuadran 3 ini mirip dengan Question Mark pada BCG matrik. Fokus strategi perusahaan ini adalah meminimalkan masalah-masalah internal perusahaan sehingga dapat merebut peluang pasar yang lebih baik. Misalnya, Apple menggunakan strategi peninjauan kembali teknologi yang dipergunakan dengan cara menawarkan produkproduk baru dalam industri microcomputer.
Kuadran IV
: Ini merupakan situasi yang sangat tidak menguntungkan, perusahaan
tersebut menghadapi berbagai ancaman dan kelemahan internal.
26
2.8
Entity Relationship Modelling Menurut Connoly dan Begg (2002,p30), salah satu aspek yang sulit dalam
perancangan database adalah kenyataannya bahwa perancang, programmer, dan pemakai akhir cenderung melihat data dengan cara yang berbeda. Untuk memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan oleh perusahaan dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan. Berikut ini adalah notasi Entity-Relationship Modelling menurut Connolly dan Begg :
Entity Name
A
B Relate to
Relationship Name Gambar 2.10 Notasi Entity-Relationship Modelling
2.8.1
Entity Type Tipe entity adalah kumpulan objek-objek dengan properti yang sama, yang
didefinisikan oleh perusahaan yang keberadaannya tidak bergantung.
27
Konsep dasar dari bentuk Entity Relationship adalah tipe entity. Sebuah tipe entity memiliki keberadaan yang bebas dan bisa menjadi objek dengan keberadaan fisik atau menjadi objek dengan keberadaan konseptual. Ini berarti perancang yang berbeda mungkin mengidentifikasi entity yang berbeda. Entity Occurence adalah objek dan tipe entity yang dapat diidentifikasi secara unik. 2.8.2
Tipe Relationship Tipe Relationship adalah sebuah gabungan yang mempunyai arti diantara
tipe-tipe entity. Setiap tipe relationship diberi nama sesuai dengan fungsinya. Relationship Occurence adalah suatu gabungan yang dapat diidentifikasi secara unik, yang meliputi suatu kejadian dari setiap tipe entity yang berpartisipasi. Derajat dari relationship adalah jumlah dari partisipasi tipe entity dalam sebuah tipe relationship tertentu. Entity yang berkaitan dalam sebuah tipe relationship dikenal sebagai participant dalam relationship dan jumlah participant dalam relationship disebut sebagai derajat dari relationship. Oleh karena itu, derajat dari sebuah relationship menunjukkan jumlah dari entity yang terkait dalam relationship. Sebuah relationship berderajat dua disebut binary, sedangkan relationship berderajat tiga disebut sebagai ternary, dan relationship berderajat empat disebut sebagai quarternary. 2.8.3
Attributes Atribut adalah sifat dari sebuah entity atau sebuah tipe relationship. Atribut
menyimpan nilai dari setiap entity occurence dan mewakili bagian utama dari data yang disimpan dalam basis data.
28
Atribut domain adalah satuan nilai-nilai untuk satu atau beberapa atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan sama dengan konsep domain pada model relasional. Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas. Simple Attribute tidak bisa dibagi lagi kedalam komponen yang lebih kecil, misalnya posisi dan gaji dari entity pegawai. Composite Attribute adalah atribut yang tediri dari banyak komponen dengan sebuah keberadaan yang bebas. Dalam hal ini beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan keberadaan yang bebas. Single Value Attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entity. Multi Value Attribute adalah atribut yang memiliki banyak nilai untuk masing-masing kejadian dari entity. Derived Attribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entity yang sama. 2.8.4
Strong and weak Entity Type Tipe entity yang kuat adalah tipe entity yang keberadaannya tidak bergantung
pada tipe entity yang lain. Karakteristiknya adalah setiap kejadian entitynya secara unik mampu diidentifikasikan menggunakan atribut primay key pada entitynya. Tipe entity yang lemah adalah tipe entity yang bergantung pada keberadaan entity yang lainnya. Karakteristiknya adalah setiap kejadian entity tidak bisa diidentifikasi secara unik hanya dengan menggunakan atribut yang bergantung pada entitynya.
29
2.8.5
Structural Constraints Tipe utama dari batasan hubungan didalam relationship disebut Multiplicity.
Multiplicity adalah sejumlah kemungkinan kejadian-kejadian dari sebuah entity type di dalam sebuah hubungan n-nary ketika nilai-nilai yang lain (n-1) ditentukan. Multiplicity biasanya terdiri dari dua batasan terpisah, yaitu: •
Cardinality : Mendeskripsikan jumlah maksimum dari kemungkinan kejadiankejadian yang saling berhubungan untuk sebuah partisipasi entity dalam proses penentuan tipe relationship.
•
Participation : Menentukan apakah semua kejadian-kejadian entity akan ikut berpartisipasi dalam sebuah relationship atau hanya beberapa saja yang ikut berpartisipasi. Jenis-jenis multiplicity menurut Connolly dan Begg (2002, p345) adalah:
1. One-to-One (1 : 1) Relationships Group 1
Relate to
Group 2
A•
r1 • • r2
•C
B•
•D
Gambar 2.11 Gambar One-to-One Relationships Pada gambar 2.3 kita bisa melihat bahwa A hanya terhubung One-to-One (1 : 1) dengan C, dan B hanya terhubung One-to-One (1 : 1) dengan D. Jadi dari gambar tersebut kita dapat menulis notasi multiplicity-nya dengan gambar di bawah ini.
30
Relate to
Group 1
Group 2 1..1
1..1 Multiplicity
Gambar 2.12 Notasi One-to-One Relationships 2. One-to-Many (1 : *) Relationships Group 1
Relate to
Group 2
A•
r1 • r2 • r3 •
•D
B• C•
•E •F
Gambar 2.13 Gambar One-to-Many Relationships Pada gambar 2.5 kita bisa melihat bahwa B terhubung One-to-Many (1 : *) dengan D dan E. Jadi dari gambar tersebut kita dapat menulis notasi multiplicity-nya dengan gambar di bawah ini.
31
Relate to
Group 1
Group 2 0..*
1..1 Multiplicity
Gambar 2.14 Notasi One-to-Many Relationships 3. Many-to-Many (* : *)Relationships Group 1
A• B• C•
Relate to
Group 2
r1 • r2 • r3 • r4 •
•D •E •F •G
Gambar 2.15 Gambar Many-to-Many Relationships Pada gambar 2.7 kita bisa melihat bahwa A terhubung One-to-Many (1 : *) dengan D dan E. Sedangkan E terhubung One-to-Many (1 : *) dengan A dan B. Jadi dari entity Group 1 (value-nya A dari gambar di atas) dan Group 2 (value-nya E dari gambar di atas) terhubung Many-to-Many (* : *). Dari gambar tersebut kita dapat menulis notasi multiplicity-nya dengan gambar di bawah ini.
32
Relate to
Group 1
Group 2 1..*
0..* Multiplicity
Gambar 2.16 Notasi Many-to-Many Relationships Masalah yang dapat timbul dari Entity Types Model adalah: •
Fan traps, terjadi ketika sebuah model merepresentasikan sebuah relasi antara tipe-tipe dari entity, tetapi jalur yang terdapat diantara kejadian-kejadian entity tertentu masih ambigu.
•
Chasm traps, terjadi ketika sebuah model menganjurkan keberadaan sebuah relasi diantara tipe-tipe dari entity, tetapi tidak terdapat jalur diantara kejadian-kejadian entity tersebut.
2.9
Keys Keys memiliki peran yang sangat penting untuk menghubungkan satu objek
dengan objek yang lainnya. Keys diletakkan pada suatu atribut yang telah ditentukan kedudukannya, agar dapat dihubungkan dengan atribut pada entity yang lain. Beberapa jenis keys yang biasa digunakan antara lain : 1.
Candidate key yaitu himpunan atribut minimal yang secara unik mengidentifikasikan tiap-tiap keberadaan suatu tipe entity.
33
2.
Primary key yaitu candidate key yang dipilih secara unik untuk mengidentifikasikan tiap-tiap keberadaan suatu tipe entity.
3.
Foreign key yaitu himpunan atribut dalam suatu relasi yang cocok dengan candidate key dari beberapa relasi.
4.
2.10
Alternate key yaitu candidate key yang tidak terpilih menjadi primary key.
Normalisasi
2.10.1 Pengertian Normalisasi Menurut Connoly&Begg (2002, p376) Pengertian normalisasi adalah suatu teknik untuk memproduksi satu set hubungan dengan kebutuhan yang diinginkan, memberi kebutuhan data dari suatu perusahaan. Dengan kata lain normalisasi merupakan proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud itu sering disebut dengan istilah anomali. 2.10.2 Data Redundancy and Update Anomalies Anomali adalah efek samping yang tidak diharapkan (misalnya menyebabkan inconsistency (tidak konsisten) data atau membuat suatu data menjadi hilang saat data lain dihapus) yang muncul dalam suatu proses perancangan basis data. Suatu tujuan relational desain database yang utama adalah menggolongkan atribut kedalam hubungan-hubungan untuk memperkecil data redundancy dan dengan demikian mengurangi tempat penyimpanan file yang diperlukan oleh hubunganhubungan dasar yang diimplementasikan. Hubungan-hubungan yang memiliki data
34
redundant mungkin memiliki masalah yang disebut update anomalies, yang diklasifikasikan sebagai insertion, deletion, atau modification anomalies. 2.10.3 Functional Dependency Functional Dependency menguraikan hubungan antara atribut-atribut dalam sebuah relasi. Sebagai contoh, jika A dan B adalah atribut dari relasi R, B adalah secara fungsional bergantung kepada A (ditandai AÆB), jika setiap harga dari A diasosiasikan dengan tepat satu harga dari B. (A dan B masing-masing boleh dari satu atau lebih atribut.) 2.10.4 Bentuk Normal Normalisasi
sering
dieksekusi
sebagai
langkah-langkah
yang
berangkai/berseri. Bentuk normal adalah suatu aturan yang dikenakan pada relasirelasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada tingkatan normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. Beberapa tingkatan yang biasa digunakan pada normalisasi adalah: 1. UNF Sebelum membahas bentuk normal yang pertama, kita mendefinisikan normal form awal yaitu Unnormalized form (UNF). UNF adalah sebuah tabel yang berisi satu atau lebih grup-grup yang berulang. 2. Bentuk normal pertama (1NF) Sedangkan 1NF adalah hubungan dimana persimpangan dari setiap baris dan kolom berisi satu dan hanya satu harga. 3. Bentuk normal kedua (2NF)
35
Bentuk normal kedua didefinisikan berdasarkan ketergantungan fungsional yang penuh (Full Functional Dependency). Full Functional Dependency menandai bahwa jika A dan B adalah atribut dari sebuah relasi, B adalah penuh secara fungsional tergantung pada A jika B adalah secara fungsional tergantung pada A, tetapi tidak pada semua subset dari A. Sedangkan 2NF adalah sebuah relasi antara bentuk normal pertama dan setiap atribut bukan primary key adalah penuh secara fungsional bergantung pada primary key. 4. Bentuk normal ketiga (3NF) Bentuk normal ketiga didefinisikan berdasarkan ketergantungan transitif (Transitive Dependency). Transitive Dependency adalah sebuah kondisi dimana A, B, dan C adalah atributatribut dari relasi seperti jika A Æ B dan B Æ C, kemudian C secara transitif bergantung pada A melalui B (Dengan ketentuan bahwa A tidak secara fungsional bergantung pada B atau C). Sedangkan 3NF adalah sebuah relasi antara bentuk pertama dan bentuk kedua, dan dimana tidak ada atribut yang bukan primary key secara transitif bergantung pada primary key. 5. Bentuk normal Boyce-Codd (BCNF) Menurut Connoly&Begg (2002, p398) Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah candidate key. BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF karena bentuk normal ketiga berkemungkinan masih memiliki anomali sehingga
36
perlu dinormalisasi lebih jauh. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai. Artinya, bahwa pada kebanyakan relasi bila ketiga bentuk normal tersebut telah dipenuhi maka persoalan anomali tidak akan muncul lagi. Bentuk normal Boyce-Codd merupakan revisi terhadap bentuk normal ketiga. Bentuk normal 4NF dan 5NF hanya dipakai pada kasus-kasus khusus, yakni pada relasi yang mengandung ketergantungan nilai banyak.
2.11
SQL Server SQL Server adalah sebuah sistem manajemen basis data relasional yang biasa
disebut dengan RDBMS (Relational Database Management System). SQL Server menangani hubungan antara Client dengan Server yang berupa pengolahan basis data relasional dengan menggunakan Transact-SQL (T-SQL) sebagai bahasa untuk mengirim permintaan / perintah antara Client dan Server. Server adalah suatu objek yang berfungsi untuk menyediakan Service terhadap data yang ada, misalnya : analisa, pencarian, dan update data. Client adalah suatu objek dalam bentuk program yang memiliki User Interface untuk berkomunikasi atau mengakses data dari server. Untuk mengakses SQL Server yang berfungsi sebagai Server Database maka terdapat 4 metode akses yang umum digunakan, yaitu : 1. ADO (ActiveX Data Objects) 2. ODBC (Open Database Connectivity)
37
3. OLEDB (Object Linking and Embedding Database) 4. JDBC (Java Database Connectivity) 2.11.1 Stored Procedure Prosedur tersimpan (Stored Procedure) adalah sebuah program pada T-SQL yang melakukan query atau memperbarui database (Petroutsos, p130). Dalam bentuknya yang paling sederhana, prosedur tersimpan adalah sebuah query, yang disimpan di dalam database itu sendiri. Setelah prosedur tersimpan dirancang dan diuji, ia akan menjadi objek dari database. Sebagai tambahan, SQL Server dapat mengkompilasi prosedur tersimpan dan menjalankannya lebih cepat daripada pernyataan SQL yang setara. 2.11.2 Trigger Trigger serupa dengan prosedur tersimpan (Petroutsos, p135), tetapi mereka dijalankan secara otomatis oleh tindakan-tindakan berikut ini : penyisipan baris baru pada tabel, penghapusan baris yang sudah ada, serta pembaruan baris yang sudah ada. Trigger tidak dapat dijalankan dari dalam trigger atau prosedur tersimpan lain (kecuali jika trigger atau prosedur tersebut melakukan tindakan yang menjalankan trigger secara otomatis). 2.11.3 View View adalah tabel virtual yang isinya didefinisikan oleh sebuah query (Martina, p279). Sama seperti tabel nyata, view terdiri atas sejumlah kolom dan baris data. Baris dan kolom dalam view berasal dari tabel-tabel yang diacu didalam query yang mendefinisikan view, yang dihasilkan secara dinamik pada saat view dipakai.
38
View dipakai untuk menyederhanakan dan memudahkan persepsi user pada database.
View
dapat
digunakan
sebagai
mekanisme
sekuritas
dengan
memperbolehkan user mengakses data pada view tanpa harus memberi hak akses ke tabel aslinya.
2.12
Web Database
2.12.1 Internet Menurut Barry Eaglestone dan Mick Ridley (Web Database Systems, 2001), internet merupakan sebuah integrasi dari jaringan jaringan dengan menggunakan standart protokol komunikasi dimana protokol ini mampu menghubungkan jaringan – jaringan yang ada. Jaringan komputer yang berbeda disatukan dengan standart yang dikenal sebagai TCP/IP (Transmission Control Protocol / Internet Protocol), dimana komputer dalam internet memiliki alamat yang unik, yaitu IP (Internet Protocol) address yang berupa angka-angka. 2.12.2 TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) menggambarkan mekanisme dan aturan untuk mengoperasikan komputer – komputer supaya dapat berbagi informasi antar jaringan. 2.12.3 Web Web adalah salah satu dari banyak aplikasi pada internet dimana aplikasi ini melibatkan banyak komputer dengan menggunakan internet sebagai mekanisme dasar dari penghubungannya.
39
Web dijalankan dengan program pada server dan menerima respon dari klien. Dari hubungan tersebut maka beberapa komputer menjadi Web Server, yakni komputer yang menyediakan informasi dan dapat diakses melalui web oleh komputer klien. 2.12.4 Browser Browser digunakan untuk menampilkan dokumen dari web dan untuk melanjutkan link dimana link ini menghubungkan bagian – bagian dari dokumen ataupun untuk berpindah dari satu bagian dokumen ke bagian dokumen yang lain. 2.12.5 URL Setiap web mempunyai alamat akses yang unik yaitu Universal Resource Locator (URL). URL juga digunakan dalam dokumen web untuk mengaitkan link, baik antara dokumen – dokumen web, maupun antara situs – situs web. 2.12.6 HTTP HTTP (HyperText Transfer Protocol) adalah protokol komunikasi yang digunakan oleh web. Pengiriman data dari server ke klien dengan menggunakan http yang diaktifkan oleh klien. 2.12.7 Web Database Sistem Menurut Barry Eaglestone dan Mick Ridley (Web Database Systems, 2001), sistem Database dapat dihubungkan ke internet untuk digunakan melalui web. Berikut ini adalah tipe – tipe dari koneksi yang dapat digunakan : •
Remote Connections : Sebuah sistem database, dimana dapat diakses melalui web dimanapun seorang user berada.
40
•
Client-server architectures : Ini adalah bentuk umum untuk program aplikasi database yang menggunakan internet.
•
Distributed databases : Beberapa DBMS mempunyai fasilitas untuk mengijinkan bagian tertentu dari database disimpan pada komputer yang berbeda-beda. Data tersebut didistribusikan diletakan di tempat – tempat berbeda, dan hal ini tidak disadari oleh user.
•
Multidatabases : Ada sebuah teknologi database yang dikenal dengan nama teknologi multidatabase dimana teknologi ini memampukan beberapa database tunggal untuk di satukan untuk mendukung akses yang terintegrasi ke tempat penyimpanan data.
2.12.8 Web Database Lifecycle Menurut Barry Eaglestone dan Mick Ridley (Web Database Systems, 2001), web database lifecycle digambarkan sebagai berikut:
41
The Organization
Requirements Analysis
Description of the Organization and System Requirements
Conceptual Web Database Design Data Analysis
Web Data Analysis
Conceptual Data Model
Conceptual Web Data Model
Logical Database Design
Logical Web Data Design
Logical Data Model
Logical Web Data Model
Physical Web Database Design Physical Database Design
Physical Web Data Design
Physical Web Data Model
Gambar 2.17 Diagram Web Database Life Cycle
42
2.12.9 Model Konseptual Halaman Web Analisis web data menghasilkan sebuah model data konseptual untuk direpresentasikan dalam halaman Web. Input-input dari proses ini adalah deskripsi dari organisasi dan kebutuhan-kebutuhan sistem, bersama dengan model konseptual untuk database yang merupakan suatu aplikasi dari sistem Web Database. Membuat model ER untuk model data web Sistem web database meginteraksikan aplikasi database melalui halaman web. Halaman web sebagai aplikasi untuk menggambarkan entity, attribut dan relasi diantaranya sebagai data. Pada saat merancang isi data dari halaman web, sangat penting untuk medefinisikan relasi antar halaman – halaman web dimana relasi ini berbeda dengan relasi pada tabel database. Ada dua aspek dari halaman web yang dibutuhkan untuk merancang model ER yaitu : 1. Hypermedia links Halaman web memiliki hypermedia link sebagai alat navigasi untuk bepindah dari entitas – entitas yang berhubungan, yang digambarkan sebagai panah untuk menunjukan arah tujuan dari tiap – tiap link.
Gambar 2.18 Notasi Link 2. Konsep aplikasi web Konsep yang merupakan representasi dari halaman – halaman web itu sendiri. Konsep ini digambarkan dalam bentuk oval, dan disebut sebagai concept box.
43
Gambar 2.19 Notasi Concept Box . 2.12.10 Web Data Design Pada proses ini kita menguraikan proses bagaimana struktur data halaman web ditentukan. Proses mengambil model konseptual Web sebagai input dan mendefinisikan skema untuk setiap halaman Web. 2.12.10.1
Logical Web Page Schemas Sebuah halaman Web menyediakan akses ke sumber daya Web dengan menunjukkan informasi, dan dengan mengijinkan user untuk berinteraksi dengan halaman. Halaman Web dapat menjadi kompleks, kedua-duanya dalam kaitan dengan gambar yang ditunjukkan dan proses yang dihubungkan. Bagaimanapun, ketika merancang komponen data dari halaman Web, kita terkait hanya dengan data yang dikembalikan dari database dan yang ingin ditunjukkan, dengan data yang dimasukkan oleh user, dan dengan link atau alur akses ke data yang dapat diakses melalui halaman lain. Pada tahap ini Web database merancang proses, oleh karena itu kita merancang isi data untuk setiap halaman tetapi abaikan kompleksitas yang lain, seperti gambar halaman Web yang lain dan cara yang ditempuh oleh konektivitas database yang diterapkan.
44
2.13
ASP (Active Server Page) ASP adalah bahasa scripting yang dikembangkan oleh Microsoft untuk
mengakses database buatan mereka seperti Microsoft Access atau Microsoft SQL Server melalui web (Budhi Kristianto, Referensi Coding Pemrograman Web HTML ASP PHP, 2005). Bahasa scripting adalah kode – kode yang memiliki kemampuan untuk mengakses dan memanipulasi data yang ada di database server. ASP ditulis dengan menggunakan kode – kode VBScript (Visual Basic Script) buatan Microsoft. ASP biasanya dipadukan bersama web server IIS (Internet Information System) karena keduanya dikembangkan oleh Microsoft.
2.14
Rekam Medis Dalam dunia kesehatan praktek rekam medis (medical record) timbul
bersamaan dengan praktek kedokteran. Walaupun begitu dalam prakteknya kemajuan sistem administrasi rekam medis / kesehatan tertinggal jauh dari pengembangan ilmu kedokteran maupun kesehatan itu sendiri. Menurut Hatta (Rekam Medis dalam Praktek Dokter Keluarga, p2) Rekam Medis pada dasarnya menjelaskan mengenai : 1. Siapa, apa, mengapa, dimana, kapan dan bagaimana pelayanan yang diperoleh seorang pasien selama dirawat ata diobati. 2. Rekam medis (RM) memuat pengetahuan mengenai pasien dan pelayanan yang diterimanya. Oleh karenanya agar lengkap maka isi berkas RM harus memuat :
45
a. Informasi yang cukup mengenai pasien. b. Memberikan alasan dalam penetapan diagnosa dan perawatan. c. Mencatat seluruh hasil pemeriksaan. Umumnya praktek rekam medis dimulai dari tempat penerimaan pasien yaitu sejak dilakukannya pencatatan data sosial pasien seperti nama lengkap pasien, alamat, usia, jenis kelamin dan lainnya. Tahapan berikutnya RM akan memperoleh masukan data medis yang sifatnya rahasia dan rekaman urutan pengobatan atau perawatan pasien hanya dilakukan oleh staf medis, ahli kesehatan serta paramedis, baik secara manual maupun dengan menggunakan alat-alat elektronis. Kumpulan data dalam RM ini harus dijaga baik dari unsur kualita (mutu) maupun kuantita (jumlah) serta dari unsur kerahasiaan. Hanya melalui lengkapnya isi RM ini maka tampak peranan yang besar akan berkas RM. Dengan terekamnya data yang memiliki kualita dan kuantita yang lengkap maka dapat dikatakan bahwa berkas RM mempunyai berbagai manfaat yaitu : 1. Sebagai dasar perencanaan perawatan pasien serta bagi kelanjutan evaluasi kondisi pasien dan pengobatannya. 2. Bukti dokumentasi yang menggambarkan adanya evaluasi medis, pemberian pengobatan, hal reaksi pasien, perubahan kondisi selama perawatan / berobat jalan maupun sewaktu ke Unit Gawat Darurat. 3. Sebagai alat komunikasi antara praktisi yang bertanggung jawab dengan profesi kesehatan lainnya yang sama-sama terlibat dalam perawatan pasien. 4. Memuat perincian data perawatan pasien secukupnya sehingga praktisi lain dapat mengasumsikan pelayanan yang harus diberikan pada setiap saat.
46
5. Melengkapi data bagi kelanjutan pendidikan dan riset. 6. Memberikan informasi yang berhubungan bagi kegiatan-kegiatan penilaian diinstasi pelayanan kesehatan. 7. Sebagai dasar informasi bagi keuangan yaitu untuk mengembangkan dan membenarkan pengajuan rekening, klaim pembayaran berdasarkan keadaan yang lalu atau yang akan terjadi. 8. Memberikan informasi bagi pihak ketiga (polisi, pengadilan, asuransi) sesuai dengan ketentuan yang berlaku.