BAB 2 LANDASAN TEORI 2.1 Teori Umum Pada teori umum ini disajikan teori yang relevan, lengkap dan urut sejalan dengan permasalahan. Teori umum ini dikemukakan dari sumber teori dan hasil penelitian. Teori - teori yang akan dibahas antara lain : 2.1.1 Pengertian Data Dalam pendekatan basis data tidak hanya berisi basis data itu sendiri tetapi juga termasuk definisi atau deskripsi dari data yang disimpan. Menurut Kamus Besar Bahasa Indonesia pengertian data adalah keterangan yang benar dan nyata. Atau keterangan atau bahan nyata yang dapat dijadikan bahan kajian (analisis atau kesimpulan). Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna (Connoly & Begg, 2005, p19). Data adalah komponen yang paling penting dalam DBMS dari sudut pandang end-user. 2.1.2 Pengertian Basis Data Basis data adalah kumpulan data yang terhubung secara logikal, dan deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (Connoly & Begg, 2005, p15). Sedangkan Menurut Whitten, Bently & Dittman (2004, p518) basis data adalah kumpulan file yang saling terkait. 7 8 Jadi basis data adalah kumpulan data yang telah terorganisasi secara menyeluruh sehingga memiliki koneksi logis dan diterapkan secara sistematis di dalam komputer. 2.1.3 Pengertian Sistem Basis Data Sistem basis data adalah komponen pokok dari sebuah sistem informasi dan perkembangan serta penggunaan basis data harus dilihat dari sudut pandang kebutuhan perusahaan (Connoly & Begg, 2005, pg283). 2.1.4 Pengertian Database Management System (DBMS) Database Management System (DBMS) adalah sebuah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. Fasilitas yang disediakan DBMS, yaitu: Akses kontrol ke basis data, meliputi: - A security system (Sistem Keamanan), sistem ini untuk mencegah pengguna yang tidak mempunyai hak akses untuk memasuki basis data. - A Integrity System (Sistem Integritas), sistem ini untuk menjaga konsistensi data yang disimpan dalam basis data. - A Concurrency System (Sistem Akses Kontrol bersama), sistem ini untuk mengizinkan akses basis data secara bersamaan. 9 - A Recovery Control System (Kontrol sistem perbaikan), sistem ini berguna untuk mengembalikan basis data ke kondisi sebelumnya setelah terjadi kegagalan perangkat lunak atau perangkat keras. 2.1.4.1 Fungsi DBMS Fungsi yang disediakan DBMS Menurut Connolly dan Begg (2005, p48) yaitu : 1. Data storage, retrival dan update DBMS memiliki pengguna dengan kemampuan untuk menyimpan, mengambil dan mengubah data di dalam basis data. 2. A user- accessible catalog DBMS memiliki katalog untuk mengambarkan data yang disimpan dan dapat diakses oleh pengguna. 3. Transaction support DBMS memiliki mekanisme yang akan memastikan apakah semua perubahan sesuai dengan transaksi yang dilakukan atau tidak. 4. Concurrency control services DBMS harus memiliki sebuah mekanisme yang menjamin basis data dapat di-update ketika banyak user meng-upload basis data secara bersamaan. 5. Recovery services 10 DBMS harus memiliki mekanisme untuk memperbaiki basis data apabila terjadi kesalahan atau kerusakan. 6. Authorization services DBMS harus memiliki mekanisme untuk memastikan bahwa hanya pengguna yang memiliki hak untuk mengakses basis data. 7. Support for data communication DBMS harus dapat terintegrasi dengan perangkat lunak komunikasi. 8. Integrity service DBMS harus memberikan cara untuk memastikan data di dalam basis data dan perubahan - perubahan mengikuti aturan - aturan tertentu. 9. Services to promote data independence DBMS harus mencakup fasilitas untuk mendukung independensi program dari struktur aktual basis data. 10. Utility service DBMS harus menyediakan satu set fasilitas pelayanan. 2.1.4.2 Structure Query Language (SQL) Structure query language (SQL) adalah bahasa basis data relational yang paling populer dan yang memungkinkan para pengguna untuk melakukan berbagai pencarian rumit dengan 11 perintah yang relatif sederhana (Turban, Rainer, Potter, 2005:p637). SQL memiliki dua komponen utama, yaitu: 1. Data Definition Language (DDL) Digunakan untuk menentukan struktur basis data dan mengontrol akses ke data. Perintah SQLnya, yaitu: a. CREATE TABLE : untuk membuat tabel. b. ALTER TABLE : untuk menambah atau memindahkan kolom, menambah atau menghapus table constraint, menentukan atau menghapus default kolom. c. DROP TABLE : untuk menghapus tabel. d. CREATE VIEW : untuk membuat view. e. DROP VIEW : untuk menghapus view. 2. Data Manipulation Language (DML) Digunakan untuk me-retrieve dan meng-update data. Perintah SQLnya, yaitu: a. SELECT : untuk memilih data dalam database. b. INSERT : untuk memasukkan data ke dalam tabel. c. UPDATE : untuk memperbaharui data dalam tabel. d. DELETE : untuk menghapus data dalam tabel. Menurut Connoly & Begg (2005, p19) terdapat 5 komponen utama dalam lingkungan DBMS, yaitu: 12 Gambar 2.1 DBMS Environment Keterangan : a. Perangkat keras (Hardware) Perangkat keras dapat berubah single personal computer, single mainframe, dan sebuah komputer jaringan. Penggunaan perangkat keras tergantung pada kebutuhan organisasi dan DBMS yang digunakan. b. Perangkat lunak (Software) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi (OS), termasuk perangkat lunak untuk jaringan jika DBMS digunakan melalui sebuah jaringan. c. Data Komponen yang paling penting dalam DBMS berasal dari sudut pandang end user yaitu data. Data bertindak sebagai jembatan manusia. yang menghubungkan antara mesin dengan 13 d. Prosedur Prosedur menunjuk pada instruksi-instruksi dan aturan-aturan yang mengatur desain dan kegunaan dari basis data. e. Pemakai (people) Menurut Connolly dan Begg (2005, p22) Ada 4 kelas pengguna dalam penggunaan DBMS, yaitu: 1. Data Administrator (DA) dan Database Administrator (DBA) Bertanggung jawab atas sumber data termasuk perencanaan basis data, pengembangan dan pemeliharaan, prosedur, dan konseptual / logikal desain basis data dan Database Administrator (DBA) bertanggung jawab atas hubungan (relasi) fisik basis data, meliputi rancangan fisikal basis data dan implementasi, keamanan dan pengaturan integritas, menjaga sistem operasional, dan memastikan kinerja aplikasi untuk kepuasan pengguna. 2. Database Designers Perancang basis data logikal berhubungan dengan identifikasi data termasuk entitas dan atribut, relasi antara data, dan batasan pada data untuk disimpan di basis data. 14 3. Application Developer Bertanggung jawab untuk mengimplementasikan program aplikasi yang menyediakan syarat fungsionalitas untuk pengguna terakhir. 4. End - Users End users adalah clients dari basis data, atau relasi basis data yang dirancang, diimplementasikan dan dijaga untuk kepentingan informasi mereka. 2.1.4.3 Keuntungan dan Kerugian DBMS 2.1.4.3.1 Keuntungan DBMS Menurut Connolly dan Begg (2005:25-29), keuntungan dari penggunaan DBMS yaitu: 1. Mengurangi data yang redundansi 2. Menghindari ketidak konsistenan data 3. Memiliki banyak informasi 4. Pelaksanaan standardisasi 5. Keamanan terjamin 6. Integritas data terpelihara 7. Memiliki layanan back up dan recovery yang baik 8. Penggunaan data bersama 9. Increased concurrency 10. Improved data accessibility and responsiveness 15 11. Meningkatkan produktifitas 2.1.4.3.2 Kerugian DBMS Menurut Connolly dan Begg (2005:29-30), adapun kerugian dari DBMS meliputi: 1. Kompleksitas 2. Memerlukan biaya yang mahal 3. Memerlukan perangkat lunak yang sangat besar 4. Perubaham sistem dari sistem yang lama ke sistem yang baru dapat membawa pengaruh besar kepada perusahaan apabila terjadi kegagalan 5. Performa sistem dapat tidak sesuai dengan keinginan 6. Biaya konversi yang tinggi 2.1.5 Siklus Hidup Basis Data Siklus hidup basis data merupakan bagian penting bagi sistem informasi perusahaan, dengan demikian pembuatan aplikasi basis data sering dihubungkan dengan daur pembuatan dalam sistem informasi (Connolly dan Begg, 2005, p283). Skema siklus hidup basis `data dapat dilihat pada gambar 2.2 16 Gambar 2.2 Siklus Hidup Basis Data 2.1.5.1 Perencanaan Basis Data (Database Planning) Perencanaan basis data adalah kegiatan manajemen yang memungkinkan tahapan dari siklus hidup pengembangan sistem basis data yang dapat direalisasikan seefisien dan seefektif mungkin (Connolly dan Begg, 2005, p285). Sedangkan menurut Taylor 2011, p193 perencanaan basis data adalah suatu perencanaan sebelum memulai mengkontruksikan basis data, harus mempunyai ide yang jelas atau sistem konseptual yang telah di modelkan. 17 2.1.5.2 Definisi Sistem (Systems Definition) Definisi sistem adalah ruang lingkup dan batasan - batasan dari aplikasi basis data dan tampilan untuk pengguna utama (Connolly dan Begg, 2005, p286). 2.1.5.3 Analisis dan Pengumpulan Kebutuhan (Requirement Collection and Analysis) Analisis dan pengumpulan kebutuhan adalah proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang akan didukung oleh sistem basis data, dan menggunakan informasi ini untuk mengidentifikasi persyaratan sistem yang baru (Connolly dan Begg, 2005, p288). 2.1.5.4 Desain Basis Data (Database Design) Desain basis data adalah suatu proses menciptakan perancangan untuk basis data yang akan mendukung keseluruhan operasi dan tujuan-tujuan perusahaan (Connolly dan Begg, 2005, p291). Sedangkan menurut Chapple (2008, p64) desain basis data adalah setelah penulis menormalisasi desain dan memerlukan entity relationship diagram ke dalam SQL server untuk merancang basis data. 2.1.5.5 Seleksi DBMS (DBMS Selection) Seleksi DBMS adalah pemilihan suatu DBMS yang tepat untuk mendukung sistem basis data. Berikut ini adalah langkah- 18 langkah untuk seleksi pemilihan DBMS (Connolly dan Begg, 2005, p295). a. Mendefinisikan kriteria berdasarkan spesifikasi kebutuhan pemakai. b. Menentukan beberapa produk DBMS. c. Mengevaluasi produk-produk DBMS tersebut. d. Merekomendasikan produk DBMS. 2.1.5.6 Desain Aplikasi (Application Design) Desain aplikasi adalah mendesain tampilan pengguna dan program aplikasi yang menggunakan dan memproses basis data (Connolly dan Begg, 2005, p299). Sedangkan menurut Oppel (2010, p82) desain aplikasi adalah bagian kontruksi dari permulaan suatu aplikasi yang dapat menemukan kegunaan untuk mengartikan suatu kerangka disetiap proyek yang diminta. 2.1.5.7 Prototipe (Prototyping) Prototipe adalah membangun model kerja dari sistem basis data (Connolly dan Begg, 2005, p304). Sedangkan menurut Richie (2008, p5) prototipe adalah proses mendasar dari mengembangkan sistem secara penuh pada langkah investigasi, merancang impelementasi dan tiap perancangan menyajikan impelementasi parsial yang mana menunjukkan rancangan dan mendemonstrasikan sistem ke pengguna. 19 2.1.5.8 Implementasi (Implementation) Implementasi adalah realisasi fisik dari desain basis data dan aplikasi (Connolly dan Begg, 2005, p304). Sedangkan menurut Agarwal dan Huddleston (2008, p28) implementasi adalah proses dari tahapan yang dapat dibagi menjadi tahap - tahap kecil, harus menyelesaikan setiap tahap dan dapat meneruskan tahap selanjutnya. 2.1.5.9 Konversi Data dan Pemuatan (Data Loading And Convertion) Konversi data dan pemuatan adalah mentransfer data yang ada ke dalam basis data baru dan mengkonversi setiap aplikasi yang ada untuk berjalan di basis data baru (Connolly dan Begg, 2005, p305). Sedangkan menurut Giachetti (2010, p411) konversi data dan pemuatan adalah skema perbedaan antara sistem yang baru dan yang lama, serta memiliki pengaruh pada konversi yang dianalisis dan disetujui pada konversi data yang dibuat. 2.1.5.10 Pengujian (Testing) Pengujian adalah proses menjalankan sistem basis data dengan maksud menemukan kesalahan (Connolly dan Begg, 2005, p305). 2.1.5.11 Pemeliharaan Operasional (Operational Maintenance) Pemeliharaan operasional adalah proses pemantauan dan pemeliharaan sistem basis data serta instalasi (Connolly dan Begg, 2005, p305). 20 2.1.6 Entity Relationship Modeling Entity Relationship Modeling adalah pendekatan perancangan basis data top down yang dimulai dengan mengidentifikasi data yang penting dan data tersebut harus dipresentasikan dalam model (Connolly dan Begg, 2005, p342). 2.1.6.1 Tipe Entitas Tipe entitas adalah kumpulan dari obyek dengan sifat yang sama, yang diidentifikasi oleh perusahaan yang mempunyai eksistensi yang independen (Connolly dan Begg, 2005, p343). Seperti yang terlihat pada Gambar 2.3 Entitas Kuat Entitas Lemah States Client sds {PK} ClientNo fname lName telNo Preferences PrefType MaxRent Gambar 2.3 Contoh Tipe Entitas Entitas kuat adalah entitas yang keberadaannya tidak bergantung dengan entitas lain. Karakter entitas ini adalah bahwa setiap kejadian entitas teridentifikasi secara unik menggunakan atribut primary key. Tipe entitas kuat biasa disebut parent atau 21 owner domain. Sedangkan entitas lemah adalah entitas yang keberadaanya bergantung dengan entitas lain. Karakter entitas ini adalah bahwa setiap kejadian entitas tidak dapat teridentifikasi secara unik hanya dengan menggunakan atribut yang berhubungan dengan entitas tersebut. Tipe entitas lemah biasa disebut dengan child, dependent dan subordinate (Connolly dan Begg, 2005, p354). 2.1.6.2 Tipe Relasi Tipe relasi adalah sekumpulan hubungan antara satu atau lebih tipe entitas yang saling berhubungan (Connolly dan Begg, 2005, p346). 2.1.6.3 Atribut Atribut adalah sifat - sifat dari sebuah entitas atau tipe relasi. Setiap atribut boleh memiliki sebuah nilai yang disebut domain. Atribut domain adalah kumpulan dari nilai yang diperbolehkan untuk satu atau lebih atribut (Connolly dan Begg, 2005, p350). 2.1.6.4 Keys Candidate key adalah sejumlah atribut yang secara unik dapat mengidentifikasi suatu entitas. Primary key adalah sebagai candidate key yang dipilih secara unik dan dapat mengidentifikasi setiap peristiwa dari sebuah tipe entitas. Composite key adalah sebagai candidate key ang terdiri atas dua atau lebih atribut. Foreign key adalah sembarang atribut pada primary key pada table 22 berikutnya yang berfungsi menghubungkan antar tabel apabila sebuah primary key terhubung dengan tabel berikutnya (Connolly dan Begg, 2005, p352). Primary key adalah suatu nilai yang bersifat unik (tidak ada yang kembar) sehingga dapat digunakan untuk membedakan suatu baris yang lain dalam sebuah tabel. Foreign key adalah sembarang kolom yang menunjuk ke kunci primer milik tabel lain. 2.1.6.5 Batasan Struktural Multiplicity adalah jumlah kejadian yang mungkin terjadi pada sebuah entitas yang berhubungan ke sebuah occurrence dari tiap entitas lain pada suatu relasi (Connolly dan Begg, 2005, p356). Menurut Connolly dan Begg 2005, p356 ada tiga macam hubungan binary secara umum, yaitu : a. Derajat hubungan one-to-one (1:1) Derajat hubungan terjadi apabila tiap anggota suatu entitas hanya boleh berpasangan dengan satu anggota dari entitas yang lain. Begitu juga sebaliknya, anggota dari entitas yang lain hanya boleh mempunyai satu anggota dari entitas tersebut. 23 Gambar 2.4 Multiplicity dengan Tipe Relasi (1:1) b. Derajat hubungan one-to-many (1:*) Derajat hubungan (1:*) terjadi apabila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas yang lain. Begitu juga sebaliknya, anggota dari entitas yang lain hanya boleh berpasangan dengan satu anggota dari entitas tersebut. Gambar 2.5 Multiplicity dengan Tipe Relasi (1:*) 24 c. Derajat hubungan many-to-many (*:*) Derajat hubungan (*:*) terjadi apabila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas lain dan juga entitas yang lain memiliki lebih dari satu anggota dari entitas tersebut. Gambar 2.6 Multiplicity dengan Tipe Relasi (*:*) 2.1.6.6 Normalisasi Normalisasi adalah sebuah teknik untuk menghasilkan sejumlah relasi dengan atribut-atribut berdasarkan kebutuhan data pada sebuah perusahaan (Connolly dan Begg, 2005, p388). Tujuan normalisasi adalah mengatur kembali basis data untuk dimasukkan ke dalam form standar untuk mencegah anomali (Stephens, 2009, p61). A. Tahap - Tahap Normalisasi Menurut Connolly dan Begg (2005, p401) bentuk proses normalisasi dapat dijelaskan sebagai berikut : 25 a. Unnormalized Form (UNF) Unnormalized adalah sebuah relation yang mengandung satu atau lebih repeating groups. Repeating group adalah sebuah atribut atau himpunan didalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut. b. First Normal Form (INF) Sebuah relation dimana hubungan antara tiap baris dan kolom terdiri dari hanya satu nilai. Kondisi 1NF terjadi jika pada sebuah relasi, repeating group sudah hilang. Langkah-langkah untuk menghilangkan repeating group pada tabel, yaitu: 1. Dengan memasukkan data dari baris yang mengandung data berulang ke dalam kolom yang kosong. 2. Dengan menempatkan data yang berulang bersama primary key didalam atribut pada relasi yang terpisah. c. Second Normal Form (2NF) Sebuah relation yang sudah menjadi bentuk 1NF, dimana setiap atribut non primary key mempunyai ketergantungan primary key. functionaly dependency pada 26 d. Third Normal Form (3NF) Sebuah relation yang sudah menjadi bentuk 1NF dan 2NF, dimana tidak ada atribut non primary key mempunyai ketergantungan transitif dependency pada primary key. 2.1.7 Metodologi Perancangan Basis Data Perancangan basis data adalah proses pembuatan sebuah rancangan untuk sebuah basis data yang mendukung operasi tujuan dari perusahaan (Connolly dan Begg, 2005, p438). Metodologi perancangan basis data dibagi menjadi tiga tahapan utama (Connolly dan Begg, 2005, p439), yaitu : 1. Perancangan Basis Data Konseptual Perancangan basis data konseptual adalah proses untuk membuat sebuah model dari informasi yang digunakan dalam suatu perusahaan, yang berdiri sendiri tanpa memperhatikan konsep physical design (Connolly dan Begg, 2005, p442). Tahapan yang dilakukan dalam conceptual database design adalah membangun model data konseptual lokal untuk setiap view, yang dapat diuraikan sebagai berikut : 27 • Menentukan tipe entity Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user. • Menentukan tipe relationship Mengidentifikasi hubungan - hubungan yang penting antara tipe - tipe entity yang telah diidentifikasikan. • Menentukan dan menghubungkan atribut dengan entity (relationship) Menentukan atribut - atribut apa saja yang terdapat dalam suatu entity. • Menentukan atribut domain Menentukan domain - domain pada setiap atribut yang ada di dalam model. • Menentukan atribut candidate dan primary key Menentukan candidate key dari suatu entity yang kemudian akan dipilih sebua primary key dari candidate key yang ada. • Mempertimbangkan penggunaan enhanced modeling concepts Mempertimbangkan perlu tidaknya menggunakan konsep model specialization atau generalisasi, aggregation dan composition. 28 • Cek model untuk redundansi Memeriksa model data konseptual lokal dengan spesifik obyek dari pengidentifikasian walaupun ada beberapa redundansi dan kemudian menghilangkan redundansi tersebut. • Validasi model konseptual lokal dengan transaksi user Memeriksa apakah model konseptual lokal sudah dapat memenuhi segala transaksi yang dilakukan user, jika masih ada transaksi yang tidak dapat dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu. • Review model dan konseptual lokal dengan user. Melakukan pemeriksaan ulang dengan user untuk memastikan apakah model konseptual ini sudah sesuai. 2. Perancangan Basis Data Logikal Perancangan basis data logikal adalah proses membangun model dari informasi yang digunakan di perusahaan berdasarkan pada model data tertentu tetapi bebas dari DBMS tertentu dan pertimbangan fisik lainnya (Connolly dan Begg, 2005, p462). Langkah-langkah dalam metodologi perancangan basis data logikal sebagai berikut: 29 - Menghapus fitur yang tidak sesuai dengan relational model. Menghilangkan relasi binary many-to-many, relasi rekursif many-to-many, relasi kompleks dan atribut multi valued. - Membuat Hubungan untuk Model Data Logikal Lokal. Membuat hubungan model data logikal lokal untuk mempresentasikan entity, relationship dan atribut yang telah diidentifikasi. - Validasi relasi-relasi menggunakan normalisasi Normalisasi digunakan untuk meyakinkan suatu resultant model. Resultant model adalah model yang sudah kosisten, redundansinya sudah minimal dan stabilitasnya sudah maksimum. - Validasi relasi-relasi dengan transaksi user Memeriksa relasi yang telah dibuat pada tahap sebelumnya apakah mendukung transaksi ini, untuk memastikan tidak ada kesalahan selama membuat relasi-relasi. - Menentukan integrity constraint Mendefinisikan batasan-batasan yang meliputi required data, attribute domain constraint, entity integrity, refential integrity dan enterprise integrity. - Review logical model data lokal dengan user 30 Memeriksa kembali model logikal dan menyediakan dokumentasi untuk user. Menggabungkan model data logikal lokal ke dalam model global. Langkah-langkah untuk membuat dan memvalidasi model data logikal global. • Menggunakan ERD, skema relasional, kamus data dan dokumentasi yang mendukung untuk mengidentifikasi persamaan dan perbedaan antara model – model dan juga membantu untuk menggabungkan model – model tersebut. • Memvalidasi model data logikal global Memvalidasi relasi yang telah dibuat dari model data logikal global menggunakan teknik normalisasi dan meyakinkan relasi tersebut mendukung kebutuhan transaksi yang ada. • Cek untuk perkembangan selanjutnya Menentukan apakah akan sering terjadi perubahan yang drastis di masa yang akan datang dan menilai apakah model data logikal global ini dapat mengakomodasi perubahan yang terjadi. • Review logical data model global dengan user 31 Melakukan pemeriksaan kembali dengan user untuk menentukan apakah model ini sudah sesuai dengan representasi perusahaan. 3. Perancangan Basis Data Fisikal Perancangan basis data fisikal adalah proses membuat deksripsi dari suatu basis data pada media penyimpanan yang mencakup tabel dasar, file organisasi dan indeks - indeks yang digunakan untuk mengatur akses suatu data dan tingkat keamanan pada basis data tersebut (Connolly dan Begg, 2005, p495). Tahapan yang dilakukan dalam perancangan basis data fisikal adalah sebagai berikut : • Menerjemahkan model data logikal global untuk target DBMS, yang dapat diuraikan sebagai berikut : • - Merancang relasi-relasi dasar - Merancang representasi dari data yang diturunkan - Merancang enterprise constraints Merancang representasi fisikal, yang dapat diuraikan sebagai berikut : • - Menganalisa transaksi - Memilih organisasi file - Memilih indeks-indeks - Memperkirakan kebutuhan disk space Merancang user view 32 • Merancang mekanisme keamanan • Mempertimbangkan pengenalan dari kontrol redundansi • Memonitor dan menjelaskan sistem operasional 2.1.8 Data Flow Diagram (DFD) Data Flow Diagram (DFD), adalah sebuah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut (Whitten et al.,2004, p326). Simbol-simbol yang digunakan dalam DFD adalah : 1. Process adalah suatu respons terhadap aliran data masuk atau sebagai kondisi. Gambar 2.5 Simbol Process 2. Data flow menunjukkan input data ke proses atau output data dari proses. Data flow digunakan untuk menunjukkan pembuatan, pembacaan, penghapusan atau pembaruan data dalam file atau database. Gambar 2.6 Simbol Data flow 3. External Agent adalah mendefinisikan orang, unit organisasi, sistem, atau organisasi luar yang berinteraksi dengan sistem. 33 Gambar 2.7 Simbol External Agent 4. Data Store adalah penyimpanan data yang ditujukan untuk kegunaan selanjutnya. Sinonimnya adalah file dan database. Gambar 2.8 Simbol Data Store 2.1.9 State Transition Diagram (STD) State Transition Diagram adalah sebuah modeling tools yang menggambarkan ketergantungan waktu pada sistem real time dan human. Notasi yang paling penting dari STD adalah : 1. State adalah suatu keadaan atau atribut-atribut yang mencirikan benda atau orang pada keadaan, waktu dan kondisi tertentu. 34 Gambar 2.9 Notasi State 2. Transaction State menunjukkan perubahan state ditandakan dengan tanda panah. Aksi Kondisi Gambar 2.10 Notasi Transaction State 2.2 Teori Pendukung Pembahasan pada teori pendukung adalah pembahasan yang berhubungan dengan topik yang dibahas pada pembuatan skripsi. 2.2.1 Definisi Penjualan Penjualan adalah konsep lugas yang diantaranya berupa usaha membujuk pelanggan untuk membeli sebuah produk (Westwood, 2011, p4). 2.2.2 Definisi Pembelian Sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahan (Mulyadi, 2001, p299). Tujuan dari kegiatan pembelian, adalah: a. Mengembangkan, mengevaluasi dan menentukan pemasok, harga dan pengiriman yang terbaik bagi barang dan jasa tersebut. 35 b. Membantu mengidentifikasi produk dan jasa yang diperoleh secara eksternal. Hal-hal yang perlu diperhatikan dalam proses pembelian, yaitu: Kualitas Harga Waktu proses Pengawasan sangat perlu dilakukan terhadap pelaksanaan proses pembelian ini, karena proses pembelian menyangkut dana dalam persediaan dan kelancaran arus barang ke dalam perusahaan. 2.2.3 Definisi Persediaan Persediaan adalah stok barang yang digunakan untuk mendukung produksi, mendukung aktivitas dan juga melayani pelanggan (Kerber dan Dreckshage, 2011, p108). Menurut (Rudianto 2006, p16-17) ada tiga jenis persediaan : Persediaan Bahan Baku Bahan dasar yang menjadi komponen utama dari suatu produk Persediaan Barang dalam Proses Bahan baku yang telah diproses untuk diubah menjadi barang jadi, tetapi sampai pada akhir suatu periode tertentu, belum selesai proses produksinya. Persediaan Barang jadi 36 Bahan baku telah diproses menjadi produk jadi yang siap pakai dan siap dipasarkan. 2.2.4 SQL Server Management Studio SQL Server Management Studio adalah program yang dibuat oleh Microsoft untuk membantu pengguna maupun admin dalam melakukan tugas - tugas yang berhubungan dengan server basis data (Wahana Komputer, 2010, p40). 2.2.5 Visual Basic .Net (disingkat Vb.NET) VB.NET adalah merupakan sebuah bahasa pemrograman yang menawarkan Integrated Development Environment (IDE) visual untuk membuat program prangkat lunak berbasis sistem operasi microsoft windows dengan menggunakan model pemrograman.