BAB II LANDASAN TEORI 2.1 Konsep Dasar Program 2.1.1. Program Menurut Kawengian, Mingkid & Pantow (2017:8) Program merupakan himpunan atau kumpulan instruksi tertulis. Orang yang membuat program sering disebut sebagai pemrograman atau programmer. Aktivitas membuat program disebut sebagai pemrograman. Jadi pemrograman merupakan suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu. Perintah-perintah ini membutuhkan suatu bahasa tersendiri. Sebagaimana bahasa manusia, bahasa pemrograman memiliki kaidah tertentu yang dapat dimengerti oleh komputer. 2.1.2. Bahasa Pemrograman Menurut Stefano (2014:2) mengemukakan bahwa visual basic merupakan sebuah bahasa pemrograman yang menawarkan Intergrated Development Environment (IDE) visual untuk membuat program perangkat lunak berbasis operasi Microsoft Windows menggunakan model pemrograman (COM). Menurut Atmoko (2013:1) Visual Basic adalah bahasa pemrograman generasi ke tiga dari Microsoft dengan IDE (Integrated Development Environment) atau pemrograman pengembangan terpadu, visual basic dibuat dan dirancang untuk mudah digunakan baik oleh programmer pemula sekalipun. Sunarti (2016:44) Visual Basic net adalah salah satu bahasa pemrograman berbasis desktop yang di keluarkan (diproduksi) oleh perusahaan perangkat lunak komputer terbesar yaitu Microsoft. Visual Basic merupakan salah satu bahasa pemrograman paling laris dan paling sukses di dunia. Visual Basic yang didukung penuh oleh produsennya (Microsoft) selalu dikembangkan dan disesuaikan dengan kebutuhan zaman seperti penyesuaian model pemrograman modern yang berbasis OOP (Object Oriented Programming). 2.1.3. Basis Data Menurut Yudhanto dan Purbaya dalam Supriyanta (2015:36) menyimpulkan bahwa, XAMPP merupakan program paket PHP dan MySQL 6
7 berbasis opensource yang saat ini merupakan andalan para programmer PHP dalam melakukan programming dan melakukan testing hasil programnya. Menurut Sadeli dalam Supriyanta (2015:36) menyimpulkan bahwa, Xampp adalah program yang berisi paket Apache, MySQL, dan phpmyadmin. Berdasarkan definisi diatas dapat disimpulan bahwa xampp adalah tools yang menyediakan perangkat lunak gratis yang mendukung untuk banyak sistem operasi khususnya PHP dan MySQL. Tools yang digunakan oleh peneliti yaitu: a. Apache Menurut Sadeli dalam Supriyanta (2015:36) menyimpulkan bahwa, Apache (Server HTTP Apache atau ServerWeb/WWW Apache ) adalah webserver yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. b. MySql Menurut Sibero (2013:97) menyimpulkan bahwa, MySQL atau dibaca My Sekuel dengan adalah suatu RDBMS (Relational Database Management System) yaitu aplikasi sistem yang menjalankan fungsi pengolahan data. c. PhpMyAdmin Menurut Rahman (2013:21) menyimpulkan bahwa, PHPMyadmin adalah sebuah software berbasis pemrograman PHP yang dipergunakan sebagai administrator MySQL melalui browser (web) yang digunakan untuk management database. 2.1.4. Model Pengembangan Perangkat Lunak Menurut Rosa dan Shalahuddin (2013:28) menyimpulkan bahwa Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan tahap pendukung (support).
8 Tahap tahap model waterfall menurut Rosa A. S dan Shalahuddin (2013:28) adalah sebagai berikut: Sumber: Rosa A. S dan Shalahuddin (2013:28) Gambar II.1. Tahap Model Waterfall 1. Analisis Kebutuhan Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2. Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan
9 3. Pembuatan Kode Program Desain harus di translasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5. Pendukung (Support) atau Pemeliharaan (Maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. 2.2 Tools Program 2.2.1. Entity Relationship Diagram (ERD) Menjelaskan tentang definisi Entity Relationship Diagram (ERD), komponen Entity Relationship Diagram (ERD), Logical Record Structure (LRS) dan derajat relationship.
10 1. Komponen ERD Menurut Rosa dan Shalahuddin (2013:50) menyimpulkan bahwa, ERD adalah pemodelan awal basis data yang dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk pemodelan basis data relasional. Berikut adalah penjelasan tentang simbol-simbol dalam diagram ERD menurut Rosa dan Shalahuddin (2013:50): a. Proses atau fungsi atau prosedur pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnya menjadi fungsi atau prosedur didalam kode programfungsi atau prosedur didalam kode program b. File atau basis data atau penyimpan (storage) pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnya dibuat menjadi tabel-tabel basis data yang dibutuhkan, tabel-tabel ini juga harus sesuai dengan perancangan tabel-tabel pada basis data (ERD). c. Entitas luar atau masukan atau keluaran atau orang yang akan memakai atau berinteraksi dengan perngkat lunak yang dimodelkan atau sistem lain yang terkait dengan aliran data dari sistem yang dimodelkan. d. Aliran data merupakan data yang dikirim antar proses, dari penyimpanan ke proses atau dari proses ke masukan atau keluaran. 2. Logical Record Structure (LRS) Menurut Ladjamudin (2013:159) menyimpulkan bahwa, Logical Record Structure (LRS) merupakan hasil transformasi ERD ke LRS yang melalui proses kardinalitas dan menghasilkan atribut-atribut yang saling berelasi.
11 Menurut Ladjamudin (2013:159) aturan pokok yang sangat dipengaruhi oleh elemen yang menjadi titik perhatian utama pada langkah transformasi dengan proses kardinalitas. Yang terdiri dari tiga kardinalitas yaitu sebagai berikut: a. One to One Yaitu proses kardinalitas yang panahnya lebih diarahkan di entity dengan jumlah atribut yang lebih sedikit. b. One to Many Relasi harus digabungkan dengan entity pada pihak many, dan tidak perlu melihat banyak sedikitnya atribut pada entity tersebut. c. Many to Many Proses kardinalitas pada relationship berubah status menjadi file konektor, sehingga baik entity maupun relasi akan menjadi struktur record sendiri. 2.2.2. Pengkodean Menurut Jogiyanto (2014:384) Kode digunakan untuk tujuan mengklasifikasikan data, memasukan data ke dalam komputer untuk mengambil bermacam-macam informasi yang berhubungan dengannya. Dalam pembuatan struktur kode ada petunjuk yang diperlukan, yaitu: 1. Harus Mudah diingat Agar mudah diingat, maka dilakukan dengan cara menghubungkan kode tersebut dengan obyek yang diwakili dengan kodenya. Kode yang terlalu panjang sebaiknya dipecah menjadi bagian-bagian yang lebih pendek.
12 2. Harus Unik Kode harus unik untuk masing-masing item yang diwakili. Unik berarti tidak ada kode yang kembar. 3. Harus Fleksibel Kode harus fleksibel sehingga memungkinkan perubahan-perubahan atau penambahan item baru dapat diwakili oleh kode. 4. Harus Efisien Kode harus sependek mungkin, selain mudah diingat juga akan efisien bila direkam di simpanan luar komputer. Misalnya panjang dari kode cukup sepanjang 4 digit saja dan tidak akan efisien bila dipergunakan kode yang lebih dari 4 digit. 5. Harus konsisten Kode harus konsisten dengan kode yang telah dipergunakan. Misalnya perusahaan hanya membeli barang dagangan dari seorang pemasok (supplier) saja, maka dapat dipergunakan kode-kode barang yang sudah dipergunakan oleh pemasok 6. Harus Distandarisasi Kode harus distandarisasi oleh semua tingkatan dan departemen dalam organisasi. Kode yang tidak standar akan mengakibatka kebingungan,dalam pengertian dan dapat cenderung terjadi kesalahan pemakaian bagi yang menggunakan kode tersebut.
13 7. Hindari pemakaian spasi Spasi dalam kode sebaiknya dihindari, karena dapat menyebabkan kesalahan didalam menggunakan nya. 8. Hindari karakter yang mirip Karakter-karakter yang hampir serupa bentuk dan bunyi pengucapan sebaiknya tidak digunakan dalam kode. 9. Panjang kode harus sama Masing-masing kode yang sejenis harus mempunyai panjang yang sama. Misalnya panjang dari kode adalah 6 digit, maka kode 8210E sebaiknya ditulis 08210E. 2.3 HIPO (Hierarcy Input Process Output) Menurut Jogiyanto (2014:787) HIPO (Hierarchy plus Input-Procces-Output) merupakan metodologi yang dikembangkan didukung oleh IBM. HIPO sebenarnya alat dokumentasi program. Akan tetapi sekarang, HIPO juga banyak digunakan sebagai alat desain dan teknik dokumentasi dalam siklus pengembangan sistem. HIPO berbasis pada fungsi, yaitu tiap-tiap modul didalam sistem digambarkan oleh fungsi utama nya. HIPO dapat digunakan sebagai alat pengembangan sistem dan teknik dokumentasi program dan penggunaan HIPO ini mempunyai sasaran utama sebagai berikut: a. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari sistem.
14 b. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program, bukan nya menunjukan statemen-statemen program yang digunakan untuk melaksanakan fungsi tersebut. c. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan output yang harus dihasilkan oleh masing-masing fungsi dari tiap-tiap tingkatan dari diagram-diagram HIPO. d. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhankebutuhan pemakai. Jenis-jenis dari diagram HIPO, yaitu: a. Visual table of content (VTOC) Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem secara berjenjang. b. Overview diagram Overview diagram menunjukan secara garis besar hubungan dari input, proses dan output. Bagian input menunjukan item-item data yang akan digunakan oleh bagian proses. Bagian proses berisi sejumlah langkah-langkah yang menggambarkan kerja dari fungsi. Bagian output berisi dengan item-item data yang dihasilkan atau dimodifikasi oleh langkah-langkah proses. c. Detail diagram Detail diagram merupakan tingkatan yang paling rendah di diagram HIPO. Diagram ini berisi dengan elemen-elemen dasar dari paket yang menggambar kan secara rinci kerja dari fungsi.
15 2.4 Diagram Alir Program (Flowchart) 2.4.1. Pengertian Flowchart Ladjamudin (2013:263) flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Ladjamudin (2013:266), Flowchart disusun dengan simbol. Simbol ini dipakai sebagai alat bantu menggambarkan proses di dalam program. Simbol-simbol yang digunakan dapat dibagi menjadi 3 (tiga) kelompok, yakni sebagai berikut: 1. Flow direction symbols Digunakan untuk menghubungkan simbol satu dengan yang lain. 2. Processing Symbols Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur. 3. Input / Output symbols Menunjukkan jenis peralatan yang digunakan sebagai media input atau output. 2.4.2. Bentuk Flowchart Bentuk diagram alur (flowchart) yang sering digunakan dalam proses pembuatan suatu program komputer adalah sebagai berikut: 1. Program Flowchart Simbol-simbol yang menggambarkan urutan prosedur secara rinci dan detail antara instruksi yang satu dengan yang lainnya di dalam suatu program komputer yang bersifat logic. 2. Sistem Flowchart Simbol-simbol yang menggambarkan urutan prosedur secara detail di dalam suatu sistem komputer, dan bersifat fisik. Sebelum kita membuat suatu
16 program komputer, yang harus dilakukan terlebih dahulu adalah membuat diagram alir (flowchart), yang sering digunakan adalah program Flowchart. 2.4.3. Teknik Pembuatan Sebelum kita membuat sebuah program komputer, yang harus kita lakukan sebelumnya adalah membuat flowchart yang sering digunakan adalah program flowchart. Teknik pembuatan program flowchart terbagi menjadi dua bagian, yaitu: 1. General Way Cara ini sering digunakan dalam penyusunan logika suatu program, yang menggunakan pengulangan proses secara tidak langsung (Non-Direct Loop). 2. Iteration Way Cara ini sering dipakai untuk logika program yang cepat, serta bentuk permasalahan yang kompleks, pengulangan proses yang terjadi bersifat langsung (Direct Loop). 2.5 Implementasi dan Pengujian Unit Menurut Rosa dan Shalahuddin (2013:275) Black-box testing yaitu perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi masukan dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah, misalkan untuk kasus proses login maka kasus uji coba yang dilakukan adalah:
17 1. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar. 2. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah,misalkan nama pemakai benar tapi kata sandi salah, atau sebaliknya atau keduanya salah.