BAB 2 TINJAUAN PUSTAKA Pada saat ini, sistem basis data sangat dibutuhkan dalam pengembangan teknologi informasi. Dengan sistem basis data, setiap perusahaan dapat menyimpan dan menstrukturkan data mereka dalam bentuk elektronik yang tersimpan di computer. Pada topik ini, digunakan sistem basis data agar memudahkan PT. Gloria Cipta Karya mencari produk-produk mereka dan juga membantu karyawan dalam melakukan input penjualan dan pembelian barang. 2.1 Hal-Hal yang Berhubungan dengan Basis Data Dalam tinjauan pustaka yang berhubungan dengan basis data akan diuriakan secara ringkas antara lain: data, entitas (entity), basis data (database), sistem basis data (database system), sistem manajemen basis data (Database Management System, DBMS), keuntungan dan kerugian DBMS, daur hidup basis data (Database Life Cycle, DBLC), normalisasi, IMK. 2.1.1 Pengertian Data Data adalah jembatan yang menghubungkan antara komponen manusia dengan komponen mesin (Connoloy and Begg,2010,p36). Menurut O’Brien (2005,p38) data merupakan suatu fakta atau hasil dari observasi,yang biasanya berisi fenomena fisik yang merupakan sebuah pengukuran terhadap atribut suatu entitas. 2.1.2 Pengertian Entitas Menurut Connolly (2010, p372), entity types adalah sekelompok obyek dengan sifat yang sama, yang diidentifikasi oleh perusahaan memiliki keberadaan yang bebas. Menurut Whitten (2004, p295), entity adalah kelompok orang, tempat, benda, peristiwa, atau konsep tentang apa yang kita butuhkan untuk menangkap dan menyimpan data. 7 8 2.1.3 Pengertian Basis Data Menurut Menurut Connolly (2010, p65), basis data adalah sekumpulan data yang saling berhubungan satu dengan yang lain secara logikal dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Menurut W.H. Inmon (2005, p493), Database adalah sebuah koleksi data yang saling berelasi pada data yang telah disimpan (sering dikendalikan dengan redudansi yang terbatas) berdasarkan skema yang ada. Database bisa digunakan sebagai aplikasi tunggal maupun ganda. 2.1.4 Pengertian Sistem Basis Data Menurut Connolly-Begg (2010, p54), sistem basis data adalah kumpulan dari program aplikasi yang berinteraksi dengan basis data bersama dengan Database Management System (DBMS) dan basis data itu sendiri. Sehingga basis data merupakan gabungan dari beberapa aplikasi yang digunakan untuk mengakses, dan mengubah data sesuai dengan kebutuhan. 2.1.5 Database Management System (DBMS) Menurut Connolly (2010, p66), Database Management System (DBMS) adalah suatu sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke dalam basis data. Fasilitas yang disediakan oleh DBMS, yaitu : 1. Data Definition Language (DDL) Menurut Connolly (2010, p92), DDL adalah bahasa pemrograman yang mengijinkan Database Administrator (DBA) atau user untuk menggambarkan nama dari entitas, atribut, serta hubungan-hubungan yang diperlukan pada aplikasi, bersamaan dengan asosiasi integritas dan keamanan data. 2. Data Manipulation Language (DML) Menurut Connolly (2010, p92), DML adalah bahasa pemrograman yang menyediakan fasilitas untuk menyokong operasi manipulasi basis data yang disimpan dalam basis data. Operasi manipulasi data biasanya meliputi hal-hal berikut : 9 1. Penginputan data baru kedalam basis data 2. Modifikasi data baru yang disimpan dalam basis data 3. Pengambilan data simpanan dari basis data 4. Penghapusan data yang ada di dalam basis data DML memungkinkan pemakai memasukkan, memperbaharui, menghapus, mengirim dan mengambil data dari basis data. Contohnya insert, update, delete, dan select. 2.1.5.1 Komponen DBMS Komponen DBMS dibagi menjadi lima jenis menurut Connolly (2010, p69-p71), yaitu : 1. Hardware Dalam menjalankan DBMS dan aplikasi, hardware merupakan komponen yang paling penting yang berupa komputer, notebook, mainframe, atau komputer jaringan yang berupa server. 2. Software Dalam menjalankan DBMS, software merupakan program penggerak atau aplikasi yang akan dijalankan. 3. Data Merupakan komponen terpenting dalam DBMS karena data merupakan penghubung komputer dengan manusia. 4. Procedures Merupakan instruksi dan aturan yang menentukan perancangan dan penggunaan basis data dimana pengguna sistem dan pengelolaan basis data memerlukan dokumentasi untuk menjalankan dan menggunakan sistem. 5. People Merupakan komponen terakhir yang juga berperan penting dalam merancang sampai dengan menggunakan DBMS tersebut. 10 2.1.5.2 Keuntungan dan Kerugian DBMS Berikut ini akan di bahas mengenai keuntungan dan kerugian dari DBMS: 1. Keuntungan DBMS: 2. 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. Meningkatkan integritas dan keamanan data. Kerugian dari DBMS: 1. Kompleksitas. 2. Ukuran. 3. Biaya dari penggunaan DBMS. 4. Biaya penambahan perangkat keras. 5. Biaya pelatihan, staff spesialis. 2.1.6 Database Aplication Lifecycle Menurut Connolly-Begg (2010, p312), sistem basis data merupakan komponen dasar dari sistem informasi, dimana pengembangan dan penggunaannya harus dilihat dari perspektif kebutuhan yang lebih luas dari perusahaan. 2.1.7 Tahapan Database Aplication Lifecycle Terdapat 11 tahapan dalam siklus aplikasi basis data yang meliputi: 2.1.7.1 Perancanaan Basis data (Database Planning) Menurut Connolly-Begg (2010, p313), perencanaan basis data adalah aktivitas manajemen yang memungkinkan tahapan aplikasi basis data untuk direalisasikan secara efisien dan efektif. Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi dalam organisasi. Ada tiga isu utama yang terlibat dalam merumuskan sebuah strategi sistem informasi, yaitu: 1. Identifikasi rencana dan tujuan perusahaan termasuk sistem informasi 11 yang di butuhkan, 2. Evaluasi sistem informasi yang ada untuk menentukan kekuatan dan kelemahan yang dimiliki, 3. Penilaian terhadap peluang teknologi informasi yang mungkin dapat memberikan keuntungan yang kompetitif. Menurut Connolly-Begg (2010, p313-315), tahapan dalam perencanaan basis data harus menjelaskan: 1. Mission statement dari proyek basis data Menjelaskan tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek basis data, dan menyediakan maksud yan lebih jelas dalam pembuatan aplikasi basis data secara efektif dan efisien. 2. Mission objectives Selain merumuskan tujuan dari sebuah proyek basis data, harus diperhatikan juga mengenai tugas apa saja yang harus didukung oleh basis data tersebut. Setiap mission objective akan menjelaskan tugas tertentu yang harus didukung oleh basis data dengan asumsi jika basis data mendukung mission obejctive, maka mission statementnya juga akan sesuai. Di dalam perencanaan basis data juga meliputi perkembangan standar yang akan menentukan bagaimana suatu data akan dikumpulkan, bagaimana format yang harus ditetapkan, lalu dokumentasi apa saja yang akan dibutuhkan, serta bagaimana desain dan implementasi harus dikerjakan nantinya. 12 Gambar 2.1 Siklus Sistem Basis Data 13 2.1.7.2 Definisi Sistem (System Definition) Menurut Connolly-Begg (2010, p316), definisi sistem mendeskripsikan cakupan batasan-batasan dari aplikasi basis data dan dari user view. Hal ini sangat penting di lakukan dalam proses perancangan basis data agar lebih terfokus pada proyek basis data yang akan di buat, serta bagaimana sistem tersebut akan berhubungan dengan bagian sistem informasi pada organisasi lain. Selain itu batasan sistem tidak hanya sesuai dengan bidang dan batasan aplikasi basis data serta pandangan pengguna yang telah ada pada saat ini saja, namun harus sesuai juga dengan kebutuhan pada masa yang akan datang. Suatu aplikasi basis data dapat memiliki satu atau lebih user view. Identifikasi user view adalah aspek penting dalam pengembangan aplikasi basis data karena membantu menjamin tidak ada pengguna utama dari suatu basis data yang terlupakan ketika membangun kebutuhan-kebutuhan untuk aplikasi yang baru. User view juga membantu dalam pengembangan aplikasi basis data yang kompleks dimana memungkinkan kebutuhan-kebutuhan di pecah menjadi bagian-bagian yang lebih mudah untuk diatur. 2.1.7.3 Analisa dan Pengumpulan Kebutuhan (Requirement Collection and Analysis) Menurut Connolly-Begg (2010, p316), pada proses ini dilakukan pengumpulan dan penganalisaan informasi mengenai bagian dari perusahaan yang didukung oleh aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna untuk sistem yang baru. Beberapa teknik atau cara mendapatkan informasi adalah dengan teknik metode fact finding. Fact finding adalah teknik yang digunakan untuk mengidentifikasi kebutuhan. Informasi yang di kumpulkan dari setiap user view yang 14 penting, yaitu: 1. Deskripsi dari data yang digunakan atau di hasilkan 2. Rincian mengenai bagaimana data digunakan atau di hasilkan 3. Tambahan kebutuhan untuk aplikasi basis data yang baru Terdapat 3 (tiga) pendekatan utama untuk pengaturan kebutuhan aplikasi basis data dengan multiple user view menurut Connolly-Begg (2010, p318), yaitu : 1. Pendekatan Centralized Kebutuhan-kebutuhan untuk setiap user view digabung dalam suatu kumpulan kebutuhan tunggal untuk aplikasi basis data baru. 2. Pendekatan View Integration Kebutuhan-kebutuhan untuk setiap user view digunakan untuk membangun model data terpisah untuk merepresentasikan pengguna itu sendiri. Hasil dari model data akan digabung pada tahap perancangan basis data. 3. Kombinasi antara Centralized dan View Integration Ada banyak cara untuk mengumpulkan informasi pada suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya yang dinamakan fact finding. 2.1.7.4 Desain Basis Data (Database Design) Menurut Connolly-Begg (2010, p320), perancangan basis data merupakan proses menciptakan basis data yang mendukung operasi-operasi atau tujuan-tujuan untuk perusahaan. Pendekatan dalam perancangan basis data, antara lain : 1. Buttom-Up Menurut Connolly-Begg (2010, p321), pendekatan ini dimulai dari atribut dasar, dengan menganalisis hubungan antara atribut, yang 15 di kelompokkan ke dalam suatu relasi yang merepresentasikan tipe entity dan relationship antara entity-entity dan relationship. 2. Top-Down Menurut Connolly-Begg (2010,p321), pendekatan ini dimulai dari pengembangan model data yang berisi beberapa entity dan relationship tingkat tinggi dan kemudian menggunakan pendekatan top-down secara berurut untuk mengidentifikasikan entity tingkat rendah, relationship, dan atribut-atribut yang berhubungan. 3. Inside-Out Menurut Connolly-Begg (2010, p321), pendekatan ini berhubungan dengan pendekatan buttom-up, perbedaannya adalah pendekatan ini mengidentifikasikan sekumpulan entity utama dan kemudian menyebar ke entity-entity yang lain, relationshiprelationship, dan atribut-atribut yang berkaitan dengan hal-hal yang sudah diidentifikasikan sebelumnya. 4. Mixed Strategy Pendekatan ini menggunakan pendekatan buttom-up dan topdown untuk bagian model yang berbeda sebelum akhirnya menggabungkan semua bagian. Menurut Connolly-Begg (2010, p322), terdapat tiga tahapan atau fase utama dalam perancangan basis data, yaitu : 1. Perancangan Basis Data Konseptual Menurut Connolly-Begg (2010, p322), ini adalah proses membangun sebuah model informasi yang digunakan di perusahaan, yang terlepas dari semua pertimbangan-pertimbangan fisik. Pertimbangan fisik yang dimaksud yaitu, meliputi DBMS yang akan digunakan program aplikasi, bahasa pemrograman, platform perangkat keras serta pertimbangan fisik lainnya. Langkah-langkah perancangan basis data konseptual adalah sebagai berikut: 16 1. Mengidentifikasi tipe entiti Tujuan langkah ini adalah untuk mengidentifikasi tipetipe entity yang dibutuhkan. 2. Mengidentifikasi tipe relasi Tujuan langkah ini adalah mengidentifikasi relasi-relasi penting yang terjadi antar entity. 3. Mengidentifikasi dan asosiasikan atribut dengan tipe entity dan relasi Tujuan langkah ini adalah mengasosiasikan atributatribut dengan entity atau relasi yang sesuai. 4. Tentukan domain atribut Tujuan langkah ini adalah menentukan domain untuk atribut-atribut dalam model data konseptual lokal. Yang dimaksud domain adalah sekumpulan nilai-nilai dimana suatu atribut mendapatkan nilainya. 5. Tentukan atribut-atribut candidate key, primary key dan alternate key Tujuan langkah ini mengidentifikasi candidate key untuk setiap tipe entity, dan jika terdapat lebih dari satu candidate key, untuk memilih salah satu menjadi primary key dan yang lainnya menjadi alternate key. 1. Mempertimbangkan penggunaan konsep pemodelan tingkat lanjut (langkah opsional) Tujuan langkah ini mempertimbangkan penggunaan konsep-konsep tingkat lanjut. Seperti specialization atau generalization, aggregation ataupun compotition. a. Specialization adalah proses memaksimalkan perbedaan antara anggota-anggota entitas dengan mengidentifikasi karakteristik yang 17 membedakan masing-masing entitas. b. Generalization adalah proses meminimalkan perbedaan antara entitas dengan mengidentifikasi karakteristik yang sama dari masing-masing entitas. c. Aggregation adalah merepresentasikan sebuah relasi ‘has – a’ atau ‘is part of’ antara entity types dimana satu adalah sebagai ‘whole’ dan yang lainnya sebagai ‘part’. d. Composition adalah sebuah bentuk spesifik dari aggregation yang merepresentasikan sebuah asosiasi antara entitas dimana ada kepemilikan kuat dan kesamaan lifetime antara ‘whole’ dan ‘part’. 2. Memeriksa redudansi pada model Tujuan pada tahap ini adalah memeriksa ada atau tidaknya redudansi pada model. 3. Validasi model pada transaksi pengguna Tujuan pada tahap ini adalah memastikan bahwa pada model konseptual mendukung terhadap transaksi yang dibutuhkan. 4. Review model data konseptual dengan pengguna Tujuannya untuk mereview model data konseptual dengan user untuk memastikan mereka bahwa model tersebut 18 sebagai representasi yang benar dari kebutuhan organisasi yang sesuai. 2. Perancangan Basis data Logikal Menurut Connolly-Begg (2010, p323), proses membangun model informasi yang digunakan di perusahaan berdasarkan sebuah model data spesifik, tetapi terlepas dari DBMS dan pertimbangan fisik lain. Langkah-langkah perancangan basis data logikal adalah sebagai berikut: 1. Menurunkan relasi untuk model data logikal 2. Membuat relasi untuk model data logikal guna merepresentasikan entiti, relasi, dan atribut yang telah diidentifikasi. 3. Memvalidasi relasi-relasi menggunakan normalisasi Tujuannya adalah untuk memvalidasi relasi-relasi di dalam model data logikal dengan menggunakan normalisasi. 4. Memvalidasi relasi terhadap transaksi pengguna Tujuannya adalah untuk memastikan bahwa relasi yang ada di dalam model data logikal dapat mendukung transaksi yang dibutuhkan. 5. Memeriksa batasan-batasan integritas Tujuannya adalah untuk memeriksa batasan-batasan integritas yang direpresentasikan dalam model data logikal. 6. Review model data logikal dengan pengguna Tujuannya adalah untuk mereview model data logikal dengan pengguna untuk memastikan bahwa data model tersebut mempertimbangkan representasi kebutuhan data organisasi yang sesuai. 19 7. Menggabungkan model data logikal menjadi model global (langkah opsional) Tujuannya adalah menggabungkan model data logikal lokal ke dalam model data logikal global tunggal yang merepresentasikan semua pandangan pengguna terhadap database. 8. Memeriksa untuk perkembangan yang akan datang Tujuannya adalah untuk menentukan apakah ada perubahan besar yang dapat diduga pada masa yang akan datang dan memperkirakan apakah model data logikal dapat mengakomodasi perubahan-perubahan tersebut. 3. Perancangan Basis data Fisikal Menurut Connolly-Begg (2010, p324), Perancangan basis data fisikal adalah proses untuk menghasilkan penjelasan dari pengimplementasian suatu basis data pada media penyimpanan kedua. Langkah-langkah perancangan basis data fisikal adalah sebagai berikut: 1. Menterjemahkan model data logikal terhadap DBMS yang telah di tentukan. 1. Merancang relasi dasar Menentukan bagaimana relasi dasar (base relation) akan direpresentasikan dalam model data logikal pada DBMS yang telah ditentukan. 2. Merancang representasi dari data yang telah didapat Menentukan bagaimana merepsentasikan data yang terdapat pada model data logikal ke dalam DBMS yang telah ditentukan. 20 3. Merancang batasan-batasan umum Tujuannya adalah merancang batasan umum bagi DBMS yang akan dipakai. 2. Merancang file organizations dan indexes 1. Menganalisa transaksi Memahami fungsinalitas transaksi yang akan berjalan didalam basis data serta menganalisa transaksi yang penting. 2. Memilih file organizations Untuk menentukan organisasi file yang efisien untuk setiap base relation. 3. Memilih indexes Untuk menentukan apakah penggunaan indeks akan dapat meningkatkan kinerja sistem. Ada tiga jenis index, yaitu: a. Primary index Adalah pengindeksan di lakukan pada kolom kunci (key field), yang diurutkan terlebih dahulu secara sekuensial. b. Clustering index Adalah pengindeksan dilakukan pada kolom bukan kunci (non-key field), yang sudah diurutkan terlebih dahulu secara sekuensial. 21 c. Secondary index Adalah pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data. 4. Memperkirakan kebutuhan untuk ruang penyimpanan Memperkirakan besarnya kapasitas ruang penyimpanan yang akan dibutuhkan untuk mendukung implementasi basis data pada tempat penyimpanan kedua. Hal ini penting dan sangat tergantung pada target DBMS dan perangkat keras yang akan digunakan. 5. Merancang user views Tujuannya untuk merancang user views yang diidentifikasi pada tahap pengumpulan kebutuhan dan analisa pada daur hidup aplikasi basis data relasional. 6. Merancang mekanisme keamanan Tujuannya untuk merancang mekanisme keamanan pada basis data seperti yang dispesifikasikan pengguna pada tahap pengumpulan kebutuhan dan daur hidup pengembangan basis data. 7. Mempertimbangkan pengenalan dari redudansi penggunaan redudansi terkontrol Menentukan apakah secara terkontrol akan dapat meningkatkan performa sistem. 8. Memonitor dan memelihara sistem operasi Mengawasi performance sistem sistem operasional guna dan meningkatkan memperbaiki rancangan- 22 rancangan yang kurang sesuai atau sebagai refleksi adanya perubahan kebutuhan. 2.1.7.5 Pemilihan DBMS (DBMS Selection) Menurut Connolly-Begg (2010, p325), pemilihan DBMS adalah pemilihan yang sesuai untuk mendukung aplikasi basis data. Langkah-langkah untuk memilih DBMS: 1. Menentukan istilah referensi studi Adalah istilah studi untuk pemilihan DBMS sudah di tetapkan penetapan objektif dan ruang lingkup studi, dan tugas-tugas yang harus dilakukan. 2. Membuat daftar sementara dua atau tiga produk Adalah kriteria yang di pertimbangkan untuk menjadi kritis agar implementasi dapat berjalan lancar dan dapat digunakan untuk membuat daftar awal persiapan produk DBMS untuk evaluasi. 3. Mengevaluasi produk Ada berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS 4. Merekomendasikan pilihan dan membuat laporan Ini adalah langkah terakhir dari pemilihan DBMS dengan mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 2.1.7.6 Perancangan Aplikasi (Aplication Design) Menurut Connolly-Begg (2010, p329), adalah perancangan aplikasi perancangan user interface dan program aplikasi yang menggunakan dan memperoses basis data. 23 Terdapat 2 aspek penting dalam perancangan aplikasi, yaitu : 1. Perancangan Transaksi Menurut Connolly-Begg (2010, p330), transaksi adalah sekumpulan aksi yang dibawa pengguna atau program aplikasi yang mengakses atau mengubah isi basis data. Tujuan dari perancangan transaksi adalah untuk menetapkan, mendefinisikan dan mendokumentasikan karakteristik transaksi tingkat tinggi yang di butuhkan pada basis data, yaitu meliputi: 1. Data yang digunakan oleh transaksi 2. Karakteristik fungsional transaksi 3. Output dari transaksi 4. Kepentingan pengguna 5. Nilai yang di harapkan dari pengguna Perancangan ini harus dilakukan lebih awal dalam proses perancangan untuk memastikan bahwa basis data yang diimplementasikan mendukung semua transaksi yang dibutuhkan. Menurut Connolly-Begg (2010, p330-331), selain itu terdapat tiga jenis transaksi utama, yaitu: 1. Retrieval Transactions Digunakan untuk mendapatkan kembali data untuk ditampilkan didalam layar atau dalam laporan produksi. 2. Update Transactions Digunakan untuk menambah data, menghapus data lama, atau memodifikasikan data yang ada dalam basis data. 3. Mixed Transactions Melibatkan retrieval (pemanggilan) dan (perubahan) data atau kombinasi antara keduanya. 2. Perancangan Antarmuka Pengguna update 24 Sebelum mengimplementasi sebuah form atau laporan, ada baiknya merancangan tampilan (layout) terlebih dahulu. Menurut Connolly-Begg (2010, p331), elemen-elemen dalam merancang suatu antarmuka pengguna antara lain: 1. Penetapan judul yang bermakna 2. Instruksi-instruksi yang dapat dipahami 3. Pengelompokan logika dan pengurutan field 4. Bentuk form yang menarik secara visual 5. Judul kolom yang dikenal 6. Penggunaan istilah dan singkatan yang konsisten 7. Penggunaan warna yang konsisten 8. Ruang dan batasan yang terlihat untuk menginput kolom 9. Pergerakan kursor yang mudah 10. Perbaikan kesalahan untuk satu huruf dan semua kolom 11. Menampilkan pesan kesalahan terhadap nilai yang tidak sesuai 12. Pemberian tanda terhadap kolom yang berupa pilihan 13. Pesan-pesan yang bersifat penjelasan untuk suatu kolom 14. Pembaruan tanda penyelesaian 2.1.7.7 Prototyping (Optional) Adalah pembuatan suatu model kerja dari aplikasi basis data. Suatu prototipe adalah model yang bekerja yang tidak mempunyai semua fitur-fitur yang diperlukan atau menyediakan semua fitur-fitur yang diperlukan atau menyediakan semua fungsionalitas dari sistem terakhir. Tujuan utama dari dibuatnya prototipe adalah untuk memungkinkan pengguna menggunakan prototipe tersebut untuk menentukan fitur-fitur dari sistem yang bekerja dengan baik, dan untuk mengusulkan peningkatan fitur-fitur baru pada aplikasi basis data. 25 Menurut Connolly-Begg (2010, p333), adalah pembangunan model kerja aplikasi basis data. Terdapat dua strategi prototipe yang biasa digunakan, yaitu: 1. Requirement prototyping menggunakan prototipe untuk menentukan kebutuhan-kebutuhan yang diusulkan aplikasi basis data dan jika kebutuhan-kebutuhan sudah dilengkapi maka prototipe tidak dipakai lagi atau dibuang. 2. Evolutionary prototyping digunakan untuk tujuan yang sama, tetapi perbedaannya requirements prototyping adalah prototipe tidak dibuang tetapi dengan perkembangan lebih lanjut menjadi aplikasi kerja basis data. 2.1.7.8 Implementasi (Implementation) Adalah realisasi fisik dari perancangan basis data dan aplikasi. Implementasi basis data dapat dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI), dimana menyediakan fungsionalitas yang sama ketika menyembunyikan pernyataan DDL tingkat rendah. Pernyataan DDL tersebut digunakan untuk membuat struktur basis data dan file basis data kosong. Bagian dari program aplikasi ini adalah transaksi basis data, dimana diimplementasikan dengan menggunakan Data Manipulation Language (DML) dari DBMS sasaran, yang mungkin disimpan dalam sekumpulan bahasa pemrograman. 2.1.7.9 Pengubahan dan Pemuatan Data (Data Conversion and Loading) Perubahan dan pengambilan data adalah memindahkan semua data yang ada kedalam basis data yang baru dan mengubah semua aplikasi yang ada untuk digunakan pada basis data yang baru. 2.1.7.10 Uji Coba (Testing) Menurut Connolly-Begg (2010, p334), adalah proses mengeksekusi programprogram dengan tujuan untuk menemukan kesalahan. 2.1.7.11 Perawatan Operasional (Operational Maintenance) Menurut Connolly-Begg (2010, p335), adalah proses mengawasi dan memelihara sistem yang meliputi aktivitas mengawasi performance dari sistem dan 26 memelihara dan memperbaharui aplikasi basis data. Pada langkah sebelumnya aplikasi basis data telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem memasuki langkah pemeliharaan yang melibatkan aktifitasaktifitas berikut: 1. Mengawasi kinerja sistem 2. Mempertahankan dan meng-upgrade aplikasi basis data. 2.1.8 Normalisasi Menurut Connolly (2010, p428), normalisasi merupakan suatu teknik untuk menghasilkan sekumpulan hubungan dengan properti yang diinginkan, yang memberikan kebutuhan data terhadap suatu perusahaan. Proses normalisasi merupakan metode formal untuk mengidentifikasi relasi berdasarkan primary key atau candidate key dan ketergantungan fungsional di antara atribut-atributnya. Bentuk- bentuk dalam normalisasi: 1. Bentuk tidak normal (UNF) Menurut Connolly (2010, p430), unnormalized form (UNF) merupakan sebuah tabel yang mengandung satu atau lebih repeating group. 2. Bentuk normal pertama (1NF) Menurut Connolly (2010, p430), First Normal Form (1NF) merupakan sebuah relasi dimana setiap potongan baris dan kolom mengandung satu dan mungkin hanya satu nilai, dan proses untuk mengubah tabel UNF ke dalam First Normal Form (1NF) adalah dengan cara harus diidentifikasi dan menghilangkan bagian yang mengandung repeating group. 3. Bentuk normal kedua (2NF) Menurut Connolly (2010, p430), Second Normal Form (2NF) dapat dihasilkan dengan cara melihat apakah ada atribut yang bukan merupakan primary key dapat merupakan fungsi dari sebagian primary key (partial dependence). Dalam bentuk normal kedua setiap 27 atribut yang yang bergantung secara parsial harus dipisahkan. Bentuk normal akan diperoleh bila setiap atribut yang bukan merupakan primary key dari suatu tabel secara penuh yang merupakan functional dependence dari primary key itu. 4. Bentuk normal ketiga (3NF) Menurut Connolly (2010, p430) didalam Third Normal Form (3NF) akan secara langsung dilakukan pengujian dengan cara melihat apakah terdapat atribut bukan key yang bergantung fungsional terhadap atribut yang bukan key yang lain atau disebut (transitive dependence). Dengan cara yang sama, maka setiap transitive dependence harus dipisahkan. Third Normal Form (3NF) dapat dikatakan sudah normal apabila anomali yang ada didalamnya sudah tidak ada, pada kasus tertentu normalisasi dilakukan sampai BCNF. 2.2 Hal-Hal Khusus yang Berhubungan dengan Topik Skripsi dan Alat Bantu Analisis dan Perancangan Basis Data Dalam tinjauan pustaka yang berhubungan dengan hal-hal khusus tentang topik skripsi dan alat bantu analisis dan perancangan basis data akan diruaikan secara ringkas, antara lain: penjualan, pembelian, retur, internet, web database, MySQL, PHP, DFD (Data Flow Diagram). 2.2.1 Penjualan Pengertian penjualan menurut Kotler (2006, p457): “Penjualan merupakan proses dimana kebutuhan pembeli dan kebutuhan penjualan dipenuhi, melalui antar pertukaran informasi dan kepentingan.” 2.2.2 Pembelian Dalam kamus besar Bahasa Indonesia, definisi pembelian adalah proses, cara, atau perbuatan membeli, yaitu melakukan proses pemilihan barang lalu membayarnya dengan uang dalam jumlah dan nominal tertentu yang sudah ditentukan oleh penjualnya. 2.2.3 Retur Retur penjualan adalah pengembalian barang dari customer karena hal 28 tertentu, mungkin karena rusak dalam perjalanan atau pengiriman barang yang tidak memenuhi spesifikasi yang diinginkan customer. 2.2.4 Internet Menurut Ellswoth (1995,p4) internet adalah network yang merubah cara orang berkomunikasi, berinteraksi, dan mendefinisikan komunitas. Internet memperkenalkan paradigma dari human interaksi manusia. Internet itu menciptakan satu titik kontak bagi orang-orang yang dipisahkan oleh jarak, waktu yang sangat jauh. Dunia komputer dan informasi berkembang sangat pesat pada masa sekarang ini. 2.2.5 Pengertian Web Database Tempat penyimpanan (repositories) databases atau informasi yang secara dinamis berinteraksi dengan halaman Web. Sebuah metode untuk menyimpan content www, dalam format terstruktur atau useable, yang terhubung baik secara statis maupun dinamis ke database lain. 1. Membantu komunikasi antara Web server dan database. 2. Memungkinkan pemakai menerbitkan atau mengumpulkan informasi dari manapun. 2.2.5.1 Komponen Komponen yang dapat Digunakan untuk Membangun Web Database Berikut ini akan di bahas mengenai kompenen apa saja yang digunakan dalam membuat webdatabase : 1. HTML Di samping keterbatasannya, HTML tetap menjadi teknologi fundamental untuk mengontrol struktur dan tampilan halaman web. 2. Microsoft Active Server Page (ASP) ASP sangat sederhana dengan fasilitas penulisan script berbasis server. Alur ceritanya adalah ketika pengunjung web meminta suatu halaman web yang berisi script berbasis server, script tersebut mengolahnya di server, lalu mengirimkan hasilnya ke sisi client. 3. Microsoft Visual Basic Scripting Edition (VBScript) 29 VBScript adalah bahasa pilihan default pada ASP. Bahasa yang dipakai dalam VBScript ini sangat mirip dengan BASIC atau Visual Basic. 4. Desain dan Implementasi Database Anda harus dapat merancang basis data. Anda tidak perlu mempunyai keahlian seperti seorang desainer basis data. Buka saja MS-Access lalu buat tabel dan field-field nya. 5. Microsoft ActiveX Data Objects (ADO) ADO adalah bagian dari sekelompok besar program yang disebut Microsoft Data Access Compnonents (MDAC). Objek ADO ini berfungsi menyediakan antar muka pengrograman halaman web dengan berbagai sumber data. Dengan kata lain pengolahan data-data pada database dilakukan melalui kode-kode ADO ini, lalu ditampilkan pada halaman web. 6. Structured Query Language (SQL) Semua sistem database/basis data menerima perintah bahasa pencarian terstruktur (Structured Query Language/ SQL). Tidak terkecuali MS-Access ataupun MS-SQL Server. ADO menerima perintah SQL dari kode aplikasi lalu mengirimnya ke perangkat lunak database untuk mengeksekusinya. 2.2.6 MySQL MySQL adalah sebuah software yang Open Source. sehingga bebas dipakai dan dimodifikasi oleh semua orang. Setiap orang dapat mendownload MySQL dari internet dan menggunakannya tanpa perlu membayar. Menurut Maslakowski (2000, p10), MySQL merupakan sebuah relasi menajemen basis data yang open source, enterprise-level, dan multithread. MySQL dikembangkan oleh sebuah perusahaan konsultan di Swedia yang bernama TcX. Mereka membutuhkan sebuah sistem basis data yang cepat dan fleksibel sehingga mereka menciptakan MySQL yang pada dasarnya berbeda dengan database management system (DBMS) yang bernama MySQL. 30 Kelebihan dari MySQL adalah ia menggunakan bahasa query standar yang dimiliki SQL (Structured Query Language). SQL adalah suatu bahasa permintaan yang terstruktur yang telah distandarkan untuk semua program pengakses database seperti Oracle, SQL Server dan lain - lain. Februariyanti (2013, p4) MySQL lebih dari sebuah basis data biasa yang merupakan sistem yang mengatur basis data yang ada. MySQL mengontrol siapa saja yang dapat menggunakan basis data dan bagaimana basis data dimanipulasi. MySQL juga menyimpan catatan dari semua kegiatan dan secara terus menerus bekerja di background. Fitur MySQL : 1. Didukung sepenuhnya oleh bahasa pemrograman C, C++, Eiffel, Java, Perl, PHP, Python dan Tcl untuk mengakses database MySQL. 2. Dapat bekerja pada banyak platform yang berbeda, termasuk juga di dalamnya Windows. 3. Banyak tipe kolom : signed/unsigned integer 1, 2, 3, 4, dan 8 bytes, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, dan tipe ENUM. 4. Mendukung sepenuhnya parameter SQL GROUP BY dan ORDER BY. Fungsi yang dapat dipakai dalam group query : (COUNT (), COUNT (DISTINCT), AVG (), STD (), SUM (), MAX () and MIN ()). 5. Sistem privilege dan password dapat terjaga kerahasiaannya dapat diverifikasi berdasarkan nama host-nya. Password terjaga kerahasiaannya karena semua password disimpan dalam keadaan terenkripsi. 2.2.7 PHP (akronim dari PHP Hypertext Preprocessor) Merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang diberikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. 31 PHP merupakan bahasa server-side yang cukup handal, yang akan disatukan dengan HTML (Hypertext Markup Language) dan berada di server. Artinya, sintaks dan perintah yang diberikan akan sepenuhnya dijalankan di server sebelum dikirim ke komputer klien. Pada awal tahun 1995, Rasmus Ledorf membuat produk bernama PHP/FI PHP ini ditulis dengan menggunakan bahasa C, dan memiliki kemampuan untuk berkomunikasi dengan database serta membuat halaman dinamis. Achmad Nazrul(2013, p4). Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut : 1. Membaca permintaan dari client/browser. 2. Mencari halaman/page di server. 3. Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page. 4. Mengirim kembali halaman tersebut kepada client melalui internet atau intranet. PHP dapat digunakan bersama dengan HTML sehingga memudahkan dalam membuat aplikasi web dengan cepat. PHP dapat digunakan untuk menciptakan dynamic website baik itu yang memerlukan penggunaan database ataupun tidak. Alasan penggunaan PHP dalam aplikasi ini : 1. PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux, Unix, etc.) 2. PHP merupakan web scripting open source. 3. PHP mudah dipelajari. 2.2.8 Teori Data Flow Diagram Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses 32 fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi. DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi. DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Berikut ini gambar Komponen Data Flow Diagram : Gambar 2.2 Gambar Komponen Data Flow Diagram Komponen Terminator / Entitas Luar Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity). Terdapat dua jenis terminator : 1. Terminator Sumber (source) : merupakan terminator yang menjadi sumber. 2. Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data informasi /sistem. Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang 33 sedang dibuat modelnya. Terminator dapat juga berupa departemen, divisi atau sistem di luar sistem yang berkomunikasi dengan sistem yang sedang dikembangkan. Komponen terminator ini perlu diberi nama sesuai dengan dunia luar yang berkomunikasi dengan sistem yang sedang dibuat modelnya, dan biasanya menggunakan kata benda, misalnya Bagian Penjualan, Dosen, Mahasiswa. Ada tiga hal penting yang harus diingat tentang terminator : 1. Terminator merupakan bagian/lingkungan luar sistem. Alur data yang menghubungkan terminator dengan berbagai proses sistem, menunjukkan hubungan sistem dengan dunia luar. 2. Profesional Sistem Tidak berhak mengubah isi atau cara kerja organisasi atau prosedur yang berkaitan dengan terminator. 3. Hubungan yang ada antar terminator yang satu dengan yang lain tidak digambarkan pada DFD. Syarat – Syarat perancangan Data Flow Diagram: Syarat pembuatan DFD ini akan menolong profesional sistem untuk menghindari pembentukkan DFD yang salah atau DFD yang tidak lengkap atau tidak konsisten secara logika. Beberapa syarat pembutan DFD dapat menolong profesional sistem untuk membentuk DFD yang benar, menyenangkan untuk dilihat dan mudah dibaca oleh pemakai. Syarat-syarat pembuatan DFD antara lain : 1. Pemberian nama untuk tiap komponen DFD. 2. Pemberian nomor pada komponen proses. 3. Penggambaran DFD sesering mungkin agar enak dilihat. 4. Penghindaran penggambaran DFD yang rumit. 5. Pemastian DFD yang dibentuk itu konsiten secara logika. 2.2.9 Teori IMK Ben Shneiderman (2010:88-89) mengemukakan 8 aturan emas yang dapat digunakan sebagai petunjuk dasar dalam merancang suatu tampilan antarmuka yang 34 baik. Aturan ini ditetapkan karena diyakini bahwa untuk meningkatkan kegunaan dari suatu aplikasi, maka tampilan antarmuka merupakan sesuatu yang penting untuk dirancang dengan baik. Berikut ini adalah 8 aturan emas yang ditetapkan oleh Ben Shneiderman (2010:88-89): 1. Berusaha untuk selalu konsisten Adanya kesamaan tampilan pada beberapa tempat yang memiliki terminologi yang sama ataupun mirip, seperti : menu, prompt action / order / message, layar bantuan / help. 2. Melayani penggunaan universal Memungkinkan tersedianya shortcut / fungsi yang pasti akan digunakan semua pengguna apabila pengguna sudah memasuki tahap ahli pada suatu aplikasi / terbiasa dengan aplikasi sehingga dapat mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. 3. Memberikan umpan balik yang informatif Adanya sebuah feedback / umpan balik untuk setiap aksi yang dilakukan oleh pengguna. Feedback yang diberikan dapat dibagi atas beberapa tingkatan, namun pada umumnya terdapat 2 jenis feedback, yaitu feedback untuk tindakan yang sering, tetapi tidak terlalu penting dan tindakan yang sangat penting yang dapat mempengaruhi bagian vital dari suatu aplikasi / sistem. Biasanya untuk sebuah tindakan yang tidak terlalu penting, dapat diberikan feedback sederhana, dan untuk tindakan yang penting / vital dapat diberikan banyak feedback atau feedback yang lebih kompleks. 4. Merancang dialog yang memberitahu keadaan akhir Setiap aksi yang akan terjadi atau mungkin terjadi dikelompokkan pada masing-masing kelompok aksi. Apabila aksi yang diselesaikan pengguna adalah tahap akhir, maka harus diberikan sebuah feedback yang menandakan aksi sudah selesai sehingga pengguna dapat merasa lega / tenang dan tidak lupa berikan dialog yang memberitahukan apa yang dapat / harus dilakukan pengguna selanjutnya. 35 5. Memberikan penanganan kesalahan yang sederhana Adanya penanganan sehingga tidak mungkin seorang pengguna dapat melakukan / mendapatkan kesalahan yang serius. Jika terjadi sedikit kesalahan, maka sistem harus bisa mendeteksinya secepat mungkin dan memberi solusi pemecahan yang semudahmudahnya kepada pengguna. 6. Memungkinkan pembalikan aksi yang mudah Antarmuka harus mengurangi kecemasan pengguna aplikasi / web, karena pengguna mengetahui bahwa aksi yang baru saja dilakukan dapat dibatalkan untuk mencegah tingkat kesalahan yang semakin besar. Antarmuka ini bertujuan agar pengguna tidak takut untuk memilih / menggunakan / mengekplorasi alat bantu / tools yang belum pernah digunakan. 7. Mendukung pusat kendali internal Antarmuka harus membuat operator / pengguna merasa bahwa mereka yang melakukan kontrol terhadap sistem yang digunakannya. Selain itu, antarmuka juga harus memberi operator tingkatan yang lebih tinggi daripada pengguna sistem biasa. 8. Mengurangi beban ingatan jangka pendek Antarmuka harus dibuat sesederhana mungkin yaitu dengan mengurangi multiple page, kode-kode khusus, dan animasi yang berlebihan sehingga pengguna tidak harus mengingat terlalu banyak hal yang tidak penting pada tampilan antarmuka yang dilihatnya. 36