BAB II LANDASAN TEORI 2.1 Memo Memo merupakan pesan ringkas, yakni pesan yang ditulis seseorang dengan singkat, jelas, dan mudah untuk dipahami. Menurut pemakaiannya, memo ada yang bersifat resmi dan bersifat pribadi (tidak resmi). Memo bersifat resmi dipakai sebagai surat pernyataan dalam hubungan resmi dari seorang pimpinan kepada bawahannya. Memo bersifat pribadi dipakai sebagai nota atau surat pernyataan tidak resmi antar teman, saudara, atau orang lain yang memiliki hubungan akrab. (Adiyatma, 2012) 2.2 Sistem Beberapa definisi sistem secara umum dapat dijelaskan sebagai berikut (Hanif Al Fatta, 2007 :3) : 1. Kumpulan dari bagian bagian yang bekerja sama untuk mencapai tujuan yang sama. 2. Sekumpulan objek objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai satu tujuan. Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variable variable yang saling terorganisir, saling berinteraksi dan saling bergantung sama lain. 7
2.3 Sistem Informasi Suatu sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain, yang berfungsi bersama sama untuk mencapai tujuan tertentu. Suatu sistem dibuat untuk menangani sesuai yang berulang kali atau yang secara rutin terjadi. Pendekatan sistem merupakan suatu filsafat atau persepsi tentang struktur yang mengkoordinasikan kegiatan kegiatan dan operasi operasi dalam suatu organisasi dengan cara efisien dan yang paling baik. (Tata Sutabri 2011) 2.4 PHP PHP adalah bahasa pemrograman yang digunakan secara luas untuk penanganan pembuatan dan pembuatan dan pengembangan sebuah web dan bisa digunakan pada HTML. PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada homepagenya. Diawal Januari 2001, PHP telah dipakai lebih dari 5 juta domain diseluruh dunia, dan akan terus bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasa Server side yang lain. (Andri Kristanto 2010). 2.5 Xampp Menurut Bunafit Nugroho (2008:2) XAMPP adalah satu bundle web server yang populer digunakan untuk coba coba di Windows karena kemudahan instalasinya. Bundel program open source tersebut berisi antara lain server web Apache, Interpreter PHP dan basis data MySQL. Setelah menginstall XAMPP, kita bisa memulai pemrograman PHP di computer sendiri maupun mencoba menginstall aplikasi aplikasi web. 8
2.6 MySQL Pengertian MySQL menurut Abdul Kadir (2009:15), MySQL merupakan software yang tergolong database server dan bersifat Open Source. Open Source menyatakan bahwa software ini dilengkapi dengan source code (kode yang dipakai untuk membuat MySQL), selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara mengunduh di Internet secara gratis. MySQL dibuat sekitar tahun 1994/1995 dan dikembangkan oleh sebuah perusahaan di Swedia yang bernama MySQL AB dengan istilah T.c.X DataKonsult AB. Tujuannya adalah untuk mengembangkan aplikasi web yang dimiliki kliennya. Saat itu Michael Widenus atau Monty merupakan satu satunya pengembang MySQL di T.c.X yang dimiliki aplikasi UNIREG dan rutin ISAM. Dia membuat sendiri aplikasi tersebut dan mengembangkan interface (antarmuka) SQL untuk dijalankan pada MySQL. Pada awalnya T.c.X menggunakan msql atau mini SQL, namun ternyata tidak terlalu cepat dan fleksibel. Bahkan versi pertamanya tidak memiliki index, sehingga Ia memutuskan untuk membuat sendiri mesin SQL yang interfacenya seperti msql tetapi memiliki kemampuan yang lebih. MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang rekannya. Kemudian di bulan Oktober, vesi 3.1.1.0 dilepas ke masyarakat umum. [Haris Saputra Sugiri, 2008]. 2.7 Pengujian Black Box Pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian pengujian ini memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkapkan kesalahan daripada metode white box (Pressman, 2002). 9
Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut : 1. Fungsi yang salah atau hilang. 2. Kesalahan pada interface. 3. Kesalahan pada struktur data atau akses database. 4. Kesalahan performansi 5. Kesalaan inisialisasi dan tujuan akhir. 2.8 Flowmap Flowmap adalah penggambaran secara grafik dari langkah langkah dan urutan prosedur dari suatu program.flowmap berguna untuk membantu analis dan programer untuk memecahkan masalah kedalam segmen yang lebih kecil dan menolong dalam menganalisis alternatif pengoperasian.(abdulrahman, Materi Kuliah, 2010) 10
Simbol Flowmap adalah sebagai berikut :(Abdulrahman, Simbol Flowmap 2010): Tabel 2.1. Simbol Flowmap 2.9 Diagram Aliran Data (Data Flow Diagram) DFD atau Diagram Aliran Data merupakan diagram untuk menggambarkan aliran data dalam sistem, sumber, dan tujuan data, proses yang mengolah data tersebut, dan tempat penyimpanan datanya. Diagram Aliran Data diperkenalkan oleh Tom de Marco (1978) dan Chris Gane dan Trish Sarson (1977) berdasarkan notasi SADT (Structure Analysis and Design Technique).(Prasetyo Nugroho & Komala Ratna Sari, 2009) 11
Digram Aliran Data merupakan salah satu teknik yang cukup penting dalam menganalisis sistem, karena : 1. Dapat mendefinisikan batasan sistem dan proses-proses pengolahan data yang didalamnya. 2. Membantu memeriksa kebenaran dan kelengkapan aliran informasi. 3. Merupakan dasar perancangan dengan memunculkan proses-proses pengolahan data. 4. Dapat digunakan untuk menggambarkan aktivitas proses secara parallel (beberapa aliran data dapat terjadi secara simultan). (Prasetyo Nugroho & Komala Ratna Sari, 2009) Berikut ini adalah tahapan-tahapan perancangan dengan menggunakan DFD : a) Membuat DFD Level 0 atau sering disebut juga Context Diagram DFD Level 0 menggambarkan sistem yang akan dibuat sebagai suatu entitas tunggal yang berinteraksi dengan orang maupun sistem lain. DFD Level 0 digunakan untuk menggambarkan interaksi antara sistem yang akan dikembangkan dengan entitas luar. b) Membuat DFD Level 1 DFD Level 1 digunakan untuk menggambarkan modul-modul yang ada dalam sistem yang akan dikembangkan. c) Membuat DFD Level 2 Modul-modul pada DFD Level 1 dapat di-breakdown menjadi DFD Level 2. Apabila modul tersebut sudah cukup detail dan rinci maka modul tersebut sudah tidak perlu untuk di-breakdown lagi. Untuk sebuah sistem, jumlah DFD level 2 sama dengan jumlah modul pada DFD Level 1 yang di-breakdown. 12
d) Membuat DFD Level 3 dan seterusnya DFD Level 3,4,5 dan seterusnya merupakan breakdown dari modul pada DFD level di-atasnya. (Shalahuddin & A.S, 2013) Berikut adalah tabel yang menunjukkan notasi yang digunakan dalam DFD : Tabel 2.2. Notasi DFD (Prasetyo Nugroho & Komala Ratna Sari, 2009) DEMARCO/YOURDON Simbol Nama Simbol Aliran Data, aliran paket informasi dari satu bagian ke bagian sistem ke bagian sistem lainnya. Proses, transformasi bagaimana satu atau beberapa masukan diubah menjadi keluaran. Sumber/Tujuan Data, menggambarkan entitas yang berinteraksi dengan sistem yang berada di luar ruang lingkup sistem ( bukan yang menjalankan sistem tersebut) atau entitas yang berfungsi sebagai produser/konsumer dari sistem (sumber/tujuan data). Disebut juga dengan nama entitas eksternal, terminator, source atau sink. Penyimpanan Data (Data Store), tempat penyimpanan data atau tempat data yang dirujuk oleh proses. Pada kahir pembangunan sistem, data store biasanya diimplementasi sebagai file/basisdata. 13
2.10 Spesifikasi File (Struktur database) Struktur database diperlukan dalam perencanaan algoritma dan penyusunan program sebagai bagian dari database, dan merupakan dokumen yang menguraikan organisasi data di dalam file. (Yasin, 2013) Kamus data (data dictionary) dipergunakan untuk memperjelas aliran data yang digambarkan pada DFD. Kamus data adalah kumpulan daftar elemen data yang mengalir pada sistem perangkat lunak sehingga masukan (input) dan keluaran (output) dapat dipahami secara umum (memiliki standar cara penulisan). (Shalahuddin & A.S, 2013) 2.11 ERD (Entity Relationship Diagram) Diagram Entitas-Relasi atau Entity Relationship Diagram (ERD) adalah diagram yang menggambarkan keterhubungan antar data secara konseptual. Penggambaran keterhubungan antar data ini didasarkan pada anggapan bahwa dunia nyata terdiri dari kumpulan objek yang disebut entitas (entity), dan hubungan yang terjadi diantaranya yang disebut relasi (relationship).(prasetyo Nugroho & Komala Ratna Sari, 2009) Ada dua versi penggambaran ERD, yaitu versi Peter P. Chen(berikut variasi dan pengembangan-pengembangannya) dan versi James Martin. Notasi ERD yang digunakan oleh Peter P. Chen maupun James Martin ditunjukkan oleh Gambar 2.2 dan Gambar 2.3.(Prasetyo Nugroho & Komala Ratna Sari, 2009) Gambar 2.1 Notasi ERD versi Peter P. Chan 14
Gambar 2.2 Pengembangan notasi ERD versi Peter P. Chan Gambar 2.3 Notasi ERD versi James Martin Berikut ini penjelasan simbol yang digunakan : a) Entity Entitiy merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lainnya. b) Atribut Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan elemen satu dengan yang lain. c) Hubungan/Relasi Relasi didefinisikan sebagai hubungan yang terjadi antar entity. Representasi diagram relasi adalah sebuah garis lurus yang menghubungkan dua buah entity. 15
Jenis-jenis atau hubungan yang biasa terjadi antar satu entity dengan entity lain dalam sebuah basis data, meliputi : One to One / Satu ke Satu (1 : 1) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. One to Many / Satu ke Banyak (1 : *) Setiap entitas pada himpunan A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. Many to Many / Banyak ke Banyak (* : *) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B. (Yasin, 2013) 2.12 Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan kumpulan relasi dengan properti yang diinginkan untuk mengetahui kebutuhan data dalam organisasi. Tujuan dari normalisasi adalah untuk menghilangkan kerangkapan data, untuk mengurangi kompleksitas dan untuk mempermudah modifikasi data. Unnormalized Form (UNF) adalah tabel yang berisi satu atau lebih repeating group. Dari bentuk inilah dilakukan proses normalisasi. Bentuk normalisasi dapat dijelaskan sebagai berikut : a) Bentuk tidak normal (UNF) Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya. 16
b) Bentuk normal pertama (1NF) Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup mewakili oleh sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom). c) Bentuk normal kedua (2NF) Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer dan tergantung sepenuhnya terhadapt kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama. d) Bentuk normal ketiga (3NF) Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Dengan kata lain setiap atribut bukan kunci haruslah tergantung hanya primary key secara menyeluruh. e) Bentuk BCNF (Boyce-Codd Normal Form) BCNF adalah kasus khusus 3NF. Sebuah tabel/relasi berada dalam bentuk BCNF jika : Setiap penentu (determinan) pada tabel adalah sebuah kunci kandidat dan jika tabel hanya mengandung satu kunci kandidat maka bentuk 3NF sama dengan BNCF. (Yasin, 2013) 17