BAB 2 LANDASAN TEORI
2.1
Teori – teori Dasar / Umum
2.1.1 Pengertian Data Menurut Turban (2003, p15), data adalah fakta mentah atau deskripsi dasar dari sesuatu, kejadian, aktivitas dan transaksi yang didapat, dicatat, disimpan, dan dikelompokkan, namun tidak terorganisasi sehingga tidak memberikan suatu arti yang spesifik. Menurut Whitten (2004, p23), data adalah fakta mentah mengenai orang, tempat, kejadian dan hal–hal yang penting dalam organisasi.
2.1.2
Pengertian Basis Data Menurut Connolly dan Begg (2003, p14), pengertian basis data adalah kumpulan
data yang dipakai bersama dan terhubung secara logis dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut Wikipedia (http://id.wikipedia.org/wiki/Basis_data, 14 Oktober 2008), pengertian basis data adalah adalah kumpulan informasi yang saling berhubungan dan disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
7
8 2.1.3
Pengertian Sistem basis Data (Database system) Menurut Connolly dan Begg (2002, p4), sistem basis data merupakan kumpulan
dari program aplikasi yang berinteraksi dengan basis data itu sendiri.
2.1.4
Database Management System (DBMS)
2.1.4.1
Definisi DBMS
Menurut Connolly dan Begg (2002, p16), pengertian DBMS adalah sebuah sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke dalam basis data.
2.1.4.2
Fungsi DBMS
Menurut Connolly dan Begg (2002, p48), DBMS memiliki sepuluh fungsi, yaitu: 1.
Data storage, retrieval and update DBMS harus dapat memungkinkan user untuk menyimpan, mengambil dan meng– update data di dalam basis data.
2.
A user-accessible catalog DBMS harus memiliki sebuah catalog yang berisi deskripsi data item dan dapat diakses oleh user.
3.
Transaction support DBMS harus memiliki sebuah mekanisme yang dapat menjamin baik seluruh update yang berhubungan dengan sebuah transaksi dapat dilakukan ataupun keseluruhan update tersebut tidak dilakukan.
9 4.
Concurrency control services DBMS harus memiliki sebuah mekanisme untuk menjamin basis data di–update secara benar ketika banyak user meng–update basis data secara bersamaan.
5.
Recovery services DBMS harus memiliki sebuah mekanisme untuk pemulihan basis data apabila terjadi kerusakan.
6.
Authorization services DBMS harus memiliki sebuah mekanisme untuk menjamin bahwa hanya user yang memiliki otorisasi yang dapat mengakses basis data.
7.
Support for data communication DBMS harus dapat terintegrasi dengan piranti lunak komunikasi, dapat akses database dari lokasi yang jauh.
8.
Integrity services DBMS harus memiliki sarana untuk menjamin baik data di dalam basis data maupun perubahan terhadap data mengikuti aturan–aturan tertentu (constraint).
9.
Services to promote data independence DBMS
harus
menyertakan
fasilitas–fasilitas
untuk
mendukung
ketidaktergantungan piranti lunak terhadap struktur aktual dari basis data. 10.
Utility services DBMS harus menyediakan serangkaian layanan kegunaan, seperti program analisis statistic, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lain-lain.
10 2.1.4.3
Komponen – Komponen DBMS
Menurut Connolly dan Begg (2002, p18), DBMS memiliki 5 komponen penting, yaitu: 1.
Hardware (Perangkat Keras) Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras. Perangkat keras dapat berupa a single personal computer, single mainframe, sampai jaringan komputer.
2.
Software (Perangkat Lunak) Komponen perangkat lunak meliputi DBMS software dan program aplikasi beserta sistem operasi, termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan, seperti Local Area Network (LAN).
3.
Data Data merupakan komponen terpenting dari DBMS dan juga merupakan komponen penghubung antara komponen mesin (Hardware dan Software) dan komponen human (Procedures dan People).
4.
Prosedur Prosedur merupakan panduan dan instruksi dalam membuat desain dan menggunakan basis data. Penggunaan dari sistem dan staf dalam mengelola basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola basis data itu sendiri. Demikian prosedur di dalam basis data dapat berupa: login di dalam basis data, penggunaan sebagian fasilitas DBMS, cara menjalankan dan memberhentikan DBMS, membuat salinan backup database, memeriksa hardware
11 dan software yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada media penyimpanan sekunder. 5.
Manusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. Komponen ini meliputi data, database administrator, database designers, application developers dan end-users. Database Administrator (DBA) bertanggung jawab atas relasi fisik dari basis data termasuk perancangan basis data fisik dan implementasi, keamanan dan kontrol integritas, perawatan sistem operasional dan meyakinkan kinerja aplikasi yang memuaskan untuk user. Application Developers bertanggung jawab atas setelah basis data diimplementasikan, program aplikasi yang menyediakan fungsionalitas yang diperlukan untuk end-users harus diimplementasikan. End-users adalah ‘client’ untuk basis data, yang telah dirancang dan diimplementasikan dan selalu dirawat untuk menyajikan kebutuhan-kebutuhan informasi mereka.
2.1.4.4
Keuntungan dan Kerugian DBMS
Menurut Connolly dan Begg (2002, p26), keuntungan DBMS adalah sebagai berikut: 1.
Mengontrol redundansi data
2.
Konsistensi data
3.
Informasi lebih untuk sejumlah data yang sama
4.
Pembagian data (sharing of data)
5.
Meningkatkan integritas data
12 6.
Meningkatkan keamanan
7.
Meningkatkan standar
8.
Skala ekonomi
9.
Menyeimbangkan kebutuhan-kebutuhan yang saling bertabrakan
10.
Meningkatkan pengaksesan dan respon data
11. Meningkatkan produktivitas 12.
Meningkatkan pemeliharaan melalui data independence
13. Meningkatkan concurrency 14.
Meningkatkan layanan backup dan recovery
Menurut Connolly dan Begg (2002, p29), kerugian DBMS adalah sebagai berikut: 1.
Kompleksitas
2.
Ukuran
3.
Biaya dari DBMS
4.
Biaya tambahan perangkat keras
5.
Biaya proses konversi
6.
Performa
7.
Pengaruh kegagalan yang lebih tinggi
2.1.5
Database Language
2.1.5.1
Data Definition Language (DDL)
Menurut Connolly dan Begg (2002, p40), pengertian Data Definition Language adalah suatu bahasa yang memperbolehkan Database Administrator (DBA) atau
13 pengguna untuk mendeskripsikan dan memberi nama suatu entitas, atribut dan relasi data yang dibutuhkan untuk aplikasi, bersama dengan integritas data yang diasosiasikan dan batasan (constraint) keamanan data.
2.1.5.2
Data Manipulation Language (DML)
Menurut Connolly dan Begg (2002, p41), pengertian Data Manipulation Language adalah suatu bahasa yang menyediakan seperangkat operasi untuk mendukung manipulasi data yang berada pada basis data. Pengoperasian data yang akan dimanipulasi biasanya meliputi : 1.
Penambahan data baru ke dalam basis data. (insertion)
2.
Modifikasi data yang disimpan ke dalam basis data. (modify)
3.
Pengembalian data yang terdapat di dalam basis data. (retrieve)
4.
Penghapusan data dari basis data. (delete) Menurut Connolly dan Begg (2002, p41), DML dibagi menjadi 2 jenis, yaitu
Procedural dan Non-procedural. Pengertian Procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkan Non-procedural DML adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagaimana cara data diperoleh.
14 2.1.6
Entity–Relationship Modeling Untuk memastikan pemahaman yang tepat terhadap data dan bagaimana
penggunaannya di dalam suatu perusahaan, diperlukan sebuah model. Salah satunya adalah Model Entity–Relationship (ER). (Connolly dan Begg, 2002, p330). Model ini menggunakan pendekatan Top-Down dalam merancang basisdata, dimulai dengan mengidentifikasikan data yang penting yang disebut entity dan relationship antara data harus direpresentasikan dalam di dalam model, kemudian ditambahkan beberapa atribut dan constraint pada entity, atribut dan relationship.
2.1.6.1
Entity Types
Entity types adalah sekumpulan objek dengan sifat (property) yang sama yang diidentifikasikan oleh perusahaan dan keberadaanya independent (Connolly dan Begg, 2002, p331). Entity Occurrence adalah objek dari entity type yang diidentifikasikan secara unik (Connolly dan Begg, 2002, p333). Entity type dapat diklasifikasikan menjadi : 1.
Strong entity type, yaitu sebuah entitas yang tidak bergantung pada entitas lain karena entitas tersebut diidentifikasikan dengan menggunakan primary key (Connolly dan Begg, 2002, p342).
2.
Weak entity type, yaitu sebuah entitas yang bergantung pada entitas lain karena entitas tersebut diidentifikasikan dengan menggunakan primary key (Connolly dan Begg, 2002, p343).
15 2.1.6.2
Relationship Types
Relationship type adalah sekumpulan hubungan antara satu atau lebih entitas yang ada dan mempunyai arti (Connolly dan Begg, 2002, p334). Relationship Occurrence adalah suatu hubungan unik antara satu atau lebih entitas yang teridentifikasi dalam tipe entity (Connolly dan Begg, 2002, p334).
2.1.6.3
Atribut – atribut
Atribut merupakan sifat–sifat (property) dari sebuah tipe entity atau tipe relationship (Connolly dan Begg, 2002, p338). Atribut domain adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat dibagi menjadi tiga, yaitu : 1.
Simple / composite attributes Simple attribute adalah atribut yang terdiri dari satu komponen tunggal yang keberadaannya independent. Composite attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independent. (Connolly dan Begg, 2002, p339).
2.
Single / multi–valued attributes Single–valued attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian atau sebuah tipe entity. Multi–valued attribute adalah atribut yang mempunyai beberapa nilai untuk setiap kejadian atau sebuah tipe entity. (Connolly dan Begg, 2002, p339).
16 3.
Derived attributes Derived attribute adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari entity yang sama. (Connolly dan Begg, 2002, p340).
Keys 1.
Candidate
key,
merupakan
sejumlah
kecil
atribut
dari
entity
yang
mengidentifikasikan setiap kejadian dari entity tersebut secara unik (Connolly dan Begg, 2002, p340). 2.
Primary key, merupakan candidate key yang dipilih untuk mengidentifikasikan setiap kejadian dari entity secara unik (Connolly dan Begg, 2002, p341).
3.
Composite key, merupakan candidate key yang terdiri dari dua atau lebih atribut (Connolly dan Begg, 2002, p341).
4.
Alternate key, adalah setiap candidate key yang tidak terpilih menjadi primary key (Connolly dan Begg, 2002, p341).
5.
Foreign key, adalah sebuah atribut atau sekumpulan atribut pada suatu relasi yang sama dengan candidate key dari beberapa relasi lainnya (Connolly dan Begg, 2002, p79).
2.1.6.4
Structural Constraints
Multiplicity Multiplicity adalah jumlah occurrence (kejadian) yang mungkin terjadi pada sebuah tipe entity yang berhubungan ke sebuah occurrence dari tipe entity lain pada
17 suatu relationship (Connolly dan Begg, 2002, p344). Derajat yang biasanya digunakan pada suatu relationship adalah binary relationship, yang terdiri atas : 1.
One-to-One (1:1) Relationship
2.
One-to-Many (1:*) Relationship
3.
Many-to-Many (*:*) Relationship
Cardinality dan Participation Constraints Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu: 1.
Cardinality, menggambarkan jumlah maksimum dari kemungkinan batasan sebuah entitas yang ikut berpartisipasi dalam sebuah relasi (Connolly dan Begg, 2002, 351).
2.
Participation, menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship (Connolly dan Begg, 2002, 351).
2.1.7
Perancangan Basis Data Perancangan basisdata merupakan proses menciptakan rancangan yang akan
mendukung misi dan tujuan perusahaan untuk kebutuhan sistem basisdata (Connolly dan Begg, 2002, p279). Pendekatan dalam perancangan basis data, antara lain : 1.
Bottom–Up Pendekatan ini dimulai dari atribut dasar, dengan menganalisis hubungan antara atribut, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe entity dan relationship antara entity–entity (Connolly dan Begg, 2002, p279).
18
2.
Top–Down Pendekatan ini dimulai pengembangan model data yang berisi beberapa entity dan tingkat tinggi relationship dan kemudian menggunakan pendekatan top–down secara berurut untuk mengidektifikasikan entity tingkat rendah, relationship, dan atribut–atribut yang berhubungan (Connolly dan Begg, 2002, p279).
3.
Inside–Out Pendekatan ini berhubungan dengan pendekatan bottom–up, perbedaannya adalah pendekatan ini mengidentifikasikan sekumpulan entity utama dan kemudian menyebar ke entity-entity yang lain, relationship-relationship, dan atribut–atribut yang berkaitan dengan hal–hal yang sudah diidentifikasikan sebelumnya (Connolly dan Begg, 2002, p280).
4.
Mixed Strategy Pendekatan ini menggunakan pendekatan Bottom–Up dan Top–Down untuk bagian model yang berbeda sebelum akhirnya menggabungkan semua bagian (Connolly dan Begg, 2002, p280). Dalam perancangan basis data terdapat tiga fase utama, yaitu : perancangan basis
data konseptual, perancangan basis data logikal dan perancangan basis data fisikal.
2.1.7.1
Perancangan Basis Data Konseptual
Perancangan basis data konseptual adalah proses membangun sebuah model dari data yang digunakan di perusahaan, terlepas dari semua pertimbangan–pertimbangan fisik (Connolly dan Begg, 2002, p419).
19 Menurut Connolly dan Begg (2002, p422), langkah–langkah dalam perancangan basis data konseptual adalah sebagai berikut : Langkah 1 Membangun Model Data Konseptual a)
Langkah 1.1 Mengidentifikasi tipe-tipe entitas Tujuannya adalah untuk mengidentifikasikan tipe-tipe entitas yang dibutuhkan.
b)
Langkah 1.2 Mengidentifikasi tipe-tipe relasi Tujuannya adalah untuk mengidentifikasi hubungan atau relationship penting yang ada di antara tipe-tipe entitas yang telah diidentifikasikan.
c)
Langkah 1.3 Mengidentifikasi dan menghubungkan atribut dengan tipe-tipe entitas domain atribut, primary key dan candidate key Tujuannya adalah untuk menghubungkan atribut dengan entitas atau tipe relationship yang sesuai, untuk menentukan domain untuk atribut pada model data konseptual dan untuk mengidentifikasi candidate key untuk setiap tipe entitas dan apabila ada lebih dari satu candidate key, pilih salah satu untuk dijadikan primary key.
d)
Langkah 1.4 Mempertimbangkan untuk penggunaan konsep pemodelan enhanced (pilihan) Tujuannya adalah untuk mempertimbangkan penggunaan konsep enhanced modeling, seperti spesialisasi, generalisasi, aggregation dan composition.
e)
Langkah 1.5 Mengecek redudansi pada model Tujuannya adalah untuk memeriksa apabila ada redudansi pada model data. Pada langkah ini, model data konseptual diuji untuk memeriksa apakah terdapat
20 redundancy atau perulangan dalam data dan memindahkannya jika ada. Pada tahap ini terdapat dua aktivitas, yaitu :
f)
1.
Menguji ulang hubungan one-to-one (1:1) relationships
2.
Menghilangkan hubungan yang redundan
Langkah 1.6 Memvalidasi model konseptual lokal dengan transaksi pengguna Tujuannya adalah untuk memastikan apakah model konseptual telah mendukung transaksi yang dibutuhkan oleh perusahaan. Untuk memastikan bahwa model konseptual lokal benar-benar mendukung transaksi di view, digunakan dua macam pendekatan, yaitu :
g)
1.
Mendeskripsikan transaksi-transaksi
2.
Menggunakan jalur-jalur (pathway) transaksi
Langkah 1.7 Meninjau model konseptual lokal dengan pengguna Tujuannya adalah untuk memastikan bahwa model tersebut sudah merupakan representasi sebenarnya dari permintaan data oleh perusahaan.
2.1.7.2
Perancangan Basis Data Logikal
Perancangan basis data logikal adalah proses membangun sebuah model dari data yang digunakan di perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi terlepas dari DBMS tertentu dan pertimbangan–pertimbangan fisik lainnya (Connolly dan Begg, 2002, p419). Menurut Connolly dan Begg (2002, p442), langkah–langkah dalam perancangan basis data logikal adalah sebagai berikut :
21 Langkah 2 Membangun dan Memvalidasi Logical Data Model a)
Langkah 2.1 Menghilangkan fitur-fitur yang tidak sesuai dengan model relational Tahap ini merupakan tahap penyesuaian dari model data konseptual lokal agar bisa digunakan dengan lebih mudah oleh sistem. Pada tahap ini dilakukan aktivitas:
b)
a.
Menghilangkan relasi many to many (*:*)
b.
Menghilangkan relasi rekursif many to many (*:*)
c.
Menghilangkan relasi kompleks
d.
Memindahkan atribut multi-valued
Langkah 2.2 Menurunkan relasi untuk model data logikal Tujuannya adalah untuk membuat hubungan untuk model data logikal untuk merepresentasikan entiti-entiti, relationships dan atribut-atribut yang sudah diidentifikasi.
c)
Langkah 2.3 Memvalidasi relasi dengan normalisasi Pada tahap ini, dilakukan validasi terhadap transaksi di model data lokal logikal menggunakan teknik normalisasi untuk mengembangkan model data sehingga terhindar dari duplikasi data yang tidak diperlukan.
d)
Langkah 2.4 Memvalidasi relasi melalui transaksi pengguna Tujuannya adalah untuk memastikan bahwa hubungan-hubungan dalam model data logikal mendukung transaksi yang dibutuhkan oleh view.
22 e)
Langkah 2.5 Mendefinisikan integrity constraint Integrity constraint adalah batasan-batasan yang digunakan untuk menjaga agar basis data tidak menjadi inkonsisten. Ada lima tipe dari integrity constraint, yaitu: 1.
Required data Beberapa atribut harus selalu berisi nilai yang benar (valid), tidak dapat bernilai “NULL”.
2.
Batasan domain atribut Setiap atribut mempunyai domain sendiri, yaitu sekumpulan nilai yang sah untuk suatu atribut.
3.
Entity integrity Primary key dari sebuah entitas tidak boleh bernilai “NULL”. Setiap baris harus mempunyai sebuah primary key.
4.
Referential integrity Jika suatu foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent’.
5.
Enterprise constraint Aturan tambahan yang dibuat oleh pemakai atau seorang administrator basisdata dari basis data tersebut.
f)
Langkah 2.6 Meninjau model data logikal lokal dengan pengguna Tujuannya adalah untuk memastikan bahwa model data logikal lokal dan dokumentasi pendukung yang menggambarkan model merupakan perwakilan yang benar dari pandangan pengguna.
23 g)
Langkah 2.7 Membangun dan memvalidasi model data logikal global (pilihan) Tujuannya adalah untuk mengkombinasi suatu individual model data logikal lokal ke dalam suatu model yang menggambarkan suatu enterprise.
2.1.7.3
Perancangan Basis Data fisikal
Perancangan basis data fisikal adalah proses untuk menghasilkan penjelasan dari pengimplementasian dari suatu basis data pada secondary storage, juga menjelaskan relasi dasar, pengaturan file dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity constraint, serta aman (Connolly dan Begg, 2002, p419). Menurut Connolly dan Begg (2002, p479), langkah–langkah dalam perancangan basisdata fisikal adalah sebagai berikut : Langkah 3 Menerjemahkan model data logikal global untuk DBMS target a)
Langkah 3.1 Merancang relasi dasar Tujuannya adalah untuk menentukan bagaimana representasi dari hubungan dasar diidentifikasikan dalam model data logikal dalam target DBMS.
b)
Langkah 3.2 Merancang representasi dari data yang diturunkan Tujuannya adalah untuk menentukan cara untuk merepresentasikan data yang diturunkan yang ada dalam global locical data model ke dalam target DBMS.
c)
Langkah 3.3 Merancang enterprise constraint Tujuannya adalah untuk mendesain batasan-batasan organisasi untuk target DBMS. Update terhadap relasi dibatasi oleh peraturan organisasi yang mengatur transaksi ‘real world’ yang diwakili oleh update tersebut.
24 Langkah 4 Merancang representasi fisikal a)
Langkah 4.1 Menganalisis transaksi Tujuannya adalah untuk memahami fungsi dari transaksi yang dijalankan pada basisdata dan menganalisis transaksi-transaksi yang penting.
b)
Langkah 4.2 Memilih organisasi file Tujuannya adalah untuk menentukan organisasi file yang efisien untuk setiap relasi dasar.
c)
Langkah 4.3 Pemilihan indeks Tujuannya adalah untuk menentukan apakah penambahan indeks akan meningkatkan ujuk kerja sistem.
d)
Langkah 4.4 Memperkirakan kebutuhan media penyimpanan Tujuannya adalah untuk memperkirakan besarnya ruang penyimpanan yang dibutuhkan untuk mendukung implementasi basis data pada tempat penyimpanan kedua.
Langkah 5 Perancangan user views Tujuannya adalah untuk merancang pandangan pengguna yang diidentifikasikan selama tahap pengumpulan kebutuhan dan analisis pada database application lifecycle. Langkah 6 Perancangan mekanisme security Tujuannya adalah untuk merancang mekanisme sekuriti atau keamanan untuk basis data seperti yang telah diminta oleh pengguna pada tahapan awal siklus perkembangan sistem basis data.
25 2.1.8
Normalisasi Menurut Connolly dan Begg (2002, p376), normalisasi adalah teknik untuk
memproduksi sekumpulan relasi dengan properti yang diinginkan, dengan kebutuhan data yang diberikan perusahaan. Menurut Whitten (2004, p306), normalisasi adalah teknik analisis data yang mengelola data ke dalam kelompok-kelompok untuk membentuk entitas yang nonredudan, stabil, fleksibel dan adaptif. Menurut Connolly dan Begg (2002, p387), Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih repeating group. Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut. Tingkatan normalisasi teridiri dari tiga tahap, yaitu : 1.
First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai (Connolly dan Begg, 2002, p388). Sebuah relasi akan berada dalam bentuk 1NF jika repeating group-nya sudah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal (unnormalized table), yaitu: a.
Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data yang berulang.
b.
Dengan menempatkan data yang berulang bersama salinan dari atribut kunci pada relasi yang terpisah.
26 2.
Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung sepenuhnya (fully functionally dependent) terhadap primary key (Connolly dan Begg, 2002, p392). Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A→B), jika B bergantung terhadap A, namun bukan subset dari A. (Connolly dan Begg, 2002, p391).
3.
Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut yang bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key (Connolly dan Begg, 2002, p394). Transitive dependency ialah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika A→B dan B→C maka C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B atau C). (Connolly dan Begg, 2002, p394).
2.1.9
Database Application Lifecycle Menurut Connoly dan Begg (2003, p271), sebuah sistem database merupakan
komponen dasar sistem informasi organisasi yang lebih besar. Oleh karena itu, siklus hidup aplikasi database berhubungan dengan siklus hidup sistem informasi. Langkahlangkah siklus hidup aplikasi adalah sebagai berikut :
27 Perencanaan Basis Data
Pendefinisian Sistem
Pengumpulan dan Analisis Kebutuhan Perancangan Basis Data
Perancangan Konseptual Basis Data Seleksi DBMS
Perancangan Aplikasi
Perancangan Logikal Basis Data
Perancangan Fisikal Basis Data
Implementasi
Prototyping
Data Conversion And Loading Testing
Operasional dan Pemeliharaan
Gambar 2.1 Database Lifecycle
28 2.1.9.1
Perencanaan Basis Data
Menurut Connolly dan Begg (2002, p273), perancanaan basis data adalah mengelola aktivitas yang mengizinkan tahap – tahap lifecycle aplikasi basis data untuk direalisasikan se-efisien dan se-efektif mungkin. Kegiatan utama dari perncanaan basis data adalah merencanakan supaya tingkat daur hidup dapat menjadi efisien dan efektif. Hal pertama yang harus dilakukan adalah menentukan tugas (mission statement) dari proyek basis data. Dengan tujuan untuk memperjelas maksud dari proyek basis data yang dibutuhkan. Kemudian tahap selanjutnya adalah mengidentifikasi sasaran (mission objective) dimana setiap sasaran harus mengenal tugasnya masing-masing yang mendukung basis data.
2.1.9.2
Definisi Sistem
Menurut Connolly dan Begg (2002, p274), sistem adalah menggambarkan lingkup dan batasan–batasan dari aplikasi basis data dan user view yang utama. Sebelum mencoba merancang suatu aplikasi basis data diperlukan untuk mengenali batasan sistem dan bagaimana antarmuka dengan bagian sistem informasi lainnya dalam organisasi. Hal penting yang harus diperhatikan adalah batasan pemakai dan aplikasi mendatang. Mengidentifikasikan user view sangat penting dalam mengembangkan aplikasi basis data agar dapat memastikan tidak ada pemakai utama yang terlupakan ketika mengembangkan keperluan untuk aplikasi baru.
29 2.1.9.3
Pengumpulan dan Analisis Kebutuhan
Menurut Connolly dan Begg (2002, p276), pengumpulan dan analisis kebutuhan adalah proses dari analisis dan pengumpulan informasi tentang bagian organisasi yang didukung oleh sistem aplikasi basis data dan menggunakan informasi ini untuk mengenali kebutuhan–kebutuhan untuk sistem baru. Menurut Connolly dan Begg (2005, p314), ada beberapa teknik atau cara mendapatkan informasi ini, salah satunya adalah dengan teknik fact finding. Fact finding adalah suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhankebutuhannya.
2.1.9.4
Perancangan Basis Data
Menurut Connolly dan Begg (2002, p281), perancangan basis data adalah proses pembuatan sebuah rancangan untuk basis data yang mendukung operasi dan tujuan dari perusahaan. Tiga fase utama perancangan basis data, yaitu Perancangan Basis Data Konseptual, Perancangan Basis Data Logikal dan Perancangan Basis Data Fisikal.
2.1.9.5
Seleksi DBMS
Menurut Connolly dan Begg (2002, p284), pengertian seleksi DBMS adalah menseleksi DBMS yang tepat untuk mendukung aplikasi basis data. Seleksi DBMS dilakukan antara tahapan perancangan basis data logikal dan perancangan basis data fisikal. Tujuannya untuk kecukupan sekarang dan kebutuhan masa mendatang pada
30 perusahaan, membuat keseimbangan biaya termasuk pembelian produk DBMS, piranti lunak untuk mendukung aplikasi basis data, biaya yang berhubungan dengan perubahan dan pelatihan karyawan.
2.1.9.6
Perancangan Aplikasi
Menurut Connolly dan Begg (2002, p287), pengertian perancangan aplikasi adalah merancang antarmuka pemakai dan program aplikasi, yang akan memproses basis data. Perancangan basis data dan aplikasi merupakan aktivitas yang dilakukan secara bersamaan pada database application lifecycle.
2.1.9.7
Prototyping
Menurut Connolly dan Begg (2002, p291), pengertian prototyping adalah membuat model kerja dari aplikasi basis data, yang memungkinkan perancang atau pemakai untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuannya adalah untuk memungkinkan pemakai menggunakan prototype untuk mengidentifikasikan fitur – fitur sistem berjalan dengan baik atau tidak, dan bila memungkinkan untuk menyarankan peningkatan atau bahkan penambahan fitur-fitur baru ke dalam sistem database.
2.1.9.8
Implementasi
Menurut Connolly dan Begg (2002, p292), pengertian implementasi adalah realisasi fisik suatu basis data dan perancangan aplikasi. Implementasi basis data dapat
31 dicapai menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). Pernyataan DDL digunakan untuk menciptakan struktur-struktur basis data dan file-file basis data yang kosong. Semua spesifikasi user view juga diimplementasikan pada tahap ini.
2.1.9.9
Data Conversion And Loading
Data conversion and loading adalah suatu proses mentransfer data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk dijalankan dalam basis data baru (Connolly dan Begg, 2002, p292). Tahap ini hanya dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama.
2.1.9.10
Testing
Testing adalah suatu proses mengeksekusi sistem basis data dengan tujuan untuk menemukan kesalahan (Connolly dan Begg, 2002, p293).
2.1.9.11
Operasional dan Pemeliharaan
Menurut Connolly dan Begg (2002, p293), pengertian operasional dan pemeliharaan adalah proses memonitor dan memelihara sistem yang telah di-install.
32 2.1.10 Diagram Aliran Dokumen (DAD) Menurut Bodnar (2001, p34), Diagram Aliran Dokumen (DAD) merupakan suatu diagram aliran simbolik yang menunjukkan aliran data dan urutan operasi dalam suatu sistem. Menurut Mulyadi (2001, p60), bagan alir dokumen (document flow chart) digunakan untuk menggambarkan aliran dokumen dalam sistem tertentu. Simbol-simbol yang digunakan dalam bagan aliran dokumen, yaitu :
Tabel 2.1 Simbol-simbol dalam Bagan Aliran Dokumen Simbol
Nama
Keterangan
Dokumen
Digunakan untuk mengambarkan semua jenis dokumen yang merupakan formulir yang digunakan untuk merekam data terjadinya suatu transaksi.
Dokumen dan
Digunakan untuk menggambarkan dokumen
tembusannya
asli
dan
tembusannya.
Nomor
lembar
dokumen dicantumkan disudut kiri atas. Berbagai
Digunakan untuk menggambarkan berbagai
dokumen
jenis dokumen yang digabungkan bersama di dalam suatu paket. Nama dokumen dituliskan di dalam masing-masing simbol dan nomor lembar dokumen dicantumkan di sudut kanan atas simbol dokumen yang bersangkutan.
Catatan
Digunakan untuk menggambarkan catatan akuntansi yang digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau formulir.
33 Penghubung
Dalam menggambarkan bagan alir, arus
pada halaman
dokumen dibuat mengalir dari atas ke bawah
yang sama
dan dari kiri ke kanan. Karena keterbatasan ruang halaman kertas untuk menggambar maka diperlukan simbol penghubung untuk memungkinkan aliran dokumen berhenti di suatu lokasi lain pada halaman yang sama.
Penghubung
Jika untuk menggambarkan bagan alir suatu
pada halaman
sistem akuntansi diperlukan lebih dari satu
yang beda
halaman, simbol ini harus digunakan untuk menunjukan ke mana dan bagaimana bagan alir terkait satu dengan lainnya.
Kegiatan manual
Digunakan untuk menggambarkan kegiatan manual.
Arsip sementara Digunakan
untuk
menggambarkan
arsip
sementara yang dokumennya akan diambil kembali dari arsip tersebut di masa yang akan datang untuk keperluan pengolahan lebih lanjut terhadap dokumen tersebut. Untuk menunjukan urutan pengarsipan dokumen digunakan simbol berikut ini: A = menurut abjad N = menurut nomor urut T = kronologis, menurut tanggal Arsip Permanen Digunakan
untuk
menggambarkan
arsip
permanen yang tidak akan diproses lagi. Mulai/berakhir (terminal)
Simbol ini untuk menggambarkan awal dan akhir suatu sistem akuntansi.
34
Ya
Keputusan
Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data.
Tidak
2.1.11 State Transition Diagram (STD) State
Transition
Diagram
(STD)
adalah
alat
yang
digunakan
untuk
menggambarkan urutan dan variasi layar yang dapat terjadi selama satu sesi pengguna (Whitten, 2004, p636). Dua macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu : 1.
State, digambarkan dengan gambar persegi panjang yang menunjukkan state dari sistem.
Gambar 2.2 Simbol State dalam STD 2.
Transition, digambarkan dengan gambar panah yang menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukkan kejadian yang menyebabkan tarnsisi yang terjadi. Label yang di bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
Gambar 2.3 Simbol Transisi dalam STD
35 2.1.12 Perancangan user interface / layar Interaksi manusia dengan komputer adalah ilmu yang berhubungan dengan perancangan, evaluasi dan implementasi sistem komputer interaktif untuk digunakan manusia, serta studi fenomena besar yang berhubungan dengannya (Shneiderman, 1998, p8). Menurut Shneiderman (1998, p74) dalam merancang antarmuka pemakai (user interface), perlu menggunakan delapan aturan emas yang terdiri dari : 1.
Berusaha konsisten
2.
Memungkinkan frequent user menggunakan shortcut
3.
Memberikan umpan balik yang informatif
4.
Merancang dialog untuk menghasilkan keadaan akhir
5.
Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana
6.
Memungkinkan pembalikan aksi (undo) yang mudah
7.
Mendukung internal locus of control
8.
Mengurangi beban ingatan jangka pendek
2.2
Teori-teori Khusus Berhubungan dengan Topik
2.2.1
Microsoft Visual Basic Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah
bahasa pemrograman yang bersifat event driven dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows dengan menggunakan model pemrograman Common Object Model (COM). Visual Basic merupakan turunan bahasa BASIC dan
36 menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. (http://id.wikipedia.org/wiki/Visual_Basic, 14 Oktober 2008). Menurut Burroes (2000, p7), Visual Basic (VB) adalah sebuah program yang didesain khusus untuk memfasilitasi kebutuhan programmer dalam pengembangan sebuah program baru. Visual Basic menyediakan dua hal untuk digunakan oleh programmer, yaitu programming tools yang digunakan oleh programmer untuk menentukan komponen-komponen di dalam program yang sedang dibuat, dan programming language yang memungkinkan programmer untuk membuat perintahperintah untuk dikerjakan oleh program yang sedang dibuat.
2.2.2 Microsoft SQL Server 2000 Menurut Coffman (1999, p4), SQL adalah bahasa standardisasi yang digunakan untuk mendefinisikan, merubah dan mengatur data dan mengontrol bagaimana melakukan perubhan dalam database yang dibuat dengan menggunakan tabel, index, kunci, baris dan kolom untuk menyimpan data. Menurut Connolly dan Begg (2002, p111), idealnya sebuah bahasa basis data harus membolehkan penguna untuk : a.
Menciptakan basis data dan struktur relasi
37 b.
Mengerjakan tugas-tugas dasar manajemen data seperti penempatan, modifikasi dan penghapusan data dari relasi
c.
Mengerjakan query yang sederhana dan kompleks Bahasa basis data harus mengerjakan tugas-tugas ini dengan usaha pengguna yang
minimal, serta struktur perintah dan sintaknya harus mudah dipelajari, juga harus portable, yaitu harus sesuai dengan stándar yang ada sehingga kita dapat menggunakan struktur perintah dan sintaks yang sama ketika kita pindahkan dari satu DBMS ke DBMS lainnya. SQL memenuhi seluruh persyaratan ini. SQL merupakan bahasa transform-oriented/bahasa yang didesain untuk menggunakan relasi untuk merubah input menjadi output yang dibutuhkan. Sebagai sebuah bahasa, SQL memiliki dua komponen utama, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). SQL merupakan bahasa relatif yang mudah dipelajari karena : a.
SQL merupakan sebuah bahasa non-prosedural, kita dapat menentukan informasi apa yang kita butuhkan daripada bagaimana cara mendapatkannya. Dengan kata lain, SQL tidak membutuhkan kita untuk menentukan metode akses ke data.
b.
Seperti kebanyakan bahasa modern lainnya, SQL pada dasarnya free-format, yaitu bahwa bagian-bagian pernyataan tidak perlu diketik pada lokasi tertentu dilayar.
c.
Struktur perintah mengandung kata-kata bahasa ingris standar seperti CREATE TABLE, INSERT, SELECT.
d.
SQL dapat digunakan oleh Database Administrator (DBA), Management Personnel, Application Developer dan end user lainnya.
38 2.2.3
Teori Pembelian Menurut Mulyadi (2001,p209), pembelian adalah suatu usaha yang digunakan
dalam perusahaan untuk pengadaan barang yang diperlukan perusahaan. Secara umum definisi pembelian adalah usaha pengadaan barang atau jasa yang dilakukan oleh perusahaan untuk mendukung aktifitas bisnis. Retur Pembelian digunakan untuk melaksanakan transaksi pengembalian barang kepada pemasok dan pencatatan pengurangan utang. Sistem retur pembelian digunakan dalam perusahaan untuk pengembalian barang yang sudah dibeli kepada pemasoknya.
2.2.4
Teori Persediaan Menurut Rangkuti (2000, p2), persediaan merupakan sejumlah bahan-bahan,
bagian-bagian yang disediakan dan bahan-bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang-barang jadi atau produk yang disediakan untuk memenuhi permintaan dari konsumen setiap waktu. Menurut Mulyadi (1993, p555), persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini berkaitan dengan sistem penjualan, sistem retur penjualan, sistem pembelian dan sistem retur pembelian. Menurut Render (2001, p314), persediaan dapat memiliki berbagai fungsi penting yang menambah fleksibilitas dari operasi suatu perusahaan. Adapun penggunaan persediaan, yaitu : a.
Untuk memberikan statu stok barang-barang agar dapat memenuhi permintaan yang diantisipasi akan timbal dari konsumen.
39 b.
Untuk memasangkan produksi dengan distribusi. Misalnya, bila permintaan produknya tinggi hanya pada musim panas, suatu preusan dapat membentuk stok selama musim dingin, sehingga biaya kekurangan stok dan kehabisan stok dapat dihindari.
c.
Untuk mengambil keputusan dari potongan jumlah.
d.
Untuk menghindari dari kekurangan stok yang dapat terjadi karena cuaca, kekurangan pasokan, masalah mutu, atau pengiriman yang tidak tepat.
2.2.5
Teori Penjualan Menurut Baridwan (1991, p109), prosedur penjualan adalah urutan kegiatan sejak
diterimanya pesanan dari pembeli, pengiriman barang, pembuatan faktur (penagihan), dan pencatatan penjualan. Menurut Mulyadi (2001, p202), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara pembayarannya dapat dibedakan sebagai berikut : a.
Penjualan tunai, yaitu penjualan yang dilaksanakan oleh perusahaan dengan catatan mewajibkan pembeli dengan melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli.
b.
Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang pelanggannya.
40 2.2.6 Pengertian Klinik Kata klinik dalam Ensiklopedia Indonesia (1990) berasal dari bahasa Yunani, yaitu "Klinein" yang berarti "bersandar" atau berbaring. Definisi ini cenderung memiliki makna yang mengarah sebagai tempat untuk orang sakit. Dalam versi lain Soethama, et al. (2004) mengatakan bahwa kata klinik berasal dari bahasa perancis yang mengandung arti sebagai tempat praktek pengobatan. Selanjutnya dalan versi Yunani "Klinikos" atau "Kline" yang berarti tempat tidur. Untuk itu terlepas dari berbagai etimologi tersebut maka dapat dikatakan bahwa pengertian yang terkandung dalam kata klinik adalah sebagai tempat bersandar atau berbaring bagi pasien untuk memperoleh pelayanan kesehatan, seperti diagnosa, terapi dan
upaya
pencegahan
penyakit
yang
diderita
pasien.
(http://ntb.litbang.deptan.go.id/2005/TPH/strategipengelolaan.doc, 14 Oktober 2008)
2.2.7
Teori Rekam Medis
2.2.7.1
Pengertian Rekam Medis
Menurut Departemen Kesehatan Republik Indonesia catatan medis (rekam medis) adalah: ”Keterangan baik yang tertulis maupun yang terekam tentang identitas, anamnesa, penentuan fisik, laboratorium, diagnosa segala pelayanan dan tindakan medis yang diberikan kepada pasien dan pengobatan baik yang dirawat inap, rawat jalan maupun yang mendapatkan pelayanan gawat darurat” (Dirjen Yandmed, 1996). (http://enriedunant.890m.com/index_files/artikel.htm, 14 Oktober 2008)
41 2.2.7.2
Tujuan Rekam Medis
Tujuan dilaksanakannya rekam medis adalah untuk menunjang tercapainya tertib administrasi rumah sakit akan berhasil sebagaimana yang diharapkan. Sedangkan tertib administrasi merupakan salah satu faktor yang menetukan dalam upaya pelayanan kesehatan
yang
bermutu
di
rumah
sakit.
(http://enriedunant.890m.com/index_files/artikel.htm, 14 Oktober 2008) Tanpa didiukung suatu sistem pengelolaan rekam medis yang baik dan benar, mustahil tertib administrasi rumah sakit akan berhasil sebagaimana yang diharapkan. Sedangkan tertib administrasi merupakan salah satu faktor yang menentukan dalam upaya pelayanan kesehatan yang bermutu di rumah sakit.
2.2.7.3
Kegunaan Rekam Medis
Secara
umum
kegunaan
rekam
medis
menurut
Depkes
RI,
1997
(http://enriedunant.890m.com/index_files/artikel.htm, 14 Oktober 2008) yaitu : 1.
Sebagai alat komunikasi antar dokter dengan tenaga ahi lainnya yang ikut ambil bagian dalam memberikan pelayanan pengobatan, serta perawatan terhadap pasien.
2.
Sebagai dasar untuk merencanakan pengobatan atau perawatan yang harus diberikan kepada seorang pasien.
3.
Sebagai bukti tertulis atas segala tindakan pelayanan, perkembangan penyakit dan pengobatan selama pasien berkunjung atau dirawat dirumah sakit
4.
Sebagai bahan yang berguna untuk analisa, penelitian dan evaluasi terhadap kualitas pelayanan yang diberikan kepada pasien
42 2.2.7.4
Aspek Hukum Rekam Medis
Rumah sakit memiliki fungsi utama untuk memberikan perawatan dan pengobatan yang sempurna kepada pasien baik pasien rawat inap, rawat jalan maupun pasien gawat darurat. Rekam medis sangat penting dalam mengemban mutu pelayanan medik yang diberikan oleh rumah sakit beserta staf mediknya. Rekam medis merupakan milik rumah sakit yang harus dipelihara karena berfaedah bagi pasien, dokter maupun bagi rumah sakit. Rumah Sakit bertanggung jawab untuk melindungi informasi yang ada di dalam rekam medis terhadap kemungkinan hilangnya keterangan ataupun memalsukan data yang ada di dalam rekam medis atau dipergunakan oleh orang yang semestinya tidak di beri izin. Rekam Medis harus diberi data yang cukup terperinci, sehingga dokter lain dapat mengetahui bagaimana pengobatan dan perawatan kepada pasien dan konsulen dapat memberikan pendapat yang tepat setelah dia memeriksanya ataupun dokter yang bersangkutan dapat memperkirakan kembali keadaan pasien yang akan datang dari prosedur yang telah dilaksanakan. (http://enriedunant.890m.com/index_files/artikel.htm, 14 Oktober 2008)