BAB 2 TINJAUAN PUSTAKA
2.1. Teori Umum 2.1.1 Teori Basis Data Teori yang berkaitan dengan basis data seperti data, basis data (database), Database
Management
System
(DBMS),
Database
Application,
Entity
Relationship Modelling (ER Modelling), normalisasi, Structured Query Language (SQL), metode perancangan basis data, Database System Development Lifecycle (DSDLC), dan MySQL.
2.1.1.1
Data
Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 68), data adalah komponen terpenting dari lingkungan sistem manajemen basis data. Data disini berperan untuk menjembatani antara komponen mesin dengan komponen manusia.
2.1.1.2
Basis Data
Berlandaskan pada pendapat (Jeffrey L Whitten, 2007, p. 518), database atau basis data adalah kumpulan file yang saling terkait antara satu sama lain.
2.1.1.3
DBMS
Menurut pendapat (Jeffrey L Whitten, 2007, p. 525), Database Management System (DBMS) merupakan perangkat lunak khusus yang dapat digunakan untuk membuat, mengontrol, dan mengelola sebuah basis data. Tabel 2. 1 Kelebihan dan Kekurangan DBMS Kelebihan Mengontrol redudansi data Konsistensi data Meningkatkan produktivitas Standarisasi Meningkatkan keamanan Meningkatkan pemeliharaan data Fasilitas backup dan recovery
7
Kekurangan Kompleksitas Ukuran Biaya DBMS Biaya konversi Performance Biaya hardware tambahan Kegagalan berdampak besar
8 Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 75&78), dengan menggunakan DBMS, selain akan mendapatkan kelebihan, DBMS sendiri juga memiliki beberapa kekurangan diantaranya:
2.1.1.4
Konsep Normalisasi
Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, pp. 452-472), normalisasi adalah sebuah teknik untuk memproduksi kumpulan relasi dengan atribut yang diinginkan dan berkaitan dengan kebutuhan data perusahaan. Normalisasi dilakukan dengan tujuan mengidentifikasi kumpulan relasi yang cocok untuk membantu memenuhi kebutuhan perusahaan. Karakteristik kumpulan relasi yang dimaksud antara lain seperti redudansinya minimum, atribut dengan relasi logikal (digambarkan dengan ketergantungan fungsional) dapat ditemukan dalam relasi yang sama, dan jumlah atribut minimal yang dibutuhkan untuk melengkapi kebutuhan perusahaan. Dalam melakukan normalisasi, tahapan yang harus dilakukan untuk membentuk relasi yang efektif, adalah Unnormalized Form (UNF), yaitu kondisi ketika tabel masih mengandung satu atau lebih grup yang berulang. First Normal Form (1NF), adalah kondisi relasi dimana setiap baris dan kolom hanya mengandung satu nilai. Second Normal Form (2NF), adalah kondisi relasi yang ada di dalam 1NF dan setiap atribut non-primary key-nya bergantung penuh secara fungsional pada primary keynya. Sedangkan Third Normal Form (3NF), yaitu kondisi relasi yang ada didalam 1NF dan 2NF dimana tidak ada atribut non primary key yang bergantung secara transitif pada primary key.
2.1.1.5
Entity Relationship Diagram (ERD)
Menurut (Abraham Silberschatz, Henry Korth, S. Sudarshan, 2010), Entity Relationship Diagram digunakan untuk menggambarkan struktur logikal basis data dengan grafis secara keseluruhan. Entity Relationship Diagram dibuat dengan sederhana dan jelas untuk mendefinisikan sistem.
2.1.1.6
Entity Relationship Modelling
9 Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 405), Entity Relationship Modelling adalah pendekatan secara top-down pada perancangan basis data yang dimulai dengan mengidentifikasi komponen penting pada data yaitu entitas dan relasi yang dipresentasikan dalam sebuah model. Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 406&417), entitas adalah kumpulan objek dengan atribut yang sama yang teridentifikasi oleh perusahaan dan keberadaannya independen. Sedangkan tipe entitas sendiri dapat dibagi menjadi Strong Entity dan Weak Entity. Strong Entity adalah tipe entitas yang tidak bergantung pada keberadaan entitas lain, sedangkan weak entity adalah tipe entitas yang bergantung pada keberadaan entitas lain. Menurut (Ramez Elmasri,Shamkant B. Navathe, 2011, p. 219), Strong Entity adalah entitas biasa yang memiliki key attribute. Sedangkan Weak Entity adalah jenis entitas yang tidak memiliki key attribute dari mereka sendiri. Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, pp. 408-411), tipe relationship adalah kumpulan antar tipe entitas yang memiliki arti. Tipe relationship memiliki beberapa derajat relasi yang merupakan jumlah entitas yang ikut berpartisipasi pada suatu relationship seperti binary relationship, yakni keterkaitan antara dua tipe entitas. Ternary relationship yakni keterkaitan antara tiga tipe entitas. Querternary Relationship yakni keterhubungan antar empat entitas. Unary Relationship yang biasa disebut recursive relationship yakni keterhubungan dari satu tipe entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peranan berbeda. Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, pp. 413-415), atribut adalah sebuah property dari sebuah entitas maupun tipe relasi. Sedangkan Attribute Domain adalah set nilai yang diperbolehkan untuk satu atau lebih atribut. Tetapi terkadang sebuah domain dari atribut sulit untuk didefinisikan, maka Atribut sendiri dibagi menjadi Simple Attribute, Composite Attribute, Single Valued Attribute, Multi valued Attribute, dan Derived Attribute. Simple Attribute adalah atribut yang terdiri atas satu komponen yang berdiri secara independen dan tidak bisa dibagi menjadi komponen yang lebih kecil, contohnya seperti atribut posisi gaji dalam entitas Staff. Sedangkan Composite Attribute adalah atribut yang terdiri atas banyak komponen dengan
10 keberadaan independen, beberapa atribut dapatdibagi menjadi komponenkomponen lebih kecil. Contohnya seperti atribut alamat pada entitas cabang dapat dibagi menjadi atribut jalan, kota, dan kode pos. Single valued attribute adalah atribut yang memiliki nilai tunggal untuk tiap kejadian pada entitas. Multi valued attribute adalah atribut yang memiliki beberapa nilai untuk setiap kejadian dalam sebuah entitas. Contohnya entitas Customer memiliki beberapa nilai atribut untuk CustomerPhone pada setiap kejadian. Derived attribute adalah sebuah atribut yang merepresentasikan nilai yang dapat diturunkan dari nilai atribut yang terkait Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 415), keys sendiri dibedakan menjadi 3, diantaranya adalah, Candidate key yaitu kumpulan jumlah minimal atribut yang secara unik dapat mengidentifikasi setiap kejadian atau record. Primary key yaitu candidate key yang terpilih secara unik untuk mengidentifikasi setiap kejadian atau record pada sebuah tipe entitas. Composite key yang berarti sebuah candidate key yang terdiri dari dua atau lebih atribut.
2.1.1.7
Structured Query Language (SQL)
Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, pp. 191-193), SQL adalah bahasa yang muncul karena pengembangan model relasi, dalam SQL sendiri terdapat dua komponen utama, yaitu Data Definition Language dan Data Manipulation Language. Data Definition Language digunakan untuk menjelaskan struktur basis data dan memantau akses menuju data. Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, p. 193), Data Manipulation Language digunakan untuk mengambil data maupun meng-update data.
2.1.1.8
Metodologi Perancangan Basis Data
Dalam merancang sebuah basis data, terdapat beberapa langkah utama yang dilakukan dalam perancangan basis data, yaitu : 1. Perancangan basis data konseptual Menurut pendapat (Thomas Conolly, Carolyn Begg, 2015, pp. 505-506),
perancangan
basis
data
konseptual
adalah
proses
membangun model dari data yang digunakan oleh perusahaan, beserta
11 pertimbangan fisik independen. Langkah yang dilakukan untuk merancang basis data konseptual adalah identifikasi tipe entitas, identifikasi tipe relasi, identifikasi dan asosiasi atribut dengan tipe entitas atau relasi, menentukan domain atribut, menentukan atribut candidate key, primary key, dan alternate key, mempertimbangkan penggunaan konsep enchanced modelling (opsional) (langkah ini tidak digunakan untuk perancangan sistem ini), memeriksa model redundansi, validasi model konseptual dengan transaksi user, meninjau kembali model data konseptual dengan pengguna. 2. Perancangan basis data logikal Menurut (Thomas Conolly, Carolyn Begg, 2015, pp. 505-506), Perancangan basis data logikal adalah proses membangun model data yang digunakan perusahaan berdasarkan pada model data yang spesifik, dengan adanya pertimbangan fisik secara independen dari DBMS tertentu. Langkah yang dilakukan, yaitu penurunan relasi model data logikal, validasi relasi menggunakan normalisasi, validasi relasi terhadap transaksi pengguna, memeriksa integrity constraints, meninjau kembali model data logikal bersama user, menggabungkan model data logikal menjadi model global (opsional) (langkah ini tidak digunakan untuk perancangan sistem ini), memeriksa perkembangan di masa mendatang. 3. Perancangan basis data fisikal Menurut (Thomas Conolly, Carolyn Begg, 2015, pp. 505-506), perancangan fisikal basis data adalah proses memproduksi deskripsi implementasi
basis
data
pada
penyimpanan
sekunder,
yang
mendeskripsikan relasi dasar, organisasi file, dan index yang digunakan untuk mendapatkan akses data secara efisien serta batasanbatasan yang terasosiasi dan
sistem keamanan. Langkah yang
dilakukan antara lain seperti merancang relasi dasar, merancang representasi dari derived data, dan merancang batasan umum. Tahap merancang organisasi file dan indeks dilakukan untuk menentukan organisasi file secara optimal untuk menyimpan relasi dasar dan indeks yang dibutuhkan untuk mencapai performa yang dapat diterima.
12 Tahap ini dibagi menjadi 4 langkah, yang pertama adalah menganalisa transaksi, yang kedua adalah memilih organisasi file, yang ketiga adalah memilih indeks, dan yang ke empat adalah memperkirakan besarnya tempat penyimpanan yang dibutuhkan. Tahap merancang user views dilakukan untuk merancang tampilan pengguna sesuai dengan kebutuhan pada saat pengumpulan kebutuhan user dan tahap analisa pada database system development lifecycle. Tahap merancang mekanisme keamanan dilakukan untuk merancang sistem keamanan basis data sesuai dengan kebutuhan user pada saat pengumpulan kebutuhan user. Dalam penerapannya pada perancangan sistem pergudangan PT Plasindo Lestari, mekanisme keamanan dibuat melalui role dari dalam aplikasi.
2.1.1.9
Database System Development Lifecycle (DSDLC)
Menurut (Thomas Conolly, Carolyn Begg, 2015, p. 348), tahapantahapan dari Siklus Hidup Pengembangan Sistem Database (Database System Development Lifecycle) meliputi database planning, system definition, requirement collection and analysis, database design, DBMS selection, application design, prototype, implementation, data convertion and loading, testing, dan operational maintenance. Tahapan database planning adalah tahap di mana manajemen suatu perusahaan memutuskan bahwa sebuah sistem basis data dapat direalisasikan untuk memenuhi tujuan tertentu dengan cara yang efisien dan efektif. Tahapan system definition adalah tahapan untuk menentukan batasan dari sistem basis data yang akan dikembangkan. Batasan suatu sistem basis data dapat dilihat dari sudut pandang setiap posisi yang menggunakan sistem tersebut (user view). Tahapan
requirement
gathering
and
analysis
adalah
tahapan
pengumpulan dan analisa informasi dari perusahaan mengenai kebutuhan sistem basis data yang akan dibuat. Untuk memperoleh informasi tersebut, banyak teknik yang dapat digunakan, yang disebut fact-finding techniques.
13 Tahapan merancang basis data yang sesuai dengan tujuan pembuatan sistem basis data yang telah ditentukan. Pendekatan yang dilakukan dapat digolongkan menjadi 4 tipe, yaitu : bottom-up, top-down, inside-out, dan mixed strategy. Perancangan basis data dapat dibagi ke dalam 3 tahapan, yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal. Tahapan DBMS selection adalah tahap pemilihan Database Management System (DBMS) yang sesuai dengan kebutuhan sistem dan kebutuhan perusahaan. Tahapan application design adalah tahapan perancangan antar muka (user interface) dan aplikasi program yang terhubung dan memproses database. Perancangan aplikasi harus memenuhi setiap kebutuhan user dan mudah dimengerti oleh user. Tahapan prototyping adalah tahapan opsional di mana dilakukan pembuatan model kerja dari sistem basis data sehingga user dapat melihat sekilas sistem yang akan diimplementasi dan memberi masukan tentang pengembangan sistem tersebut. Tahapan ini digunakan untuk mengklarifikasi kebutuhan user. Tahapan implementation adalah tahapan realisasi fisik dari sistem basis data. Implementasi sistem basis data dapat diterapkan dengan Data Definition Language (DDL) untuk membuat file database dan Data Manipulation Language (DML) untuk memanipulasi database. Tahapan data conversion and loading memindahkan data yang telah ada sebelumnya ke database baru dan mengkonversi aplikasi yang telah ada sehingga dapat mengakses database yang baru. Tahapan testing adalah tahapan menjalankan sistem basis data yang telah diimplementasi untuk menemukan kesalahan atau ketidaksesuaian pada sistem. Tahapan ini meliputi sisi usability sistem basis data dengan kriteria learnability, performance, robustness, recoverability, dan adapatability. Tahapan operational maintenance adalah tahapan memantau dan merawat sistem basis data setelah instalasi. Proses ini terdiri dari pengawasan performa sistem dan perawatan serta meningkatkan sistem basis data apabila diperlukan.
14 2.1.1.10
MySQL Menurut (Laura Thomson, Luke Welling, 2008, p. 3), MySQL adalah sebuah Relational Database Management System (RDBMS) yang sangat kuat dan cepat. Sebuah database memungkinkan adanya penyimpanan, pencarian, mengurutkan data, dan mengambil data dengan efisien. MySQL Server mengontrol akses data untuk memastikan
banyak
user
dapat
bekerja
bersamaan,
untuk
menyediakan akses cepat, dan memastikan bahwa hanya user yang memiliki autorisasi yang dapat mengakses. MySQL Menggunakan Structured Query Language (SQL), bahasa standar dalam query basis data di seluruh dunia.
2.1.2 Teori Perancangan Aplikasi Teori yang berkaitan dengan perancangan aplikasi meliputi data flow diagram, state transition diagram, Schneiderman’s 8 Golden Rules, dan PHP. 2.1.2.1
Data Flow Diagram
Menurut (Setiawan, 2011), data flow diagram adalah suatu grafik yang menjelaskan sebuah sistem dengan menggunakan bentuk dan simbol untuk menggambarkan aliran data dari proses yang saling berhubungan. Data flow diagram adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi sistem merupakan bagian yang lebih penting dan kompleks daripada data yang dimanipulasi oleh sistem tersebut. Dengan kata lain, data flow diagram adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. Data flow diagram merupakan alat perancangan sistem yang berorientasi pada aliran data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh professional sistem kepada pengguna maupun pembuat program. Menurut (Afyenni, 2014), Data Flow Diagram memiliki 4 komponen yaitu External Entity, Proses, Data Store, dan Aliran data. External Entity berguna untuk menyatakan suatu divisi dalam perusahaan tetapi diluar sistem yang dikembangkan. Semisal langganan pemasok, dan penerima akhir suatu laporan. Sedangkan Proses, digunakan untuk menunjukkan kegiatan atau kerja yang dilakukan oleh orang, mesin, atau komputer dari hasil suatu arus data
15 yang masuk ke dalam proses untuk menghasilkan arus data yang keluar dari proses. Selanjutnya Data store, digunakan untuk menunjukkan simpanan dari data yang dapat berupa file atau database di sistem komputer. Yang terakhir adalah aliran data, yang digunakan untuk menunjukkan arus dari data yang dapat berupa input untuk sistem ataupun output hasil dari proses sistem. Menurut (Afyenni, 2014) dalam melakukan pemodelan proses, dibutuhkan beberapa level DFD agar proses yang dimodelkan tersebut sesuai dengan sistem yang diinginkan. Semakin tinggi level DFD nya maka pemodelan akan semakin rinci, berikut adalah pemodelan yang ada dalam Data Flow Diagram, seperti DFD level 0, DFD level 1, dan DFD level 2. DFD level 0, biasa disebut dengan diagram konteks, yang merupakan gambaran bagaimana sistem berinteraksi dengan external entity. DFD level 1, akan menunjukkan proses-proses utama yang terjadi didalam sistem yang sedang dibangun. Selanjutnya DFD level 2, yang biasa disebut dengan diagram rinci. Pada tahap ini DFD level 1 yang sudah terbentuk akan dijabarkan lebih rinci, setiap proses pada DFD level 1 akan dimodelkan secara lebih detail menjadi sebuah DFD lagi. Apabila diperlukan pemodelan yang lebih rinci lagi, maka setiap proses pada DFD level 2 juga dapat diperinci lagi menjadi DFD level 3. Biasanya perincian DFD berhenti sampai pada proses yang bersifat atomic (sudah cukup mendetail dan tidak dapat diperinci).
2.1.2.2
State Transition Diagram
Menurut (Jeffrey L Whitten, 2007, p. 635), State Transition Diagram adalah sebuah alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat terjadi. Terdapat dua simbol dalam State Transition Diagram yaitu State dan Aliran Transisi.
Tabel 2. 2 Simbol State Transition Diagram Simbol
Keterangan State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu benda di waktu tertentu.
16 Gambar panah menunjukkan aliran transisi antar state. Tiap panah diberi keterangan dengan ekspresi aturan.
2.1.2.3
Schneiderman’s 8 Golden Rules
Menurut (Shneiderman, 2010, pp. 88-89), pada perancangan antar muka harus memperhatikan poin-poin seperti 8 Golden Rules of Interface Design, yaitu upayakan konsistensi, memungkinkan pengguna menggunakan jalan pintas, memberi umpan balik yang informatif, merancang dialog untuk menghasilkan penutupan, menawarkan penanganan kesalahan yang sederhana, memungkinkan adanya pembalikan tindakan, mendukung pusat kendali internal, dan mengurangi beban ingatan jangka pendek. Urutan konsistensi tindakan diperlukan dalam situasi yang sama., terminologi identik harus digunakan pada anjuran, menu, dan tampilan bantuan, serta perintah konsisten harus digunakan dalam seluruh rancangan. Seiring dengan seringnya interaksi user terhadap sistem, tentunya user ingin mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. Maka dari itu singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro dapat membantu pengguna yang sudah ahli. Untuk setiap user yang melakukan tindakan, tentunya harus ada umpan balik yang jelas agar menghindari user kebingungan dan tersesat dalam pencarian informasi. Urutan tindakan harus diatur dalam kelompok yang berisi awalan, tengah, dan akhir. Dengan adanya umpan balik informatif pada penyelesaian tindakan dapat memberikan kepuasan kepada user dan tidak menimbulkan dugaan lain. Sehingga user dapat dengan jelas mempersiapkan urutan tindakan berikutnya. Perancangan sistem dibuat agar user tidak dapat melakukan kesalahan yang serius. Apabila tetap terjadi kesalahan, tentunya sistem harus bisa mendeteksi kesalahan dan menawarkan komprehensi mekanisme yang sederhana untuk menangani kesalahan. Dengan demikian user tidak mengalami kendala yang berarti saat melakukan kesalahan. Fitur ini dapat mengurangi rasa kecemasan user, karena user tahu kesalahan dapat dibatalkan. Sehingga akan mendorong user untuk mencoba
17 pilihan yang asing. Satuan pembalikan bisa saja berbentuk tindakan, entry data, atau tindakan lengkap. Operator
berpengalaman
tentunya
menginginkan
mereka
yang
memegang kendali atas sistem dan sistem meresponse tindakan operator. Sehingga perancangan sistem ditekankan pada user sebagai pembuka tindakan bukan merespons tindakan. Keterbatasan manusia dalam memproses informasi pada ingatan jangka pendek menyebabkan perancangan sistem harus dibuat dengan sederhana mungkin, sehingga user tidak perlu mengingat banyak hal. Contohnya lebih baik sistem menampilkan pilihan yang tersedia daripada membiarkan user untuk mengetikkan pilihannya.
2.1.2.4
PHP
Menurut (Laura Thomson, Luke Welling, 2008, p. 2), PHP adalah bahasa pemrograman server-side yang dirancang khusus untuk pembuatan web. Dalam file HTML, code PHP dapat dimasukkan dan dieksekusi setiap kali halaman diakses. Pemrograman PHP dijalankan pada web server dan menghasilkan HTML maupun output lain yang akan dilihat oleh pengguna web.
2.2. Teori Khusus 2.2.1 Warehouse Menurut (Ramaa.A, K.N.Subramanya, T.M.Rangaswamy, 2012, p. 14), warehouse adalah fasilitas dalam supply chain untuk mengkonsolidasi produk guna mengurangi biaya transportasi, mencapai skala ekonomi dibidang manufaktur maupun pembelian, atau menyediakan penambahan nilai proses dan mempersingkat waktu respon. 2.2.2 Warehouse Management System Menurut (Holy Icun Yunarto, Martinus Getty Santika, 2005, p. 15), Warehouse Management System (WMS) adalah sebuah sistem yang bertujuan untuk mengontrol proses-proses shipping (pengiriman), receiving (penerimaan), putaway (penyimpanan), movement (pergerakan), dan picking (pengambilan). WMS memberikan fasilitas untuk memberi informasi mengenai lokasi penyimpanan barang, jumlah barang, dan jenis barang sehingga manajemen persediaan dapat dilakukan dengan lebih optimal.
18 Menurut (Ramaa.A, K.N.Subramanya, T.M.Rangaswamy, 2012), Dalam pembuatan warehouse, apabila warehouse akan berkontribusi untuk menjadi sumber dalam menambah nilai supply chain, maka pengukuran kinerja perlu dilakukan. Tolak ukur kinerja warehouse yang baik adalah pemenuhan urutan, pengukuran manajemen inventori, dan produktivitas warehouse. Kriteria pemenuhan urutan meliputi pengiriman tepat waktu, laju pemenuhan pesanan, akurasi pemesanan, line akurasi, waktu siklus pemesanan, pemenuhan sempurna pemesanan. Kriteria pengukuran manajemen inventori meliputi akurasi inventory, inventory yang rusak, utilisasi penyimpanan, proses stock, dan inventory visibility. Sedangkan kriteria produktivitas warehouse meliputi Pesanan per jam lines per jam, items per jam, biaya per pemesanan, dan biaya pergudangan sebagai bagian biaya total penjualan perusahaan.