BAB II LANDASAN TEORI 1.1. Konsep Dasar Program A. Program · Java adalah bahasa pemograman yang...
Transcript of BAB II LANDASAN TEORI 1.1. Konsep Dasar Program A. Program · Java adalah bahasa pemograman yang...
`7
BAB II
LANDASAN TEORI
1.1. Konsep Dasar Program
A. Program
Program komputer atau sering kali disingkat sebagai program menurut
Riswandi et al.(2017:34) adalah, ”seperangkat intruksi yang diekspresikan dalam
bentuk bahasa , kode, skema , atau dalam bentuk apapun yang ditujukan agar
komputer bekerja melakukan fungsi tertentu atau untuk mencapai hasil tertentu”.
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.
Tanpa program, komputer tidak dapat melakukan apa-apa. Komponen-
komponen sistem komputer didukung oleh perangkat keras (hardware) dan
perangkat lunak (software). Dengan kata lain, program merupakan salah satu dari
berbagai macam jenis aplikasi yang pada saat ini banyak digunakan berbagai bidang
science yang pada akhirnya digunakan untuk menghasilkan hasil akhir dalam bentuk
laporan atau tujuan yang diinginkan.
Dan pemograman berbasis objek (Object Oriented Programming ) menurut
Sukamto dan Shalahuddin (2016:100) adalah ”suatu strategi pembangunan perangkat
lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi
data dan operasi yang diberlakukan terhadapnya”.
8
Dapat disimpulkan bahwa Object Oriented Programing (OOP) merupakan
suatu strategi atau cara baru untuk membuat program atau merancang sistem
dengan memperhatikan objek . Pada saat ini, metode berorientasi objek banyak
dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya
kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap
berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang
dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan
pada saat ini sangat beragam (aplikasi bisnis, real-time, utilty, dan sebagainya)
dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan
metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi
tersebut (Sukamto dan Shalahuddin, 2016:100) .
B. Bahasa Pemograman
Menurut Abdullah (2018:2) , “Bahasa pemograman merupakan bahasa
yang digunakan untuk memberikan intruksi kepada komputer sehingga komputer
dapat memproses data dan menampilkan informasi sesuai yang dikehendaki oleh
pemogram “.
Menurut Fridayanthie dan Jimmy Charter (2016:65), Bahasa pemrograman
merupakan prosedur penulisan . Ada tiga record dalam penulisan bahasa
pemograman,yaitu:
1. Syntax adalah aturan penulisan bahasa tersebut (tata bahasa).
2. Semantic adalah arti atau maksud yang terkandung di dalam statement
tersebut.
9
3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan
statement.
Dari pengertian di atas dapat saya simpulkan bahwa bahasa pemrograman
adalah suatu bahasa yang digunakan untuk berinteraksi dengan komputer yang
berfungsi untuk mengolah data yang dihasilkan sesuai dengan langkah-langkah
penyelesaian yang ditentukan oleh programmer.
1. Java
Java adalah bahasa pemograman yang berorientasi objek(OOP) dan dapat
dijalankan pada berbagai platform sistem operasi , perkembangan java tidak hanya
terfokus pada satu sistem operasi tetapi dikembangkan untuk berbagai sistem
operasi dan bersifat open source (Mardiani et al.,2017:29) .
Diciptakan oleh salah satu tim dari perusahaan Sun Microsystem, perusahan
workstation UNIX (Sparc) yang cukup terkenal . Java diciptakan berdasarkan
bahasa C++, dengan tujuan platform independent (dapat dijalankan pada berbagai
jenis hardware tanpa kompilasi ulang), dengan slogan Write Once Run Anywhere
(WORA).
Sun Microsystem mengemukakan bahwa Java memiliki karateristik
sebagai berikut :
a. Sederhana (simple)
Bahasa pemograman Java menggunakan sintaks yang mirip dengan
bahasa pendahulunya yaitu C++ ,tetapi ada beberapa perubahan yang
dilakukan seperti hilangnya penggunaan pointer yang rumit dan multi –
inheritance dan diganti dengan automatic memory allocation dan garbage
collection.
10
b. Berorientasi Objek (OOP)
Java memungkinkan program dibuat secara modular dan bisa
dipergunakan kembali.
c. Terdistribusi ( Distributed )
Java membuat aplikasi terdistribusi secara mudah dengan adanya library
networking yang terintegrasi pada java.
d. Portable
Source code dari program java dapat dengan mudah dibawa ke platform
yang berbeda-beda tanpa harus dikompilasi ulang
e. Dinamis
Java didesain untuk dijalankan pada lingkungan dinamis .Perubahan pada
suatu class dengan penambahan property ataupun method dapat dilakukan
tanpa menggangu program pengguna class tersebut .
2. Netbeans
Netbeans adalah Integrated Development Enveronment(IDE) berbasiskan
java dari Sun Microsystem yang berjalan di atas Swing merupakan sebuah
teknologi java untuk pengembangan aplikasi desktop yang dapat berjalan di
berbagai macam plattform seperti Windows,Linux,Mac,OS X dan Solaris . Suatu
IDE adalah lingkup pemrograman yang diintegrasikan ke dalam suatu aplikasi
perangkat lunak penyedia Graphic User Interface(GUI) editor teks atau
kode,kompiler atau interpreter dan debugger. Netbeans merupakan software
development yang Open Source, dengan kata lain software ini di bawah
pengembangan bersama, bebas biaya (Haqi dan Setiawan ,2019:4).
11
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan
pengguna yang sangat luas, komunitas yang terus tumbuh dan memiliki hampir
100 mitra.Sun Microsystem mendirikan proyek open source Netbeans pada bulan
juni 2000 dan terus menjadi sponsor utama. Software ini adalah produk yang
bebas dengan tanpa batasan bagaimana digunakan. NetBeans IDE mendukung
pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile).
Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.
C. Basis Data
Menurut Yanto (2016:11),“Database atau basis data adalah himpunan
kelompok data yang saling berhubungan dan diorganisasi sedemikian rupa agar
dapat dimanfaatkan kembali dengan cepat dan mudah ”. Adapun basis data yang
digunakan dalam pembuatan program ini antara lain :
1. XAMPP
Menurut Nugroho dalam Hendrianto (2014:59) , mengemukakan bahwa:
XAMPP merupakan merupakan paket php berbasis open source yang
dikembangkan oleh sebuah komunitas Open Source. Dengan menggunakan
XAMPP kita tidak perlu lagi melakukan penginstalan program yang lain
karena semua kebutuhan telah disediakan oleh XAMPP. Beberapa paket
yang telah disediakan adalah Apache, MySql, Php, Filezila, dan
Phpmyadmin.
XAMPP berperan sebagai server web pada komputer lokal. XAMPP juga
dapat disebut sebuah Cpanel server virtual, yang dapat membantu melakukan
preview sehingga dapat dimodifikasi website tanpa harus online atau terakses
dengan internet. Sebagai informasi kata XAMPP merupakan singkatan dari:
a. X: berarti program ini dapat dijalankan diberbagai platform, misalnya
Windows, Linux, mac OS, dan Solaris.
12
b. A: Apache, merupakan aplikasi web server, dan bertugas untuk
menghasilkan halaman web yang benar kepada user berdasarkan kode PHP
yang dituliskan oleh pembuat halaman web. Jika diperlukan juga
berdasarkan kode PHP yang dituliskan, maka dapat saja suatu database
diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung
halaman web yang dihasilkan.
c. M: MySQL, merupakan aplikasi database server. Pengembangnya disebut
Structured Query Language (SQL). SQL merupakan bahasa terstruktur yang
digunakan untuk mengolah database beserta isinya. Pengguna dapat
memanfaatkan MySQL untuk menambahkan, mengubah dan menghapus
data yang berada dalam database.
d. P: PHP, bahasa pemrograman lainnya yang serupa, dan lain sebagainya.
2. MySQL
Menurut Sunarfrihantono dalam Hendrianto (2014:59) ,”MySQL adalah
multiuser database yang menggunakan bahasa Structured Query Language (SQL).
MySQL dalam operasi client server melibatkan server daemon MySQL disisi
server dan berbagai macam program serta library yang berjalan disisi client “.
MySQL bersifat open source dan menggunakan SQL (Structured Query
Languange). MySQL biasa dijalankan diberbagai platform misalnya windows,
linux, dan lain sebagainya.
D. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan Shalahuddin (2016:28), 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
13
hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain,
pengodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar
model air terjun:
Gambar II.1
Ilustrasi model waterfall
Tahapan-tahapan model pengembangan perangkat lunak menggunakan model
waterfall terurut sebagai berikut:
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
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
14
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 di dokumentasikan.
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 software yang sudah ada, tapi tidak untuk
membuat software baru.
15
2.2. Tools Program
A. Enterprise Relationship Diagram (ERD)
Menurut Sukamto dan Sallahudin (2016:53) Entity Relationship
Diagram (ERD) adalah “bentuk paling awal dalam melakukan perancangan
basis data relasional”.
ERD terdiri dari 3 komponen utama , yaitu (Sukamto dan Sallahudin,
2016:50) :
1. Entitas (Entity)
Entitas adalah data inti yang akan disimpan, bakal tabel pada basis data,
benda yang memiliki data dan harus disimpan datanya agar dapat
diakses oleh aplikasi komputer.
2. Atribut (Attribute)
Atribut merupakan field atau kolom data yang butuh disimpan dalam
suatu entitas. Atribut digambarkan dalam bentuk lingkaran elips.
Macam-macam atribut:
a. Atribut Sederhana (Simple Attribute)
Atribut sederhana adalah atribut yang nilainya tidak dapat dibagi
lagi menjadi banayak atribut yang lebih kecil. Contoh atribut
sederhana adalah harga.
b. Atribut Komposit (Composite Attribute)
Atribut komposit adalah atribut gabungan yang nilainya dapat
dipecah menjadi bagian yang lebih kecil. Atau sering disebut
16
atribut yang terdiri dari beberapa atribut kecil didalamnya. Contoh
atribut komposit adalah alamat.
c. Atribut Bernilai tunggal (Single Values Attribute)
Atribut bernilai tunggal adalah jenis atribut yang nilainya hanya
satu dari suatu entitas. Contoh atribut bernilai tunggal adalah
tanggal_lahir dari enitas mahasiswa.
d. Atribut Bernilai Banyak (Multivalues Attribute)
Atribut bernilai banyak adalah jenis atribut yang nilainya lebih dari
satu dalam suatu entitas tertentu. Contoh atribut bernilai banyak
adalah hobi dimungkinkan bahwa mahasiswa memiliki lebih dari
dari satu hobi.
e. Atribut Turunan (Derived Attribute)
Atribut turunan adalah jenis atribut yang nilainya di peroleh dari
atribut yang lain. Contoh atribut turunan adalah masa_bakti dari
entitas pegawai. Atribut masa_bakti akan muncul nilainya ketika
atribut tanggal_masuk_kerja sudah ada niainya.
f. Atribut Identitas (Key Attribute)
Atribut identitas adalah atribut yang dijadikan sebagai kunci pada
suatu table. Sifat atribut identitas ini unik, tidak ada yang
menyamai, atribut identitas terdiri dari beberapa jenis yaitu:
1) Super Key
Super Key adalah satu atribut atau kumpulan atribut yang
secara unik mengidentifikasi sebuah baris di dalam relasi atau
17
himpunan dari satu atau lebih entitas yang dapat digunakan
untuk mengidentifikasi secara unik sebuah entitas dalam set
entitas.
2) Candidate Key
Candidate key adalah atribut yang menjadi determinan yang
dapat dijadikan identitas baru pada sebuah relasi. Biasanya
super key minimum.
3) Primary Key
Primary key adalah kandidat key yang dipilih untuk
mengidentifikasi basis data secara unik dalam relasi.
4) Alternative Key
Alternative key adalah candidate key yang tidak terpilih sebagai
primary key atau atribut untuk menggantikan kunci utama.
5) Foreign Key
Foreign key adalah atribut dengan domain yang sama yang
menjadi kunci utama sebuah relasi, tetapi pada relasi lain atribut
tersebut sebagai atribut biasa.
6) Composite Key
Composite key adalah kunci yang terdiri dari dua atribut atau
lebih. Atribut-atribut tersebut jika berdiri sendiri tidak menjadi
identitas baris, tetapi bila di rangkaikan menjadi satu kesatuan
akan dapat mengidentifikasi secara unik.
18
3. Tipe Relasi
Relasi yang menghubungkan antar entitas, biasanya diawali dengan
kata kerja dan digambarkan seperti belah ketupat .
Menurut Simarmata dan paryudi dalam Fridayanthie dan Mahdiati (2016:132),
“Logical Record Structured (LRS) adalah representasi dari struktur record-
record pada tabel-tabel yang terbentuk dari hasil relasi antar himpunan entitas”.
Menentukan kardinalitas, jumlah tabel, dan ForeignKey (FK).
Adapun bentuk kardinalitas yang mengubungkan antar entitas adalah sebagai
berikut :
a. Kardinalitas One to One
Kardinalitas one to one terjadi jika satu entitas X hanya berelasi dengan
satu entitas Y, ataupun sebaliknya. Sebagai contoh satu pegawai studi
hanya memiliki satu pendamping.
b. Kardinalitas One to Many
Kardinalitas one to many terjadi jika satu entitas X berelasi dengan
banyak entitas Y, ataupun sebaliknya. Sebagai contoh satu dosen
mengampu banyak mahasiswa.
c. Kardinalitas Many to Many
Kardinalitas many to many terjadi jika banyak entitas X berelasi dengan
banyak entitas Y, ataupun sebaliknya. Sebagai contoh banyak
mahasiswa belajar banyak matakuliah.
Berikut adalah cara membentuk skema database atau LRS (Logical Record
Strutured) berdasarkan Entity Relationship Diagram:
19
1. Jika relasinya satu-ke-satu, maka foreign key diletakan pada salah satu
dari dua entitas yang menyatukan kedua entitas tersebut.
2. Jika relasinya satu-ke-banyak, maka foreign key diletakan pada entitas
Many.
3. Jika relasinya banyak-ke-banyak, maka dibuat “file konektor” yang berisi
dua foreign key yang berasal dari kedua entitas.
B. Pengkodean
Menurut Jogiyanto (2016:384) ,struktur pengkodean adalah”Suatu
susunan digit(angka),huruf dan karakter-karakter khusus yang dapat
dirancang dalam bentuk kode”. Kode dapat digunakan untuk
mengklasifikasikan data, memasukkan data ke dalam komputer dan untuk
mengambil bermacam-macam informasi yang berhubungan dengannya.
Ada beberapa tipe kode yang dapat digunakan antara lain sebagai
berikut:
1. Kode Urut Nomor
Kode yang disusun urut nomor. Agar setiap kode mempunyai jumlah
angka (digit) yang sama perlu direncanakan dulu jumlah digitnya, misal
jumlah digitnya sebanyak empat angka maka kodenya akan dimulai
dengan 0001 dan diakhiri 9999. Kode urut ini sederhana, tetapi tidak
memenuhi persyaratan fleksibilitas. Sebaiknya kode urut ini digunakan
untuk memberi nomor (kode) dokumen atau bukti transaksi.
2. Kode Kelompok
20
Kode kelompok membagi data ke dalam kelompok tertentu. Tiap
kelompok akan diberi kode dengan angka, sehingga masing-masing
posisi angka kode mempunyai arti.
3. Kode Blok
Dalam kode blok, setiap kelompok data diberi kode dalam blok nomor
tertentu. Cara pemberian kode ini dapat memenuhi persyaratan
fleksibilitas sehingga dapat digunakan untuk pemberian kode pada
rekening.
4. Kode Desimal
Setiap kelompok data akan diberi kode 0 sampai 9. Oleh karenanya
pengelompokan data harus dilakukan maksimum dalam sepuluh
kelompok.
5. Kode Mnemonic
Merupakan singkatan dari karakteristik data. Sebaiknya kode mnemonic
ini digunakan bila data atau elemennya (itemnya) tidak terlalu banyak,
sehingga tidak menyulitkan pemakaiannya. Bila terlalu sering perubahan
itemnya dan banyak datanya maka pemakai kode akan sulit
mengingatnya.
6. Kode Bar
Digunakan untuk industri makanan dan minuman diluar negri
(misal:USA) yang menggunakan Universal Product Code (UPC). Tiap
pengusaha makanan dan minuman yang berpartisipasi akan diberikan 10
21
digit sebagai kode produknya. Lima digit pertama berisi kode
perusahaan, lima digit berikutnya berisi kode produk.
C. HIPO (Hierarky Input Proses Output)
Menurut Jogiyanto (2016:787) mengemukakan bahwa :
HIPO (Hierarchy Input Proses Output) merupakan metodologi yang
dikembangkan dan didukung oleh IBM. HIPO sebenarnya adalah 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 di dalam sistem digambarkan oleh fungsi utamanya.
Fungsi-fungsi dari sistem digambarkan oleh HIPO dalam tiga
tingkatan. HIPO menggunakan tiga macam diagram untuk masing-
masing tingkatannya, yaitu sebagai berikut:
1. Visual tables of contents (VTOC)
Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem
secara berjenjang. VTOC dari paket HIPO disebut juga dengan
hierarchy diagram atau hierarchy chart.
2. Overview diagrams
Overview diagrams 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.
3. Detail diagram
22
Detail diagrams merupakan tingkatan yang paling rendah di diagram
HIPO. Diagram ini berisi dengan elemen-elemen dasar dari paket
yang menggambarkan secara rinci kerja dari fungsi.
D. Diagram Alir Program (Flowchart)
1. Pengertian
Menurut Wibawanto (2017:36), Bagan alir (flowchart) adalah
“suatu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses secara mendetail dan hubungan antara suatu proses
(instruksi) dengan proses lainnya dalam suatu program”.
2. Bentuk Flowchart
a. Program Flowchart
Bagan alir program (program flowchart) merupakan bagan
yang menjelaskan secara rinci langkah-langkah dari proses
program. Bagan alir program dibuat dari derivikasi bagan alir
sistem.
b. Bagan alir sistem (system flowchart)
Merupakan bagan yang menunjukan arus pekerjaan secara
keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan
dari prosedur-prosedur yang ada di dalam sistem. Bagan alir
sistem menunjukan apa yang dikerjakan di sistem.
3. Teknik Pembuatan
23
a. General Way
Merupakan teknik pembuatan flowchart yang digunakan pada
penyusunan logika dalam suatu program perulangan proses
secara tidak langsung (Non Direct Loop).
b. Iteration Way
Merupakan teknik pembuatan flowchart yang digunakan
pada penyusunan logika program yang cepat dan perulangan
proses yang terjadi bersifat langsung (Direct Loop).
E. Implementasi dan Pengujian Unit
Implementasi merupakan suatu metode yang digunakan untuk
menspesifikasikan rancangan logikal ke dalam kegiatan yang
sesungguhnya dari suatu sistem informasi yang telah di bangun. Metode ini
dilakukan dengan menerapkan sistem baru. Dalam implementasi, kegiatan
yang dilakukan adalah programming dan testing, training dan sistem
perubahan (Sunarti 2015:76).
Menurut Sukamto dan Shalahuddin (2016:275), Tahapan pengujian
yang secara keseluruhan adalah sebagai berikut:
Sumber : Sukamto dan Shalahuddin (2016:274)
Gambar II.2
Pengujian Perangkat Lunak
24
Fokus pengujian unit berada pada usaha verifikasi pada unit
terkecil pada desain perangkat lunak. Pengujian unit dilakukan untuk
memeriksa aliran masukan (input) dan keluaran (output) dari unit sudah
sesuai yang diinginkan atau belum. Pengujian unit dilakukan saat kode
program dibuat (Sukamto dan Shalahuddin 2016:277).
Menurut Sukamto dan Shalahuddin (2016:274), “Black-Box
Testing (pengujian kotak hitam) yaitu menguji 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”.
Pengujian kotak hitam dilakukan dengan membuat kasus uji yang
bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah
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 yang dibuat
adalah:
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, misalnya nama pemakai benar tapi kata sandi
salah, atau sebaliknya, atau keduanya salah.