BAB 2 LANDASAN TEORI 2.1 Teori-Teori Dasar / Umum Dalam penulisan skripsi ini, diambil tema tentang perancangan basis data (database). Maka dari itu, diperlukan beberapa teori umum yang berhubungan dengan perancangan database, yang bertujuan untuk mendukung proses perancangan database tersebut, seperti teori tentang data, database, Database Management System (DBMS), Entity Relationship Modeling, Data Flow Diagram, normalisasi, metode fact finding, metodologi perancangan, ANSI-SPARC architecture, dan Database System Development Lifecycle. 2.1.1 Data Menurut Whitten (2004 : 27), data adalah Raw Fact tentang orang, tempat, acara, dan sesuatu yang penting bagi perusahaan. Menurut Turban (2005 : 38), data adalah deskripsi dasar tentang sesuatu , kejadian, kegiatan, dan transaksi yang ditangkap, direkam, disimpan dan diklasifikasikan namun tidak terorganisir untuk menyampaikan arti khusus. Menurut Frost, Day dan Slyke (2006 : 6), secara tradisional data adalah nilai yang disimpan ke dalam database. Menurut Connolly danBegg (2010 : 19), data adalah komponen yang paling penting dalam DBMS, berasal dari sudut pandang end user. Data berguna sebagai jembatan antara mesin dan pengguna. Jadi, dapat disimpulkan bahwa data merupakan segala sesuatu kejadian, kegiatan yang dapat direkam atau disimpan yang juga merupakan sebuah fakta. Serta merupakan sebuah komponen yang penting untuk DBMS yang dilihat dari sudut pandang end user. 6 7 2.1.2 Database Menurut Connolly dan Begg (2010 : 65), Database adalah sebuah kumpulan dari data-data logikal yang berhubungan dan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan dari informasi pada suatu organisasi.Database adalah tunggal, tempat penyimpanan data yang besar yang dapat digunakan secara bersama-sama oleh banyak departemen dan pengguna. Jadi kesimpulannya, Database adalah sebuah tempat penampungan dan penyimpanan data yang saling berhubungan dan memiliki informasi yang berguna bagi suatu organisasi. 2.1.3 Database Management System (DBMS) Menurut Connolly dan Begg (2010 : 6), Database Management Systemadalah sistem perangkat lunak yang memungkinkan pengguna untuk menentukan, membuat dan mengatur akses ke basis data. Menurut Kroenke dan Auer (2006 : 9), Database Management System adalah sebuah produk yang besar dan rumit, dan sedikit perusahaan membuat program DBMS mereka sendiri. Jadi kesimpulannya, Database Management System adalah sebuah perangkat lunak, yang besar dan rumit, yang digunakan untuk membuat, menentukan, dan mengatur hak akses terhadap objek yang ada dalam basis data. 2.1.3.1 Komponen lingkungan Database Management System (DBMS) Menurut Connolly dan Begg (2010 : 68-71), ada 5 komponen utama dari lingkungan DBMS: Hardware, Software, Data, Prosedur, dan People. Gambar 2.1 Komponen DBMS 1. Hardware DBMS dan aplikasinya memerlukan perangkat keras untuk dapat dijalankan.Perangkat keras dapat terdiri dari single personal computer, single mainframe, atau sebuah jaringan 8 computer. Beberapa DBMS hanya dapat berjalan pada perangkat keras, atau sistem operasi tertentu, sedangkan DBMS lainnya dapat berjalan pada bermacam-macam perangkat kelas atau sistem operasi. 2. Software Komponen perangkat lunak terdiri dari perangkat lunak DBMS dan program aplikasi dengan sistem operasi, didalamnya terdapat perangkat lunak jaringan apabila DBMS membutuhkan sebuah jaringan untuk digunakan. Pada umumnya program aplikasi ditulis dalam bahasa pemrograman generasi ketiga (3GL) seperti ‘C’, C++, Java, Visual Basic, COBOL, Fortran, Pascal, atau bahasa pemrograman generasi keempat (4GL), seperti SQL, yang juga terdapat pada bahasa pemrograman generasi ketiga. 3. Data Data merupakan komponen penting dalam sebuah DBMS, terutama dari sudut pandang pengguna akhir.Data menghubungkan komponen mesin (Hardware) dengan manusia. 4. Prosedur Prosedur mengarah pada instruksi dan peraturan yang mengatur rancangan dan penggunaan dari basis data. Para pengguna dari sistem dan staff yang mengelola basis data membutuhkan prosedur yang didokumentasikan tentang bagaimana cara menggunakan dan menjalankan sistem. Ini mencakup instruksi-instruksi, yaitu: • Log on keDBMS. • Menggunakan fasilitas DBMS program aplikasi tertentu. • Memulai dan mengakhiri DBMS. • Membuat duplikat back-up basis data. • Menangani kerusakan perangkat keras atau perangkat lunak. • Mengubah struktur table, mengatur ulang data antara banyak disk, meningkatkan kinerja atau penyimpanan arsip pada secondary storage. 9 5. People People merupakan komponen terakhir yang terlibat dengan sistem. Ada empat tipe role atau peran yang terlibat dalam sebuah DBMS, yaitu : 1. Data dan database administrators a. Data Administrator (DA) bertanggung jawab dalam mengatur sumber data, meliputi perencanaan basis data, standar pengaturan dan pengembangan, kebijakan dan prosedur maupun rancangan konseptual dan logika basis data. b. Database Administrator (DBA) bertanggung jawab dalam realisasi fisik basis data meliputi rancangan physical basis data dan implementasi, keamanan, dan pengaturan integritas, menjaga sistem operasional dan memastikan kinerja aplikasi untuk kepuasan pengguna. 2. Database Designers a. Logical Database Designer berhubungan dengan identifikasi data (entitas dan atribut), hubungan antara data dan batasan pada data untuk disimpan di basis data. b. PhysicalDatabase Designer memutuskan bagaimana rancangan basis data logical dapat direalisasikan. c. Application Developers bertanggung jawab untuk mengimplementasikan program aplikasi yang menyediakan syarat-syarat fungsionalitas untuk pengguna akhir. d. End User adalah klien untuk basis data yang telah dirancang kemudian diimplementasikan dan dijaga untuk menyediakan kebutuhan mereka. 2.1.4 Keuntungan DBMS Menurut Connolly dan Begg(2010 : 77-80), keuntungan DBMS, yaitu : 1. Kontrol terhadap redudansi data Pendekan basis data berupaya untuk menghilangkan redudansi dengan cara mengintegrasikan file-file agar salinan dari data yang sama tidak disimpan. 2. Konsistensi Data Dengan menghilangkan atau mengontrol redudansi, akan mengurangi resiko ketidakkonsistensi-an data. Jika data disimpan lebih dari sekali dan sistem mengenalinya, maka sistem harus memastikan semua salinan data tetap konsisten dan tidak berubah. 3. Informasi lebih dari jumlah data yang sama Dengan terintegrasinya data operasional, maka memungkinkan organisasi untuk memperoleh informasi tambahan dari data yang sama. 10 4. Berbagi data Basis data yang dimiliki oleh keseluruhan organisasi dapat digunakan bersama oleh pengguna yang berwenang. 5. Meningkatkan intergritas data Integritas basis data menunjukan pada validitas dan konsistensi data yang tersimpan. 6. Meningkatkan keamanan Merupakan perlindungan basis data dari para pengguna yang tidak berwenang.Hal ini dapat dilakukan dengan membentuk username dan password untuk mengindentifikasikan pengguna yang berwenang menggunakan basis data. 7. Penegakkan standar-standar Integrasi membuat DBA dapat mendefinisikan dan DBMS untuk menegakan standar-standar, seperti format data untuk fasilitas pertukaran data antar sistem, konvensi penamaan, standar dokumentasi, prosedur update, dan aturan akses. 8. Skala Ekonomi Dengan mengkombinasikan data operasional organisasi dalam basis data dan membuat satu set aplikasi yang bekerja pada sumber data ini maka dapat menghemat pengeluaran. 9. Menyeimbangkan keperluan yang bertentangan Setiap pengguna memiliki kebutuhan yang mungkin bertentangan dengan pengguna lainnya.Karena basis data dibawah kontrol DBA, maka DBA bisa membuat keputusan mengenai desain dan kegiatan operasional basis data yang mengerjakan sumber daya yang terbaik bagi orgnisasi. 10. Meningkatkan aksesbilitas data dan responsive data Sebagai hasil dari integrasi data yang melewati batasan antar departemen dapat diakses oleh pengguna akhir. 11. Meningkatkan produktivitas DBMS menyediakan banyak fungsi standar sehingga memungkinkan programmer berkonsentrasi pada kemampuan fungsi spesifik yang dibutuhkan oleh pengguna tanpa harus memikirkan tantangan perincian implementasi pada level bawah.Hal ini dapat mengurangi waktu pengambangan dan meningkatkan produktivitas programmer. 12. Meningkatkan perawatan melalui data independence DBMS memisahkan enkripsi data dari aplikasi sehingga membuat aplikasi tidak dapat terpengaruh pada perubahan deskripsi data. 11 13. Meningkatkan konkurensi Memungkinkan pengguna dalam mengakses data yang sama secara berkelanjutan tanpa mengganggu satu sama lain. 14. Meningkatkan pelayanan backup dan recovery Untuk melindungi data dari kegagalan sistem komputer atau program aplikasi maka dilakukan backup terhadap data secara teratur. 2.1.5 Kekurangan DBMS Menurut Conolly dan begg (2010 : 80-81), Database Management System (DBMS) memiliki kekurangan, berikut ini merupakan kekurangan DBMS antara lain : a. Kompleks DBMS merupakan bagian dari perangkat lunak yang sangat kompleks.Kesalahan terhadap pengertian sistemakan megakibatkan rancangan keputusan yang buruk pada suatu organisasi sehingga perancang basis data dan pengembang basis data, database administrator (DBA) serta end-user perlu mengerti tentang keuntungan fungsional DBMS terlebih dahulu. b. Ukuran Kompleksitas dan banyaknya kegunaan dari DBMS menjadikannya sebagai perangkat lunak yang sangat besar, sehingga memerlukan tempat penyimpanan data yang besar dan juga membutuhkan memori yang cukup agar bisa berjalan secara efisien. c. Biaya Biaya yang dikeluarkan untuk DBMS sangat bervariasi, tergantung dari lingkungan dan kegunaan yang disediakan oleh DBMS tersebut. d. Biaya tambahan untuk perangkat keras Kebutuhan tempat penyimpanan data untuk DBMS dan basis data mungkin mengharuskan pembelian tempat khusus penyimpanan data tambahan. e. Biaya Konversi Dalam situasi tertentu, biaya untk DBMS dan perangkat keras tambahan dapat menjadi penting dibanng dengan biaya konversi dari aplikasi yang sudah ada agar dapat berjalan di DBMS dan perangkat keras baru. f. Performa 12 Bagaimanapun, DBMS diciptakan untuk menjadi lebih umum, agar dapat menangani banyak aplikasi tidak hanya satu saja.Sehingga menghasilkan aplikasi yang tidak berjalan cepat seperti yang diharapkan. g. Kemungkinan gagal yang tinggi Pemusatan dari sumber daya meningkatkan kerentanan sistem yang disebabkan oleh semua pemakai dan aplikasi bergantung pada ketersediaan dari DBMS, kegagalan dari salah satu komponen dapat membuat operasi terhenti. 2.1.6 The-Three LevelANSI-SPARCArchitecture Menurut Connolly dan Begg (2005 : 34) bagian dari three-level architecture terdiri dari external, conceptual dan internal level. Cara user melihat suatu data disebut bagian external, cara DBMS dan sistem melihat suatu data disebut sebagai internal level, dimana data disimpan menggunakan sebuah struktur data dan file organization. Conceptual level ini menjelaskan data apa saja yang disimpan didalam database dan bagaimana hubungan antar datanya. Gambar 2.2 Arsitektur Three Level ANSI-SPARC Tujuan utama dari three-level architecture ini sebenarnya adalah untuk memisahkan setiap hak akses user terhadap database dari keadaan database yang sebenarnya. Ada beberapa alasan yang mendasari hal tersebut : 1. Setiap user harus bisa mengakses setiap data yang ada, tetapi akan berbeda sudut pandangnya mengenai suatu data. Dan setiap user pun bisa mengubah sudut pandangnya mengenai data, tetapi hal ini tidak akan berpengaruh terhadap user lainnya. 13 2. Setiap user tidak bisa langsung mengubah detail data pada database. Dengan kata lain interaksi user harus bersifat independent dari database. 3. Database administrator harus bisa mengubah struktur database tanpa harus merubah user’s view. 4. DBA seharusnya bisa merubah struktur konseptual dari database tanpa mempengaruhi semua user. 5. Internal struktur dari database seharusnya tidak berpengaruh terhadap berubahnya alat penyimpanan. 2.1.7Database Language Di dalam sebuah aplikasi basis data memiliki ketentuan-ketentuan yang berlaku yang harus diperhatikan oleh user dan perancang.Tentunya harus memperhatikan penggunaan bahasa di dalam sistem basis data. 2.1.7.1 Data Definiton Language (DDL) Menurut Connolly dan Begg (2010 : 92), mendefinisikan Data Definition Language (DDL) sebagai bahasa yang memungkinkan database administrator untuk menambahkan dan menamakan entitas, atribut dan hubungan yang dibutuhkan dalam aplikasi, terkait dengan integritas dan kendala keamanan aplikasi. Menurut Dedy Rahman Wijaya (2009 : 9), mendefinisikan bahwa Data Definition Language (DDL) merupakan struktur sebuah tabel, tipe data setiap field dan constraint yang berlaku pada data yang tersimpan di dalam sebuah tabel. Dari pengertian di atas dapat ditarik kesimpulan bahwa Data Definition Language (DDL) merupakan pemberian sebuah entitas, atribut, dan hubungan ke dalam sebuah tabel untuk mendefinisikan arti tabel tersebut. 2.1.7.2 Data Manipulation Language (DML) Menurut Connolly dan Begg (2010 : 92), mendefinisikan Data Manipulation Language (DML) sebagai bahasa yang menyediakan suatu fungsi yang dapat memanipulasi data-data yang ada di dalam database. 14 Berdasarkan Dedy Rahman Wijaya (2009 : 10) Data Manupulation Language (DML) merupakan bahasa yang memungkinkan user untuk mengakses atau memanipulasi data sebagaimana telah dipresentasikan oleh model data. Dapat ditarik kesimpulan bahwa Data Manipulatin Language (DML) merupakan suatu bahasa computer yang memberikan fungsi untuk memanipulasi data-data dan menggunakan untuk keperluan pengguna. 2.1.8 Structure Query Language Menurut Connolly dan Begg (2010 : 221), Structure Query Language adalah nonprocedural language terdiri dari kata english standar seperti SELECT, INSERT, dan DELETE yang dapat digunakan oleh professional dan non-profesional. Keduanya menggunakan bahasa yang standar untuk mendefinisikan dan memanipulasi hubungan database. SQL dari penjelasan diatas merupakan suatu alat operasi yang dapat digunakan untuk memanipulasi data yang ada pada database seperti select, insert, update, dan delete. SELECT, statement yang cukup penting, statement ini ada dalam language dan digunakan untuk ekspres query. INSERT, statement untuk insert sebuah single row dari data sampai memasukkan sebuah tabel nama atau untuk insert jumlah dari baris untuk satu atau lebih beberapa tabel. UPDATE, statement untuk update 1 atau lebih nilai dalam specified kolom atau beberapa kolom dari tabel nama. DELETE, statement untuk delete 1 atau lebih baris dari tabel nama. 2.1.9 Database System Development Lifecycle Menurut Conolly dan Begg (2010 : 313), Database system development lifecycle adalah keterkaitan inheren dengan lifecycledari sistem informasi, Database System Development Lifecycle tidak berurutan secara ketat, tapi melibatkan beberapa jumlah dari representasi di tingkatan sebelumnya melalui feedback loops. Database System Development Lifecycledari penjelasan diatas merupakan suatu proses yang digunakan dalam pengembangan, pembuatan, perawatan sistem informasi. Proses 15 tersebut digunakan untuk memperbaharui sistem basis data yang sesuai dengan tingkatan dimulai dari database planning sampai dengan implementation. Tingkatan dalam pembuatan database system development lifecycle : Gambar 2.3 Database System Development Lifecycle a. Database Planning, perencanaan bagaimana tingkatan dari lifecycle dapat mengetahui seberapa efisien dan efektif. b. System Definition, spesifikasi dari lingkup dan batas dari basis data, termasuk major user view, user, dan area aplikasi. c. Requirement collection and analysis, collection dan analisis dari permintaan untuk sistem basis data yang baru. d. Database Design, tahap ini adalah proses merancang basis data yang akan mendukung perusahaan untuk menentukan sistem basis data yang diinginkan. Ada dua pendekatan dalam merancang basis data : 1. Bottom up approach Pendekatan ini dimulai dari tingkat paling dasar yaitu atribut, dimana melalui analisis gabungan antara atribut, dikelompokan kedalam relasi-relasi yang 16 mempresentasikan tipe-tipe entitas dan hubungan antar entitas.Hubungan ini digunakan jika basis data yang digunakan lebih cenderung sederhana dan dengan jumlah atribut yang sedikit. 2. Top down approach Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa hubungan relasional dan entitas.Pendekatan ini biasa di gunakan jika basis data yang digunakan lebih kompleks dan jumlah atributnya banyak. e. DBMS selection(optional), desain dari user interface dan program aplikasi yang digunakan dan proses basis data. f. Prototyping (optional),membangun model kerja sistem basis data, yang memungkinkan designer atau user untuk membayangkan dan mengevaluasi bagaimana sistem akhir akan terlihat dan berfungsi. g. Implementation, membuat definisi physical database dan program aplikasi. h. Data conversion and loading, loading data dari sistem lama ke sistem baru dan dimana memungkinkan penggabungan antar aplikasi yang sedang berjalan dalam basis data yang baru. i. Testing, sistem database, dicoba apabila ada error dan memvalidasi terhadap spesifikasi kebutuhan user. j. Operational maintenance, sistem basis data sudah dijalankan secara penuh. Sistem secara berkesinambungan di monitor dan di maintaince. 2.1.10 Fact Finding Technique Sebuah sistem database dibangun berdasarkan masalah yang sedang muncul lalu dibuatkan sistemnya untuk menangani masalah tersebut.Untuk mencari masalah-masalah tersebut harus dilakukan beberapa kegiatan pengumpulan data agar dapat diperoleh informasiinformasi penting. Menurut Connolly dan Begg (2010 :317), teknik fact finding yaitu : 1. Examining Documentation Examining Documentation membantu menyediakan informasi perusahaan yang berkaitan dengan masalah yang sedang dihadapi. Dengan cara mempelajari dokumendokumen, laporan dan file yang berkaitan dengan sistem yang ada. 17 2. Interviewing Dengan wawancara dapat diperoleh informasi dari individu-individu secara langsung.Tujuannya untuk menemukan fakta danmengidentifikasi kebutuhan, dan memperoleh ide-ide dari seorang individu. 3. Observing the enterprise in operation Teknik ini merupakan teknik yang secara langsung terjun ke lapangan untuk memantau atau mempelajari seseorang terhadap sistem untuk memahami sebuah sistem lebih lanjut. 4. Research Melakukan riset terhadap suatu masalah yang sedang dihadapi. Hasil riset dapat menyediakan informasi-informasi penting tentang bagaimana orang lain memecahkan masalah yang serupa dengan teknik-teknik tertentu. 5. Questionnaires Questionnaires adalah sebuah dokumen yang diberikan langsung kepada sejumlah orang untuk memperoleh fakta-fakta yang berkaitan dengan sistem.Teknik ini merupakan yang paling efisien untuk memperoleh informasi dari banyak orang. 2.1.11 Tahapan Merancang Basis Data 2.1.11.1 Tahapan Konseptual Menurut Connolly dan Begg (2010 : 470-485), langkah-langkah membangun konseptual database designyaitu : 1. Memangun data model local konseptual untuk setiap view 1.1 Mendefinisikan tipe entitas Cara alternatif yang dipakai adalah dengan cara mendefinisikan entitas untuk mencari objek yang diperlukan oleh pengguna. Pada metode ini perlu untuk mengidentifikasi entitas-entitas yang ada untuk memeriksa keperluan pemakai secara spesifik. 18 1.2 Mendefinisikan tipe relationship Pada kenyataannya catatan kebutuhan yang spesifik adalah adanya sarang untuk hubungan dimana setiap catatan tersebut penting untuk perusahaan dan akan termasuk dalam model. 1.3 Identifikasi dan asosiasi atribut dengan entitas atau tipe Relationship Metode ini mengidentifikasikan tipe-tipe dari kenyataan yang ada tentang entitasentitas dan hubungan yang telah dipilih untuk di tampilkan pada basis data. 1.4 Menentukan domain atribut Domain merupakan kumpulan dari nilai-nilai dimana terdapat satu atau lebih atribut yang tergambar dalam nilai atribut itu sendiri. Untuk mengembangkan data model secara spesifik termasuk : - Mengijinkan pengumpulan nilai untuk atribut - Ukuran dan bentuk atribut Implementasi dari karakteristik domain pada DBMS masih menjadi subjek dari penelitian. Atribut dari domain berisi identifikasi atribut domain tersebut, catatan nama atribut domain tersebut, dan karakteristik yang terdapat dalam kamus data. 1.5 Menentukan atribut candidate, primary dan alternate key Pada metode ini, memilih primary key diantara candidate key sangat penting sehingga diperlukan pedoman untuk dapat membantu membedakan key tersebut. 1.6 Mempertimbagkan penggunaan konsep enhanced modeling (Optional) Pada metode ini, kita memiliki pilihan untuk melanjutkan pengembangan dari ER Model menggunakan konsep modeling tingkat lanjut (specialization, generalization, aggregation, dan compotition) 1.7 Memeriksa ulang model-model untuk redudansi Pada tahap ini, perlu dilakukan pemeriksaan model konseptual data dengan objek identifikasi yang lebih spesifik dimana terdapat model yang redudansi dan menghilangkan yang ada. Tiga aktivitas yang perlu dilakukan pada langkah ini, yaitu : - Meninjau kembali one-to-one relationship (1:1). - Menghilangkan relationship yang redudansi. - Mempertimbangkan dimensi waktu. 19 1.8 Memvalidasikan model data konseptual dengan transaksi user Pada tahap ini terdapat du pendekatan yang mendukung model data konseptual untuk pemakaian transaksi, yaitu: - Menjelaskan transaksi - Menggunakan pathway transaksi 1.9 Meninjau model data konseptual dengan pemakai Pada tahap ini perlu dilakukan pengulangan dengan pemakai, model konseptual termasuk ER diagram dan mendukung dokumentasi yang menjelaskan tentang data model. Tahap ini perlu ditinjau secara berulang-ulang, karenaproses pengulangan ini akanberhenti apabila pemakai menyediakan model telahdisetujui sehingga tidak perlu melakukan pengulangan karena representasi tersebut telah disepakati bersama. 2.1.11.2 Tahapan Logikal Menurut Connolly dan Begg (2010 : 490-460), Langkah-langkah membangun logicaldatabase designadalah : 1. Membangun data model logikal 1.1 Menurunkan relasi untuk data model logikal Tahap ini bertujuan untuk membuat relasi untuk data model logikal untuk merepresentasikan entitas, hubungan dan atribut yang telah diidentifikasi. 1.2 Memvalidasi relasi menggunakan normalisasi Pada tahap ini akan dilakukan validasi terhadap pengelompokan atribut pada tiap hubungan. Tujuan dari normalisasi ini adalah untuk memastikan bahwa relasi tersebut memiliki nilai minimal yang cukup dari atribut yang dibutuhkan untuk mendukung kebutuhan data pada suatu perusahaan atau organisasi.Hal ini juga dapat dilakukan untuk mengurangi redundansi. 1.3 Memvalidasi hubungan terhadap transaksi pengguna Tujuan utama dari tahap ini adalah untuk memvalidasi logikal data model dan memastikan bahwa model mendukung transaksi yang dibutuhkan pengguna, seperti yang sudah dirinci dalam user requirements. Disini harus diperiksa apakah terjadi error saat membuat relasi yang berkaitan dengan hubungan antar entitas. 1.4 Mengecek integritas constraints 20 Pada tahap ini kita membuat constraint atau batasan pada databaseuntuk menghindari terjadinya pemasukan data dengan format yang berbeda, salah atau tidak lengkap. 1.5 Mengulas logical data model dengan pengguna Setelah seluruh tahapan tersebut selesai dibuat, maka sekarang kitaharus mengulas kembali logikal data model yang telah kita buatdengan pengguna.Apakah sesuai dengan kebutuhan user atautidak. 1.6 Menggabungkan logikal data model kedalam global model(opsional) Tahap ini menggabungkan logikal model menjadi global modelyang merepresentasikan seluruh pandangan user terhadapdatabase.Jadi tidak hanya dari salah satu sisi pengguna saja. 1.7 Mengecek perkembangan ke masa depan Kita harus mempertimbangkan bagaimana kedepannya sistem basis data yang dirancang.Apakah mampu untuk mendukung kebutuhanperusahaan kedepannya. 2.1.11.3 Tahapan Fisikal Menurut Connolly and Begg (2010 : 465), Basis Data Fisikal adalah untuk menentukan bagaimana struktur logikal diimplementasikan sebagai relasi dasar pada Database Management System (DBMS). Tahapan-tahapan yang ada dalam perancangan basis data fisikal yaitu sebagai berikut: • Langkah 1 Menterjemahkan model data untuk target DBMS o Langkah 1.1 Mendesain relasi dasarnya o Langkah 1.2 Mendesain representasi dari derrived data. o Langkah 1.3 Mendesain batasan umum • Langkah 2 Mendesain file organisasi dan indeks o Langkah 2.1 Menganalisis Transaksi o Langkah 2.2 Memilih file organisasi o Langkah 2.3 Memilih indeks o Langkah 2.4 Mengeliminasi • Langkah 3 Mendesain tampilan pengguna • Langkah 4 Mendesain mekanisme keamanan 21 Jadi, Basis Data Fisikal adalah basis data yang secara fisik di dalam Database Management System sebagai base relation yang mendeskripsikan tempat penyimpanan data-data tersebut. 2.1.12 Entity Relationship Modelling (ER Modelling) Menurut Connolly and Begg (2010 : 371), Entity Relationship Modelling adalah pendekatan top-down untuk merancang basis data yang dimulai dengan mengidentifikasi data-data penting yang disebut dengan entitas dan hubungannya di dalam pemodelan suatu data. 2.1.12.1 Entity Type Menurut Connolly and Begg (2010 : 372), jenis Entitas adalah sekumpulan objek dengan properties yang sama dan diidentifikasikan oleh perusahaan yang keberadaannya diakui secara independent. Ada 2 jenis entitas atau Entity Typeyaitu : 1. Strong Entity Typemerupakan entitas yang tidak dipengaruhi oleh entitas lain. 2.Weak Entity Type merupakan entitas yang bergantung pada entitas lain. 2.1.12.2 Relationship Menurut Connolly and Begg (2010 : 374), hubungan entitas adalah sekumpulan asosiasi antara satu atau lebih entitas. Setiap hubungan diberi nama yang menjelaskan fungsinya. Hubungan antar entitas ada 2 (dua) macam yaitu: 1. Hubungan berdasarkan tingkatannya Jumlah entitas yang terlibat pada sebuah hubungan. 2. Hubungan Rekursif Hubungan dimana entitas yang sama berhubungan lebih dari satu kali dengan tugas yang berbeda. 2.1.12.3 Attribute Menurut Connolly and Begg (2010 : 379) attribute merupakan properties dari entitas atau hubungannya. Di dalam attribute ada yang disebut dengan Attribute Domain. Attribute Domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau lebih attribute. 22 ada 3 jenis atribut yaitu : 1. Simple and Composite Attribute • Simple Attribute adalah yang dibentuk dari komponen tunggal dengan eksistensi independen yang ada. • Composite Attribute adalah attribute yang dibentuk dari komponen jamak dan masing-masing komponennya independen. 2. Single-valued and Multi-valued Attribute • Single-valued adalah attribute yang memiliki nilai tunggal untuk setiap kejadian dari tipe entitas yang ada. • Multi-valued Attribute adalah attribute yang memiliki banyak nilai untuk setiap kejadian dari tipe entitas yang ada. 3. Didalam attribute ada yang dipakai menjadi key yang terdiri dari : • Candidate Key merupakan attribute yang bersifat unik mengidentifikasikan setiap kejadian yang terjadi pada entitas. • Primary Key merupakancandidate key yang telah dipilih untuk dijadikan key utama di dalam entitas yang mengidentifikasikan kejadian yang terjadi pada entitas. • Composite Key merupakan candidatekey yang terdiri dari dua atau lebih attribute. 2.1.13 Normalisasi Data di dalam perusahaan masuk dalam jumlah banyak dan digolongkan berdasarkan jenis tertentu yang kemudian dibuatkan tabel untuk dianalisis.Terkadang data-data tersebut menjadu penumpukan yang menyulitkan untuk dianalisis. Menurut Connolly dan Begg (2010 : 416), normalisasi adalah suatu teknik untuk menghasilkan sejumlah hubungan dengan sifat yang diinginkan yang diberikan persyaratan data dari suatu perusahaan. Dari pendapat di atas dapat ditarik kesimpulan, normalisasi adalah suatu langkah-langkah yang terstruktur untuk menghasilkan sebuah hubungan dengan sifat yang diinginkan oleh suatu perusahaan. • Un-normalized Form 23 Menurut Connolly dan Begg (2010 : 430), un-normalized form adalah suatu tabel yang berisi satu atau lebih kelompok yang berulang. • First Normalized Form (1NF) Menurut Connolly dan Begg (2010 : 430), 1NF jika persimpangan setiap baris dan kolom hanya mengandung satu nilai. Cara untuk menghilankan repeating group pada tabel yang tidak normal adalah: 1. Dengan memasukkan data ke kolom yang kosong dari baris yang mengandung datadata yang berulang. 2. Dengan memasukkan data-data yang berulang bersama pada relasi yang terpisah. • Second Normalized Form (2NF) Menurut Connolly dan Begg (2010 : 434), 2NF jika suatu hubungan pada 1 NF dan setiap atribut yang bukan primary key fungsional berkaitan pada primary key. • Third Normalized Form (3NF) Menurut Connolly dan Begg (2010 : 435), 3NF jika hubungan berada dalam bentuk 1NF dan 2NF lalu tidak ada atribut yang merupakan sebuah primary key yang berkaitan secara kuat dengan primary key. • Boyce Codd Normal Form (BCNF) Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah sebuah candidate key.Untuk normalisasi ke bentuk BCNF, maka table 3NF didekomposisi menjadi beberapa tabel yang masing-masing memenuhi BCNF. Tujuan membentuk BCNF : 1. Semantik multiple candidate key menjadi lebih eksplisit (FD hanya pada candidate key) 2. Menghindari update anomali yang masih mungkin terjadi pada 3NF. Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya. 2.2 Teori Khusus 2.2.1 Penjualan Menurut Reeve dan James (2009 : 255), penjualan adalah total biaya yang dibebankan kepada customer untuk barang yang dijual termasuk penjualan tunai maupun penjualan kredit. 24 Menurut Kotler dan Phillip (2006 : 470), proses penjualan adalah langkah-langkah yang dilakukan oleh bagian penjualan dalam penjualan, dimana meliputi prospecting dan standarisasi, preapproach, approach, presentasi dan demonstrasi, menangani keluhan, closing, dan follow up. Menurut Carl S. Warrant dan Fess (2006 : 300), penjualan adalah jumlah yang dibebankan untuk barang yang dijual, baik secara tunai maupun kredit. Jadi, menurut pernyataan diatas penjualan merupakan suatu usaha yang terpadu untuk mengembangkan rencana-rencana strategis yang diarahkan pada usaha pemuasan kebutuhan dan keinginan pembeli guna mendapatkan penjualan yang menghasilkan laba. 2.2.2 Pembelian Menurut Reeve dan James (2009 : 281), pembelian adalah didebit dari jumlah faktur pembelian. Jadi, menurut pernyataan diatas pembelian merupakan proses membeli bahan baku atau barang pelengkap kepada supplier baik secara tunai maupun kredit. 2.2.3 Persediaan Menurut Reeve dan James (2009 : 355), persediaan digunakan untuk menunjukkan (1) barang dagangan yang dimiliki untuk dijual dalam kegiatan usaha normal. (2) Bahan dalam proses produksi atau yang dimiliki bagian produksi. Menurut Stevenson dan William(2009 : 549), persediaan adalah stok dari barang yang disimpan. Menurut Alfredson dan Keith (2007 : 342), persediaan adalah aset yang tersedia untuk dijual dalam proses bisnis biasa, aset dalam bentuk material untuk digunakan dalam proses produksi atau dalam meberikan pelayanan. Jadi, menurut pernyataan diatas persediaan merupakan jumlah barang yang tersedia di dalam gudang untuk dijual kepada customer. 25 2.2.4 Produksi Menurut Sukanto (2004 : p3), produksi adalah penciptaan atau penambahan faedah bentuk, waktu dan tempat atas faktor-faktor produksi sehingga lebih bermanfaat bagi pemenuhan kebutuhan manusia. Kesimpulan nya, produksi adalah sebuah penciptaan atau penambahan faedah atau kegunaan atas factor produksi yang telah sedemikan rupa sehingga lebih bermanfaat bagi pemenuhan kebutuhan manusia sehari-hari nya. 2.2.5 Problem Menurut McLeod & Schell (2007 : 111) problem adalah the condition that has the potential to cause exceptional harm or produce exceptional benefit. Kesimpulannya, problem adalah suatu kondisi yang memiliki potensi untuk menimbulkan kerugian atau keuntungan yang tidak terduga. 2.2.5 Problem Solving Menurut McLeod & Schell (2007 : 111) problem solving adalah the act of responding to problems so as to suppress their harmful effects or capitalize on the opportunity for benefit. Kesimpulannya problem solving adalah suatu kondisi yang dilakukan untuk mengatasi masalah – masalah yang terjadi dengan cara meminimalisir efek yang merugikan atau memaksimalkan kesempatan untuk menciptakan keuntungan.