BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umum 2.1.1 Pengertian Database Menurut Connolly dan Begg (2002, p14), database adalah koleksi bersama data yang secara logis saling berelasi, dan gambaran dari data ini, didesain untuk memenuhi kebutuhan informasi dari suatu organisasi. Menurut Mohammad Subekti, MSc (1997, p8), database adalah kumpulan terintegrasi dari occurrences file atau tabel yang merupakan representasi data dari suatu model enterprise. Database sendiri dapat digambarkan sebagai kumpulan filefile data yang terkomputerisasi. Database adalah kumpulan penyimpanan data operasional yang dipakai oleh sistem aplikasi dari suatu enterprise. Suatu enterprise selalu membutuhkan berbagai data untuk mendukung operasinya dan oleh karena itu disebut sebagai “data operasional”. Contoh : Enterprise Data operasional Pabrik data produksi, karyawan Bank data nasabah, tabungan, kredit. Rumah sakit data pasien, dokter, bangsal Universitas data mahasiswa, dosen, nilai 2.1.2 Komponen Database 8 Sistem database terdiri dari empat komponen penting yaitu : 1. Data Dilihat dari konfigurasi sistemnya, maka data dalam database dapat merupakan data yang single-user (hanya satu pengguna yang beroperasi terhadap database) atau multi-user dimana satu atau lebih user beroperasi secara bersama ke dalam sistem database. Sehingga, data dalam database terutama untuk sistem yang besar harus terintegrasi (integrated) dan dapat dipakai bersama (shared). Pengertian terintegrasi dalam database dapat dipandang sebagai kumpulan berbagai file yang saling terhubungdan dengan sebagian atau seluruh redudansi yang diantaranya dihilangkan. Sedangkan pengertian penggunaan bersama adalah setiap bagian data yang ada didalam database dapat dipakai oleh lebih dari satu pengguna untuk penggunaan yang mungkin berbeda. 2. Hardware Piranti keras yang dibutuhkan untuk manajemen database biasanya masih berupa mesin standar yang ada dalam arti tidak ada kekhususan tertentu. Akan tetapi karena sifatnya dalam akses yang lebih sangat bervariasi maka suatu manajemen database akan lebih banyak membutuhkan media penyimpanan harddisk. Hardware terdiri dari : • Penyimpanan secondary (magnetic disk), I/O device seperti disk drives), device Controller, I/O Channels, dan lainnya. 9 • Hardware processor dan main memory, digunakan untuk mendukung saat eksekusi sistem software database. 3. Software Antara fisik database (tempat dimana sesungguhnya suatu database tersimpan dalam media) dengan pengguna terdapat suatu piranti lunak yang disebut sistem manajemen database (DBMS) atau DB manajer. Semua kebutuhan akses oleh pengguna seperti pembentukan file (create), penambahan data (insert), penghapusan (delete atau drop), dan lain-lain, semua dilaksanakan oleh DBMS. Satu hal lagi, bahwa DBMS juga berfungsi untuk memberikan satu batas agar pengguna database tidak perlu memikirkan barbagai hal yang berkaitan dengan detil pada level piranti keras (misalnya metode akses). Software bisa berupa DBMS, sistem operasi, software jaringan (jika diperlukan) dan program aplikasi pendukung lainnya. 4. Pengguna (users) Terdapat tiga kelas pengguna database yaitu : • Application Programmers, bertanggungjawab untuk membuat aplikasi database dengan menggunakan bahasa pemrograman yang ada, seperti : C++, Java, dan lainnya. 10 • End Users, Orang yang menggunakan data didalam database untuk kebutuhan tugas atau fungsinya. Pengguna ini dapat mengakses database secara on-line dengan memanfaatkan bahasa query (seperti SQL) maupun proses batch menggunakan program aplikasi yang sudah dipersiapkan oleh programmer, atau pula menggunakan program utility yang telah disediakan dalam DBMS. • DA (Data Administrator), seseorang yang berwenang untuk membuat keputusan stategis dan kebijakan mengenai data yang ada, DBA (DataBase Administrator), menyediakan dukungan teknis untuk implementasi keputusan tersebut, dan bertanggungjawab atas keseluruhan kontrol sistem pada level teknis. 2.1.3 Alasan Penggunaan Database Keuntungan dari penggunaan database sebagai berikut : • Kontrol terpusat pada data operasional • Redudansi data dapat dikurangi dan dikontrol • Data dapat dipakai bersama (shared) • Penerapan standarisasi • Penerapan pembatasan keamanan data (security) • Integritas data dapat terpelihara • Independensi data atau program 11 Kerugian dari penggunaan database sebagai berikut : • Mahal, karena butuh biaya yang lebih besar untuk keperluan hardware, software, dan perekrutan personil yang lebih berkualitas. • Kompleks, karena dengan kemampuan software yang lebih besar, membuat suatu pemahaman bahwa terlihat rumit dan butuh penguasaan yang lebih tinggi, seperti kebutuhan sistem administrasi, prosedur recovery dan back up, penataan keamanan data. 2.1.4 Pengertian Sistem Database Menurut Date (2000, p5), sistem database pada dasarnya merupakan sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan sistem terkomputerisasi itu memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. Menurut Mohammad Subekti, MSc (September 1997, p1), Sistem database adalah sistem penyimpanan record secara komputer (elektronis). 2.1.5 Pengertian Database Terpusat Database Terpusat adalah pendekatan yang paling banyak digunakan, sebagian besar karena keterbiasaan pemakai dengan lingkungan main frame yang terpusat. Alasan lain dari penggunaan database terpusat adalah biaya yang lebih murah dari sistem terdistribusi, kontrol database lebih terjamin, data benar-benar terpadu, 12 maintenance dan update lebih mudah, juga keamanannya yang lebih terjaga. Data diambil dari seluruh sistem operasional dan disimpan di dalam pusat penyimpanan data. 2.1.6 Pengertian Informasi Menurut McLeod (1998, p15), informasi adalah data yang telah diproses, atau data yang memiliki arti. Sebagai contoh, data dapat berupa jumlah penerbangan setiap pilot. Saat data ini diproses, ia dapat diubah menjadi informasi. Jika jumlah penerbangan setiap pilot dikalikan dengan upah per penerbangan akan menghasilkan pendapatan kotor pilot. Jika angka-angka pendapatan kotor tiap pilot dijumlahkan, hasil penjumlahan tersebut adalah total biaya gaji plilot bagi perusahaan. Jumlah biaya gaji dapat menjadi informasi bagi pemilik perusahaan. 2.2 Teori-Teori Khusus 2.2.1 Database Application Life Cycle Menurut Connolly dan Begg (2002, p271), sistem database merupakan bagian penting bagi sistem informasi perusahaan, dengan demikian Daur pembuatan (lifecycle) dalam aplikasi database sering dihubungkan dengan lifecycle dalam sistem informasi. 13 Tahapan dalam database application lifecycle adalah tidak sepenuhnya harus berurutan, namun dapat berulang kembali ke tahapan sebelumnya, contohnya adalah ketika sudah memulai masuk ke tahapan mendesain database namun ada keterangan yang kurang, sehingga harus dilakukan kembali tahapan analisa kebutuhan. Jadi dapat dikatakan bahwa database application lifecycle adalah tahapan dalam mengembangkan sistem aplikasi database. Lifecycle dalam aplikasi database akan menjadi kompleks jika aplikasi sistem database yang akan dibuat mempunyai skala menengah atau besar, karena sistem harus dapat mengatasi berbagai kebutuhan user yang banyak, ratusan query, dan banyaknya program aplikasi, yang membutuhkan berbagai proses pengulangan dalam lifecycle untuk menganalisa, mengenali kebutuhan user, merancang kembali, dan banyak lagi. Namun untuk aplikasi sistem database yang kecil, prosesnya diharapkan untuk tidak terlalu rumit. Berikut adalah gambar skema tahapan database application lifecycle beserta penjelasannya. 14 Perencanaan Database Definisi Sistem Analisa Kebutuhan Perancangan Database Desain Aplikasi Perancangan Konseptual Pemilihan DBMS (optional) Perancangan Logikal Perancangan Fisikal Prototyping (optional) Implementasi Konversi dan Memasukan Data Testing Perawatan Operasional Gambar 2.1 Repro Skema Database Application Lifecycle Sumber (Connolly, p272) 15 Keterangan dari tiap tahapan dijelaskan sebagai berikut (Connolly dan Begg, 2002, p273-p293): • Perencanaan Database Suatu kegiatan pengelolaan yang dilakukan agar tiap tahap dalam daur pembuatan dapat dijalankan secara efisien dan efektif. • Definisi Sistem Menjelaskan tentang cakupan dan batasan dari aplikasi database, dan menggambarkan kebutuhan user akan aplikasi database secara umum. • Analisa Kebutuhan Proses mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang nantinya akan didukung oleh aplikasi database, dan kemudian menggunakan informasi ini untuk mengetahui kebutuhan user terhadap sistem yang baru. • Perancangan Database Perancangan dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal. • Pemilihan DBMS Memilih DBMS yang tepat untuk mendukung aplikasi database. • Desain Aplikasi Proses mendesain user interface dan membuat program aplikasi yang digunakan untuk mengakses database. 16 • Prototyping Membuat suatu model dari aplikasi database, yang digunakan agar perancang dan pemakai bisa mengevaluasi bagaimana sistem nantinya akan berjalan dan juga melihat tampilannya. • Implementasi Merupakan wujud nyata dari database dan desain aplikasi. Implementasi database dapat dilakukan dengan menggunakan Data Definition Language dari DBMS yang sudah dipilih. Program aplikasi dapat diimplementasikan dengan menggunakan bahasa pemrograman generasi ketiga atau keempat. • Konversi dan Memasukkan Data Mentransfer semua data yang ada ke dalam database yang baru dan mengkonversi semua aplikasi agar dapat berjalan pada database yang baru. • Testing Proses menjalankan program apalikasi dengan tujuan agar menemukan kesalahan dalam program. • Perawatan Operasional Proses merawat dan mengamati sistem setelah sepenuhnya dijalankan. Ketika diperlukan permintaan baru akan dimasukkan ke dalam database melalui berbagai tahap dalam daur pembuatan atau lifecycle. 17 2.2.2 Tahapan Perancangan Database Menurut Connolly dan Begg (2002, p281-p283), terdapat tiga tahapan utama dalam merancang database, yang terdiri dari : • Perancangan Konseptual Database Tahap pertama dari perancangan database adalah perancangan konseptual, dan melibatkan pembuatan data model konseptual dari bagian organisasi yang terlibat dalam proses pemodelan. Sebuah data model dibuat dari informasi yang didapat dari dokumentasi kebutuhan pemakai. Perancangan konseptual harus bebas dari segala detil implementasi, seperti perangkat lunak DBMS yang akan digunakan, program aplikasi, bahasa pemrograman, spesifikasi perangkat keras, dan aspek fisik yang lain. • Perancangan Logikal Database Tahap kedua dalam merancang database adalah perancangan logikal, data model konseptual yang telah dibuat pada tahapan perancangan sebelumnya disempurnakan dan dipetakan menjadi data model logikal. Data model logikal didasarkan pada data model yang dipakai untuk database yang dibuat (contohnya, data model relasional). Model logikal dibuat dengan mengetahui data model dari DBMS yang akan dipakai, jadi dengan kata lain struktur dari DBMS yang akan dipakai sudah diketahui, seperti relasional, jaringan, hirarki, atau object oriented, walaupun begitu dalam perancangan logikal harus diabaikan tentang memilih DBMS, semua detail fisik, dan struktur penyimpanan. Data model logikal merupakan sumber informasi untuk tahap berikutnya. 18 • Perancangan Fisikal Database Tahap yang terakhir adalah perancangan fisikal, pada tahap ini perancang database akan memutuskan bagaimana database akan diimplementasi. Tujuan utama dari perancangan fisikal adalah untuk menjelaskan bagaimana mengimplementsi secara fisik sebuah data model logikal, untuk model relasional meliputi : o Membuat tabel relasional o Menentukan struktur penyimpanan data, akses ke data yang disimpan agar didapat performa yang maksimal dari sistem database o Membuat desain keamanan untuk sistem 2.2.3 Normalisasi Menurut M. Subekti (1997, p85), suatu desain database harus memenuhi kondisi tidak mengandung anomali yaitu suatu kejanggalan dari suatu penempatan atribut tertentu dari suatu obyek data. Tujuan lain dari normalisasi adalah mencegah adanya redudansi atau pengulangan data yang nantinya akan menghemat pemakaian tempat pada penyimpanan. (Connoly dan Begg, 2002, p377). Proses dalam normalisasi menurut Connolly dan Begg (2002, p387-p411), terbagi menjadi beberapa tahapan yaitu : 19 • Unnormalized Form (UNF) Suatu tabel dikatakan sebagai bentuk yang unnormalized bila di dalammnya terdapat kelompok berulang atau biasa dikenal repeating group, untuk lebih jelasnya dapat dilihat contoh tabel pada tabel 2.1. NilaiMahasiswa Nim Nama Alamat Kecamatan KdPos Kd_Mtk Matakuliah Sks Nilai 0600666111 Benni Jl. Satu Sukapura 14142 G0602 Bahasa Inggris III 1 C T0992 Kalkulus I 2 B T1212 Algoritma 2 B CB112 Character Building 1 A G0602 Bahasa Inggris III 1 C T2396 Pemrograman Web 2/1 A G0602 Bahasa Inggris III 1 B T0992 Kalkulus I 2 B 0600123321 060025671 Juwita Ruli Jl. Dua JL. Tiga Sunter 14146 Manggarai 14132 Tabel 2.1 Tabel dalam bentuk Unnormalized • Normalisasi Data Pertama (First Normal Form / 1NF) Untuk mengubah bentuk Unnormalized Form menjadi 1NF, yang harus dilakukan adalah mengidentifikasi dan menghilangkan kelompok berulang, agar setiap pertemuan antara baris dan kolom berisi satu dan hanya satu nilai. Dilihat dari contoh bentuk unnormalized sebelumnya, dapat diidentifikasi kelompok berulang sebagai berikut : Kd_Mtk, Matakuliah, SKS, Nilai. Hasil dari bentuk 1NF dapat dilihat dalam tabel 2.2 NilaiMahasiswa Nim Nama Alamat KdPos Kecamatan Kd_Mtk Matakuliah Sks Nilai 0600666111 Benni Jl. Satu 14142 Sukapura G0602 Bahasa Inggris III 1 C 0600666111 Benni Jl. Satu 14142 Sukapura T0992 Kalkulus I 2 B 0600666111 Benni Jl. Satu 14142 Sukapura T1212 Algoritma 2 B 20 0600123321 Juwita Jl. Dua 14146 Sunter CB112 Character Building 1 A 0600123321 Juwita Jl. Dua 14146 Sunter G0602 Bahasa Inggris III 1 C 0600123321 Juwita Jl. Dua 14146 Sunter T2396 Pemrograman Web 2/1 A 060025671 Ruli JL. Tiga 14132 Manggarai G0602 Bahasa Inggris III 1 B 060025671 Ruli JL. Tiga 14132 Manggarai T0992 Kalkulus I 2 B Tabel 2.2 Tabel dalam bentuk 1NF • Normalisasi Data Kedua (Second Normal Form / 2NF) Pada tahap normalisasi 2NF dihilangkan setiap partial dependece yang ada pada bentuk 1NF. Yang dimaksud dengan partial dependence adalah atribut non primary key yang merupakan sebagian fungsi dari primary key, atau dapat dijelaskan demikian apabila terdapat atribut - atribut dalam suatu relasi yang memiliki ketergantungan fungsional misalkan atribut A (Kd_dosen, Nm_dosen) dan atribut B (Kd_Mtk), dikatakan partial dependence apabila ada sebagian atribut dari A dihilangkan namun ketergantungan masih ada. Gambar 2.2 berikut ini memperlihatkan ketergantungan fungsional pada tabel Nilai Mahasiswa. Nim Nama Alamat KdPos Kecamatan Kd_Mtk Matakuliah Sks Nilai (Primary (Partial Dependence) (Partial Dependence) (Transitive Dependence) Gambar 2.2 Ketergantungan fungsional pada tabel NilaiMahasiswa 21 Setelah dilakukan pengiidentifikasian pada tabel NilaiMahasiswa dan ditentukan partial dependence-nya, maka dihasilkan tabel baru sebagai berikut : Mahasiswa Nim Nama Alamat KdPos Kecamatan 0600666111 Benni Jl. Satu 14142 Sukapura 0600623321 Juwita Jl. Dua 14146 Sunter 0600656711 Ruli JL. Tiga 14132 Manggarai Matakuliah Kd_Mtk Matakuliah Sks G0602 Bahasa Inggris III 1 T0992 Kalkulus I 2 T1212 Algoritma 2 CB112 Character Building 1 T2396 Pemrograman Web 2/1 NilaiMahasiswa Nim Kd_Mtk Nilai 0600666111 G0602 C 0600666111 T0992 B 0600666111 T1212 B 0600123321 CB112 A 0600123321 G0602 C 0600123321 T2396 A 060025671 G0602 B 060025671 T0992 B Tabel 2.3 Tabel dalam bentuk 2NF 22 • Normalisasi Data Ketiga (Third Normal Form / 3NF) Pada tahap normalisasi 3NF dihilangkan setiap transitive dependece yang terdapat pada bentuk 2NF. Kondisi transitive dependence dapat diterangkan sebagai berikut: misalkan terdapat atribut A, B, dan C yang mempunyai relasi A → B dan B → C, C adalah transitive dependence terhadap A melalui B. Dalam contoh diatas pada tabel Mahasiswa yang mempunyai atribut Nim, Nama, Alamat, KdPos, Kecamatan atribut Nim dapat mengakses atribut Kecamatan melalui KdPos. Maka dengan menghilangkan transitive dependence didapat tabel baru yaitu : Mahasiswa Nama Alamat KdPos 0600666111 Benni Jl. Satu 14142 0600623321 Juwita Jl. Dua 14146 0600656717 Ruli JL. Tiga 14132 Nim Kd_Mtk Matakuliah Matakuliah Sks G0602 Bahasa Inggris III 1 T0992 Kalkulus I 2 T1212 Algoritma 2 CB112 Character Building 1 T2396 Pemrograman Web 2/1 NilaiMahasiswa Nim Kd_Mtk Nilai 0600666111 G0602 C 0600666111 T0992 B 0600666111 T1212 B 0600123321 CB112 A 23 0600123321 G0602 C 0600123321 T2396 A 060025671 G0602 B 060025671 T0992 B Wilayah KdPos Kecamatan 14142 Sukapura 14146 Sunter 14132 Manggarai Tabel 2.4 Tabel dalam bentuk 3NF Proses normalisasi secara umum dilakukan sampai ke tahap 3NF karena sudah tidak terdapat data redudansi, dan anomali yang ada sudah sangat sedikit. • Normalisasi Data Boyce – Codd (Boyce – Codd Normal Form / BCNF) Sebuah tabel relasi dikatakan BCNF jika dan hanya jika semua determinan adalah candidate key. Perbedaan antara bentuk 3NF dan BCNF adalah pada 3NF bila terdapat ketergantungan fungsional A→ B, diijinkan jika B adalah primary key dan A bukan candidate key, sedangkan pada BCNF A haruslah candidate key. • Normalisasi Data Keempat (Fourth Normal Form / 4NF) Normalisasi 4NF adalah relasi BCNF yang tidak mengandung Multi Valued Dependencie(MVD). MVD dapat diterangkan sebagai berikut: terdapat ketergantungan antara atribut-atribut (A, B, dan C) dalam sebuah relasi, dimana 24 setiap nilai dari A terdapat suatu set nilai B dan set nilai C namun atribut B dan C saling independen satu sama lain. 2.2.4 Entity Relationship Modelling Menurut Connolly dan Begg (2002, p330), salah satu aspek yang sulit dalam perancangan database adalah bahwa perancang, programmer, dan end-user cenderung melihat data dengan cara yang berbeda. Oleh karena itu untuk memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan oleh perusahaan dibutuhkan sebuah komunikasi yang non-teknis dan bebas dari kebingungan. 2.2.4.1 Entity Type Tipe Entity (entity type) adalah sebuah kumpulan (group) dari objek dengan sifat (properties) yang sama, dan keberadaannya tidak tergantung (independent existence). Sebuah tipe entity memiliki keberadaannya yang bebas dan bisa menjadi objek dengan fisik (atau ‘real’) atau menjadi objek dengan keberadaan konseptual (atau ‘abstrak‘). Artinya perancang yang berbeda mungkin mengindentifikasikan entity yang berbeda pula. Sebuah database biasanya berisi banyak tipe entity yang berbeda. Dalam UML, huruf pertama dari nama entity diawali dengan huruf kapital. Entity occurrence adalah sebuah indentifikasikan dari sebuah tipe entity. objek unik yang dapat di 25 Gambar 2.3 Contoh tipe entity Sumber (Connoly dan Begg, 2002, p333) 2.2.4.2 Relationship Adalah sejumlah hubungan yang berarti antara tipe entity yang satu dengan tipe entity yang lainnya, dimana setiap tipe relationship diberi nama yang menggambarkan fungsi yang berbeda. Derajat dari relationship adalah jumlah dari partisipasi tipe entity dalam sebuah tipe relationship tertentu. Entity yang berkaitan dalam sebuah tipe relationship disebut participant dan jumlah participant dalam relationship disebut sebagai derajat relasi. Untuk sebuah relationship berderajat dua disebut binary, relationship berderajat tiga disebut dengan tenary, dan relationship berderajat empat disebut quartenary. Gambar 2.4 Contoh binary Relationship Sumber (Connolly dan Begg, 2002, p335 ) 26 Gambar 2.5 Contoh Tenary Relationship Sumber (Connolly dan Begg, 2002, p335 ) Gambar 2.6 Contoh Quartenary Relationship Sumber (Connolly dan Begg, 2002, p335 ) 2.2.4.3 Atribute and Key Atribut adalah sifat dari sebuah entity atau tipe relationship. Sifat tertentu inilah yang disebut sebagai atribut. Atribut menyimpan nilai dari setiap entity occurrence dan merupakan bagian utama dari data yang disimpan dalam database. Attribute Domain adalah sejumlah nilai yang diperkenankan oleh satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. 27 Simple Attribute atau disebut sebagai atomic attribute adalah sebuah susunan atribut dari komponen tunggal (single component) yang keberadaannya bebas (independent existence). Simple attribute tidak bisa lagi dipecah kedalam komponen yang lebih kecil lagi misalnya posisi dan gaji dari entity pegawai. Single Value Attribute (atribut nilai tunggal) adalah attribute yang hanya menyimpan nilai tunggal untuk suatu sifat dari entity. Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entity. Contoh atribut telepon pada entity kantor cabang (branch) yang bisa memiliki lebih dari satu nomor telepon. Derived Attribute (atribut turunan) adalah nilai suatu atribut diperoleh dari atribut yang saling berhubungan atau kumpulan atribut yang saling berhubungan. Candidate key adalah sejumlah kecil atribut yang secara unik mengenali setiap kejadian (occurrence) didalam tipe entity. Sebuah candidate key adalah jumlah atribut yang paling sedikit nilainya secara unik mengindentifikasikan setiap entity occurrence atau memiliki nilai yang berbeda oleh setiap entity occurrence pada tipe entity tertentu. Hal ini mengisyaratkan bahwa candidate key tidak boleh bernilai null. 28 Primary key adalah candidate key yang digunakan untuk mengenali secara unik setiap occurrence dari sebuah tipe entity. Entity tipe mungkin memiliki lebih dari satu candidate key. Pemilihan primary key berdasarkan pada pertimbangan panjang atribut (attribute length), jumlah minimal dari kebutuhan atribut dan seterusnya keunikannya. Candidate key yang tidak terpilih sebagai primary key disebut alternate key. Foreign key adalah attribute pada satu relasi yang cocok pada candidate key dari beberapa relasi. Gambar 2.7 Contoh Representasi Atribut Sumber (Connoly dan Begg, 2002, p342) 2.2.4.4 Structure and Constraint Constraint harus mencerminkan pembatasan (testricion) pada relationship sebagai perkalian (perceived) didalam kenyataan (real-world). Tipe utama dari constraint di dalam relationship disebut multiplicity. 29 Multiplicity adalah jumlah (disebut juga jangkauan atau range) kemungkinan occurrence dari sebuah entity yang bisa menghubungkan suatu occurrence tunggal dari hubungan entity melalui relationship tertentu. Multiplicity constraint adalah jalan dimana entity dihubungkan. Ini adalah sebuah representasi dari aturan bisnis (business rules) yang ditetapkan perusahaan. Seperti yang telah disebutkan sebelumnya bahwa relasi berderajat dua disebut binary, umumnya binary relationship bisa ditunjukan sebagai hubungan one to one (1 : 1), one to many (1 : *), atau many to many (* : *). Multiplicity mengandung dua constraint yang dipisahkan, yang dikenal sebagai cardinality dan participation. Cardinality menggambarkan jumlah maksimum kemungkinan relationship occurrence untuk sebuah entity pengikut-sertaan (entity participation) dalam relationship yang diberikan. Participation adalah menetapkan semua atau beberapa occurrence yang diikutsertakan dalam sebuah tipe relationship. Sebuah participation constraint yang menunjukan semua entity occurrence terkait dalam relationship tertentu disebut sebagai mandatory participation. Sedangkan yang hanya menunjukan beberapa disebut optional participation. 30 Gambar 2.8 Contoh one to one (1:1) Relationship Sumber (Connoly dan Begg, 2002, p346) Gambar 2.9 Contoh One to Many (1 : *) Representasi Sumber (Connolly dan Begg, 2002, p347) Gambar 2.10 Contoh Many to Many (* : *)Representasi Sumber (Connolly dan Begg, 2002, p348) 31 Gambar 2.11 Contoh Multiplicity yang ditunjuk dengan Cardinality Constraint dan Participation Constraint Sumber (Connolly dan Begg, 2002, p351) Cara alternatif menggambar Arti multiplicity constraint 0..1 Nol atau satu entity occurrence 1..1 ( atau 1) Tepatnya hanya satu entity occurrence 0..* (atau *) Nol atau banyak entity occurrence 1..* satu atau banyak entity occurrence 5..10 Minimum 5 dan maksimum 10 entity occurrence 0,3,6-8 Nol atau tiga atau enam,tujuh atau delapan entity occurrence Tabel 2.5 Ringkasan cara alternate menggambarkan multiplicity constraint Sumber (Connolly dan Begg, 2002, p350) 32 2.2.4.5 Integrity Constraint Integrity constraint merupakan batasan yang kita inginkan untuk mencegah database tidak konsisten. Integrity constraint dibagi menjadi empat bentuk dasar yaitu : 1.) Require Data, beberapa atribut harus selalu mengandung nilai yang valid, dengan kata lain tidak boleh mengandung nilai null. 2.) Atribut Domain Constraint, setiap atribut mempunyai domain sendiri, yaitu sekumpulan nilai yang sah untuk suatu atribut contohnya, pada nilai atribut jenis kelamin hanya terdiri dari “p” dan “l”. 3.) Entity Integrity, primary key dari sebuah entity tidak boleh mengandung nilai null. Setiap baris harus mempunyai sebuah primary key. 4.) Referential Integrity, sebuah foreign key menghubungkan setiap baris di dalam relasi anak kepada baris dalam relasi induk yang mengandung nilai candidate key yang cocok. Secara umum ada dua kondisi pada hubungan child pada relationship : - Mandatory, null tidak diijinkan - Optional, null diijinkan Contoh pada hubungan 1…* jika baris parent dihapus, maka ada beberapa strategi yang mempengaruhi nilai child, yaitu : - No action, jika baris parent dihapus maka nilai child tidak terjadi apaapa atau tidak ada perubahan. - Cascade, jika baris parent dihapus maka nilai child dihapus - Set null, jika baris parent dihapus maka nilai child di set null 33 - Set default, jika baris parent dihapus maka nilai child ikut berubah sesuai nilai default yang sudah diatur - No check, jika baris parent dihapus maka tidak dilakukan pengecekan pada nilai childnya. 2.2.5 Database Management System (DBMS) DBMS adalah sistem software yang memungkinkan user untuk mendefinisikan, membuat, dan memelihara database dan menyediakan kontrol akses untuk database ini. Fungsi-fungsi DBMS menurut Connolly dan Begg (2002, p48 – p52) adalah : • Data storage, retrieval, dan update DBMS harus menyediakan user dengan kemampuan untuk menyimpan, mengambil kembali, dan memperbaharui data pada database. Dalam menyediakan fungsi ini, DBMS sebaiknya menyembunyikan detil implementasi fisik internal (seperti organisasi file dan struktur penyimpanan) dari user. • A user-accesible catalog DBMS harus menyediakan suatu katalog yang menggambarkan data item yang tersimpan dan bisa diakses oleh user. Sistem katalog yang disebut juga metadata adalah pendeskripsian informasi dari data dalam database. Jumlah informasi dan cara informasi digunakan bervariasi dengan DBMS. 34 • Transaction Support DBMS harus menyediakan suatu mekanisme yang akan meyakinkan baik itu semua update corresponding pada pemberian transaksi yang dibuat atau tidak semua update corresponding dibuat. • Concurrency control services DBMS harus menyediakan suatu mekanisme untuk meyakinkan bahwa database diperbaharui secara benar ketika multiple user memperbaharui database secara bersamaan. • Recovery services DBMS harus menyediakan suatu mekanisme untuk memulihkan database pada saat database menjadi rusak dalam banyak cara. • Authorization services DBMS harus menyediakan suatu mekanisme untuk meyakinkan bahwa hanya ada satu user yang diijinkan, dapat mengakses database. • Support for data communication DBMS harus dapat mengintegrasikan dengan software komunikasi. • Integrity services DBMS harus menyediakan suatu pengertian untuk meyakinkan bahwa baik itu data dalam database dan perubahan pada data diikuti beberapa peraturan. 35 • Services to promote data independence DBMS harus mengikutsertakan fasilitas untuk mendukung kemandirian program dari struktur database yang sebenarnya (aktual). • Utility services DBMS harus menyediakan sebuah set dari utility services. Utility program membantu DBA untuk mengadministrasi database secara efektif. Keuntungan DBMS menurut Connolly dan Begg (2020, p25) sebagai berikut : • Data dapat digunakan bersama • Redudansi Data bisa dikurangi • Ketidakkonsistenan Data dapat dihindari • Integritas Data dapat terpelihara • Keamanannya Terjamin • Kebutuhan User Yang Kompleks Dapat Teratasi • Pelaksanaan Standarisasi • Produktivitas meningkat • Layanan Back up dan Recovery yang Semakin Baik 36 Kerugian DBMS menurut Connolly dan Begg (2020, p29) sebagai berikut : • Rumit Karena penetapan fungsi dari DBMS yang baik, menyebabkan DBMS menjadi software yang cukup rumit. Seluruh user harus mengetahui fungsifungsi yang ada dengan baik, sehingga dapat memperoleh manfaatnya. • Ukuran Kerumitan dan banyaknya fungsi yang ada menyebabkan DBMS memerlukan banyak software pendukung yang mengakibatkan penambahan tempat penyimpanan dan memory. • Biaya dari DBMS • Biaya penambahan Hardware • Biaya untuk Konversi • Kinerja Pada dasarnya DBMS dibuat untuk menyediakan banyak aplikasi, akibatnya mungkin beberapa aplikasi akan berjalan tidak seperti biasanya. • Akibat yang lebih besar dari suatu kesalahan Karena sistem yang terpusat, jika seluruh user dan aplikasi terakses dari DBMS maka kerusakan pada bagian manapun dari sistem, akan menyebabkan operasi terhenti. 37 2.2.6 Structure Query Language (SQL) Menurut Connolly dan Begg (2002, p111-p112), idealnya, database language dapat memungkinkan user untuk : • Membuat struktur relasi dan database; • Melakukan operasi penyisipan (insertion), perubahan (modification) dan penghapusan (deletion) data dari relasi; • Melakukan query simple dan kompleks. Database language harus melaksanakan operasi-operasi tersebut dengan usaha minimal yang dilakukan user dan sintaks atau struktur instruksi harus mudah dipahami atau dipelajari. Harus portable sehingga memungkinkan untuk pindah dari satu DBMS ke DBMS lainnya. SQL merupakan sebuah contoh dari transform-oriented language, sebuah bahasa yang di desain untuk menggunakan relasi untuk mengubah input menjadi output yang diperlukan. SQL mempunyai 2 komponen utama sebagai berikut: • DDL untuk definisi struktur database dan mengkontrol akses pada data. a. Create Table Digunakan untuk membuat tabel baru. Table berbentuk dua dimensi yaitu berupa baris atau row dan kolom atau atribut. Sintaks: Create Table Table_Name (Column_Name [,Column_name] [,Primary_Key_Definition] [,Foreign_Key_Definition]) 38 b. Alter Table Digunakan untuk mengubah struktur table, bisa untuk menambahkan kolom baru, mengubah standar dari suatu kolom, dan juga menghapus suatu kolom. Sintaks: Alter Table Table_name add | drop column_name data_type c. Drop Table Digunakan untuk menghapus tabel yang sudah ada. Sintaks: Drop Table Table_Name • DML untuk pengambilan (retrieving) dan perubahan (updating) data. a. SELECT Digunakan untuk mengambil baris dan kolom dari suatu table database. Sintaks: SELECT select_list [INTO new_table] FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression] b. INSERT Digunakan untuk menyisipkan satu baris baru ke dalam suatu tabel database. Sintaks: INSERT INTO Table_Name (Column_Name [,Column_Name]) VALUES (Column_Value [,Column_Value]) 39 c. UPDATE Digunakan untuk memperbaharui nilai dari suatu baris dalam suatu tabel database. Sintaks: UPDATE Table_Name SET (Table_Name.Column_Name = New_Value [,Table_Name.Column_Name = New_Value] ] ) WHERE search_condition d. DELETE Digunakan untuk menghapus satu atau beberapa atau semua baris dalam suatu tabel database. Sintaks: DELETE FROM Table_Name WHERE search_condition Sampai dengan SQL3, SQL tidak mengandung perintah alih kontrol. Hal ini diimplementasikan dengan menggunakan bahasa pemrograman atau perintah kontrol atau secara interaktif, sesuai dengan keputusan user. SQL merupakan bahasa yang cukup mudah dipelajari , karena: • Merupakan bahasa non-procedural – cukup menspesifikasikan informasi apa yang dibutuhkan daripada bagaimana mendapatkannya. • Pada dasarnya mempunyai format yang bebas. • Terdiri dari bahasa inggris standar, seperti : 1) CREATE TABLE Staff (staffNo VARCHAR(5), lName ARCHAR(15), salary DECIMAL(7,2)); 2) INSERT INTO Staff VALUES (‘SG16’, ‘Brown’, 8300); 40 3) SELECT staffNo, lName, salary 4) FROM Staff WHERE salary > 10000; • Dapat digunakan oleh bermacam-macam user, termasuk DBA, manajemen, pembuat aplikasi dan user lainnya. 2.2.7 Pengertian “Asuhan Keperawatan” Asuhan Keperawatan adalah Kegiatan profesional Perawat yang dinamis, membutuhkan kreativitas dan berlaku rentang kehidupan dan keadaan.(Carpenito, 1998). Adapun tahap dalam malakukan Asuhan Keperawatan yaitu : Pengkajian, Diagnosa Keperawatan, Rencana, Implementasi, Evaluasi. (sumber : weblog oleh Munir Kamarullah, www.munir.or.id) Keperawatan dalam menjalankan pelayanan sebagai Nursing Services menyangkut bidang yang amat luas sekali, secara sederhana dapat diartikan sebagai suatu upaya untuk membantu orang sakit maupun sehat dari sejak lahir sampai meningal dunia dalam bentuk peningkatan Pengetahuan, kemauan dan kemampuan yang dimiliki, sedemikian rupa sehingga orang tersebut dapat secara optimal melakukan kegiatan sehari-hari secara mandiri tanpa memerlukan bantuan dan ataupun tergantung pada orang lain (Sieglar cit Henderson, 2000). (sumber : weblog oleh Munir Kamarullah, www.munir.or.id) 2.2.8 Tujuan “Asuhan Keperawatan” Proses keperawatan juga ditujukan untuk memenuhi tujuan asuhan keperawatan, yaitu: untuk mempertahankan keadaan kesehatan pasien yang optimal, 41 dan, jika pernyataan tersebut berubah, untuk membuat suatu jumlah dan kualitas tindakan keperawatan terhadap kondisinya guna kembali ke keadaan yang normal. Jika kesehatan yang optimal tidak dapat tercapai, proses keperawatan harus dapat memfasilitasi kualitas kehidupan yang maksimal berdasarkan keadaannya untuk mencapai derajat kehidupan yang lebih tinggi selama hidupnya. 2.2.9 Critical Success Factor Critical Success Factor (CSF) adalah bidang-bidang terbatas yang apabila hasilnya memuaskan akan memastikan kinerja yang kompetitif untuk individu, departemen, atau organisasi. CSF merupakan bidang-bidang kunci dimana segala sesuatunya harus berjalan dengan benar demi lancarnya bisnis dan tercapainya tujuan manajer. (Martin, 1990, p89) CSF berbeda dengan objectives (tujuan) atau goal (sasaran), Berikut ini adalah definisi masing-masing : • Objectives (tujuan). Tujuan adalah pernyataan umum tentang arah perusahaan, tanpa menyatakan target khusus yang harus dicapai pada waktu tertentu. • Goals (sasaran). Sasaran adalah target khusus yang cenderung harus dicapai pada waktu tertentu. Sasaran pada prinsipnya adalah transformasi operasi dari satu atau lebih objectives. • Critical Success Factors (CSF). CSF adalah satu atau beberapa aktivitas perusahaan yang keberhasilannya akan mempengarungi keseluruhan keberhasilan perusahaan. CSF adalah area kunci dimana “sesuatu harus benar” 42 agar bisnis dan tujuan dari manajer dapat dicapai. Jadi dapat dikatakan bahwa sebuah perusahaan dikatakan berhasil jika faktor-faktor yang ada dalam CSF terpenuhi. Hubungan antara ketiganya dapat dijabarkan sebagai berikut. Sasaran manajer adalah target yang akan dituju. CSF adalah faktor-faktor yang paling mempengaruhi sukses atau gagalnya sasaran perusahaan. Sasaran adalah gambaran tujuan yang mempunyai target; CSF adalah apa yang harus dikerjakan untuk mencapai sasaran. Analisis CSF dan pengaruh dari analisis CSF Menurut Martin (1990, p19), analisis CSF mengidentifikasi area yang paling kritis untuk suksesnya perusahaan. CSF dirancang untuk memfokuskan perhatian manajemen pada hal-hal yang paling kritis untuk diselesaikan. Analisis CSF mengidentifikasi keputusan kritis dan informasi kritis, dan seharusnya dilanjutkan dengan membangun sistem informasi yang sesuai. Analisis CSF cenderung mempunyai 2 efek untuk manajemen (Martin, p88). Pertama, CSF membantu manajemen untuk fokus pada aktivitas-aktivitas yang paling penting. Kedua, CSF membantu manajemen berpikir melalui kebutuhan informasinya. CSF membantu perencana sistem informasi untuk mengidentifikasi informasi yang kritis dan memberikan kepada manajemen yang memerlukannya. Hasil dari analisis CSF sangat berguna, karena hasil tersebut membuat mekanisasi kontrol manusia menjadi lebih baik dan meyebabkan perusahaan fokus terhadap apa yang paling kritis atau yang paling penting bagi perusahaan. Dengan CSF alokasi sumber daya dapat ditingkatkan, khususnya waktu dari manajemen.