BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Data 2.1.1.1 Pengertian Data Menurut Whitten (2004, p27) data adalah Raw Fact tentang orang, tempat, acara, dan sesuatu yang penting bagi perusahaan. Menurut Turban, Efraim (2004, p14) data adalah bentuk referensi yang jamak meskipun biasanya data merepresentasikan bentuk singular maupun plural dimana data merupakan bahan mentah atau observasi yang secara khusus tentang fenomena khusus atau transaksi bisnis. 2.1.1.2 Pengertian Basis data Menurut Thomas Connolly dan Carolyn Begg (2010, p65), basis data adalah sekumpulan data yang berelasi secara logikal dan deskripsi dari data dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Menurut Raghu Ramakhrisnan dan Johannes Gehrke (2003, p4) basis data adalah kumpulan dari data, biasanya 9 10 menggambarkan aktivitas dari satu atau banyak organisasi yang terhubung. 2.1.1.3 Pengertian Sistem Basis Data Menurut Date (2000, p5), pada dasarnya sistem basis data adalah sebuah sistem penyimpanan record terkomputerisasi yang tujuan keseluruhannya untuk menyimpan dan mengijinkan user untuk mengambil dan merubah informasi sesuai dengan kebutuhannya. 2.1.1.4 Bahasa Sistem Basis Data 2.1.1.4.1 Data Definition Language (DDL) Menurut Thomas Connolly dan Carolyn Begg (2010, p92) Data Definition Language (DDL) adalah sebuah bahasa yang mengijinkan Database administrator (DBA) atau pengguna untuk menjelaskan dan memberi nama kepada entitas, atribut, dan hubungan yang diperlukan untuk aplikasi, secara bersamaan dengan associated integrity dan security constraint. 2.1.1.4.2 Data Manipulation Language (DML) Menurut Thomas Connolly dan Carolyn Begg (2010, p92), Data Manipulation Language adalah sebuah bahasa yang 11 menyediakan satu set operasi untuk mendukung dasar dari operasi manipulasi data pada data yang disimpan pada basis data. 2.1.2 Manajemen Sistem Basis Data (DBMS) 2.1.2.1 Pengertian DBMS Menurut Thomas Connolly dan Carolyn Begg (2010, p66), DBMS adalah sebuah sistem software yang memungkinkan penggunanya untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses ke basis data. 2.1.2.2 Fungsi DBMS Menurut Thomas Connolly dan Carolyn Begg (2010, p99) Fungsi DBMS adalah: - Menyimpan, memperoleh, dan mengupdate data. - Sebuah katalog yang bisa diakses oleh pengguna. - Mendukung transaksi. - Layanan kendali concurrency. - Layanan Recovery. - Layanan authorisasi. - Mendukung data komunikasi. 12 - Layanan integrity. - Layanan untuk promote data indepencene. - Layanan utility. 2.1.2.3 Fasilitas DBMS Menurut Connolly dan Begg (2010, p66) DBMS menyediakan pengendalian akses ke basis data yaitu : - Sistem keamanan yang mencegah pemakai yang tidak memiliki hak akses untuk mengakses basis data. - Integrity system yang menangani konsistensi data yang telah disimpan. - Sistem concurrency control yang mengijinkan untuk berbagi akses dari basis data. - Recovery control system yang memperbaiki basis data menjadi seperti sebelumnya yang disebabkan karena adanya kegagalan yang terjadi pada perangkat keras atau perangkat lunak. - User-accessible catalog yang berisi tentang deskripsi dari data-data yang telah tersimpan dalam basis data . 2.1.2.4 Komponen Lingkungan DBMS 13 Menurut Thomas Connolly dan Carolyn Begg (2010, p68) komponen lingkungan DBMS terdiri dari : - Hardware DBMS dan aplikasi memerlukan hardware agar dapat dijalankan. Beberapa DBMS hanya dapat bekerja pada hardware atau sistem operasi tertentu. DBMS juga membutuhkan sejumlah minimum dari main memory dan space disk untuk bekerja. - Software Komponen software terdiri dari software DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk network software jika DBMS digunakan pada jaringan. - Data Mungkin, komponen yang paling penting dari lingkungan DBMS dari pandangan end-user adalah data. Data bertindak sebagai jembatan antara komponen mesin dan komponen manusia. Basis data memiliki baik data operasional dan meta-data. - Prosedur 14 Prosedur merujuk pada instruksi dan peraturan yang mengatur rancangan dan kegunaan dari basis data. Pengguna dari sistem dan staff yang mengatur basis data memerlukan dokumentasi prosedur tentang bagaimana menggunakan atau menjalankan sistem. - Manusia Komponen Manusia terdiri dari : - Data administrator adalah orang yang bertanggung jawab untuk pengaturan dari sumber data, termasuk perencanaan basis data, pengembangan dan pemeliharaan, kebijakan dan prosedur, dan desain konseptual / logikal basis data. - Database administrator adalah orang yang bertanggung jawab untuk realisasi fisikal dari basis data, termasuk desain fisikal basis data dan implementasi, kontrol keamanan dan integritas, memelihara sistem operasional, memastikan kepuasan pengguna untuk performa dari aplikasi. - Database designer terbagi menjadi dua yaitu logical database designer dan physical database designer. 15 - Logical database designer adalah orang yang mengidentifikasi data (entitas dan atribut), hubungan antar data, constraint data yang disimpan dalam basis data. Logical database designer menyeluruh dan mengerti harus memiliki secara sepenuhnya tentang data organisasi dan constraint dari data (constraint ini terkadang disebut dengan peraturan bisnis). Peraturan bisnis menggambarkan karakteristik utama dari data yang dilihat oleh perusahaan. - Physical database designer adalah orang memutuskan bagaimana basis data logikal direalisasikan secara fisikal 2.1.2.5 Keuntungan dan Kelemahan DBMS 2.1.2.5.1 Keuntungan DBMS Menurut Connolly dan Begg (2010, p77-80) Database Management System (DBMS) dijanjikan memiliki keuntungan yang potensial. Berikut ini merupakan keuntungan DBMS antara lain: a. Mengontrol penduplikasian data Pendekatan basis data melakukan percobaan untuk menghilangkan data yang redudansi dengan 16 mengintegrasikan file-file sehingga data-data yang sama tidak disimpan di dalam basis data. b. Data yang konsisten Dengan menghilangkan atau mengontrol data yang redundansi, sudah mengurangi resiko data yang tidak konsisten. Apabila data yang disimpan hanya sekali dalam basis data, maka data yang diperbaharui juga hanya sekali dan nilainya dapat digunakan oleh semua pemakai. c. Informasi yang lebih dari jumlah data yang sama Operasional data memungkinkan organisasi untuk mendapat tambahan informasi dari data yang sama setelah data tersebut diintegrasikan. d. Membagi data Basis data tidak lagi hanya dimiliki oleh departemen atau bagian tertentu saja, tetapi basis data menjadi milik organisasi dan bisa diberikan kepada semua pemakai. e. Meningkatkan kesatuan data Kesatuan data menunjukan bahwa data yang disimpan adalah valid dan konsisten. Kesatuan 17 mengijinkan DBA untuk menetapkan batasan kesatuan itu sendiri, dan DBMS menjalankan semua data tersebut. f. Meningkatkan keamanan Keamanan basis data melindungi basis data dari orang-orang yang tidak mempunyai hak akses terhadap basis data tersebut. g. Meningkatkan standar Integrasi mengijinkan DBA untuk mendefinisikan dan DBMS kebutuhan untuk yang menjalankan standard. kebutuhan- Kebutuhan yang standard ini terdiri dari sebuah standar format data dari departemen, organisasi nasional, maupun internasional seperti fasilitas perubahan data, penamaan, dan perubahan prosedur. h. Economy of scale Penghematan biaya bisa dilakukan dengan menggabungkan semua data operasional suatu organisasi ke dalam satu basis data, dan membuat aplikasi yang bekerja dengan satu sumber data saja. 18 i. Menyeimbangkan kebutuhan masalah Database administrator (DBA) akan membuat keputusan tentang rancangan dan penggunaan basis data secara operasional yang menyediakan kebutuhan yang terbaik untuk seluruh organisasi. j. Meningkatkan pengaksesan data Banyak DBMS yang menyediakan bahasa query atau laporan penulis yang memungkinkan pemakai untuk bertanya tentang pertanyaan-pertanyaan dan memperoleh informasi yang dibutuhkan tanpa melibatkan programmer untuk mengambil informasi tersebut dalam basis data. k. Meningkatkan produktifitas DBMS dapat menyederhanakan pengembangan dari suatu aplikasi basis data sehingga dapat meningkatkan produktivitas programmer dan mengurangi waktu pengembangan. l. Meningkatkan independen pemeliharaan melalui data 19 DBMS memisahkan deskripsi basis data dari program aplikasi, sehingga program aplikasi tidak dapat mengubah basis data. m. Meningkatkan konkurensi Seringkali lebih dari satu pemakai sering mengakses file yang sama, dengan adanya DBMS ketepatan konkurensi basis data akan diatur. n. Meningkatkan backup dan perbaikan Jika terjadi kesalahan, backup akan di restore dan pekerjaan setelah backup akan hilang. DBMS yang modern menyediakan fasilitas untuk meminimalisasikan proses-proses yang hilang yang disebabkaan karena kegagalan dalam memproses data. 2.1.2.5.2 Kelemahan DBMS Menurut Connolly dan Begg (2010, p8081) Database memiliki Management kelemahan. Berikut kelemahan DBMS antara lain: a. Kompleks System ini (DBMS) merupakan 20 DBMS merupakan bagian dari perangkat lunak yang sangat kompleks. Kesalahan terhadap pengertian sistem akan mengakibatkan rancangan keputusan yang buruk pada suatu organisasi sehingga perancang basis data dan pengembang basis data, database administrator (DA), serta enduser perlu mengerti tentang keuntungan fungsional DBMS terlebih dahulu. b. Ukuran Kompleksitas dan banyaknya kegunaan dari DBMS menjadikannya perangkat lunak yang sangat besar, sehingga memerlukan tempat penyimpanan data yang besar dan membutuhkan memori yang cukup agar berjalan secara efisien. c. Biaya Biaya yang dikeluarkan untuk bervariasi, tergantung dari DBMS sangat lingkungan kegunaan yang disediakan oleh DBMS tersebut. d. Biaya tambahan untuk perangkat keras dan 21 Kebutuhan tempat penyimpanan data untuk DBMS dan basis data mungkin mengharuskan pembelian tempat penyimpanan data tambahan. e. Biaya konversi Dalam suatu situasi tertentu, biaya untuk DBMS dan perangkat keras tambahan dapat menjadi tidak penting dibanding dengan biaya konversi dari aplikasi yang sudah ada agar dapat berjalan di DBMS dan perangkat keras yang baru. f. Performa Bagaimanapun, DBMS dibuat untuk menjadi lebih umum, agar dapat menangani banyak aplikasi daripada satu saja. Sehingga menghasilkan aplikasi yang tidak berjalan secepat yang diharapkan. g. Kemungkinan gagal yang lebih tinggi Pemusatan dari sumber kerentanan system yang daya meningkatkan dikarenakan semua pemakai dan aplikasi bergantung pada ketersediaan dari DBMS, kegagalan dari salah satu komponen dapat membuat operasi berhenti. 22 2.1.3 Tahapan Perancangan Basis Data 2.1.3.1 Tahapan Konseptual Menurut Connolly dan Begg (2010, p470-485) Langkah-langkah membangun konseptual database design yaitu : 1. Membangun data model lokal konseptual untuk setiap view 1.1 Mendefinisikan tipe entitas Cara alternatif yang dipakai adalah dengan cara mendefinisikan entitas untuk mencari objek yang dibutuhkan oleh pemakai. Pada metode ini perlu untuk mengidentifikasikan entitas-entitas yang ada untuk memeriksa keperluan pemakai secara spesifikasi. 1.2 Mendefinisikan tipe relationship Pada kenyataannya catatan keperluan yang spesifikasi adalah adanya saran untuk relationship dimana catatan-catatan tersebut penting untuk perusahaan dan akan terdapat dalam model. 1.3 Identifikasi dan asosiasi attribut dengan entitas atau tipe relationship Metode ini mengidentifikasikan tipe-tipe dari kenyataan yang ada tentang entity-entity dan relationship yang telah dipilih untuk direpresentasikan pada basis data. 1.4 Menentukan domain atribut 23 Domain merupakan kumpulan dari nilai-nilai dimana terdapat satu atau lebih atribut yang tergambar dalam nilai atribut itu sendiri. Untuk mengembangkan data model secara spesifik termasuk: -Mengijinkan kumpulan nilai untuk atribut -Ukuran dan bentuk atribut Implementasi dari karakteristik domain pada DBMS masih menjadi subjek dari penelitian. Atribut domain berisi identifikasi atribut domain tersebut, catatan nama atribut domain tersebut, dan karakteristik yang terdapat dalam kamus data. 1.5 Menentukan atribut candidate, primary, dan alternate key Pada metode ini, memilih primary key diantara candidate key sangat penting sehingga diperlukan pedoman untuk dapat membantu membedakan key tersebut. 1.6 Mempertimbangkan penggunaan konsep enhanced modeling (Optional) Pada metode ini, kita memiliki pilihan untuk melanjutkan pengembangan dari ER model menggunakan konsep modeling tingkat lanjut ( specialization, generalization, aggregation, dan compotition) 1.7 Memeriksa ulang model-model untuk redudansi 24 Pada tahap ini, perlu dilakukan pemeriksaan model konseptual data dengan objek identifikasi yang lebih spesifik dimana terdapat model yang redudansi dan menghilangkan yang ada. Tiga aktivitas yang perlu dilakukan pada langkah ini adalah - Meninjau kembali one-to-one relationship (1:1) - Menghilangkan relationship yang redudansi - Mempertimbangkan dimensi waktu 1.8 Memvalidasikan model data konseptual dengan transaksi user Pada tahap ini terdapat dua pendekatan yang mendukung model konseptual data untuk pemakaian transaksi yaitu - Menjelaskan transaksi - Menggunakan pathway transaksi 1.9 Meninjau model data konseptual dengan pemakai Pada tahap ini perlu dilakukan pengulangan dengan pemakai. model konseptual termasuk ER diagram dan mendukung dokumentasi yang menjelaskan tentang data model. Tahap ini perlu ditinjau secara berulang-ulang. Proses pengulangan ini akan berhenti apabila pemakai menyediakan model telah disetujui sehingga tidak perlu melakukan 25 pengulangan karena representasi tersebut telah disepakati bersama. 2.1.3.2 Tahapan Logikal Menurut Connolly dan Begg (2010, p490 - 460) Langkahlangkah membangun logikal database design adalah 2. Membangun data model logikal 2.1 Menurunkan relasi untuk data model logikal Tahap ini bertujuan untuk membuat relasi untuk data model logikal untuk merepresentasikan entitas, hubungan, dan atribut yang telah diidentifikasi. 2.2 Memvalidasikan relasi menggunakan normalisasi Tahap ini bertujuan untuk memvalidasi relasi pada data model logikal menggunakan normalisasi. Tujuan dari normalisasi adalah untuk memastikan bahwa set dari relasi memiliki jumlah attribut minimal yang cukup untuk mendukung kebutuhan data perusahaan. 2.3 Memvalidasikan hubungan dengan transaksi user Tahap ini diperlukan untuk memastikan hubungan pada model data logikal yang mendukung transaksi yang dibutuhkan. Pada tahap ini hubungan yang dibuat pada tahap sebelumnya dalam transaksi yang ada perlu untuk ditinjau 26 kembali sehingga dapat memastikan bahwa tidak ada kesalahan yang muncul pada saat membuat relations. 2.4 Mengecek integrity constraint Tahap ini bertujuan untuk memeriksa apakah integrity constraint terdapat pada data model logikal. Integrity constraint merupakan constraint yang menentukan penjagaan keamanan basis data dari ketidaksempurnaan, ketidakakuratan, ataupun ketidakkonsistensi. 2.5 Meninjau kembali data model lokal logikal dengan transaksi pengguna Tahap ini bertujuan untuk meninjau kembali data model lokal logikal dengan pengguna untuk memastikan data model merupakan representasi nyata dari kebutuhan data perusahaan. 2.6 Menggabungkan data model logikal ke dalam data model global (pilihan) Tujuan pada tahap ini adalah untuk menggabungkan data model lokal logikal ke dalam sebuah data model global logikal yang merepresentasikan semua user view pada basis data. Langkah – langkah pada tahap ini : 2.6.1 Menggabungkan data model lokal logikal kedalam data model global logikal 27 2.6.2 Validasi data model global logikal 2.6.3 Meninjau kembali data model global logikal dengan user. 2.7 Cek untuk perkembangan dimasa depan Tahap ini bertujuan untuk menentukan apakah ada perubahan secara besar pada masa depan dan untuk memperkirakan apakah data model logikal dapat mengakomodasi perubahan tersebut. 2.1.3.3 Tahapan Fisikal Menurut Connolly dan Begg (2010, p523 - 544) Langkahlangkah merancang basis data fisikal adalah sebagai berikut: 3. Menerjemahkan data model global logikal untuk DBMS Tujuan. 3.1 Merancang relasi dasar Mengidentifikasi logical data model pada DBMS. Untuk membuat proses rancangan fisikal, harus menyusun dan mengasilimilasi dari hubungan yang dihasilkan data model logikal. 3.2 Merancang representasi dari data turunan Langkah ini bertujuan untuk menentukan bagaimana merepresentasikan data turunan yang ada pada data model global logikal pada DBMS tujuan. 3.3 Merancang constraint perusahaan 28 Tahap ini bertujuan untuk merancang constraint perusahaan bagi DBMS tujuan. 4. Merancang organisasi file dan index 4.1 Menganalisa transaksi Tahap ini bertujuan untuk mengetahui kegunaan dari transaksi yang akan berjalan pada basis data dan untuk menganalisa transaksi yang penting. 4.2 Memilih organisasi file Tahap ini bertujuan untuk menentukan organisasi file yang efisien untuk setiap relasi dasar. 4.3 Memilih indeks-indeks Tahap ini bertujuan untuk menentukan apakah dengan menambahkan index akan meningkatkan performa dari sistem. 4.4 Memperkirakan kebutuhan disk-space Tahap ini bertujuan untuk memperkirakan jumlah dari disk-space yang akan diperlukan oleh basis data. 5. Merancang user view Dalam merancang user view yang diidentifikasi selama pengumpulan persyaratan dan menganalisis tahap-tahap pada sistem basis data. 6. Merancang mekanisme keamanan 29 Basis data merepresentasikan sumber daya yang berhubungan dengan undang-undang atau hukum yang diperlukan. Pada metode ini diperlukan dokumentasi dari keperluan sistem secara spesifik. Pada metode ini, perancang basis data harus menyadari fasilitas yang ditawarkan oleh target DBMS. Keamanan pada basis data memiliki dua tipe yaitu - Keamanan sistem yang menangani akses dan kegunaan basis data pada level sistem seperti username dan password. - Keamanan data yang menangani akses dan kegunaan objek dari basis data (seperti relation dan view) dan tindakan dari pemakai yang memiliki objek. 2.1.4 Normalisasi Menurut Connoly dan Begg (2010, p415-418) normalisasi adalah suatu teknik yang menghasilkan satu set relasi dengan properties yang diinginkan, yang memberikan kebutuhan data organisasi. Beberapa bentuk proses normalisasi tersebut adalah sebagai berikut : 2.1.4.1 Bentuk Tidak Normal (Unnormalized Form / UNF) Menurut Connolly dan Begg (2010, p430) UNF merupakan sebuah table yang berisi satu atau lebih kelompok yang berulang. 30 2.1.4.2 Bentuk Normal Pertama (First Normal Form / 1NF) Menurut Connolly dan Begg (2010, p430), bentuk normal pertama adalah sebuh relasi dimana pertemuan setiap kolom dan baris mengandung satu dan hanya satu nilai. 2.1.4.3 Bentuk Normal Kedua (Second Normal Form / 2NF) Menurut Connolly dan Begg (2010, p434) Bentuk normal kedua adalah sebuah relasi yang berada pada bentuk normal pertama dan setiap atribut non-primary key bergantung secara penuh pada primary key. Data hanya dengan satu primary key sudah langsung berada pada 2NF. 2.1.4.4 Bentuk Normal Ketiga (Third Normal Form / 3NF) Menurut Connolly dan Begg (2010, p436) bentuk normal ketiga merupakan suatu relasi yang terdapat pada bentuk normal pertama dan kedua dimana tidak terdapat atribut non primary key yang memiliki ketergantungan transitif pada primary key. 2.1.5 Model Entitas Relasional (Entity Relational Modelling) 2.1.5.1 Tipe Entitas Menurut Connolly dan Begg (2010, p372) Tipe entitas merupakan sebuah grup dari objek dengan sifat yang sama, yang diidentifikasi oleh perusahaan dan memiliki keberadaan secara mandiri. 31 Konsep dasar dari model ER adalah tipe entitas, dimana merepresentasikan sebuah grup dari “objek” pada “dunia nyata” dengan sifat yang sama. 2.1.5.2 Attribut Menurut Connolly dan Begg (2010, p379) atribut merupakan sifat-sifat (properti) dari sebuah entitas atau tipe relasi. Setiap atribut diasosiasikan dengan sebuah set dari nilai yang disebut domain. Atribut domain. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut : 1. Simple Attribute Atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi seperti jabatan, GajiKaryawan. Atribut ini dikenal juga dengan nama Atomic Attribute. 2. Composite Attribute Atribut yang terdiri dari beberapa komponen, dimana masing-masing independen. komponen Misalkan atribut NamaJalan, Kota, KodePos. 3. Single-valued Attribute memiliki Alamat keberadaan dapat terdiri yang dari 32 Atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Cabang memiliki satu nilai untuk atribut IDCabang pada setiap kejadian. 4. Multi-valued Attribute Atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misalnya entitas Branch memiliki beberapa nilai untuk atribut NoTelp pada setiap kejadian. 5. Derived Attribute Atribut yang merepresentasikan sebuah nilai yang dapat diturunkan dari nilai sebuah atribut yang saling berhubungan atau satu set dari atribut. 2.1.5.3 Tipe-Tipe Relasi Menurut Connolly dan Begg (2010, p374) tipe relasi adalah sebuah set dari asosiasi antar tipe entitas yang berarti. Menurut Connolly dan Begg (2010, p375), Relationship occurrence adalah sebuah asosiasi unik yang diidentifikasi yang melibatkan satu kejadian dari setiap entitas yang terlibat. Terdapat tiga tipe relasi yaitu : 2.1.5.3.1 One-to-one Relationship - Menentukan Multiplicity 33 Menentukan multiplicity biasanya memerlukan pemerikasaan relasi yang akurat antara data yang diberikan pada constraint perusahaan menggunakan contoh data. - Membuat representasi dari one-to-one relationship Berikut ini merupakan contoh one-to-one relationship yaitu Relasi pasien menempati tempat tidur Pasien menempati tempat tidur Reza R1 ranjang 1 Daud R2 ranjang 2 Edward R3 ranjang 3 Gambar 2.1 Relasi one-to-one 2.1.5.3.2 One-to-many Relationship Menurut Connolly dan Begg (2010, p387-388) Langkahlangkah dalam menentukan one-to-many relationship adalah dengan cara : - Menentukan multiplicity - Membuat representasi dari one-to-many relationship 34 Berikut ini contoh one-to-many relationship yaitu Relasi pegawai yang bekerja pada departemen Pegawai bekerja departemen Reza R1 D001 Daud R2 D002 Edward R3 D003 Gambar 2.2 Relasi one-to-many 2.1.5.3.3 Many-to-many Relationship Menurut Connolly dan Begg (2010, p388-389) langkah-langkah yang perlu dilakukan dalam menentukan many-to-many relationship yaitu : - Menentukan multiplicity - Membuat representasi dari many-to-many relationship Berikut ini merupakan contoh dari many-to-many relationship yaitu Relasi pegawai yang mengerjakan proyek Pegawai Reza Edward bekerja proyek R1 P001 R2 P002 R3 P003 35 Gambar 2.3 Relasi many-to-many 2.1.5.4 Key Menurut Connolly dan Begg (2010, p381) key memiliki tipe yang berbeda-beda beserta fungsinya. Tipe-tipe key yaitu 2.1.5.4.1 Candidate Key Menurut Connolly dan Begg (2010, p381) candidate key adalah sejumlah minimal atribut-atribut yang secara unik mengidentifikasi setiap kejadian pada entitas. 2.1.5.4.2 Primary Key Menurut Connolly dan Begg (2010, p381) primary key adalah suatu candidate key yang dipilih mengidentifikasikan yang terjadi pada setiap kejadian untuk atau record dari suatu entitas secara unik. 2.1.5.4.3 Composite Key Menurut Connolly dan Begg (2010, p382) composite key adalah suatu candidate key yang terdiri dari dua atau lebih atribut. 2.1.6 Entity Relationship Diagram (ERD) 36 Menurut Silberschatz, Korth, Sudarshan (2002, p27) entity adalah sebuah objek dalam dunia nyata yang dapat dibedakan dari objek lainnya. Sedangkan relationship menurut Silberschatz, Korth, Sudarshan (2002, p31) adalah asosiasi diantara beberapa entity. Jadi entity relationship diagram menurut Silberschatz, Korth, Sudarshan (2002, p42) suatu diagram yang menggambarkan keseluruhan struktural logika dari sebuah basis-data. Entity Relationship Diagram memiliki diagram yang terdiri dari beberapa komponen pokok, yaitu sebagai berikut : • Rectangles : merepresentasikan entity sets • Ellipses: merepresentasikan attribute sets • Diamond: merepresentasikan relationship sets • Lines: yang menghubungkan atribut dari sebuah entity set dengan entity set lainnya dalam sebuah relationship set • Double Ellipse: atribut yang memiliki multivalue • Dashed Ellipse: merepresentasikan atribut turunan • Double Lines: mengindikasikan total partisipasi dari sebuah entity didalam relationship set • Double Rectangle: merepresentasikan entity set yang lemah 37 2.1.7 State Transition Diagram (STD) Menurut Pressman, Roger S. (1997, p317-320) STD digunakan untuk permodelan yang berorientasi objek. state transition diagram (STD) adalah Suatu diagram transisi yang keadaan sistemnya menggambarkan keadaan dan peristiwa yang menyebabkan sistem untuk mengubah kondisi. selain itu, STD menunjukkan tindakan apa yang diambil sebagai konsekuensi dari peristiwa tertentu. STD menunjukkan bagaimana sistem bergerak dari keadaan ke keadaan lainnya. Notasi yang paling penting dari STD adalah 1. State Kumpulan kondisi atau atribut-atribut yang mencirikan benda atau orang pada waktu, keadaan dan kondisi tertentu. Keadaan dapat berarti menunggu sesuatu dari lingkungan luar dan menunggu aktivitas yang sedang berlangsung untuk berubah menjadi aktivitas yang lainnya. Notasi State 2. Transition (Perubahan) State Perubahan state diberi tanda dengan menggunakan tanda panah. Panah digunakan untuk menghubungkan perubahan dari suatu 38 kondisi, panah awal digunakan menyatakan suatu kondisi awal, sedangkan kondisi akhir digambarkan dengan panah. Kondisi Aksi Ada 2 hal yang diperlukan untuk melengkapi STD tersebut yaitu: 1. Kondisi adalah keadaan lingkungan luar yang dilakukan oleh sistem dan menyebabkan perubahan terhadap state. Contohnya berupa sinyal. 2. Aksi adalah keadaan dimana jika sistem ada perubahan state. Aksi dapat menghasilkan tampilan pesan pada layar pengguna, membuat kalkulasi dan lainnya. 2.1.8 Data Flow Diagram (DFD) Menurut Whitten (2004, p344) DFD merupakan salah satu tool yang menggambarkan aliran data yang ada dalam sistem dan suatu proses yang dilakukan oleh suatu sistem. Dalam membuat DFD maka perlu untuk mengetahui simbol-simbol yang terdapat pada DFD. Berikut merupakan simbol-simbol yang terdapat pada DFD yaitu : 1. Proses Menurut Whitten (2004, p347) proses menggambarkan apa yang dilakukan oleh sistem, yang berfungsi untuk mengolah satu atau beberapa 39 data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Gambar 2.4 Simbol Proses 2. Aliran Data Menurut Whitten (2004, p357-363) aliran data menggambarkan perpindahan informasi dari satu bagian ke bagian lain dari sistem. Awal panah menggambarkan asal data sedangkan arah panah menggambarkan tujuan. Gambar 2.5 Simbol Aliran Data 3. External Agent Menurut Whitten (2004, p363-366) external agent merupakan simbol yang menggambarkan entitas yang berada di luar sistem, dapat berupa orang, kelompok, atau organisasi yang berhubungan dengan sistem. External agent seringkali disebut sebagai external entity. Gambar 2.6 External Agent 40 4. Data Store Menurut Whitten (2004, p366-367) data store disimpan dengan tujuan akan digunakan pada masa yang akan datang. simbol ini digunakan untuk menggambarkan penyimpanan data. Proses dapat mengambil data dari atau memberikan data ke data store. Gambar 2.7 Simbol Data Store 2.1.9 Siklus hidup Pengembangan Sistem Basis Data Menurut Connolly dan Begg (2010, p313-314) siklus hidup pengembangan sistem basis data diasosiasikan dengan siklus hidup sistem informasi. Sangat penting untuk mengenali tahapan dari pengembangan sistem basis data tidak berurutan secara ketat, tetapi melibatkan beberapa perulangan dari tahap sebelumnya melalui feedback loop. 41 Database planning System definition Requirements collection and analysis Application design Prototyping (optional) Implementation Data conversion and loading Gambar 2.8 Gambar Siklus Daur Hidup Database 42 Berikut ini merupakan penjelasan dari kegiatan-kegiatan dari siklus hidup pengembangan aplikasi basis data yaitu : 2.1.9.1 Perencanaan Basis Data Menurut Connolly dan Begg (2010, p313) perencanaan basis data merupakan aktivitas-aktivitas manajemen yang memungkinkan tahap-tahap dari pengembangan siklus hidup sistem basis data direalisasikan seefisien dan seefektif mungkin. Tahap awal yang penting dalam perencanaan basis data adalah menentukan dengan jelas mission statement untuk sistem basis data. Mission statement ini menentukan tujuan utama sistem basis data. Mission Statement membantu menjelaskan tujuan sistem basis data dan menyediakan cara yang lebih jelas untuk menciptakan suatu basis data yang efektif dan efisien. Tahap selanjutnya adalah mission objective. Setiap mission objective harus mengidentifikasi tugas-tugas tertentu yang akan didukung oleh basis data. 2.1.9.2 Pendefinisian Sistem Menurut Connolly dan Begg (2010, p316) pendefinisian sistem ini bertujuan untuk menggambarkan ruang lingkup dan batasan dari sistem basis data dan view penggunan secara umum. Sebelum mencoba untuk merancang sebuah sistem basis data, sangat penting untuk mengidentifikasi batasan dari sistem 43 yang kita selidiki pertama kali. Dan bagaimana antarmuka dengan bagian lain dari organisasi sistem informasi. 2.1.9.3 Analisis dan Pengumpulan Kebutuhan Menurut Connolly dan Begg (2010, p316) Tahap ini melibatkan pengumpulan dan analisis informasi tentang bagianbagian perusahaan yang akan dilayani oleh basis data. Informasi didapatkan dari setiap user view utama, termasuk: • Deskripsi data yang digunakan dan dihasilkan. • Rincian bagaimana data digunakan dan dihasilkan. • Kebutuhan tambahan lainnya untuk aplikasi basisdata yang baru. Informasi ini kemudian dianalisis untuk mengidentifikasi kebutuhan-kebutuhan yang akan disertakan dalam aplikasi basis data yang baru. 2.1.9.4 Perancangan Basis Data Menurut Connoly dan Begg (2010, p320) perancangan basis data merupakan proses pembuatan suatu rancangan untuk basis data yang akan mendukung operasi dan objektif perusahaan untuk data yang diperlukan. Ada dua pendekatan yang dapat dilakukan dalam perancangan basis data yaitu sebagai berikut : • Bottom-up 44 Menurut Connolly dan Begg (2010, p321) pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni properti dari entity dan hubungan relasional) dimana melalui analisis gabungan antara atribut-atribut yang ada, dikelompokkan ke dalam relasi-relasi yang merepresentasikan tipe-tipe entitas dan hubungan antar entitas. Pendekatan ini lebih cocok untuk perancangan basis data yang sederhana dengan jumlah atribut yang relatif kecil. • Top-down Menurut Connolly dan Begg (2010, p321) pendekatan ini digunakan untuk perancangan basis data yang kompleks, dimulai dengan mengembangkan data model yang terdiri dari beberapa entitas dan relationship level tinggi, kemudian menerapkan perbaikan top-down secara berurutan untuk mengidentifikasi entitas, relationship, dan atribut yang dihubungkan pada level yang lebih rendah. Pendekatan top-down mengunakan konsep model Entity Relationship (ER) yang dimulai dengan menentukan entitas dan relationship antar entitas. 2.1.9.5 Pemilihan DBMS Menurut Connolly dan Begg (2010, p325-329) pemilihan DBMS merupakan pemilihan dari ketepatan DBMS yang 45 mendukung sistem basis data. Dalam memilih DBMS perlu melakukan langkah-langkah sebagai berikut : i. Mendefinisikan kerangka yang digunakan untuk acuan studi terlebih dahulu. Kerangka yang menjadi pemilihan DBMS dibangun, acuan untuk menyatakan tujuan, batasan dari pelajaran, serta tugas-tugas yang perlu untuk diambil alih. ii. Persiapan dua atau tiga produk Kriteria cenderung menjadi “penting” untuk sebuah implementasi yang bisa digunakan untuk menghasilkan sebuah daftar pendahuluan dari produk DBMS untuk evaluasi. iii. Mengevaluasi produk-produk Ada fitur yang beragam yang dapat digunakan untuk mengevaluasi sebuah produk DBMS untuk tujuan evaluasi, fitur tersebut bisa melakukan analisis secara kelompok maupun individual. iv. Merekomendasikan pilihan-pilihan menghasilkan laporan 46 Langkah terakhir dari pemilihan DBMS adalah untuk mendokumentasikan dari prosesproses dan untuk menyediakan sebuah pernyataan dari menemukan dan merekomendasikan untuk produk DBMS. 2.1.9.6 Perancangan Aplikasi Menurut Connoly dan Begg (2010, p329) pada tahap ini, akan dilakukan perancangan user interface dan program aplikasi yang digunakan dan memproses basis data. Tampilan merupakan salah satu komponen penting, karena tampilan yang akan menentukan keberhasilan penyampaian informasi kepada penggunanya. 2.1.9.7 Prototyping Menurut Connoly dan Begg (2010, p333) prototyping adalah membangun sebuah model kerja dari aplikasi basis data. Tujuan utama dari pengembangan prototype sistem basis data adalah memperbolehkan user untuk menggunakan prototype untuk mengidentifikasi fitur dari sistem yang berjalan dengan baik atau tidak memadai. Terdapat dua strategi prototyping yang digunakan yaitu: 1. Requirement prototyping 47 Requirement prototyping digunakan untuk menentukan keperluan dari tujuan sistem basis data dimana keperluan tersebut harus lengkap dan prototype harus dihilangkan 2. Evolutionary prototyping Evolutionary protoyping digunakan untuk tujuan yang sama, perbedaan yang terpenting adalah bahwa prototype tidak dihilangkan, tapi pengembangan yang lebih jauh menjadi pekerjaan sistem basis data tersebut. 2.1.9.8 Implementasi Menurut Connoly dan Begg (2010, p333-334) implementasi adalah realisasi secara fisik dari basis data dan rancangan aplikasinya, 2.1.9.9 Konversi Data dan Loading Menurut Connolly dan Begg (2010, p334) konversi data dan loading adalah mengirim semua data yang lama ke dalam basis data baru dan mengubah semua aplikasi yang ada agar dapat berjalan di basis data yang baru. Tahap ini dibutuhkan hanya ketika sistem basis data baru menggatikan sistem lama. Sekarang ini, sudah umum untuk sebuah DBMS mempunyai fungsi mengambil arsip-arsip yang ada ke dalam sistem basis data yang baru. 48 2.1.9.10 Pengujian Menurut Connolly dan Begg (2010, p334), testing adalah proses menjalankan sistem basis data dengan tujuan untuk menemukan error. Pengujian sebaiknya juga meliputi usability dari sistem basis data. Idealnya, sebuah evaluasi sebaiknya di lakukan terhadap sebuah spesifikasi usability. Kriteria untuk dapat mengevaluasi yaitu 1. Kemampuan untuk belajar 2. Tampilan suatu sistem 3. Kemandirian suatu sistem 4. Kemampuan untuk menangani pemakai yang salah 5. Kemampuan untuk beradaptasi 2.1.9.11 Pemeliharaan Operasional Menurut Connolly dan Begg (2010, p335) pemeliharaan operasional adalah proses memonitor dan memelihara sistem basis data diikuti dengan instalasi. Setelah sistem basis data beroperasi secara penuh, memonitor secara dekat memastikan performa berada pada level yang bisa diterima. Proses monitoring berlanjut melalui keseluruhan hidup dari sistem basis data dan pada suatu waktu mungkin akan menuju kepada pengorganisasian ulang dari sistem basis data untuk mendukung perubahan yang diperlukan. 49 Pada sistem ini kegiatan yang termasuk di dalamnya adalah - Memonitoring tampilan suatu sistem. Jika tampilannya gagal atau tidak diterima, memperbaiki atau re-organisasi syarat- syarat dari basis data - Pemeliharaan dan perbaruan sistem basis data. Keperluan baru yang digabungkan menuju sistem basis data. 2.2 Teori Khusus 2.2.1 Penyewaaan Menurut Surat Edaran Direktur Jendral Pajak NOMOR SE 35/PJ/2010, Sewa merupakan kesepakatan untuk memberikan hak menggunakan harta selama jangka waktu tertentu baik dengan perjanjian tertulis maupun tidak tertulis sehingga harta tersebut hanya dapat digunakan oleh penerima hak selama jangka waktu yang telah disepakati Menurut Anonymous, Penyewaan adalah suatu kesepakatan dimana sebuah pembayaran dilakukan untuk penggunaan barang, pelayanan, atau properti yang dimiliki oleh orang lain. 2.2.2 Pemeliharaan Menurut Bernard T.Lewis (1999, p1.20) istilah pemeliharaan termasuk semua yang berhubungan dengan pekerjaan terhadap 50 pemeliharaan fasilitas perlengkapan, dan sistem pada level yang memuaskan untuk menunjukkan fungsi bentuk mereka, umumnya pemeliharaan termasuk: - pencegahan dan perkiraan pemeliharaan - pemeliharaan rutin dan perbaikan tambahan - perbaikan utama - perbaikan dalam keadaan darurat - perubahan dan perbaikan untuk meningkatkan fasilitas - house keeping 2.2.3 Analisis dan Perancangan Sistem Menurut Whitten (2004, p186) analisis sistem adalah sebuah teknik pemecahan masalah yang memecahkan sebuah sistem menjadi komponen–komponen untuk tujuan pembelajaran bagaimana komponen– komponen tersebut bekerja dan berinteraksi untuk mencapai tujuannya. 2.2.3.1 Perancangan Sistem Whitten (2004, p186) perancangan system adalah teknik komplementer pemecahan masalah (yang bekerjasama dengan sistem analisis) yang menyusun kembali komponen–komponen sebuah sistem kembali ke sistem yang utuh dengan harapan 51 menghasilkan sistem yang lebih baik. Teknik ini dapat melibatkan penjumlahan, penghapusan, dan perubahan komponen-komponen terhadap sistem yang sebelumnya. 2.2.4 SQL Server Menurut Alexander F.K. Sibero (2010, p10) SQL Server adalah RDBMS (Relational Database Management System) yang dikembangkan oleh Microsoft. SQL Server dapat digunakan seperti basis data untuk kebutuhan personal. 2.2.5 Visual basic .NET Menurut Alexander F.K. Sibero (2010, p9) visual basic .NET adalah bahasa pemrograman yang dikembangkan oleh perusahaan Microsoft. Visual basic .NET merupakan pengembangan dari versi sebelumnya, yaitu visual basic 6.0. Perbedaan mendasar antara visual basic .NET dengan versi – versi sebelumnya adalah kemampuan OOP (object oriented programming) yang telah ditanamkan pada visual basic .NET Menurut McMonnies (2000, p21-22) VB.NET merupakan aplikasi program yang menunjuk pada pemecahan masalah atau solusi yang dikembangkan dengan didasari pemakaian arsitektur .NET terbaik yang bisa diaplikasikan. Salah satu keunggulan yang spesifik dari .NET 52 adalah software ini dikembangkan dalam komponen yang disebut assembly.