8 BAB II
LANDASAN TEORI
2.1. Konsep Dasar
Dalam bab ini diterapkan mengenai landasan teori yang bertujuan untuk membahas permasalahan yang diambil. Pengertian- pengertian teori yang berhubungan dengan judul Tugas Akhir yang penulis ambil.
2.1.1. Program
Menurut Sunarto dalam Bobsusanto (2016) mengemukakan bahwa “Program adalah sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode skema, ataupun bentuk lain, yang apabila digabungkan dengan media yang dapat dibaca dengan komputer akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi khusus, termasuk persiapan dalam merancang instruksi-instruksi tersebut”.
Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Komputer pada dasarnya membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini dilakukan dengan cara mengeksekusi
serangkaian instruksi program tersebut pada prosesor. Sebuah program biasanya memiliki suatu bentuk model pengeksekusian tertentu agar dapat secara langsung dieksekusi oleh komputer. Program yang sama dalam format kode yang dapat dibaca oleh manusia disebut sebagai kode sumber, bentuk program yang memungkinkan programmer menganalisis serta melakukan penelaahan algoritma yang digunakan pada program tersebut. Kode sumber tersebut pada akhirnya dikompilasi oleh utilitas bahasa pemrograman tertentu sehingga membentuk sebuah program. bentuk alternatif lain model pengeksekusian sebuah program adalah dengan menggunakan bantuan interpreter, kode sumber tersebut langsung dijalankan oleh utilitas interpreter suatu bahasa pemrograman yang digunakan.
2.1.2. Bahasa Pemrograman
Menurut Munir (2011:13) mengemukakan bahwa “Bahasa pemrograman adalah bahasa komputer yang digunakan dalam menulis program”. Untuk itu, bahasa pemrograman dibagi menjadi 4 (empat) tingkatan yaitu :
1. Bahasa Mesin (Machine Language)
Bahasa pemrograman yang hanya dapat dimengerti oleh mesin komputer yang didalamnya terdapat Central Processing Unit (CPU) yang hanya mengenal dua keadaan yang berlawanan, yaitu:
a. Bila terjadi kontak atau ada arus bernilai 1.
b. Bila tidak terjadi kontak atau arus bernilai 0.
2. Bahasa Tingkat Rendah (Low Level Language)
Karena banyak keterbatasan yang dimiliki bahasa mesin maka dibuatlah simbol yang mudah diingat yang disebut dengan mnemonic (pembantu untuk mengingat). Contoh bahasa tingkat rendah adalah bahasa Assembler, yang dapat menerjemahkan mnemonic.
3. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyatannya, mudah untuk dipahami, dan memiliki instruksi-instruksi tertentu yang dapat langsung diakses oleh komputer. Contoh bahasa tingkat menengah adalah bahasa C.
4. Bahasa Tingkat Tinggi (High Level Language)
Bahasa pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung.
a. Bahasa Berorientasi pada Prosedur (Procedure Oriented Language), seperti Algoritma, Fortran, Pascal, Basic, Cobol.
b. Bahasa Berorientasi pada Masalah (Problem Oriented Language), seperti Report Program Generator (RPG)
2.1.3. Visual Basic
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)”.
Bahasa basic pada dasarnya adalah bahasa yang mudah dimengerti sehingga pemrograman di dalam bahasa basic dapat dengan mudah dilakukan. Hal ini lebih mudah lagi setelah hadirnya Microsoft Visual Basic yang dibangun dari IDE (Integrated Development Environment) untuk membuat bahasa yang sederhana dan mudah dalam pembuatan script-nya (Simple Scripting Language) untuk grapich user interface dalam bentuk form sedangkan untuk coding-nya menggunakan dialek bahasa basic yang dikembangkan dalam sistem operasi Microsoft Windows.
Visual Basic adalah bahasa pemrograman berbasis Windows yang merupakan Object Oriented Programming (OOP), yaitu pemrograman berorientasi objek, Visual Basic menyediakan objek- objek yang sangat kuat, berguna dan sangat mudah dalam penggunaannya. Pemakaian Visual Basic ditandai dengan kemampuan Visual Basic untuk dapat berinteraksi dengan aplikasi lain di dalam sistem operasi windows dengan komponen ActiveX Control. Dengan komponen ini memungkinkan pengguna untuk memanggil dan menggunakan semua model data yang ada di dalam sistem operasi windows. Hal ini juga ditunjang dengan teknik pemrograman di dalam
Visual Basic yang mengadopsi dua macam jenis pemrograman yaitu Permrograman Visual dan Object Oriented Programming (OOP).
Dalam penggunaan User-interface tidak akan menyadari bahwa di belakangnya berjalan instruksi-instuksi program yang mendukung tampilan dan proses yang dilakukan. Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukan user interface kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulis kode program untuk menangani kejadian kejadian (event). Tanpa pengembangan aplikasi demikian dikenal dengan dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up.
2.1.4. Database
Menurut Aditama (2012:7) mengemukakan bahwa “Database adalah tempat media penyimpanan data kita dalam membuat sebuah program yang berisikan tabel, field dan record yang diselimuti namanya DBMS (Database Management System)”.
DBMS (Database Management System) merupakan perangkat lunak yang dirancang untuk penyimpanan struktur basis data, didalamnya terdapat struktur query yang digunakan untuk mengolah database yang dikenal dengan SQL. Tujuan utama dari sistem manajemen basis data adalah bagaimana cara menyediakan data, menyimpan dan mengambil informasi basis data secara mudah dan
efisien dengan menerapkan pengamanan data, keakuratan data, penggunaan bersama dan sebagainnya.
2.1.5. My Structured Query Languange (MySQL)
Menurut Anhar (2010:21) mengemukakan bahwa “MySQL (My Structure Query Language) adalah salah satu Database Management System (DBMS) dan sekian banyak DBMS seperti Oracle, MS SQL, Postagre SQL, dan lainnya”. MySQL merupakan DBMS yang multithread, multi-user yang bersifat gratis di bawah lisensi GNU General Public Licence (GPL). Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-maing. MySQL dimiliki dan disponsori oleh sebuah perusahaan Swedia, yaitu MySQL AB. MySQL AB memegang hak cipta kode sumbernya. Seperti yang telah disebutkan sebelumnya, MySQL bersifat gratis atau open source sehingga kita bisa menggunakannya secara gratis. Pemrograman PHP juga sangat mendukung dengan database MySQL sehingga apabila kita mempelajarinya dengan sungguh-sungguh kita dapat mengaplikasikan PHP & MySQL dalam membuat aplikasi website maupun dalam membuat website.
Beberapa kelebihan MySQL, antara lain:
1. MySQL dapat berjalan dengan stabil pada berbagai sistem operasi, seperti Windows, Linux, FreeBSO, Mac Os X Server, Solaris, dan masih banyak lagi.
2. Bersifat Open Source, MySQL didistribusikan secara open source (gratis), di bawah lisensi GNU General Public Licence (GPL).
3. Bersifat Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah.
4. MySQL memiliki kecepatan yang baik dalam menangani query (perintah SQL). Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu.
5. Dari segi security atau keamanan data, MySQL memiliki beberapa lapisan security, seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password yang terenkripsi.
2.1.6. XAMPP
Risnandar dkk (2013:53) mengemukakan bahwa “XAMPP adalah suatu program yang digunakan sebagai server untuk mengeksekusi fungsi yang ada dalam halaman website yang kita buat sekaligus menampilkan halaman website tersebut agar bisa diakses oleh user”.
XAMPP adalah suatu aplikasi yang mempunyai paket aplikasi seperti Apache, Mysql, PHP, Filezilla, Mercury dan lain-lain. Dengan meginstal XAMPP pengguna tidak perlu lagi bingung untuk mengembangkan suatu aplikasi web, karena ketika menginstal XAMPP maka paket aplikasi dalam aplikasi XAMPP juga akan secara otomatis terinstal.
2.1.7. Model Pengembangan Perangkat Lunak
Siklus hidup pengembangan sistem (system development life cycle) adalah tahapan aktifitas yang harus dikerjakan oleh pengembang sistem untuk menghasilkan sebuah sistem yang dapat dioperasikan oleh pemakai sistem. Salah satu dari model pengembangan perangkat lunak adalah model waterfall (air terjun).
Sumber: Sukamto dan Shalahuddin (2013:29) Gambar II.1.
Ilustrasi Model Waterfall
Sukamto dan Shalahuddin (2013:28) mengemukakan bahwa
“Metode 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 terurut mulai dari analisis, desain, pengodean, pengujian, dan pemeliharaan.
1. Analisis
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh software yang akan dibangun. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database dan sebagainya.
2. Desain
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, database dan sebagainya.
3. Pengkodean
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara rutin.
4. Pengujian
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kedalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap desain yang secara teknis nantinya dikerjakan oleh programmer. Penyatuan unit-unit program kemudian diuji secara keseluruhan.
5. Pemeliharaan
Sesuatu yang dibuat harus diuji cobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diuji cobakan, agar software bebas dari error dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya akan seperti itu. Ketika dijalankan mungkin masih terjadi error kecil yang tidak ditemukan sebelumnya atau ada penambahan fitur-fitur yang belum ada pada software tersebut.
2.2. Tools Program
Teori pendukung atau peralatan pendukung merupakan alat yang digunakan untuk menggambarkan bentuk logika model dari suatu sistem dengan menggunakan simbol-simbol, lambang-lambang, diagram-diagram, yang menunjukan secara tepat arti dan fungsinya.
2.2.1. ERD (Entity Relationship Diagram)
Menurut Fathansyah (2015:81) menyimpulkan bahwa “Model Entity-Relationship yang berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari dunia nyata yang kita tinjau”, Dapat digambarkan dengan lebih sistematis dengan menggunakan ERD (Entity Relationship Diagram). Notasi-notasi simbolik di dalam ERD (Entity Relationship Diagram) adalah sebagai berikut :
1. Persegi panjang, menyatakan himpunan entitas.
2. Elip, menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi).
3. Belah ketupat, menyatakan jenis relasi.
4. Garis, merupakan penghubung antara relasi dan entity dan antara entity dengan atribut.
2.2.2. Logical Record Structured (LRS)
Menurut Dhanta dalam Junianto dan Yusa (2015:444) mengemukakan bahwa “LRS (Logical Record Structure) adalah representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil antar himpunan entitas. Menentukan kardinalitas, jumlah table dan Foreign Key (FK)”.
Logical Record Structured (LRS) yaitu representasi dari isi baris suatu tabel data struktur (record structured) pada tabel-tabel yang terbentuk dari hasil relasi antar himpunan entitas. Logical Record Structured dibentuk dengan nomor dari tipe record. Beberapa tipe record digambarkan oleh kotak empat persegi panjang dan dengan nama yang unik. Logical Record Structured terdiri dari hubungan-hubungan (link) diantara tipe record, hubungan yang menunjukan arah dari satu tipe record ke record lainnya.
2.2.3. Pengkodean
Menurut Maimiati (2015) menyimpulkan bahwa pengkodean
“Digunakan untuk mengklasifikasikan data, yang dimasukkan kedalam komputer ataupun untuk mengambil bermacam-macam informasi. Kode dapat terbentuk dari kumpulan angka, huruf atau simbol lainnya”.
Kode digunakan untuk tujuan mengklasifikasikan data, dimasukkan data kedalam komputer dan untuk mengambil bermacam- macam informasi. Ada beberapa macam tipe kode antara lain:
1. Kode Mnemonik (Mnemonic Code) Dibuat dengan tujuan agar mudah diingat. Kode ini dibuat dengan dasar singkatan atau mengambil sebagian karakter dari item yang dipilih. Berikut adalah contoh dari kode mnemonik:
a. Kode “L” untuk mewakili laki-laki
b. kode “P” untuk perempuan akan mudah diingat.
2. Kode Urut (Sequential Code) Disebut dengan kode seri (serial code) yang merupakan kode nilai urut antara satu kode dengan kode berikutnya. Berikut adalah contoh dari kode urut:
a. 001 = Kas b. 002 = Piutang
3. Kode Urut (Sequential Code) Disebut dengan kode seri (serial code) yang merupakan kode nilai urut antara satu kode dengan kode berikutnya. Dibawah ini adalah contoh dari kode urut :
a. Harta : 100-199 b. Utang : 200-299 c. Modal : 300-399 d. Pendapatan : 400-499 e. Beban : 500-599
4. Kode Grup (Group Code) Kode grup merupakan kode berdasarkan field-field dan tiap-tiap kode mempunyai arti. Berikut adalah contoh dari kode group :
a. 9971-5-0210-1 9971 : ISBN untuk wilayah Singapura b. 5 : Penerbit Dunia Ilmiah
c. 0210 : Kode Buku d. 1 : No. Identifikasi
5. Kode Desimal (Decimal Code) Mengklasifikasikan kode atas dasar 10 unit angka desimal yang dimulai dari angka 0 sampai dengan angka 9, atau dari angka 100 sampai dengan angka 99 tergantung
dari banyaknya kelompok. Berikut adalah contoh kode dari kode desimal :
a. : Aktiva Lancar b. 100 : Kas
2.2.4. Diagram HIPO
Menurut Puspitawati dan Sri Dewi Anggadini (2011:114) Mengemukakan bahwa diagram HIPO adalah “serangkaian diagram yang terdiri dari serangkaian level yang mengalir dari atas kebawah yang menggambarkan sistem yang lebih detail.” Diagram HIPO dirancang sebagai alat bantu dan alat dokumentasi yang digunakan untuk mengidentifikasikan apa yang harus dilakukan untuk menyelesaikan suatu masalah. Selain itu diagram ini juga digunakan untuk menguraikan keseluruhan pemrosesan transaksi yang terjadi dalam aktifitas perusahaan.
Diagram HIPO dapat digunakan sebagai alat pengembangan sistem dan teknik dokumentasi program dan penggunaannya mempunyai beberapa sasaran, yaitu :
1. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari sistem.
2. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program, bukannya menunjukkan statemen-statemen program yang digunakan untuk melaksanakan fungsi tersebut.
3. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan dan output yang harus dihasilkan oleh masing-masing fungsi pada tiap-tiap tingkatan dari diagram-diagram HIPO.
4. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan- kebutuhan pemakai
2.2.5. Diagram Alir Program (Flowchart)
Menurut Rieysha dalam Nathasia dan Anang (2011:9) mengemukakan bahwa “Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program”.
Flowchart menolong analisis dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.