bab ii landasan teori · penting dalam kehidupan sehari-hari”. ... teori himpunan dalam bidang...
TRANSCRIPT
6
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Konsep dasar program merupakan urutan-urutan instruksi yang dijabarkan
kedalam bahasa komputer yang disusun secara nalar dan tersistem. Program
merupakan alat bantu manusia untuk mempermudah kegiatan dan pekerjaan manusia.
Program menjadi kebutuhan manusia karena dapat membantu manusia dalam
mengatasi masalah dan mempermudah kegiatan sehari-hari.
2.1.1. Pengertian Program
Menurut Kadir (2017:3) mengemukakan “Program adalah kumpulan instruksi
yang ditunjukan kepada komputer”. Istilah program dan aplikasi sering disebut untuk
menyatakan perangkat lunak. Di kalangan profesional teknologi informasi, istilah
program bisa digunakan untuk menyatakan hasil karya mereka yang berupa instruksi-
instruksi untuk mengendalikan komputer.
2.1.2. Bahasa Pemrograman
Abdulloh (2016:1) mengemukakan “Bahasa pemrograman merupakan bahasa
yang dapat dipahami oleh komputer”. Ada banyak bahasa pemrograman yang
memiliki fungsi berbeda-beda, di antaranya bahasa pemrograman untuk membuat
desktop, membuat game, membuat aplikasi web, membuat aplikasi handphone dan
sebagainya.
Menurut Kadir (2017:6) menjelaskan bahwa “Komputer bekerja atas dasar
kode biner atau kode yang mempunyai dua keadaan berupa 0 dan 1”. Jika dinyatakan
7
dalam keadaan lampu, kode 0 menyatakan keadaan padam dan kode 1 menyatakan
keadaan menyala. Atas dasar inilah, program pada masa awal terciptanya komputer
dibuat dengan menggunakan bahasa pemrograman yang berbasis pada kode biner dan
dinamakan bahasa mesin.
Dalam tugas akhir ini penulis menggunakan bahasa pemrograman Java.
Menurut Nofriandi (2017:1) menjelaskan “Bahasa pemrograman Java merupakan
salah satu dari sekian banyak bahasa pemrograman yang dapat dijalankan di berbagai
sostem operasi termasuk telepon genggam”. Bahasa pemrograman ini pertama kali
dibuat oleh James Gosling saat masih bergabung Sun Microsystem. Bahasa
pemrograman ini merupakan pengembangan dari bahasa pemrograman C++ karena
banyak mengadopsi sintak C dan C++. Saat ini Java merupakan bahasa pemrograman
yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan
berbagai jenis perangkat lunak aplikasi atau pun aplikasi berbasis web.
2.1.3. Basis Data/ Database
Menurut Sukamto dan Shalahuddin (2016: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.
Pada buku ini menggunakan basis data relasional yang diimplementasikan dengan
tabel-tabel yang saling memiliki relasi seperti pada gambar berikut:
8
Sumber: Sukamto dan Shalahuddin (2016:44)
Gambar II.1
Ilustrasi Basis Data
Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data
apapun bentuknya, entah berupa file teks ataupun Database Management System
(DBMS).
Kebutuhan basis data dalam sistem informasi meliputi:
1. Memasukan, menyimpan, dan mengambil data.
2. Membuat laporan berdasarkan data yang telah disimpan.
Tujuan dibuatnya tabel-tabel di sini adalah untuk menyimpan data ke dalam
tabel-tabel agar mudah diakses. Oleh karena itu, untuk merancang tabel-tabel yang
akan dibuat maka dibutuhkan pola piker penyimpanan data nantinya jika dalam bentuk
baris-baris data (record) dimana setiap baris terdiri dari beberapa kolom.
Trisyanto (2018:94) mengemukakan “Basis data adalah komponen yang sangat
penting dalam kehidupan sehari-hari”.
Sistem basis data merupakan sesuatu yang sangat penting sehingga tidak bisa
diabaikan begitu saja dalam aplikasi-aplikasi komputer modern. Namun, segala
sesuatunya tentu harus dimulai dari awal. Sebelum kita bisa melakukan perancangan
9
basis data yang baik dan/atau menyusun/membuat aplikasi-aplikasi basis data yang
sangat canggih, kita harus berangkat dari konsep-konsep dasar terlebih dahulu.
2.1.4. Model Perancangan Perangkat Lunak
Menurut Sukamto dan Shalahuddin (2016:28) menjelaskan bahwa “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 hidup perangkat lunak secara sekuensial atau terurut dimulai dari
analisis, desain, pengodean, pengujian, dan tahap pendukung (support).
Berikut adalah model air terjun:
Sumber: Sukamto dan Shalahuddin (2016:29)
Gambar II.2
Model Waterfall
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan
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
10
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. Desain perangkat
lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
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.1.5. Inventory
Martono (2018:95) mengemukakan “Inventory merupakan semua jenis barang
yang dimiliki oleh perusahaan dan digunakan untuk mendukung bisnisnya”.
11
Menurut (Kusuma, 2009) mengatakan “persediaan didefinisikan sebagai
barang yang disimpan untuk digunakan atau dijual pada periode mendatang”
(Widayanto & Refianti, 2018).
Adapun beberapa jenis-jenis persediaan sebagai berikut:
1. Persediaan bahan mentah
Persediaan ini terdiri dari bahan dasar yang dibeli dari perusahaan lain untuk
digunakan dalam operasi produksi perusahan.
2. Persediaan Barang Setengah Jadi (Work-in-process)
Ini mencakup barang setengah jadi yang membutuhkan kerja tambahan sebelum
menjadi barang jadi.
3. Persediaan Barang Jadi
Ini mencakup barang yang telah selesai proses produksinya tetapi belum dijual.
2.2. Tools Program
2.2.1. ERD (Entity Relationship Diagram)
Pemodelan awal basis data yang paling banyak digunakan adalah
menggunakan Entity Relationship Diagram (ERD). ERD dikembangkan berdasarkan
teori himpunan dalam bidang matematika.
Trisyanto (2018:89) Menjelaskan bahwa “ERD adalah gambar atau diagram
yang menunjukan informasi dibuat, disimpan, dan digunakan dalam sistem bisnis”.
Ada beberapa aturan-aturan ERD yaitu sebagai berikut:
1. Aturan bisnis adalah batasan yang harus diikuti ketika sistem beroperasi.
2. Simbol ERD hanya menunjukan satu instance dari entitas harus ada sebelum
instance lain dari suatu entitas.
12
3. Simbol ERD dapat menunjukan ketika salah satu instance dari suatu entitas dapat
direlasikan dengan satu anggota atau lebih dari entitas lainnya.
4. Simbol ERD juga menunjukan ketika ekstensi dari suatu instance dalam suatu
entity adalah opsional untuk sebuah relasi dengan instance lain dari suatu entitas.
Menurut Sukamto dan Shalahuddin (2016:50), “Entity Relatioship Diagram
(ERD) adalah pemodelan awal basis data yang dikembangkan berdasarkan teori
himpunan dalam bidang matematika untuk pemodelan basis data relational”.
Sumber: (Sukamaindrayana & Rahman Sidik, 2017)
Gambar II.3
ERD (Entity Relatioship Diagram)
2.2.2. LRS (Logical Relational Structure)
Menurut Fathansyah menyimpulkan bahwa “LRS (Logical Record Structure)
merupakan representasi dari struktur record-record pada tabel-tabel yang terbentuk
dari hasil antar himpunan entitas” (Sukamaindrayana & Rahman Sidik, 2017).
Berikut adalah cara membentuk skema database atau LRS (Logical Record
Strutured) berdasarkan Entity Relationship Diagram:
13
1. Jika relasinya satu-ke-satu, maka foreign key diletakan pada salah satu dari dua
entitas yang ada tau menyatukan kedua entitas tersebut.
2. Jika relasinya satu-ke-banyak, maka foreign key diletakan pada entitas Many.
3. Jika relasinya banyak-ke-banyak, maka dibua “file konektor” yang berisi dua
foreign key yang berasal dari kedua entitas.
Sumber: (Sukamaindrayana & Rahman Sidik, 2017)
Gambar II.4
LRS (Logical Record Strutured)
2.2.3. Pengkodean
Pengkodean digunakan untuk mengklasifikasikan data yang dimasukan
kedalam komputer ataupun untuk mengambil macam-macam informasi, kode dapat
terbentuk dari kumpulan angka, huruf atau simbol lainya.
Supranto mengemukakan bahwa “Pengkodean (coding) adalah suatu kegiatan
pemberian kode atau simbol pada keteranganketerangan tertentu, kalau pengolahan
akan dilakukan dengan komputer elektronik” (Sukamaindrayana & Rahman Sidik,
2017).
14
Menurut Mustakini “Kode digunakan untuk tujuan mengklarifikasi data,
memasukan data ke dalam komputer dan mengambil bermacam-macam informasi
yang berhubungan dengannya”. Kode dapat dibentuk dari kumpulan angka, huruf, dan
karakter-karakter khusus (misalnya %, /, &, $, dan lain sebagainya). (Azis & Sarmidi,
2018).
Angka merupakan sinbol yang banyak digunakan pada sistem kode akan tetapi
kode yang berbentuk angka lebih dari 6 digit akan sangat sulit untuk di ingat kode
numerik (numeric code) menggunakan 10 macam kombinasi angka di dalam kode.
Kode alphabetik (alphabetic code) menggunakan 26 kombinasi huruf untuk kodenya.
Kode alphanumerik (alphanumeric code) merupakan kode yang menggunakan
gabungan angka, huruf, dan karakter-karakter khusus meskipun kode numerik,
alphabetik dan alphanumerik merupakan kode yang paling banyak digunakan di dalam
sistem informasi, tetapi kode yang lain juga mulai banyak digunakan, seperti misalnya
kode batang (bar code).
Ada beberapa macam tipe dari kode yang dapat digunakan di dalam sistem
informasi, diantaranya adalah kode mnemonik (mnemonic code), kode urut (sequential
code), kode blok (block code), kode grup (group code), dan kode desimal (decimal
code).
Masing-masing tipe dari kode tersebut mempunyai kelebihan dan kekurangan
tersendiri. Dalam praktek, tipe-tipe kode yang ada dapat dikombinasikan.
1. Kode Mnemonik (mnemonic code)
Digunakan untuk tujuan supaya mudah di ingat. Kode mnemonik dibuat dengan
dasar singkatan atau mengambil sebagian karakter dari item yang akan di wakili
dengan kode ini. Sebagai contoh kode “P” untuk mewakili pria dan kode “W’ untuk
wanita akrab untu mudah diingat. Umumnya kode mnemonik menggunakan huruf,
15
akan tetapi dapat juga menggunakan gabungan huruf dan angka misalnya barang
dagangan komputer IBM pc dengan ukuran memori 640 Kb, colour monitor, dapat
dikodekan menjadi K-IBM- PC-640- CO supaya lebih mudah diingat. Kebaikan dari
kode ini adalah mudah diingat dan kelemahannya adalah kode dapat menjadi terlalu
panjang.
2. Kode Urut (Sequential Code)
Kode yang ini disebut juga kode seri (serial code) merupakan kode yang nilainya
urut antara satu kode dengan kode berikutnya. Contoh kode urut adalah sebagai
berikut:
001 Kass
002 Piutang Dagang
003 Persediaan Produk Selesai
004 Persediaan Produk Dalam Proses
005 Persediaan Bahan Baku
006 Biaya Dibayar Dimuka
3. Kode Blok (block code)
Kode blok (block code) mengklasifikasikan item ke dalam kelompok blok tertentu
yang mencerminkan suatu klasifikasi tertentu atas dasar pemakaian maksimum yang
diharapkan. Contoh kode blok adalah sebagai berikut: Rekening-rekening dalam buku
besar dapat diberi kode dengan mengklasifikasikannya ke dalam kelompok rekening
utama sebagai berikut:
BLOK KELOMPOK
1000-1999 AKTIVA LANCAR
2000-2999 AKTIVA TETAP
3000-3999 HUTANG LANCAR
16
3500-3999 HUTANG JANGKA PANJANG
4000-4999 MODAL
4. Kode Desimal (decimal code)
Kode desimal (desimal code) mengklasifikasikan kode atas dasar 10 unit angka
desimal dimulai dari angka 0 sampai dengan angka 9 atau dari 00 sampai dengan 99
tergantung dari banyaknya kelompok.
5. Kode Grup (group code)
Kode grup (group code) merupakan kode yang berdasarkan field-field, dan tiap
field-field nya mempunyai arti.
6. Kode Batang (barcode) Sebagai kumpulan kode yang berbentuk garis, dimana
masing-masing ketebalan setiap garis berbeda sesuai dengan isi kodenya.
2.2.4. HIPO (Hierarcy Input Process Output)
Trisyanto (2018:82) mengemukakan “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.
2.2.5. Diagram Alir Program (Flowchart)
Kadir (2017:36) mengemukakan “Diagram alir (flowchart) merupakan cara
lain untuk menuangkan algoritma”. Pendekatan yang dilakukan adalah dengan
menngunakan gambar. Berikut adalah contoh dari flowchart:
17
Gambar II.5
Contoh Diagram Alur Menghitung Luas Persegi Panjang
Kelebihan diagram alir adalah sebagai berikut:
1. Merupakan metode komunikasi yang andal karena hanya menggunakan sedikit
simbol yang mudah dipahami oleh siapa saja.
2. Bentuknya mencerminkan keadaan yang sesungguhnya, misalnya, secara visual
dapat menggambarkan perulangan atau pencabangan.
3. Kesalahan-kesalahan dapat terdeteksi secara visual (misalnya terdapat langkah
yang belum diarahkan ke langkah lain).
Adapun kelemahannya adalah sebagai berikut:
1. Jika logika kompleks, diagram alir menjadi rumit dan menyita tempat.
2. Membosankan kalau simbol-simbol diagram alir harus digambar secara manual.
3. Tidak mudah untuk mengonversi diagram alir menjadi kode dalam suatu bahasa
pemrograman jika dilakukan secara manual.
Diagram alur dapat menunjukan secara jelas arus pengendalian suatu
algoritma, yaitu melaksanakan suatu rangkaian kegiatan secara logis dan sistematis
1. Bentuk dari flowchart yaitu sebagai berikut:
18
a. Program Flowchart
Simbol-simbol yang menggambarkan proses secara rinci dan detail antara
instruksi yang satu dengan instruksi yang lainnya dalam suatu program
komputer yang bersifat logic.
b. Sistem Flowchart
Simbol-simbol flowchart yang menggambarkan urutan prosedur secara detail
dalam suatu sistem komputerisasi, bersifat fisik.
2. Tehnik pembuatan flowchart yaitu sebagai berikut:
a. General way
Teknik pembuatan flowchart dengan cara ini lazim digunakan dalam
menyusun suatu program. Teknik ini 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).
2.2.6. Implementasi dan Pengujian Unit
Menurut Sukamto dan Shalahuddin “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.
(Ahluwalia & Approach, 2016)
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
19
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:
1. Fungsi-fungsi yang salah atau hilang.
2. Kesalahan interface.
3. Kesalahan dalam struktur data atau akses database eksternal.
4. Kesalahan performa.
5. Kesalahan inisialisasi dan terminasi.