BAB 2 Landasan Teori 2.1 Teori-teori dasar / umum Pada teori dasar atau umum ini kami akan menjelaskan teori yang akan sering digunakan sebagai penunjang dalam membuat skripsi kami. Beberapa kami ambil dari buku yang menjadi patokan dalam metodologi pembuatan skripsi kami. 2.1.1 Pengertian Basis Data M enurut Connolly dan Begg (2010, p65), basis data adalah kumpulan relasi-relasi logical dari data (dan deskripsi data) yang dapat digunakan bersama dan dibuat untuk memperoleh informasi yang dibutuhka oleh perusahaan. Database adalah relasi data logical yang terdiri dari entity-entity, atributatribut, dan relationship dari informasi organisasi/perusahaan. Kegunaan dari database adalah : 1. M enghilangkan redundancy data. 2. Keterbatasan akses data. 3. M eningkatkan keamanan. 4. Multiple User. 5. Independensi data (kebebasan data). 7 2.1.2 Database Management System (DBMS ) M enurut Conolly dan Begg (2010, p66) Database Management System (DBM S) adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke database. DBM S berinteraksi dengan program aplikasi user dan database. DBM S menyediakan fungsi-fungsi sebagai berikut: 1. M emungkinkan 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. M emungkinkan user untuk menyisipkan, mengupdate, menghapus dan menerima data dari basis data, biasanya dari Data Manipulation Language (DM L). 3. M enyediakan control akses ke basis dengan menyediakan : a. Sistem kemanan yang mencegah akses illegal ke dalam basis data. b. Sistem intregasi yang memelihara 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. 2.1.2.1 Komponen DBMS DBM S memiliki lima komponen penting yaitu: 1. Hardware (perangkat keras) DBM S dan aplikasi membutuhkan perangkat keras dalam menjalankannya.Perangkat keras dapat mencakup komputer pribadi, sebuah mainframe, sebuah jaringan komputer.Perangkat keras yang dipakai tergantung pada kebutuhan organisasi dan DBM S yang digunakan. Beberapa DBM S yang berjalan pada perangkat keras atau sistem operasi tertentu, sementara DBM S yang lain dapat berjalan pada beragam perangkat keras atau sistem operasi. 2. Software (perangkat lunak) Komponen perangkat lunak terdiri dari pernagkat lunak DBM S dan program aplikasi beserta sistem operasi(OS), termasuk jaringan perangkat lunak jika DBM S digunakan melalui jaringan. 3. Data Data merupakan komponen terpenting dalam DBM S khususnya sudut pandang dari end user mengenai data, dimana data berfungsi sebagai jembatan antara komponen mesin dengan komponen manusia. 4. Procedures (tata cara) Prosedur merupakan panduan dan aturan dalam membuat dan menggunakan basis data. Prosedur didalam basis data dapat berupa: login ke dalam basis data, penggunaan fasilitas DBM S atau aplikasi program, cara menjalankan dan menghentikan DBM S, membuat backup database, menangani kerusakan hardware atau software, mengubah struktur table, mengumpulkan basis data dari beberapa disks, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. People (M anusia) Komponen terakhir yaitu manusia yang terlibat dengan sistem tersebut. 2.1.2.2 Fungsi DBMS Keuntungan DBM S adalah sebagai berikut : 1. Kontrol atas redudansi atau perulangan data. 2. Konsistensi data. 3. Informasi yang diperoleh dari data yang sama lebih banyak. 4. Data dapat dibagikan. 5. M eningkatkan integrasi data. 6. M eningkatkan keamanan data. 7. Penetapan standarisasi pelaksanaan. 8. Skala ekonomi. 9. Keseimbangan dari kebutuhan yang saling bertentangan. 10. M eningkatkan aksesbilitas dan respon data. 11. M eningkatkan produktivitas. 12. M eningkatkan Concurrency. 13. M eningkatkan layanan backup dan recovery. 2.1.2.3 Kerugian DBMS Kerugian DBM S adalah sebagai berikut : 1. Kompleksitas 2. Ukuran 3. Biaya dari penggunaan DBM S 4. Biaya konversi 5. Kinerja 6. Dampak yang tinggi dari kegagalan 2.1.3 Database Language M enurut Connolly dan Begg (2010, p92),sebuahsub-bahasadata terdiridari dua bagian: data definition language(DDL) dan data manipulation language (DM L). DDLdigunakan untuk menentukanskemadatabase danDM Ldigunakanuntuk keduamembaca danupdatedatabase. Bahasa-bahasa inidisebutsublanguages data karenamereka tidak termasukkonstruksiuntuksemuakebutuhan komputasitingkat, seperti pernyataankondisional atauiteratif, yangdisediakanoleh bahasapemrograman tingkat tinggi. 2.1.3.1 Data Definition Language M enurut Connolly dan Begg (2010, p92), data definition language (DDL) adalah sebuah bahasa yang mengizinkan DBA atau user untuk mendeskripsikan dan member nama entitas, atribut, dan hubungan yang diperlukan aplikasi beserta intergrity yang berhubungan dan batasan keamanan. 2.1.3.2Data Manipulation Language M enurut Connolly dan Begg (2010, p92), pengertian Data Manipulation Language adalah suatu bahasa yang menyediakan seperangkat operasi untuk mendukung manipulasi data yang berada pada basis data.Pengoperasian data yang akan dimanipulasi biasanya meliputi : 1. Penambahan data baru ke dalam basis data. 2. M odifikasi data yang disimpan ke dalam basis data. 3. Pengembalian data yang terdapat di dalam basis data. 4. Penghapusan data dari basis data. DM L dibagi menjadi 2 jenis yaitu Procedural dan Non- procedural.Procedural DM L adalah suatu bahasa yang memperbolehkan pengguna untuk mendesprikpsikan ke sistem data apa yang dibutuhkan dan bagimana mendapatkan data tersebut secara tepat, sedangkan Non-procedural DM L adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagimana data diperoleh. 2.1.4 Database Application Lifecycle( DBLC ) M enurut Connolly dan Begg (2010, p313), untuk merancang aplikasi sistem basis data diperlukan tahapan tahapan yang dinamakan dengan siklus hidup aplikasi basis data ( DBLC ). Tahapan-tahapan tersebut terdapat pada gambar 2.1. Gambar 2.1 Database Application Lifecycle 2.1.4.1 Database Planning M enurut Connolly dan Begg (2010, p313), perencanaan basis data ( database planning ) merupakan M erencanakan bagaimana setiap tahapan dari siklus dapat direalisasikan menjadi lebih efisien dan efektif. Perencanaan basis data harus dapat terintegrasi dengan sistem informasi perusahaan secara umum. Beberapa hal yang terlibat dalam formula adalah strategi sistem informasi, yaitu : 1. Identifikasi dari rencana dan tujuan perusahaan dengan menentukan kebutuhan sistem informasi. 2. Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan. 3. Penilaian dari keuntungan teknologi informasi yang dapat member keuntungan kompetitif. 2.1.4.2 System Definition M enurut Connolly dan Begg (2010, p316), definisi sistem adalah M endeskripsikan cakupan dan batasan dari aplikasi basis data, baik pengguna dan area aplikasi tersebut. Sebelum mencoba untuk merancang aplikasi basis data, pertama-tama harus mengidentifikasi batasan dari sistem yang akan kita invertigasi dan bagaimana membuat antarmuka dengan sistem informasi tiap bagian dari organisasi. Dalam mendefinisikan sistem, harus ditentukan oleh user view, yaitu mendefinisikan apa yang dibutuhkan oleh aplikasi basis data berdasarkan pandangan dari tiap bagian tugas (misalnya manager atau supervisor) atau area aplikasi perusahaan (misalnya marketing, personnel, atau stock control). 2.1.4.3 Requirements Collection and Analysis M enurut Connolly and Begg (2010, p316), analisis data dan pengumpulan kebutuhan adalah Proses mengumpulkan dan analisis informasi tentang bagian dari organisasi yang dapat didukung oleh aplikasi basis data, dan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan pengguna dari sistem baru.Banyak teknik yang dapat dilakukan untuk mengumpulkan informasi tersebut, disebut teknik fact finding. Informasi yang dikumpulkan untuk setiap user view, mencakup : 1. Despriksi data yang digunakan. 2. Rincian mengenai bagaimana data dapat digunakan atau dihasilkan. 3. Kebutuhan tambahan lainnya untuk aplikasi basis data yang baru. Informasi ini selanjutnya dianalisis untuk mengidentifikasi kebutuhan yang dapat dimasukkan ke dalam aplikasi basis data baru.Kebutuhan ini dideskripsikan ke dalam dokumen bersama sebagai requirements specifications untuk aplikasi basis data baru. Ada 3 pendekatan untuk mengelola kebutuhan dari aplikasi basis data dengan banyak user views, yaitu : 1. The centralized approach : kebutuhan dari setiap user view digabung menjadi sebuah set kebutuhan dari aplikasi basis data. 2. The view integration approach : kebutuhan dari setiap user view digunakan untuk membangun model data secara terpisah untuk merepresentasikan user view tersebut. M odel data yang dihasilkan tersebut nantinya akan digabungkan pada tahapan database. 3. Kombinasi dari dua pendekatan di atas. 2.1.4.4 Application Design M enurut Connolly dan Begg (2010, p329), perancangan aplikasi adalah merancang antarmuka pemakai ( user interface ) dan program aplikasi, yang akan memproses basis data. Dalam merancang aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai ( user requirement specification ) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akases ke basis data dan perubahan terhadap isi basi data ( retrieve, update dan kegiatan keduanya ). Artinya bagaimana fungsi yang dibutuhkan dengan cara untuk menciptakan user friendly. Kebanyakan antarmuka pemakai yang diabaikan akan niscaya membuat masalah. 2.1.4.5 DBMS Selection( optional ) M enurut Connolly dan Begg (2010, p325), pemilihan DBM S yang sesuai untuk mendukung aplikasi basis data yang mencakup : 1. M endefinisikan syarat-syarat referensi studi M enentukan sasaran, batasan masalah dan tugas yang harus dilakukan. 2. M endaftar 2 atau 3 jenis barang M embuat daftar barang-barang, misalkan dari mana barang ini didapat, berapa biayanya serta bagaimana bila ingin mendapatkannya. 3. M engevaluasi barang Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut. 4. M erekomendasikan pilihan dan membuat laporan M erupakan langkah terakhir dari DBM S yaitu mendokumentasikan proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBM S. 2.1.4.6 Database Design M enurut Connolly dan Begg (2010, p320), database design adalah Proses membuat perancangan basis data yang dapat mendukung pekerjaan dan tugas perusahaan.M enurut Connolly dan Begg (2010, p322), Perancangan basis data ini memiliki tiga tahapan, yaitu : 1. Perancangan basis data konseptual, yaitu proses membangun sebuah model informasi yang digunakan di sebuah perusahaan, terbebas dari segala pertimbangan fisik. 2. Perancangan basis data logical, yaitu proses membangung serbuah model informasi yang digunakan di sebuah perusahaan berdasarkan pada sebuah mode data yang spesifik, tetapi terbatas dari DBM S tertentu dan pertimbangan – pertimbangan fisikal lainnya. 3. Perancangan basis data fisikal, yaitu proses menghasilkan sebuah deskripsi dari pengimplementasian basis data pada media penyimpanan sekunder, yang mendeskripsikan hubungan dasar, pengorganisasian file, dan indeks yang digunakan untuk memperoleh akses data secara efisien serta segala batasan integritas dan ukuran-ukuran keamanan yang berhubungan. M enurut Connoly dan Begg (2010. P321), ada 4 pendekatan dalam desain basis data yaitu : 1. Top-Down Diawali dengan pembentukan model data yang berisi beberapa entitas high-level dan relationship, yang kemudian menggunakan pendekatan top-down secara berturutturut untuk mengidentifikasi entitas lower level, relationship dan atiribut lainnya. 2. Bottom-up Dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan relationship), dengan analisis dari penggabungan antar atribut, yang dikelompokan ke dalam suatu relasi yang merepresentasikan tipe dari entitas dan relationship antar entitas. 3. Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi. 4. Mixed M engunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. 2.1.4.7 Prototyping M enurut Connolly dan Begg (2010, p333), pengertian Prototyping adalah membuat model kerja dari aplikasi basis data, yang membolehkan perancang atau useruntuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem.Tujuan utama dari mengembangkan suatu prototype adalah mengijinkan user untuk menggunakan prototype guna mengidentifikasikan corak sistem apakah bekerja dengan baik dan jika mungkin meningkatkan corak baru kepada aplikasi database. Dengan cara ini, kebutuhan dari pemakai dan pengembang sistem dalam mengevaluasi kelayakan design sistem akan semakin jelas sehingga kelebihan atau kekurangan sistem dapat ditangani dengan baik. Strategi prototyping yang umum digunakan sekarang ada dua, yaitu requirement danevolutionary prototyping. Requirement prototyping adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang. Sedangkan evolutionary prototype menggunakan tujuan yang sama, tetapi perbedaaan pentingnya adalah prototype tetap digunakan untuk selanjutnya dikembangkan menjadi aplikasi basis data yang lengkap. 2.1.4.8 Implementation M enurut Connolly dan Begg (2010, p333), implementation merupakan realisasi secara fisik dari database dan desain aplikasi.Pada tahap penyelesaian desain, kini kita dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan DDL yang kita pilih dalam melakukan pemilihan DBM S atau dengan menggunakan Graphical User Interface (GUI), yang menyediakan fungsional yang sama dengan pernyataan DDL yang low level. Pernyataan DDL digunakan untuk menciptakan struktur basis data dan mengosongkan file yang terdapat dalam basis data tersebut. Pandangan pemakai lainnua juga diimplementasikan dalam tahapan ini.Data Manipulation Language (DM L) digunakan untuk mengimplementasikan transaksi basis data di dalam bagian aplikasi program dari sasaran DBM S, mungkin termasuk host programming language seperti, Visual basic, Delphi, C, C++, Java, COBOL, dan Pascal. 2.1.4.9 Data Conversion and Loading M enurut Connolly dan Begg (2010, p 334), Data conversion and loading adalah mencakup pengambilan data dari sistem lama untuk dipindahkan kedalam sistem yang baru.Langkah ini diperlukan hanya ketika suatu sistem basi data baru sedang menggantikan sistem yang lama.Sekarang, DBM S yang memiliki kegunaan yang dapat mengisi file yang ada kedalam sistem yang baru telah dianggap umum, kegunaan yang ada umumnya memerlukan spesifikasi sumber file dan target basis data yang baru.Ketika conversion and loading dibutuhkan, prosesnya barus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi. 2.1.4.10 Testing M enurut Connolly dan Begg (2010, p334), testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem, basis data harus dilakukan testing terlebih dahulu. Hal ini dicapai dengan penggunaan secara hati-hati untuk merencanakan suatu test dan data yang realistic sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuati aturan yang ada. 2.1.4.11 Operation Maintenance M enurut Connolly dan Begg (2010, p335), operational maintenancne adalah proses memantau dan memelihara sistem setelah di-install. Pada tahapan sebelumnya, basis data benar-benar diuji dan diimplementasikan.Sekarang sistem beralih ke tahapan pemeliharaan. Yang termasuk aktifitas dari tahapan ini adalah sebgaia berikut : 1. M emantau kinerja dari sistem. Jika kinerjanya menurun dibawah level yang dapat diterima, mungkin basis data perlu diorganisasi 2. Pemeliharaan dan upgrade aplikasi basis data-nya (jika diperlukan Ketika basis data sepenuhnya bekerja, pemantauan harus memastikan kinerhanya dapat berada dalam tingkat yang diterima.Sebuah DBM S biasanya menyediakan berbagai kegunaan (utilities) untuk membantu administrasi basis data termasuk kegunaan untuk mengisi data kedalam basis data dan untuk memberikan informasi seperti pemakasian basis data dan strategi eksekusi query.Database administrasi dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik. 2.1.5 Entity – Relationship Modelling M enurut Connolly (2010, p371), entity relationship modeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan penggunaannya di dalam suatu perusahaan. M odel ini menggunakan pendekatan top-down dalam perancangan basis data yang di mulai 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 entities dan relationship yang disebut dengan atribut dan constraints pada entity, atribut dan relationship. 2.1.5.1 Entity type M enurut Connolly (2010, p372), entity type merupakan sekumpulan objek didunia yang memiliki property yang sama. Entity direpresentasikan dalam bentuk diagram beruba persiegi panjang berlabel namadari entity. Nama entity Karyawan Cabang Gambar 2.2 Representasi Diagram dari entity M enurut Connolly (2010, p372), entity type dapat diklasifikasikan menjadi 2, yaitu : 1. Tipe Entitas kuat, yaitu entitas yang keberadaannya tidak tergantung pada tipe entitas lainnya. 2. Tipe Entitas lemah, yaitu tipe entitas yang keberadaannya tergantung pada tipe entitas lainnya. 2.1.6.2 Relationship Types M enurut Connolly (2010, p374), relationship types merupakan suatu hubungan antar entity types. Relationship Types direpresentasikan dalam bentuk diagram berubah garis lurus yang menghubungkan dua buat entity types, ditandai dengan nama dari relasi tersebut. Pada umumnya, relasi dinamai dengan kata kerja. Nama relasi Karyawan memiliki Cabang Gambar 2.3 Representasi Diagram dari Relationship M enurut Connoly dan Begg (2010, p376), dalam relationship types terdapat degree of relationship type.Degree of relationship type merupakan jumlah tipe entitas yang terkait dalam relationship.Entitas yang terkait dalam relationship disebut dengan participants.Jadi, degree dari suatu relationship menunjukkan banyak nya entitas yang tergabung dalam suatu relationship. Terdapat 3 jenis degree of relationship, yaitu: - Binary Relationship Binary Relationship merupakan relationship yang mempunya dua degree. Karyawan M emiliki -> Cabang Gambar 2.4 Binary Relationship - Ternary Relationship Ternary Relationship merupakan relationship yang mempunyai tiga degree. Karyawan me miliki Cabang Perusahaan Gambar 2.5 Ternary Relationship - Quertanary Relationship Quertanary Relationship merupakan relationship yang mempunyai empat degree. Produksi Karyawan memiliki Perusahaan Gambar 2.6 Quaternary Relationship Cabang 2.1.5.3 Atribut M enurut Connolly dan Begg (2010, p379), atribut adalah property suatu entitas atau jenis relasi. M enurut Connolly dan Begg (2010, p378), Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan menjadi lima yaitu : 1 Simple Attribute Simple attribute adalah sebuah atribut yang terdiri dari komponen tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil dikenal dengan namaAtomic Attribute. 2 Composite attribute Composite Attribute adalah atribut yang teridir dari beberapa komponen, dimana masing-masing komponen mempunyai keberadaan yang bebas. 3 Single-valued Attribute Single –valued Attribute adalah atribut yang mempunyai nilai tunggal untuk setiap kejadian dari tipe entity. 4 Multi-valued Attribute Multi-valued Attribute adalah atribut yang mempuanyai beberapa nilai untuk setiap kejadian dari tipe entity. 5 Derived Attribute Atribut yang memiliki nilai yang dihasilkan dari satu atau sekelompok atribut yang berhubungan, dan tidak harus berasal dari satu entitas. 2.1.5.4 Key M enurut Connolly dan Begg (2010, p381-382), key adalah sebuah field yang digunakan untuk mengidentifikasi satu atribut atau lebih secara unik mengidentifikasi setiaprecord. Keys yang sering digunakan yaitu : 1. Candidate Key Candidate key merupakan kumpulan minimal dari atribut-atribut yang secara unik mengidentifikasikan suatu entity. 2. Primary Key Primary Key merupakan candidate key yang dipilih untuk secara unik mengidentifikasikan suatu entity. 3. Composite Key Composite Key merupakan candidate key yang terdiri atas dua atau lebih atribut. 4. Alternate Key Alternate key merupakan candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key. 5. Foreign Key Foreign Key merupakan sebuah primary key pada sebuah entitas yang digunakan pada entitas lainnya untuk mengidentifikasi sebuah entity. 2.1.5.5 S tructural Constraints M enurut Connoly dan Begg (2010, p396) memeriksa batasan tipe entitas yang mempunyai kesamaan dalam relationship.Multiplicity adalah Jumlah atau range dari terjadinya yang mungkin dari suatu entity yang mungkin berhubungan dengan kejadian tunggal dari jenis entitas yang terkait melalui suatu hubungan tertentu. Hubungan Structural Constraints dibagi menjadi 3 jenis, yaitu : 1. Hubungan One-to-One (1:1) Hubungan antara entitas yang satu dengan entitas lain mempunyai relasi hubungan satu entitas. 2. Hubungan One-to-M any (1:*) Hubungan antara entitas pertama yang mempunyai banyak relasi dengan entitas kedua yang mempunyai relasi satu entitas. 3. Hubungan M any-to-M any (*:*) Hubungan antara entitas pertama yang mempunyai relasi banyak dengan entitas kedua Cardinality maksimumhubunganterjadinyayang adalah mungkin M enjelaskanjumlah untuksuatu entitasyang berpartisipasidalam jenishubungan tertentu.Participation adalah M enentukan semua atauhanya beberapaterjadinyaentitasberpartisipasidalam hubungan. 2.1.6 Normalisasi M enurut Connolly dan Begg (2010, p416), Normalisasi adalah sebuah teknik untuk menghasilkan sekelompok relasi atau hubunfgan dengan property-properti yang diinginkan, yang memberikan kebutuhan data dari suatu perusahaan suatu desain database harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari penempatan atribut tertentu dari suatu objek data. Untuk membedakan satu record dengan yang lainnya maka peril dipilih atribut atau kombinasi atribut sebagai kunci primer ( primary key ). Tujuan pembuatan normalisasi adalah: 1. M embuat seminim mungkin terjadinya data rangkap. 2. M enghindarkan adanya data yang tidak konsisten terutama bila terjadi penambahan, penghapusan data sebagai akibat adanya data rangkap. 3. M enjamin bahwa identitas table secara tunggal sebagai determinan semua atribut. 2.1.6.1 First Normal Form ( 1NF ) Aturan normalisasi pertama (1NF) dapat dikatakan bahwa sebuah relasi dimana setiap baris dan kolom hanya berisi satu nilai.uatu data dikatakan unnormalized (UNF), jika didalamnya mengandung kelompok yang berulang (redundancy group), sehingga untuk membentuk normalisasi pertama repeating group harus dihilangkan. Nilai dari setiap atribut adalah tunggal.Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (redundancy data).Namun ada kondisi pertama ini kemungkinan masih terjadi adanya data rangkap. 2.1.6.2 Second Normal Form (2NF) Aturan normalisasi kedua (2NF) dapat dikatakan bahwa sebuah relasi dalam bentuk normal pertama dan atribut bukan primary key yang tergantung secara fungsional kepada primary key. Pengujian bentuk normal kedua dapat dihasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagian primary key. 2.1.6.2 Third Normal Form (3NF) Aturan normalisasi ketiga (3NF) adalah sebuah relasi dalam bentuk normal pertama dan kedua dan setiap atribut yang bikan primary key yang bergantung secara transitif kepada primary key. Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat atribut yang bukan key terganrtung fungsional terhadap atribut bukan key lainnya. Dengan cara yang sama, maka setiap ketergantungan transitif dipisahkan. 3NF sudah cukup baik dalam arti anomaly yang dikandungnya suda sedemikian minimum. 2.1.6.3 Boyce Codd Normal Form (BCNF) Suatu relasi disebut memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah candidate key. Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposismenjadi beberapa tabel yang masingmasing 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 M enurut Whitten (2004, p334) diagram aliran data adalah suatu bagan memenuhiBCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya. 2.1.7 Diagram aliran data yang menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Diagram Arus Data ini mempunyai simbol-simbol yang dapat mengungkapkan komponen-komponen dasar dari proses dan aliran sistem. Beberapa pengertian simbol (lihat daftar simbol) yang digunakan didalam diagram arus data, adalah : a. Kesatuan Luar ( External Entity ) M erupakan kesatuan dilingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainya, yang memberikan input (masukan) atau menerima output (keluaran) dari sistem. Gambar 2.7 Simbol External Entity b. Arus Data Arus data mengalir diantara proses, simpanan data dan kesatuan luar. Arus data menunjukan arus dari data yang masukan untuk sistem ataupun keluaran dari sistem dan input yang masuk kedalam proses harus menghasilkan output yang berbeda. Arus data secara fisik antara lain dapat berupa Formulir, laporan tercetak, surat dan sebagainya. Gambar 2.8 Simbol Arus Data c. Proses Kegiatan atau kerja yang dilakukan oleh orang, mesin ataupun komputer untuk mengolah masukan dan menghasilkan keluaran dari proses. Gambar 2.9 Simbol Proses d. Simpanan data M erupakan suatu penampungan data yang dapat berupa suatu file, arsip, table dan sebagainya. Selain itu untuk menjelaskan aliran data yang mengalir di sistem.Analisa sistem dapat mengidentifikasikan data dengan kamus data. Gambar 2.9 Simbol Proses 2.1.8 Navigation Diagram M enurut M athiassen, M adsen, Nielsen dan Stage (2000, p343), Navigation diagram adalah jenis khusus dari statechart diagram yang berfokus pada dinamika keseluruhan dari tampilan layar. Diagram ini menunjukkan window-window yang bersangkutan dan perpindahan di antara mereka. Sebuah window ditunjukkan sebagai sebuah state. State memiliki sebuah nama dan sebuah icon. Pergantian state sesuai dengan pergantian di antara dua window. 2.2 Teori-teori khusus Teori khusus merupakan teori pendukung yang dibuat untuk memenuhi kriteria dari batasan pengolahan dan perancangan masalah yang di hadapi 2.2.1 Pembelian M enurut M ulyadi (2001, p299), Pembelian didefinisikan sebagai usaha untuk memenuhi kebutuhan atasbarang atau jasa yang diperlukan oleh perusahaan dan dapat diterima tepat padawaktunya dengan mutu yang sesuai serta harga yang menguntungkan. a. Saat pemesanan Saat pemesanan sangatlah tergantung pada kualitas barang yang masihada, rata-rata tingkat pemakaiannya dan jangka waktu pemesanan. b. Jumlah yang dipesan Jumlah yang dipesan ditetapkan secara matematis dan juga menurutkebijaksanaan untuk medapatkan kuantitas pesanan-pesanan ekonomis. c. Rekanan Dalam menetapkan pilihan rekanan mesti dikaitkan pada harga, syaratpembayaran, kualitas keandalan lokasi saat penyerahan yang dijanjikan. M enurut Render dan Heizer ( 2001, P414 ), Pembelian berarti perolehan barang dan jasa. 2.2.2 Penjualan M enurut M ulyadi (2001, p202), Penjualan adalah suatu kegiatan yang ditujukan untuk mencari pembeli,mempengaruhi dan memberi petunjuk agar pembeli dapat menyesuaikankebutuhannya dengan produksi yang ditawarkan serta mengadakan perjanjianmengenai harga yang menguntungkan bagi kedua belah pihak.Adapun 4 syarat utama menjual adalah: 1 Ada calon pembeli dan penjual 2 Proses interaksi komunikasi dan persepsi 3 M enjajaki sebuah transaksi / pertukaran kepentingan 4 Barang, jasa, ide, gagasan, rencana, keyakinan, prinsip Semua manusia pada dasarnya harus atau wajib melakukan tugas menjualapapun profesi, agama, etnis, umur, pendidikan, jenis kelamin tanpa kecuali. Bagiperusahaan pada umumnya memilki 3 tujuan umum dalam penjualan yaitusebagai berikut: 1 M encapai volume penjualan tertentu. 2 M endapatkan laba tertentu. 3 M enunjang pertumbuhan perusahaan. 2.2.3 Produksi M enurut Reksohadiprodjo dan Gitosudarmo (2000, p1), Produksi merupakan penciptaan atau penambahan faedah bentuk, waktu dan tempat atas faktorfaktor produksi sehingga lebih bermangaat bagi pemenuhan kebutuhan manusia M enurut M ulyadi (2001, p425), Informasi yang diperlukan oleh manajemen dari kegiatan produksi adalah : 1. Order produksi yang belum selesai 2. Order produksi yang telah selesai 3. Harga pokok produk jadi 4. Harga pokok produk yang masih dalam proses pada saat tertentu 5. Biasa menurut pusat biaya 2.2.4 Persediaan M enurut Nasution (2003, p103), Persediaan adalah sumber daya yang menganggur ( idle resources ) yang menunggu proses lebih lanjut. Proses lebih lanjut tersebut berupa kegiatan produksi pada sistem manufaktur, kegiatan pemasaran pada sistem distribusi ataupun kegiatan konsumsi pangan pada sistem rumah tangga.