bab ii landasan teori...7 bab ii landasan teori 2.1. konsep dasar program konsep dasar program...
TRANSCRIPT
-
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Konsep dasar program memegang peranan penting dalam merancang,
menyusun, memelihara serta mengembangkan suatu program ke dalam suatu
sarana atau media yang digunakan untuk menerapkan suatu hal atau
permasalahan sehingga berubah menjadi suatu bentuk yang baru tanpa
menghilangkan nilai-nilai dasar dari hal, data, permasalahan atau pekerjaan.
2.1.1. Program
Menurut Harumy, Windarto, dan Sulistianingsih, (2016:4) “Program
adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman,
sehingga siap untuk dijalankan pada mesin komputer. Membuat programan
seperti memberitahukan apa yang harus dilakukan kepada orang lain”.
Menurut Kadir, (2012:2), “Program adalah kumpulan instruksi yang
digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu”.
2.1.2. Bahasa Programan
Menurut Harumy, Windarto, dan Sulistianingsih, (2016:4) “Bahasa
program adalah bahasa buatan yang digunakan untuk mengendalikan perilaku
dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan
untuk memberitahu komputer tentang apa yang harus dilakukan”.
-
8
Ada beberapa bahasa programan yang digunakan untuk mendukung
dalam perancangan program disini, yaitu:
A. Netbeans
Menurut Hastuti dan Arief, (2018:1) “netbeans adalah sebuah
Integrated Development Environtment atau yang disingkat IDE yang
sangat tangguh untuk membuat aplikasi berbasis Java. Netbeans awalnya
merupakan proyek open source dari Sun Micro system namun kemudian
berpindah tangan ke Oracle”.
Sedangkan menuru Andria, (2018:3) “Netbeans merupakan Integrated
Development Environtment (IDE) berbasis Java dari sun Microsystems
yang berjalan diatas Swing. Swing merupakan sebuah teknologi java
untuk pengembangan aplikasi Desktop yang dapat berjalan berbagai
macam platforms seperti Windows, Linux, Mae OS X and Solaris”.
B. Java
Menurut Andria, (2018:1) “Java merupakan sebuah teknologi yang
diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990.
Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi
untuk membuat dan menjalankan perangkat lunak pada komputer stand
alone ataupun pada lingkungan jaringan”.
Menurut Shalahuddin, (2016:103) “Java merupakan bahasa
pemrograman objek murni karena semua kode programnya dibungkus
dalam kelas. Saat ini Sun Microsystems sudah diakuisisi Oracle
-
9
Corporation sehingga pengembangan Java diteruskan oleh Oracle
Corporation”.
Menurut Hastuti dan Arief, (2018:1) “Java adalah James Gosling
beliau menciptakan bahasa ini saat masih bergabung di Sun
Microsystems yang saat ini sudah menjadi bagian dari Oracle dan dirilis
tahun 1995. Bahasa java dijalankan menggunakan JVM atau Java Virtual
Machine, hal ini yang menyebabkan Java lebih fleksibel dan bisa
dijalankan di System operasi Windows, Mac OS atau Linux. Sesuai
dengan slognya yaitu “Write once, run anywhere”.
Ada beberapa kelebihan java, yaitu:
1. Object Oriented Programing atau OOP sebuah konsep programan yang
berorientasi pada objek, tujuan dari konsep ini untuk memecah masalah
programan menjadi beberapa bagian-bagian kecil.
2. Lengkapnya library atau perpustakaan (kumpulan program yang sudah
dibuat untuk digunakan kembali). Hal ini memudahkan pengguna untuk
membangun aplikasinya.
3. Memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik
banyak pengguna C++ untuk pindah ke Java.
C. PhpMyAdmin
Menurut Madcoms, (2016:186) “PhpMyAdmin adalah sebuah aplikasi
open source yang berfungsi untuk memudahkan manajemen MySQL.
Dengan menggunakan PhpMyAdmin, Anda dapat membuat tabel, meng-
-
10
insert, menghapus dan meng-update data dengan GUI dan terasa lebih
mudah, tanpa perlu mengetikan perintah SQL secara manual”.
Menurut Rozaq, Lestari, dan Handayani, (2015), “PhpMyAdmin adalah
perangkat lunak yang bebas ditulis dalam bahasa programan PHP yang
digunakan untuk menangani administrasi MySQL melalui Jejaring Jagat
Jembar (World Wide Web).
2.1.3. Basis Data
Menurut Adyanata, (2016:2) “Basis data merupakan gabungan file
data yang dibentuk dengan hubungan atau relasi yang logis dan dapat
diungkapkan dengan catatan serta bersifat independen”.
Menurut Priyadi, (2014:2) “Basis Data adalah sekumpulan fakta
berupa representasi tabel yang saling berhubungan dan disimpan dalam
media penyimpanan secara digital”.
Menurut Shalahuddin, (2016:43) “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 diakses dengan
mudah dan cepat”.
A. XAMPP
Menurut Madcoms, (2016:7) “Xampp adalah sebuah paket kumpulan
software yang terdiri dari Apache, MySQL, PhpMyAdmin, PHP, Pert,
Filezilla dan lain-lain”.
-
11
Sedangkan menurut Haqi, (2017:7) “Xampp adalah perangkat lunak
bebas (free software), yang mendukung untuk banyak sistem operasi,
dan merupakan kompilasi dari beberapa program”.
B. MySQL
Menurut Nugroho, (2019:133) “MySQL meruupakan database yang
paling digemari dikalangan programmer web, dengan alasan bahwa
program ini merupakan database yang sangat kuat dan cukup stabil
untuk digunakan sebagai media penyimpanan data”.
Menurut Yanto, (2016:72) “MySQL merupakan system manajemen
database yang bersifat open source atau gratis”.
Menurut Haqi, (2017:8) “MySQL adalah sebuah perangkat lunak sistem
manajemen basis data SQL (database management system) atau
DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di
seluruh dunia”.
2.1.4. Model Pengembangan Perangkat Lunak
Menurut Shalahuddin, (2016:28) “Model SDLC air terjun (waterfall)
sering juga disebut model sekuensial linier (squential linear) atau alur hidup
klasik (classic life cycle)”. Model air terjun menyediakan pendekatan alur
hidup perangkat lunak secara sekuential atau terurut dimulai dari analisis,
desain, pengodean, pengujian, dam tahap pendukung (support).
-
12
Berikut adalah gambar model air terjun:
Sumber : Sukamto dan Shalahuddin (2016:28)
Gambar II.1. Ilustrasi Model Waterfall
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasi 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.
Sistem Rekayasa
Informasi
Analisa Desain Pengkodean Pengujian
-
13
Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu
didokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranslasikan kedalam 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 logic,
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 mengalami
perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi
karena adanya kesalahan yang mungkin 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.
Dari kenyataan yang terjadi sangat jarang model air terjun dapat
dilakukan sesuai alurnya karena sebagai berikut:
a. Perubahan spesifikasi perangkat lunak terjadi ditengah alur
pengembangan.
-
14
b. Sangat sulit bagi pelanggan untuk mendefinisikan semua
spesifikasi diawal alur pengembangan. Pelanggan sering kali
butuh contoh (prototype) untuk menjabarkan spesifikasi
kebutuhan sistem lebih lanjut.
c. Pelanggan tidak mungkin bersabar mengakomodasi perubahan
yang diperlukan diakhir 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.
2.2. Peralatan Program (Tools Program)
2.2.1. ERD
Menurut Yanto, (2016:32) “ERD adalah suatu diagram untuk
menggambarkan desain konseptual dari model konseptual suatu basis data
nasional. Erd juga merupakan gambaran yang merelasikan antara objek yang
satu dengan objek yang lain dari objek di dunia nyata yang sering dikenal
dengan hubungan antar entitas”.
Menurut Adyanata, (2016:38) “Model data dengan diagram hubungan
entitas (Entity Relationship Diagram/ERD) adalah suatu pemodelan berbasis
pada persepsi dunia nyata yang mana terdiri dari kumpulan objek dasar
yang disebut dengan entitas (entity) dan hubungan diantara objek-objek
tersebut dengan menggunakan perangkat konseptual dalam bentuk diagram”.
Menurut Rosa dan Shalahuddin, (2016:50) “ERD dikembangkan
berdasarkan teori himpunan dalam bidang matematika. ERD digunakan
untuk pemodelan basis data relasional. Sehingga jika penyimpanan basis
-
15
data menggunakan OODBMS maka perancangan basis data tidak perlu
menggunakan”.
a. Simbol ERD
Simbol Deskripsi
Entitas / entity
Entitas merupakan data inti yang
akan disimpan; bakal tabel pada
basis data; benda yang memiliki
data dan harus disimpan datanya
agar dapat diakses oleh aplikasi
komputer; penamaan entitas
biasanya lebih ke kata benda dan
belum merupakan nama tabel.
Atribut
Field atau kolom data yang butuh
disimpan dalam suatu entitas.
Atribut kunci primer
Field atau kolom data yang butuh
disimpan dalam suatu entitas dan
digunakan sebagai kunci akses
record yang diinginkan; biasanya
berupa id; kunci primer dapat
lebih dari satu kolom, asalkan
kombinasi dari bersifat unik
(berbeda tanpa ada yang sama).
Nama_entitas
Nama_atribut
Nama_kunci_primer
-
16
Simbol Deskripsi
Atribut multinilai / multivalue
Field atau kolom data yang butuh
disimpan dalam suatu entitas yang
dapat memiliki nilai lebih dari
satu.
Relasi
Relasi yang menghubungkan antar
entitas; biasanya diawali dengan
kata kerja.
Asosiasi / association
N
Penghubung antara relasi dan
entitas dimana di kedua ujungnya
memiliki multiplicity kemungkinan
jumlah pemakaian.
Kemungkinan jumlah maksimum
keterhubungan antara entitas satu
dengan entitas yang lain disebut
dengan kardinalitas. Misalkan ada
kardinalitas 1 ke N atau sering
disebut dengan one to many
menghubungkan entitas A dengan
entitas B.
Nama_atribut
Nama_relasi
-
17
2.2.2. Logical Record Structured (LRS)
Menurut Fridayanthie dalam Lestari, Tabrani, (2018), “ Logical Record
Structured (LRS) adalah representasi dari struktur record-record pada tabel-
tabel yang berbentuk dari hasil relasi antar himpunan entitas”.
2.2.3. Pengkodean
Menurut Jogiyanto, (2014:384) “Kode digunakan untuk tujuan
mengklasifikasikan data, memasukkan data ke dalam komputer dan untuk
bermacam-macam informasi yang berhubungan dengannya. Kode dapat
dibentuk dari kumpulan angka, huruf dan karakter-karakter khusus
(misalnya %, ?, -, $, #, &, ;, dan lai sebagainya)”.
Agar mendapat struktur kode yang baik, maka harus diperhatikan hal-
hal sebagai berikut:
1. Harus mudah diingat
Supaya kode mudah diingat, maka dapat dilakukan dengan cara
menghubungkan kode tersebut dengan obyek yang diwakili dengan
kodenya.
2. Harus Unik
Kode harus unik untuk masing-masing item yang diwakilinya. Unik
berarti tidak ada kode yang kembar.
3. Harus fleksibel
Kode harus fleksibel sehingga memungkinkan perubahan-perubahan
atau penambahan item baru dapat tetap diwakili oleh kode.
-
18
4. Harus efisien
Kode harus sependek mungkin, selain mudah diingat juga akan efisien
bila direkam di simpanan luar komputer.
5. Harus konsisten
Bilamana mungkin, kode harus konsisten dengan kode yang telah
dipergunakan.
6. Harus distandardisasi
Kode harus distandarisasi untuk seluruh tingkatan dan departemen
dalam organisasi. Kode yang tidak standar akan mengakibatkan
kebingungan, salah pengertian dan dapat cenderung terjadi kesalahan
pemakaian bagi yang menggunakan kode tersebut.
7. Spasi dihindari
Spasi di dalam kode sebaiknya dihindari, karena dapat menyebabkan
kesalahan di dalam menggunakannya.
8. Hindari karakter yang mirip
Karakter-karakter yang hampir serupa bentuk dan bunyi
pengucapannya sebaiknya tidak digunakan dalam kode.
9. Panjang kode harus sama
Masing-masing kode yang sejenis harus mempunyai panjang yang
sama.
Ada beberapa macam tipe dari kode yang dapat digunakan dalam
sistem informasi, diantaranya adalah kode mnemonik (mnemonic code), kode
urut (squential code), kode blok (block code), kode group (group code), dan
kode desimal (decimal code). Masing-masing tipe dari kode tersebut
-
19
mempunyai kebaikan dan kelemahan tersendiri. Dalam praktek, tipe-tipe kode
yang ada dapat dikombinasikan.
1. Kode Mnemonik (Mnemonic Code)
Kode mnemonik (mnemonic code) digunakan untuk tujuan supaya
mudah diingat. Kode mnemonik dibuat dengan singkatan atau
mengambil sebagian karakter dari item yang akan diwakili dengan kode
ini. Misalnya kode “P” untuk mewakili Pria dan kode “W” untuk
Wanita akan mudah untuk diingat.
2. Kode Urut (Squential Code)
Kode urut (squential code) disebut juga dengan kode seri (serial code)
merupakan kode yang nilainya urut antara satu kode dengan kode
berikutnya.
Contoh:
001 Kas
002 Piutang dagang
3. Kode Blok (Block code)
Kode blok (black code) mengklasifikasikan item ke dalam kelompok
blok tertentu yang mencerminkan satu klasifikasi tertentu atas dasar
pemakaian maksimum yang diharapkan.
Contoh:
Blok Kelompok
1000 - 1999 Aktiva Lancar
4. Kode Group (Group Code)
Kode group (group code) merupakan kode yang berdasarkan field-field
dan tiap-tiap field kode mempunyai arti.
-
20
5. Kode Desimal (Decimal Code)
Kode desimal (decimal code) mengklasifikasikan kode atas dasar 10
unit angka desimal dimulai dari angka 0 sampai dengan angka 9 atau
dari 00 sampai dengan tergantung dari banyaknya kelompok.
2.2.4. HIPO (Hierarky Input Process Output)
1. Pengertian HIPO
Menurut Jogiyanto, (2014:787) “HIPO (Hierarchy plus 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 disain
dan teknik dokumentasi dalam siklus pengembangan sistem. HIPO
berbasis pada fungsi, yaitu tiap-tiap modul di dalam sistem
digambarkan oleh fungsi utamanya”.
2. Tingkatan Diagram HIPO
Fungsi-fungsi dari sistem digambarkan oleh HIPO dalam tiga
tingkatan yaitu:
a. Visual table of contents (VTOC)
Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem
secara berjenjang.
b. Overview diagrams
Overview diagrams menunjukkan secara garis besar hubungan dari
input, proses dan output. Bagian input menunjukkan item-item data
yang akan digunakan oleh bagian proses. Bagian proses berisi
-
21
sejumlah langkah-langkah yang menggambarkan kerja dari fungsi.
Bagian output berisi dengan item-item data yang digunakan atau
dimodifikasi oleh langkah-langkah proses.
c. Detail diagrams
Detai diagrams merupakan diagram tingkatan yang paling rendah di
diagram HIPO. Diagram ini berisi dengan elemen-elemen dasar dari
paket yang menggambarkan secara rinci kerja dari fungsi.
2.2.5. Diagram Alir Program (Flowchart)
1. Pengertian Flowchart
Menurut Harumy, Windarto dan Sulistianingsih, (2016:8) “Dalam
membuat algoritma, diperlukan suatu mekanisme atau alat bantu untuk
menuangkan hasil pemikiran mengenai langkah-langkah penyelesaian masalah
yang sistematis dan terurut. Pada dasarnya untuk bisa menyusun solusi
diperlukan kemampuan problem-solving yang baik. Oleh karena itu, sebagai
sarana untuk melatih kemampuan tersebut terdapat sebuah tool (alat) yang
dapat digunakan”.
Menurut Jogiyanto dalam Yulia dan Rini, (2017), “Flowchart adalah
bagan (chart) yang menunjukkan alir (flow) di dalam program atau prosedur
sistem secara logika”.
Alat yang dipakai untuk membuat algoritma adalah diagram alur atau
flowchart. Diagram alur dapat menunjukkan secara jelas arus pengendalian
suatu algoritma, yakni bagaimana pelaksanaan suatu rangkaian secara logis
dan sistematis suatu diagram alur dampat memberikan gambaran dua
dimensi yang berupa simbol-simbol grafis. Masing-masing simbol telah
-
22
ditetapkan terlebih dahulu fungsi dan artinya. Simbol-simbol tersebut dipakai
untuk menunjukkan berbagai kegiatan operasi dan jalur pengendalian.
Sedangkan arti khusus dari flowchart itu sendiri adalah simbol-simbol yang
digunakan untuk menggambarkan urutan proses yang terjadi dalam sebuah
program atau suatu diagram yang menggambarkan susunan logika suatu
program.
2. Bentuk Flowchart
a. Bagan Alir Program (Program Flowchart)
b. Simbol-simbol yang menggambarkan proses secara rinci dan detail
antara instruksi yang lainnya didalam suatu program komputer yang
bersifat logika.
c. Bagan Alir System (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 didalam system.
-
23
h. Bagan Alir Proses (Proses Flowchart)
Merupakan bagan alir yang banyak digunakan untuk menggambarkan
suatu prosedur.
3. Teknik Pembuatan Program Flowchart
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).
-
24
2.2.6. Pengujian Unit (Black Box Testing)
Menurut Sukamto dan Shalahuddin, (2016:275) “yaitu menguji
perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode
program. pengujian dimaksud untuk mengetahui apakah fungsi-fungsi, masukan,
dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan”.
Menurut Mustaqbal, Firdaus, dan Rahmadi, (2015), “Pengujian adalah
suatu proses pelaksanaan suatu program dengan tujuan menemukan suatu
kesalahan. Suatu kasus test yang baik adalah apabila test tersebut mempunyai
kemungkinan menemukan sebuah kesalahan yang tidak terungkap. Suatu test
yang sukses adalah apabila test tersebut membongkar suatu kesalahan yang
awalnya tidak ditemukan. Salah satu dari jenis pengujian yang ada adalah
black box testing”.
Black Box Testing berfokus pada spesifikasi fungsional dari perangkat
lunak. Tester dapat mendefinisikan kumpulan kondisi input dan melakukan
pengetesan pada spesifikasi fungsional program”.