BAB 2 LANDASAN TEORI 2.1 Teori umum 2.1.1 Sistem Dasarnya sistem sudah menjadi bagian dari suatu perusahaan, dengan adanya sistem suatu perusahaan dapat menjalankan tujuannya dengan baik. Sistem ini dikatakan sebagai suatu arahan atau perintah, dimana suatu pelaksanaan tidak ak an berlanjut apabila perintah tersebut belum selesai. Menurut Connolly & Begg (2010:266), sistem merupakan cara untuk menjelaskan ruang lingkup dan batas-batas dari sistem database dan pandangan pengguna. Menurut Satzinger, Jackson, & Burd (2009:6), sistem adalah sebagai sekumpulan fungsi-fungsi kompleks yang bergantung pada bagian tersebut dan interaksi di antara bagian tersebut. Menurut O’Brien & Marakas (2010:26), sistem merupakan sekumpulan komponen yang saling terkait untuk mencapai seperangkat tujuan dengan menerima input dan menghasilkan output dalam suatu proses transformasi yang terorganisir. Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan bahwa sistem adalah sekumpulan komponen yang saling terkait dan bekerja sama untuk memperoleh tujuan tertentu 2.1.2 Pengertian Informasi Informasi merupakan pengumpulan data-data yang akan diolah menjadi pengetahuan yang berguna untuk perusahaan. Informasi dibutuhkan oleh perusahaan untuk memudahkan pengambil keputusan. Menurut Whitten & Bentley (2007:21), informasi merupakan data yang telah diproses atau diorganisasi ulang menjadi bentuk yang lebih berarti untuk seseorang. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti ke penerima, 9 10 Menurut O’Brien & Marakas (2010:27), informasi adalah data yang telah dikonversikan ke dalam konteks yang penuh arti dan berguna bagi end-user tertentu. Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan bahwa informasi merupakan sebuah data yang dapat memberikan keuntungan bagi pengguna. 2.1.3 Sistem Informasi Umumnya, setiap organisasi memerlukan sistem untuk mudah mendapatkan informasi. Sistem akan terintegrasi untuk dapat menyediakan informasi, hal ini bertujuan untuk mendukung operasi manajemen dalam suatu organisasi. Sistem informasi juga memberikan kemudahan di dalam menghasilkan laporan yang dibutuhkan. Menurut Whitten & Bentley (2007:6), sistem informasi adalah pengaturan orang, data, proses, dan teknologi informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. Menurut Connolly & Begg (2010:338), sistem informasi merupakan sumber daya yang memungkinkan pengumpulan, pengelolaan, pengaturan, dan penyebaran informasi di seluruh organisasi. Menurut O’Brien & Marakas (2010:26), sistem informasi merupakan suatu sistem yang menerima sumber daya atau data sebagai input dan memprosesnya menjadi produk atau informasi sebagai suatu output. Menurut Serova (2011:452), Sistem informasi berguna sebagai alat komunikasi yang efektif dan dapat memberikan infomasi antar anggota staf, serta untuk mendukung keputusan manajemen operasional pada semua tingkatan. Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan bahwa sistem informasi merupakan suatu jaringan yang terbentuk dari beberapa komponen yang mempunyai proses dari imput data, lalu diproses dan menghasilkan suatu informasi. 11 2.1.4 Data Data merupakan raw material untuk suatu informasi. Data yang dikumpulkan harus jelas dan akurat agar dapat diolah menjadi informasi yang beguna dan mudah dimengerti oleh orang lain. Menurut Connolly & Begg (2010:19), Data merupakan komponen yang paling penting dalam DBMS.Berasal dari sudut pandang terakhir. Data bertindak sebagai jembatan antara mesin dan pengguna. Menurut O’Brien & Marakas (2010:34), Data adalah fakta mentah atau pengamatan, biasanya tentang fenomena fisik atau transaksi bisnis. Menurut Robr & Coronel (2009:660), data adalah nilai-nilai dan fakta – fakta mentah yang belum diproses untuk menyatakan pengertiannya kepada pengguna. Data adalah satu set diskrit, dimana fakta-fakta objektif tentang peristiwa Jurike V.Moniaga (2009:1). Dalam konteks organisasi, data yang paling berguna digambarkan sebagai catatan terstruktur transaksi, dimana organisasi biasanya menyimpan data seperti sistem teknologi. Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan bahwa Data adalah sekumpulan nilai-nilai dan fakta-fakta yang belum di olah. 2.1.5 Sistem Basis Data Pada akhir tahun 1980, banyak bidang sistem basis data yang dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang powerful, model data yang lengkap dan penekanan pada dukungan analisis data yang kompleks dari semua bagian organisasi. Menurut Connolly & Begg (2010:54), Sistem basis data merupakan kumpulan program aplikasi yang berinteraksi dengan basis data bersama dengan Database Management System (DBMS) dan basis data itu sendiri. Jadi, berdasarkan definisi di atas, dapat disimpulkan bahwa Sistem basis data merupakan sistem yang terdiri dari kumpulan file atau tabel yang saling berhubungan dan sekumpulan program yang memungkinkan beberapa pemakaian. 12 2.1.6 Database Management System(DBMS) DBMS atau Database Management System sangat membantu user dalam urusan usaha ataupun bisnis karena dengan menggunakan DBMS akan lebih mudah dalam mengelola suatu data, baik dengan memberikan hak akses untuk user atau mengatur jalannya suatu data. Menurut Satzinger, Jackson, & Burd (2009:488), DBMS merupakan sistem perangkat lunak yang dapat mengatur akses ke basis data. DBMS juga dapat diartikan sebagai komponen dari sistem perangkat lunak yang umumnya dibeli dan di-install secara terpisah dari komponen sistem perangkat lunak lainnya. Menurut Connolly & Begg (2010:66), DBMS atau Database Management System 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. Sistem Database Manajemen (DBMS) adalah sistem yang digunakan untuk mengeksekusi query, input data, manipulasi data, serta tambahan untuk mengsharing data worldwide dan secara efektif membantu dalam pembentukan atom database yang sedang digunakan Tahat & Salah (2011:34). Jadi, dari definisi diatas dapat disimpulkan bahwa Database Management System (DBMS) merupakan sistem perangkat lunak yang mampu menghandel semua akses database untuk memenuhi kebutuhan user. 2.1.6.1 Fasilitas DBMS DBMS menyediakan beberapa fasilitas Connolly & Begg (2010:66), sebagai berikut : 1. DBMS memungkinkan user untuk menentukan suatu database, biasanya Language (DDL). menggunakan DDL Data memungkinkan Definition user untuk menspesifikasikan tipe dan struktur data serta batasanbatasan yang akan disimpan dalam database. 13 2. DBMS memungkinkan user untuk melakukan operasi dasar dalam database seperti insert, delete, update, dan retrieve menggunakan Data Manipulation Language (DML). 3. Menyediakan kontrol akses kedatabase, yaitu meliputi : • Sistem keamanan Mencegah user yang tidak terauthorisasi untuk mengakses database. • Sistem Integritas Mempertahankan konsistensi penyimpanan data agar tidak terjadi inkonsistensi data di mana pada satu tempat data diubah namun pada tempat yang lain data tidak berubah. • Sistem kontrol concurrency Memungkinkan berbagi akses ke database. • Sistem kontrol recovery Mengembalikan database pada keadaan konsisten sebelumnya setelah terjadi kegagalan hardware dan software. • User-accesible catalog Mendeskripsikan data yang ada di dalam database. 2.1.6.2 Fungsi-fungsi DBMS Fungsi DBMS ini dapat membuat pengguna dapat dengan mudahnya mengakses dan mengelola basis data yang ada. Menurut Connolly & Begg (2010:99), sebagai berikut : 1. Penyimpanan, pengambilan dan pengubahan data DBMS harus memiliki kemampuan untuk menyimpan, mengambil, dan mengubah data dalam database.Ini merupakan fungsi fundamental dalam DBMS. 2. Katalog yang dapat diakses oleh pengguna DBMS harus mempunyai catalog yang dimana mendekripsikan item data yang disimpan dan diakses oleh 14 pengguna.Sistem katalog dapat menyimpan data tentang skema, users, aplikasi, dan sebagainya. Sistem katalog dapat disebut sebagai kamus data yang berarti kumpulan informasi atau deskripsi data dalam database yang dikenal dengan nama metadata. Sistem katalog berupa : a. Nama, tipe, dan ukuran tipe data. b. Nama penghubung. c. Batasan-batasan integritas dalam data. d. Nama pengguna yang memiliki wewenang untuk mengakses data. e. Jenis-jenis data yang dapat diakses oleh pengguna dan mendefinisikan tipe aksesnya berupa : • Insert • Update • Delete • Read access f. Eksternal, konseptual, dan skema internal serta pemetaan antara skema. g. Penggunaan statistik, seperti frekuensi transaksi dan jumlah pada jumlah akses yang dibuat untuk objek dalam database. 3. Dukungan transaksi DBMS harus yakin bahwa setiap mekanisme transaksi dapat di update.Transaksi merupakan sekumpulan aksi yang dilakukan oleh pengguna atau program aplikasi yang dapat mengakses dan mengubah isi dari database. 4. Layanan control konkurensi DBMS harus dapat memastikan bahwa setiap mekanisme database di update secara benar ketika terdapat beberapa pengguna melakukan perubahan database. Salah satu objektif dalam menggunakan DBMS adalah memungkinkan banyak pengguna untuk mengakses data. 15 Akses konkurensi relative mudah apabila semua pengguna hanya membaca database. 5. Layanan recovery DBMS harus memiliki pemulihan database apabila terdapat kejadian database rusak dalam berbagai kondisi. DBMS harus dapat menyediakan mekanisme untuk mengembalikan database ke keadaan yang konsisten. 6. Layanan kepemilikan DBMS harus memastikan bahwa hanya orang yang berwenang saja yang dapat mengakses database. 7. Dukungan komunikasi data DBMS harus dapat mendukung integrasi dan berkomunikasi dengan software lainnya. 8. Layanan integrasi database DBMS harus dapat memberikan sarana untuk memastikan kedua data dalam database dan perubahan pada data berdasarkan aturan tertentu.Ini dapat dijadikan pertimbangan untuk tipe laiinya dari sistem proteksi database. 9. Layanan untuk peningkatan independensi data DBMS mempunyai fasilitas untuk mendukung kemandirian program dari struktur database yang sebenarnya. 10. Layanan utilitas DBMS harus menyediakan kumpulan layanan utilitas.Program utilitas dapat membantu untuk membuat database menjadi lebih efisien. Contoh kegiatan utilitas adalah : a. Import fasilitas, load database dari file flat, dam eksport fasilitas, serta tidak load database dari file flat. b. Memantau fasilitas, memantau penggunaan database dan operasi. 16 c. Analisis statistic program, dan mengevaluasi performa dari statistik penggunaan database dan operasi. d. Fasilitas index organisasi, untuk mengatur kembali index dan overflows. e. Alokasi dan relokasi, menghapus physical record dari tempat penyimpanan. 2.1.6.3 Komponen utama pada DBMS Dalam menjalankan DBMS dibutuhkan beberapa komponen yang mendukungnya, karena DBMS merupakan sebuah perangkat lunak, maka harus disertai dengan perangkat keras dan pengguna yang dapat mendukung proses pekerjaannya. Komponen utama pada DBMS Connolly & Begg (2010:68), yaitu : Gambar 2.1 Komponen Lingkungan DBMS Sumber: Database Systems : A Practical Approach to Design, Implementation, and Management, Connolly & Begg (2010) • Hardware Dalam menjalankan suatu aplikasi dan DBMS akan diperlukan hardware, dimana hardware dapat berupa a single personal computer, Single mainframe, jaringan komputer berupa server. Hardware yang digunakan harus sesuai dengan kebutuhan perusahaan dan DBMS yang digunakan. • Software Komponen- komponen software terdiri dari DBMS software itu sendiri maupun program aplikasi, sistem operasi, dan juga 17 software jaringan jika DBMS tersebut menggunakan jaringan seperti LAN. • Data Data merupakan salah satu komponen DBMS yang terpenting khususnya sudut padang end user mengenai data yang nantinya akan diolah didalam DBMS. Data pada sebuah sistem basis data baik single-user sistem maupun multi-user sistem harus saling berintegrasi secara bersamaan. • Prosedur Prosedur merupakan Instruksi dan aturan yang mengatur dalam perancangan dan penggunaan database.Penggunaan sistem dan para staff yang mengatur kebutuhan basis data didokumentasikan dalam prosedur. Beberapa instruksi-instruksi dalam merancang database dan DBMS adalah : a. Log in ke dalam DBMS. b. Menggunakan sebagian fasilitas DBMS atau program aplikasi. c. Menjalankan dan menghentikan DBMS. d. Membuat salinan cadangan Database. e. Memeriksa dan Menangani hardware atau software yang sedang berjalan. f. Mengubah struktur table, meningkatkan kinerja dan meletakan data ke secondary storage. • People (Pengguna) Pada komponen ini pengguna terlibat langsung dengan sistem, seperti DBA, programmer, dan pengguna akhir.Database dan DBMS memerlukan sumber daya manusia agar dapat mengatur jalannya mekanisme database dan DBMS. Pengguna dapat dikategorikan menjadi empat yaitu : a. Data dan DBA (Database Administrator), terdapat dua jenis yaitu DA (Data Administrator) yang bertanggung jawab untuk mengatur sumber daya data meliputi 18 perencanaan basis data, pengembangan dan pemeliharaan standar, kebijakan dan prosedur, dan desain database konseptual/logikal. DBA (Database Administrator) merupakan orang yang bertanggung jawab untuk mendesain, implementasi, pemeliharaan dan perbaikan database. b. Database Designer Database Designer terdiri dari dua tipe yaitu : Logical database Designer, merupakan perancangan yang lebih menekankan dalam mengindentifikasi data, hubungan antara data, batasan-batasan data sebelum dimasukan ke dalam database. Physical database designer, perancangan ini memutuskan bagaimana desain database logikal dapat direalisaikan secara fisik. c. Application Developers, merupakan orang yang bertanggung jawab untuk membuatkan suatu aplikasi database yang harus dilaksanakan oleh end-users. Aplikasi database tersebut menggunakan bahasa pemrograman seperti C++ , C#, Java, dan sebagainya. d. End-Users, merupakan clients untuk database, yang dirancang dan diimplementasi, serta dipelihara untuk menyajikan informasi yang diperlukan. End-Users dapat diklasifikasikan sesuasi sistem yang dijalankan : i. Naïve Users merupakan tipikal orang yang tidak berinteraksi langsung dengan DBMS. Mengakses database melalui sebuah program aplikasi yang ditunjukan secara khusus untuk mencoba operasi sesederhana mungkin. ii. Sophisticated users merupakan orang yang lebih mengerti struktur database dan fasilitasnya, dan memungkinkan dirinya untuk menggunakan bahasa pemrograman yang lebih tinggi. 19 Berikut merupakan keuntungan dan kerugian dalam menggunakan DBMS yaitu: 2.1.6.4 Keuntungan DBMS Database Management System (DBMS) memiliki beberapa keunggulan dibandingkan dengan tidak menggunakan DBMS. Keuntungan yang ditawarkan dalam penggunaan DBMS banyak dimanfaatkan oleh banyak perusahaan/organisasi dalam mengembangkan usaha mereka. Menurut Connolly & Begg (2010:77), keuntungan DBMS yaitu : a. Control of data redundancy Dengan cara mengurangi duplikasi data sebelum data disimpan dalam database maka DBMS akan mengeliminasi redundan dengan data terintegrasi cukup disimpan sekali. b. Data consistency Dengan cara mengeliminasi atau mengontrol redudansi data. Dalam hal ini dapat mengurangi resiko inkonsistensi yang terjadi. c. Sharing of data Sistem basis data terdapat pada organisasi yang dapat digunakan oleh seluruh pengguna yang memiliki hak akses. d. Improved data integrity Dengan meningkatkan validitas dan konsistensi data tersebut. Integritas biasanya dijabarkan ke dalam constraints, yang mana aturan konsistensi database tidak mengijinkan untuk dilanggar. e. Improved security Dengan meningkatkan database security, memproteksi basis data dari pengguna yang tidak dikenal. f. Enforcement of standards Dengan adanya pemakaian data secara bersamaan, maka apabila terdapat penambahan tabel, field, tipe data, hak ases harus dibuat standar dan dokumentasinya. g. Increased productivity 20 Dalam file-based-systems deskripsi data dan logika pengaksessan data telah dibuat ke dalam beberapa program aplikasi, membuat program tergantung pada data. h. Improved backup dan recovery services Dengan meningkatkan backup data maka dapat mengurangi suatu kegagalan sistem atau aplikasi program.Jika kesalahan terjadi maka backup data dapat di-restored. 2.1.6.5 Kerugian DBMS Dalam penggunaan DBMS tidak hanya keuntungan saja yang akan didapatkan oleh suatu perusahaan atau organisasi tetapi dalam penggunaan DBMS terdapat kerugian yang akan didapatkan oleh organisasi/perusahaan pada saat penggunaan DBMS. Menurut Connolly & Begg (2010:80), kekurangan DBMS, yaitu : a. Complexity Dimana Database designersdan developers, data dan database administrators, serta end-users harus mengerti fungsinya untuk mengambil keuntungan penuh dari fungsi tersebut. Kesalahan dalam mengerti sistem dapat memberikan keputusan rancangan yang buruk, yang dapat mengakibatkan konsekuensi serius dari sebuah organisasi. b. Size Kompleksitas DBMS dan menjadi luasnya software fungsionalitas yang membuat sangatbesar dan membutuhkan ruang disk serta memori substansial untuk menjalankannya secara efesien. c. Additional hardware costs Untuk mencapai performa yang dibutuhkan, sangat diperlukan membeli mesin besar, mesin yang didedikasikan untuk menjalankan DBMS. d. Higherimpact of failure Sentralisasi sumber daya menambah kerentanan sistem.Setelah semua pengguna dan aplikasi bergantung 21 pada ketersediaan dari DBMS, kesalahan komponen tertentu dapat menyebabkan operasi berhenti. 2.1.7 Teori Database System Development Lifecycle Pada aplikasi basis data diperlukan acuan untuk melakukan perancangan tersebut. Acuan yang dimaksud tersebut adalah Siklus Hidup Aplikasi basis data atau dikenal dengan istilah Database System Development Lifecycle. Menurut Connolly & Begg (2010:313), siklus hidup aplikasi database secara inheren terkait dengan siklus hidup sistem informasi.Harus mengenali bahwa tahapan siklus hidup aplikasi database tidak selalu berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui loop feedback.Contohnya masalah yang dihadapi pada database design mungkin memerlukan analisis dan persyaratan tambahan. 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. 22 Tahapan-tahapan yang harus diketahui pada Database System Development Lifecycle yaitu : Database Planning System Definition Requirements collection and analysis Database design Coceptual Database Design DBMS selection (optional) Application Design Logical Database Design Physical Database Design Prototyping (optional) Implementation Data Conversion and loading Testing Operational Maintenance Gambar 2.2 Database System Development Lifecycle Sumber : Connolly & Begg (2010:313) 23 2.1.7.1 Database Planning Dalam membuat database, tahap pertama adalah database planning, dimana tahap ini sangat penting karena dapat mempengaruhi efektifitas dalam pengembangan database yang akan dibuat. Menurut Connolly & Begg (2010:313), aktivitas manajemen yang memungkinkan tahapan dari siklus hidup sistem database yang akan direalisasikan secara efisiensi dan seefektif mungkin. Database planning harus diintegrasi dengan strategi information system secara keseluruhan. Jadi, dari definisi diatas dapat disimpulkan bahwa Database Planning merupakan suatu tahapan perencanaan dalam pengembangan database secara efektif dengan adanya integrasi System information. 2.1.7.2 System Definition Tahap kedua dalam membangun database yaitu system definition dimana menentukan batasan serta cakupan dari database yang akan dibuat berdasarkan dari major user views. Menurut Connolly & Begg (2010:316), System Definition menjelaskan ruang lingkup dan batasan dari aplikasi basis data dan pandangan dari pengguna utama. Sebelum merancang sistem basis data, penting untuk mengidentifikasi batasan dari sistem yang akan dibangun dan bagaimana tampilannya dapat berinteraksi dengan bagian lain dari sistem informasi organisasi. Penentuan batasan dari sistem tidak hanya dari pengguna dan aplikasi saat ini, tetapi juga pengguna dan aplikasi untuk masa mendatang. Jadi, dari definisi diatas dapat disimpulkan bahwa System Definition merupakan dimana suatu batasan dalam melakukan perancangan basis data agar dapat berintegrasi dengan bagian lainnya. 24 2.1.7.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:316), 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 persyaratan untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna, yaitu : • The centralized approach (Pendekatan terpusat) Kebutuhan untuk setiap tampilan pengguna yang bergabung ke dalam satu persyaratan untuk sistem database baru. • The view integration approach (pendekatan integrasi tampilan) Persyaratan untuk setiap pengguna tetap sebagai daftar yang terpisah. • A combination of both approaches. Setiap persyaratan tambahan untuk sistem basis data baru. 2.1.7.4 Database Design Menurut Connolly & Begg (2010:320), Database Design Merupakan proses menciptakan desain yang akan mendukung pernyataan misi perusahaan dan tujuan misi untuk sistem database yang diperlukan. Serta merupakan suatu pendekatan struktur yang mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi untuk mendukung dan member sarana pada proses perancangan itu sendiri.Terdapat dua pendekatan perancangan database, yaitu : • Bottom-up Pendekatan ini dimulai pada tingkat dasar atribut (yaitu, sifatsifat entitas dan relasi), yang melalui analisis hubungan antara 25 atribut, dikelompokkan ke dalam relasi yang mewakili jenis entitas dan relasi antar entitas. • Top-down Pendekatan ini dimulai dengan pengembangan model data yang berisi tingkat tinggu beberapa entitas dan relasi kemudian berturut-turut menerapkan perbaikan top-down untuk mengidentifikasi tingkat rendah entitas, hubungan dan atribut yang terkait. Perancangan database terdiri dari tiga fase yaitu : 1. Conceptual database design Merupakan proses membangun suatu model data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. Connolly & Begg (2010:470), langkah-langkah desain basis data konseptual : Langkah 1: Membangun model data konseptual. Langkah pertama ini akan membangun model data konseptual untuk setiap pandangan yang spesifik. Langkah 1.1: Mengidentifikasi jenis entitas. Salah satu metode untuk mengidentifikasi entity adalah dengan menguji spesifikasi kebutuhan dari user.Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata benda yang disebutkan. Serta juga dapat melihat objek utama seperti orang, tempat atau konsep dari ketertarikan diluar kata benda lainnya yang merupakan kualitas dari objek lain. Setelah jenis entitas diidentifikasi, tentukan nama – nama entitas yang bermakna dan jelas. Catat nama dan deskripsi entitas ke dalam kamus data. Langkah 1.2: Mengidentifikasi jenis relasi. proses mengidentifikasi relasi sangat penting terhadap entitias. proses mengidentifikasi entitas menggunakan salah satu metode yaitu mencari kata 26 benda dengan memeriksa spesifikasi kebutuhan pengguna. Relasi ditunjukkan oleh kata kerja dan ekspresi verbal. Langkah – langkah dalam mengidentifikasi relasi, antara lain: a. Menggunakan Entity-Relationship(ER) diagram. b. Memilihmultiplicity constraint dari jenis relasi. c. Memeriksa fan dan chasm traps. d. Mendokumentasikan jenis relasi. Setelah prosesrelasi selesai, maka akan menentukan nama – nama yang bermakna dan jelas. Simpan deskripsi relasi dan multiplicity constraint ke dalam kamus data. Langkah 1.3: Mengidentifikasi jenis dan menggabungkan atribut pada tiap entitas. Tujuan pada langkah ini untuk menghubungkan atribut dengan entitas atau tipe relasi yang sesuai dan mendokumentasikan detail dari setiap atribut. Atribut-atribut bisa diidentifikasi dengan kata benda atau ungkapan kata benda seperti properti, kualitas, identifier, atau karakteristik dari satu entitas atau hubungan. Setelah mengidentifikasi atribut, tentukan nama – nama yang bermakna dan catat informasi berikut pada setiap atribut: a. Nama dan deskripsi atribut. b. Tipe dan panjang data. c. Alias dari setiap atribut. d. Jika atribut merupakan atribut composite, tentukan atribut sederhana yang membentuknya. e. Atribut merupakan multi-valued atau tidak. 27 f. Jika atribut merupakan atribut derived, tentukan cara perhitungannya. g. Nilai default dari setiap atribut. Langkah 1.4: Menentukan domain atribut. Tujuan menentukan domain untuk menetapkan nilainilai atribut dalam model data konseptual dan mendokumentasikan setiap detail dari domain. Domain merupakan sekumpulan nilai-nilai dari satu atau lebih atribut yang menggambarkan nilainya. Model data yang dibuat menspesifikasikan domain untuk tiap-tiap atribut dan menyertakan : • Nilai yang diizinkan untuk atribut • Ukuran dan format atribut Langkah1.5: Menentukan candidate key, primary key, dan alternate key. Untuk Menentukan candidate key untuk setiap entitas dan jika terdapat lebih dari satu candidate key, maka pilih satu sebagai primary key. Hal-hal yang harus diperhatikan Ketika memilih primary key diantara candidate key, yaitu: a. Candidate key dengan sejumlah kecil atribut. b. Candidate key yang paling mungkin memiliki nilai yang berubah. c. Candidate key dengan karakter paling sedikit (untuk atribut tekstual). d. Candidate key dengan nilai maksimun terkecil (untuk atribut numerik). e. Candidate key yang paling mudah digunakan dari sudut pandang pengguna. Langkah1.6: Mempertimbangkan konsep pemodelan enhanced (optional). Pada langkah ini akan mempertimbangkan mengembangkan ER model dengan menggunakan 28 konsep enhanced modeling, seperti spesialisasi, generalisasi, penggabungan (aggregation), komposisi (composition). Langkah 1.7: Memeriksa model untuk redundansi. Pada langkah ini akan melakukan pengujian model data konseptual dengan tujuan spesifik untuk mengidentifikasikan apakah ada redudansi dalam data dan memindahkan data yang telah ada. Dua aktifitas dalam langkah ini adalah: • Menguji ulang relationship 1-1 (one-to-one) • Menghilangkan relationship yang redundan • Mempertimbangkan dimensi waktu Langkah 1.8: Validasi model konseptual terhadap transaksi pengguna. Pada tahap ini akanmemastikan model konseptual yang akan mendukung transaksi yang dibutuhkan oleh view. Pengujian dilakukan dengan dua pendekatan untuk memastikan model data konseptual yang mendukung transaksi yang dibutuhkan, yaitu : • Mendeskripsikan transaksi-transaksi Memeriksa seluruh informasi (entitas, relationship, dan atribut) yang dibutuhkan olehsetiap transaksi telah disediakan oleh model, dengan mendokumentasikan setiapkebutuhan transaksi. • Mengunakan jalur-jalur transaksi Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasidiagram jalur yang digunakan oleh setiap transaksi langsung pada ER diagram. Langkah 1.9: Memeriksa model data konseptual terhadap transaksi pengguna. Tujuan pada tahap ini adalah mereview model data konseptual dengan user untuk memastikan model tersebut adalah representasi sebenarnya dari 29 view.Model data konseptual ini termasuk ER diagram dan dokumentasi pendukung yang mendeskripsikan model data.Bila ada kejanggalan dalam model data, maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan pengulangan langkah-langkah sebelumnya. 2. Logical database design Proses logical database design adalah memperbaiki dan memetakan model data konseptual yang sebelumnya telah dibuat ke bentuk model data logical. Menurut Connolly & Begg (2010:490), Logical database design, merupakan proses membangun model data yang digunakan dalam suatu perusahaan berdasarkan model data tertentu, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. Langkah-langkah desain basis data logikal yaitu : Langkah2: Membangun dan memvalidasi model data logikal. Pada langkah ini akan membuat dan memvalidasi model data logikal untuk setiap pandangan. Hal ini bertujuan untuk membuat model data logikal dari model data konseptual yang mempresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut strukturnya untuk dengan menjamin kebenaran menggunakan teknik normalisasi dan akan dapat mendukung kebutuhan transaksi. Langkah 2.1: Menurunkan hubungan model data logikal. Dalam langkah ini akan menurunkan hubungan untuk model data logika sebagai tujuan untuk mewakili entitas, relasi, dan atribut.kemudian akan diidentifikasi primary key, alternate key dan foreign key. 30 Langkah 2.2: Memvalidasi relasi menggunakan normalisasi. Dalam langkah ini akan dilakukan validasi pengelompokkan atribut pada setiap relasi dengan menggunakan aturan normalisasi. Normalisasi dapat memastikan sekumpulan relasi yang memiliki jumlah atribut yang sangat mendukung data perusahaan dan dapat menghindari masalah-masalah yang akan dihadapi, misalnya redudansi data. Langkah 2.3: Memvalidasi relasi terhadap transaksi pengguna. Melakukan validasi model data logika ini dapat memberikan kepastian dimana dapat mendukung transaksi yang diperlukan dalam transaksi pengguna. Langkah 2.4: Memeriksa integrity constraints. Langkah ini dapat melindungi basis data dari keadaan tidak lengkap, tidak akurat atau tidak konsisten. Jenis-jenis batasan integritas yang harus dipertimbangkan, yaitu: a. Required data Merupakan beberapa attribute yang harus mengandung nilai-nilai yang valid. b. Attribute domain constraints Merupakan batasan yang harus diidentifikasi dalam memilih domain atribut untuk model data. c. Multiplicity Merupakan batasan yang ditempatkan pada relasi antara data di dalam basis data. d. Entitiy integrity Merupakan dimana Primary key dari suatu entitas tidak boleh kosong (null). e. Referential integrity Merupakan suatu nilai yang harus berupa tuple yang terdapat dalam relasi induk. 31 f. General constraint Pengubahanpada dikendalikan entitas oleh Dokumentasikan – entitas batasan semua dapat pengaturan. integrity constraint dalam kamus data untuk menjadi pertimbangan selama perancangan fisik. Langkah 2.5: Tinjauan model data logikal dengan pengguna. Pada langkah ini pengguna harus dapat meninjau model data logikal untuk dapat memastikan dimana model data dapat menjadi perwakilan dari kebutuhan data perusahaan. Langkah ini diperlukan dan digunakan saat pengguna merasa tidak puasnya dengan model data tersebut kemudian akan dilakukan pengulangan langkah awal. Langkah2.6: Menggabungkan model data logikal menjadi model global (Optional). Langkah ini digunakan sebagai perancangan basis data yang memiliki beberapa user views yang dikelola dengan menggunakan pendekatan integrasi view. Untuk memfasilitasi deskripsi dari proses penggabungan maka akan digunakan model data logikal local dan global. Model data logikal local dapat mempersentasikan satu atau lebih user views,tapi tidak semua pengguna basis data. Sedangkan model data logikal global dapat mewakili semua user views dari basis data. Pada langkah ini akan ditinjau kembali model data logikal global bersama pengguna. Langkah 2.7: Memeriksa model terhadap future growth. Pada langkah ini akan ditentukan apakah ada perubahan pada masa mendatang dan apakah model data logikal dapat mengakomodasi terhadap perubahan ini sesuai dengan hasil pemeriksaan model tersebut. 32 3. Physical database design Dapat dikatan physical database design merupakan cara pembuatan menuju sistem DBMS tertentu. Menurut Connolly & Begg (2010:523), Physical database design Merupakan proses pendeskripsian implementasi basis data pada penyimpanan sekunder, proses itu menggambarkan basis relasi, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap kendala integritas terkait dan tahapan keamanan. Langkah-langkah desain basis data fisikal : Langkah 3: Menerjemahkan model data logis untuk target DBMS. Tujuan dari langkah ini untuk menghasilkan skema basis data relasi dalam model data logika yang dapat diimplementasikan ke DBMS.Proses ini juga dapat menyusun informasi yang dikumpulkan selama perancangan basis data logikal dan mendokumentasikannya ke dalam kamus data bersama dengan informasi yang dikumpulkan selama pengumpulan persyaratan maupun tahap analisis dan melakukan dokumentasi ke dalam spesifikasi sistem Langkah 3.1: Desain relasi dasar. Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi dasar yang dihasilkan dari logikal databasedesign. Tujuan dari memahami relasi ini adalah untuk dapat memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi ke dalam model data logikal dalam target DBMS. Informasi yang didapatkan dari kamus data dan DDL. penting bisa 33 Langkah 3.2: Merancang representasi derived data. Tujuan dari merancang representasi derived data adalah untuk dapat menentukan bagaimana merepresentasikan derived data yang terdapat di dalam model data logikal ke dalam target DBMS. Langkah 3.3: Merancang general constraints. Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada perusahaan. Perancangan general constraints tergantung pada DBMS yang dipilih. Langkah 4: Desain Organisasi file dan indeks. Tujuan dari langkah ini yaitu menentukan organisasi file yang optimal dalam indeks yang menentukan penyimpanan dibutuhkan dan untuk meningkatkan performa. Langkah 4.1: Menganalisis transaksi. Tujuan dari langkah ini adalah untuk dapat mengerti fungsi dari transaksi yang dijalankan pada basis data dan penting untuk memiliki pengetahuan tentang transaksi yang akan berjalan pada basis data sehingga dapat menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi, yaitu : • Transaksi dapat dilakukan secara sering dan mempunyai dampak yang signifikan pada performa. • Transaksi yang terjadi suatu masalah atau kritis pada operasi dan bisnis. • Waktu selama sehari atau seminggu ketika adanya permintaan yang tinggi pada saat basis data dibuat. Langkah 4.2: Memilih organisasi file. Tujuan dalam memilih organisasi file adalah untuk menyimpan dan mengakses data secara efisien. 34 Aktivitas pada langkah ini adalah untuk menentukan organisasi file yang efisien untuk setiap relasi dasar sehingga penyimpanan dan akses dapat dilakukan dengan mudah. Langkah 4.3: Memilih indeks. Pada langkah ini akan dilakukan pemilihan indeks yang bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang lebih sesuai untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Langkah 4.4: Mengestimasi ruang disk yang diperlukan. Bertujuan untuk memastikan jumlah ruang penyimpanan yang akan dibutuhkan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Langkah 5: Desain pandangan pengguna. Tujuan dari langkah ini untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Langkah 6: Desain mekanisme keamanan. Langkah ini bertujuan untuk melindungi basis data dalam operasional dan sangat penting mengingat isi dari basis data yang berupa informasi yang sangat penting. 35 2.1.7.5 DBMS Selection Pemilihan DBMS yang tepat untuk mendukung sistem basis data. Jika tidak ada DBMS yang sesuai maka bagian dari siklus hidup akan membuat seleksinya yaitu antara konseptual dengan desain logical Connolly & Begg (2010:325), Langkah-Langkah dalam pemilihan DBMS : • Menetapkan kerangka referensi belajar. Pada langkah ini menerangkan kerangka acuan untuk pemilihan DBMS yang akan menyatakan tujuan dan ruang lingkup serta tugas-tugas yang perlu dilakukan. • Daftar sederhana dari dua atau tiga produk. Pada langkah ini dianggap penting untuk diimplementasi, yang dapat digunakan dalam menghasilkan daftar awal produk DBMS untuk di evaluasi. • Evaluasi produk. Pada langkah ini terdapat berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS. Fitur ini dapat dinilai sebagai kelompok (misalnya, definisi data) atau individual (misalnya, tipe data yang tersedia). • Merekomendasikan seleksi dan menghasilkan laporan Langkah terakhir dari pemilihan DBMS adalah untuk proses dokumentasi dan untuk memberikan pernyataan yang ditemukan dan rekomendasi untuk produk DBMS tertentu. 36 2.1.7.6 Application Design Desain basis data dan aplikasi merupakan aktifitas pararel yang meliputi dua aktivitas penting. Menurut Connolly & Begg (2010:329), Application design merupakan desain user interface dan program aplikasi yang digunakan untuk memproses database. Application design dibagi menjadi dua aspek yaitu : 1. Transaction Desgin (Rancangan Transaksi) Connolly & Begg (2010:330), suatu tindakan, atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi, yang mengakses atau merubah isi database. Ada tiga tipe transaksi yaitu : • Retrieval transactions Transaksi ini digunakan dalam mengambil data untuk ditampilkan pada layar atau dalam produksi laporan. • Update transactions Transaksi ini digunakan untuk menyisipkan catatan baru, menghapus catatan lama, atau memodifikasi catatan yang ada dalam database. • Mixed transactions Pada transaksi ini saling bergantungan terhadap retrieval dan updating data. (misalnya, operasi untuk mencari dan menampilkan rincian properti). 2. User Interface Design Guidelines Sebelum melakukan implementasi laporan, maka harus terlebih dahulu merancang desainnya. Guidelines for form/report design. • Meaningful title • Comprehensible instructions • Logical grouping and sequencing of fields • Visually appealing layout of the form/report • Familiar field labels • Consistent terminology and abbreviations 37 • Consistent use of color • Visible space and boundaries for data entry fields • Consistent use of color • Visible space and boundaries for data entry fields • Error correction for individual characters and entire fields • Error messages for unacceptable values • Optional fields marked clearly • Explanatory messages for fields • Completion signal 2.1.7.7 Prototyping Dalam membuat prototyping kita dapat mengidentifikasi fitur fitur yang terdapat dari sistem, apakah sistem tersebut berjalan dengan baik atau tidak serta dapat memberikan perbaikan atau penambahan fitur baru. Menurut Connolly & Begg (2010:333), prototyping adalah membangun sebuah model kerja dari sistem basis data. prototypingmerupakan model kerja tidak secara normal yang mempunyai semua fitur-fitur yang dibutuhkan atau yang menyediakan semua fungsi dari sistem akhir.Tujuan utama dalam pemgembangan prototyping sistem basis data adalah memungkinkan pengguna dalam menggunakan prototyping untuk mengidentifikasi fitur dari sistem yang bekerja dengan baik, atau tidak memadai, dan jika mungkin untuk menyarankan perbaikan atau bahkan fitur baru untuk sistem basis data.Prototyping harus mempunyai keuntungan utama menjadi murah secara relative dan cepat untuk dibangun. 38 Dua strategi prototyping yang sering digunakan : 1. Requirements prototyping, Menggunakan sebuah prototyping untuk mendiktekan persyaratan dari sebuah usulan sistem basis data dan setelah semua persyaratan selesai maka prototyping dibunag. 2. Evolutionary prototyping Menggunakan usulan yang sama, perbedaan yang penting adalah prototyping tidak dibuang tetapi dikembangkan lebih jauh menjadi pekerjaan sistem basis data. 2.1.7.8 Implementation Implementasi merupakan realisasi fisikal dari basis data dan desain aplikasi Connolly & Begg (2010:333), Implementasi basis data dicapai dengan menggunakan : • Implementasi basis data dapat dicapai dengan Data Definition Language(DDL). KeunggulanData Definition Language yaitu sebagai sebuah bahasa yang mengijinkan DBA atau user untuk membuat struktur basis data dan file basis data kosong. • Program aplikasi yang diimplementasi menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL) yaitu bahasa pemrograman tingkat tinggi seperti yang digunakan pada SQL. • Bagian dari program aplikasi ini adalah transaksi basis data, yang diimplementasikan menggunakan Data Manipulation Language (DML). Pada DBMS, terpancang dengan sebuah bahasa pemrograman seperti Visual Basic (VB), VB.net, Phyton, Delphi, C, C++, C#, java, COBOL, Fortan, Ada, atau Pascal. Keamanan dan integrity control dari sistem juga diimplementasikan. Beberapa control ini diimplementasikan menggunakan DDL, tetapi yang lain mungkin butuh batasan luar dalam menggunakan DDL. 39 2.1.7.9 Data Conversion and Loading (pengubahan dan pemuatan data) Menurut Connolly & Begg (2010:334), Data Conversion and Loading adalah mentransferkan beberapa data yang ada ke dalam database baru dan mengkonversikannya ke beberapa aplikasi yang ada untuk menjalankannya pada database baru tersebut. 2.1.7.10 Testing Menurut Connolly & Begg (2010:334), Testing adalah proses menjalankan sistem basis data dengan maksud menemukan kesalahan. Pengujian juga harus mencakup kegunaan dari sistem basis data, sebuah evaluasi harus dilakukan terhadap spesifikasi kegunaanya. Contoh criteria yang dapat digunakan untuk melakukan evaluasi yaitu : 1. Learnability : berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi produktif dengan sistem? 2. Performance : seberapa baik respon sistem sesuai praktek kerja pengguna ? 3. Robustness : seberapa toleransinya sistem dari kesalahan pengguna ? 4. Recoverability : seberapa baik sistem pulih dari kesalahan pengguna ? 5. Adaptability : seberapa dekat sistem terkait dengan satu model pkerjaan ? Setelah pengujian selesai, sistem basis data siap untuk “ditandatangani” dan diserahkan pada pengguna. pengguna dari sistem baru harus dilibatkan dalam proses pengujian. Situasi yang ideal untuk pengujian sistem adalah memiliki basis data pengujian pada sistem perangkat keras yang terpisah, namun sering tidak tersedia. Hal ini harus dipersiapkan backup untuk menghadapi kesalahan. 40 2.7.11 Operational Maintenance Menurut Connolly & Begg (2010:335), operational maintenance adalah proses pemantauan dan pemeliharaan sistem basis data setelah instalasi. Setelah melewati tahap pelaksanaan dan pengujian. Tahap berikutnya adalah pemeliharaan dengan kegiatan – kegiatan berikut: 1. Pemantauan kinerja sistem. Jika kinerja sistem tidak dapat diterima, penyusunan ulang basis data mungkin diperlukan. 2. Pemeliharaan dan peningkatan sistem basis data (bila diperlukan). Memasukkan persyaratan baru ke dalam sistem basis data melalui tahap sebelumnya dari siklus hidup. 2.1.8 Entity-Relationship Modelling Menurut Connolly dan Begg (2010, p372-394), Entity-Relationship Modelling (ERM) terdiri dari konsep-konsep dasar seperti : 1. Entity Types : kumpulan dari objek yang memiliki properti yang sama, yang diidentifikasi memiliki keberadaan yang mandiri oleh perusahaan. Setiap objek unik yang teridentifikasi dari entity type dirujuk menjadi sebuah entity occurrence. Gambar 2.3 Contoh Entitas dengan Keberadaan Fisikal / Konseptual (Connolly & Begg, 2005) 41 2. Relationship Types : kumpulan asosiasi yang berarti diantara entity types. Sedangkan relationship occurrence merujuk pada kemunculan entitas tertentu yang saling berkaitan. Gambar 2.4 Contoh Relationship Types (Connolly & Begg, 2005) A. Degree of Relationship Type : jumlah entitas yang berpartisipasi dalam sebuah relationship. Jumlah anggota di dalam relationship disebut degree dari relationship tersebut. Gambar 2.5 Contoh Quarternary Relationship (Connolly & Begg, 2005) 42 B. Recursive Relationship : relationship type dimana entitas yang sama berpartisipasi lebih dari sekali dalam peran yang berbeda. Gambar 2.6 Contoh Recursive Relationship (Connolly & Begg, 2005) 3. Attributes : properti dari entitas atau relationship. Setiap atribut terasosiasi dengan sekumpulan nilai yang disebut domain. A. Simple and Composite Attributes i. Simple Attribute : atribut yang terdiri dari komponen tunggal dengan keberadaan yang mandiri. ii. Composite Attribute : atribut yang terdiri dari komponen yang banyak, masing-masing dengan keberadaan yang mandiri. B. Single-valued and Multi-valued Attributes i. Single-valued Attribute : atribut yang berisikan satu nilai untuk setiap kemunculan entity type. ii. Multi-valued Attribute : atribut yang berisikan banyak nilai untuk setiap kemunculan entity type. 43 C. Derived Attributes : atribut yang merepresentasikan nilai yang diturunkan dari nilai atribut atau sekumpulan atribut yang berkaitan, tidak harus entity type yang sama. Gambar 2.7 Contoh Atribut (Connolly & Begg, 2005) 4. Keys A. Candidate Key : jumlah minimal dari atribut yang diidentifikasi secara unik untuk setiap kemunculan entitas. B. Primary Key : candidate key yang terpilih untuk secara unik mengidentifikasikan kemunculan dari entitas. C. Composite Key : candidate key yang mengandung dua atau lebih atribut. 44 5. Strong and Weak Entity Types : A. Strong Entity Type : entity type yang tidak bergantung pada entitas lain. B. Weak Entity Type : entity type yang bergantung pada entitas yang lain. Gambar 2.8 Contoh Strong and Weak Entity Type (Connolly & Begg, 2005) 6. Attribute on Relationship : atribut dari relationship. Gambar 2.9 Contoh Attribute on Relationship (Connolly & Begg, 2005) 45 7. Structural Constraints Tipe utama dari batasan pada relationship adalah multiplicity, yang merupakan jumlah kemunculan yang mungkin dari entitas yang berkaitan dengan kemunculan tunggal dari entitas yang bersangkutan melalui relationship tertentu. Binary relationship umumnya dirujuk pada : A. One-to-one (1:1) Relationships Gambar 2.10 Contoh (1:1) Relationships (Connolly & Begg, 2005) B. One-to-Many (1:*) Relationships Gambar 2.11 Contoh (1:*) Relationships (Connolly & Begg, 2005) 46 C. Many-to-many (*:*) Relationships Gambar 2.12 Contoh (*:*) Relationships (Connolly & Begg, 2005) Multiplicity (complex relationship) merupakan multiplicity yang lebih kompleks dari binary. Gambar 2.13 Contoh Multiplicity (Complex Relationship) (Connolly & Begg, 2005) 47 Multiplicity juga mengandung 2 (dua) batasan terpisah yang disebut juga dengan : o Cardinality, mengandung jumlah maksimum dari relationship yang mungkin muncul. o Participation, menentukan apakah semua atau hanya beberapa kemunculan entitas pada suatu relationship (apakah mandatory atau optional). Gambar 2.14 Contoh Cardinality and Participation (Connolly & Begg, 2005) 8. Masalah pada ER Models A. Fan Traps : dimana model merepresentasikan relationship antar entitas, namun jalan antar kemunculan entitas tertentu ambigu. Gambar 2.15 Contoh Fan Traps (Connolly & Begg, 2005) 48 B. Chasm Traps : dimana model mengusulkan keberadaan relationship antar entitas, namun jalan tidak tersedia antar kemunculan entitas tertentu. Gambar 2.16 Contoh Chasm Traps (Connolly & Begg, 2005) 2.1.9 Database Definition Language (DDL) Bertujuan untuk menghubungkan logical model yang mewakili entity, relationship¸dan attribute yang telah didefinisikan, serta mendeskripsikan komposisi tiap hubungan dengan menggunakan database definition language. Menurut Connolly & Begg (2010:92), Data Definition Language (DDL) merupakan sebuah bahasa yang mengijinkan DBA (Database Administrator) atau pengguna untuk menggambarkan dan menamakan entitas, atribut, dan hubungan yang dibutuhkan oleh aplikasi bersamaan dengan asosiasi yang terintegrasi dan batasan keamanan. Menurut Indrajani (2011:33), Data Definition Language (DDL) merupakan Bahasa yang memungkinkan user untuk mendefinisikan, menerangkan dan memberikan nama entitas-entitas, atribut serta relationship yang dibutuhkan oleh aplikasi, termasuk batasan-batasan keamanan dan integritasnya. Jadi dapat disimpulkan bahwa Database Definition Language (DDL) adalah bahasa khusus yang dapat mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan Index dan Table, bahkan basis datanya sendiri misalnya Create, Drop and Alter. 49 2.1.10 Data Manipulation Language (DML) Bagian dari aplikasi program dan transaksi basis data yang diimplementasikan menggunakan data manipulation language kemungkinan sudah terdapat dalam host pemograman. Menurut Indrajani (2011:33), Data Manipulation Language (DML) merupakan bahasa yang menyediakan operasi dasar manipulasi data pada data yang terdapat dalam basis data. Adapaun operasi yang dapat dilakukan adalah menyisipkan, memodifikasi, memanggil dan menghapus data. Menurut Connolly & Begg (2010:92) Data Manipulation Language (DML) merupakan bahasa yang menyediakan sekumpulan operasi yang mendukung operasi manipulasi data-data yang dipegang oleh database. • Pengoperasian data yang akan dimanipulasi meliputi : 1. Penambahan data baru ke dalam basis data (insert). 2. Modifikasi data yang disimpan dalam basis data (update). 3. Pemanggilan data yang terdapat di dalam basis data (select). 4. Penghapusan data dari basis data (delete). • Terdapat dua jenis DML, yaitu: 1. Procedural DML Bahasa yang memungkinkan pengguna untuk memberitahu sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut kembali. 2. Non-Procedural DML Bahasa yang memungkinkan pengguna untuk memberitahu sistem data apa yang dibutuhkan, bukan bagaimana data tersebut didapatkan kembali. Jadi, dapat disimpulkan bahwa Data Manipulation Language (DML) merupakan suatu bahasa yang berhubungan dengan proses manipulasi data pada table dari suatu database. 50 2.1.11 Unified Modelling Language (UML) UML atau Unified Modelling Language digunakan untuk merancang dan mendokumentasikan sistem serta menawarkan sebuah standar untuk merancang model sebuah sistem. Menurut Connolly & Begg (2010:909), diagram utama UML terbagi menjadi dua kategori : a. Structural Diagram Menjelaskan hubungan statis antar komponen. Contoh : 1. Class Diagram 2. Object Diagram 3. Component Diagram 4. Deployment Diagram b. Behavioral Diagram Menjelaskan hubungan dinamis antar komponen. Contoh : 1. Use Case Diagram 2. Sequence Diagram 3. Collaboration Diagram 4. Statechart Diagram 5. Activity Diagram Menurut Lano (2009:98), UML merupakan sesuatu yang dirancang untuk menjadi sebuah penambahan melalui penggunaan definisi profil dan stereotypes baru di dalam sebuah metamodel. Menurut Satzinger, Jackson, & Burd (2009:240), Unified Modeling Language (UML) merupakan standar bahasa pemodelan berorientasi objek industri. Standar UML dikelola oleh Object Management Group (OMG), yang merupakan penyatuan dari lebih dari 800 vendor, pengembang, dan organisasi perangkat lunak yang telah menggabungkan upaya untuk mengembangkan dan mendorong keseragaman dalam sistem berorientasi objek. Jadi, dapat disimpulkan bahwa Unified Modeling Language (UML) merupakan sebuah bahasa yang berdasarkan grafik atau gambar untuk membangun sebuah sistem pengembangan perangkat lunak. 51 2.1.11 Activity Diagram Menurut Biafore (2007:424), activity diagram merupakan sama dengan flowchart dan diagram aliran data di dalam struktur pengembangan, diagram tersebut menunjukkan proses bisnis yang high level, termasuk aliran data, atau membantu model logika kompleks di dalam sistem Menurut Mills, Duncan, Koletzke, & Faderman (2010:98), activity diagram menawarkan tipe operasi yang sama dengan diagram lainnya selain yang tidak dapat kita gunakan simbolnya pada activity diagram. Menurut Satzinger, Jackson, & Burd (2009:141). Activity Diagrammerupakan diagram alur kerja yang menggambarkan berbagai kegiatan pengguna atau sistem, orang yang melakukan setiap kegiatan, dan aliran sekuensial dari kegiatan ini. Notasi – notasi dalam activity diagram antara lain: 1. Oval mewakili kegiatan individu dalam sebuah alur kerja. 2. Connecting Arrow mewakili urutan antara kegiatan. 3. Black Circles digunakan untuk menunjukkan awal dan akhir dari alur kerja. 4.Diamond merupakan titik keputusan dimana aliran proses tersebut akan mengikuti satu jalur atau jalur lain. 5. Synchronization Bar merupakan garis padat yang membagi satu jalur ke beberapa jalur atau menggabungkan jalur secara bersamaan. 6. Swimline membagi kegiatan – kegiatan pada alur kerja menjadi kelompok – kelompok yang menunjukkan agen – agen yang melakukan aktivitas – aktivitas. 2.1.13 Teori Normalisasi Normalisasi merupakan sebuah teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan, mengingat kebutuhan data dari suatu perusahaan Connolly & Begg (2010:416) Karakteristik dari sebuah set yang cocok hubungannya termasuk : 1. Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data perusahaan. 52 2. Atribut dengan relasi logikal tertutup (dijelaskan sebagai ketergantungan fungsional) ditemukan didalam relasi yang sama. 3. Redundansi minimal dengan atribut masing-masing diwakili hanya sekali dengan pengecualian penting dari atribut yang membentuk semua atau sebagian dari foreign keys, yang penting untuk tergabung dengan relasi terkait. 2.1.13.1 Proses Normalisasi Pada Proses Normalisasi terdapat tiga bentuk normalisasi yang diusulkan disebut First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF) Connolly & Begg (2010:428). Proses normalisasi, yaitu : 1. Unnormalized form (UNF) Unnormalized form (UNF) merupakan suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group).Repeating group merupakan sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut Connolly & Begg (2010:430). 2. First Normal Form (1NF) Merupakan sebuah relasi dimana titik temu antara baris dan kolomnya mengandung satu nilai. Ada dua pendekatan umum untu menghilangkan repeating group dari tabel yang tidak normal, yaitu : a. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang berulang. b. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang terpisah. Sebuah primary key diidentifikasi ke dalam relasi. 3. Second Normal Form (2NF) Second Normal Form (2NF) merupakan sebuah relasi yang berada pada 1NF dan setiap atribut yang bukan 53 primary key berfungsi secara penuh bergantung pada primary key-nya Connolly & Begg (2010:434). 4. Third Normal Form (3NF) Menurut Connolly & Begg (2010:436), Third Normal Form (3NF) merupakan sebuah relasi yang berada pada 1NF dan 2NF, dan tidak ada atribut yang bukan primary key yang secara langsung bergantung kepada primary key-nya. 2.1.14 Definisi Entity Relationship Diagram ERD dikembangkan pada tahun 1976, setiap perusahaan membutuhkan ERD dimana digunakan untuk memenuhi kebutuhan sistem informasinya dan untuk menggambarkan diagram keterhubungan antarentitas. Menurut Whitten & Bentley (2007:271), Entity Relationship Diagram merupakan model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideksripsikan oleh data tersebut. Entity Relationship Diagram adalah hubungan antara entitas dan merupan dasar dari database design Bahl, Sharma, & Rajpal (2011:27). ERD Model dapat melakukan pekerjaan dengan baik dalam meng-capture serta mempresentasikan dasar sematik dalam situasi yang berbeda. ERD Model dimana mengalami peningkatan dengan tambahan generalisasi atau spesialisasi, agregasi dan klasifikasi dalam ERD Model. Jadi, dari definisi diatas dapat disimpulkan bahwa Entity Relationship Diagram (ERD) merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objekobjek dasar data yang mempunyai hubungan antar relasi. 54 2.1.15 Integrity Constraints Menurut Connolly & Begg (2010:577), integrity constraints juga berkontribusi mempertahankan sistem basis data yang aman dengan mencegah data dari yang tidak valid, dan hasil yang tidak benar. Menurut Connolly & Begg (2010:153), Integrity Constraints dibagi menjadi empat jenis yaitu : 1. Nulls Merepresentasi sebuah nilai untuk sebuah atribut yang tidak diketahui dengan jelas atau tidak berlaku untuk tuple ini. 2. Entity Integrity Merupakan hubungan dasar, tidak ada aribut dari primary key yang bisa null. 3. Referential Integrity Jika foreign key ada dalam relasi, baik nilai foreign key harus sesuai dengan nilai candidate key dari beberapa tuple dalam home relation atau foreign key harus sepenuhnya null. 4. General Constraints Tambahan aturan yang ditetapkan oleh pengguna atau administrator basis data dari basis data yang mendefinisikan atau membatasi beberapa aspek dari perusahaan. 55 2.2 Teori Khusus : 2.2.1 Pengertian Penjualan Penjualan merupakan suatu transaksi yang terjadi dalam perusahaan dimana akan dilakukan suatu penjualan atas produk yang dihasilkan. Menurut Reeve (2009:225), penjualan merupakan total biaya yang dibebankan kepada customer untuk barang yang dijual termasuk penjualan tunai maupun penjualan kredit. Dari kesimpulan diatas dapat disimpulkan, fungsi penjualan bertanggung jawab untuk mencatat semua transaksi penjualan yang diberikan oleh pelanggan yang berupa surat order dan menentukan tanggal pengirimannya. 2.2.2 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:281), pembelian adalah 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. 56 2.2.3 Pengertian Persediaan Inventory atau persediaan barang merupakan asset yang sangat penting, baik dalam jumlah maupun peranannya dalam kegiatan perusahaan. Menurut Indrajani (2011:70) persediaan ini bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan digudang. Sistem ini berkaitan erat dengan sistem pembeliaan, sistem retur pembelian, dan sistem akuntansi biaya pembelian. Persediaan dikatakan sangat penting bagi suatu perusahaan, karena persediaan berguna untuk : 3 Menghilangkan resiko keterlambatan datangnya barang. 4 Menghilangkan resiko dalam produk yang dipesan tidak bagus atau rusak. Menurut Warren, Reeve, & Fess (2008), persediaan digunakan untuk mengidentifikasikan : • Barang dagang yang disimpan untuk kemudian dijual dalam operasi bisnis perusahaan. • Bahan yang digunakan dalam proses produksi atau yang disimpan untuk tujuan itu. Jadi, dari definisi diatas dapat disimpulkan bahwa persediaan (Inventory) merupakan suku cadang dimana barang sudah mulai menipis atau sudah mendekati jumlah minimal, kemudian akan dilakukan persediaan ulang yang akan menjadi suatu bekal dalam melakukan transaksi penjualan. 57 2.2.4 Fact Finding Technique Metode pengumpulan data menggunakan metode Fact Finding. Metode Fact Finding adalah Sebuah sistem database dibangun berdasarkan masalah yang sedang muncul lalu dibuatkan sistemnya untuk menangani masalah tersebut. Untuk mencari masalah-masalah tersebut harus dilakukan beberapa kegiatan pengumpulan data agar dapat diperoleh informasi-informasi penting. Yang terdiri atas : o Examining Documentation Mempelajari data, dokumen, laporan dan file berkaitan yang nantinya akan diolah menjadi informasi berguna o Interviewing Pada tahap ini diadakan penelitian pada CV. ANDY PLASTIK. Penelitian dilakukan dengan interview/wawancara terhadap pemilik dan karyawan yang bertujuan untuk mendapatkan informasi sesuai kebutuhan. o Observing the enterprise in operation Memantau langsung dan mempelajari terhadap proses bisnis yang sedang berjalan. o Research Dengan teknik ini dilakukan penilitian terhadap masalah yang dihadapi dengan cara mempelajari buku-buku yang dapat dijadikan referensi dalam penulisan skripsi. Dan dari hasil research dapat mengidentifikasi kebutuhan informasi yang masih kurang pada proses bisnis yang berjalan dengan menentukan informasi yang dibutuhkan pada aplikasi yang akan dibuat dan diimplementasikan. 58 2.2.5 Database Istilah database berawal dari ilmu komputer yang meskipun artinya semakin luas yaitu memasukkan hal-hal dari luar bidang elektronik. Catatan yang mirip dengan database sebenarnya sudah terdapat sebelum revolusi industri dimana dalam bentuk buku yang sangat besar, kuitansi serta kumpulan data yang berhubungan dengan proses bisnis. Menurut Connolly & Begg (2010:54), database adalah kumpulan data yang saling terhubung secara logis dan deskripsi dari data tersebut, dirancang untuk memberikan dan menemukan informasi yang dibutuhkan oleh sebuah organisasi. Database merupakan sebuah tempat penyimpanan berkapasitas sangat besar yang dapat digunakan oleh berbagai user atau departemen secara bersamaan. Database merupakan suatu komponen penting yang tidak dimiliki dengan sendirinya tapi merupakan suatu komponen penting yang tidak dimiliki dengan sendirinya tapi merupakan sebuah sumber daya yang terbagi dalam perusahaan.Database tidak hanya berisi data operasional tetapi juga deskripsi data tersebut yang disebut metadata. Database digunakan untuk pengelolaan data agar pengolahan data dan dokumentasi data menjadi lebih baik sehingga data-data tersebut lebih terintegrasi Widhyaestoeti (2011:1). Selain itu juga dapat memberikan kemudahan bagi pihak yang berkepentingan dalam melakukan pencarian data. Pokok pemikiran dalam merancang database adalah bagaimana merancang database sehingga dapat memenuhi kebutuhan saat ini dan kemudahannya untuk dikembangkan dimasa yang akan datang. Jadi, dari definisi diatas dapat disimpulkan bahwa Database merupakan kumpulan data yang saling terhubung untuk memenuhi kebutuhan user, dimana database mempunyai kapasitas penyimpanan yang sangat besar. 59 2.2.5.1 Arsitektur Database 1. Sistem Terpusat • Berjalan pada sistem komputer tunggal dan tidak berinteraksi dengan sistem komputer lain. • Sistem komputer multi-guna: satu ke banyak CPU dan beberapa alat pengendali yang terhubung melalui sebuah bus yang memungkinkan akses pembagian memori. • Sistem single-user (misalnya., PC atau workstation): unit desktop, single user, biasanya hanya terdiri satu CPU dengan satu atau dua hard disk, SO hanya mendukung satu user. • Sistem Multi-user : lebih banyak penyimpanan, memori lebih besar, multiple CPU, dan menggunakan SO multi-user, melayani banyak pengguna yang terhubung dengan sistem melalui terminal. Biasa disebut sistem server. 2. Sistem Client-Server Sistem server melayani permintaan m sistem client, yang mempunyai struktur umum seperti berikut : 3. Arsitektur Database Parallel • Shared memory – proscesor membagi memory kepada umum. • Shared disk – proscesor membagi sebagian kapasitas disk. • Shared nothing – proscesor membagi bukan memory dan bukan disk. • 4. Hierarchical – gabungan berbagai arsitektur. Sistem Terdistribusi • Data tersebar ke banyak mesin (juga disebut sebagai site atau node). 5. • Jaringan menjadi penghubung antar mesin. • Data dipakai user di berbagai mesin. Tipe Jaringan • Local-area networks (LANs) 60 Tersusun dari processor yang didistribusikan ke area geografik kecil, seperti satu gedung. • Wide-area networks(WANs) Tersusun dari processor yang didistribusikan ke area geografik yang luas. • Discontinuos connection Seperti WANs, yang berdasarkan periodik dial-up (contohnya menggunakan UUCP), yang terkoneksi hanya untuk beberapa saat. • Continuous connection Seperti WANs, yang terkoneksi ke internet dimana servernya tersambung setiap saat. • WAN dengan continuous connection Dibutuhkan untuk mengimplementasikan sistem database terdistribusi. 2.2.6 Spesialisasi (Generalisasi) Menurut Connolly & Begg (2010:112), spesialisasi adalah suatu bentuk pembagian tenaga kerja di mana individu atau perusahaan memusatkan usaha-usaha produktif mereka pada sebuah kegiatan atau sejumlah kegiatan-kegiatan yang terbatas. 61 2.2.7 Kerangka Pikir Planning Mengidentifikasi Masalah Metodologi Penelitian Menentukan Ruang Lingkup, tujuan dan Analysis Metode Pengumpulan Data Metode Survei Lapangan Metode Wawancara Observasi Studi Pustaka Melakukan Analisis Kebutuhan User Prosedur Berjalan Identifikasi Masalah Developments Melakukan Perancangan Model Konseptual Model Logikal Model Fisikal Evaluasi Aplikasi Perancangan Aplikasi Gambar 2.17 Kerangka Pikir Solusi 62