BAB II LANDASAN TEORI 2.1 Database Database atau sering disebut basis data adalah sekumpulan informasi yang disimpan dalam komputer secara sistematik dan merupakan sumber informasi yang dapat diperikasa menggunakan suatu program komputer. Database berfungsi untuk menyimpan informasi atau data. Untuk mengelola database diperlukan software yang sering disebut dengan DBMS (Database Management System). Dengan DBMS pengguna atau user dapat membuat, mengelola, mengontrol, dan mengakses database dengan mudah, praktis dan efesien. Database terdiri dari tabel yang didalamnya terdapat field-field, dan sebuah database terdiri dari beberapa tabel. Dalam pembuatan database, Anda perhatikan hal-hal berikut : 1. Setiap tabel dalam database, harus memiliki field (kolom) yang unik yang disebut dengan Primary Key. 2. Tabel dalam database tidak boleh ada redudancy data yang mengandung record ganda. Jika terdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya. 3. Pilih type data yang tepat, sehingga ukuran database seminimal mungkin. (Madcoms, 2012:12). 2.2 MySQL MySQL adalah salah satu program yang dapat digunakan sebagai database, dan merupakan salah satu software untuk database server yang banyak digunakan. MySQL bersifat Open Source dan menggunakan SQL. MySQL bisa dijalankan diberbagai platform misalnya Windows, Linux dan lain sebagainya. MySQL memiliki berbagai kelebihan, antara lain : 1. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah. 2. MySQL memiliki kecepatan yang bagus dalam menangani query sederhana. 3. MySQL memiliki operator dan fungsi secara penuh dan mendukung perintah Select dan Where dalam perintah query. 4. MySQL memiliki keamanan yang bagus karena beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perijinan yang mendetail serta sandi terenkripsi. 5. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta kurang lebih 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 6. MyQSL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 7. MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. 8. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBDS, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 4. MySQL didistribusikan secara Open Source, di bawah lisensi GPL sehingga dapat digunakan secara gratis. (Madcoms, 2012:140). 2.3 HTML HTML (HyperText Markup Language) adalah bahasa dari WWW ( World Wide Web ). Setiap kali mengakses internet atau lebih tepat disebut dengan istilah homepage, sesungguhnya kita mengakses dokumen seseorang yang dibuat menggunakan dokumen HTML. HTML (HyperText Markup Language) dikenal sebagai bahasa kode berbasis teks untuk membuat sebuah halaman web. Keberadaannya dikenali dengan adanya ekstensi *.htm atau *.html, misalnya index.htm. Sementara web sendiri sebenarnya berasal dari kata World Wide Web, salah satu layanan global yang diperuntukkan bagi semua pengguna internet. Tag dalam HTML Dokumen html terbentuk dari beberapa tag yaitu <html>, <head>, dan <body>, tag tersebut pasangannya </html>, </head> dan </body>, tag penutup diawali dengan garis miring ( / ). Tag pertama menunjukkan elemen awal suatu tag dan tag pasangnnya menunjukkan elemen akhir dari tag. Setiap dokumen HTML harus diawali dengan menuliskan tag <html> dan diakhiri tag </html>. Selanjutnya di dalam tag <html> ada tag <head></head>, jika anda ingin memberikan judul pada halaman web, maka judul tersebut diketik didalam tag <head>. Untuk penulisan judul ditandai dengan tag <title> dan diakhiri </title>. Judul yang anda ketikkan akan ditampikan dalam caption bar pada jendela browser anda. Untuk isi dari web yang anda buat, ketik dalam tag <body> dan diakhiri dengan tag penutup </body>. (Madcoms, 2012:82). Pola dasar dokumen HTML adalah sebagai berikut : <html> <head> <title>Judul Halaman</title> </head> <body> ....................................................... </body> </html> 2.4 PHP PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP dikembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. PHP disebut bahasa pemrograman server-side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client). Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana tetapi juga website populer yang digunakan oleh jutaan orang weperti wikipedia, wordpress, joomla, dll. Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri, PHP: Hypertext Preprocessor. PHP dapat digunakan secara gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source. (Andre, 2014) Suatu script akan dikenal sebagai script PHP bila diapit oleh tanda berikut ini : <?.................................................................?> atau <?php ....................................................................... ?> Perintah-perintah PHP dapat disisipkan dibagian manapun dalam HTML. Yang perlu anda lakukan adalah menyisipkannya di script HTML dan menyimpannya sebagai *.PHP. (Madcoms, 2012:86). 2.5 CSS CSS (Cascading Style Sheet) adalah salah satu bahasa desain web (style sheet language) yang mengontrol format tampilan sebuah halaman web yang ditulis dengan menggunakan penanda(markup laguage. Biasanya CSS digunakan untuk mendesain sebuah halaman HTML dan XHTML, tetapi sekarang CSS bisa diaplikasikan untuk segala dokumenXML, termasuk SVG dan XUL bahkan ANDROID. CSS dibuat untuk memisahkan konten utama dengan tampilan dokumen yang meliputi layout, warna da font. Pemisahan ini dapat meningkatkann daya akses konten pada web, menyediakan lebih banyak fleksibilitas dan kontrol dalam spesifikasi dari sebuah karakteristik dari sebuah tampilan, memungkinkan untuk membagi halaman untuk sebuah formatting dan mengurangi kerumitan dalam penulisan kode dan struktur dari konten, contohnya teknik tableless pada desain web. CSS juga memungkinkan sebuah halaman untuk ditampilkan dalam berbagai style dengan menggunakan metode pembawaan yang berbeda pula, seperti on-screen, in-print, by voice, dan lain-lain. Sementaraitu, pemilik konten web bisa menentukan link yang menghubungkan konten dengan file CSS. Tujuan utama CSS diciptakan untuk membedakan konten dari dokumen dan dari tampilan dokumen, dengan itu, pembuatan ataupun pemrograman ulang web akan lebih mudah dilakukan. Hal yang termasuk dalam desain web diantaranya adalah warna, ukura dan formatting. Dengan adanya CSS, konten dan desain web akan mudah dibedakan, jadi memungkinkan untuk melakukan pengulangan pada tampilan-tampilan tertentu dalam suatu web, sehingga akan memudahkan dalam membuat halaman web yang banyak, yang pada akhirnya dapat memangkas waktu pembuatan web. (Budi Raharjo, 2016) 2.6 JavaScript JavaScript adalah sekumpulan perintah khusus yang digunakan untuk membuat sebuah halaman web yang lebih responsif dan interaktif. JavaScript merupakan bahasa script yang dicantumkan pada sebuah halaman web dan dijalankan pada penjelajah web (web browser). JavaScript terutama terkenal karena penggunaannya di halaman web yang memberikan kemampuan tambahan pada HTML dengan mengizinkan pengeksekusian perintah di sisi user (penjelajah web), bukan di sisi server web. JavaScript bergantung kepada penjelajah web yang memanggil halaman web yang berisi script-script dari JavaScript yang terselip di dalam dokumen HTML. Script JavaScript yang dimasukkan di dalam file HTML harus dimasukkan di antara tag <script> dan</script>. JavaScript tidak memerlukan kompilator atau program khusus untuk menjalankannya karena JavaScript sendiri sudah termasuk di dalam penjelajah web tersebut. Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan (embedded). Script ini dapat membuka halaman pop up, melakukan validasi pada form sebelum data dikirimkan ke server, mengubah kursor ketika melewati objek tertentu, berkomunikasi dengan server, dan banyak yang lainnya. (Destwentyo Putra, 2013) 2.7 Web Server Web server adalah software yang menjadi tulang belakang dari world wide web (www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla Firefox, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (Standar General Markup Language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalya link) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai prokol sendiri, yaitu HTTP (HyperText Transfer Protokol). Dengan protokol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. Seperti telah dijelasakan diatas, format data pada world wide web adalah SGML. Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML karena penggunaannya lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lainnya hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan web client (browser), diterima web server, diproses dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya, web server hanya memproses semua masukan yang diperolehnya dari web clientnya. (Fathansyah, 2012:464). 2.8 Dreamweaver Dreamweaver adalah sebuah HTML editor profesional untuk mendesain web secara visual dan mengelola situs atau halaman web. Dreamweaver merupakan software utama yang digunakan oleh Web Desainer maupun Web Programmer dalam mengembangkan suatu situs web, karena Dreamweaver mempunyai ruang kerja, fasilitas dan kemampuan yang mampu meningkatkan produktivitas dan efektivitas dalam desain maupun membangun suatu situs web. (Madcoms, 2012:13). 2.9 Definisi Gudang Gudang adalah fasilitas khusus yang bersifat tetap, yang dirancang untuk mencapai tarjet tingkat pelayanan dalam total biaya yang paling rendah. Gudang dibutuhkan dalam proses koordinasi penyaluran barang, yang muncul sebagai akibat kurang seimbangnya proses penawaran dan permintaan. Kurang seimbangnya antara proses permintaan dan penawaran mendorong munculnya persediaan (inventory), persediaan membutuhkan ruang sebagai tempat penyimpanan sementara yang disebut sebagai gudang. (Fuad Hasyim, 2012) 2.10 Pengertian Sistem Kata sistem berasal dari bahasa latin (systema) dan bahasa Yunani (sustema) yang artinya adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Menurut Jerry Fith Gerald sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. (Hanif Al Fatta, 2007:3). 2.10.1 Bentuk Umum Sistem Bentuk umum dari suatu sistem terdiri atas masukan (input), pengolahan (processing) dan keluaran (output). Dalam bentuk umum sistem ini bisa melakukan satu atau lebih masukan yang akan diproses dan menghasilkan keluaran sesuai dengan harapan yang telah ditentukan sebelumnya. Gambar 2.1 Bentuk Umum Sistem 2.10.2 Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu, yaitu: 1. Komponen (Component) 2. Batasan sistem (Boundary) 3. Lingkungan luar sistem (Environment) 4. Penghubung (Interface) 5. Masukan (Input) 6. Keluaran (Output) 7. Pengolah (Process) 8. Sasaran (Objectivies) atau Tujuan (Goal) 2.11 Pengertian Sistem Informasi Sistem Informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyadiakan kepada pihak luar tertentu dengan laporanlaporan yang diperlukan. Manfaat adanya sistem informasi dalam suatu instansi yaitu: 1. Menyajikan informasi guna mendukung pengambilan suatu keputusan. 2. Menyajikan informasi guna mendukung operasi harian. 3. Menyajikan informasi yang berkenaan dengan kepengurusan. Beberapa komponen sistem informasi dapat diklasifikasikan sebagai berikut : 1. Perangkat keras (hardware) dan perangkat lunak (software) yang berfungsi sebagai mesin. 2. Manusia (people) dan prosedur (procedures) yang merupakan manusia dan tata cara menggunakan mesin. 3. Data merupakan jembatan penghubung antara manusia dan mesin agar terjadi suatu proses pengolahan data. (Rindah Pawesti, 2015) 2.12 Konsep Dasar Basis Data Basis data merupakan kumpulan data yang saling berelasi.Data sendiri merupakan fakta mengenai objek, orang dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter atau simbol) Basis data didefinisikan sebagai berikut : a. Himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa tanpa perulangan (redundancy) yang tidak perlu untuk memenuhi kebutuhan. c. Kumpulan file / table / arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. (Kusrini, 2007:2.) 2.13 ERD (Entity Relationship Diagram) Menurut Sutanta (2011:91) “Entity Relationship Diagram (ERD) merupakan suatu model data yang dikembangkan berdasarkan objek.” Entity Relationship Diagram (ERD) digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pengguna secara logis. Entity Relationship Diagram (ERD) didasarkan pada suatu persepsi bahwa real world terdiri atas obyek-obyek dasar tersebut. Penggunaan Entity Relationship Diagram (ERD) relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi perancang atau analis sistem, Entity Relationship Diagram (ERD) berguna untuk memodelkan sistem yang nantinya, basis data akan di kembangkan. Model ini juga membantu perancang atau analis sistem pada saat melakukan analis dan perancangan basis data karena model ini dapat menunjukkan macam data yang dibutuhkan dan kerelasian antardata didalamnya. Komponen punyusun ERD adalah sebagai berikut : Komponen Keterangan Persegi panjang mewakili entitas Elips mewakili atribut Belah ketupat mewakili relasi Garis mewakili relasi dan entitas atau relasi dan entitas dengan atribut 2.14 DFD (Data Flow Diagram) Data Flow Diagrama (DFD) merupakan suatu cara atau metode untuk membuat rancangan sebuah sistem yang mana berorientasi pada alur data yang bergerak pada sebuah sistem nantinya. DFD dibuat oleh para analis untuk membuat sebuah sistem yang baik. Dimana DFD ini nantinya diberikan kepada para programer untuk melakukan proses coding sesuai dengan DFD yang dibuat oleh para analis. Tools yang digunakan pada pembuatan DFD yaitu EasyCase, Power Designer 6. Salah satu cara lain untuk mendesain sistem yaitu menggunakan UML (Unified Manual Language). Komponen dalam DFD adalah sebagai berikut : Komponen Keterangan User/Terminator adalah kestuan diluar sistem (external entity) yang memberikan input ke sistem atau menerima output dari sistem berupa orang, organisasi, atau sistem lain. Process adalah aktivitas yang mengolah input menjadi output. Data Flow adalah aliran data pada sistem (antar proses, antar terminator & proses, serta antara proses & data store). Data Store adalah penyimpanan data pada database, biasanya berupa tabel. Didalam DFD terdapat 3 level, yaitu : 1. Diagram Konteks : menggambarkan suatu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas external yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan. 2. Diagram Nol (diagram level-1) : merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke diagram Nol. Di dalam diagram ini memuat penyimpanan data. 3. Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol. (Ade Puspitasari , 2013) 2.15 CDM (Conceptual Data Model) CDM dipakai untuk menggambarkan secara detail struktur basis data dalam bentuk logik. Struktur ini independen terhadap semua software maupun struktur data storage tertentu yang digunakan dalam aplikasi ini.CDM terdiri dari objek yang tidak diimplementasikan secara langsung kedalam basis data yang sesungguhnya. (Shandy Ardianto, 2012) Jenis – jenis objek dalam CDM 1. Entity 2. Relationship 3. Inheritance 2.16 PDM (Physical Data Model) PDM merupakan representasi fisik dari database yang akan dibuat dengan mempertimbangkan DBMS yang akan digunakan. PDM dapat dihasilkan (digenerate) dari CDM yang valid. Merupakan gambaran secara detail suatu basis data dalam bentuk fisik, memperlihatkan struktur penyimpanan data yang benar pada basis data yang digunakan sesungguhnya. (Shandy Ardianto, 2012) Jenis – jenis objek dalam CDM 1. Table 2. View 3. Reference