BAB II TINJAUAN PUSTAKA II.1. Pengertian Perancangan Model perancangan sesungguhnya adalah modal objek yang mendeskripsikan realisasi fisik use case dengan cara berfokus pada bagaimana spesifikasi-spesifikasi kebutuhan fungsional dan non-fungsional, bersama dengan batasan-batasan lain yang berhubungan dengan lingkungan implemenatasi, memiliki imbas langsung pada pertimbangan-pertimbangan pada aktivitasaktivitas yang dilakukan pada tahap implementasi. Tambahannya, model perancangan sesungguhnya secara langsung bertindak sebagai abstraksi implementasi sistem/perangkat lunak dan dengan sendirinya model perancangan suatu saat nanti akan menjadi asupan bagi aktivitas-aktivitas selanjutnya yang kelak akan terdefinisi pada tahap implementasi (Adi Nugroho ; 2010 : 212). II.2. Pengertian Sistem Informasi Sistem informasi bukan merupakan hal yang baru, yang baru adalah komputerisasinya. Sebelum ada komputer, teknik penyaluran informasi yang memungkinkan manajer merencanakan serta mengendalikan operasi telah ada. Komputer menambahkan satu atau dua dimensi, seperti kecepatan, ketelitian dan penyediaan data dengan volume yang lebih besar yang memberikan bahan pertimbangan yang lebih banyak untuk mengambil keputusan. 12 13 Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu (Tata Sutabri, 2012 : 38). II.3. Sistem Informasi Geografis Sistem Informasi Geografis (SIG) atau Geographic Informasi System (GIS) adalah sebuah sistem yang didesain untuk menangkap, menyimpan, memanipulasi, menganalisa, mengatur dan menampilkan seluruh jenis data geografis. Akronim GIS terkadang dipakai sebagai istilah untuk geographical information scirnce atau geospatial information studies yang merupakan ilmu studi atau pekerjaan yang berhubungan dengan Geographic Information System. Dalam artian sedrhana sistem informasi geografis dapat kita simpulkan sebagai gabungan kartografi, analisis statistic dan teknologi sistem basis data (database). (Edy Irwansyah ; 2013 : 1). Teknologi GIS mengintegrasikan operasi pengolahan data berbasis database yang biasa digunakan saat ini, seperti pengambilan data berdasarkan kebutuhan, serta analisis statistik dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mampu ditawarkan melalui analisis geografis melalui gambar-gambar petanya. Data yang diolah pada GIS ada 2 macam yaitu data geospasial atau yang biasanya disebut data spasial dan data non-spasial (atribut). Jika pada gambar diatas data atribut tidak digambarkan karena memang dalam GIS yang 14 dipentingkan adalah tampilan data secara spasial. Tetapi sebenarnya pada GIS kadang-kadang juga melibatkan data atribut baik secara langsung maupun secara tidak langsung ( Lisa Ambarwati ; 2013 : 2) II.4. Pengertian Exact String Matching Pengertian string menurut Dictionary of Algorithms and Data Structures, National Institute of Standards and Technology (NIST) adalah susunan dari karakter-karakter (angka, alfabet atau karakter yang lain) dan biasanya direpresentasikan sebagai struktur data array. String dapat berupa kata, frase, atau kalimat. Pencocokan string merupakan bagian penting dari sebuah proses pencarian string (string searching) dalam sebuah dokumen. Hasil dari pencarian sebuah string dalam dokumen tergantung dari teknik atau cara pencocokan string yang digunakan. Pencocokan string (string matching) menurut Dictionary of Algorithms and Data Structures, National Technology (NIST), diartikan sebagai Institute sebuah of Standards and permasalahan untuk menemukan pola susunan karakter string di dalam string lain atau bagian dari isi teks. Exact string matching, merupakan pencocokan string secara tepat dengan susunan karakter dalam string yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang sama. Contoh : kata step akan menunjukkan kecocokan hanya dengan kata step (Dewanta Andrico Kacaribu ; 2014 : 157-158). 15 II.5. Pengertian Google Maps Google Maps adalah sebuah jasa peta globalvirtual gratis dan online yang disediakan oleh perusahaan Google. Google maps yang dapat ditemukan ditemukan http://maps.google.com. Pada situs tersebut dapat dilihat informasi geografis pada hamper semua permukaan di bumi kecuali daerah kutub utara dan selatan. Layanan ini dibuat sangat interaktif, karena didalamnya peta dapat digeser sesuai keinginan pengguna, mengubah level zoom, serta mengubah tampilan jenis peta. Google Maps mempunyai banyak fasilitas yang dapat dipergunakan misalnya, pencarian lokasi dengan memasukkan kata kunci, kata kunci yang dimaksud seperti nama tempat, kota, atau jalan, fasilitas lainnya yaitu perhitungan rute perjalanan dari satu tempat ketempat lain. ( Faya Mahdia; 2013) Gambar II.1. Tampilan Google Maps (Sumber : ( Faya Mahdia; 2013) 16 II.6. Pengertian Macromedia Dreamweaver Macromedia Dreamweaver adalahdesain dan memprogram. sebuah software web design yang menawarkan cara mendesain website dengan dua langkah sekaligus dalam satu waktu , yaitu mendesain dan memprogram DreamWeaver memiliki satu jendela mini yang disebut HTML. Source, tempat kode-kode HTML ditulis setiap kali kita mendesain web, seperti menulis katakata, meletakkan gambar, membuat table dan proses lainnya, tag-tag HTML akan tertulis secara langsung mengiringi proses pengaturan website. Artinya kita memiliki kesempatan kita juga dapat mendesain website itu. Dilain kesempatan kita juga dapat mendesain website hanya dengan menulis tag-tag dan teks lain di jendela HTML Source dan hasilnya dapat dilihat langsung di layar. Jendela tersebut hanya merupakan salah satu kelebihan Dreamweaver. Selain itu dia mampu mengenali tag-tag lain diluar HTML, seperti Cold Fussion dan ASP, serta mendukung script-script dinamik HTML dan CSS yang ada di Dreamweaver ini. (M, Suyanto; 2009 : 2). 17 Gambar II.2. Tampilan Dreamweaver (Sumber : M, Suyanto; 2009 : 2) II.7. Pengertian PHP PHP singkatan dari PHP : Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (Server Side HTML Embedded Scripting). PHP adalah script yang digunakan untuk membuat halaman website yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru/up to date. Semua script PHP diesekusi pada server di mana script tersebut dijalankan. (Anhar ; 2010 : 3). 18 II.8. Pengertian Database Database adalah sekumpulan file data yang saling berhubungan dan diorganisasi sedemikian rupa sehingga memudahkan untuk mendapat dan memproses data. Lingkungan sistem database menekankan data yang tidak tergantung (idenpendent data) pada aplikasi yang akan menggunakan data. Data adalah kumpulan fakta dasar (mentah) yang terpisah. Sebuah database harus dibuat dengan rapi agar data yang dimasukkan sesuai dengan tempatnya. Sebagai contoh, di sebuah perpustakaan, penyimpanan buku dikelompokkan berdasar jenis atau kategori-kategori tertentu, misalnya kategori buku komputer, buku pertanian, dan lain-lain. Kemudian dikelompokkan lagi berdasarkan abjad judul buku, ini dilakukan agar setiap pengunjung dapat dengan mudah mencari dan mendapatkan buku yang dimaksud (Wahana Komputer ; 2010 ; 1). II.9. Pengertian MySQL MySQL adalah suatu sistem manajemen basis data relasional (RDBMS- Relational Database Management System) yang mampu bekerja dengan cepat, kokoh, dan mudah digunakan. Contoh RDBMS lain adalah Oracle, Sybase. Basis data memungkinkan anda untuk menyimpan, menelusuri, menurutkan dan mengambil data secara efesien. Server MySQL yang akan membantu melakukan fungsionaliitas tersebut. Bahasa yang digunakan oleh MySQL tentu saja adalah SQL-standar bahasa basis data relasional di seluruh dunia saat ini. 19 MySQL dikembangkan, dipasarkan dan disokong oleh sebuah perusahaan Swedia bernama MySQL AB. RDBMS ini berada di bawah bendera GNU GPL sehingga termasuk produk Open Source dan sekaligus memiliki lisensi komersial. Apabila menggunakan MySQL sebagai basis data dalam suatu situs Web. Anda tidak perlu membayar, akan tetapi jika ingin membuat produk RDBMS baru dengan basis MySQL dan kemudian mengualnua, anda wajib bertemu mudah dengan lisensi komersial (Antonius Nugraha Widhi Pratama ; 2010 : 10). Gambar II.3. Tampilan MySQL (Sumber : Antonius Nugraha Widhi Pratama ; 2010 : 10) II.10. Teknik Normalisasi Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu dalam merancang basis data relasional. Pada dasarnya, normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan 20 menghilangkan kelompok berulang lalu menghilangkan data yang terduplikasi dari tabel rasional. Teori normalisasi didasarkan pada konsep bentuk normal. Sebuah tabel relasional dikatakan berada pada bentuk normal tertentu jika tabel memenuhi himpunan batasan tertentu. Ada lima bentuk normal yang tekah ditemukan. II.10.1.Bentuk-bentuk Normalisasi 1. Bentuk normal tahap pertama (1” Normal Form) Contoh yang kita gunakan di sini adalah sebuah perusahaan yang mendapatkan barang dari sejumlah pemasok. Masing-masing pemasok berada pada satu kota. Sebuah kota dapat mempunyai lebih dari satu pemasok dan masing-masing kota mempunyai kode status tersendiri. 2. Bentuk normal tahap kedua (2nd normal form) Definisi bentuk normal kedua menyatakan bahwa tabel dengan kunci utama gabungan hanya dapat berada pada 1NF, tetapi tidak pada 2NF. Sebuah tabel relasional berada pada bentuk normal kedua jika dia berada pada bentuk normal kedua jika dia berada pada 1NF dan setiap kolom bukan kunci yang sepenuhnya tergantung pada seluruh kolom yang membentuk kunci utama. 3. Bentuk normal tahap ketiga (3rd normal form) Bentuk normal ketiga mengharuskan semua kolom pada tabel relasional tergantung hanya pada kunci utama. Secara definisi, sebuah tabel berada pada bentuk normal ketiga (3NF) jika tabel sudah berada pada 2NF dan setiap kolom yang bukan kunci tidak tergantung secara transitif pada kunci utamanya. 21 4. Boyce Code Normal Form (BCNF) Setelah 3NF, semua masalah normalisasi hanya melibatkan tabel yang mempunyai tiga kolom atau lebih dan semua kolom adalah kunci. Banyak praktisi berpendapat bahwa menempatkan entitas pada 3NF sudah cukup karena sangat jarang entitas yang berada pada 3NF bukan merupakan 4NF dan 5NF. 5. Bentuk Normal Tahap Keempat dan Kelima Sebuah tabel relasional berada pada bentuk normal keempat (4NF) jika dia dalam BCNF dan semua ketergantungan multivalue merupakan ketergantungan fungsional. Bentuk normal keempat (4NF) didasarkan pada konsep ketergantungan multivalue (MVD). Sebuah tabel berada pada bentuk normal kelima (5NF) jika ia tidak dapat mempunyai dekomposisi lossless menjadi sejumlah tabel lebih kecil. Empat bentuk normal pertama berdasarkan pada konsep ketergantungan fungsional, sedangkan bentuk normal kelima berdasarkan pada konsep ketergantungan gabungan (join dependence) (Janner Simarmata, 2010 : 76). II.11. Unified Modeling Language (UML) Menurut Windu Gata (2013 : 4) Hasil pemodelan pada OOAD terdokumentasikan dalam bentuk Unified Modeling Language (UML). UML adalah bahasa spesifikasi standar yang dipergunakan untuk mendokumentasikan, menspesifikasikan dan membangun perangkat lunak. 22 UML merupakan metodologi dalam mengembangkan sistem berorientasi objek dan juga merupakan alat untuk mendukung pengembangan sistem. UML saat ini sangat banyak dipergunakan dalam dunia industri yang merupakan standar bahasa pemodelan umum dalam industri perangkat lunak dan pengembangan sistem. Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan UML adalah sebagai berikut : - Diagram Urutan (Sequence Diagram) Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Simbol-simbol yang digunakan dalam sequence diagram, yaitu : Tabel II.1. Simbol Sequence Diagram Gambar Keterangan Entity Class, merupakan bagian dari sistem yang berisi kumpulan kelas berupa entitas-entitas yang membentuk gambaran awal sistem dan menjadi landasan untuk menyusun basis data. Boundary Class, berisi kumpulan kelas yang menjadi interface atau interaksi antara satu atau lebih aktor dengan sistem, seperti tampilan formentry dan form cetak. Control class, suatu objek yang berisi logika aplikasi yang tidak memiliki tanggung jawab kepada entitas, contohnya adalah kalkulasi dan aturan bisnis yang melibatkan berbagai objek. Message, simbol mengirim pesan antar class. Recursive, menggambarkan pengiriman pesan yang dikirim untuk dirinya sendiri. 23 Activation, activation mewakili sebuah eksekusi operasi dari objek, panjang kotak ini berbanding lurus dengan durasi aktivitas sebuah operasi. Lifeline, garis titik-titik yang terhubung dengan objek, sepanjang lifeline terdapat activation. (Sumber : Windu Gata ; 2013 : 7) Contoh dari pembuatan sequence diagram dapat dilihat pada gambar II.6 berikut : Gambar. II.4. Sequence Diagaram (Sumber : Windu Gata ; 2013 : 7) - Class Diagram (Diagram Kelas) Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan tanggng jawab entitas yang menentukan perilaku sistem. Class diagram juga menunjukkan atribut-atribut dan operasi-operasi dari sebuah kelas dan constraint yang berhubungan dengan objek yang dikoneksikan. Class diagram secara khas meliputi: Kelas (Class), Relasi, Associations, Generalization dan Aggregation, Atribut (Attributes), Operasi (Operations/Method), Visibility, tingkat akses objek eksternal kepada suatu 24 operasi atau atribut. Hubungan antar kelas mempunyai keterangan yang disebut dengan multiplicity atau kardinaliti. Tabel II.2. Multiplicity Class Diagram Multiplicity 1 0..* 1..* 0..1 n..n Penjelasan Satu dan hanya satu Boleh tidak ada atau 1 atau lebih 1 atau lebih Boleh tidak ada, maksimal 1 Batasan antara. Contoh 2..4 mempunyai arti minimal 2 maksimum 4 (Sumber : Windu Gata ; 2013 : 8) Contoh dari pembuatan use case diagram dapat dilihat pada gambar II.7 berikut : Gambar. II.5. Class Diagaram (Sumber : Windu Gata ; 2013 : 8) - Diagram Aktivitas (Activity Diagram) Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Simbol-simbol yang digunakan dalam activity diagram, yaitu : 25 Tabel II.3. Simbol Activity Diagram Gambar Keterangan Start point, diletakkan pada pojok kiri atas dan merupakan awal aktifitas. End point, akhir aktifitas. Activites, menggambarkan suatu proses/kegiatan bisnis. Fork (Percabangan), digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan pararel menjadi satu. Join (penggabungan) atau rake, digunakan untuk menunjukkan adanya dekomposisi. Decision Points, menggambarkan pilihan untuk pengambilan keputusan, true, false. New Swimline Swimlane, pembagian activity diagram untuk menunjukkan siapa melakukan apa. (Sumber : Windu Gata ; 2013 : 6) 26 Contoh dari pembuatan activity diagram dapat dilihat pada gambar II.5 berikut : Memasukkan Username Memasukkan Password invalid Menampilkan Pesan Error Valid Aktifkan Menu Administrator Gambar. II.6. Activity Diagaram (Sumber : Windu Gata ; 2013 : 6) - Use case Diagram Use case diagram merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dapat dikatakan use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Simbol-simbol yang digunakan dalam use case diagram, yaitu : Tabel II.4. Simbol Use Case Gambar Keterangan Use case menggambarkan fungsionalitas yang disediakan sistem sebagai unit-unit yang bertukan pesan antar unit dengan aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal nama use case. 27 Aktor adalah abstraction dari orang atau sistem yang lain yang mengaktifkan fungsi dari target sistem. Untuk mengidentifikasikan aktor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target sistem. Orang atau sistem bisa muncul dalam beberapa peran. Perlu dicatat bahwa aktor berinteraksi dengan use case, tetapi tidak memiliki control terhadap use case. Asosiasi antara aktor dan use case, digambarkan dengan garis tanpa panah yang mengindikasikan siapa atau apa yang meminta interaksi secara langsung dan bukannya mengidikasikan aliran data. Asosiasi antara aktor dan use case yang menggunakan panah terbuka untuk mengidinkasikan bila aktor berinteraksi secara pasif dengan sistem. Include, merupakan di dalam use case lain (required) atau pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program. Extend, merupakan perluasan dari use case lain jika kondisi atau syarat terpenuhi. (Sumber : Windu Gata ; 2013 : 4) Contoh dari pembuatan use case diagram dapat dilihat pada gambar II.4 berikut : Gambar. II.7. Use Case Diagaram (Sumber : Windu Gata ; 2013 : 4)