BAB 2 TINJAUAN PUSTAKA 2.1 Teori yang berkaitan dengan Database 2.1.1 Sistem Sistem informasi adalah kombinasi dari teknologi informasi dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi dan manajemen. Istilah ini digunakan untuk merujuk tidak hanya pada penggunaan organisasi teknologi informasi dan komunikasi (TIK), tetapi juga untuk cara di mana orang berinteraksi dengan teknologi ini dalam mendukung proses bisnis. Sementara ada juga definisi lain yang mengatakan kalau sistem informasi adalah kumpulan informasi di dalam sebuah basis data menggunakan model dan media teknologi informasi digunakan di dalam pengambilan keputusan bisnis sebuah organisasi. Di dalam suatu organisasi, informasi merupakan sesuatu yang penting di dalam mendukung proses pengambilan keputusan oleh pihak manajemen. Sistem ini memanfaatkan perangkat keras dan perangkat lunak komputer, prosedur manual, model manajemen dan basis data. Sistem informasi adalah cara untuk menjelaskan ruang lingkup dan batasbatas dari sistem database. (Connolly dan Begg, 2010, hal. 312). 2.1.2 Data Dalam pendekatan basis data tidak hanya berisi basis data itu sendiri tetapi juga termasuk definisi atau deskripsi dari data yang disimpan. Menurut Kamus Besar Bahasa Indonesia pengertian data adalah keterangan yang benar dan nyata. Atau keterangan atau bahan nyata yang dapat dijadikan bahan kajian (analisis atau kesimpulan). Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna. Data adalah komponen yang paling penting dalam DBMS dari sudut pandang end-user. (Connolly dan Begg,2010, hal. 70). 2.1.3 Basis Data dan Sistem Basis Data Menurut (Connolly dan Begg 2010, hal. 65), Basis Data adalah kumpulan relasi-relasi logis dari data (dan deskripsi data) yang dapat digunakan bersama 7 8 dan dibuat untuk memperoleh informasi yang dibutuhkan oleh perusahaan. Database adalah relasi data logis yang terdiri dari entitas-entitas, atribut-atribut, dan relationship dari informasi organisasi/perusahaan. Kegunaan dari database adalah : 1. Menghilangkan redundancy data. 2. Keterbatasan akses data. 3. Meningkatkan keamanan. 4. Multiple User. 5. Independensi data (kebebasan data). Beda lagi dengan (Post, 2005, hal. 2), menurutnya basis data merupakan koleksi dari data yang disimpan dalam format yang terstandarisasi dan dirancang untuk dapat digunakan oleh beberapa pengguna. Menurut ( James A. O'Brien, 2005, hal. 141), basis data adalah sebuah kumpulan yang terintegrasi dari elemen data yang terhubung secara logikal. Elemen data mendeskripsikan entitas-entitas dan hubungan antara entitas. Sistem basis data dibuat untuk mengatur informasi dalam jumlah yang besar. Pengaturan data menyangkut mendefinisikan struktur penyimpanan informasi dan menyediakan cara untuk memanipulasi informasi, serta memastikan keamanan dari informasi yang disimpan. Tujuan utama pengelolaan data dalam basis data adalah agar kita dapat memperoleh data yang kita cari dengan mudah dan cepat. Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut ini : 1. Kecepatan dan kemudahan (speed) 2. Efisiensi ruang penyimpanan (space) 3. Keakuratan (accuracy) 4. Ketersediaan (availability) 5. Kelengkapan (completeness) 6. Keamanan (security) 7. Kebersamaan penggunaan (sharability) 2.1.4 Database Management System (DBMS) Menurut (Conolly dan Begg, 2010, hal 66), Database Management System (DBMS) adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke database. DBMS 9 berinteraksi dengan program aplikasi user dan database. • Pengendalian Akses ke Basis Data Akses kontrol ke basis data, meliputi: - A security system (Sistem Keamanan), sistem ini untuk mencegah pengguna yang tidak mempunyai hak akses untuk memasuki basis data. - A Integrity System (Sistem Integritas), sistem ini untuk menjaga konsistensi data yang disimpan dalam basis data. - A Concurrency System (Sistem Akses Kontrol bersama), sistem ini untuk mengizinkan akses basis data secara bersamaan. - A Recovery Control System (Kontrol sistem perbaikan), sistem ini berguna untuk mengembalikan basis data ke kondisi sebelumnya setelah terjadi kegagalan perangkat lunak atau perangkat keras. 2.1.5 Fungsi DBMS Fungsi yang disediakan DBMS Menurut (Connolly dan Begg, 2010, hal. 66) yaitu : 1. Memungkinkan user untuk mendefinisikan basis data, biasanya dari Data Definition Language (DDL), DDL memungkinkan user untuk membedakan tipe dan struktur data, dan batasan data yang akan disimpan dalam basis data. 2. Memungkinkan user untuk menyisipkan, meng-update, menghapus dan menerima data dari basis data, biasanya dari Data Manipulation Language (DML). 3. Menyediakan kontrol akses ke basis data dengan menyediakan : a. Sistem keamanan yang menengah akses ilegal ke dalam basis data. b. Sistem integrasi yang memelihara arah akurasi data. c. Sistem pembagian hak akses ke basis data. d. Sistem pengendalian untuk memulihkan basis data ke keadaan sebelumnya, yang dikarenakan oleh kegagalan software atau hardware. e. Katalog pengaksesan user yang berisi penjelasan data. 10 2.1.6 Komponen-komponen DBMS Menurut (Connolly dan Begg, 2010, hal. 66), Database Management System (DBMS) memiliki lima komponen penting yaitu: 1. Hardware (perangkat keras) Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras. Perangkat keras dapat berupa sebuah single personal computer, single mainframe, hingga komputer yang saling terhubung. 2. Software (perangkat lunak) Komponen perangkat lunak meliputi DBMS software itu sendiri dan program aplikasi berserta sistem operasi (OS), termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan. 3. Data Data mungkin merupakan komponen terpenting dari DBMS khususnya sudut pandang dari end user mengenai data. 4. Prosedur Prosedur berupa panduan dan instruksi dalam membuat rancangan dan penggunaan basis data. Pengguna sistem dan staff yang mengelola dan menggunakan basis data membutuhkan prosedur dalam menjalankan sistem basis data itu sendiri. Proses di dalam basis data dapat berupa : mengakses ke dalam basis data, penggunaan fasilitas DBMS, cara menjalankan dan memberhentikan DBMS, membuat salinan database, memeriksa hardware dan software yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. Manusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. Manusia yang terlibat dengan sistem, yaitu : database administrator, perancang database, pengembang aplikasi dan pengguna akhir. 2.1.7 Database Language Menurut (Connolly dan Begg, 2010, hal. 92), sebuah sub-bahasa data terdiri dari dua bagian: Data Definition Language (DDL) dan Data Manipulation Language (DML). DDL di gunakan untuk menentukan skema database dan 11 DML di gunakan untuk kedua membaca dan update database. Bahasa-bahasa ini disebut sub-language data karena mereka tidak termasuk konstruksi untuk semua kebutuhan komputasi tingkat, seperti pernyataan kondisional atau iteratif, yang di sediakan oleh bahasa pemrograman tingkat tinggi. Menurut (Connolly dan Begg, 2010, hal. 92), Data Definition Language (DDL) adalah sebuah bahasa yang mengizinkan Database Administrator (DBA) atau user untuk mendeskripsikan dan memberi nama entitas, atribut, dan hubungan yang diperlukan aplikasi beserta intergrity yang berhubungan dan batasan keamanan. 2.1.8 Database System Development Lifecycle a. Perencanaan Basis Data (Database Planning) Tahapan ini merencanakan bagaimana langkah-langkah dalam daur hidup basis data agar dapat diwujudkan se-efisien dan se-efektif mungkin. Langkah pertama yang paling penting dalam perencanaan basis data adalah menggambarkan dengan jelas mission statement dari proyek basis data, kemudian menentukan mission objectives di mana tiap-tiap mission objectives dapat mengidentifikasi tugas-tugas tertentu yang didukung oleh basis data. Perencanaan basis data harus dapat diintegrasikan dengan keseluruhan strategi sistem informasi suatu organisasi. Terdapat tiga isu utama dalam merumuskan strategi sistem informasi, diantaranya (Connolly dan Begg, 2010, hal. 313): 1. Identifikasi rencana dan sasaran perusahaan dengan menentukan kebutuhan sistem informasi yang diperlukan. 2. Evaluasi sistem informasi yang ada sekarang untuk menentukan kekuatan-kekuatan dan kelemahan-kelemahan yang ada. 3. Penilaian terhadap peluang teknologi informasi yang dapat menghasilkan keuntungan yang kompetitif. b. Definisi Sistem (System Definition) Menurut (Connolly dan Begg, 2010, hal. 316), definisi sistem (system definition) adalah mendeskripsikan jangkauan dan batasan dari aplikasi basis data dan pandangan-pandangan utama para pengguna aplikasi. Sebelum mendesain suatu aplikasi basis data, terlebih dahulu 12 mengindentifikasikan batasan-batasan dari sistem yang sedang diteliti dan bagaimana kaitannya dengan bagian lain dari sistem informasi perusahaan. Hal tersebut dilakukan untuk memastikan bahwa tidak ada pengguna utama basis data yang terlupakan ketika dilakukan pengembangan aplikasi. c. Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) Analisis dan pengumpulan kebutuhan (requirement collection and analysis) merupakan proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengindentifikasikan kebutuhan pengguna aplikasi terhadap sistem baru (Connolly dan Begg, 2010, hal. 316). Informasi yang dikumpulkan diantaranya : 1. Penjabaran dari data yang digunakan. 2. Detail mengenai bagaimana data digunakan. 3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisis untuk mengindentifikasikan kebutuhan yang dimasukkan untuk aplikasi basis data yang baru. Ada 3 macam pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan berbagai cara pandang pengguna, yaitu : 1. Pendekatan Centralized, kebutuhan untuk tiap pandangan pengguna disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks (Connolly dan Begg, 2010, hal. 318). 2. Pendekatan View Integration, kebutuhan untuk tiap pandangan pengguna digunakan untuk membangun sebuah model data terpisah yang merepresentasikan tiap pandangan. Hasil dari data model tersebut kemudian disatukan di bagian desain basis data (Connolly dan Begg, 2010, hal. 318). 3. Kombinasi kedua cara pandang. 13 d. Perancangan Basis Data (Database Design) Menurut Connolly dan Begg (2010, hal. 320), perancangan basis data (database design) merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan sasaran suatu perusahaan. Ada 2 pendekatan untuk mendesain sebuah basis data, yaitu : 1. Pendekatan bottom-up, dimulai pada tingkat awal dari atribut (yaitu, properti dari entitas dan relationship), melalui analisis dari asosiasi antaratribut, dikelompokkan menjadi hubungan yang merepresentasikan jenis-jenis entitas dan hubungan antar entitas. Pendekatan ini cocok untuk mendesain basis data yang sederhana dengan jumlah atribut yang tidak banyak (Connolly dan Begg, 2010, hal. 321). 2. Pendekatan top-down, digunakan pada basis data yang lebih kompleks. Dimulai dengan pengembangan dari model data yang mengandung beberapa entitas dan hubungan tingkat tinggi, kemudian menggunakan perbaikan top-down berturut-turut untuk mengidentifikasikan entitas, hubungan dan atribut berkaitan tingkat rendah. Pendekatan ini biasanya digambarkan melalui ER (Entity Relationship) model (Connolly dan Begg, 2010, hal. 321). Pada tahap ini ada bagian yang disebut data modeling, digunakan untuk membantu pemahaman dari data dan untuk memudahkan komunikasi tentang kebutuhan informasi. Kriteria untuk model data, yaitu (Connolly dan Begg, 2010, hal. 321322): 1. Structural validity, konsistensi dengan cara yang didefinisikan perusahaan dalam menyusun informasi. 2. Simplicity, kemudahan untuk pemahaman baik bagi yang profesional di bidang sistem informasi maupun pengguna yang non teknis. 3. Expressibility, kemampuan untuk membedakan antara data yang berbeda dan hubungan antar data. 4. Nonredudancy, pembuangan hubungannya; khususnya, informasi representasi yang dari tak ada tiap 14 potongan informasi tepatnya hanya sekali. 5. Shareability, tidak spesifik untuk aplikasi dan teknologi khusus apapun sehingga dapat digunakan oleh banyak orang. 6. Extensibilty, kemampuan pengembangan untuk mendukung kebutuhan baru dengan efek yang minimal bagi pengguna yang ada. 7. Integrity, konsistensi terhadap cara yang digunakan perusahaan dalam mengatur informasi. 8. Diagramatic representation, merepresentasikan sebuah kemampuan model untuk menggunakan notasi diagram yang dapat dipahami dengan mudah. e. Pemilihan DBMS (DBMS Selection) Pemilihan DBMS yang sesuai untuk mendukung aplikasi basis data mencakup (Connolly dan Begg, 2010, hal. 325) : 1. Mendefinisikan syarat-syarat referensi studi. 2. Mendaftar dua atau tiga jenis produk. 3. Mengevaluasikan produk. 4. Merekomendasikan pilihan dan membuat laporan. f. Perancangan Aplikasi (Application Design) Menurut ( Connolly dan Begg, 2010, hal. 329-), perancangan aplikasi (application design) adalah merancang antarmuka pengguna (user interface) dan program aplikasi, yang akan memproses basis data. Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pengguna (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan, sehingga pengguna aplikasi mudah mempelajari dan mudah menggunakannya. 15 g. Prototyping Prototyping merupakan pembuatan model kerja dari aplikasi basis data, yang membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem (Connolly dan Begg, 2010, hal. 333). Tujuan utama dari prototyping yaitu : 1. Menuntun user menggunakan prototype untuk mengidentifikasikan fitur-fitur agar sistem berjalan dengan baik. 2. Sebagai saran pengembangan atau mungkin menambah fitur baru pada aplikasi basis data. Ada 2 strategi prototyping yang umum digunakan sekarang yaitu : 1. Requirement prototyping, menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data. Ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang (discard). 2. Evolutionary prototype, menggunakan prototype untuk menetapkan kebutuhan yang selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja. h. Implementasi (Implementation) Pengertian implementasi menurut (Connolly dan Begg, 2010, hal. 333) yaitu membuat definisi basis data secara eksternal, konseptual, dan internal termasuk program aplikasi. Implementasi merupakan realisasi dari basis data dan perancangan aplikasi. Implementasi basis data dicapai menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). Pandangan pengguna (userview) lainnya juga diimplementasikan dalam tahapan ini. Bagian lain aplikasi program adalah transaksi basis data yang diimplementasikan dengan meggunakan Data Manipulation Language (DML) dari sasaran DBMS. i. Data Conversion and Loading Data Conversion and Loading mencakup pengambilan data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru 16 (Connolly dan Begg, 2010, hal. 334). Tahapan ini memungkinkan pengembang (developer) untuk mengkonversi dan meggunakan aplikasi program lama conversion untuk digunakan pada sistem baru. Ketika and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi. j. Pengujian (Testing) Menurut (Connolly dan Begg, 2010, hal. 334), testing adalah proses menjalankan aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Dalam kenyataan testing tidak terhindarkan dari kesalahan. Di dalam merancang basis data, user dari sistem baru seharusnya terlibat di dalam proses testing. Jika data yang asli digunakan, perlu backup untuk mengantisipasi kesalahan atau error. Setelah testing selesai, sistem aplikasi siap digunakan oleh pengguna. k. Operational Maintenance Operational maintenance adalah proses memantau dan memelihara sistem setelah proses pemasangan (Connolly dan Begg, 2010, hal. 335). Pada tahap ini sistem beralih ke tahapan pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan diantaranya : 1. Memantau kinerja dari sistem. 2. Pemeliharaan dan upgrade aplikasi basis datanya (jika diperlukan). Ketika basis data sepenuhnya bekerja, pemantauan harus memastikan kinerjanya dapat berada dalam tingkat yang dapat diterima. Sebuah DBMS biasanya menyediakan berbagai kegunaan (utilities) untuk membantu administrasi basis data termasuk kegunaan (utilities) untuk mengisi data ke dalam basis data dan untuk memantau sistem. Kegunaan ini memperbolehkan sistem pemantauan untuk memberikan informasi seperti tentang penggunaan basis data, dan strategi eksekusi query. Query adalah pernyataan yang meminta pengambilan informasi. Database administrator dapat menggunakan informasi ini untuk 17 memperbaiki sistem agar dapat memberikan kinerja yang lebih bak . Perencanaan Database Definisi Sistem Pengumpulan Data & Analisis Perancangan Database Perancangan Database Konseptual Pemilihan DBMS Perancangan Database Logical Perancangan Aplikasi Perancangan Database Fisikal Pembuatan Prototipe Implementasi Pengambilan & Konversi Data Perawatan Gambar 2. 1 Database System Development Lifecycle (Connolly dan Begg, 2010,hal. 314) Testing 18 2.1.9 Metodologi Perancangan Basis Data Perancangan basis data adalah proses pembuatan sebuah rancangan untuk sebuah basis data yang mendukung operasi tujuan dari perusahaan (Connolly dan Begg, 2010, hal. 466). Dalam metodologi perancangan basis data dibagi menjadi tiga tahapan utama (Connolly dan Begg, 2010, hal. 467), yaitu : a. Perancangan Basis Data Konseptual Perancangan basis data konseptual adalah proses untuk membuat sebuah model dari informasi yang digunakan dalam suatu perusahaan, yang berdiri sendiri tanpa memperhatikan konsep physical design (Connolly dan Begg, 2010, hal. 467). Langkah-langkah yang dilakukan dalam perancangan basis data konseptual adalah membangun model data konseptual lokal untuk setiap view, sebagai berikut : a. Menentukan tipe entity Tipe entity adalah sekumpulan objek yang diidentifikasi oleh sebuah perusahaan atau perorangan yang mempunyai sifat-sifat yang sama dan mempunyai keberadaan yang independen (Connolly dan Begg, 2010, hal. 470). Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user. b. Menentukan tipe relationship Menurut ( Connolly dan Begg, 2010, hal. 472) tipe relationship adalah sekumpulan hubungan antara satu atau lebih entitas. Relasi mempunyai batasan (constraint) utama yang harus merefleksikan larangan dalam hubungan seperti di dunia nyata yang disebut multiplicity. Tanda ◄ menunjukan arah yang benar agar pembaca dapat mengartikan maksud dari relasi tersebut (Contohnya, Branch Has ► Staff). Menurut Connolly dan Begg, multiplicity terdiri dari dua jenis, yaitu (Connolly dan Begg, 2010, hal. 473): • Cardinality, penggambaran jumlah maksimum dari kemungkinan batasan sebuah entitas yang ikut berpartisipasi dalam sebuah relasi. Mapping Cardinalities menunjukkan jumlah entitas yang dapat dihubungkan melalui sebuah 19 hubungan. • Participation, penggambaran yang menentukan apakah semua atau hanya beberapa entity occurance (anggota entitas) yang ikut berpartisipasi dalam sebuah hubungan. c. Menentukan dan menghubungkan atribut dengan entity (relationship) Atribut adalah sebuah property entity atau sebuah tipe relationship, menyimpan nilai dari setiap entity occurrence dan mewakili bagian utama dari data yang disimpan dalam basis data (Connolly dan Begg, 2010, hal. 475). Atribut adalah ciri-ciri khusus yang dimiliki dan menggambarkan setiap anggota dari entitas. Tipe-tipe atribut antara lain : • Simple attribute adalah suatu atribut yang terdiri atas komponen tunggal dengan keberadaan yang tidak terikat. Atribut ini tidak dapat dibagi lagi menjadi komponen yang lebih kecil. Atribut yang tidak bisa dijabarkan kembali. • Composite attribute adalah atribut yang terdiri atas banyak komponen, tiap-tiap komponen dengan keberadaan yang tidak terikat. Atribut tertentu dapat dibagi lagi menjadi komponen yang lebih kecil dengan keberadaan masing- masing yang tidak terikat. Atribut yang masih bisa dijabarkan lagi. • Single-valued attribute adalah atribut yang menampung nilai tunggal untuk tiap-tiap kejadian dari suatu tipe entitas. Sebagian besar atribut adalah bernilai tunggal. Atribut yang hanya memiliki sebuah nilai. • Multi-valued attribute adalah atribut yang menampung banyak nilai untuk setiap kejadian dari suatu tipe entitas. Atribut yang memiliki lebih dari satu nilai. • Derived attribute adalah atribut yang menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entitas yang sama. Atribut yang dimiliki karena diturunkan dari atribut. 20 d. Menentukan atribut domain Domain Attribute adalah satuan nilai-nilai untuk satu atau beberapa atribut (Connolly dan Begg, 2010, hal. 479). Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan sama dengan konsep domain pada model relasional. e. Menentukan atribut candidate dan primary key Menentukan candidate key dari suatu entity yang kemudian akan dipilih sebuah primary key dari candidate key yang ada. Candidate key adalah sebuah set minimal dari atribut dari suatu entitas yang secara unik mengidentifikasi setiap kejadian / occurrence dari entitas tersebut. f. Mempertimbangkan penggunaan enhanced modeling concepts Mempertimbangkan perlu tidaknya menggunakan konsep model specialization atau generalisasi, aggregation dan composition. g. Cek model untuk redundansi Memeriksa model data konseptual lokal dengan spesifik obyek dari pengidentifikasian walaupun ada beberapa redundansi dan kemudian menghilangkan redundansi tersebut. h. Validasi model konseptual lokal dengan transaksi user Memeriksa model konseptual lokal sudah dapat memenuhi segala transaksi yang dilakukan user belum, jika masih ada transaksi yang tidak dapat dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu. i. Review model dan konseptual lokal dengan user. Melakukan pemeriksaan ulang dengan user untuk memastikan model konseptual ini sudah sesuai. b. Perancangan Basis Data Logikal Perancangan basis data logikal adalah proses membangun model dari informasi yang digunakan di perusahaan berdasarkan pada model data tertentu tetapi bebas dari DBMS tertentu dan pertimbangan fisik lainnya (Connolly dan Begg, 2010, hal. 490). 21 Berikut langkah-langkah metodologi perancangan basis data logical : a. Menghapus fitur yang tidak sesuai dengan relational model. Menghilangkan relasi binary many-to-many, relasi rekursif many-tomany, relasi kompleks dan atribut multi valued. b. Membuat Hubungan untuk Model Data Logikal Lokal. Membuat hubungan model data logikal lokal untuk mempresentasikan entity, relationship dan atribut yang telah diidentifikasi. c. Validasi relasi-relasi menggunakan normalisasi Normalisasi digunakan untuk meyakinkan suatu resultant model. Resultant model adalah model yang sudah kosisten, redundansinya sudah minimal dan stabilitasnya sudah maksimum. d. Validasi relasi-relasi dengan transaksi user Memeriksa relasi yang telah dibuat pada tahap sebelumnya apakah mendukung transaksi ini, untuk memastikan tidak ada kesalahan selama membuat relasi-relasi. e. Menentukan integrity constraint Mendefinisikan batasan-batasan yang meliputi required data, attribute domain constraint, entity integrity, refential integrity dan enterprise integrity. f. Review logical model data lokal dengan user Memeriksa kembali model logikal dan menyediakan dokumentasi untuk user. Menggabungkan model data logikal lokal ke dalam model global. Langkah-langkah untuk membuat dan memvalidasi model data logikal global. • Menggunakan ERD, skema relasional, kamus data dan dokumentasi yang mendukung untuk mengidentifikasi persamaan dan perbedaan antara model – model dan juga membantu untuk menggabungkan model – model tersebut. • Memvalidasi model data logikal global Memvalidasi relasi yang telah dibuat dari model data logikal global menggunakan teknik normalisasi dan meyakinkan relasi tersebut mendukung kebutuhan transaksi yang ada. 22 • Cek untuk perkembangan selanjutnya Menentukan apakah akan sering terjadi perubahan yang drastis di masa yang akan datang dan menilai apakah model data logikal global ini dapat mengakomodasi perubahan yang terjadi. • Review logical data model global dengan user Melakukan pemeriksaan kembali dengan user untuk menentukan apakah model ini sudah sesuai dengan representasi perusahaan. c. Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah proses membuat deksripsi dari suatu basis data pada media penyimpanan yang mencakup tabel dasar, file organisasi dan indeks - indeks yang digunakan untuk mengatur akses suatu data dan tingkat keamanan pada basis data tersebut (Connolly dan Begg, 2010, hal. 522). Langkah-Langkah dalam merancang basis data fisikal, yaitu : • Menerjemahkan model data logikal global untuk target DBMS, yang dapat diuraikan sebagai berikut : • - Merancang relasi-relasi dasar - Merancang representasi dari data yang diturunkan - Merancang enterprise constraints Merancang representasi fisik Menentukan organisasi file yang optimal untuk menyimpan relasirelasi dasar dan indeks-indeks yang diperlukan untuk mencapai performance yang diinginkan, untuk itu akan ditentukan relasi dan tuple mana yang ada pada secondary storage. Berikut langkah dalam merancang representasi fisik : a) Analisis transaksi, memahami fungsi transaksi yang akan dijalankan pada basis data dan menganalisis transaksi- transaksi penting. b) Memilih organisasi file, menentukan pengelompokkan file yang efisien untuk setiap relasi yang terbentuk. c) Memilih indeks-indeks, menentukan jika penambahan indeks akan meningkatkan performance sistem. 23 d) Memperkirakan kebutuhan disk space, memperkirakan jumlah disk space yang akan dibutuhkan oleh basis data. • Perancanyan user view Merancang user view yang diidentifikasikan selama pengumpulan kebutuhan-kebutuhan dan tahap analisis dari siklus aplikasi basis data relational. • Perancangan mekanisme keamanan Merancang mekanisme keamanan untuk basis data seperti yang ditentukan oleh user. Relational DBMS secara umum menyediakan dua tipe keamanan basis data yaitu : a. Keamanan sistem : mencakup akses dan penggunaan basis data pada level sistem, seperti user name dan password. b. Keamanan data : mencakup akses dan penggunaan objek basis data (seperti relasi dan view) dan aksi yang dapat dilakukan user terhadap objek. • Mempertimbangkan adanya pengontrolan redundancy. Bertujuan untuk menentukan apakah redundansi dalam batasan yang terkendali dengan menggunakan teknik normalisasi akan meningkatkan performance dari sistem. • Memonitor dan menjelaskan sistem operasional Bertujuan untuk mengawasi sistem operasional dan meningkatkan kinerja dari sistem untuk memperbaiki kebutuhan perancangan yang tidak sesuai atau merefleksikan perubahan- perubahan. 2.1.10 Normalisasi Menurut (Connolly dan Begg, 2010, hal. 415). Normalisasi adalah teknik untuk memproduksi set dari relasi yang diinginkan, sesuai dengan kebutuhan suatu perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi set dari relasi yang cocok yang membantu kebutuhan data dari perusahaan. Karakteristik dari set relasi yg cocok adalah sebagai berikut • Angka minimal dari atribut yang diperlukan untuk membantu kebutuhan data perusahaan. • Atribut dengan close logical relationship ditemukan di relasi yang sama. 24 • Minimal Redudancy 2.1.11 C# C# merupakan bahasa berorientasi obyek yang sederhana, yang memungkinkan pemrogram untuk membangun aplikasi yang kompleks. Dikombinasikan dengan net framework. Visual C# 2008 memungkinkan pembuat aplikasi windows, web service, database tools, kontrol, komponen, dan yang lainnya. Sebagai bahasa berorientasi obyek, C# mendukung proses enkapsulasi, inheritance dan polimorfisme. Semua variable dan method, termasuk main method, entry point aplikasi, di enkapsulasi dalam class definition. Sebuah kelas dapat mewarisi secara langsung dari satu kelas induk (Microsoft, 2011). 2.1.12 Visual Studio Visual studio adalah Integrated Development Enviroment (IDE) di mana developer bekerja untuk membuat program dalam salah satu dari banyak bahasa, termasuk Visual C #. .NET Framework adalah lingkungan pengembangan dan pelaksanaan yang memungkinkan bahasa pemrograman yang berbeda dan library untuk bekerja sama untuk membuat aplikasi Windows, Web, Mobile dan Office. .NET Framework adalah suatu komponen Windows yang mendukung pembuatan serta menjalankan aplikasi generasi berikutnya dan XML web service (Microsoft, 2011). 2.2 Teori yang terkait tema penelitian Berikut adalah teori-teori pendukung yang berhubungan dengan topik pembuatan skripsi ini : 2.2.1 Pembelian Pembelian menurut (Mulyadi, 2001, hal. 299) adalah suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang yang diperlukan. Prosedur-prosedur yang membentuk sistem pembelian adalah : a. Prosedur permintaan pembelian Fungsi gudang mengajukan permintaan pembelian langsung ke fungsi pembelian dengan menggunakan surat permintaan pembelian. 25 b. Prosedur pemesanan pembelian Fungsi pemasok pembelian mengirim surat pemesanan pembelian kepada yang dipilih dan memberitahukan kepada unit lain dalam perusahaan mengenai pemesanan pembelian yang dikeluarkan perusahaan. c. Prosedur penerimaan barang Fungsi penerimaan barang melakukan pemerikasan terhadap bahan yang diterima dari pemasok dan kemudian membuat laporan penerimaan barang untuk menyatakan penerimaan barang dari pemasok tersebut. d. Prosedur pencatatan hutang Fungsi akuntansi memeriksa dokumen-dokumen yang berhubungan dengan pembelian (surat pemesanan, laporan penerimaan, faktur dari pemasok) dan menyelenggarakan pencatatan ulang atau pengarsipan dokumen sumber sebagai catatan hutang. e. Prosedur distribusi pembelian Prosedur ini meliputi distribusi rekening yang didebet dari transaksi pembelian untuk kepentingan pembuatan laporan manajemen. 2.2.2 Penjualan Menurut (Mulyadi, 2001, hal. 202), Penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun secara tunai. Penjualan menurut cara pembayarannya dapat dibedakan menjadi sebagai berikut : a. Penjualan tunai, yaitu penjualan yang dilaksanakan perusahaan dengan cara mewajibkan pembeli dengan melakukan pembayaran barang terlebih dahulu sebelum barang diserahkan ke pembeli. b. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order dari pelanggan dengan mengirimkan barang atau jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang pelanggannya. Proses penjualan memiliki jaringan prosedur yang tidak dapat berdiri sendiri. Berikut adalah prosedur penjualan : a. Prosedur pemesanan penjualan Fungsi penjualan menerima pemesanan dari pembeli dan menambahkan informasi penting pada surat pemesanan dari pembeli, kemudian membuat surat pemesanan pengiriman dan mengirimkannya kepada fungsi yang lain 26 b. Prosedur pengiriman Fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat pemesanan pengiriman yang diterima dari fungsi penjualan. c. Prosedur penagihan Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. d. Prosedur pencatatan piutang Fungsi akuntansi mencatat tembusan faktur penjualan ke dalam kartu piutang. e. Prosedur distribusi penjualan Fungsi akuntansi mendistribusikan data penjualan menurut informasi yang diperlukan oleh manajemen . 2.2.3 Persediaan Menurut ( Alfredson et. al., 2007, hal. 342), persediaan adalah aset yang tersedia untuk dijual dalam proses bisnis biasa atau set yang ada dalam proses produksi. Persediaan dibagi menjadi beberapa jenis oleh ( Horngren et. al., 2002, hal. 759) menjadi sebagai berikut : a. Persediaan bahan mentah Persediaan ini akan digunakan dalam proses manufaktur untuk diolah kembali. b. Persediaan barang dalam proses Barang yang sudah melalai beberapa tahap pada proses manufaktur, tetapi masih perlu diolah kembali. c. Persediaan barang jadi Barang yangsudah diproses dan siap untuk dijual. 27 2.2.4 Metode Aliran Persediaan Barang Menurut (Warren et. al., 2005), metode aliran persediaan barang adalah cara penambahan dan pengurangan barang dari gudang. Terdapat 2 macam aliran persediaan barang yang biasa digunakan, yaitu : a. FIFO (First In, First Out) Metode ini mengatur aliran persediaan barang dimana barang yang lebih dahulu masuk ke dalam gudang akan keluar terlebih dahulu dengan harga barang yang bervariatif sesuai dengan harga barang pada saat barang tersebut dibeli. Biasanya diterapkan pada produk yang mudah membusuk. b. LIFO (Last In, First Out) Metode dimana barang yang terakhir kali masuk yang akan dikeluarkan terlebih dahulu. Biasanya diterapkan pada perusahaan yang memiliki tingkat perputaran (turn over) yang tinggi. 2.3 Hasil Penelitian atau Produk Sebelumnya Menurut (Meliana dan Lukas, 2012, hal. 3-12), sebuah sistem basis data dirancang untuk mendukung sistem penjualan, pembelian, dan persediaan obat. Alasan perancangan dari sitem basis data ini dikarenakan oleh data yang belum terintegrasi dengan baik antar satu bagian dengan bagian yang lain, redundansi data, dan masalah keamanan data yang kurang meyakinkan. Oleh karena itu, solusi untuk mengatasi masalah-masalah tersebut yaitu membuat suatu sistem basis data untuk menggantikan sistem lama yang bersifat manual dan menimbulkan banyak masalah. Dapat disimpulkan bahwa sistem basis data membantu dalam memperoleh informasi dengan cepat dan tepat sehingga membantu pihak manajemen untuk mengambil keputusan. Selain itu, keamanan data perusahaan juga lebih terjamin dengan adanya hak akses Menurut (D.Trioktavian, 2011, hal. 3-9), minimarket merupakan jenis usaha yang berorientasi pada laba. Dengan pengolahan data secara terkomputerisasi, barang yang telah dijual mampu diketahui secara cepat, berserta keuntungannya. Pengolahan data secara terkomputerisasi juga mampu membantu dalam mengontrol penyetokan barang, mengontrol kadaluarsa barang, mengetahui barang apa yang paling banyak terjual/laku, 28 barang apa yang paling sedikit terjual/tidak laku, membandingkan antar merk untuk barang sejenis yang paling sering dicari. Untuk itu dirancang sistem basis data penjualan barang untuk memudahkan proses kerja dalam minimarket tersebut. Dapat disimpulkan pembuatan sistem basisdata dalam minimarket grace untuk membantu mempercepat kinerja dalam karyawan dalam mengambil keputusan. Menurut (Masudul, 2006, hal. 27-54), sebuah sistem basis data dirancang untuk mendukung sistem penjualan dari perusahaan honeycom. Alasan perancangan dari sitem basis data ini dikarenakan oleh perusahaan dari Bangladesh ini ingin data dapat diproses dengan cepat. Oleh karena itu, solusi untuk mengatasi yaitu membuat suatu sistem basis data untuk menggantikan sistem lama yang bersifat manual. Dapat disimpulkan pembuatan sistem basisdata dalam perusahaan honeycom untuk membantu mempercepat perusahaan sehingga memudahkan karyawannya. perubahan data didalam