7 BAB 2 LANDASAN TEORI 2.1 Teori – teori umum 2.1.1 Sistem Basis data A. Data Menurut O’Brien ( 2005, p206 ), data adalah sumber daya penting organisasi yang perlu dikelola seperti mengelola aset penting dalam bisnis lainnya. Menurut Whitten ( 2004, p23 ), data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal – hal penting yang ada dalam organisasi. Tiap fakta, tanpa disertai fakta lainnya, secara relatif mempunyai arti. Menurut Turban ( 2005, p38 ) data merupakan kumpulan fakta atau dari sesuatu , kejadian, aktivitas, dan transaksi, yang diambil, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur untuk menyatukan suatu arti tertentu. 7 8 B. Basis Data Menurut Connolly dan Begg ( 2010, p65 ), Basis data adalah sekumpulan data yang saling terhubung secara logikal, yang dirangcang dalam rangka memenuhi kebutuhan informasi dalam sebuah organisasi. Menurut O’Brien ( 2005, p211 ), database adalah kumpulan dari elemen data yang terintegrasi dan saling berhubungan secara logikal. Data yang disimpan dalam database independent dari program aplikasi yang menggunakannya dan dari jenis peralatan penyimpanan tempat mereka disimpan. 2.1.2 Bahasa Basis Data A. Data Definition Language ( DDL ) Menurut Fathansyah ( 2004, p13 ), DDL adalah Struktur basis data yang menggambarkan desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yang disebut Data Definition Language ( DDL ). Bahasa ini dapat digunakan untuk membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, dsb. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data ( Data Dictionary ). 9 Menurut ( Connolly dan Begg, 2010, p92 ),DDL adalah merupakan suatu bahasa yang memperbolehkan seorang DBA (Database Administrator) atau pengguna untuk menggambarkan dan memberi nama suatu entitas, attribut dan relasi data yang dibutuhkan oleh aplikasi, bersamaan dengan beberapa integritas yang terasosiasi dan batasan keamanan datanya. B. Data Manipulation Language (DML) Menurut (Connolly dan Begg, 2010, p93), DML adalah sebuah bahasa yang menyediakan sekumpulan operasi untuk mendukung pengoperasian manipulasi data dasar pada basis data. Pengoperasian data yang akan dimanipulasi pada umumnya meliputi: 1. Penambahan data baru kedalam basis data 2. Modifikasi data yang tersimpan dalam basis data 3. Penerimaan data yang berada dalam basis data 4. Penghapusan data dari basis data DML terdiri dari dua tipe, yaitu : 1. Procedural DML, yaitu sebuah bahasa yang memberikan fasilitas kepada user untuk memberitahukan kepada sistem, data apa yang diperlukan dan bagaimana seharusnya data tersebut diambil. 10 2. Non-procedural DML, yaitu sebuah bahasa yang memberikan fasilitas kepada user untuk menyatakan data apa yang diperlukan daripada tentang bagaimana data tersebut diambil. 2.1.3 Database Managment System A. Pengertian Database Managment System ( DBMS ) Menurut Rangga Praduwiratna (2010,p5), DBMS merupakan suatu sistem perangkat lunak yang memungkinkan pengguna komputer untuk membuat, memelihara, mengontrol, serta mengakses data pada basis data secara praktis, cepat, dan efisien. Dengan adanya DBMS, kontrol serta manipulasi terhadap data menjadi jauh lebih mudah. Dalam dunia IT, dikenal pula istilah RDBMS (Relational Database Management System) yang merupakan salah satu jenis DBMS yang mendukung adanya hubungan antar tabel-tabel di dalam basis data. Tentu saja, RDBMS bukanlah satu-satunya jenis DBMS yang tersedia, masih terdapat berbagai jenis-jenis DBMS lainnya yang disesuaikan dengan proses pembuatannya. Menurut Connolly dan Begg (2010, p66), DBMS adalah sebuah sistem perangkat lunak yang memperbolehkan pengguna untuk mendefinisikan, membuat, mengatur, dan mengontrol akses ke basis data. 11 B. Komponen Lingkungan DBMS Menurut Connolly dan Begg ( 2010, p68-p71 ), lingkungan DBMS memiliki 5 komponen utama, yaitu: a. Hardware DBMS dan suatu aplikasi tentu saja membutuhkan hardware untuk berjalan. Contoh hardware bisa dimulai dari pc (personal computer), sebuah mainframe sampai ke jaringan sebuah komputer. b. Software Komponen software terdiri dari software DBMS itu sendiri danprogram aplikasi, bersama-sama dengan sistem operasi, termasuk software jaringan jika DBMS sedang digunakan pada jaringan. c. Data Komponen paling penting menurut end-user tentu saja adalah data. Data merupakan komponen jembatan antara komponen hardware dan software dengan komponen prosedur dan manusia. d. Prosedur Prosedur merupakan instruksi dan aturan yang mengatur desain dan penggunaan basis data. User dan staff yang 12 mengatur basis data memerlukan prosedur dalam menjalankan sistem. e. Manusia Komponen terakhir adalah manusia yang terlibat dengan sistem, diantaranya adalah: 1. Data Administration DA lebih memperhatikan tahapan awal dari lifecycle. DA mengatur sumber daya data, meliputi: perencanaan database, pengembangan dan pemeliharaan standar, kebijakan, prosedur, dan desain database logikal dan konseptual. 2. Database Administration DBA mengatur realisasi fisik dari aplikasi database yang meliputi desain fisik database dan implementasi, pengaturan keamanan dan kontrol integritas, pengawasan performa sistem dan pengaturan ulang database. 3. Database Designer dalam proyek desain database yang besar, ada dua jenis desainer yaitu : - Logical Database Designer Logical database designer berkaitan dengan mengidentifikasi data (entitas dan attribut), hubungan 13 antara data, dan constraits pada data yang akan disimpan dalam database. - Physical Database Designer Physical database designer memutuskan bagaimana desain database logis adalah secara fisik diwujudkan 4. Application Developers setelah database diimplementasikan, program aplikasi yang menyediakan fungsionalitas yang diperlukan untuk end-users harus diimplementasikan. ini adalah tanggung jawab dari Application Developers. 5. End-Users End - users adalah klien dari database, yang telah dirancang , diimplementasikan dan dipertahankan untuk melayani kebutuhan informasi mereka. End-users dapat diklasifikasikan menurut cara mereka menggunakan sistemnya yaitu : - Naive Users biasanya tidak menyadari DMBS. akses database melalui program aplikasi yang ditulis khusus yang berupaya untuk membuat operasi sesederhana mungkin 14 - Sophisticated Users Sophisticated end-users biasanya menggunakan bahasa query seperti SQL untuk melakukan operasi yang diperlukan. C. Fungsi DBMS Menurut Connolly dan Begg (2010, p66), DBMS memiliki beberapa fungsi, yaitu: a. Penyimpanan, pengembalian, dan update data DBMS harus menyediakan kemampuan untuk menyimpan, mengembalikan maupun meng-update data pada database. b. Katalog yang dapat diakses user. DBMS menyediakan katalog yang berisi deskripsi data yang tersimpan dan data mana saja yang memang dapat diakses oleh user. c. Dukungan transaksi. DBMS memiliki mekanisme untuk memastikan apakah semua update berhubungan dengan transaksi yang ada atau tidak. d. Layanan untuk mendukung kekonsistensian data. DBMS menyediakan mekanisme untuk memastikan database sudah ter-update secara benar ketika user yang mengupdate pada saat bersamaan lebih dari satu. 15 e. Layanan recovery. DBMS menyediakan mekanisme recovery database jika database mengalami kerusakan dalam bentuk apapun. f. Layanan pengaturan hak akses, dengan adanya pengaturan hak akses maka hanya user-user yang berhak untuk mengakses data-data tertentu di database. g. Mendukung alat komunikasi. Data yang tersimpan pada DBMS harus dapat terintegrasi langsung dengan alat komunikasi. h. Layanan integritas data, DBMS menyediakan cara untuk meyakinkan data di dalam database dan perubahan yang terjadi pada data mengikuti aturan-aturan tertentu. i. Layanan untuk kemandirian data, DBMS memiliki fasilitas untuk mendukung kemandirian program dari struktur database yang sesungguhnya. j. Layanan untuk memenuhi kebutuhan, Fungsi DBMS yang terakhir ini sangat berguna untuk DBA dalam mengatur database secara efektif. D. Keuntungan dan Kerugian DBMS 1. Keuntungan DBMS Menurut Connolly dan Begg (2010, p77-p80), keuntungan DBMS adalah: 16 a. Mengontrol redundansi data Redundansi data merupakan kerangkapan data yang terjadi di dalam basis data (kumpulan data atau file) yang dapat berakibat pada pembuangan ruang pada media penyimpan. Dengan adanya DBMS, maka dapat mengurangi redundansi data dan data yang terduplikasi tidak akan disimpan. b. Konsistensi data Dengan mengeliminasi atau mengontrol redundansi data, user mengurangi resiko dari ketidak konsistensian yang mungkin saja terjadi. c. Pembagian data Melalui basis data, seluruh organisasi dapat mengakses data yang ada dan dapat membagi data dengan user yang memiliki hak. d. Meningkatkan integritas data Integritas data yang dimaksud adalah validitas dan konsistensi data yang tersimpan. e. Meningkatkan keamanan Database security adalah perlindungan database dari pengguna yang tidak sah.tanpa pengamanan yang cocok, integrasi membuat data lebih rentan daripada sistem berbasis-file. 17 2. Kerugian dari DBMS Menurut Connolly dan Begg (2010, p80-p81), kerugian dari DBMS adalah: a. Kompleksitas Penyediaan fungsi yang diharapkan dari DBMS yang baik membuat DBMS menjadi bagian yang sangat kompleks dari perangkat lunak. b. Ukuran Kompleksitas dan kedalaman fungsi menggunakan DBMS menjadi sebuah software yang besar, butuh space besar dalam disk dan butuh sejumlah memori untuk berjalan. c. Biaya DBMS Biaya untuk DBMS sendiri bervariasi tergantung dari lingkungan dan fungsi yang ditawarkan. d. Tambahan biaya untuk hardware Untuk mendapatkan hasil yang maksimal terkadang dibutuhkan mesin yang besar untuk menjalankan DBMS. e. Dampak yang tinggi pada kegagalan Sentralisasi sumber daya meningkatkan kerentanan sistem. Karena semua aplikasi dan pengguna bergantung pada ketersediaan DBMS, kegagalan 18 komponen apapun dapat membuat operasi menjadi gagal. 2.1.4 Database System Development Lifecycle Menurut Connolly dan Begg (2010, p313- p314) , Database System Development Lifecycle adalah suatu aplikasi basis data yang dianalisis dan dirancang dalam tahapan-tahapan yang meliputi : Gambar 2.1 Tahapan Database System Development Lifecycle 19 A. Database Planning Menurut Connolly dan Begg ( 2010, p313-p315 ), perencanaan basis data atau database planning merupakan aktivitas manajemen yang memungkinkan tahapan-tahapan dari database system development lifecycle dapat direalisasikan seefektif dan seefisien mungkin. B. Sysem Definition Menurut Connolly dan Begg( 2010, p316), system definition yaitu menjelaskan jangkauan dan batasan dari aplikasi basis data dan sudut padangan utama dari para pengguna. C. Requirements Collection And Analysis Menurut Connolly dan Begg (2010, p316–p320 ), requirement collection and analysis merupakan proses mengumpulkan dan menganalisis informasi tentang organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan-kebutuhan terhadap sistem yang baru. Terdapat tiga pendekatan yang bisa digunakan dalam menganalisis dan pengumpulan kebutuhan yaitu : 20 1. Centrallized Approach Kebutuhan-kebutuhan untuk setiap pengguna dibuat dalam satu set requirement untuk sistem basis data yang baru. Setiap user view memiliki kebutuhan–kebutuhan yang berbeda-beda dimana seluruh kebutuhan tersebut akan dikumpulkan dan dibuat menjadi suatu global data model yang nantiya akan diperlukan dalam pembuatan basis data. 2. View Integration Approach Kebutuhan untuk setiap user view dibuat dalam model data yang terpisah. Model data yang menggambarkan single user view disebut model data lokal, disusun dalam bentuk diagram dan dokumentasi yang mendeskripsikan kebutuhan user view basis data. Model data lokal ini kemudian digabungkan untuk menghasilkan model data global yang menggambarkan seluruh user view untuk basis data. 3. Gabungan antara kedua pendekatan tersebut. D. Database Design Menurut Indrajani (2009, p84), database design merupakan proses pembuatan rancangan sebuah basis data 21 yang dapat mendukung kegiatan operasional dan tujuan perusahaan. Terdapat tiga pendekatan yang digunakan untuk merancang sebuah basis data yaitu : 1. Top Down Diawali dengan membuat data model. Pendekatan top-down dapat di ilustrasikan menggunakan entityrelationship (ER) model , kemudian mengidentifikasikan entity dan relationship antar entity organisasi. Pendekatan ini sesuai bagi basis data yang kompleks. 2. Bottom-Up Dimulai dari level dasar attribute (properti entity dan relationship), menganalisi hubungan antar-attribute, mengelompokkannya kedalam suatu relasi yang menggambarkan tipe entity dan relasi antara entity. Pendekatan bottom-up ini sesuai bagi basis data dengan jumlah attribute yang sedikit. 3. Inside-Out Mirip seperti pendekatan bottom-up. Perbedaannya adalah pada tahap awal mengidentifikasi major entity, lalu menguraikannya menjadi entity relasi-relasi dan 22 attribute-attribute yang berhubungan dengan major entity. 4. Mixed Menggunakan pendekatan bottom-up dan top-down E. DBMS Selection Menurut Indrajani (2009, p87), DBMS selection adalah kegiatan memilih DBMS yang akan digunakan dalam pembuatan basis data. Pemilihan DBMS yang tepat sangat mendukung aplikasi basis data. Langkah utama dalam pemilihan DBMS adalah : 1. Definisikan waktu untuk melakukan studi referensi. 2. Catat dua atau tiga produk yang akan dievaluasi untuk digunakan. 3. Evaluasi produk tersebut. 4. Rekomendasikan produk yang dipilih dan buat laporan yang mendukung. 23 F. Application Design Menurut Connolly dan Begg (2010, p329), application design merupakan proses perancangan antar muka pengguna dan program-program aplikasi yang akan menggunakan serta memproses basis data. Basis data diciptakan untuk mendukung aplikasi, sehingga harus ada arus informasi antara perancangan aplikasi dengan perancangan basis data. G. Prototyping Menurut Indrajani (2009, p90), fungsi dari prototype adalah membuat model kerja suatu aplikasi basis data dan bersifat opsional. Tujuan utama dari tahapan prototype ini adalah : 1. Untuk mengidentifikasi sistem fitur yang sedang berjalan. 2. Untuk memberikan penambahan atau perbaikan fitur baru. 3. Untuk klarifikasi kebutuhan user. 4. Untuk evaluasi kelayakan dan kemungkinan apa yang terjadi dari desain sistem. Terdapat 2 macam prototype yang digunakan pada saat ini yaitu : 1. Requirements Prototyping 24 Menggunakan prototype yang menentukan kebutuhan dari aplikasi basis data yang diinginkan dan ketika kebutuhan tersebut terpenuhi maka prototype akan dibuang. 2. Evolutionary prototyping Digunakan untuk tujuan yang sama. Perbedaannya adalah prototype ini tidak di buang, tetapi dikembangkan lebih lanjut menjadi aplikasi basis data yang digunakan. H. Implementation Menurut Connolly implementation perancangan dan adalah basis data Begg realisasi dan (2010,p333-p334), fisik dari perancangan proses aplikasi. Sedangkan pengertian Implementasi menurut Indrajani (2009, p91), merupakan realisasi fisik dari basis data dan desain aplikasi. Implementasi basis data dicapai dengan menggunakan : 1. DDL untuk membuat skema basis data dan database files yang kosong. 2. DDL untuk membuat user view yang diinginkan. 25 3. 3GL atau 4GL untuk membuat program aplikasi. Termasuk transaksi basis data yang menggunakan DML atau ditambahkan pada bahasa pemrograman. I. Data Loading And Convertion Menurut Indrajani (2009, p91), data loading and convertion adalah sebuah tahap pemindahan data yang ada ke dalam basis data yang baru dan mengkonversikan aplikasi yang ada agar dapat menggunakan basis data yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan yang lama. Database Management System biasanya memiliki fitur untuk memanggil ulang file yang telah ada ke dalam basis data baru. Dapat juga mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru. J. Testing Menurut Indrajani (2009, p91), testing adalah suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan dengan skenario tes yang direncanakan dan data yang sesungguhnya. K. Operational Maintenance 26 Menurut Indrajani (2009, p91), operational maintenance adalah suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, yang mencakup : 1. Pengawasan kinerja sistem. Jika kinerja menurun, diperlukan perbaikan atau pengaturan ulang basis data. 2. Pemeliharaan dan pembaharuan aplikasi basis data. 3. Penggabungan kebutuhan baru ke dalam aplikasi basis data. 2.1.5 Normalisasi Menurut Connolly dan Begg (2010,p415), normalisasi adalah sebuah teknik untuk menghasilkan sekumpulan relasi dengan propertiproperti yang sesuai dengan persyaratan data yang diberikan sebuah perusahaan. Tujuan dari dilakukannya normalisasi adalah untuk mengidentifikasikan sekumpulan relasi yang mendukung persyaratan data sebuah perusahaan. Menurut Indrajani (2009, p119), ada beberapa hal yang perlu diperhatikan dalam proses normalisasi diantaranya adalah : a. Suatu teknik formal untuk menganalisis relasi berdasarkan primary key dan functional dependencies antar atribut. b. Dieksekusi dalam beberapa langkah. Setiap langkah mengacu kebentuk normal tertentu sesuai dengan sifat yang dimilikinya. 27 c. Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas atau kuat bentuk formatnya dan juga mengurangi tindakan update yang teranomali. Sedangkan tahapan dari normalisasi yang sering digunakan adalah : 1. Unnormalized Form (UNF) Menurut Indrajani (2009, p121), merupakan suatu tabel yang berisikan satu atau lebih grup yang berulang. 2. First Normal Form (INF) Aturan pada normalisasi tahap pertama menurut Connolly dan Begg (2010, p436), adalah sebuah relasi dimana setiap baris dan kolom hanya berisi satu buah nilai. Dan cara melakukan normalisasi pada tahap pertama ini adalah dengan cara menghilangkan perulangan yang ada. 3. Second Normal Form (2NF) Aturan pada normalisasi pada tahap kedua menurut Connolly dan Begg (2010, p434), adalah sebuah relasi yang telah berada pada bentuk normalisasi pertama dan setiap atribut yang bukan merupakan primary key bergantung secara fungsional penuh kepada primary key. 4. Third Normal Form (3NF) Aturan pada normalisasi tahap ketiga menurut Connolly dan Begg (2010, p435), adalah sebuah relasi yang telah berada pada 28 bentuk normalisasi tahap pertama dan kedua dimana semua tidak ada lagi atribut yang bukan merupakan primay key bergantung secara transitif kepada primary key. 2.1.6 Metodologi Perancangan A. Conceptual Database Design Conceptual database design menurut Connolly dan Begg (2010, p465), adalah suatu proses membangun sebuah model dari informasi sebuah perusahaan dan bersifat independent dari segala pertimbangan physical. Sedangkan menurut Indrajani (2009, p86), Conceptual database design adalah suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang bersifat independent dari keseluruhan aspek fisik. Model data tersebut dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan dan merupakan sumber informai untuk tahap desain logikal. Langkah-langkah dalam merancang basis data konseptual adalah sebagai berikut : i. Mengidentifikasi tipe entitas. Mengidentifikasi tipe entitas kebutuhan dan akan dibangun. ii. Mengidentifikasi tipe relationship. utama yang menjadi 29 Mengidentifikasi tipe relationship yang ada diantara tipe entitas yang telah diidentifikasi. iii. Mengidentifikasi dan mengasosiasikan atribut dengan tipe entitas atau relationship. Menghubungkan atribut-atribut yang dimiliki oleh entitas maupun relasi. iv. Menentukan domain atribut. Menentukan domain untuk atribut pada model data konseptual lokal. v. Menentukan atribut dari candidate key dan primary key. Mengidentifikasi candidate key untuk setiap tipe entitas dan jika lebih dari satu candidate key, pilih salah satu untuk menjadi primary key. vi. Mempertimbangkan penggunaan dari enhanced modeling concept (opsional). Mempertimbangkan kegunaan dari enhanced modeling concept, seperti specialization, generalization, aggregation, dan composition. vii. Memeriksa redundansi dari model. Memeriksa ada atau tidaknya redundansi dari model. viii. Memvalidasikan model konseptual lokal terhadap transaksi pengguna. Memastikan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan. 30 ix. Meninjau kembali model konseptual data lokal terhadap kebutuhan pengguna. Meninjau kembali model yang telah dibangun guna memastikan bahwa model tersebut merupakan representasi yang sesuai. B. Logical Database Design Logical database design menurut Indrajani (2009, p86), adalah suatu proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang berdasarkan model data tertentu, namun independent terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah di buat sebelumnya diperbaiki dan dipetakan kembali dalam model data logikal. Langkah-langkah dalam merancang basis data logical adalah sebagai berikut : 1. Membangun dan memvalidasikan model data logikal untuk setiap view i. Menghilangkan fitur-fitur yang tidak cocok dengan model relasional (opsional). Menyaring model data konseptual lokal agar fitur-fitur yang tidak cocok dengan model relasional dapat dihilangkan. ii. Menentukan relasi untuk model logikal data lokal 31 Membuat relasi untuk model data logikal lokal untuk menggambarkan entitas, relationship, dan atribut yang diidentifikasikan. iii. Memvalidasikan relasi dengan menggunakan normalisasi. Memvalidasi relasi dalam model data logikal lokal menggunakan teknik normalisasi. iv. Memvalidasikan relasi terhadap transaksi pengguna. Memastikan bahwa relasi dalam model data logikal lokal mendukung transaksi. v. Menentukan kendala integrity. Mendefinisikan batasan – batasan yang meliputi required data, attribute domain constraints, entity integrity, referential integrity, serta enterprise constraints. vi. Meninjau ulang model data logikal lokal terhadap kebutuhan pengguna. Memastikan bahwa model data logikal lokal mendukung dokumentasi yang menjelaskan bahwa model data yang digambarkan adalah benar. 2. Membangun dan memvalidasikan model data logikal global i. Menggabungkan model data logikal lokal kedalam model data logikal global. Menggabungkan model data logikal lokal perorangan menjadi model data logikal lokal perusahaan. ii. Memvalidasikan model data logikal global. 32 Memvalidasikan relasi yang dibuat dari model data logikal global menggunakan teknik normalisasi dan memastikan model tersebut mendukung kebutuhan transaksi. iii. Memeriksa untuk perkembangan dimasa yang akan datang. Menentukan apakah akan terjadi perubahan yang penting dan yang terduga dimasa yang akan datang dan untuk dinilai apakah model data logikal global dapat menampung perubahan tersebut. iv. Meninjau kembali model data logikal global terhadap kebutuhan pengguna. Memastikan bahwa model data logikal global menggambarkan perusahaan dengan benar. C. Physical Database Design Menurut Indrajani (2009, p87), Physical Database Design adalah suatu proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat juga dikatakan bahwa design fisik merupakan cara pembuatan menuju DBMS tertentu. 1. Menerjemahkan model data logikal global untuk menjadi target DBMS i. Merancang basis relasi. 33 Memutuskan bagaimana relasi dasar akan direpresentasikan pada DBMS target. ii. Merancang representasi dari data turunan. Memutuskan bagaimana merepresentasikan data-data turunan yang terdapat pada model dan menganalisis transaksi yang penting. iii. Merancang enterprise constraint. Merancang entreprise constraints terhadap DBMS target. 2. Merancang representasi fisik. i. Analisa transaksi Agar dapat memahami fungsionalitas dari transaksi akan berjalan di dalam basis data serta menganalisa transaksi yang penting. ii. Memilih organisasi file Menentukan organisasi file yang efisien untuk setiap basis relasi. iii. Memilih indeks. Menentukan apakah penambahan indeks dapat meningkatkan kinerja dari sistem. iv. Memperkirakan kebutuhan disk space. Memperkirakan kapasitas disk space yang akan dibutuhkan oleh basis data. 3. Merancang user views. 34 Merancang user views yang telah diidentifikasi pada tahap pengumpulan kebutuhan dan analisis pada daur hidup aplikasi basis data. 4. Merancang tingkat pengamanan. Merancang tingkat pengamanan basis data agar dapat diakses oleh pengguna tertentu. 5. Mempertimbangkan penggunaan redundansi terkontrol. Menentukan apakah pengguna redundansi terkontrol dapat meningkatkan kinerja sistem. 6. Mengawasi dan memelihara sistem operasional. Mengawasi sistem operasional dan meningkatkan kinerja sistem guna memperbaiki rancangan-rancangan yang kurang sesuai atau sebagai refleksi adanya perubahan kebutuhan. 2.1.7 Entity Relationship Modeling (ER Model) A. Entity Type Menurut Indrajani (2009, p149 ), Entity type merupakan kumpulan obyek-obyek diidentifikasi oleh dengan enterprise sifat (property) yang mempunyai sama yang eksistensi independen. Keberadaannya dapat berupa fisik ataupun abstrak. Menurut Connolly dan Begg (2010, p373), entity occurrence adalah sebuah obyek dari suatu entity type yang dapat diidentifikasi secara unique. Nama entity 35 Cabang Karyawan Gambar 2.2 Entity Type Entity type bisa dikelompokkan menjadi : 1. Strong Entity Entity yang keberadaannya tidak tergantung pada entity lain. Terkadang disebut parent, owner dominant 2. Weak Entity Entity yang keberadaannya bergantung pada entity lain. Disebut juga child dependent, subordinate Strong Entity Client ClientNo (PK) Weak Entity Preference prefType 36 Gambar 2.3 Strong dan Weak Entity B. Relationship Type Menurut Indrajani (2009, p150), relationship type adalah kumpulan keterhubungan yang mempunyai arti tipe entitas yang ada. Menurut Indrajani (2009, p150), relationship occurence merupakan keterhubungan yang diidentifikasikan secara unik yang meliputi keberadaan setiap tipe entitas yang berpartisipasi. Menurut Indrajani (2009, p151), relationship type memiliki derajat, yaitu jumlah entitas yang berpartisipasi dalam suatu hubungan. Derajat relationship terdiri dari : 1. Binary Relationship, merupakan keterhubungan antara dua tipe entity. 37 PrivateOwner Branch Pown Gambar 2.4 Contoh Binary Relationship 2. Ternary Relationship, merupakan keterhubungan antara tiga tipe entity. Staff Register s Branch Client Gambar 2.5 Contoh Ternary Relationship 3. Quartenary Relationship, merupakan keterhubungan antara empat tipe entity. Financial Institution Buyer Register s Bid 38 Solicitor Gambar 2.6 Contoh Quartenary Relationship 4. Unary relationship, merupakan keterhubungan antara satu tipe entity, dimana tipe entity tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang-kadang disebut sebagai recursive relationship. Relationship dapat diberi role names untuk mengidentifikasikan keterkaitan entity type dalam relationship. C. Atribute Menurut Indrajani (2009, p153), atribut merupakan sifatsifat dari sebuah entity atau tipe relationship. Selain itu atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut domain terdiri atas : 1. Simple Attribute : atribut yang terdiri atas satu komponen tunggal dengan keterbatasan yang 39 independen dan tidak dapat dibagi menjasi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. 2. Composite Attribute : atribut yang terdiri atas beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen 3. Single – Valued Attribute : atribut yang mempunyai nilai tunggal untuk setiap kejadian. 4. Multi – Valued Attribute : atribut yang mempunyai beberapa nilai untuk setiap kejadian. 5. Derived Attribute : atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari satu entity. Sedangkan key pada sistem basis data meliputi : 1. Candidate Key : jumlah minimal atribut-atribut yang dapat mengidentifikasikan setiap kejadian atau record secara unik. (Indrajani, 2009, p154) 2. Primary key : candidate key yang dipilih untuk mengidentifikasikan setiap kejadian atau record dari suatu entity secara unik (Indrajani, 2009, p154) 3. Composite key : candidate key yang terdiri atas satu atau lebih atribut. (Indrajani, 2009, p154) 40 4. Alternate key : candidate key yang tidak terpilih menjadi primary key atau biasa disebut secondary key. (Connolly dan Begg, 2010, p381) 5. Foreign Key : entity yang menghubungkan setiap baris dalam child table yang berisi foreign key ke parent table yang memiliki nilai candidate key yang cocok. Connolly dan Begg (2010, p234) D. Structural Constraint Menurut Connolly dan Begg (2010, p385), jenis utama dari batasan pada suatu relasi dinamakan multiplicity. Menurut Connolly multiplicity adalah dan Begg (2010, p385-p388), kejadian yang mungkin terjadi pada sebuah tipe entity dimana memungkinkan berhubungan dengan satu kejadian lain yang bergantung pada sebuah tipe entity melalui hubungan yang nyata. Multiplicity membatasi jalan setiap entity-entity yang terhubung. Derajat yang biasa digunakan pada suatu relasi adalah relasi binary yang terdiri atas : 1. One to one (1 : 1) Relationship, terjadi bila setiap anggota entity A hanya boleh berpasangan dengan satu anggota dari entity anggota B. Dan begitu juga sebaliknya. 41 2. One to Many (1 : *) Relationship : terjadi bila setiap anggota entity A boleh berpasangan dengan leih dari satu anggota dari entity B. Sebaliknya, tiap anggota entity B hanya boleh berpasangan dengan satu anggota entity A. 3. Many to Many ( * : * ) Relationship : terjadi bila tiap anggota entity A boleh berpasangan dengan lebih dari satu anggota dari entity B. Dan begitu juga sebaliknya. E. Data Flow Diagram Menurut Whitten (2004, p334), merupakan pemodelan proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Sedangkan, menurut McLeod (2004, p171-172), merupakan representasi berupa gambar dari suatu sistem yang menggunakan empat buah simbol untuk mengilustrasikan aliran data melalui proses yang saling terkait. Tabel 2.2 Simbol Data Flow Diagram 42 Nama Keterangan Elemen Lingkungan External Elemen lingkungan yang dihadapi Agent oleh sistem. Elemen ini memberikan data input untuk sistem dan menerima data output dari sistem. Untuk mendeskripsikan elemen lingkungan, sering digunakan nama terminator. Terminator menandakan tempat dimana sebuah sistem berakhir. Teminator dilambangkan dengan sebuah persegi atau kotak dengan label nama dari elemen lingkungan terminator tersebut. dapat Sebuah berupa orang, organisasi atau sistem lainnya. Proses Proses Proses adalah kerja yang dilakukan oleh sistem sebagai respons terhadap aliran data masuk atau kondisi. Proses mengubah masukan menjadi keluaran. digambarkan Proses dengan dapat sebuah 43 linkaran atau persegi panjang atau sebuah persegi dengan sudut yang membentuk bulatan dengan label nama dari proses tersebut. Penamaan proses pada umumnya menggunakan kata benda dan obyek. Aliran Data nama aliran data Sebuah aliran data terdiri dari sekelompok elemen data yang terhubung dan bergerak dari suatu titik atau proses ke titik atau proses lainnya. Aliran data digambarkan dengan simbol panah. Data Store Data Store Penyimpanan data merupakan tempatdata yang digunakan dalam sistem disimpan. Penyimpanan data dilambangkan dengan persegi yang terbuka Menurut McLeod (2004, p172 – p173) Proses penggambaran DFD adalah dengan mengidentifikasi proses, 44 menghubungkan mereka dengan aliran data, mengidentifikasi terminator yang menyediakan masukan dan menghasilkan keluaran dan menambahkan penyimpanan data bila diperlukan. Tingkatan dalam DFD, yaitu : 1. Diagram konteks, merupakan level tertinggi dari DFD yang menggambarkan seluruh input atau output ke sisi sistem. 2. Diagram Nol, merupakan penggambaran diagram konteks yang lebih rinci. Hal-hal yang harus diperhatikan : a. Perlihatkan data store yang digunakan b. Untuk proses yang lebih rinci lagi pada level selanjutnya, tambahkan tanda * pada akhir nomor proses. c. Input dan output antara diagram konteks dan diagram nol harus diseimbangkan. 3. Diagram Rinci, merupakan rincian diagram nol dan diagram level diatasnya. F. State Transition Diagram dari 45 Adalah model atau alat yang digunakan untuk menggambarkan urutan dari variasi screen yang dapat terjadi selama satu sesi pengguna (Whitten, 2004, p636). Komponen State Transition Diagram yaitu, 1. State, digambarkan dengan persegi panjang yang menunjukkan state dari sistem. Gambar 2.7 Simbol state dalam STD 2. Transition, digambarkan dengan arrows (panah) yang menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan label yang diatas menunjukkan kejadian yang menyebabkan transisi yang terjadi. Sedangkan label yang dibawah menunjukkan aksi yang terjadi akibat dari kejadian tadi. Gambar 2.8 Simbol transisi dalam STD Contoh STD : Gambar 2.9 Contoh STD 2.2 Teori – Teori Khusus 46 2.2.1 Warehouse Warehouse atau Pergudangan berfungsi menyimpan barang untuk produksi atau hasil produksi dalam jumlah dan rentang waktu tertentu yang kemudian didistribusikan ke lokasi yang dituju berdasarkan permintaan. Kendala yang dihadapi dalam pengelolaan warehouse adalah akurasi pergerakan barang dan menghitung rentang waktu barang disimpan. Dibutuhkan kontrol aktivitas pergerakan barang dan dokumen untuk meningkatkan efisiensi penggunaan warehouse agar jumlah dan rentang waktu barang disimpan dalam nilai minimum atau sesuai perencanaan. Warehouse Management System yang didukung teknologi informasi untuk membantu pengawasan pergerakan barang masuk, pergerakan dalam warehouse dan barang keluar. Pengawasan dengan menggunakan sistem, memberikan kemudahan pengelolaan dan nilai tambah warehouse, yaitu: 1. Memudahkan pengelola warehouse memberikan informasi ketersediaan suatu barang kepada bagian perencanaan produksi atau pengiriman agar ketersediaan barang tetap pada tingkat yang aman. 2. Penempatan barang yang ditentukan oleh sistem sehingga memudahkan penyimpanan, pengambilan dan perhitungan stok. 3. Mengurangi lead time dari aktivitas penyimpanan barang dan pengiriman barang. 2.2.2 PHP 47 Menurut Zaki (2008, p2), PHP adalah sebuah bahasa pemrograman scripting untuk membuat halaman web yang dinamis. Walaupun dikenal sebagai bahasa untuk membuat halaman web, tetapi PHP sebenarnya juga dapat digunakan untuk membuat aplikasi command line dan juga GUI. Website yang dibuat menggunakan PHP memerlukan software bernama webserver, tempat proses kode PHP dilakukan. Server web yang memiliki software PHP parser akan memproses input berupa kode PHP dan menghasilkan output berupa halaman web. PHP bersifat terbuka dan multiplatform, karenanya dapat dijalankan dibanyak merk webserver (seperti Apache dan IIS). Saat ini pengguna PHP sangat banyak, ada lebih dari dua puluh juta website yang menggunakan PHP yang dijalankan lebih dari satu juta server. 2.2.3 SQL Menurut Connolly dan Begg (2010, p184 – p185), SQL adalah suatu bahasa yang dirancang untuk menggunakan hubungan yang mengubah input ke output yang diperlukan. standar ISO SQL memiliki dua komponen utama yaitu: - Bahasa definisi Data (DDL) untuk mendefinisikan database struktur dan mengendalikan akses ke data - Bahasa manipulasi Data (DML) untuk retieving dan memperbarui data. 2.2.4 MySQL 48 Menurut Huda (2010, p181), MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau yang dikenal sebagai DBMS (Database Management System) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License), database ini multithread, multi-user. Kekuatan MySQL tidak ditopang oleh sebuah komunitas, seperti apache, yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh pemilik masing – masing, tetapi MySQL didukung penuh oleh sebuah perusahaan profesional dan komersial, yakni MySQL AB dari Swedia. 2.2.5 HTML Menurut Mercer (2004, p29) Hyper-text Markup Language (HTML) adalah bahasa yang digunakan untuk membuat halaman web. HTML ditulis hanya sebagai kode sumber (Kode ini dapat dilihat di browser pada pilihan view lalu source dari menu), dan bahasa ini tidak benar-benar dapat disebut bahasa pemrograman, bahasa yang digunakan adalah hampir seluruhnya untuk tampilan. Keuntungan HTML adalah dapat membuat teks, Gambar, form, tabel, dan sebagainya dengan benar jika browser yang sedang digunakan berjalan lancar pada perangkat keras dan sistem operasi sudah terinstal. siapapun dapat menulis halaman web di HTML dan itu akan berjalan pada komputer manapun, tidak seperti 49 program terkompilasi yang berjalan hanya di kelas tertentu dari CPU dan sistem operasi. 2.2.6 JQuery Menurut Adi dan Sanjaya (2012, p2), JQuery merupakan sebuah Javascripts Library atau bisa disebut juga sebagai perpustakaan dari kumpulan kode / listing Javascript yang siap pakai. Dalam arti yang sederhana, JQuery dapat digunakan untuk meringkas sebuah listing javascript yang panjang dalam sebuah proyek pembuatan website. 2.2.7 Eight Golden Rules Menurut Shneiderman dan Plaisant (2010, p88), Eight Golden Rules adalah delapan aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface, yaitu: 1. Konsistensi Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Memungkinkan pengguna untuk menggunakan shortcut Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif 50 Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk 51 mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung tempat pengendali internal (internal locus of control) Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 52