BAB 2 LANDASAN TEORI 2.1 Data Dalam suatu organisasi suatu data itu sangat dibutuhkan, tanpa adanya data maka organisasi tersebut tidak dapat melakukan kegiatan usahanya. Pengertian data sendiri adalah Menurut Indrajani (2011, p48) Data adalah suatu fakta mentah tentang orang, tempat, kejadian, dan apapun yang penting bagi perusahaan, dimana data itu sendiri tidak memiliki arti. Menurut Mc.Leod (2007, p9) Data adalah kumpulan fakta dan gambaran yang secara umum tidak dapat digunakan karena ukuran yang besar dan belum diolah. Menurut Connolly dan Begg (2010, p19) Data adalah suatu komponen yang paling penting dalam DBMS. Data merupakan sebuah sumber yang harus dikontrol dan dikelola dan data juga merupakan fakta-fakta atau observasi yang mentah, biasanya mengenai kejadian atau transaksi bisnis. 2.2 Basis Data Organisasi skala besar saat ini rata-rata sudah menggunakan Basis Data. Basis Data sangat berperan penting dalam suatu perusahaan. Selain untuk mempermudah manager dalam me-manage data, Basis Data berguna untuk menjaga intregritas data tersebut. Jaegeol Yim (2012, p503) mengatakan bahwa basis data merupakan suatu kumpulan data dan sistem basis data itu merupakan suatu 7 8 kumpulan data didalam basis data yang terintegrasi dengan sistem. Pengertian dari Basis Data adalah: Menurut O’Brien (2008, p163), Basis Data adalah sekumpulan data yang terintregasi dan berkaitan secara logical antara data yang satu dengan yang lainnya dan berguna untuk memenuhi kebutuhan informasi dalam suatu organisasi. Menurut Mc.Leod (2007, p124), Basis Data adalah kumpulan dari semua data yang saling berhubungan dan terintegrasi yang berbasis komputer dalam suatu perusahaan. Menurut (Widhyaestoeti, 2011), Basis data adalah suatu tempat penyimpanan data yang dapat menampung satu atau lebih table dan queri. Menurut (Gintoro, 2010), Basis Data adalah koleksi data yang saling berhubungan dan didesain sedemikian rupa untuk memenuhi kebutuhan informasi dari suatu organisasi. Menurut Connolly dan Begg (2010, p65), Basis Data adalah kumpulan dari data logical yang berhubungan dan deskripsi dari data tersebut yang dirancang untuk kebutuhan informasi suatu perusahaan. Dari definisi di atas dapat disimpulkan bahwa Basis Data adalah kumpulan informasi yang disimpan didalam computer secara sistematik untuk memperoleh informasi dari basis data tersebut. 2.3 Database Management System (DBMS) Dalam sebuah organisasi DBMS digunakan untuk memanage database sehingga memudahkan user untuk mengontrol akses ke dalam database tersebut, Okunade (2010, p37) mengatakan bahwa saat ini DBMS telah berkembang dengan pesat, dimulai dari yang sebelumnya hanya pengumpulan dan penggunaan data yang 9 terorganisir, tetapi sekarang ini dapat memungkinkan para user untuk menciptakan, memelihara, mengubah dan megelola data lebih spesifik. Jason L. Salemi, et al (2010, p10) Pengembangan relasional DBMS yang terintegrasi akan meningkatkan integritas dari suatu program data serta meningkatkan efisiensi untuk penggunanya. Berikut adalah definisi-definisi dari DBMS : Menurut O’Brien (2008, p592), DBMS adalah sekumpulan program computer yang memungkinkan user untuk menciptakan, memelihara, mengubah, mengontrol akses terhadap basis data suatu organisasi. Menurut Hoffer (2009, p49), DBMS adalah sebuah sistem pernagkat lunak yang menyediakan metode sistematis untuk menciptakan dan memperbaharui, menyimpan, dan mengambil data dalam basis data. Menurut Connolly dan Begg (2010, p66), DBMS adalah sebuah sistem software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke dalam basis data. Keuntungan dari DBMS antara lain adalah: • Kepraktisan DBMS menyediakan media penyimpan permanen yang berukuran kecil namun banyak menyimpan data jika dibandingkan dengan media lain. • Kecepatan Komputer dapat mencari dan menampilkan informasi yang dibutuhkan dengan cepat. • Mengurangi kejenuhan Pekerjaan yang berulang-ulang dapat menimbulkan kebosanan bagi manusia, sedangkan mesin tidak merasakannya. 10 • Update to date Informasi yang tersedia selalu berubah dan akurat. Komponen-komponen dalam DBMS meliputi: • Hardware DBMS membutuhkan hardware untuk berjalan. • Software Komponen ini terdiri dari perangkat lunak DBMS itu sendiri. • Data Komponen terpenting dalam suatu DBMS. • Procedure Komponen yang berisi instruksi yang akan menentukan kegunaan dari DBMS tersebut. • People Pengguna yang mengkases DBMS. 2.4 Database Language Menurut Connolly dan Begg (2010, p91) Database language terdiri dari dua bagian, yaitu data definition language (DDL) dan data manipulation language (DML). DDL biasa digunakan untuk skema database, skema basis data, dan DML biasa digunakan untuk membaca dan mengupdate database. Kedua bahasa ini biasa disebut data sublanguages. 2.4.1 Data Definition Language (DDL) Menurut Connolly dan Begg (2010, p92) data definition language adalah suatu bahasa yang memperbolehkan database administrator atau user untuk menjelaskan dan menamai entitas, atribut, dan relasi yang diperlukan 11 untuk aplikasi, bersama dengan integritas yang terasosiasi dan security constraint. DDL biasa digunakan untuk mendefinisikan sebuah skema atau mengubah skema yang sudah ada. Itu tidak dapat digunakan untuk memanipulasi data. Statement dasar SQL - DDL adalah : • Membuat basis data (Create Schema) • Membuat Table (Create Table) • Mengubah Definisi Table (Alter Table) • Menghapus Table (Drop Table) • Membuat Index (Create Index) • Menghapus Index(Drop Index) • Membuat view(Create View) 2.4.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2010, p92) DML adalah sebuah bahasa yang menyediakan sekumpulan operasi untuk mendukung dasar manipulasi data pada data yang berada dalam basis data. Operasi dalam DML meliputi : • Meng-Insert data baru kedalam basis data • Melakukan modifikasi dari data yang ada dalam basis data • Menampilkan data yang ada dalam database • Menghapus data dari database 2.5 Database Lifecycle (DBLC) Menurut Connolly dan Begg (2010, p262) Database Lifecycle merupakan suatu komponen yang penting dalam sistem basis data karena aplikasi dari database lifecycle berkaitan dengan sistem informasi yang ada. 12 Gambar 2.1 Database Lifecycle Connolly dan Begg (2010, p264) 2.5.1 Database Planning Menurut Connolly dan Begg (2010, p263) Database Planning adalah Aktifitas manajemen untuk merealisasikan tahapan DBLC secara efektif dan efisien. Perencanaan basis data mencakup cara pengumpulan data, format data, dokumentasi yang diperlukan, cara membuat design, dan implementasi. Perancanaan basis data terintegrasi dengan keseluruhan strategi sistem informasi organisasi. Ada tiga hal yang berkaitan dengan strategi sistem informasi, diantaranya : 13 • Identifikasi rencana dan sasaran dari organisasi termasuk mengenai sistem informasi yang dibutuhkan. • Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki sistem tersebut. • Penafsiran kesempatan teknik informatika yang memungkinkan memberikan keuntungan kompetitif. Metodologi untuk mengatasi hal - hal tersebut terbagi atas dua, yaitu : • Mendefinisikan mission statement untuk sistem basis data. Dalam mission statement didefinisikan tujuan utama pembuatan basis data. Mission statement membantu menjelaskan tujuan proyek basis data dan memberikan tahapan yang jelas, efektif, dan efisien dari aplikasi basis data. • Mendefinisikan mission objective. Tiap object mengindentifikasikan kembali tugas-tugas tertentu yang harus didukung basis data. Dapat juga disertai beberapa informasi tambahan yang menjelaskan pekerjaan yang harus diselesaikan, sumber daya yang digunakan, dan biaya untuk membiayai hal tersebut. 2.5.2 System Definition Menurut Connolly dan Begg (2010, p266) System Definition menjelaskan tentang ruang lingkup dan batasan dari aplikasi basis data dan tampilan user secara umum. Tampilan user merupakan apa yang dibutuhkan dari sistem basis data dari tingkatan perspektif pekerjaan (seperti manager atau supervisor) atau area aplikasi organisasi (seperti marketing). 14 Mengidentifikasi user view membantu untuk memastikan agar tidak ada pengguna basis data yang terlupakan dan mengetahui apa yang diinginkan pengguna saat aplikasi baru akan dibuat. Selain itu user view juga membantu dalam mengembangkan aplikasi basis data yang rumit dan dapat menguraikannya menjadi sub-sub bagian yang lebih sederhana. 2.5.3 Requirement Collection and Analysis Menurut Connolly dan Begg (2010, p266) Requirement Collection and Analysis merupakan suatu proses mengumpulkan dan menganalisa informasi tentang organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan user terhadap sistem baru. Ada tiga pendekatan utama dalam mengelola kebutuhan dari sistem basis data dengan menggunakan multiple user view : 1. Centralized Approach Setiap user view memiliki kebutuhan-kebutuhan yang berbeda, dimana seluruh kebutuhan tersebut akan dikumpulkan dan dibuatkan menjadi suatu global data model yang nantinya diperlukan dalam pembuatan basis data. 2. View Integration Approach Kebutuhan untuk tiap user view dibuat dalam model data yang terpisah. Model data yang menggambarkan single user view disebut model data lokal, disusun dalam bentuk diagram dan dokumentasi yang mendeskripsikan kebutuhan user view basis data. Model data 15 lokal ini kemudian digabungkan untuk menghasilkan model data global, yang menggambarkan seluruh user view untuk basis data. 3. Gabungan antara kedua pendekatan tersebut 2.5.4 Database Design Menurut Connolly dan Begg (2010, p270) Database Design merupakan proses dalam membuat sebuah rancangan basis data yang akan mendukung mission statement dan mission objective perusahaan. Database design terdiri dari tiga bagian utama, yaitu : Conceptual database design, logical database design, physical database design. 2.5.4.1 Conceptual Database Design Menurut Connolly dan Begg (2010, p272) Conceptual Database Design adalah suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang bersifat independent dari keseluruhan aspek fisik. Model data tersebut dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan user dan merupakan sumber informasi untuk fase design logical. 2.5.4.2 Logical Database Design Menurut Connolly dan Begg (2010, p440) Logical Database Design adalah suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang berdasarkan model data tertentu, namun independent terhadap DBMS tertentu dan aspek fisik lainnya. Misalnya relational. Model data konseptual yang telah 16 dibuat sebelumnya, diperbaiki dan dipetakan kedalam model data logical. 2.5.4.3 Physical Database Design Menurut Connolly dan Begg (2010, p274) Physical Database Design adalah proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat dikatakan juga, design fisikal merupakan cara pembuatan menuju DBMS tertentu. 2.5.5 DBMS Selection Menurut Connolly dan Begg (2010, p16) DBMS Selection merupakan pemilihan dari DBMS yang akan digunakan untuk menunjang sistem basis data. Tahap utama dari pemilihan DBMS : • Definisikan waktu untuk melakukan studi referensi. • Catat dua atau tiga produk yang akan dievaluasi untuk digunakan. • Evaluasi produk tersebut. • Rekomendasikan produk yang dipilih dan buat laporan yang mendukungnya. 2.5.6 Application Design Menurut Connolly dan Begg (2010, p281) Application Design adalah perancangan user interface dan program aplikasi yang menggunakan dan melakukan proses terhadap basis data. Design basis data dan aplikasi dilakukan secara paralel. 17 Dua hal yang harus diperhatikan dalam application design adalah : • Transaction Design Merupakan suatu tindakan atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi dimana isi dari database itu berubah. Dan tujuan dari transaction design ini untuk mendefisinikan dan mendokumentasikan transaksi yang memiliki tingkat karakteristik yang tinggi dalam basis data, seperti : o Data yang digunakan oleh transaksi. o Karakteristik fungsional dari transaksi. o Output dari transaksi. o Kepentingan bagi user. o Tingkat yang diharapkan dari penggunaan. Ada tiga tipe utama dari transaksi : o Retrieval transaction Digunakan untuk memperoleh data yang nantinya akan digunakan pada layar atau laporan produksi. o Update transaction Digunakan untuk memasukan data baru, menghapus data lama, atau mengubah data yang sudah ada dalam basis data. o Mixed transaction Merupakan gabungan dari retrieval transaction dengan update transaction. • User Interface Design 18 Dalam bagian ini ada beberapa hal penting yang harus diperhatikan, diantaranya yaitu : o Memberikan nama judul form yang jelas. o Pemberian instruksi yang jelas, yang sering digunakan sehingga user dapat mengerti apa yang disampaikan. o Field yang saling berhubungan ditempatkan pada form yang sama dan berurutan. o Tampilan form atau report harus menarik dan sesuai dengan rencana kerja. o Penggunaan label pada field yang sering digunakan. o Penggunaan istilah dan singkatan yang digunakan harus konsisten. o Penggunaan warna yang konsisten sesuai dengan form atau report. o Jumlah digit yang digunakan dalam memasukkan data harus diketahui oleh user. o User harus dengan mudah dapat mengetahui cara menjalankan operasi yang diinginkan dengan menggerakkan cursor. o User harus dapat dengan mudah memasukkan data untuk melakukan perubahan terhadap nilai field. o Jika user memasukkan data yang salah kedalam field sebuah error message harus tampil, pesan ini berguna untuk 19 memberitahukan user agar user mengetahui apa yang telah terjadi. o Field yang sifatnya tidak mandatory dapat terlihat dengan jelas oleh user, misalnya dengan menggunakan tanda bintang. o Saat user meletakkan cursor pada suatu field, informasi pada field itu akan muncul. o Seharusnya terdapat sebuah indikator yang memberitahukan kepada user bahwa suatu proses telah dilakukan. 2.5.7 Prototyping Menurut Connolly dan Begg (2010, p283) Prototyping adalah suatu pembuatan model kerja suatu aplikasi basis data. Tahapan ini bersifat optional. Tujuan utama prototyping : • Untuk mengidentifikasi fitur sistem yang sedang berjalan. • Untuk melakukan perbaikan fitur atau penambahan fitur baru. • Untuk mengklarifikasikan kebutuhan user. • Untuk melakukan evaluasi kelayakan dan kemungkinan apa yang terjadi dalam rancangan sistem. Ada dua macam prototyping : • Requirement Prototyping Menggunakan prototype untuk menentukan kebutuhan dari sistem basis data yang diinginkan dan kebutuhan dipenuhi, prototype akan dihilangkan. • Evolutionary Prototyping 20 Biasanya digunakan untuk hal yang sama seperti requirement prototyping, perbedaan utama adalah prototype ini tidak akan dihilangkan tetapi akan dilakukan pengembangan. 2.5.8 Implementation Menurut Connolly dan Begg (2010, p333) Merupakan realisasi fisik dari basis data dan design aplikasi. Implementasi basis data dicapai menggunakan : • DDL untuk membuat skema basis data dan file basis data yang kosong. • DDL untuk membuat user view yang dinginkan. • 3GL atau 4GL untuk membuat program aplikasi. Termasuk transaksi basis data yang menggunakan DML atau ditambahkan pada bahasa pemrograman. 2.5.9 Data Conversion and Loading Menurut Connolly dan Begg (2010, p334) Data Conversion and Loading merupakan pemindahan data yang ada kedalam basis data yang baru dan mengkonversikan aplikasi yang ada agar dapat menggunakan basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data yang baru menggantikan yang lama. DBMS biasanya memiliki fitur untuk memanggil ulang file yang telah ada ke dalam basis data baru. Dapat juga mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru. 21 2.5.10 Testing Menurut Connolly dan Begg (2010, p334) Testing adalah suatu proses menjalankan aplikasi sistem basis data dengan tujuan untuk mencari kesalahan yang ada. Tahap ini hanya akan terlihat jika terjadi kesalahan pada software. Kriteria yang dapat digunakan untuk menggunakan evaluasi ini adalah • Learn Ability Berapa lama user baru menggunakan sistem. • Performance Seberapa baik respon dari sistem yang dihadapkan pada hasil kerja user. • Robustness Seberapa tinggi toleransi dari sistem terhadap kesalahan user. • Recoverability Seberapa baik sistem untuk menutupi kesalahan user. • Adaptability Seberapa dekat sistem berhubungan dengan model kerja. 2.5.11 Operational Maintenance Menurut Connolly dan Begg (2010, p335) Operational Maintenance adalah proses dari pengamatan dan perbaikan dari sistem basis data yang sudah diterapkan. Dalam tahap sebelumnya, sistem basis data sudah sepenuhnya diimplementasikan dan dicoba. Sistem tersebut akan memasuki tahap perbaikan dimana terkait dengan beberapa aktifitas seperti : 22 • Pengawasan kinerja sistem, jika kinerja menurun maka memerlukan perbaikan atau pengaturan ulang basis data. • Pemeliharaan dan pembaharuan aplikasi basis data (Jika dibutuhkan). • Penggabungan kebutuhan baru kedalam aplikasi basis data. 2.6 Normalisasi Menurut Connolly dan Begg (2010, p366) Normalisasi adalah teknik untuk mengidentifikasi suatu hubungan dengan sifat sifat yang diinginkan sesuai dengan kebutuhan perusahaan. Tujuan normalisasi adalah mengindentifikasikan kesesuaian hubungan yang mendukung data untuk memenuhi kebutuhan perusahaan. Adapun karakteristik hubungan tersebut mencakup : • Minimalkan jumlah atribut yang diperlukan untuk mendukung kebutuhan perusahaan. • Atribut dengan hubungan logika yang menjelaskan mengenai fungsional dependencies yang ditemukan dalam hubungan yang sama. • Meminimalkan terjadinya redudansi data. Beberapa hal yang perlu diperhatikan dalam proses nornalisasi meliputi : • Suatu teknik formal untuk menganalisa relasi berdasarkan primary key dan fungsional dependencies antar atribut. • Dieksekusi dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu sesuai dengan sifat yang dimilikinya. • Setelah normalisasi diproses, relasi menjadi secara bertahap lebih terbatas atau kuat mengenai bentuk formatnya dan juga mengurangi tindakan update yang anomali. 23 Normalisasi terbagi menjadi unormalized form(UNF), First Normal Form(1NF), Second Normal Form(2NF), Third Normal Form(3NF). • Unormalized Form(UNF) Merupakan suatu table yang berisikan satu atau lebih grup yang berulang. Membuat table yang unormalized yaitu dengan memindahkan data dari sumber informasi. Contohnya nota penjualan yang disimpan dalam format table dengan baris dan kolom. • First Normal Form(1NF) Merupakan sebuah relasi dimana setiap baris dan kolom berisikan satu dan hanya satu nilai. Proses UNF ke 1NF : o Tentukan satu atau kumpulan atribut sebagai kunci untuk table unormalized. o Indetifikasikan grup yang berulang dalam table unormalized yang berulang untuk kunci atribut. o Hapus grup yang berulang dengan cara : Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang. Menggantikan data yang ada dengan menulis ulang dari kunci atribut yang sesungguhnya kedalam relasi terpisah. • Second Normal Form(2NF) Merupakan sebuah relasi dalam 1NF dan setiap atribut non primary key bersifat fully fungsionaly dependent pada primary key. 24 Proses 1NF ke 2NF : o Identifikasikan primary key untuk relasi 1NF. o Identifikasikan fungsional dependencies dalam relasi. o Jika terdapat partial dependencies terhadap primary key maka hapus dengan menempatkan dalam relasi yang baru bersama dengan salinan determinannya. • Third Normal Form(3NF) Merupakan sebuah relasi dalam 1NF dan 2NF, dimana tidak terdapat atribut non primary key yang bersifat transitively dependent pada primary key. Proses 2NF ke 3NF : o Identifikasikan primary key dalam relasi 2NF. o Identifikasikan fungsional dependencies dalam relasi. o Jika terdapat transitive dependencies terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya. 2.7 Entity Relationship Modeling Entity-Relationship Modeling Database digunakan untuk mendesain rancangan-rancangan suatu database dalam suatu organisasi, definisi EntityRelationship Modeling Database adalah : Menurut Rainer (2007, p103), Entity-Relationship Modeling database itu adalah suatu proses yang mendesain rancangan-rancangan database. Menurut Connolly dan Begg (2010, p371), Entity-Relationship Modeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat 25 terhadap data dan penggunaannya di dalam suatu perusahaan. Model ini menggunakan pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data penting yang disebut entity dan relasi antar data yang akan direpresentasikan ke dalam model. Kemudian ditambahkan detail-detail lebih seperti informasi yang akan dicari mengenai entitas dan relationship yang disebut dengan atribut dan constraints pada entity, atribut dan relationship. 2.7.1 Entity Menurut Connolly dan Begg (2010, p372) Entity merupakan sekumpulan object yang memiliki karakteristik yang sama yang diindentifikasikan oleh perusahaan. Menurut Jeffrey A. Hoffer (2009, p49) Entity adalah seseorang, tempat, object, kejadian ataupun sebuah konsep dalam sebuah hubungan pengguna mengenai dimana data yang dimaintain dalam suatu organisasi yang diharapkan. Ada dua jenis Entity, diantaranya : • Strong entity Sebuah jenis entity yang tidak bergantung pada entity lain. Entity ini dapat berdiri sendiri. • Weak entity Sebuah jenis entity yang tergantung pada entity lain. Entity ini tidak dapat berdiri sendiri. 2.7.2 Relationship Menurut Connolly dan Begg (2010, p374) Relationship adalah suatu asosiasi antara satu atau lebih entity. 26 Derajat relationship adalah jumlah entitas yang berpartisipasi dalam suatu relationship. Terdiri atas : • Binary relationship Merupakan keterhubungan antara dua tipe entitas. • Ternary relationship Merupakan keterhubungan antara tiga tipe entitas. • Quaternary relationship Merupakan keterhubungan antara empat tipe entitas. • Unary relationship Merupakan keterhubungan antara satu tipe entias, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran berbeda. Kadang disebut juga recursive relationship. 2.7.3 Attribute Menurut Connolly dan Begg (2010, p379) Attribute adalah suatu karakter dari sebuah entity atau relationship. Sebagai contohnya, entity staff terdiri dari staff number, name, position, salary. Atribut terdiri dari : • Simple attribute Merupakan atribut yang terdiri atas satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Contohnya : NIM, NOMOR KTP, NOMOR SIM, NPWP, dan sebagainya. • Composite attribute 27 Merupakan atribut yang terdiri atas beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independent. Contohnya atribut address terdiri dari street, city, postcode. • Single value attribute Merupakan atribut yang memiliki nilai tunggal untuk setiap kejadian. Contohnya entitas branch memiliki satu nilai untuk atribut branch number pada setiap kejadian. • Multivalue attribute Merupakan atribut yang mempunyai beberapa nilai untuk setiap kejadian. Contohnya entitas branch memiliki beberapa nilai atribut telp number pada setiap kejadian. • Derived attribute Merupakan atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari satu entitas. Contohnya lama pinjam dihasilkan dari perhitungan mulai pinjam dikurangi tanggal pengembalian, perhitungan bunga tabungan dari jumlah saldo dan lamanya dana mengendap di tabungan, dan lain sebagainya. 2.7.4 Key Menurut Connoly dan Begg (2010, p381) Key adalah suatu kombinasi dari satu atau lebih kolom yang digunakan untuk mengidentifikasi baris tertentu dalam suatu relasi. Jenis-jenis key, meliputi: • Primary Key 28 Candidate Key yang dipilih untuk mengindentifikasikan setiap kejadian atau record suatu entitas secara unique. • Foreign Key Sebuah kolom atau gabungan dari kolom yang merupakan primary key dari sebuah table lain daripada table yang muncul. • Candidate Key Jumlah minimal atribut atribut yang dapat mengidentifikasikan setiap kejadian atau record secara unique. • Composite Key Merupakan Candidate Key yang terdiri atas dua atau lebih atribut. 2.7.5 Structural Constraint Indrajani (2011, p114) Batasan utama pada relationship disebut multiplicity, yaitu jumlah atau range dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Menurut Connolly dan Begg (2010, p396) Structural Constraint adalah batasan tipe entitas yang mempunyai kesamaan dalam relationship. Multiplicity adalah jumlah atau range dari terjadinya suatu keadaan berdasarkan suatu entitas yang berhubungan dengan kejadian tunggal dari jenis entitas yang terkait melalui suatu hubungan tertentu. Hubungan yang paling umum adalah binary relationship, yang terdiri atas : • One to One (1 : 1) Hubungan antara entitas yang satu dengan entitas yang lain mempunyai relasi hubungan satu entitas. 29 • One to Many (1 : *) Hubungan antara entitas pertama yang mempunyai banyak relasi dengan entitas kedua yang mempunyai relasi satu entitas. • Many to Many (* : *) Hubungan antara entitas pertama yang mempunyai relasi banyak dengan entitas kedua. 2.8 Penjualan Di dalam perusahaan dagang, penjualan itu merupakan suatu proses yang umum dilakukan, definisi penjualan adalah: Menurut Kotler (2010, p528), Penjualan adalah suatu proses dimana kebutuhan pembeli dan penjual terpenuhi. Tujuan dari adanya penjualan adalah untuk mendapatkan keuntungan. Sesuatu yang dijual dapat berupa barang ataupun jasa. Menurut Suparto (2007), Penjualan adalah suatu kegiatan dimana adanya interaksi antara pembeli dan penjual. Dimana kedua belah pihak akan saling menguntungkan. Menurut Indrajani (2011, p68) Kegiatan penjualan terdiri atas penjualan barang dan jasa, baik secara kredit maupun secara tunai. Dalam transaksi penjualan kredit, jika pesanan dari pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan jasa, untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya. Dalam sistem penjualan tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli jika perusahaan telah menerima kas dari pembeli. 30 2.9 Pembelian Di dalam perusahaan dagang, kegiatan pembelian barang merupakan suatu kegiatan yang selalu di lakukan untuk memenuhi kebutuhan perusahaan, definisi penjualan adalah: Menurut Schroeder (2007, p335), Pembelian adalah suatu kegiatan untuk mendapatkan suatu barang, baik itu barang mentah maupun barang jadi yang bertujuan untuk memenuhi kebutuhan suatu perusahaan. Indrajani (2011, p71) Pembelian adalah suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Pembelian merupakan kegiatan yang dilakukan oleh semua organisasi/perusahaan. Pada waktu proses pembelian berlangsung, pembeli harus memperhatikan kualitas barang yang akan dibeli tersebut. Didalam kegiatan pembelian ini, terdapat dua macam jenis transaksi yaitu: • Tunai Pembelian secara tunai adalah suatu transaksi dimana pembayaran dilakukan secara langsung saat itu juga. • Kredit Pembelian secara kredit adalah suatu transaksi dimana pembayaran tidak dilakukan secara langsung, tetapi dilakukan beberapa waktu kemudian sesuai dengan kesepakatan kedua belah pihak. 2.10 Persediaan Di dalam perusahaan dagang, persediaan barang merupakan inti dari kegiatan perusahaan, tanpa adanya persediaan barang maka perusahaan tidak dapat melakukan kegiatan usahanya, definisi persediaan adalah: 31 Menurut Stevenson (2009, p571), Re-order point terjadi ketika jumlah persediaan telah mendekati jumlah minimal yang telah ditetapkan. Re-order point ini berguna untuk mencegah kehabisan stok barang. Dalam perusahaan dagang, persediaan hanya terdiri atas satu golongan, yaitu persediaan barang dagangan, yang merupakan barang yang dibeli untuk dijual kembali. Transaksi yang mengubah persediaan produk jadi, persediaan bahan baku, persediaan bahan penolong, persediaan bahan habis pakai pabrik, dan persediaan suku cadang, bersangkutan dengan transaksi internal perusahaan dan transaksi yang menyangkut pihak luar perusahaan (Penjualan dan pembelian). Persediaan dikatakan sangat penting bagi perusahaan, karena persediaan berguna untuk : • Menghilangkan resiko keterlambatan datangnya barang. • Menghilangkan resiko dari produk yang dipesan tidak bagus atau rusak. • Mempertahankan stabilitas operasi perusahaan atau menjamin kelancaran arus produksi. • Memberikan pelayanan kepada pelanggan sebaik baiknya, dimana keinginan langganan pada setiap waktu dapat terpenuhi atau memberi jaminan tetap tersedianya barang tersebut. 2.11 Fact Finding Techniques Menurut Connolly dan Begg (2010, p341), proses formal menggunakan teknik seperti interview dan kuesioner untuk mengumpulkan fakta mengenai sistem, kebutuhan, dan preferensi. Dari pengertian di atas dapat disimpulkan bahwa teknik fact finding seperti interview dan kuisioner digunakan untuk mengetahui data-data mengenai kebutuhan 32 sistem pada suatu perusahaan. Terdapat 5 teknik Fact finding yang biasanya digunakan, yaitu: 1. Examining Documentation Dengan memeriksa dokumentasi dari sistem yang ada seperti form, laporan ,dan file maka akan dapat memahami sistem berjalan dengan cepat. Keuntungan Kerugian Tingkat akurasi data tinggi Solusi permasalahan Membutuhkan biaya yang lebih besar diperoleh Membutuhkan waktu yang lebih dengan cepat dan akurat banyak 2. Interviewing Merupakan teknik wawancara untuk mendapatkan suatu informasi. Terdapat dua bentuk wawancara yang dapat dilakukan yang pertama dalah unstructured interview sehingga fokus wawancara dapat berpindah-pindah. Bentuk kedua adalah structured interview dimana interviewer memiliki pertanyaan-pertanyaan spesifik untuk dijawab oleh interviewer. Pertanyaan tersebut dapat berupa open-ended questions dan closed ended-questions. Keuntungan Kerugian Mengizinkan nara sumber untuk Membutuhkan biaya yang besar dan merespon dengan bebas dan terbuka waktu yang lama untuk memberikan pertanyaan Mengizinkan nara sumber merasakan Kesuksesan bagian dari proyek kemampuan pewawancara tergantung dari berkomunikasi dari 33 3. Observing the enterprise in operation Dengan teknik ini maka dimungkinkan pengamatan pada saat melakukan aktivitas dan belajar mengenai sistem yang sedang berjalan. Keuntungan Kerugian Data yang diperoleh lebih akurat Waktu yang dibutuhkan lebih banyak Dapat secara langsung menganalisis Biaya yang dikeluarkan lebih besar masalah yang sedang terjadi 4. Research Suatu teknik fact-finding yang berguna untuk penelitian yaitu dengan mengumpulkan data-data dari berbagai media yang ada seperti buku, internet dan artikel-artikel. Keuntungan Kerugian Dapat menghemat waktu jika solusi Jika solusi tidak ditemukan maka telah ada waktu yang diperlukan akan lebih banyak Menjaga peneliti agar up to date Masalah yang tidak didokumentasi dengan penelitiannya akan sulit untuk diselesaikan 5. Questionnaires Kuesioner adalah fasilitas untuk mendapatkan fakta dari banyak peserta sekaligus. Terdapat dua bentuk pertanyaan pada suatu kuesioner yaitu freeformat question dan fixed-format question. Free-format question mengedepankan kebebasan responden dalam menjawab pertanyaan sehingga pertanyaan tidak disertai oleh jawaban yang sudah diarahkan sebelumnya. 34 Fixed-format question menginginkan jawaban dengan memiliki jawaban yang paling sesuai dari beberapa jawaban yang ada. Keuntungan Dapat menghemat biaya Kerugian Kuesioner yang dikembalikan tidak lengkap Jawaban dapat dianalisis dengan Membutuhkan waktu yang banyak mudah dalam menyiapkan kuesioner 2.12 Kerangka Pemikiran Gambar 2.2 Kerangka Pemikiran 35 Kerangka Pemikiran yang tergambar diatas dapat dijelaskan sebagai berikut: 1. Konstruksi merupakan perencanaan dalam membangun suatu rancangan basis data. 2. Ruang lingkup masalah merupakan suatu batasan dari permasalahan yang dibahas. 3. Analisis masalah merupakan suatu tindakan untuk menganalisis masalah yang sedang terjadi sehingga menemukan solusi permasalahan tersebut. 4. Analisis kebutuhan merupakan suatu tindakan dalam menganalisis kebutuhan apa saja yang dibutuhkan dalam suatu perancangan. 5. Melakukan perancangan basis data yang terdiri dari perancangan konseptual, logical, dan fisikal. 6. Melakukan implementasi dan pengujian dari basis data.