BAB 2 Landasan Teori 2.1. Teori Dasar Pada teori dasar atau umum ini kami akan menjelaskan teori yang akan sering digunakan sebagai penunjang dalam membuat skripsi kami. Beberapa kami ambil dari buku yang menjadi patokan dalam metodologi pembuatan skripsi kami. 2.1.1. Basis Data Menurut Connolly dan Begg (2010: 65), basis data adalah kumpulan dari data terkait secara logikal dan dides kripsikan, didesain untuk memenuhi kebutuhan informasi di suatu organisasi.Menurut O’Brien dan Marakas (2010: 173), basis data adalah kumpulan terintegrasi dari elemen data yang secara logika saling berhubungan.Menurut Martin, James (2011: 24) basis data adalah suatu kumpulan data terhubung (interralateddata) yang di simpan secara bersama-sama pada suatu media, tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data (controlledredundancy) dengan cara tertentu sehingga muda untuk digunakan atau ditampilkan kembali, dapat digunakan oleh satu atau lebih program aplikasi secara optimal, data disimpan tanpa mengalami ketergantungan pada program yang menggunakannya. Berdasarkan beberapa pengertian diatas dapat disimpulkan bahwa data merupakan sebuah bukti atau fakta dari sebuah kegiatan yang dapat disimpan. 2.1.2. Database Management System (DBMS) Menurut Connolly dan Begg (2010: 66), DBMS adalah sistem perangkat lunak yang memungkinkan pengguna untuk menjelaskan, membuat, memelihara, dan mengatur akses ke database.Menurut Rainer dan Turban (2009: 111), DBMS adalah seperangkat program yang menyediakan untuk pengguna dengan alat untuk menambahkan, menghapus, mengakses, dan menganalisa data yang disimpan dalam satu lokasi.Menurut Zhipeng Wang (2012: 37), DBMS merupakan sebuah perangkat spesifikasi formal dan verifikasi model keamanan pada operasi database / SQL. Berdasarkan beberapa pengertian diatas dapat disimpulkan bahwa DBMS adalah sebuah sistem perangkat lunak yang digunakan untuk menambahkan, 7 8 menghapus, mengakses, dan mengatur akses ke database.DBMS menyediakan fungsi-fungsi sebagai berikut: 1) DBMS memperbolehkan pengguna untuk mendefinisikan basis data melalui Data Definition Language (DDL). 2) DBMS memperbolehkan pengguna untuk menyisipkan, memperbaharui, menghapus, dan mengambil data dari basis data melaluiDataManipulationLanguage (DML). 3) DBMS menyediakan akses ke dalam basis data. Sebagai contoh, DBMS menyediakan: a) Sistem keamanan. b) Sistem integritas. c) Sistem pengendalian konkurensi. d) Sistem pengendalian perbaikan. e) Katalog yang dapat diakses pengguna. 2.1.2.1. Komponen DBMS Adapun komponen DBMS menurut Connolly (2010: 68) sebagai berikut : Gambar 2.1. Komponen DBMS (Connolly dan Begg, 2010: 68) Keterangan Gambar: 1) Hardware (Perangkat Keras) DBMS dan aplikasi membutuhkan perangkat keras untuk menjalankannya.Perangkat keras dapat melingkupi komputer pribadi, mainframe, dan sebuah jaringan computer. 9 2) Software (Perangkat Lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS digunakan melalui jaringan. 3) Data Komponen penting dalam lingkungan DBMS, ditentukan dari sudut pandang dari pengguna akhir mengenai data.Faktanya data merupakan jembatan antara komponen mesin dengan komponen manusia. 4) Procedure (tata cara) Prosedur merupakan petunjuk dan aturan dalam membangun dan menggunakan database. 5) People (manusia) Komponen terakhir adalah manusia yang terlibat dalam sistem tersebut. 2.1.2.2. Keuntungan dan Kerugian DBMS 2.1.2.2.1. Keuntungan DBMS Menurut Connolly dan Begg (2010: 77), keuntungan DBMS adalah sebagai berikut: a) Mengendalikan data yang berulang b) Konsistensi data c) Informasi lebih dari jumlah data yang sama d) Berbagi data e) Meningkatkan integrasi data f) Meningkatkan keamanan g) Penguatan standar h) Skala ekonomis i) Menyeimbangkan kebutuhan yang konflik 2.1.2.2.2. Kerugian DBMS Menurut Connolly dan Begg (2010: 80), kerugian DBMS adalah sebagai berikut: a) Kompleksitas 10 b) Ukuran c) Biaya dari DBMS d) Biaya dari perangkat keras tambahan e) Biaya konversi f) Kinerja g) Pengaruh yang besar dari kegagalan 2.1.2.3. Fungsi DBMS Menurut Connolly dan Begg (2010: 99) fungsi DBMS adalah sebagai berikut: a) Penyimpanan, pengambilan, dan pembaharuan datadalamdatabase b) Katalog yang dapat diakses pengguna c) Mendukung transaksi d) Layanan pengendalian jasa e) Layanan pemulihan f) Layanan perizinan g) Mendukung data komunikasi h) Layanan integritas i) Layanan untuk mendukung keterpisahan data j) Layanan utilitas 2.1.3. Diagram Aliran Data Menurut Whitten etal (2004: 308) diagram aliran data adalah sebuah bagan yang menjelaskan gambaran aliran data dari sistem dan yang hal-hal yang dilakukan oleh sistem. Dapat disimpulkan bahwa diagramalirandata ini mempunyai simbol-simbol yang dapat mengungkapkan komponen-komponen dasar dari proses dan aliran sistem. Beberapa pengertian simbol (lihat daftar simbol) yang digunakan di dalam diagram arus data, adalah: 11 Tabel 2.1. Simbol-simbol Diagram Aliran Data Simbol Keterangan Proses adalah kerja yang dilakukan pada atau sebagai respons terhadap aliran data masuk atau kondisi. Data Flow menunjukan input data ke proses atau output data (atau informasi) dari proses. Data flow juga digunakan untuk menunjukan pembuatan, pembacaan, penghapusan atau pembaruan data dalam file atau database. External Agent mendefinisikan orang, unit organisasi, sistem, atau organisasi luar yang berinteraksi dengan sistem. Data Store adalah penyimpanan data yang ditujukan untuk penggunaan selanjutnya. Sinonimnya adalah file dan database. 2.1.4. Database Languages 2.1.4.1. Data Definition Language (DDL) Menurut Connolly dan Begg (2010: 92), DataDefintionLanguage (DDL) merupakan bahasa yang memungkinkan DBA atau pengguna untuk mendeskripsikan dan memberi nama dari entitas, atribut, dan hubungan yang diperlukan untuk aplikasi, bersama dengan integritas yang terkait dan batasan keamanan. 12 Dapat disimpulkan bahwa Data Definition Language merupakan bahasa yang dapat membantu pengguna untuk mengklasifikasikan data yang saling terkait dan memiliki batasan keamanan. 2.1.4.2. Data Manipulation Language (DML) Menurut Connolly dan Begg (2010: 92), Data Manipulation Language (DML) adalah bahasa yang menyediakan satu set operasi yang mendukung manipulasi dasar operasi data dalam database. Operasi manipulasi data meliputi : 1) Penambahan data baru ke dalam database 2) Merubah data yang disimpan dalam database 3) Perolehan kembali data yang ada dalam database DML dibagi menjadi 2 jenis yaitu Procedural dan Nonprocedural.Procedural DML adalah suatu bahasa yang memperbolehkan pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkan Nonprocedural DML adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagaimana data diperoleh. 2.1.4.3. Structured Query Language (SQL) Menurut Turban (2009: 112), Structured Query Language (SQL) merupakan bahasa query yang paling terkenal yang digunakan untuk meminta informasi.Menurut Connolly dan Begg (2010: 184), SQL adalah salah satu contoh dari bahasa berbasis transformasi ataubahasa yang dirancang menggunakan relasi guna mentransformasikan data masukan (input) menjadi data keluaran (output) yang dibutuhkan. Dari beberapa pengertian diatas dapat disimpulkan bahwa Structured Query Language bahasa yang dapat membantu pengguna untuk mentransformasikan data yang akan di input dan dapat menjadi sebuah output. 13 2.1.5. Database Application Life Cycle Menurut Connolly dan Begg (2010: 313), untuk merancang aplikasi sistem basis data diperlukan tahapan-tahapan dalam siklus hidup, antara lain: Gambar 2.2.Database Application Life Cycle (Connolly dan Begg, 2010:314) 2.1.5.1. Database Planning Menurut Connolly dan Begg (2010: 313), databaseplanning adalah merencanakan bagaimana setiap tahapan dari siklus hidup ini dapat direalisasikan menjadi lebih efesien dan efektif. Beberapa hal yang terlibat dalam perumusan suatu strategi sistem informasi: 1) Identifikasi rencana dan tujuan perusahaan dengan menentukan kebutuhuan sistem informasi. 2) Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan. 14 3) Penilaian terhadap peluang teknologi informasi yang dapat memberi keuntungan kompetitif. 2.1.5.2. System Definition Menurut Connolly dan Begg (2010: 316), systemdefinition adalah mendeskripsikan cakupan dan batasan dari aplikasi basis data, baik pengguna dan area aplikasi tersebut. Pertama-tama harus mengidentifikasi batasan dari sistem yang akan kita investigasi dan bagaimana membuat antarmuka dengan sistem informasi tiap bagian dari organisasi. Dalam mendefinisikan sistem, harus ditentukan oleh userview, yaitu mendefinisikan apa yang dibutuhkan oleh aplikasi basis data berdasarkan pandangan dari tiap bagian tugas (misalnya manager atausupervisor) atau area aplikasi perusahaan (misalnya marketing, personnel, atau stock control). 2.1.5.3. Requirement Collection and Analysis Menurut Connolly dan Begg (2010: 316),requirementcollectionand analysis merupakan proses pengumpulan dan analisis informasi mengenai bagian dari perusahaan yang didukung oleh aplikasi basis data, dan mengunakan informasi tersebut untuk mengidentifikasi kebutuhan pengguna untuk sistem yang baru. Tiga pendekatan utama untuk mengelola persyaratan dari aplikasi basis data dengan banyak pandangan pengguna, antara lain: 1) Pendekatan Sentralisasi Yaitu kebutuhan untuk tampilan setiap pengguna digabungkan ke sebuah set persyaratan tunggal untuk aplikasi basis data baru. 2) Pendekatan Integrasi Tampilan Yaitu kebutuhan untuk setiap tampilan pengguna dibangun pada model data terpisah untuk merepresentasikan tampilan pengguna tersebut. 3) Gabungan dari pendekatan sentralisasi dan pendekatan integrasi tampilan. 15 2.1.5.4. Database Design Menurut Connolly dan Begg (2010: 320), perancangan basis data adalah proses membuat perancangan basis data yang mendukung pekerjaan dan tugas perusahaan. Ada 4 pendekatan dalam merancang basis data, yaitu: 1) Pendekatan Bottom-up Pendekatan ini dimulai dari tingat paling dasar yaitu atribut, dimana melalui analisis gabungan antara atribut, dikelompokan ke dalam relasi yang merepresentasikan tipe entitas dan hubungan antar entitas.Pendekatan ini digunakan jika perancangan basis datanya lebih sederhana dengan jumlah atribut yang sedikit. 2) Pendekatan Top-down Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa hubungan relasional dan entitas.Pendekatan ini biasa digunakan jika basis data yang digunakan lebih kompleks dengan jumlah atribut yang banyak. 3) Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, hubungan, dan atribut terkait lainnya yang lebih dulu diidentifikasi. 4) Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Menurut Connolly dan Begg (2010: 322), Dalam perancangan basis data terdapat 3 tahapan penting yang diperlukan agar mendapatkan sebuah database yang diinginkan, yaitu: 1) Conceptual Database Design Proses membangun suatu model data dari informasi perusahaan dan bebas dari pertimbangan fisik, dimana lebih menekankan konsep. 16 2) Logical Database Design Proses membangun model dari informasi yang telah diperoleh berdasarkan model data khusus, tapi bebas dari hal yang berkaitan dengan DBMS dan pertimbangan fisik lain. 3) Physical Database Design Proses dari pembuatan yang menjelaskan implementasi basis data dalam secondary storage, yang menggambarkan struktur penyimpanan dan metode akses yang akan digunakan dalam mengakses data secara tepat. 2.1.5.5. DBMS Selection(opsional) Menurut Connolly dan Begg (2010: 352), pemilihan DBMS yang sesuai untuk mendukung aplikasi basis data. Dapat ditarik kesimpulan pada tahap ini merupakan tahap untuk memilih dan menentukan aplikasi yang akan dipakai dan dapat mendukung basis data yang telah kita rancang. 2.1.5.6. Application Design Menurut Connolly dan Begg (2010: 329), perancangan aplikasi adalah merancang userinterface dan program aplikasi yang akan digunakan untuk memproses basis data. Dapat disimpulkan pada tahap ini merupakan tahap untuk membuat rancangan interface untuk pengguna yang membantu dalam penyimpanan dan memproses basis data. 2.1.5.7. Prototyping (opsional) Menurut Connolly dan Begg (2010: 333), prototyping adalah membuat model kerja dari aplikasi basis data, yang memperbolehkan perancang atau pengguna untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Terdapat 2 macam strategi prototipe yang digunakan, yaitu: 1) RequirementsPrototyping, menggunakan suatu prototype untuk menentukan kebutuhan-kebutuhan dari aplikasi basis data yang 17 diusulkan dan suatu waktu prototipe kebutuhan yang lengkap tersebut dibuang. 2) Evolutionary Prototyping, digunakan untuk tujuan yang sama, perbedaan yang penting adalah bahwa prototype tidak dibuang tetapi dengan perkembangan yang lebih lanjut menjadi aplikasi basis data yang digunakan. 2.1.5.8. Implementation Menurut Connolly dan Begg (2010: 333), implementation merupakan realisasi secara fisik dari basis data dan desain aplikasi. Dapat disimpulkan bahwa dalam tahap ini merupakan langkah penerapan sebuah sistem baru. 2.1.5.9. Data Convertion and Loading Menurut Connolly dan Begg (2010: 334), DataConvertionandLoading adalah mencakup pengambilan data dari sistem lama untuk dipindahkan ke dalam sistem yang baru. Dapat ditarik kesimpulan bahwa langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang menggantikan sistem yang lama. 2.1.5.10. Testing Menurut Connolly dan Begg (2010: 334), testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Dapat disimpulkan bahwa tahap ini merupakan langkah dimana sebuah sistem dicoba dalam penerapannya. 2.1.5.11. Operation Maintenance Menurut Connolly dan Begg (2010: 335), operation maintenance adalah proses mengawasi dan memelihara sistem basis data yang sudah dijalankan. Kegiatan dalam tahap pemeliharaan, yaitu: 1) Mengawasi kinerja sistem, jika kinerja menurun maka memerlukan perbaikan atau pengaturan ulang basis data. 18 2) Memelihara dan melakukan pembaharuan aplikasi basis data (ketika diperlukan). 2.1.6. Entity Relationship Modeling Menurut Connolly dan Begg (2010: 371), entityrelationshipmodeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan penggunaannya di dalam suatu perusahaan.Model ini menggunakan pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data-data terpenting yang disebut dengan entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam suatu model.EntityRelationshipDiagram (ERD), data model yang didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan hubungan antarobjek. (Octafian Tri. D, 2011: 150). Dari beberapa pengertian diatas, dapat disimpulkan bahwa entityrelationshipmodelingmerupakan pemodelan yang dapat digunakan dalam perancangan basis data yang dimulai dengan mengidentifikasikan data-data dan kumpulan objek-objek dasar. 2.1.6.1. Tipe Entitas Menurut Connolly dan Begg (2010: 372), entitas adalah sekumpulan objek dengan sifat yang sama, yang diidentifikasi di dalam organisasi karena keberadaannya yang bebas (independen). Setiap entitas dilambangkan dengan sebuah persegi panjang yang diberi nama dari entitas tersebut. Nama entitas biasanya adalah kata benda tunggal. Gambar 2.3. Representasi Diagram dari Tipe Entitas (Connolly dan Begg, 2010: 374) 19 Tipe entitas antara lain: 1) Tipe entitas kuat Sebuah tipe entitas yang keberadaannya tidak bergantung dengan entitas lain. 2) Tipe entitas lemah Sebuah tipe entitas yang keberadaannya bergantung dengan entitas lain. 2.1.6.2. Tipe Hubungan Menurut Connolly dan Begg (2010: 374), tipe hubungan adalah sebuah set asosiasi yang memiliki arti diantara tipe entitas. Derajat tipe hubungan adalah jumlah jenis entitas yang berpartisipasi dalam satu hubungan. 1) Binary Merupakan sebuah hubungan yang mempunyai derajat dua. Gambar 2.4. Hubungan Binary 2) Ternary Merupakan hubungan yang mempunyai derajat tiga. Gambar 2.5. Hubungan Ternary 20 3) Quartenary Merupakan hubungan yang mempunyai derajat empat. Gambar 2.6. Hubungan Quartenary 2.1.6.3. Atribut Menurut Connolly dan Begg (2010: 379), atribut adalah sebuah sifat dari entitas atau tipe hubungan. 1) Simple Attribute Sebuah atribut yang terdiri dari komponen tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi disebut atomicattribute. 2) Composite Attribute Sebuah atribut yang terdiri dari beberapa komponen, dimana masingmasing komponen mempunyai keberadaan yang bebas. 3) Single-Valued Attribute Sebuah atribut yang mempunyai nilai tunggal untuk setiap kejadian dari tipe entitas. 4) Multi-Valued Attribute Sebuah atribut yang mempunyai nilai untuk setiap kejadian dari tipe entitas. 21 5) Derived Atrribute Sebuah atribut yang merepresentasikan nilai yang dapat diturunkan dari nilai atribut yang berhubungan atau satu set atribut, tidak perlu bera da dalam tipe entitas yang sama. 2.1.6.4. Key Menurut Connolly dan Begg (2010: 381-382), key adalah sebuah field yang digunakan untuk mengidentifikasi satu atribut atau lebih secara unik mengidentifikasi setiap record. Terdapat macam-macamkey. Seperti: 1) Candidate Key Merupakan set atribut minimal yang secara unik mengidentifikasi setiap kejadian dari sebuah tipe entitas. 2) Primary Key Merupakan candidatekey yang dipilih untuk secara unik mengidentifikasi suatu tipe entitas. 3) Composite Key Merupakan sebuah candidatekey yang terdiri atas dua atau lebih atribut. 4) Foreign Key Merupakan candidatekey yang tidak terpilih menjadi PrimaryKey atau biasa disebut dengan SecondaryKey. 5) Alternate Key Merupakan sebuah atribut, atau set atribut dengan satu relasi yang cocok dengan beberapa hubungan candidatekey. 2.1.6.5. Structural Constraints Menurut Connolly dan Begg (2010: 385), batasan utama pada hubungan disebutmultiplicity.Multiplicityadalah sebuah jumlah atau jarak dari kejadian yang memungkinkan sebuah tipe entitas yang berhubungandengan kejadian tunggal dari jenis entitas terkait dari hubungan khusus. 1) Hubungan One to One (1:1) 22 Setiap relasi menggambarkan hubungan antara sebuah kejadian entitas pada entitas yang satu dengan sebuah kejadian entitas lainnya yang ikut serta dalam relasi tersebut. 2) Hubungan One to Many (1:*) Setiap relasi menggambarkan hubungan antara sebuah kejadian entitas yang satu atau lebih kejadian entitas pada entity yang lainnya yang ikut serta dalam relasi tersebut. 3) Hubungan Many to Many (*:*) Setiap relasi menggambarkan hubungan antara satu atau lebih kejadian entitas pada entitas yang satu atau lebih lainnya yang ikut serta dalam relasi tersebut. 2.1.7. Normalisasi Menurut Indrajani (2011: 57), normalisasi adalah sebuah teknik dengan pendekatan bottom-up yang digunakan untuk membantu mengidentifikasikan hubungan. Dimulai dari menguji hubungan, yaitu functionaldependencies antara atribut.Pengertian lainnya adalah suatu teknik yang menghasilkan sekumpulan hubungan dengan sifat-sifat yang diinginkan dan memenuhi kebutuhan pada perusahaan. Hasil perancangan menggunakan ERD terkadang masih mengandung bentuk tabel yang tidak bisa mengatasi anomali danedudansi, maka dari itu diperlukan sebuah teknik normalisasi terhadap hasil rancangan tersebut. (Saraswati: 53) Menurut Indrajani (2011, 59-61), proses normalisasi terdiri dari beberapa tahap, yaitu: a) Unnormalized Form (UNF) Merupakan suatu table yang berisikan satu atau lebih grup yang berulang. b) First Normal Form (1NF) Merupakan sebuah relasi dimana setiap baris dan kolom berisikan satu dan hanya satu nilai. c) Second Normal Form (2NF) Merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionallydependent pada primary key. 23 d) Third Normal Form (3NF) Adalah sebuah relasi dalam 1NF dan 2NF, dimana tidak terdapat atribut non-primary-key yang bersifat transitivelydependent pada primary key. e) Boyce-codd Normal Form (BCNF) BCNF menetapkan dengan jelas bahwa untuk dependency ini agar ditetapkan dalam relasi A, maka A harus merupakan candidate key. 2.1.8. Metodologi Desain Basis Data Menurut Connolly dan Begg (2010: 466), metodologi desain basis data adalah sebuah pendeketan terstruktur yang menggunakan prosedur, teknik, peralatan dan dokumentasi untuk mendukung dan memfasilitasi proses perancangan. Tahapan metodologi desain basis data, yaitu: 2.1.8.1. Desain Basis Data Konseptual Desain basis data konseptual adalah proses mengkontruksi model data yang digunakan dalam perusahaan terlepas dari semua pertimbangan fisik.Langkah-langkah dalam perancangan basis data konseptual adalah sebagai berikut: Step 1: Membangun model data konseptual. Tujuannya adalah untuk membangun model data konseptual dari data kebutuhan perusahaan Step 1.1: Mengidentifikasi tipe entitas. Step 1.2.: Mengidentifikasi tipe relasi. Step 1.3: Mengidentifikasi dan mengasosiasikan atribut suatu entitas atau hubungan. Step 1.4: Menentukan domain atribut. Step 1.5: Mengidentifikasi atribut candidatekey dari setiap tipe entitas, dan jika terdapat lebih dari satu candidatekeymaka dipilih satu menjadi primarykey, dan sisanya menjadi alternatekey. Step 1.6: Mempertimbangkan penggunaan konsep pemodelan lanjutan (langkah optional). Step 1.7: Mengecek model untuk redudansi. 24 Step 1.8: Memvalidasi model konseptual lokal terhadap transaksi pengguna. Step 1.9: Meninjau kembali model data konseptual lokal dengan pengguna. 2.1.8.2. Desain Basis Data Logikal Desain basis data logikal adalah proses mengkonstruksi model dari informasi yang digunakan dalam perusahaan berdasarkan model data spesifik, terlepas dari DMBS khusus dan pertimbangan fisikal lainya. Step 2: Membangun dan memvalidasi model data logikal. Tujuannya untuk menerjemahkan data model konseptual kedalam model data logis, kemudian untuk memvalidasikan model tersebut guna memerikasa model tersebut benar secara struktural dan mampu mendukung transaksi yang dibutuhkan. Step 2.1: Menurunkan hubungan untuk data model logikal. Step 2.2: Memvalidasikan hubungan menggunakan normalisasi. Step 2.3: Memvalidasi hubungan terhadap transaksi pengguna. Step 2.4: Mengecek batasan integritas. Step 2.5: Meninjau data model logikal dengan pengguna. Step 2.6: Menggabungkan data model logikal kedalam model global (langkah opsional). Step 2.7: Mengecek perkembangan kedepannya. 2.1.8.3. Desain Basis Data Fisikal Desain basis data fisikal adalah proses memproduksi deskripsi dari implementasi basis data pada tempat penyimpanan sekunder, yang mendefinisikan relasi dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses efisien ke dalam data, dan batasan integritas terkait dan batasan keamanan. Step 3: Menerjemahkan data model logikal untuk target DBMS. Tujuannya untuk menghasilkan skema basis data relational dari data model logikal yang dapat diimplementasikan dalam target DBMS. Step 3.1: Merancang relasi dasar. 25 Step 3.2: Merancang representasi dari data turunan. Step 3.3: Merancang batasan umum. Step 4: Merancang organisasi file dan index. Tujuannya untuk menentukan file organisasi yang optimal, untuk menyimpan hubungan dasar dan indeks yang diperlukan untuk mencapai kinerja yang pantas untuk diterima. Step 4.1: Menganalisis transaksi. Step 4.2: Memilih file organisasi. Step 4.3: Memilih indeks. Step 4.4: Memperkirakan kebutuhan space disk. Step 5: Merancang pandangan pengguna. Tujuannya untuk merancang tampilan pengguna yang diidentifikasi dengan menggunakan kumpulan kebutuhan dan tahapan analisis dari siklus hidup pengembangan sistem basis data. Step 6: Merancang mekanisme pengamanan. Tujuannya untuk merancang mekanisme keamanan basis data seperti yang yang ditentukan oleh pengguna selama kebutuhan pengumpulan siklus hidup pengembangan basis data. Step 7: Mempertimbangkan pengenalan dari redudansi terkontrol. Tujuanya untuk menentukan apakah memperkenalkan redudansi secara terkendali dengan relaksasi aturan normalisasi akan meningkatkan kinerja sistem. Step 8: Memantau dan menyesuaikan sistem operasional. Tujuannya untuk mengawasi meningkatkan kinerja dari ketidaklayakan rancangan sistem sistem keputusan operasional untuk atau dan memperbaiki mencerminkan perubahan kebutuhan. 2.1.9. C# Menurut Erico Darmawan dan Laurentius Risal (2010: 5), C# (C sharp) adalah sebuah bahasa pemrograman berbasis objek yang didukung oleh Microsoft .NET Framework.Microsoft .NET Framework adalah perantara agar aplikasi dengan bahasa pemrograman yang didukung dapat berkomunikasi 26 dengan sistem operasi yang digunakan oleh komputer.Selain itu, .NET Framework juga memungkinan C# untuk berkomunikasi denga bahasa pemrograman lainnya yang juga didukung oleh .NET Framework seperti VB .NET, F#, atau C++. Dengan kata lain, aplikasi yang kita buat dapat menggunakan komponenkomponen lain yang dibuat dengan menggunakan VB .NET, F#, atau C++. 2.1.10. SQL Server Menurut Knight, Brianet al(2008: 2), SQL Server merupakan salah satu produk database kelas server yang dikembangkan oleh Microsoft Co. , Release terbaru yang diluncurkan Microsoft memungkinkan untuk memenuhi kebutuhan database perusahaan besar dengan fitur-fitur Business Intelegence dan integrasi yang lebih maksimal platform yang dirilis hingga saat ini. SQL Server memilikiotentikasi kuatdanperlindunganaksessertamemilikifiturmanajemen lebihbaik.SQL password yang yang Server menggunakanKebijakanManajemenBerbasisuntukmendeteksiketidakpatuhankeb ijakankeamanan, yang memungkinkanhanyapersonil yang berwenangakseske database. 2.2. Teori Khusus 2.2.1. Hotel Menurut David K. Hayes dan Jack D. Ninemeier, hotel merupakan properti yang menyediakan jasa penginapan atau peristirahatan dan servis termasuk fasilitas dan makanan.Berdasarkan Peraturan Menteri Kebudayaan dan Pariwisata No. PM.86/HK.501/MKP/2010 – Bab 1 Pasal 1 ayat 3, Hotel adalah penyediaan akomodasi secara harian berupa kamar-kamar di dalam satu bangunan, yang dapat dilengkapi dengan jasa pelayanan makan dan minum, kegiatan hiburan serta fasilitas lainnya. 2.2.1.1. Check-in Menurut David K. Hayes dan Jack D. Ninemeier, Check-in terbagi atas 2 jenis yaitu Front-DeskCheck-in dan SelfCheck-in. FrontDeskCheck-in merupakan kegiatan yang dilakukan tamu yang akan 27 menginap dengan mendaftarkan identitas diri di area Front-Desk dan status dikonfirmasikan oleh Front-Desk. Sedangkan Self Check-in merupakan pendataan identitas tamu yang akan menginap dilakukan oleh tamu sendiri. 2.2.1.2. Check-out Menurut David K. Hayes dan Jack D. Ninemeier , terdapat 2 hal yang perlu diperhatikan ketika tamu melakukan Check-out, yaitu : 1) Penyelesaian tagihan tamu, yang mencakup : a. Konfirmasi dari identitas tamu. b. Memeriksa dan memberikan kepada tamu setiap surat/fax/pesan yang mungkin belum/tidak tersampaikan. c. Menanyakan dan mengembalikan setiap barang yang tamu dititipkan di safe deposit box hotel. d. Memberikan tagihan akhir. e. Membuat copy dari tagihan untuk diperiksa kembali oleh tamu. f. Memproses pembayaran tamu . g. merubah status ketersediaan kamar hotel. 2) Melakukan rebookingdari tamu yang mungkin akan datang kembali. Menurut James A. Bardi, Check-out merupakan waktu untuk melayani tamu yang telah menginap dengan menanyakan metode pembayaran yang akan digunakan. Tujuan dari Check-out adalah untuk memproses permintaan tamu untuk penyelesaian pembayarannya secepat dan seefisien mungkin. 2.2.2. Persediaan Menurut Assauri (2008: 237), persediaan adalah sejumlah bahan-bahan, partsyang disediakan dan bahan-bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang-barang jadi/produk yang disediakan untuk memenuhi permintaan dari komponen atau langganan setiap waktu. Menurut Ukas (2006: 389), persediaan adalah supplybahanbaku, bahan setengah jadi atau barang dalam proses dan barang jadi bagi perusahaan untuk tetap mempertahankan agar bisa memenuhi kebutuhan operasionalnya. 28 Berdasarkan pengertian-pengertian diatas, dapat disimpulkan bahwa persediaan adalah barang atau bahan yang disediakan untuk memenuhi permintaan pelanggan yang disimpan dan siap untuk digunakan dalam kegiatan operasional sebuah perusahaan 2.2.2.1. Titik Pemesanan Ulang (Re-Order Point) Menurut Jay Heizer dan Barry Render (2010: 83), dalam mengatur persediaan diperlukan perhitungan dalam mengambil keputusan kapan harus memesan kembali, biasanya dinyatakan dengan menggunakan sebuah titik pemesanan ulang (Re-Order Point), yaitu tingkat persediaan dimana ketika persediaan telah mencapai tingkat tersebut, pemesanan harus dilakukan. ROP dinyatakan sebagai berikut : ROP= (Permintaan per hari) x (Waktu tunggu untuk pesanan baru dalam hari) 2.2.3. Pembelian Menurut Assauri (2008: 223), pembelian adalah salah satu fungsi yang penting dalam berhasilnya operasi suatuperusahaan. Fungsi ini dibebani tanggung jawab untuk mendapatkan kuantitas dan kualitas bahan-bahan yang tersedia pada waktu dibutuhkan dengan harga yang sesuai dengan harga yang berlaku. Pengawasan perlu dilakukan terhadap pelaksanaan fungsi ini, karena pembelian menyangkut investasi dana dalam persediaan dan kelancaran arus bahan ke dalam pabrik. Menurut Chitale & Gupta (2007: 213), pembelian adalah pengadaan bahan baku, mesin, dan peralatan lainnya melalui pembayaran. Berdasarkan pengertian-pengertian diatas, dapat disimpulkan bahwa pembelian adalah proses mendapatkan barang atau jasa yang diperlukan oleh suatu perusahaan untuk melakukan kegiatan operasional.