BAB II LANDASAN TEORI - repository.bsi.ac.id · Konsep dasar program berisi teori berisi tentang...
Transcript of BAB II LANDASAN TEORI - repository.bsi.ac.id · Konsep dasar program berisi teori berisi tentang...
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Konsep dasar program berisi teori berisi tentang teori-teori yang berhubungan
dengan definisi program, bahasa pemrograman (program language) serta
peralatan pendukung yang digunakan sebagai landasan untuk perancangan
program penjualan kue.
2.1.1. Pengertian Program
Menurut Raharjo dalam Yulia (2017:28) ”perangkat lunak (software) yang
sebenarnya merupakan tuntunan instruksi yang ditulis dalam bentuk kode–kode
menggunakan bahasa pemrograman tertentu dan telah dikompilasi dengan
menggunakan compiler yang sesuai”. Jadi perancangan program penjualan adalah
proses mengimplementasikan urutan langkah atau prosedur dalam bentuk
algoritma yang terstruktur untuk menangani masalah transaksi penjualan dengan
menggunakan komputer sebagai media utama.
Sedangkan menurut Jogiyanto dalam Sunarti (2014:2) Program kegiatan-
kegiatan prinsip yang telah ditentukan untuk dilaksanakan oleh organisasi dengan
maksud untuk menerapkan strategi strategi yang telah disusun.
8
2.1.2. Bahasa Pemograman
Menurut Kurniadi dalam Sunarti (2014:2) berpendapat bahwa, “bahasa
pemrograman adalah perintah-perintah atau instruksi yang dimengerti oleh
komputer untuk melakukan tugas-tugas tertentu. Untuk membuat program tidak
lepas dari karakteristik dari seorang programmer, seperti memiliki pola pikir yang
logis, memiliki ketekunan dan ketelitian, memiliki penugasan bahasa dan teknik
pemrograman yang baik. Dalam penerapannya, program salah satu bentuk dari
berbagai aplikasi yang digunakan dalam bidang bisnis ataupun science, untuk
menghasilkan suatu bentuk laporan atau tujuan yang diinginkan. Oleh karena itu
suatu program aplikasi mutlak ada didalam suatu perusahaan.
Bahasa Pemrogaman yang digunakan dalam penulisan tugas akhir ini,
Adalah Visual Basic 6.0 (VB 6.0). Visual Basic adalah bahasa pemograman yg
bersifat event-driven. Jika dibahas dalam istilah sehari-hari,event-driven
programming merupakan script pemograman yang “bereaksi” apabila ada
kejadian (event) yang dipicu oleh seorang user, misalnya saat menekan tombol
“submit”, “Hitung”, dan sebagainya (Enterprise,2015).
Visual Basic adalah bahasa pemograman generasi ketiga dari Microsoft
dengan IDE (Integrated Development Environment) atau pemograman
pengembangan terpadu, visual basic dibuat dan dirancang untuk mudah digunakan
baik oleh programmer pemula sekalipun (Atmoko,2013).
9
2.1.3. Basis Data
Menurut Sukamto dan Shalahuddin (2015:43) menjelaskan, “sistem basis
data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data
yang sudah diolah atau informasi dan membuat informasi tersedia saat
dibutuhkan”.
Menurut Yakub dan Hisbanarto (2014:25) menjelaskan, “basis data
(database) merupakan kumpulan data yang saling berhubungan atau punya relasi”.
Dapat ditarik kesimpulan bahwa basis data merupakan kumpulan data yang diolah
menjadi informasi dan dapat digunakan kembali jika dibutuhkan.
Aplikasi basis data sering digunakan oleh para pembuat aplikasi sebagai
media pengolahan basis data. Aplikasi basis data yang sering digunakan dalam
pengolahan basis data yaitu MySQL.
Menurut Manurung (2015:39) menjelaskan, “MySQL merupakan turunan
salah satu konsep utama basis data yang sudah ada sebelumnya SQL yaitu
pengoperasian basisdata”. Sedangkan menurut Sibero (2013:97) “MySQL adalah
suatu RDBMS (Relational Database Management System) yaitu aplikasi sistem
yang menjalankan fungsi penglahan data”.
Penulis menyimpulkan bahwa MySQL merupakan aplikasi pengolahan
database yang sering digunakan untuk membuat sebuah aplikasi yang memiliki
data-data sebagai sumber pengolahannya.
10
2.1.4. Model Pengembangan Perangkat Lunak
Menurut Rosa dan Shalahuddin dalam Yulia (2013:28), “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 berurutan dimulai dari analisis,
desain, pengkodean, pengujian dan tahap pendukung (support).yang terbagi
menjadi lima tahapan, yaitu:
Sistem/ Rekayasa
Informasi
Analisis Desain Pengkodean Pengujian
Sumber: Rosa dan Shalahuddin dalam Yulia (2013:28)
Gambar II.1. Ilustrasi Model Waterfall
Berikut adalah penjelasan dari tahapan-tahapan tersebut:
a) Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami
11
perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi
kebutuhan perangkat lunak pada tahap ini perlu untuk di dokumentasikan
b) Desain
Desain perangkat lunak merupakan proses multi langkah yang fokus pada
desain pembuatan program perangkat lunak termasuk struktur data,
arsitektur perangkat lunak, representasi antar muka dan prosedur
pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap
analisis kebutuhan ke representasi desain agar dapat diimplementasikan
menjadi program pada tahap tahap selanjutnya. Desain perangkat lunak yang
dihasilkan pada tahap ini juga perlu di dokumentasikan.
c) 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.
d) 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.
12
e) 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. Tools Program
Dalam penulisan tugas akhir ini tools program yang digunakan oleh penulis
Meliputi Entity Relationship Diagram (ERD), Logical Record Structure (LRS),
pengkodean, HIPO (Hierarchy Input Procces Output), Flowchart, dan
Blackbox Testing
2.2.1. Entity Relational Diagram (ERD)
Menurut Rosa dan M. Shalahuddin dalam yulia (2017:29), mengemukakan
bahwa “ERD adalah bentuk paling awal dalam melakukan perancangan basis data
rasional”.
Menurut Brady dan Loonam dalam sumantri (2016:23), Entity
Relationship Diagram (ERD) merupakan teknik yang digunakan untuk
memodelkan kebutuhan data dari suatu organisasi, biasanya oleh Sistem Analis
dalam tahap analisis persyaratan proyek pengembangan system
13
1. Entitas (Entity)
Menurut Kronke dalam Pratama dan Junianto (2015:215), Entity yaitu suatu
entitas yang dapat berupa orang, tempat, obyek, atau kejadian yang dianggap
penting bagi perusahaan, sehingga segala atributnya harus dicatat dan disimpan
dalam basis data.
2. Relasi (Relationship)
Menurut Romney dalam Pratama dan Junianto (2015:215), “Relationship
adalah Hubungan antara dua atau lebih entitas yang saling berkaitan”.
ada tiga tipe relasi (relationship), yaitu:
a. One-to-one relationship (1:1) Dimana maximum cardinality setiap entity 1
Contoh : Satu nasabah bank hanya memiliki satu account.
b. One-to-many relationship (1:N). Dimana maximum cardinality dari suatu entity
adalah 1 dan maximum cardinality dari entity lain adalah N.
Contoh : Satu nasabah bank dapat memiliki lebih dari satu account.
c. Many-to-many relationship (M:N). Dimana maximum cardinality kedua entity
yang berhubungan adalah N.
Contoh : Satu nasabah dapat memilliki beberapa account dan satu account dapat
dimiliki oleh beberapa nasabah (rekening bersama).
3. Derajat Relationship (Relationship Degree)
Definisi derajat Relationship menurut Ladjamudin dalam Rahmayu (2015:161),
“Relationship Degree adalah jumlah entitas yang berpartisipasi dalam satu
Relationship.” Berikut ini derajat relationship yang sering dipakai didalam
ERD:
14
a) Unary Relationship
Unary Relationship adalah model relationship yang terjadi diantara entity yang
berasal dari entity set yang sama.
b) Binary Relationship
Binary Relationship adalah model relationship antar instance-instance untuk
suatu tipe entitas.
c) Tenary Relationship
Ternary Relationship adalah merupakan relationship instance-instance dari
tiga tipe entitas secara sepihak.
4. Atribut
Menurut Ladjamudin dalam Rahmayu (2015:161), “Atribut
merupakan sifat-sifat (property) sebuah entity atau tipe relationship”.
Atribut value adalah suatu occurance tertentu dari sebuah attribute di dalam suatu
entity atau realationship. Ada dua jenis atribut:
a. Identifier (key) digunakan untuk menetukan seuatu entity secara unik (primary
key).
b. Descriptor (nonkey attribute) di gunakan untuk menspesifikasikan karakteristik
dari suatu entity yang tidak unik.
Menurut Sukamto dan Shalahuddin (2015:50-51), simbol-simbol yang
digunakan pada ERD sebagai berikut :
15
Tabel II.1.
Komponen 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 table
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
beberapa kolom tersebut dapat bersifat
unik (berbeda tanpa ada yang sama)
nama_entitas
nama_kunci-primer
nama_atribut
16
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
Penghubung antara relasi dan entitas di
mana di kedua ujungnya memiliki
multiplicity kemungkinan jumlah
pemakaian.
Kemungkinan jumlah maksimum
keterhubungan antara entitas satu
dengan entitas yang lain disebut
dengan kardinalitas.
Sumber: Sukamto dan Shalahuddin (2015:50-51)
N
Nama_atribut
nama_relasi
17
Menurut Frieyadie dalam Rahmayu (2015:162) “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:
1. Jika tingkat hubungan (cardinality) satu pada satu (one-to-one), maka di
gabungkan dengan entitas yang lebih kuat (strong entity), atau digabungkan
dengan entitas yang memiliki atribut yang lebih sedikit.
2. Jika tingkat hubungan (cardinality) satu pada banyak (one-to-many), maka
hubungan relasi atau digabungkan dengan entitas yang tingkat hubungannya
banyak.
3. 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.2 Pengkodean
Pengkodean merupakan teknik untuk merancang kode suatu program
dimana kode yang yang dibuat tersusun dari aturan-aturan yang dirancang
berdasarkan elemen-elemen tertentu yang digunakan oleh perancang
Menurut Jogiyanto dalam Junianto dan Primaesha (2015:444) adalah
”Suatu susunan digit (angka), huruf dan karakter-karakter khusus yang dapat
dirancang dalam bentuk kode”. Kode digunakan untuk mengklasifikasikan data,
memasukkan data ke dalam komputer dan untuk mengambil bermacam-macam
informasi yang berhubungan dengannya.
18
Beberapa kemungkinan susunan digit (angka), huruf dan karakter-karakter
khusus dapat dirancang ke dalam bentuk kode. dalam merancang suatu kode harus
diperhatikan beberapa hal yaitu:
1. Mudah diingat
Supaya kode mudah diingat maka dapat dilakukan dengan cara
menghubungkan kode tersebut dengan objek yang diwakili dengan kodenya.
2. Unik
Kode harus unik untuk masing-masing item yang diwakilinya.
3. Fleksibel
Kode harus fleksibel sehingga memungkinkan perubahan-perubahan atau
penambahan item baru dapat tetap diwakili oleh kodenya masing-masing.
4. Efisien
Kode harus sesingkat mungkin, selain mudah diingat juga akan efisien apabila
direkam dan disimpan di luar komputer.
5. Konsisten
Kode harus konsisten dengan kode yang telah digunakan.
6. Harus distandarisasi
Kode harus distandarisasi untuk seluruh tingkatan dan departemen dalam
organisasi.
7. Hindari penggunaan spasi
Spasi dalam kode sebaiknya dihindarkan karena dapat menyebabkan kesalahan
dalam menggunakannya
19
8. Hindari karakter yang mirip
Karakter-karakter yang hampir mirip bentuk dan bunyi pengucapannya
sebaiknya tidak digunakan dalam kode.
9. Panjang kode harus sama
Masing-masing kode yang sejenis harus memiliki panjang kode yang sama
Kode dapat berupa angka, huruf, dan karakter khusus. Dan 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.
Contoh: Kode “L” untuk mewakili laki-laki, dan 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.
Contoh:
001 : Kas
002 : Piutang
3. Kode Blok (Block Code)
Mengklasifikasikan sistem kedalam kelompok blok tertentu yang
mencerminkan satu klasifikasi tertentu atas dasar pemakaian maksimum yang
diharapkan.
20
Contoh:
Kelompok Nomor Kode
Harta 100-199
Utang 200-299
Modal 300-399
Pendapatan 400-499
Beban 500-599
4. Kode Grup (Group Code)
Kode grup merupakan kode berdasarkan field-field dan tiap-tiap kode
mempunyai arti. Kalau anda mengamati buku-buku teks, maka akan terlihat
suatu kode yang disebut dengan ISBN (International Standard Book Number)
yang terdiri dari 10 digit terbagi dalam 4 field. ISBN merupakan kode grup
yang masing-masing field mempunyai arti tertentu.
Contoh:
9971-5-0210-1 9971 : ISBN untuk wilayah Singapura
5 : Penerbit Dunia Ilmiah
0210 : Kode Buku
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.
21
Contoh :
00 : Aktiva Lancar 00
100 : Kas
2.2.3 HIPO (Hierarchy Input Process Output)
1. Pengertian
Menurut Mustakini (2014:787) “HIPO (Hierarchy plus Input-Process-
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.
Menurut Jogiyanto dalam Junianto dan Primaesha (2015:444) ”HIPO
(Hierarchy plus InputProcess-Output) merupakan metodologi yang
dikembangkan dan didukung oleh IBM. Tetapi saat ini HIPO juga banyak
digunakan sebagai alat disain dan teknik dokumentasi dalam siklus pengembangan
sistem”. HIPO dapat digunakan sebagai alat pengembangan sistem dan teknik
dokumentasi program.
Sedangkan Menurut Amansyah dalam Junianto dan Primaesha (2015:444)
bagan HIPO dibuat oleh IBM sebagai alat untuk mendokumentasikan program,
secara jelas memperagakan apa yang dikerjakan suatu program, data apa yang
digunakan, dan keluaran yang dihasilkan. Bagan HIPO lebih mudah dibaca
dibanding dengan bagan arus, sangat rinci, fleksibel, mudah dimodifikasi, dan
22
dikelola. Dalam membuat bagan HIPO, terdapat tiga jenis diagram, yaitu: daftar
isi visual (the visual table of contents / VTOC), diagram peninjauan, dan rincian
diagram.
Dari pengertian diatas, dapat penulis simpulkan bahwa HIPO (Hierarchy
Input Process Output) adalah alat yang digunakan untuk dokumentasi program dan
sebagai alat desain dan teknik dokumentasi dalam siklus pengembangan sistem.
1. Tingkatan Diagram HIPO (Hierarchy Input Process Output)
Menurut Jogiyanto dalam Junianto dan Primaesha (2015:444), HIPO
mengunakan tiga macam diagram untuk masing-masing tingkatannya, yaitu
sebagai berikut :
a. Visual Table Of Contens (VTOC)
Diagram ini meggunakan hubungan dari fungsi-fungsi di sistem secara
berjenjang.
b. Overview Diagram
Overview diagram menggunakan 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-langka yang
menggambarkan kerja dari fungsi. Bagian output berisi item-item data yang
dihasilkan atau dimodifikasi oleh langkah-langkah proses.
c. Detail diagram
23
Detail diagram merupakan diagram tingkatan yang paling rendah di diagram
HIPO. Diagram ini berisi elemen-elemen dasar dari paket yang meggambarkan
seca rinci kerja dari fungsi.
Sumber: Mustakini (2014:788)
Gambar II.2. Visual table of contents
2.2.4 Diagram Alir Program (Flowchart)
1. Pengertian
Flowchart menurut Jogiyanto dalam yulia (2017:29) 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 menunjukan secara jelas arus pengendalian suatu
algoritma, yakni bagaimana pelaksanaan suatu rangkaian secara logis dan
sistematis suatu diagram alur dapat memberikan gambaran dua dimensi yang
2.2 2.1
2.2.2 2.2.1
0.0
2.0 1.0 3.0
24
berupa simbol-simbol grafis. Masing-masing simbol telah ditetapkan terlebih
dahulu fungsi dan artinya. Simbol-simbol tersebut dipakai untuk menunjukan
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.
Flowchart sendiri terdiri dari tiga struktur, yaitu:
a) Struktur Sederhana (Squence Structure)
Diagram yang alurnya mengalir secara berurutan dari atas ke bawah atau
dengan kata lain tidak adanya percabangan ataupun perulangan.
b) Struktur Percabangan (Branching Structure)
Diagram yang alurnya ada atau banyak terjadi alih kontrol berupa percabangan
dan terjadi apabila kita dihadapkan pada suatu kondisi dengan dua pilihan
BENAR atau SALAH.
c) Struktur Perulangan (Looping Structure)
Pemutaran kembali, terjadi kendali mengalihkan arus diagram alur kembali
keatas, sehingga beberapa alur berulang beberapa kali
2. Bentuk Flowchart
a) Bagan Alir Program (Program Flowchart)
b) Simbol-simbol yang menggambarkan proses secara rinci dan detail antara
instruksi yang satu dengan instruksi yang lainnya didalam suatu program
komputer yang bersifat logika.
25
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
tembusantembusannya.
g) Bagan Alir Skematik (schematic Flowchart) Merupakan bagan alir yang
mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur
didalam system.
h) Bagan Alir Proses (Proses Flowchart) Merupakan bagan alir yang banyak
digunakan untuk menggambarkan suatu prosedur.
3. Teknik Pembuatan
a) General Way
Teknik pembuatan flowchart dengan cara ini biasanya dipakai didalam
menyusun logika suatu program, yang menggunakan pengulangan proses
secara tidak langsung (Non-DirectLoop).
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)
26
2.2.5. Black-Box Testing
Pengujian Web Menurut Rosa dan Shalahuddin (2014:275-276), “Black-box
testing adalah perangkat lunak dari segi spesifikasi fungsional tanpa menguji
desain dan kode program”. Pengujian web yang dilakukan pada kesempatan ini,
menggunakan metode black box testing.
Pengujian dimaksudkan untuk mengetahui fungsi-fungsi, masukan dan
keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan dan
pengujian dengan metode black box testing memungkinkan pengembang software
untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat
fungsional suatu program.
Adapun beberapa kategori kesalahan yang diuji oleh black box testing,
diantaranya:
a. Fungsi-fungsi yang salah atau hilang.
b. Kesalahan interface.
c. Kesalahan dalam struktur data atau akses database eksternal.
d. Kesalahan performa.
e. Kesalahan inisialisasi dan terminasi