BAB 2 LANDASAN TEORI 2.1 Teori Basis Data 2.1.1 Pengertian Basis Data Basis data adalah sekumpulan data yang saling berhubungan secara logikal,dirancang untuk memenuhi kebutuhan organisasi).Sedangkan sistem basis data adalah sekumpulan aplikasi program yang berinteraksi dengan basis data melalui DBMS dan basis data itu sendiri dan pada dasarnya merupakan suatu sistem penyimpanan record yang terkomputerisasi. Sistem basis data terdiri dari empat komponen, yaitu: data, hardware, software, pengguna (Connolly dan Begg, 2005, p4 – p15). 2.1.2 Database Management System (DBMS) DBMS (Database Management System) adalah perangkat lunak yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar (Suyanto, 2007). DBMS dapat menjadi alternatif penggunaan secara khusus untuk aplikasi, semisal penyimpana data dalam field dan menulis kode aplikasi yang spesifik untuk pengaturannya. 9 2.2 Siklus Basis Data Untuk merancang aplikasi basis data diperlukan tahapan-tahapan terstruktur yang dinamakan dengan Siklus Hidup Aplikasi Basisdata (Database Application Lifecycle) . Perlu digarisbawahi bahwa tahapan-tahapan dalam Database Application Lifecycle tidak harus berurutan, namun juga melibatkan beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). (Connolly dan Begg (2002, p272) Langkah – langkah yang dijalankan dalam siklus basis data adalah : Perencanaan database , pendefinisian sistem , analisa dan pengumpulan kebutuhan , perancangan database , pemilihan DBMS , perancangan aplikasi , prototyping , implementasi , konversi data, dan loading,testing , dan operational maintenance. 2.2.1 Perencanaan Basis Data (Database Planning) Pada proses ini direncanakan bagaimana tahapan dari siklus database dapat direalisasikan secara paling efisien dan paling efektif. Perencanaan basis data harus terintegrasi dengan keseluruhan strategi sistem informasi organisasi. 10 2.2.2 Pendefinisian Sistem Pada proses ini ditentukan ruang lingkup dan batas – batas dari sistem database , termasuk pandangan pengguna utama , penggunanya , dan area aplikasi .User view mendefinisikan apa yang dibutuhkan dari suatu sistem basis data melalui beberapa perspektif. 2.2.3 Analisa dan Pengumpulan Kebutuhan Analisa dan pengumpulan kebutuhan merupakan suatu proses pengumpulan dan menganalisis informasi mengenai bagian dari organisasi yang didukung oleh sistem basis data, dan menggunakan informasi tersebut untuk identifikasi kebutuhan pengguna pada sistem database yang baru. 2.2.4 Perancangan Basis Data Perancangan basis data merupakan suatu proses pembuatan sebuah desain yang akan mendukung tujuan dan operasi dari perusahaan untuk kebutuhan sistem basis data. Perancangan suatu basis data terdiri dari tiga fase utama , yaitu perancangan basis data konseptual ( Conceptual Database Design ), perancangan basis data logical (Logical Database Design ), dan perancangan basis data fiskal (Physical Database Design ) (Connolly , 2005 , p442-p536). 11 2.2.4.1 Perancangan Basis Data Konseptual Perancangan basis data konseptual adalah proses membangun sebuah model informasi yang di gunakan perusahaan, yang terlepas dari semua pertimbangan-pertimbangan fisik. Tahapan – tahapan yang dilakukan dalam Perancangan Basis Data Konseptual adalah : mengidentifikasi tipe entitas , mengidentifikasi tipe relationship , mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship , menentukan domain atribut , menentukan atribut candidate key dan primary key , mempertimbangkan penggunaan enhanced modeling concepts ,cek model untuk redudansi , validasi model konseptual local dengan transaksi user , meninjau kembali model data konseptual local dengan user. 2.2.4.2 Perancangan Basis Data Logikal Perancangan basis data logical adalah suatu proses membangun sebuah model data yang digunakan pada perusahaan berdasarkan sebuah model data spesifik , tetapi terlepas dari DBMS dan pertimbangan fisik lainnya . Tahapan – tahapan yang dilakukan pada Perancangan Basis Data Logikal adalah : Menurunkan relasi untuk model data logical , validasi relasi – relasi menggunakan normalisasi , validasi relasi – relasi terhadap transaksi user , memeriksa integrity constrain , meninjau kembali model 12 data logical dengan user, menggabungkan model data logical ke dalam model data global , memeriksa perkembangan di masa depan. 2.2.4.3 Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah proses untuk menghasilkan deskripsi dari pengimplementasian suatu basis data pada media penyimpanan kedua. Juga menjelaskan relasi dasar, pengaturan file, dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity constraint yang terkait, serta ukuran keamanan. Tahapan – tahapan yang dilakukan pada Perancangan Basis Data Fisikal adalah : menerjemahkan model data logical untuk DBMS yang ditargetkan , merancang relasi dasar , merancang respresentasi derived data, merancang batasan – batasan umum. 2.3 Data Modeling Data modeling adalah teknik untuk mendefinisikan kebutuhan bisnis untuk basis data. Data modeling kadang-kadang disebut sebagai database modeling karena model data pada akhirnya diimplementasikan sebagai basis data (Roger S.Pressman, 2005, p213). Ada beberapa notasi untuk data modeling. Model yang sebenarnya sering disebut hubungan entitas diagram (ERD) karena menggambarkan data didalam konteks entitas dan hubungan yang digambarkan oleh data. 13 Entity Relationship Diagram atau biasa kita kenal dengan ERD adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut (Whitten, 2004, p281). 2.4 Normalisasi Normalisasi data bertujuan untuk mengurangi kompleksitas aplikasi selain juga menambah fleksibilitas. (Davis, 2007) Normalisasi adalah suatu proses untuk menjamin terwujudnya himpunan data yang mempunyai integritas, konsistensi, fleksibel, dan tidak duplikasi antara satu dengan lainnya, membedakan record dengan lainnya maka perlu dipilih atribut atau kombinasi atribut sebagai primary key. Teknik normalisasi merupakan proses pengelompokkan dan elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya.Normalisasi dimaksudkan untuk mendapatkan database optimal, sehingga dapat mengatasi kesulitan-kesulitan seperti penambahan atau insert data, penghapusan data, perubahan atau update data, serta pembacaan data pada suatu database. Tahap-tahap normalisasi, yaitu : 1) Bentuk Tidak Normal (UNF), merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 14 2) Bentuk Normal Kesatu (1NF), mempunyai ciri yaitu setiap data dibentuk dalam flat file (file datar atau rata), data dibentuk dalam satu record demi satu record dan nilai dari file-file berupa ”atomic value”. Tidak ada set atribut yang berulang-ulang. Tiap file hanya satu pengertian. 3) Bentuk Normal Kedua (2NF), mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu atribut ukan kunci haruslah bergantung secara fungsi pada kunci utama primary key. Sehingga bentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut lain yang menjadi anggotanya. 4) Bentuk Normal Ketiga (3NF), mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, harus bergantung penuh pada kunci utama (primary key). 2.4 Data flow diagram (DFD) Perancangan dari web application ini akan mengusung pembuatan Data Flow Diagram (DFD) sebagai bahan rancangan dan penggambaran sistem. Menurut Kendall & Kendall (2005, p224), DFD adalah analisis terstruktur dan alat bantu perancangan yang memungkinkan .4pemahaman sistem dan subsistem secara visual sebagai suatu himpunan aliran data yang saling berhubungan. Keuntungan yang dapat diambil dari pendekatan data flow pada pergerakan data dari sistem adalah sebagai berikut (Kendall & Kendall, 2005, p192): 15 • Kebebasan dari komitmen untuk implementasi teknikal yang terlalu dini. • Pemahaman lebih jauh dari ketergantungan sistem dan subsistem. • Mengkomunikasikan pengetahuan sistem yang berjalan ke User dengan DFD. • Analisa dari sistem yang diajukan untuk menentukan data yang penting dan proses yang sudah ditentukan. 2.4.1 Notasi DFD Berikut ini adalah beberapa notasi DFD yang sering digunakan pada pembuatan DFD : • External agents External agents mendefinisikan orang, unit organisasi, sistem lainnya, atau organisasi lainnya yang berada di luar dari scope dari proyek tetapi berinteraksi dengan sistem yang dibuat. External entity merupakan istilah lain yang sering diucapkan untuk menggantikan istilah external agents ini. Kata external dari external agents ini berarti "di luar dari sistem yang sedang dianalisa atau dirancang". Pada praktiknya, external agent bisa berada di luar dari bisnis (misalkan agensi pemerintah, Customer, suppliers, dan kontraktor). Tetapi bisa juga berada dalam lingkup bisinis itu tetapi di luar dari scope proyek dan sistem (misalkan departemen lain atau sistem informasi lain). (Whitten, Bentley, 16 Ditmann, 2004, p363&365). Notasi ini digambarkan dengan segiempat sama sisi (notasi Gane & Sarson) atau dengan persegi panjang (notasi DeMarco/Yourdon) dengan nama agent di tengah notasi itu. Gambar 2.3 Notasi Entity pada DFD • Data Flow Data Flow adalah komunikasi antara process dengan lingkungan dari sistem, data flow dapat dideksripsikan dengan data yang bergerak (data in flow). Data flow juga digunakan untuk merepresentasikan pembuatan, pembacaan, penghapusan, atau pembaharuan (update) pada file atau database. Digambarkan dengan arah panah yang berlabelkan nama dari data yang bergerak melewati panah itu. (Whitten, Bentley, Ditmann, 2004, p357) Gambar 2.4 Notasi Data Flow pada DFD • Data Stores 17 Hampir semua sistem informasi menangkap data untuk digunakan di masa depan. Data itu disimpan dalam data store. Data stores juga dapat didefinisikan sebagai inventory dari data. Data stores dapat diduplikasi pada DFD untuk menghindari data flow yang saling bersinggungan.Notasi data stores ini ada dua dua, yaitu dua garis sejajar sama panjang (notasi DeMarco/Yourdon) atau dengan persegi panjang yang satu sisinya tidak bergaris (notasi Gane & Sarson). (Whitten, Bentley, Ditmann, 2004, p366-367) Gambar 2.5 Notasi Data Store pada DFD • Process Notasi process ini ada tiga bentuk, yaitu segiempat dengan ujung elips (notasi Gane & Sarson), lingkaran (notasi DeMarco/Yourdon), dan segiempat (notasi SSADM/IDEF0) dengan nama proses di tengah notasi ini. Proses yang dimaksud di sini adalah pekerjaan yang dilakukan, atau untuk menanggapi data flow yang masuk atau suatu kondisi. Proses ini dapat dilakukan oleh manusia, departemen, robot, mesin, atau komputer. (Whitten, Bentley, Ditmann, 2004, p347) 18 Gambar 2.6 Notasi Process pada DFD 2.4.2 State Transition Diagram (STD) State Transition Diagram merupakan alat yang digunakan untuk menggambarkan urutan dan variasi layar yang terjadi atau berlangsung dalam suatu user session. (Whitten, Bentley, Ditmann, 2004, p673). Dalam STD segiempat menggambarkan display screens. Arah panah menggambarkan alur kontrol dan trigger event yang menyebabkan tampilan berubah. 2.5 Teori Khusus Dalam penyusunan skripsi ini ada beberapa teori khusus yang digunakan sebagai landasan. Dibawah ini adalah pemaparan teori-teori tersebut . 2.5.1 Internet dan Web Internet dan web adalah wadah dengan jaringan yang luas dan men-dunia yang berfungsi sebagai pertukaran informasi statis hingga dinamis dan interaktif dengan menggunakan teknologi termaju. 2.5.1.1 Pengertian Internet Internet adalah sebuah jaringan dari kumpulan jaringan, yang bertukar informasi tanpa terlihat, dengan menggunakan standarisasi dan protokol yang terbuka dan tanpa pemilik. Internet merupakan 19 sekumpulan dari banyak jaringan komputer tunggal yang dimiliki oleh pemerintah, universitas, grup non-profit, dan perusahaan. Internet juga merupakan sebuah jaringan packet-swicthed yang menggunakan transmission control protocol / internet protocol (TCP/IP). User dapat terkonek ke internet melalui sebuah server LAN, SLIP/PPP, atau melalui sebuah layanan online(internet service provider). Internet menyediakan 3 tipe layanan utama : komunikasi, informasi retrieval, dan layanan web. Layanan komunikasi meliputi electronic mail(email), usenetnewsgroup, listserv, chatting, telnet, internettelephony, dan internet fax. Layanan information retrieval meliputi gophers, Archie, WAIS, File transfer Protocol(FTP), dan Veronica. Sedangkan layanan Web adalah aplikasi perangkat lunak yang dikirim sebagai layanan melalui internet.(Turban, Rainer, dan Potter, 2003, p200). 2.5.1.2 Pengertian Web Web adalah suatu sistem di internet yang memungkinkan siapapun agar bisa menyediakan informasi. Dengan menggunakan teknologi tersebut, informasi dapat diakses selama 24 (dua puluh empat) jam dalam satu hari dan dikelola oleh mesin (Purnama, 2008). Seturut berkembangnya jaman web terbagi menjadi 2 jenis: 20 a. Web Offline Web Offline biasanya digunakan oleh suatu badan atau organisasi yang menyediakan informasi dalam lingkup area LAN (Local Area Network) atau dalam lingkup yang lebih besar yaitu WAN (Wide Area Network) yang isi informasinya rahasia tidak dipublikasikan secara umum. Web Offline juga kadang digunakan oleh individu atau perorangan sebagai sistem pemrograman pengolah data. b. Web Online Web Online atau sering dikenal dengan website atau halaman situs adalah halaman di internet yang menyediakan informasi. Alamat dari website ini biasanya ditunjukkan berdasarkan URLnya. 2.5.2 Personal Home Page (PHP) PHP menurut Luke W. dan Laura T. (2005,p2) adalah bahasa server-side scripting yang dirancang khusus untuk web. Dalam sebuah halaman HTML, Anda dapat menanamkan kode PHP yang akan dijalankan setiap kali halaman dikunjungi. Kode PHP yang anda interpretasikan pada web server dan akan menghasilkan output HTML atau lainnya yang akan dilihat langsung oleh pengunjung performa PHP sangat efisien , dengan menggunakan server tunggal yang tidak mahal, Anda dapat melayani jutaan hits perhari, Jika anda menggunakan sejumlah besar server komoditas , kapasitas anda secara efektif 21 akan menjadi tidak terbatas. 2.5.3 Structured Query Language (SQL) SQL merupakan singkatan dari Structured Query Language.SQL merupakan bahasa komputer standard ANSI ( American National Standard Institude ) 2.5.3.1Pengertian SQL dan MySQL SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis (Arienouvi, 2010). SQL adalah bahasa standar yang digunakan untuk mengakses database server yang telah diadopsi dan digunakan sebagai standar industri . MySQL adalah multiuser database yang menggunakan bahasa Structured Query Language (SQL) yang mampu menangani data yang cukup besar . 2.5.4 XAMPP XAMPP adalah sebuah tool yang menyediakan kumpulan perangkat lunak ke dalam satu buah paket (Setiawan, 2007). Dengan tool XAMPP ini maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP mengkonfigurasikannya secara otomatis. akan menginstalasi dan 22 Terdapat beberapa versi dari XAMPP yang dapat digunakan dari keluaran lama sampai paling baru. Didalam penggunaannya dapat memilih versi yang dirasa paling stabil. 2.5.5 Apartemen Pengertian apartemen menurut pasal 1 UURS no.16 tahun 1985: “ Rumah susun adalah gedung bertingkat yang dibangun dalam suatu lingkungan,terbagi atas bagian-bagian yang distrukturkan secara fungsional dalamarah vertikal dan horizontal dan merupakan satuan-satuan yang dapat dimiliki dan digunakan secara terpisah, yang dilengkapi dengan bagian bersama,tanah bersama dan benda bersama” (Manurung, 2009). Apartemen dibagi dua macam, yaitu apartemen nonsubsidi dan apartemen bersubsidi. Apartemen nonsubsidi adalah apartemen yang pembelinya tidak mendapatkan subsidi pemerintah.Apartemen nonsubsidi diperuntukan bagi semua orang dari berbagai golongan, khususnya bagi orang-orang dari kalangan menengah ke atas. 2.5.6 Pengertian Sistem Informasi Penjualan dan Pembelian Penjualan dan pembelian barang merupakan suatu transaksi yang melibatkan minimal dua orang atau lebih (RACHMAT, 2011) . Penjualan merupakan salah satu fungsi dari pemasaran atau merupakan bagian dari kegiatan pemasaran. Pengertian penjualan menurut adalah sebagai berikut: 23 “…Penjualan adalah jumlah seluruh barang-barang yang merupakan usaha pokok dari perusahaan jika perusahaan itu merupakan perusahaan dagang, maka sales penjualan itu adalah hasil penjualan barang-barang dagangan yang dijual oleh perusahaan tersebut.” Pembelian merupakan salah satu fungsi dari pembelanjaan atau merupakan kegiatan dari pembelanjaan. Pengertian pembelian menurut adalah sebagai berikut: “…Pembelian dalam suatu perusahaan adalah membeli aktiva produksi untuk digunakan dalam kegiatan perusahaan yang digunakan untuk mencatat pembelian barang dagangan selama satu periode dan hanya digunakan untuk mencatat pembelian barang dagangan.”