BAB 2 LANDASAN TEORI Teori umum yang menjadi dasar penulisan adalah sebagai berikut : 2.1. Data Data merupakan sebuah fakta di dalam kehidupan keseharian kita yang dapat berbentuk kalimat dan angka. Semua informasi yang kita terima merupakan hasil dari pengolahan data, hal ini juga sangat menjadi bagian penting bagi DBMS. Menurut (Connolly & Begg, 2010, p70), mengatakan Data adalah komponen yang terpenting dari DBMS environment dari sudut end-user yang berguna menghubungkan user. Menurut Hoffer (2009, p46) data disebut sebagai fakta tentang bendabenda dan peristiwa yang dapat direkam dan disimpan di dalam media komputer seperti pada database seorang penjual, terdapat data yang mencakup fakta-fakta seperti nama pelanggan, alamat, dan nomor telepon. Jadi dapat dikatakan data ialah fakta-fakta yang masih belum di olah didalam kehidupan sehari-hari dan berpengaruh dalam DBMS environment yang berguna untuk menghubungkan user. 2.2. Sistem Sistem adalah suatu kesatuan yang terdiri dari komponen yang saling berkaitan satu dengan lainnya, sehingga menjadi suatu kesatuan dan terpadu. Sistem juga diperlukan untuk memberdayakan pengguna informasi. Menurut Connolly & Begg (2010: p266), sistem merupakan tatacara untuk menjelaskan ruang lingkup dan batas-batas dari sistem database dan pandangan pengguna. 9 10 Menurut Satzinger, Jackson, & Burd (2010: p6), sistem adalah sebagai sekumpulan fungsi-fungsi kompleks yang bergantung pada bagian tersebut dan interaksi diantara bagian tersebut. Jadi dapat dikatakan sistem adalah sekumpulan dua atau lebih fungsi kompleks yang saling berinteraksi. 2.3. Sistem Informasi Pada Sistem Informasi memiliki komponen yang saling berhubungan dalam berbagai proses termasuk proses mengumpulkan, memproses, menyimpan dan mendistribusikan informasi merupakan suatu pengertian dari sebuah informasi. Menurut Connolly & Begg (2010 : p338), sistem informasi merupakan sumber daya yang memungkinkan pengumpulan, pengelolaan, pengaturan, dan penyebaran informasi diseluruh organisasi yang ada. Menurut Satzinger (2010 : p6), sistem informasu adalah suatu kumpulan komponen yang saling berhubungan, mengumpulkan, memproses, menyimpan dan mendistribusikan informasi sebagai hasil dari informasi. Jadi dapat disimpulkan sistem informasi adalah komponen yang saling berhubungan pada setiap proses operasional yang ada dalam organisasi. 2.4. Object-Oriented Analysis and Design (OOAD) Menurut Satzinger, Jackson, dan Burd (2010, p140) Object Oriented Analysis adalah mendefinisikan semua jenis objek yang melakukan pekerjaan dalam suatu sistem dan menunjukkan apa yang interaksi pengguna butuh untuk menyelesaikan tugas. Diagram yang terdapat dalam OOA berupa: 1. Activity Diagram Satzinger, Jackson, & Burd (2010: p141) Activity diagram merupakan sebuah tipe dari diagram workflow yang menggambarkan tentang aktivitas dari pengguna ketika melakukan setiap kegiatan dan aliran sekuensial. 11 Gambar 2.1 : Activity Diagram (Sumber : Satzinger 2010, p142) 2.5. Basis Data Pada era atau zaman sekarang data semakin banyak dan semakin menumpuk, begitu juga pada data pada setiap perusahaan semakin banyak dan semakin sulit untuk mengaturnya untuk itu basis data diperlukan. Kondisi ini mendukung canggihnya teknologi untuk menjadikan data untuk di simpan dan di atur untuk mempermudah proses pengolahan data. Menurut (Connolly & Begg, 2010, p65), basis data adalah kumpulan data yang saling terkait yang terbagi secara logikal serta deskripsi dari data tersebut, dibuat atau dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi Pernyataaan basis data juga diperkuat oleh pendapat (Satzinger, Robert, dan Burd, 2010, p373), yang menyatakan bahwa basis data merupakan sekumpulan data yang terintegrasi sebagai tempat penyimpanan data, diatur dan dikontrol secara terpusat. 12 Jadi dapat dikatakan basis data adalah sekumpulan data yang saling terintegrasi, serta sebagai tempat penyimpanan, pengaturan, dan pengontrolan data yang memuat informasi yang berguna dan dibutuhkan untuk suatu organisasi. 2.6. DBMS(Database Management System) DBMS sangat diperlukan pada saat ini, merupakan tools penyimpanan data juga dapat mengatur dan memelihara data. Menurut (Satzinger, jackson & burd, 2012, p373), DBMS merupakan sistem perangkat lunak yang dapat mengatur dan mengontrol satu atau lebih basis data. Pendapat ini di perkuat oleh pernyataan dari (Connolly & Begg, 2010, p66), DBMS adalah sistem software yang memungkinkan user untuk mendefinisikan, membuat, merawat database dan menyediakan kontrol akses ke database. DBMS juga merupakan software yang berinteraksi dengan aplikasi program dan database itu sendiri, biasanya sebuah DBMS meyediakan fasilitas seperti : • DDL(Data Definition Language) Memungkinkan pengguna untuk menentukan basis data, seperti tipe data dan struktur. • DML(Data Manipulation Language) Memungkinkan pengguna untuk memasukan, mengubah, menghapus, dan mengambil data dari basis data. • Menyediakan akses control ke basis data Memungkinkan untuk mencegah pengguna yang tidak bertanggung jawab untuk mengakses basis data. Jadi dapat di katakan bahwa DBMS merupakan sistem perangkat lunak atau software yang memungkinkan user mengatur akses pada basis data untuk mendefinisikan, membuat, merawat, dan menyediakan hak akses pada database. 2.6.1. Komponen DBMS (Database Management System) Sebelum membuat DBMS kita harus menyiapkan komponen yang dapat mendukung kinerja pada DBMS, komponennya yaitu sebuah perangkat keras, perangkat lunak serta data dan prosedurnya. Menurut (Connolly & 13 Begg, 2010, p68), ada lima komponen penting didalam lingkungan DBMS yaitu: • Hardware (Perangkat keras) Untuk membuat DBMS dan aplikasi berjalan, maka membutuhkan perangkat keras. Perangkat keras berupa PC, single mainframe, dan jaringan komputer. Perangkat keras ini dibutuhkan tergantung pada kebutuhan organisasi dan DBMS apa yang akan di pakai. • Software (Perangkat lunak) Komponen perangkat lunak meliputi perangkat lunak DBMS itusendiri dan program-program aplikasi bersama sistem operasi, termasuk sistem jaringan jika DBMS dioperasikan menggunakan jaringan. • Data Data adalah komponen yang terpenting dari DBMS environment dari sudut end-user yang berguna menghubungkan user. Data juga berperan sebagai penghubung antara komponen mesin dan komponen manusia. • Procedure Procedure lebih mengarah pada instruksi-instruksi dan aturan yang mengatur desain dan penggunaan database. Pengguna sistem dan staff yang mengelola database membutuhkan prosedur-prosedur yang bagaimana cara menggunakan atau menjalankan sistem tersebut secara dokumentasi. Berikut instruksi dalam penggunaannya yaitu: o Log on ke DBMS. o Menggunakan sebagian fasilitas DBMS atau program aplikasi. o Start dan stop DBMS. o Membuat salinan backup database. o Mengatasi kegagalan perangkat keras atau perangkat lunak. Termasuk prosedur mengidentifikasi komponen yang gagal dan bagaimana cara mengatasinya serta bagaimana cara merecover database. 14 o Merubah struktur dari tabel, mengatur ulang database ke beberapa disk, meningkatkan performa, atau mengarsipkan data ke penyimpanan sekunder awau cadangan. • People Terdapat lima tipe orang yang berpartisipasi didalam lingkungan DBMS yaitu : o Data dan Database Administrator Data Administrator adalah orang yang bertanggung jawab untuk mengatur sumber data, termasuk perencanaan database, pengembangan dan pemeliharaan, kebijaksanaan, dan prosedur-prosedur, dan perancangan konseptual/logikal database yang sesuai standar. o Database Administrator Merupakan orang yang bertanggung jawab untuk hubungan fisikal dari database,termasuk perancangan fisikal database dan implementasi, keamanan dan mengontrol integritas, pemeliharaan dari sistem operasi, serta memastikan kepuasan pengguna dari performa aplikasi tersebut. Database designers dibagi menjadi 2 tipe designer yaitu logical database designer dan physical database designer. o Logical database designer Logical database designer adalah lebih berkaitan dengan identifikasi data (entity dan atribut), hubungan antar data, dan kendala pada data yang akan disimpan dalam database. o Physical database designer Physical database designer lebih mengarah pada menentukan bagaimana perancangan logikal database dapat di rubah dan direalisasikan ke dalam bentuk fisikal. Hal ini melibatkan: • Pemetaan perancangan logikal database menjadi beberapa tabel dan penjelasan integritasnya. 15 • Memilih struktur penyimpanan yang spesifik dan metode akses untuk performa pengarsipan data yang baik. • Merancang segala langkah-langkah keamanan yang dibutuhkan didalam data. o End User End user merupakan orang yang nantinya akan menggunakan aplikasi yang berhubugan dengan sistem basis data yang telah dibuat sebelumnya. Kepuasan end-user akan menjadi sebuah ukuran keberhasilan dari sistem basis data yang telah dibuat, karena sistem basis data dibuat untuk memudahkan end-user melakukan pekerjaan secara efektif dan efisien. Jadi dengan kelima komponen Hardware, Software, Data, Procedure dan People, kita perlukan untuk membuat DBMS yang baik. 2.6.2. Fungsi DBMS Fungsi DBMS ini merupakan tipe dari fungsi service fasilitas dalam mengelola basis data. Menurut (Connolly & Begg, 2010, p99), sebagai berikut: • Penyimpanan, pengambilan dan pengubahan data DBMS harus memiliki kemampuan untuk menyimpan, mengambil, dan mengubah data dalam database. Ini merupakan fungsi fundamental dalam DBMS. • User dapat mengakses catalog DBMS harus mempunyai catalog yang berisi dekripsi item data yang disimpan dan diakses oleh pengguna. Sistem katalog dapat menyimpan data tentang skema, user, aplikasi, dan sebagainya. Sistem katalog atau kamus data yang berarti gudang informasi atau deskripsi data dalam database yang dikenal dengan nama metadata (data dalam data). Sistem katalog berupa : 16 • Nama, tipe, dan ukuran tipe data. • Nama penghubung. • Batasan-batasan integritas dalam data. • Nama pengguna yang memiliki wewenang untuk mengakses data. • Datayang dapat diakses oleh pengguna dan tipe akses yang di perbolehkan berupa : o Insert o Update o Delete o Read access • Eksternal, konseptual, dan skema internal serta pemetaan antara skema. • Penggunaan statistik, seperti frekuensi transaksi dan jumlah pada jumlah akses yang dibuat untuk objek dalam database. • Dukungan transaksi DBMS harus memberikan setiap mekanisme transaksi dapat di update sesuai dengan transaksi yang sudah di update. Transaksi merupakan sekumpulan aksi yang dilakukan oleh user atau program aplikasi yang dapat mengakses dan mengubah isi dari database. • Layanan control konkurensi DBMS harus dapat memastikan bahwa setiap mekanisme database diupdate secara benar saat beberapa pengguna melakukan update database secara bersamaan. Salah satu objektif dalam menggunakan DBMS adalah memungkinkan banyak pengguna untuk mengakses data. Akses konkurensi relative mudah apabila semua pengguna hanya membaca data. • Layanan recovery DBMS harus memastikan mekanisme dari pemulihan database apabila terdapat kejadian database rusak dalam berbagai 17 kondisi. DBMS harus menyediakan mekanisme untuk mengembalikan database ke keadaan yang konsisten. • Layanan kepemilikan DBMS harus memastikan bahwa hanya satu orang yang berwenang saja yang dapat mengakses database. • Dukungan komunikasi data DBMS harus dapat mendukung integrasi dan berhubungan dengan software lainnya. • Layanan integrasi DBMS harus memastikan kedua data dalam database dan perubahan pada data mengikuti aturan yang berlaku. Hal ini juga menjadi pertimbangan untuk tipe dari sistem proteksi database. • Layanan peningkatan independensi data DBMS harus mempunyai fasilitas untuk mendukung independence atau independensi program dari struktur database. • Layanan utilitas DBMS harus menyediakan beberapa layanan utilitas. Program utilitas dapat membantu untuk membuat database menjadi lebih efisien. Contoh kegiatan utilitas adalah : o Import fasilitas, load database dari file flat, dan eksport fasilitas, serta tidak load database dari file flat. o Memantau fasilitas, memantau penggunaan database dan operasi. o Analisis statistic program, dan mengevaluasi performa dari statistik penggunaan database dan operasi. o Fasilitas index organisasi, untuk mengatur kembali index dan overflows. o Alokasi dan relokasi, menghapus physical record dari tempat penyimpanan. 18 2.6.3. Keuntungan DBMS Database Management System (DBMS) pasti memiliki dampak bagi yang menggunakannya beberapa keuntungan dimanfaatkan perusahaan dalam pengembangkan dalam perusahaan. Menurut (Connolly & Begg, 2010, p77), keuntungan DBMS yaitu : • Control of data redundancy Dengan cara mengurangi duplikasi data sebelum data disimpan dalam database maka DBMS akan mengeliminasi redundance dengan data terintegrasi cukup disimpan sekali. • Data consistency Dengan cara mengeliminasi atau mengontrol redudansi data. Hal ini dapat mengurangi resiko inkonsistensi. • Sharing of data Sistem basis data terdapat pada organisasi yang dapat digunakan oleh seluruh pengguna yang memiliki hak akses. • Improved data integrity Database integrity lebih mengarah untuk meningkatkan validitas dan konsistensi data tersebut. Integritas biasanya dijabarkan ke dalam constraints, yang mana aturan konsistensi database tidak mengijinkan untuk dilanggar. • Improved security Database security adalah bagian dari keamanan database dengan meningkatkan database security, memproteksi basis data dari pengguna yang tidak dikenal. • Enforcement of standards Karena adanya pemakaian data secara bersamaan, terdapat penambahan tabel, field, tipe data, hak akses harus dibuat standar dan dokumentasinya. • Increased productivity Dengan file-based-systems, deskripsi data dan logika akses data telah dibuat ke dalam beberapa program aplikasi, dan mengurangi waktu pengembangan. 19 • Improved backup dan recovery services Dengan meningkatkan backup data maka dapat mengurangi suatu kegagalan sistem atau program aplikasi. Jika terjadi kesalahan maka backup data dapat di-restored Jadi dengan keuntungan dari DBMS kita dapat memanfaatkan dari keuntungan tersebut untuk meningkatkan kinerja dari perusahaan atau organisasi. 2.6.4. Kelemahan DBMS Selain mempunyai keuntungan, DBMS juga mempunyai kelemahan sebagai berikut: (Connolly & Begg, 2010, p80) o Kompleksitas Fungsi dari Database Management System (DBMS) yang baik menghasilkan kompleksitas struktur data dan perancang basis data harus sesuai. o Ukuran Kompleksitas menyebabkan ukuran data menjadi besar sehingga membutuhkan media penyimpanan yang besar juga. o Biaya Biaya yang dikeluarkan cukup besar untuk implementasi DBMS serta pemeliharaan. o Biaya tambahan hardware Biaya hardware tambahan untuk pengimplementasian DBMS tergolong besar. o Biaya konversi Terdapat Biaya untuk DBMS dan tambahan hardware untuk menggabungkan applikasi yang berjalan ke DBMS dan hardware yang baru. o Performa Secara umum memang baik tetapi ada beberapa aplikasi yang tidak berjalan secepat seperti biasanya. o Dampak kegagalan 20 Pemusatan dari sumber daya pengguna yang tersedia dapat menyebabkan kegagalan yang besar apabila pengelolaannya tidak benar. 2.7. Fact Finding Technique Fact Finding Technique ialah cara-cara untuk mengumpulkan informasi penting dalam suatu perusahaan untuk dianalisa. Biasanya ini dilakukan diawal sebelum proyek dilaksanakan. Menurut (Connolly & Begg, 2010,p341), Fact-Finding Technique adalah proses formal yang menggunakan teknik seperti wawancara dan kuesioner untuk mengumpulkan fakta-fakta tentang sistem, kebutuhan, dan preferensi. Ada 5 teknik dalam Fact-Finding Technique yang biasa dipakai untuk mencari fakta (Connolly & Begg, 2010,p344): o Examining Document Pemeriksa Dokumen dapat berguna saat kita mencoba untuk mencari informasi tentang bagaimana perlunya kebutuhan akan basis data. Kita juga dapat mencari dokumentasi yang dapat membantu memberikan informasi di dalam bagian masalah. Jika masalah masih berkaitan dengan sistem saat ini, harus ada hubungan dokumentasi pada sistem tersebut. Dengan memeriksa dokumentasi, formulir, laporan, dan asosiasi file dengan sistem saat ini. kita dapat dengan cepat memperoleh beberapa pemahaman tentang sistem. o Interviewing Wawancara adalah teknik pencarian fakta yang paling umum digunakan dan biasanya paling berguna. kita dapat mewawancarai untuk mengumpulkan informasi dari wajah individu untuk wajah. bisa ada beberapa tujuan yang ingin menggunakan wawancara, seperti mencari fakta, memverifikasi fakta, antusiasme generasi, mendapatkan pengguna akhir yang terlibat, mengidentifikasi kebutuhan, dan mengumpulkan ide dan pendapat. o Observing the enterprise in operation Observation adalah teknik pencarian fakta yang paling efektif untuk memahami sistem. Dengan teknik ini, mungkinkan untuk berpartisipasi 21 baik untuk belajar aktifitas dari sistem. Teknik ini juga sangat berguna ketika validitas data yang dikumpulkan melalui metode lain, seperti dalam pertanyaan atau ketika kompleksitas pertanyaan pada aspek tertentu dari penjelasan yang jelas oleh pengguna akhir. o Research Berguna untuk penelitian aplikasi dan masalah. jurnal komputer, buku referensi, dan internet adalah sumber informasi yang baik. Mereka dapat memberikan informasi tentang bagaimana memecahkan masalah yang sama, ditambah apakah paket perangkat lunak yang ada untuk memecahkan atau bahkan sebagian memecahkan masalah. o Questionnaires Merupakan teknik pencarian untuk melakukan survei melalui kuesioner. Kuesioner adalah dokumen special purpuse yang memungkinkan fakta yang dikumpulkan dari sejumlah besar orang dan tetap menjaga kontrol atas tanggapan mereka. 2.8. Database System Development Lifecycle Seperti namanya sebuah lifecycle pastinya memiliki langkah awal untuk dimulai lau di lanjutkan dengan langkah-langkah selanjutnya sampai kembali pada langkah awal. Hal ini juga terjadi ada pembuatan basis data, Menurut (Connolly & Begg, 2010, p313), Database system development lifecycle berkaitan secara inheren dengan siklus hidup sistem informasi. Sangat penting untuk mengenali tahapan siklus hidup aplikasi database tidak selalu berurutan, tetapi juga melibatkan beberapa jumlah tahapan sebelumnya melalui loop feedback atau umpan balik. Jadi, dari definisi diatas dapat disimpulkan bahwa Database System Development Lifecycle merupakan siklus hidup yang menggambarkan tahapan-tahapan di dalam melakukan perancangan aplikasi basis data yang baik. Berikut tahapan-tahapan Database System Development Lifecycle: 22 Gambar 2.2 Database System Development Lifecycle Sumber : Connolly & Begg (2010:314) 2.8.1. Database Planning Langkah pertama sebelum merancang, kita harus terlebih dulu menentukan database planning proyek. Menurut (Connolly & Begg, 2010, p313), database planning adalah aktivitas manajemen yang memungkinkan tahapan dari lifecycle yang akan direalisasikan secara efisiensi dan seefektif mungkin. Database planning harus diintegrasi dari keseluruhan IS strategi dari organisasi. Jadi, dari definisi diatas dapat disimpulkan bahwa Database Planning merupakan suatu tahapan perencanaan dalam pengembangan database secara efektif dengan adanya integrasi System information. 23 2.8.2. System Definition Penentuan System definition adalah penjelasan jangkauan dan batasan dari aplikasi basis data serta pandangan-pandangan utama para pengguna. Sebelum mendesain suatu aplikasi basis data, terlebih dahulu mengidentifikasikan batasan- batasan dari sistem yang sedang diteliti dan bagaimana kaitannya dengan bagian lain dari sistem informasi perusahaan. Hal ini diperkuat oleh pendapat (Connolly & Begg, 2010, p316), yang mengatakan bahwa hal tersebut dilakukan untuk memastikan bahwa tidak ada pengguna utama basis data yang terlupakan ketika dilakukan pengembangan aplikasi. 2.8.3. Requirement Collection and Analysis Proses ini merupakan proses dimana setiap analisis harus dapat didukung dengan informasi yang akurat dimana dalam membangun sistem baru akan dibutuhkan pengumpulan informasi yang mendukung penyataan tujuan perusahaan. Menurut (Connolly & Begg, 2010, p316), Requirement Collection and Analysis Merupakan proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan menggunakan informasi ini untuk mengidentifikasi untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna, yaitu : o The centralized approach (Pendekatan terpusat) Kebutuhan untuk setiap tampilan pengguna yang bergabung ke dalam satu persyaratan untuk sistem database baru. o The view integration approach (Pendekatan integrasi tampilan) Persyaratan untuk setiap pengguna tetap sebagai daftar yang terpisah. o combination of both approaches (Kombinasi dari 2 pendakatan) Setiap persyaratan tambahan untuk sistem basis data baru. 24 2.8.4. Database Design Setelah melakukan Requirement Analysis dilanjutkan perancangan basis data dimana data diperoleh dari data yang telah dikumpulkan dan analisis. Menurut (Connolly & Begg, 2010, p320), perancangan basis data merupakan proses pembuatan suatu desain atau rancangan untuk sebuah basis data yang akan mendukung operasional dan sasaran suatu perusahaan. Ada 4 pendekatan dalam perancangan database yaitu: o Top-down Diawali dengan pembentukan model data yang berisibeberapa entity high level dan relasi yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entity lower level, relasi, dan atribut lainnya. o Bottom-up Dimulai dari atribut dasar yaitu sifat-sifat entity dan relasidengan analisis dari penggabungan antar atribut, yang dikelompokkan ke dalam suatu relasi yang merepresentasikan tipe dari entity dan relasi antar entity. o Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entity utama yang kemudian menyebar ke entity, relasi, dan atribut terkait lainnya yang lebih dulu di identifikasi. Karena itu cara pendekatan ini merupakan salah satu cara yang tepat jika identifikasi awal merupakan entity utama yang akan dibuat menjadi entity khusus. o Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Proses perancangan database terdiri dari 3 tahapan yaitu: • Conceptual database design Proses pembuatan model informasi yang digunakan agar tidak tergantung pada semua masalah fisik. Secara garis besar perancangan ini terdiri dari tiga langkah sebagai berikut: o Penentuan entity pada database. o Pendefinisian hubungan/relasi antar entity. 25 o Penerjemahan hubungan ke dalam entity. • Logical database design Proses tahapan model informasi yang digunakan berdasarkan model khusus, dan menggambarkan proses yang terjadi dalam database secara rinci. Proses yang digambarkan akan dijelaskan secara berurutan dan menjelaskan atribut yang ada di dalam basis data. • Physical database design Proses pengukuran performa basis data yang akan dibuat. Dengan mempertimbangkan spesifikasi penyimpanan sekunder yang akan digunakan. Kecepatan transfer data juga akan menjadi tolak ukur, karena kecepatan transfer data akan mempengaruhi performa maupun kinerja sebuah sistem basis data secara efektif dan efisien. 2.8.5. DBMS selection (Optional) Menurut (Connolly & Begg, 2010, p. 325), seleksi DBMS adalah kegiatan memilih DBMS yang akan digunakan dalam pembuatan basis data. Pemilihan DBMS yang tepat sangat mendukung aplikasi basisdata. Menurut (Connolly & Begg, 2010, p. 326), langkah utama dalam pemilihan DBMS adalah sebagai berikut : • Mendefiniskan waktu untuk melakukan studi referensi. • Mencatat 2 atau 3 jenis produk yang akan dievaluasi untuk digunakan. • Mengevaluasikan produk tersebut. • Merekomendasikan produk yang dipilih dan membuat laporan yang mendukung DBMS tersebut. 2.8.6. Application Design Pada tahap ini dilakukan perancangan antarmuka bagi pengguna dan program aplikasi yang menggunakan dan memproses database. Perancangan database dan perancangan aplikasi adalah 26 aktivitas bersamaan pada siklus hidup pengembangan sistem database. Dalam kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan database selesai. Dalam perancangan aplikasi harus memastikan semuapernyataan fungsional dari spesifikasi kebutuhan pengguna yang menyangkut perancangan aplikasi program yang mengakses database dan merancang transaksi yaitu cara akses ke database dan perubahan terhadap isi database (retrieve, update, dan mixed). • Retrieval: Mendapatkan data untuk tampilan di layar. • Update: insert, delete, dan update record pada database. • Mixed: Gabungan dari retrieval dan update. Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancang antarmuka pengguna (user interface). Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara untuk menciptakan user-friendly. Rancangan antarmuka pengguna yang dalam pembuatannya tidak diperhatikan secara rinci dapat menimbulkan masalah. Oleh karena itu, antarmuka harus diakui sebagai komponen dari sistem yang penting. Hal ini bertujuan agar aplikasi mudah dipelajari, mudah digunakan, sehingga penggunapun akan cenderung untuk memberdayagunakan informasi yang disajikan. 2.8.7. Prototyping (Optional) Menurut (Connolly & Begg, 2010, p333), prototyping merupakan pembuatan model kerja dari aplikasi basis data, yang mengijinkan perancang atau pengguna untuk mengevaluasi hasil akhir sistem baik dari segi tampilan maupun fungsi yang dimiliki sistemtersebut. Tujuan utama dari prototype yaitu : • Menuntun pengguna menggunakan prototype untuk mengidentifikasi fitur-fitur agar sistem berjalan dengan baik. • Sebagai sarana pengembangan atau mungkin menambah fitur baru pada aplikasi basis data. 27 Ada dua strategi prototype yang umum digunakan yaitu : • Requirement prototyping, menggunakan prototipe untuk menetapkan kebutuhan dari tujuan aplikasi basis data. Ketika kebutuhan sudah terpenuhi, prototipe tidak digunakan lagi atau dibuang. • Evolutionary prototype, menggunakan prototipe untuk menetapkan kebutuhan yang selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja. 2.8.8. Implementation Pada tahap ini dilakukan pembuatan definisi database secara eksternal, konseptual, internal, dan program aplikasi. Implementasi merupakan realisasi dari database dan perancangan aplikasi. Implementasi pada database dilakukan dengan menggunakan DDL(Data Definition Language) dari DBMS yang dipilih atau dengan menggunakan GUI (Graphical User Interface). DDL digunakanuntuk membuat struktur database dan file database yang kosong. Selain itu, pada tahapan ini semua spesifikasi pandangan dari pengguna juga di implementasikan. • Data Definition Language (DDL) Data Definition Language (DDL) adalah satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionary. Secara umum perintah dalam DDLberhubungan dengan operasi-operasi dasar seperti membuat basis data baru, menghapus basis data, membuat tabel baru,menghapus tabel, membuat indeks, mengubah struktur tabel. Contoh perintah DDL misalnya, Create Table, Create Index,Alter, dan Drop Database. • Data Manipulation Language (DML) Data Manipulation Language (DML) adalah satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan 28 sebelumnya dalam model data yang tepat. Berikut merupakan beberapa contoh dari Data Manipulation Languange : o Select Select merupakan salah satu perintah yang sering digunakan di dalam manipulasi basis data. Dalam implementasinya, select bertujuan untuk memunculkan maupun melihat data yang ada di dalam basis data tersebut. Biasanya perintah select akan berfungsi untuk memeriksa apakah data yang dimaksud ada di dalam basis data. o Update Update merupakan perintah yang ada di dalam DBMS yang sering digunakan untuk mengubah isi data yang ada didalam basis data. Dalam implementasinya, perintah update biasanya digunakan jika ada kesalahan atribut yang ada didalam basis data. o Insert Insert merupakan perintah yang ada di dalam DBMS yang digunakan untuk memasukkan data baru ke dalam sistembasis data yang telah ada. Dalam implementasinya, perintah insert biasanya digunakan jika ada stok barang baru yang belum pernah ada di dalam basis data. o Delete Delete merupakan perintah yang ada di dalam DBMS yang digunakan untuk menghapus data yang telah ada sebelumnya di sistem basis data. Dalam implementasinya, perintah delete biasanya digunakan jika ada stok produk yang sudah tidak diproduksi lagi 29 2.8.9. Data Conversion and Loading Menurut (Connolly & Begg, 2010, p334) data conversion and loading mencakup pengambilan data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru. Tahapan ini memungkinkan pengembang untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan pada sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi dari keseluruhan operasi. 2.8.10. Testing Menurut (Connolly & Begg, 2010, p334) testing adalah proses menjalankan aplikasi untuk menemukan kesalahan – kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Dalam kenyataan testing tidak luput dari kesalahan. Di Dalam merancang basis data, user dari sistem baru seharusnya terlibat didalam proses testing. Jika data yang asli digunakan, perlu backup untuk mengantisipasi kesalahan atau error. Setelah testing selesai, sistem aplikasi telah siap digunakan oleh pengguna akhir. 2.8.11. Operational Maintenance Tahapan terakhir di dalam database life cycle adalah operational maintenance. Menurut (Connolly & Begg, 2010, p335) operational maintenance adalah proses memantau dan memeliharasistem setelah di install. Pada tahap ini sistem beralih ke tahapanpemeliharaan diantaranya: • Memantau kinerja dari sistem • Pemeliharaan dan upgrade aplikasi basis data (jika diperlukan) ketikabasis data sepenuhnya bekerja, pemantauan harus memastikankinerjanya dapat berada dalam tingkat yang dapat diterima. 30 2.9. Entity Relationship Modeling Menurut Thomas (Connolly & Begg , 2010, p371), salah satu aspek yang sulit dalam perancangan database adalah menentukan sebuah entity. 2.9.1. Entity Type (Tipe Entity) Menurut (Connolly & Begg,2010, p372), entity type adalah sekumpulan obyek dengan properti yang sama, yang diidentifikasi oleh perusahaan yang memiliki keberadaan yang tidak bergantung dengan yang lainnya. 2.9.2. Relationship Types (Tipe Hubungan) Menurut (Connolly & Begg, 2010, p374), relationship type adalah sekumpulan asosiasi antara satu atau lebih entity type yang berpartisipasi. Setiap relationship type diberi nama yang menjelaskan fungsinya. G ambar 2.3 Relationship Type Sumber : Connolly & Begg (2010:374) Degree of relationship adalah banyaknya entity berpartisipasi di dalam relationship. type yang 31 Recursive relationship adalah relationship type dimana entity type yang sama berpartisipasi lebih dari satu different role. 2.9.3. Attribute (Atribut) Menurut (Connolly & Begg, 2010, p379-382), macam-macam atribut yaitu: • Attribute Domain adalah sekumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. • Simple Attribute adalah atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang bebas. • Composite Attribute adalah atribut yang terdiri dari beberapa komponen dengan keberadaan yang bebas. Dalam hal ini beberapa atribut dapat dipisahkan menjadi beberapa komponen yang lebih kecil lagi dengan keberadaan yang bebas. • Single Value Attribute adalah atribut yang memiliki nilai tunggal untuk masing-masing kejadian dari entity. • Multi Value Attribute adalah atribut yang memiliki banyak nilai untuk masing-masing kejadian dari entity. • Derived Atrribute adalah atribut menggantikan sebuah nilai yang diturunkan dari nilai sebuah atribut yang berhubungan, tidak perlu pada jenis entity yang sama. 2.9.4. Key (Kunci) • Candidate Key adalah satu atau lebih atribut yang ada di dalam field dan bersifat unik, sehingga menjadi identifier pada suatu relasi antar field dalam basis data. • Primary Key adalah candidate key yang diidentifikasi secara unik pada setiap field dalam basis data yang hanya ada satu dan itu bersifat unik pada setiap field. • Foreign Key adalah suatu atribut dalam sebuah table yang melengkapi satu relationship yang menunjuk pada induknya. 32 • Composite Key adalah candidate key yang ada di dalam field • Alternate Key adalah candidate key yang tidak terpakai sebagai primary key pada suatu basis data. 2.9.5. Strong and Weak Entity Type • Strong entity type adalah setiap kejadian yang unik mampu diidentifikasikan menggunakan atribut primary key pada entity. • Weak entity type adalah tipe entity yang keberadaannya bergantung pada tipe entity lainnya. Karakteristik dari entity yang lemah adalah setiap kejadian entity tidak bisa diidentifikasikan secara unik hanya dengan menggunakan atribut yang bergantung pada entitynya. Gambar 2.4 Contoh Strong dan Weak Entity Sumber : Connolly & Begg (2010:314) 2.9.6. Structural Constraints Menurut (Connolly & Begg, 2010, p385), tipe utama dari constraint di dalam relationship disebut multiplicity. Multiplicity adalah jumlah occurrence yang mungkin dari sebuah tipe entity yang berhubungan dengan sebuah occurrence dari tipe entity lain yang terasosiasi melalui hubungan tertentu. 33 • One-to-One (1:1) Relationship terjadi apabila setiap himpunan entity A hanya boleh berhubungan dengan satu himpunan entity B. • One-to-Many (1:*) Relationship terjadi apabila setiap himpunan entity A boleh berhubungan lebih dari satu himpunan entity B. Sebaliknya setiap himpunan dari entity B hanya boleh berhubungan dengan satu himpunan entity A. • Many-to-Many (*:*) Relationship terjadi apabila setiap himpunan entity A berhubungan lebih dari satu himpunan entity B, sebaliknya setiap himpunan dari entity B juga boleh berhubungan lebih dari satu himpunan entity A. 2.10. Normalisasi Normalisasi menurut (Connolly & Begg, 2010, p415), adalah sebuah teknik untuk memproduksi sejumlah relasi dengan kebutuhan yang diinginkan, untuk memberi kebutuhan data dari suatu organisasi. Proses Normalisasi menurut (Connolly & Begg, 2010, p430), terdapat beberapa bentuk yaitu: • Unnormalized Form (UNF) Sebuah tabel yang berisi satu atau lebih kelompok pengulangan (repeating groups). Pada tabel UNF ini dibuat dengan mentransformasi data dari sumber informasi ke dalam tabel berbentuk baris dan kolom. • Bentuk Normal Pertama (1NF) Sebuah relasi di mana persimpangan setiap baris dan kolom berisi satu dan hanya satu nilai. Pada tabel 1NF ini dibuat dengan menghilangkan repetisi dan data yang merupakan hasil kalkulasi serta menentukan atribut yang menjadi primary key. • Bentuk Normal Kedua (2NF) Bentuk 2NF didefinisikan berdasarkan ketergantungan fungsional yang penuh (Full Functional Dependency). 2NF merupakan sebuah relasi 34 antara bentuk normal pertama dan setiap atribut yang bukan primary key atau secara fungsional tergantung primary key. Dengan kata lain, tabel 2NF ini dibuat dengan menghilangkan ketergantungan partial. • Bentuk Normal Ketiga (3NF) Bentuk 3NF didefinisikan berdasarkan ketergantungan transitif (Transitive Dependency). 3NF merupakan sebuah relasi antara bentuk normal pertama dan bentuk normal kedua, dimana tidak ada atribut yang bukan primary key atau secara transitif bergantung pada primary key. Gambar 2.5 Ilustrasi dari Hubungan antara Bentuk Normal Sumber : Connolly & Begg (2010:415) 2.11. Metodologi Perancangan Basis data Menurut (Connolly & Begg, 2010, p466), metodologi perancangan basis data merupakan pendekatan terstruktur yang menggunakan prosedur, teknik, tools dan dokumentasi untuk mendukung dan memfasilitasi proses design. Perancangan basis data terbagi 3 tahap yaitu: • Perancangan Konseptual/ Conseptual Database Design. • Perancangan Logikal/ Logical Database Design. • Perancangan Fisikal/ Physical Database Design. 35 1. Perancangan Konseptual/ Conseptual Database Design Menurut (Connolly & Begg, 2010, p 467), perancangan konseptual adalah proses untuk membangun sebuah data model yang digunakan dalam perusahaan, independent dari semua pertimbangan phisikal. Perancangan konseptual model dibutuhkan untuk mengetahui kebutuhan yang dibutuhkan oleh perusahaan. Konseptual model terdiri dari Entity type, Tipe relasi, Atribut dan Atribut domain, Primary keys dan alternate keys, Batasan Integrity. Untuk membuat konseptual design, maka langkah – langkah yang diperlukan adalah: • Identifikasi Entity Type Bertujuan untuk menentukan entity type utama yang dibutuhkan dengan cara memeriksa user requirement specification. Setelah terdefinisi, entity tersebut diberikan nama yang tepat dan jelas seperti mahasiswa, dosen, mata_kuliah. • Identifikasi Tipe Hubungan ( Relasi ) Bertujuan untuk mengidentifikasi suatu relasi yang penting yang ada antar entity yang telah teridentifikasi. Nama dari suatu relasi menggunakan kata kerja seperti mempelajari, memiliki, mempunyai, dan lain – lain. • Identifikasi dan associate atribut dengan tipe relasi Associate atribut bertujuan untuk menghubungkan atribut dengan entity atau relasi yang tepat. Dalam langkah ini juga dilakukan identifikasi simple / composite attribute, single / multi – valued attribute, dan derived attribute. • Menentukan atribut domain Bertujuan untuk menentukan domain suatu atribut dalam model data konseptual. Domain adalah sekumpulan nilai dari satu atau lebih atribut yang menggambarkan nilainya. Contohnya yaitu menentukan nilai atribut jenis_kelamin pada entity mahasiswa dengan ‘M’ atau ‘F’ atau 36 nilai atribut sks pada entity mata_kuliah dengan ‘1’,’2’,’3’, dan ‘4’. • Menentukan atribut candidate, primary, dan alternate key. Bertujuan untuk mengindentifikasi candidate key pada setiap entity dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari atribut dan keunikan key masa datang. • Mempertimbangkan untuk menggunakan concept modeling. Pada Spesialisasi, langkah ini Generalisasi, bertujuan Aggregasi, untuk menentukan dan composition. Dimana masing – masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. o Spesialisasi dan Generalisasi adalah proses dalam mengelompokkan berapa entity dan menghasilkan entity baru. Beda dari keduanya adalah cara pendekatannya, dimana spesialisasi menggunakan topdown dan generalisasi menggunakan pendekatan bottom-up. o Spesialisasi adalah proses memaksimalkan perbedaan antar anggota entity dengan mengidentifikasi sifat – sifat yang membedakan satu sama lain. o Generalisasi adalah proses meminimalkan perbedaan antara anggota entity dengan mengindentifikasi sifat – sifat yang sama satu dengan yang lain. o Aggregasi menggambarkan relasi ‘ memiliki’ atau ‘bagian-dari’ antar tipe entity dimana suatu relasi hanya akan ada jika ada relasi lainnya. o Composistion adalah suatu bentuk Aggregasi yang spesifik yang mewakili asosiasi antar entity dimana ada 37 kepemilikan yang kuat da nada hubungan – hubungan antara ‘keseluruhan’ dan ‘bagian’nya. • Cek model untuk redundansi. Bertujuan untuk memeriksa konseptual model untuk menghindari dari adanya informasi yang redundan, sehingga tak membuat informasi yang ada berulang secara terus menerus. Yang dilakukan dalam langkah ini adalah : • Memeriksa ulang relasi one to one ( 1:1) Setelah entity diidentifikasikan maka kemungkinan ada dua entity yang mewakili satu object. Untuk itu dua entity tersebut harus di merge bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan lainnya dijadikan alternate key. • Menghilangkan hubungan yang redundan Digunakan untuk menekan jumlah model data. • Menentukan dimensi waktu Hubungan dimensi waktu adalah sangat penting ketika mengakses redundan untuk menentukan situasi dari hubungan model data entity. • Validasi data model konseptual terhadap transaksi user. Bertujuan untuk menjamin bahwa konseptual data model mendukung kebutuhan transaksi pengguna. Dengan menggunakan model yang telah di validasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local conceptual data model mendukung kebutuhan transaksi yaitu : • Menggambarkan Transaksi. Memeriksa seluruh informasi (entity, relasi, dan atribut) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi. • Menggunakan Transaksi pathways. 38 Pendekatan ini untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada diagram ER. • Review data model konseptual dengan user. Bertujuan untuk melihat kembali model data konseptual dan memastikan bahwa data model tersebut sudah benar. 2. Perancangan Logikal/ Logical Database Design Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari database management system (DBMS) dan pertimbangan fisik lainnya (Connolly & Begg, 2010, p467). Tujuannya yaitu untuk mengubah data model konseptual menjadi data model logikal dan kemudian untuk memvalidasi model ini untuk mengecek apakah struktur nya sudah benar dan bisa untuk mendukung kebutuhan transaksi. Menurut (Connolly & Begg, 2010, p490) 7 langkah pembuatan logikal data model adalah sebagai berikut : • Penurunan relasi untuk logikal data model. Bertujuan membuat relasi untuk data model logical untuk mempresentasikan entity, relasi, dan atribut – atribut yang telah terindentifikasi. Adapun struktur adalah sebagai berikut : • Strong entity types. Untuk setiap strong entity pada data model, merupakan suatu entitas yang memiliki relasi kuat dan mempengaruhi entitas lainnya. Jika sebuah strong entity dihapus, maka akan mempengaruhi entitas lainnya secara keseluruhan. 39 • Weak entity types Untuk setiap weak entity pada data model, merupakan suatu entitas yang memiliki relasi lemah dengan entitas lainnya. Jika weak entity dihapus, maka tidak akan mempengaruhi entitas lainnya secara keseluruhan. • One-to-many binary relationship types Untuk setiap 1:* binary relationship, semua entity yang ada pada salah satu sisi relationship di desain sebagai entity parent dan entity yang ada pada banyak sisi di didesain sebagai entity child. • One-to-one binary relationship types Membuat relasi yang mempresentasikan 1:1 lebih kompleks, karena cardinality tidak dapat digunakan untuk membantu mengindentifikasi entity parent and child dalam relationship. Cara membuat relasi yang mempresentasikan partisipasi membandingkan dengan: • Mandatory participation pada setiap sisi relasi 1:1. Pada kasus ini entity yang terlibat harus di kombinasi menjadi relasi dan memilih satu dari primary key dari entity yang asli untuk menjadi primary key pada relasi yang baru. • Mandatory participation pada salah satu sisi relasi 1:1. Pada kasus ini entity parent dan child dapat di identifikasi untuk relasi 1:1 menggunakan participation constraint. • Optional participation pada setiap sisi relasi 1:1 Pada kasus ini mendesain entity parent dan child akan mendapatkan sedikit keputusan tentang relasi yang dapat membantu untuk memutuskan pilihan apakah menggunakan suatu jalan atau jalan lainnya. 40 • One-to- one recursive relationship type Untuk recursive relationship type hanya mengikuti aturan – aturan untuk partisipasi sebagai gambaran relasi 1:1 sebelumnya. • Superclass / subclass relationship types Untuk setiap relasi superclass / subclass pada konseptual data model, mengidentifikasi entity superclass sebagai entity parent dan entity subclass sebagai entity child. • Many-to-many binary relationship types Untuk setiap relasi binary, setiap entitas dapat berhubungan dengan semua atribut yang menjadi bagian dari entitas lainnya. • Complex relationship types Membuat relasi untuk mempresentasikan relasi dan termasuk setiap atribut yang menjadi bagian dari relasi. • Multi valued attributes Membuat relasi baru untuk mempresentasikan atribut multi valued dan termasuk primary key dari entity pada relasi baru yang berperan sebagai foreign key. • Validasi relasi menggunakan normalisasi Validasi relasi pada model data logikal menggunakan teknik normalisasi. Dengan menggunakan normalisasi, maka model yang di hasilkan mendekati model dari kebutuhan perusahaan, konsisten dan memiliki sedikit redundansi dan stabilitas yang maksimum. • Validasi user berdasarkan transaksi user Memastikan relasi dalam model data logikal telah mendukung transaksi yang dibutuhkan. Bertujuan untuk menjamin bahwa relasi dalam mode logikal tersebut mendukung user requirement specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi. 41 • Check Integrity Constraint Menentukan integrity constraint, dimana mencakup pemeriksaan kelengkapan data, atribut domain constraint, multiplicity, entity integrity, referential integrity, general constraint. • Review data model logikal dengan User. Pastikan user menyetujui model data logikal merupakan representasi nyata terhadap persyaratan data perusahaan. • Menggabungkan data model logikal ke data model global (optional step). Untuk mengabungkan local logical data model kedalam single global logical data model yang mempresentasikan semua user views dalam basis data. • Cek untuk pengembangan ke depan. Menentukan apakah ada kemungkinan terjadi perubahan yang besar di masa depan, dan menilai apakah model data logikal dapat menyesuaikan dengan perubahan tersebut. 3. Perancangan Fisikal/ Physical Database Design Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraint dan tindakan keamanan (Connolly & Begg, 2010, p467). Physical database design terdiri dari 6 langkah dan apabila dijabarkan akan menjadi langkah 3-8 yaitu ( Connoly & Begg, 2010, p523) : Menerjemahkan model data logikal untuk DBMS target. • Desain dasar relasi. • Desain representasi data. • Desain general constraint. Desain organisasi file dan indeks. • Analisa Transaksi. • Memilih organisasi file. 42 • Memilih indeks. • Memprediksi kebutuhan space disk. Desain user view. Desain mekanisme keamanan. Mempertimbangkan pengenalan pengontrolan redundansi. • Memonitor dan mengontrol sistem operasional. Menerjemahkan model data logikal untuk DBMS target. Bertujuan untuk menghasilkan skema baris data relasional dalam global logikal data model yang dapat di implementasikan ke DBMS. Penerjemahan global logikal data model untuk target DBMS terdiri dari 3 langkah. Langkah tersebut adalah : • Desain dasar relasi. Untuk memutuskan bagaimana cara merepresentasikan dasar relasi yang telah teridentifkasi pada model data logikal dalam DBMS target. • Desain representasi data yang ada. Untuk memutuskan bagaimana cara mempresentasikan data yang ada pada model data logikal dalam target DBMS. • Desain General Constraint. Untuk mendesain general constraint untuk target DBMS. • Desain organisasi file dan indeks. Membedakan file organisasi optimal untuk menyimpan relasi dasar dan indeks yang mana membutuhkan persetujuan pencapaian yang merupakan jalan dimana relasi akan di pegang dalam secondary storage. Aktivitas – aktivitas yang terjadi pada langkah 4 adalah sebagai berikut : Analisa Transaksi. Mengerti akan fungsi dari transaksi yang akan berjalan pada database dan untuk menganalisa transaksi yang penting. Memilih organisasi file. Untuk membedakan sebuah file yang terorganisasi pada setiap relasi dasar. 43 Memilih indeks. Untuk membedakan apakah indeks tambahan akan meningkatkan performa sistem. Memprediksi kebutuhan kapasitas disk. Untuk memprediksi banyaknya kapasitas disk yang akan dibutuhkan oleh basis data. • Desain user view. Untuk mendesain user views yang telah di indentifikasi selama permintaan collection dan menganalisis stage dari pengembangan database lifecycle. • Desain mekanisme keamanan. Mendesain mekanisme security untuk basis data sebagai petunjuk oleh user selama permintaan dan pengumpulan informasi pada saat pengembangan database lifecycle. • Mempertimbangkan pengenalan pengontrolan redundansi. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural, konsisten, dan menekan jumlah redundansi. Faktor yang perlu di pertimbangkan adalah : Denormalisasi membuat implementasi lebih kompleks. Denormalisasi selalu mengorbankan fleksibilitas. Denormalisasi akan membuat cepat dalam pengambilan data tetapi lambat dalam update data. Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efisiensi data dimaksudkan untuk meminimalkan kapasistas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat pengambilan data dari basis data. • Monitor dan mengatur sistem operasional. Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 44 Teori khusus yang menjadi dasar penulisan adalah sebagai berikut : 2.12. Pengertian Pembelian Pembelian merupakan suatu transaksi yang terjadi dalam perusahaan dimana suatu stock barang yang sudah disediakan sudah habis dan akan melakukan masukan stock sesuai dengan minimal kebutuhannya. Menurut (Reeve, 2009, p281), pembelian adalah jumlah yang didebit dari jumlah faktur pembelian. Semua pembelian akan dimasukan secara langsung pada persediaan. Jadi, dari definisi diatas dapat dijelaskan bahwa pembelian merupakan suatu usaha yang digunakan dalam perusahaan dalam menyediakan stock barang yang diperlukan. 2.13. Pengertian Penjualan Penjualan adalah suatu transaksi yang terjadi pada setiap pelaku usaha untuk mencapai suatu tujuan yang akan menghasilkan keuntungan. Penjualan merupakan salah satu kebutuhan suatu perusahaan, karena dari penjualan akan dapat diperoleh keuntungan serta konsumen untuk mengetahui daya tarik mereka sehingga dapat mengetahui hasil dari produk yang dihasilkan. Menurut Reeve (2009, p255), penjualan adalah total biaya yang dibebankan kepada customer barang yang dijual termasuk penjualan tunai maupun penjualan kredit. Sedangkan, menurut Hall (2011, p335), siklus penjualan merupakan serangkaian aktivitas bisnis yang mengubah barang atau jasa untuk pelanggan menjadi kas. Menurut Mulyadi (2007:160) penjualan adalah “Suatu kegiatan yang terdiri dari transaksi penjualan barang atau jasa, secara kredit maupun tunai” Jadi penjualan adalah kebutuhan penting untuk suatu usaha karena dari penjualan yang menghasilkan transaksi akan mendapatkan keuntungan. 45 2.14. Pengertian Persediaan Inventory atau persediaan barang merupakan asset yang sangat penting, baik dalam jumlah maupun peranannya dalam kegiatan perusahaan. Menurut Alfredson, K., et al (2007, p342), persediaan merupakan asset yang tersedia untuk dijual dalam proses bisnis biasa atau asset yang ada dalam proses produksi. Menurut Stevenson (2009, p549), persediaan adalah stok dari barang yang disimpan. Jadi, dari definisi diatas dapat disimpulkan bahwa persediaan (Inventory) merupakan jumlah barang dimana barang sudah mulai menipis atau sudah mendekati jumlah minimal, kemudian akan dilakukan persediaan ulang kembali yang akan menjadi suatu bekal dalam melakukan transaksi penjualan. 2.15. Apotek Apotek rakyat menurut peraturan menteri kesehatan tentang rakyat: Pasal 1 dalam peraturan menteri ini yang dimaksud: 1. Apotek rakyat adalah sarana kesehatan tempat dilaksanakannya pelayanan kefarmasian dimana dilakukan penyerahan obat dan perbekalan kesehatan, dan tidak melakukan peracikan. 2. Apoteker adalah sarjana farmasi yang telah lulus pendidikan profesi dan telah mengucapkan sumpah berdasarkan peraturan perundangan yang berlaku dan berhak melakukan pekerjaan kefarmasian di Indonesia sebagai apoteker. 3. Sediaan farmasi adalah obat, bahan obat, obat tradisional dan kosmetika. 4. Perbekalan kesehatan adalah semua bahan selain obat dan peralatan yang diperlukan untuk menyelenggarakan upaya kesehatan. 5. Resep adalah permintaan tertulis dari dokter, dokter gigi, dokter hewan kepada apoteker untuk menyediakan dan menyerahkan obat bagi pasien sesuai dengan peraturan perundangan yang berlaku. 46 6. Pelayanan kefarmasian (Pharmaceutical care) adalah bentuk pelayanan dan tanggung jawab langsung profesi apoteker dalam pelayanan kefarmasian untuk meningkatkan kualitas hidup pasien. 7. Dinas kesehatan adalah Dinas Kesehatan Provinsi, Kabupaten/Kota dimana Apotek Rakyat berada. Dewi (2013) yang mengatakan “Sistem juga dikembangkan untuk memenuhi kebutuhan apotek-apotek yang ada pada umumnya dengan memanfaatkan teknologi database sehingga data-data lebih terjamin dan aman serta terintegrasi”.