bab ii landasan teori - repository.bsi.ac.id...secara garis besar, bahasa-bahasa pemrograman dapat...
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
2.1.1. Program
Menurut Kadir (2015:2) mengemukakan bahwa “Program adalah kumpulan
instruksi yang digunakan mengatur komputer agar melakukan suatu tindakan
tertentu”. Tanpa program, komputer tidak dapat berbuat apa-apa. Itulah sebabnya
sering dikatakan bahwa komputer mencakup tiga aspek penting, berupa perangkat
keras (hardware), perangkat lunak (software) yang dalam hal ini program, dan
perangkat akal (brainware) atau orang yang berperan terhadap operasi komputer
maupun pengembangan perangkat lunak.
2.1.2. Bahasa Pemrograman
Menurut Kadir (2015:2) mengemukakan bahwa “Suatu program ditulis
dengan mengkuti kaidah bahasa pemrograman tertentu. Bahasa pemrograman dapat
dianalogikan dengan bahasa yang digunakan manusia (bahasa manusia). Kumpulan
intruksi dalam bahasa manusia yang berupa sejumlah kalimat dapat di analogikan
dengan suatu program. Manusia dapat mengerjakan suatu instruksi berdasarkan
kalimat-kalimat dan komputer bisa menjalankan suatu instruksi menurut program.”
8
Dalam konteks pemograman, terdapat sejumlah bahasa pemrograman seperti
Pascal, C, dan Basic. Secara garis besar, bahasa-bahasa pemrograman dapat
dikelompokkan menjadi:
1. Bahasa beraras-tinggi (high-level language) adalah bahasa pemrograman yang
berorientasi pada bahasa manusia. Program dibuat menggunakan bahasa
pemrograman yang mudah dipahami manusia. Biasanya menggunakan kata-kata
bahasa Inggris. Misalnya IF untuk menyatakan jika dan AND untuk menyatakan
dan. Termasuk dalam kelompok bahasa ini yaitu Java, C++, Pascal dan Basic.
2. Bahasa beraras-rendah (low-level language) adalah bahasa pemrograman yang
berorientasi kepada mesin. Bahasa ini menggunakan kode biner atau suatu kode
yang menggantikan kode-kode tertentu dalam sistem biner, yang tergolong
dalam kelompok bahasa ini adalah bahasa mesin dan bahasa rakitan. Pemrogram
harus benar-benar menguasai operasi komputer secara teknis. Namun, bahasa
generasi ini memberikan eksekusi program yang cepat. Selain itu, bahasa mesin
bersifat sangat tergantung pada mesin (machine dependent) yang artinya bahasa
mesin antara satu mesin dengan mesin yang lain jauh berbeda.
Bahasa Pemrograman yang dibuat oleh penulis menggunakan:
1. Java
Menurut (Nofriadi, 2018:1) Java merupakan salah satu dari sekian banyak
bahasa pemrograman yang dapat di jalankan diberbagai sistem operasi. Bahasa
pemoragraman ini pertama kali dibuat oleh James Gosling saat masih
bergabung Sun Microsystems. Bahasa pemrograman ini merupakan
pengembangan dari bahasa pemrograman C++ karena banyak mengadopsi
sintak C dan C++.
9
Sedangkan menurut (Sukamto & Shalahuddin, 2015:103) Java merupakan
bahasa pemrograman objek murni karena semua kode programnya dibungkus
dalam kelas. Saat ini Sun Microsystem sudah dikuisisi Oracle Corporation
sehingga pengembangan java diteruskan oleh Orcacle Corporation.
2. NetBeans
Menurut (Sugiarti, 2018:6) NetBeans merupakan IDE yang ditujukan untuk
memudahkan pemrograman java. Dalam NetBeans, pemrograman dilakukan
berbasis visual. Persis seperti IDE lain, misalnya Borland Delphi dan Microsoft
Visual Studio. Untuk membuat dialog atau user-interface, kita tidak perlu
membuat teks program secara manual baris per baris, tetapi cukup klik pada
component-pallete. Teks program akan dihasilkan secara otomatis. NetBeans
mencakup compiler atau builder, dan debugger internal. Hal ini sangat
memudahkan proses pasca perancangan program.
Proses deployment dan atau tanpa tes dapat juga dilakukan dari dalam
NetBeans. Berikut 4 langkah dalam menggunakan NetBeans untuk menjalankan Java
:
a. Pastikan dulu anda sudah meng-install java di komputer.
b. Kemudian unduh juga NetBeans.
c. Install NetBeans dikomputer anda.
d. Setelah kedua software siap, jalankan NetBeans.
10
2.1.3. Basis Data
Menurut (Sukamto & Shalahuddin 2015:43) mengemukakan bahwa “Sistem
basis data adalah sistem terkomputerasi 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.
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 memasukkan,
menyimpan, dan mengambil data serta membuat laporan berdasarkan data yang telah
disimpan. Tujuan dari dibuatnya tabel-tabel disini adalah untuk menyimpan data ke
dalam tabel-tabel agar mudah diakses. Oleh karena itu, untuk merancang tabel-tabel
yang akan dibuat maka dibutuhkan pola pikir penyimpanan data nantinya jika dalam
bentuk baris-baris data (record) dimana setiap baris terdiri dari beberapa kolom.
DBMS (Database Management System) atau dalam bahasa Indonesia sering
disebut sebagai Sistem Manajemen Basis Data adalah suatu sistem aplikasi yang
digunakan untuk menyimpan, mengelola, dan menampilkan data. Suatu sistem
aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut:
1. Menyediakan fasilitas untuk mengelola akses data
2. Mampu menangani integritas data
3. Mampu menangani akses data yang dilakukan
4. Mampu menangani backup data
11
Karena pentingnya data bagi suatu organisasi atau perusahaan, maka hampir
sebagian besar perusahaan memanfaatkan DBMS dalam mengelola data yang mereka
miliki. DBMS versi komersial yang paling banyak digunakan di dunia saat ini, yaitu
Oracle, Microsoft SQL Server, IBM DB2, Microsoft Acces. Sedangkan DBMS versi
open source yang cukup berkembang dan paling banyak digunakan saat ini adalah
MySQL, PostgresSQL, Firebird, SQLite. Hampir semua DBMS mengadopsi SQL
sebagai bahasa untuk mengelola data pada DBMS. Maka dari itu DBMS yang
digunakan penulis yaitu:
1. MySQL
“MySQL adalah relational database management system (RDBMS) yang
diditribusikan secara gratis dibawah licensi GPL (General Public License)”. Candra,
Santi, & Eniyati (2015). MySQL sebenarnya merupakan turunan salah satu konsep
utama dalam database sejak lama yaitu SQL (Structured Query Language). SQL
adalah sebuah konsep pengoperasian database terutama untuk pemilihan/seleksi dan
pemasukan data yng memungkinkan pengoperasian data dikerjakan dengan mudah
dan secara otomatis. Keandalan suatu sistem database dapat diketahui dari cara kerja
optimizer nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user
maupun program-program aplikasinya. Sebagai database server, MySQL dapat
dikatakan lebuh unggul dibandingkan database server lainnya dalam query data. Hal
ini terbukti untuk query yang dilakukan oleh single user, kecepatan query My SQL
dapat sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat
dibandingkan Interbase.
Sedangkan menurut Sukamto & Shalahuddin (2015:46) memberikan batasan
bahwa “SQL (Structured Query Language) adalah bahasa yang digunakan untuk
12
mengelola data pada RDBMS”. SQL awalnya dikembangkan berdasarkan teori
aljabar relasional dan kalkulus.
1. PhpMyAdmin
PhpMyadmin adalah perangkat lunak bebas yang ditulis dalam bahasa
pemrograman PHP yang digunakan untuk menangani administrasi MySQL melalui
Jejaring Jagat Jembar (World Wide Web). PhpMyAdmin mendukung berbagai operasi
MySQL, diantaranya (mengelola basis data, tabel- tabel, bidang (fields), relasi
(relations), indeks, pengguna (users), perijinan (permissions), dan lain-lain). (Barri,
Lumenta, Wowor, & Elektro-ft, 2015).
2.1.4. Model Pengembangan Perangkat Lunak
Menurut Sukamto & Shalahuddin (2015:28) “Model SDLC air terjun
(waterfall) sering juga disebut model sekuential linier (sequential linear) atau alur
hidup klasik (classic life cycle)“. Model air terjun meyediakan pendekatan alur hidup
perangkat lunak secara sekuential atau terurut dimulai dari analisis, desain,
pengodean, pengujian, dan tahap pendukung (support).
Sumber : Sukamto & Shalahuddin (2015:29)
Gambar II.1
Ilustrasi Model Waterfall
13
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
mespesifikasi kebutuhan perangkat lunak agar dapat dipahami perangkat lunak
seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak
pada tahap ini perlu di dokumentasikan
2. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada
desain pembuatan program perangkat lunak termasuk struktur data, artsitektur
perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini
mentranslasi desai agar dapat diimplementasikan menjadi program pada tahap
selanjutnya. Desain program 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 desain yang telah dibuat pada tahap
desain.
4. Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan
memastikan bahwa semua bagian sudah diuji. Hal ini yang dilakukan untuk
menimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai
dengan yang diinginkan.
5. Pendukung (support) atau Pemeliharaan (maintenance)
Tidak memungkinkan sebuah perangkat lunak mengalami perubahan
ketika sudah dikirimkan ke user. Perubahan biasa terjadi karena adanya
kesalahan yang muncul dan tidak terdeteksi saat pengujian atau peragkat lunak
14
harus beradaptasi dengan lingkungan yang 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.
Dalam kenyataan yang terjadi sangat jarang model air terjun dapat dilakukan
sesuai alurnya, penyebabnya dapat berupa perubahan spesifikasi perangkat lunak
yang terjadi di tengah alur pengembangan, sangat sulit bagi pelanggan untuk
mendefinisikan semua spesifikasi di awal alur pengembangan.
Pelanggan sering kali butuh contoh (prototype) untuk menjabarkan spesifikasi
kebutuhan sistem lebih lanjut. Dengan berbagai kelemahan yang dimiliki model air
terjun tapi model ini telah menjadi dasar dari model-model yang lain dalam
melakukan perbaikan di akhir alur pengembangan.
Model air terjun sangat cocok digunakan kebutuhan pelanggan sudah sangat
dipahami dan kemungkinan terjadinya perubahan kebutuhan selama pengembangan
perangkat lunak kecil. Hal positif air terjun adalah struktur tahap pengembangan
sistem jelas, dokumentasi dihasilkan di setiap tahap pengembangan, dan sebuah
tahap dijalankan setelah tahap sebelumnya selesai dijalankan atau tidak ada tumpang
tindih pelaksanaan tahap.
2.2. Tools Program
Merupakan alat yang digunakan untuk menggambarkan bentuk logika model
dari suatu sistem dengan menggunakan simbol, lambang, dan diagram yang
menunjukkan secara tepat arti dan fungsinya. Fungsinya sendiri adalah untuk
15
menjelaskan kepada user bagaimana fungsi dari sistem informasi dapat bekerja
dengan bentuk logical model dan physical model. Adapun peralatan pendukung yang
penulis gunakan dalam pembuatan perancangan program ini sebagai berikut:
2.2.1. Entity Relationship Diagram (ERD)
Menurut (Sukamto & Shalahuddin, 2015:50) “ERD adalah bentuk paling
awal dalam melakukan perancangan basis data relasional”. Jika menggunakan
OODBMS maka perancangan ERD tidak perlu dilakukan.
ERD memiliki beberapa aliran notasi seperti notasi Chen (dikembangkan oleh
Peter Chen), Barker (dikembangkan oleh Richard Barker, Ian Palmer, Harry Ellis),
notasi Crow’s Foot, dan beberapa notasi lain. Namun yang banyak digunakan adalah
notasi Chen. Berikut adalah simbol-simbol yang digunakan pada ERD dengan notasi
Chen:
1. Entitas / entity
Entitas merupakan data inti yang akan disimpan; 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.
2. Attribut
Field atau kolom data yang butuh disimpan dalam suatu entitas.
3. Attribut 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).
16
4. Attribut multinilai/multivalue
Field atau kolom data yang butuh disimpan dalam satu entitas yang dapat
memiliki nilai lebih dari satu.
5. Relasi
Relasi yang menghubungkan antar entitas; biasanya diawali dengan kata kerja.
6. Asosiasi/association
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 kardinalitas.
Misalkan ada kardinalitas 1 ke N ata sering disebut dengan one to many
menghubungkan entitas A dan entitas B.
Menurut Sukamto dan Shalahuddin (2015:52) bentuk hubungan relasi dalam ERD
adalah sebagai berikut:
Tabel II.1Hubungan Relasi dalam ERD
Nama Gambar
Binary
Tenary
R1E1 E2
R1E1 E2
E3
17
N-ary
Sumber : Sukamto dan Shalahuddin (2015:52)
2.2.2. Logical Relationship Structural (LRS)
“LRS merupakan hasil dari pemodelan Entity Relationship (ER) beserta
atributnya sehingga bisa terlihat hubungan-hubungan antar entitas”. Supriyanta &
Nussy (2016). Di dalam pembuatan LRS terdapat 3 hal yang dapat mempengarui
yaitu:
a. Satu ke Satu (One to One)
Berarti setiap entitas pada himpunan entitas A berhubungan dengan
paling banyak dengan satu entitas pas himpunan entitas B, dan begitu juga
sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling
banyak dengan satu entitas himpunan entitas B.
b. Satu ke Banyak (One to Many)
Berarti setiap entitas pada himpunan entitas A dapat dengan banyak
entitas pada himpunan entitas B, tetapi tidak sebaliknya dimana setiap entitas
pada himpunan entitas berhubungan dengan paling banyak dengan satu
entitas pada himpunan A.
c. Banyak ke Banyak (Many to Many)
R1E1 E3
E4
E2
18
Berarti setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, demikian juga sebaliknya
dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan
banyak entitas pada himpunan entitas A.
2.2.3. Pengkodean
“Kode digunakan untuk tujuan mengklarifikasikan data, memasukkan data
ke dalam komputer dan mengambil bermacam-macam informasi yang berhubungan
dengannya”. Kode dapat dibentuk dari kumpulan angka, huruf dan karakter-karakter
khusus (misalnya %, /, -, $). Angka merupakan simbol yang banyak digunakan pada
sistem kode. Akan tetapi, kode yang berbentuk angka lebih dari 6 digit akan sangat
sulit untuk diingat. (Azis & Sarmidi, 2018).
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
paling banyak digunakan di dalam sistem informasi, tetapi kode yang lain mulai
banyak digunakan seperti misalnya kode batang (barcode). Ada beberapa macam
tipe kode, antara lain:
1. Kode Mnemonik (Mnemonic Code)
Kode mnemonik dibuat dasar singkatan atau pengambilan sebagian karakter dari
item yang akan diwakili oleh item tersebut agar mudah diingat.
19
2. Kode Urut (Sequential Code)
Kode urut disebut juga kode seri (serial code) yang merupakan kode dengan
nilai urut antar satu kode dengan kode berikutnya.
3. Kode Blok (Block Code)
Mengklasifikasikan item kedalam blok tertentu yang mencerminkan satu
klasifikasi tertentu atas dasar pemakaian maksimal yang diharapkan.
4. Kode Kelompok (Group Code)
Kode yang berdasarkan field-field dan tiap-tiap field kode mempunyai arti
sendiri.
5. Kode Desimal (Desimal Code)
Kode desimal mengklasifikasikan kode atas dasar 10 unit angka desimal yang
dimulai dari angka 0 sampai angka 9 atau dari angka 00 dengan angka 99
tergantung dari banyaknya kelompok.
2.2.4. HIPO (Hierarchy Input Process Output)
“HIPO (Hierarchy Input Process Output) merupakan teknik untuk
mendokumentasikan sistem pemrograman. HIPO dikembangkan oleh personel IBM
yang dipercaya bahwa dokumentasi sistem pemrograman yang dibentuk dengan
menekankan pada fungsi-fungsi sistem akan mempercepat pencarian prosedur yang
dimodifikasi, karena HIPO menyediakan fasilitas lokasi dalam bentuk kode dari tiap
prosedur dalam suatu sistem.” Oktaviani (2018).
20
2.2.5. Diagram Alir Program (Flowchart)
“Flowchart adalah untaian simbol gambar (chart) yang menunjukan aliran
(flow) dari proses terhadap data”. Ada dua kategori simbol flowchart, yaitu program
flowchart dan sistem flowchart. Mulyanto & Khasanah (2018).
1. Program Flowchart, yaitu simbol-simbol flowchart yang digunakan untuk
menggambarkan logika dari pemrosesan terhadap data.
2. Sistem Flowchat, merupakan simbol-simbol peralatan sistem komputer yang
digunakan untuk menyatakan proses pengolahan data.
Dalam pembuatan diagram alir program dibutuhkan teknik pembuatan yang
sangat penting yaitu :
1. General Way
Cara ini biasa digunakan untuk menyusun logika suatu program yang
menggunakan pengulangan proses secara tidak langsung (non direct loop).
2. Iteration Way
Cara ini bisa digunakan untuk logika program yang cepat serta bentuk
permasalahan yang kompleks dimana pengulangan proses yang terjadi bersifat
kompleks (loop direct).
2.2.6. Implementasi dan Pengujian Unit
Menurut Sukamto dan Shalahuddin (2015:275) “Blackbox Testing yaitu
menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan
kode program”. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi,
21
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 denan 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.