BAB II LANDASAN TEORI - repository.bsi.ac.id · Software yang multiplatform sesuai dengan prinsip...
Transcript of BAB II LANDASAN TEORI - repository.bsi.ac.id · Software yang multiplatform sesuai dengan prinsip...
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Konsep dasar program berisi teori-teori tentang definisi program, bahasa
pemrograman (programming language) beserta jenis-jenis bahasa pemrograman
pemrogram (programmer) dan aktivitas-aktivitas dalam pembuatan program. Dan
di dalam konsep dasar pemrograman ini juga berisi teori-teori tentang software
yang Penulis pakai dalam membuat program rental mobil yaitu definisi dari Java
Netbeans 8.2 dan MySQL.
A. Pengertian Program
Menurut Kusrini dalam (Agustini, 2017: 115) “Program adalah kata
pernyataan kombinasi yang disusun dan dirangkai menjadi satu kesatuan prosedur
berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan
dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh
komputer.”
Menurut Sukamto & M. Shalahuddin (2015: 101-103) mengemukakan
bahwa:
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat
lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek
yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi
berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak
dibangun melalui pendekatan objek secara sistematis. Metode berorientasi
objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas.
Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman
berorientasi objek:
1. Bahasa Pemrograman Smalltalk;
8
2. Bahasa Pemrograman Eiffel;
3. Bahasa pemrograman C++;
4. Bahasa Pemrograman (web) PHP;
5. Bahasa pemrograman Java.
B. Bahasa Pemrograman
Menurut Mardiani et al., (2017: 29) “Java adalah bahasa pemrograman yang
berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem
operasi”.
Menurut Nugroho dalam (Agustini, 2017: 115) mengatakan bahwa:
Netbeans merupakan salah satu IDE yang dikembangkan dengan bahasa
pemrograman java. Netbeans mempunyai lingkup pemrograman yang
terintegrasi dalam suatu perangkat lunak yang didalamnya menyediakan
pembangunan program GUI, text editor, compiler, dan interpreter.
Netbeans adalah sebuah perangkat lunak open source sehingga dapat
digunakan secara gratis untuk keprluan komersial maupun nonkomersial
yang didukung oleh Sun Microsystem.
Java memiliki Java Language Spesification yang merupakan sebuah
pengertian teknis dari bahasa pemrograman Java yang di dalamnya terdapat
aturan-aturan penulisan sintaks dan semantik Java. Selain itu, Application
Programming Interface (API) yaitu sebuah layer yang berisi class-class yang
sudah diartikan dan antarmuka pemrograman yang akan membantu para
pengembang aplikasi dalam merancang sebuah aplikasi (Widayanto et al., 2017:
23).
Menurut (Widayanto et al., 2017: 23) pada saat ini dikenal ada tiga buah API dari
Java yaitu:
1. Java 2 Standard Edition (J2SE)
Menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, cross-
platform, dan bersifat client-side standalone atau applet.
9
2. Java 2 Enterprise Edition (J2EE)
Menyediakan kakas untuk membangun dan menjalankan multitier enterprise
application yang bersifat server-side.
3. Java 2 Micro Edition (J2ME)
Menyediakan beragam consumer electronic product, seperti pager, smart card,
cell phone, handled PDA, dan set-top box.
Dari penjelasan di atas adapun kelebihan Java menurut (Widayanto et al., 2017:
23), seperti:
1. Software yang multiplatform sesuai dengan prinsip tulis sekali, jalankan
dimana saja.
2. OOP (Object Oriented Programming) yang artinya semua aspek yang terdapat
di Java adalah Objek.
3. Class Library yang lengkap, Java terkenal dengan kelengkapan
library/perpustakaan yang memudahkan untuk membangun aplikasi.
4. Memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak
pemrograman C++ untuk pindah ke Java.
5. Memiliki fasilitas pengaturan penggunaan memori yang tidak perlu melakukan
pengaturan memori secara langsung.
Sedangkan kekurangan Java menurut (Widayanto et al., 2017: 23) yaitu:
1. Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan
platform lain.
2. Mudah didekompilasi karena algoritma yang digunakan program akan lebih
sulit disembunyikan dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang banyak.
10
Java NetBeans 8.2 menyediakan berbagai perangkat kontrol yang dapat
digunakan untuk membuat program aplikasi dalam sebuah form, baik aplikasi
kecil, sederhana hingga ke aplikasi pengolahan database serta pembuatan laporan.
Dalam Java NetBeans 8.2 terdapat beberapa komponen dasar yang terdiri dari
beberapa bagian utama.
NetBeans mempunyai beberapa bagian yang memudahkan pengembang
untuk membuat suatu aplikasi. Pada pertama kali Anda menjalankan NetBeans
akan tampak halaman Start Page yang membuat pengembang mudah dan
mengerti apa yang harus dilakukan. Selain itu juga terdapat beberapa panel yang
menampilkan proyek yang telah dibuat (Projects), menampilkan file-file pada
proyek (Files), menampilkan plugin-plugin yang sudah dimasukkan ke dalam
NetBeans (Services), dan lain-lain.
C. Basis Data
Menurut Sukamto & M. Shalahuddin (2015: 43-44) “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”.
DBMS (Database Management System) atau dalam bahasa Indonesia sering
disebut sebagai Sistem Manajemen Basis Data adalah sistem aplikasi yang
digunakan untuk menyimpan, menghapus, mengelola, dan menampilkan data.
Berikut ini adalah 4 macam DBMS (Database Management System) versi
komersial yang paling banyak digunakan di dunia saat ini Sukamto & M.
Shalahuddin (2015: 44-45), yaitu:
11
1. Oracle;
2. Microsoft SQL Server;
3. IBM DB2;
4. Microsoft Access.
Sedangkan DBMS (Database Management System) versi open source yang
cukup berkembang dan paling banyak digunakan saat ini adalah sebagai berikut:
1. MySQL;
2. PostgreSQL;
3. Firebird;
4. SQLite.
Di sini penulis menggunakan DBMS (Database Management System)
MySQL untuk melengkapi database di dalam programnya. MySQL merupakan
salah satu jenis database server yang sangat terkenal yang digunakan siapapun di
dunia. MySQL termasuk jenis RDBMS (Relational Database Management
System). Oleh karena itu, istilah seperti tabel, baris, dan kolom digunakan pada
MySQL. MySQL adalah sebuah perangkat lunak sistem manajemen basis data
yang multi-thread dan multi-user dengan sekitar 6 juta instalasi di seluruh dunia
Maya (2015: 6).
Sumber : www.mysql.com
Gambar II.1. Logo MySQL
12
D. Model Pengembangan Perangkat Lunak
Menurut Sukamto & M. Shalahuddin (2015: 28-30) mengemukakan bahwa:
Model SDLC air terjun (waterfall) sering juga disebut model sekuensial
linier (sequential linear) atau 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).
Berikut adalah gambar model air terjun:
Sumber : Sukamto & M. Shalahuddin (2015: 29)
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar mudah dipahami perangkat
lunak seperti apa yang dibutuhkan oleh pengguna. Spesifikasi kebutuhan
perangkat lunak pada tahap ini perlu didokumentasikan Sukamto & M.
Shalahuddin (2015: 29).
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
Sistem / Rekayasa
Informasi
Analisis Pengodean Pengujian Design
Gambar II.2. Ilustrasi Model Waterfall
13
representasi desain agar dapat di implementasikan menjadi program pada tahap
selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu
didokumentasikan Sukamto & M. Shalahuddin (2015: 29).
3. Pembuatan kode program
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari
tahapan ini adalah program komputer sesuai dengan desain yang telah dibuat
pada tahap desain Sukamto & M. Shalahuddin (2015: 29).
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) pada pengguna dan memastikan keluaran
yang dihasilkan sesuai yang diinginkan Sukamto & M. Shalahuddin (2015: 30).
5. Pendukung (support) atau pemeliharaan (maintenance)
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan
ketika sudah dikirimkan ke pengguna. 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 mengulai proses pengembangan mulai dari analisis
spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk
membuat perangkat lunak baru Sukamto & M. Shalahuddin (2015: 30).
Dari kenyataan yang terjadi sangat jarang model air terjun dapat dilakukan
sesuai alurnya karena sebab berikut:
1. Perubahan spesifikasi perangkat lunak terjadi di tengah alur perkembangan.
14
2. Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di awal
alur perkembangan. Pelanggan sering kali butuh contoh (prototype) untuk
menjabarkan spesifikasi kebutuhan sistem yang lebih lanjut.
3. Pelanggan tidak mungkin bersabar mengakomodasi perubahan yang diperlukan
di akhir alur pengembangan.
Dengan berbagai kelemahan yang dimiliki model air terjun tapi model ini
telah menjadi dasar dari model-model yang lain dalam melakukan perbaikan
model pengembangan perangkat lunak. Model air terjun sangat cocok digunakan
kebutuhan pelanggan sudah sangat dipahami dan kemungkinan terjadinya
perubahan kebutuhan selama pengembangan perangkat lunak kecil.
2.2. Teori Pendukung
A. Entity Relationship Diagram
1. Pengertian Entity Relationship Diagram (ERD)
Menurut Kursini dalam (Rohim et al., 2016: 110) “ERD merupakan notasi
grafis dalam pemodelan data konseptual yang mendeskripsikan hubungan antar
penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan
antar data. Karena hal ini relative kompleks”.
2. Komponen ERD (Entity Relationship Diagram)
Menurut Kursini dalam (Rohim et al., 2016: 110) dalam sistem Entity
Relationship Diagram (ERD), terdapat beberapa komponen penting diantaranya:
a. Entitas
Entitas adalah suatu objek yang dapat diidentifikasikan dalam lingkungan
pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang
15
akan dibuat. Contoh entitas seperti: barang, mahasiswa, dan lain-lain.
Entitas digambarkan dalam bentuk persegi empat.
b. Atribut
Atribut merupakan pendeskripsian karakteristik dari entitas,atribut
disimbolkan dengan bentuk lingkaran atau elips. Atribut yang menjadi kunci
entitas atau key diberi garis bawah.
c. Relasi atau Hubungan
Relasi menunjukan adanya hubungan diantara sejumlah entitas yang berasal
dari himpunan entitas yang berbeda. Relasi disimbolkan dengan bentuk
belah ketupat.
d. Kardinalitas
Derajat relationship atau yang sering disebut kardinalitas antara lain sebagai
berikut:
1) Satu-ke-satu (one-to-one), setiap satu entitas hanya dapat berhubungan
dengan satu entitas yang lain.
2) Satu-ke-banyak (one-to-many), setiap satu entitas dapat berhubungan
dengan lebih dari satu entitas tapi tidak sebaliknya.
3) Banyak-ke-banyak (many-to-many), setiap entitas dapat berhubungan
dengan banyak entitas lain dan demikian pula sebaiknya.
3. Logical Relationship Diagram (LRS)
Logical Record Structure (LRS) merupakan sebuah model sistem yang
digambarkan dengan menggunakan sebuah ERD yang akan mengikuti pola/aturan
pemodelan tertentu dalam kaitannya dan dikonversi ke LRS, maka perubahan
yang terjadi adalah mengikuti aturan-aturan sebagai berikut: setiap entitas akan
16
diubah ke dalam bentuk simbol kotak, sebuah atribut relasi disatukan dalam
sebuah kotak bersama entitas jika hubungan yang terjadi pada ERD 1:M (one-to-
many) atau tingkat hubungan 1:1 (one-to-one), sebuah relasi dipisah dalam sebuah
kotak tersendiri (menjadi entitas baru) jika tingkat hubungannya M:M (many to
many) dan memiliki foreign key sebagai primary key yang diambil dari kedua
entitas yang sebelumnya saling berhubungan menurut Hasugian dan Shidiq dalam
(Tasiati & Corie Mei Hellyana, 2017: 68).
B. Pengkodean
Menurut Hartono (2014: 384) “Pengkodean adalah suatu susunan digit
(angka), huruf dan karakter-karakter khusus yang dapat dirancang dalam bentuk
kode”.
Ada beberapa macam tipe dari kode yang dapat digunakan di dalam sebuah
sistem informasi menurut Hartono (2014: 386), adalah:
1. Kode Mnemonic (Mnemonic Code)
Kode mnemonic digunakan untuk tujuan supaya mudah diingat. Kode
mnemonic dibuat dengan dasar singkatan atau mengambil sebagian karakter
dari item yang akan diwakili dengan kode ini. Kebaikan: mudah diingat
kelemahan: kode dapat menjadi panjang.
2. Kode Urut (Sequintial Code)
Kode urut, disebut juga kode seri merupakan kode yang nilainya urut antar satu
kode dengan kode berikutnya. Kebaikan: mudah diingat, kode dapat pendek,
tapi harus unik. Kelemahan: Penambahan kode hanya dapat ditambahakan pada
akhir urutan, tidak fleksibel bila terjadi perubahan kode.
17
3. Kode Blok (Block Code)
Kode blok mengklasifikasikan item dalam kelompok blok tertentu yang
mencerminkan satu klasifikasi tertentu atas dasar maksimum yang diharapkan.
Kebaikan: nilai dari kode mempunyai arti, kode dapat ditambah atau dibuang
sebagian. Kelemahan: panjang kode tergantung dari jumlah bloknya.
4. Kode Grup (Group Code)
Kode grup merupakan kode yang berdasarkan field-field dan tiap-tiap field
kode mempunyai arti. Kebaikan: nilai dari kode mempunyai arti, mudah
diperluas, dapat menunjukan jenjang data. Kelemahan: kode dapat menjadi
panjang.
5. Kode Desimal (Decimal Code)
Mengklasifikasikan kode atas dasar 10 unit angka decimal dimulai dari angka 0
sampai angka 9 atau dari 00 sampai dengan 99 tergantung banyaknnya
kelompok.
C. Hierarky Input Process Output (HIPO)
1. Pengertian HIPO
Menurut (Widayanto et al., 2017: 21-22) mengemukakan bahwa:
HIPO (Hierarky Input Process Output) adalah alat dokumentasi program
dan alat yang dirancang sebagai alat bantu 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 sama halnya seperti cara
kerja flowchart.
2. Tingkatan Diagram HIPO
Fungsi-fungsi dari sebuah sistem dapat digambarkan oleh HIPO dalam tiga
tingkatan. Dari setiap masing-masing tingkatan digambarkan dalam bentuk
sebuah diagram tersendiri. Dengan demikian HIPO menggunakan tiga macam
18
diagram yang digunakan untuk masing-masing dalam tingkatannya menurut
Hartono (2014: 788), yaitu:
a. Diagram Daftar Isi Visual (Visual Table Of Content)
Diagram ini memuat semua modul yang ada di sistem berikut nama dan
nomornya, yang nantinya akan diperinci dalam diagram ringkas dan
diagram rinci.
b. Diagram Ringkas (Overview Diagram)
Diagram ini menunjukkan secara garis besar hubungan dari input, proses
dan output. Bagian input menunjukkan item-item data yang akan digunakan
oleg bagian proses. Bagian proses berisi sejumlah langkah-langkah yang
menggambarkan kerja dan fungsi. Bagian output berisi dengan item-item
data yang dihasilkan atau dimodifikasi oleh langkah-langkah proses.
c. Diagram Rinci (Detail Diagram)
Diagram ini merupakan diagram tingkatan yang paling rendah di diagram
HIPO. Diagram ini berisi elemen-elemen dasar dari paket yang
menggambarkan secara rinci kerja dan fungsi.
D. Diagram Alir Program (Flowchart)
1. Pengertian Flowchart
Menurut (Widayanto et al., 2017: 20) “Flowchart adalah suatu diagram
yang menggambarkan susunan logika suatu program dan industri manufakturing”.
Sedangkan menurut Jando & Paskalis Andrianus (2018: 28) “Flowchart
(bagan alir) merupakan langkah-langkah logis algoritma yang ditampilkan dalam
berbagai bentuk makna notasi visual atau grafik, sedangkan pseudocode
19
merupakan urutan langkah-langkah logis algoritma yang ditampilkan secara
deskriptif (uraian teks)”.
Ada beberapa petunjuk yang harus diperhatikan bila analis dan programmer akan
membuat flowchart Jando & Paskalis Andrianus (2018: 29), seperti:
a. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
b. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi
ini harus dapat dimengerti oleh pembacanya.
c. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas
(terminator).
d. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi
data kerja, misalkan menghitung pajak penjualan.
e. Setiap langkah dari aktivitas harus berada pada urutan yang jelas.
f. Lingkup dan range dari aktivitas yang sedang digambarkan harus ditelusuri
dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang
sedang digambarkan tidak perlu digambarkan pada flowchart yang sama.
Simbol konektor harus digunakan dan percabangannya diletakkan pada
halaman yang terpisah atau hlangkan seluruhnya bila percabangannya tidak
berkaitan dengan sistem.
g. Gunakan simbol-simbol flowchart yang standar.
2. Bentuk Flowchart
Bentuk-bentuk flowchart atau diagram alur yang sering digunakan di dalam
proses pembuatan suatu program menurut (Yulia, 2017: 29-30) adalah sebagai
berikut:
20
a. Bagan Alir Program (Program Flowchart)
b. Simbol-simbol yang menggambarkan proses secara rinci dan detail antara
instruksi yang satu dengan instruksi yang lainnya di dalam suatu program
komputer yang bersifat logika.
c. Bagan Alir Sistem (System Flowchart)
d. Simbol-simbol yang menggambarkan arus pekerjaan secara keseluruhan
atau menjelaskan urutan dari prosedur secara detail didalam suatu system
komputerisasi.
e. Bagan Alir Dokumen (Document Flowchart)
f. Disebut juga bagan alir formulir (from flowchart) atau paperwork flowchart
yang menunjukkan arus dari laporan dan formulir termasuk tembusan-
tembusannya.
g. Bagan Alir Skematik (schematic Flowchart)
Merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk
menggambarkan prosedur di dalam system.
h. Bagan Alir Proses (Process Flowchart)
Merupakan bagan alir yang banyak digunakan untuk menggambarkan suatu
prosedur.
3. Tehnik Pembuatan
Teknik pembuatan flowchart yang sering digunakan dalam membuat sebuah
flowchart menurut (Yulia, 2017: 30), yaitu:
21
a. General Way
Teknik pembuatan flowchart dengan cara ini biasanya dipakai didalam
menyusun logika suatu program, yang menggunakan pengulangan proses
secara tidak langsung (Non-Direct-Loop).
b. Iteration Way
Teknik pembuatan flowchart dengan cara ini biasanya dipakai untuk logika
program yang cepat serta bentuk permasalahan yang kompleks. Dimana
pengulangan proses yang terjadi bersifat langsung (Direct-Loop).
E. Implementasi dan Pengujian Unit
Menurut Sukamto & M. Shalahuddin (2015: 275) mengemukakan bahwa:
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 pengguna (username) dan kata sandi (password)
yang benar.
22
2. Jika user memasukkan nama pengguna (username) dan kata sandi (password)
yang salah, misalnya pengguna benar tapi kata sandi salah atau sebaliknya,
atau keduanya salah.
Suatu kegiatan yang bertujuan untuk menemukan kesalahan-kesalahan atau
kekurangan-kekurangan tentang sistem yang diterapkan dalam sebuah bentuk
program. Pengujian ini dimaksudkan untuk mengetahui hal-hal seperti fungsi
yang tidak benar atau tidak ada, kesalahan antarmuka, kesalahan pada struktur
data dan akses basis data. Di dalam pengujian sistem ini, penulis menggunakan
metode Black Box Testing.