7
BAB II
LANDASAN TEORI
2.1. KONSEP DASAR PROGRAM 2.1.1. Pengertian Program
Menurut Binanto (2009:1) Program dapat diartikan sebagai berikut:
1. Mendeskripsikan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer.
2. Mendeskripsikan suatu keseluruhan bagian dari software yang executable.
3. Program merupakan himpunan atau kumpulan instruksi tertulis yang dibuat oleh programmer atau suatu bagian executable dari suatu software.
4. Pemrograman berarti membuat program komputer.
5. Pemrograman merupakan suatu kumpulan urutan perintah ke komputer untuk mengerjakan sesuatu. Perintah-perintah ini membutuhkan suatu bahasa tersendiri yang dapat dimengerti oleh komputer.
2.1.2. JAVA
Menurut Utomo (2013:1) “Java merupakan salah satu bahasa pemrograman yang bersifat multiplatform dengan slogan dari para pengembangnya adalah „Write once run everywhere‟ sehingga aplikasi yang dikembangkan menggunakan bahasa Java akan dapat dijalankan pada berbagai macam platform atau sistem operasi”.
Ada dua pengertian dari Java, yaitu:
1. Sebagai Bahasa Pemograman
Java merupakan bahasa pemograman yang berorientasi objek yang sintaknya mengikuti bahasa C dan C++ sehingga bagi para programmer bahasa C tidak akan kesulitan ketika akan bermigrasi ke bahasa Java karena sintaknya hampir sama.
2. Sebagai platform yang menjalankan program aplikasi lain yang dibangun menggunakan bahasa java
Pada platform lain memerlukan prosesor secara bentuk fisik dan sistem operasi, missal prosesor intel dengan sistem intel dengan sistem operasi windows 7. Berbeda dengan Java ketika berfungsi sebagai platform terdiri dari sebuah mesin virtual dan media untuk melakukan eksekusi (execution environment). Kode sumber pada Java tidak perlu diubah ketika akan dikompil ulang pada sistem operasi lainnya. Hasil dari kompilasi dari kode sumber Java bukanlah kode mesin namun berupa bytecode dengan ektensi class. Bytecode ini dapat langsung dieksekusi pada setiap sistem operasi dengan menggunakan JVM sebagai interpreter terhadap bytecode tersebut.
Proses eksekusi program Java terlihat seperti pada gambar berikut ini.
Sumber : Utomo, 2013:1
Gambar II.1
Proses Translasi dan Eksekusi Program Java
2.1.3. Netbeans
Menurut Wahana Komputer (2012:7) “Netbeans adalah salah satu IDE (Integrad Development Environment), yaitu sebuah lingkungan kerja yang digunakan untuk mengembangkan aplikasi dengan berbagai bahasa pemrograman khususnya Java”. Netbeans sendiri dikembangkan oleh pengembang Java, yaitu Sun Microsistem yang kini diakuisisi oleh Oracle.
2.1.4. XAMPP
Menurut Wicaksono (2008:7) “XAMPP adalah sebuah software yang berfungsi untuk menjalankan website berbasis PHP dan menggunakan pengolah data MYSQL di komputer local”. XAMPP berperan sebagai server web pada komputer local. XAMPP juga dapat disebut sebuah Cpanel server virtual, yang dapat membantu melakukan preview sehingga dapat dimodifikasi website tanpa harus online atau terakses dengan internet.
Kode Sumber
Kode Mesin Byte
Code
2.1.5. Bahasa Pemrograman Java
Menurut Sianipar (2013:14) “Bahasa JAVA dikembangkan oleh sebuah tim yang diketuai oleh James Gosling di Sun Microsistem. JAVA awalnya dikenal dengan Oak, yang didesain pada tahun 1991 untuk chip-chip yang tertaman pada peralatan-peralatan elektronik”. Pada tahun 1995, diberi nama baru JAVA, yang didesain ulang untuk mengembangkan aplikasi-aplikasi internet. JAVA telah menjadi sangat popular, perkembangannya yang sangat cepat dan penerimaannyadikalangan pengguna dapat dijejak dari pengembangnya, khususnya dari janji pengembang JAVA bahwa begitu anda menciptakan suatu program, maka anda bisa menjalankannya dimana saja. Seperti dikutip dari Sun, JAVA is simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, high performance, multithreaded, and dynamic.
2.1.6. Basis Data
Menurut Sukamto dan M. Shalahuddin (2015:43) “Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan”. Pada intinya basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat.
2.1.7. Database
Menurut Wahana Komputer (2010:2) “Database adalah sebuah struktur yang umumnya terbagi dalam 2 hal, yaitu sebuah database flat dan sebuah database rasional”. Database rasional lebih mudah dipahami dari pada database
flat karena database rasional mempunyai bentuk yang sederhana serta mudah dilakukan operasi data. MySQL sendiri adalah sebuah database rasional. Database yang memiliki struktur rasional terdapat tabel-tabel untuk menyimpan data. Pada setiap tabel terdiri dari kolom dan baris serta sebuah kolom untuk mendefinisikan jenis informasi apa yang harus disimpan.
2.1.8. MySQL
Menurut Wahana Komputer (2010:26) “MySQL adalah salah satu software sistem database (DBMS) Structured Query Language (SQL) yang bersifat open source.” SQL adalah bahasa standar untuk mengakses database dan didefinisikan dengan standar ANSI/ISO SQL. MySQL merupakan aplikasi Relasional Database Management System (RDBMS) yang dapat digunakan sebagai aplikasi client-server atau sistem embedded.
2.1.9. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan M. Shalahuddin (2015:28) “Model SLDC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linier) atau alur hidup klasik (classic life)”. Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara skuensial atau terturut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). Berikut adalah model air terjun:
Sumber : Sukamto dan M.Shalahuddin, 2015:29
Gambar II.2 Ilustrasi model waterfall
1. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi 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, refresentasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasikan 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 peril didokumentasikan.
Analisis Desain Pengodean Pengujian
Sistem/ Rekayasa Informasi
3. Pembuatan kode program
Desain harus ditranslasikan 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. Peralatan Pendukung (Tools Program) 2.2.1. Entity Relationship Diagram (ERD)
Menurut Al Fatta (2009:27) “ERD (Entity Relationship Diagram) adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak”. ERD merupakan model jaringan data yang menekankan pada struktur dan hubungan antardata. ERD juga memperlihatkan hubungan antar
data store pada DFD. Diagram hubungan entitas, atau yang lebih dikenal dengan E-R, adalah notasi grafik dari sebuah model data atau sebuah model jaringan yang menjelaskan tentang data yang disimpan (storage data) dalam sistem secara abstrak.
2.2.2. Logical Record Structure (LRS)
Menurut Frieyadie (2007:13) “LRS merupakan hasil dari pemodelan Entity Relational Ship (ER) beserta atributnya sehingga bisa terlihat hubungan- hubungan antar entitas”. Dalam pembuatan LRS terdapat 3 hal yang dapat mempengaruhi yaitu:
a. Jika tingkat hubungan (cardinality) satu pada satu (one-to-one), maka digabungkan dengan entitas yang lebih kuat (strong entity), atau digabungkan dengan entitas yang memiliki atribut yang lebih sedikit.
b. Jika tingkat hubungan (cardinality) satu pada banyak (one-to-many), maka hubungan relasi atau digabungkan dengan entitas yang tingkat hubungannya banyak.
c. Jika tingkat hubungan (cardinality) banyak pada banyak (many-to-many), maka hubungan relasi tidak akan digabungkan dengan entitas manapun, melainkan menjadi sebuah LRS.
2.2.3. Pengkodean
Menurut kendall (2008:267) “Pengkodean adalah proses dari meletakkan data yang berarti dua macam atau data yang sulit dipakai dengan segera, lebih mudah dimasukan digital atau huruf”. Ada beberapa tipe kode menurut Kendall (2008:273) Menurut jenisnya struktur kode diantaranya yaitu:
a. Kode Mnemonik (mnemonic code)
Kode mnemonik digunakan untuk tujuan supaya mudah diingat. Kode mnemonik dibuat dengan dasar singkatan sebagian karakter dari item yang mewakili kode ini. Contohnya:
KD : Kamus Data SO : Solo
YG : Yogyakarta
b. Kode Urut (sequential code)
Kode urut disebut juga kode seri merupakan kode yang nilai urut antara suatu kode dengan kode berikutnya. Contohnya:
00 : Kas
002 : Piutang Dagang
003 : Persediaan Barang Dagangan c. Kode Blok (blok code)
Kode blok mengklasifikasikan item ke dalam kelompok blok tertentu yang mencerminkan suatu klasifikasi tertentu atas dasar pemakaian maksimum yang diharapkan. Contohnya:
1000-1999 Aktiva Lancar 2000-2999 Aktiva Tetap
3000-3999 Hutang Lancar d. Kode Grup (group code)
Kode grup merupakan kode yang berdasarkan field-filed dan tiap- tiap field mempunyai arti. Contohnya:
1. Aktiva Tetap 1.1 Aktiva Lancar 1.1.0 Kas
e. Kode Desimal (decimal code)
Kode desimal mengklasifikasikan kode atas dasar 10 unit angka desimal dimulai dari angka 0 sampai 9 atau dari 00 sampai 99 tergantung banyaknya kelompok. Contohnya:
00. Aktiva Lancar 00100 Kas
00200 Piutang Dagang
00300 Persediaan Produk Selesai
2.2.4. Hierarchy Plus Input-Process-Output (HIPO)
Menurut Ladjamudin (2013:211) mengatakan bahwa “Hierarchy Plus Input-Process-Output (HIPO) merupakan teknik untuk mendokumentasikan sistem pemograman”. HIPO dikembangkan oleh personel IBM yang percaya bahwa dokumentasi sitem pemograman yang dibentuk dengan menekankan pada fungsi-fungsi sistem akan mempercepat pencarian prosedur yang akan dimodifikasi, karena HIPO menyediakan fasilitas lokasi dalam bentuk kode dari tiap prosedur dalam suatu sistem.
Paket HIPO terdiri dari tiga jenis diagram, yaitu diagram daftar isi visual (Visual Table of Content – VTOC), diagram ringkas (over-view diagram) dan diagram rinci (detail diagram).
1. Diagram Isi Visual (DIV)
DIV merupakan diagram pertama dari HIPO yang terdiri dari satu atau lebih diagram hirarki. Diagram ini berisikan nama dan nomor identifikasi dari semua program HIPO untuk diagram ringkas dan rinci secara terstruktur.
DIV juga menunjukan struktur paket diagram dan hubungan fungsi dalam bentuk hirarki. Dengan kata lain sasaran DIV adalah untuk menggambarkan fungsi-fungsi utama yang akan dilaksanakan oleh sistem dan hubungan- hubungan antara tiap fungsi. Pada DIV kotak teratas mengidentifikasikan fungsi sistem keseluruhan. Kotak pada level berikutnya memecahkan fungsi sistem ke dalam sub fungsi logika.
2. Diagram Ringkas
Diagram ringkas ini merupakan diagram kedua dari paket HIPO yang menjelaskan fungsi dan referensi utama yang diperlukan dalam program detail untuk memperluas fungsi sehingga cukup rinci.
Diagram ringkas menerangkan tentang input, proses dan output dari sistem secara garis besar (yaitu nama file/ record input atau output). Bagian input berisikan item-item data yang dipakai oleh bagian proses, termasuk semua item-item input utama yang digunakan pada diagram tingkat yang lebih rendah. Bagian proses berisikan urutan langkah-langkah yang menerangkan fungsi yang sedang dilaksanakan. Item input dihubungkan dengan suatu proses oleh anak panah. Bagian output berisikan item-item data yang
dibentuk atau dimodifikasi pada bagian proses, termasuk semua item output utama yang ditampilkan pada diagram tingkat yang lebih rendah. Item output dihubungkan dengan proses juga dengan anak panah.
3. Diagram Rinci
Diagram rinci HIPO berisikan elemen-elemen dasar sistem, menerangkan fungsi-fungsi khusus, manampilkan item-item input dan output secara rinci (yaitu nama field input yang digunakan dan output yang dihasilkan), dan memberikan referensi terhadap diagram HIPO yang lain seperti flowchart dan tabel keputusan dari logika yang rumit.
Diagram rinci ini juga berisi bagian deskripsi yang digunakan untuk menjelaskan langkah-langkah proses dan dapat mereferensikan kode yang berkaitan dengan langkah-langkah proses. Banyaknya tingkatan diagram rinci HIPO yang diperlukan ditentukan oleh jumlah fungsi-fungsi yang terkait, kerumitan pengolahan dan jumlah informasi yang akan didokumentasikan.
2.2.5. Diagram Alir Program (Flowchart)
Menurut Ladjamudin (2013:263) “Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma”.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu:
1. Sistem Flowchart
Bagan yang memperlihatkan urutan proses dalam sistem dengan menunjukan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.
2. Program Flowchart
Bagan yang memperlihatkan urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.
Teknik pembuatan flowchart dibagi dalam dua bagian, antara lain:
1. General way
Teknik pembuatan flowchart ini digunakan untuk menyusun logika suatu program yang menggunakan perulangan proses secara tidak langsung (non direct loop).
2. Interation way
Teknik pembuatan flowchart ini digunakan untuk menyusun logika suatu program yang cepat serta permasalahan yang kompleks, dimana perulangan proses yang terjadi bersifat langsung (direct loop).