Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
5
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Pengertian program menurut Suarga (2009:14), “Program komputer adalah
serangkaian instruksi yang ditulis dengan menggunakan suatu bahasa program yang
dipilih untuk memberi perintah kepada komputer tentang yang apa harus
dikerjakannya”. Suatu program dibuat dengan menggunakan bahasa pemrograman,
seperti Java, C ++ dan Visual Basic.Net.
Orang yang membuat program disebut sebagai pemrogram atau
programmer, aktivitas membuat program disebut sebagai pemrograman. Jadi
pemrograman merupakan suatu kumpulan urutan perintah ke komputer untuk
mengerjakan sesuatu. Perintah-perintah ini membutuhkan suatu bahasa tersendiri,
sebagaimana bahasa manusia, bahasa pemrograman memiliki kaidah tertentu yang
dapat dimengerti oleh komputer.
Meskipun sama-sama dalam konteks program komputer, ada juga pendapat
lain mengenai pengertian program. Menurut Kadir (2014:2), “Program adalah
kumpulan instruksi yang ditujukan untuk komputer agar komputer dapat melakukan
tujuan tertentu yang diharapkan oleh pemakai”. Sehingga ketika kita mengerti
mengenai pengertian program, kita juga perlu mengetahui bahwa sebelum program
diterapkan secara umum, program harus bebas terlebih dahulu dari kesalahan-
kesalahan yang bisa mengakibatkan error. Dalam hal ini, program harus diuji untuk
menemukan kesalahan-kesalahan yang mungkin dapat terjadi. Kesalahan dari
6
program yang mungkin terjadi dapat diklasifikasikan dalam beberapa hal. Jadi
secara ringkas ada beberapa macam error yang dapat kita hindari yaitu:
1. Kesalahan logika (Logic Error), adalah kesalahan yang dilakukan oleh seorang
progammer dikarenakan algoritma dan logika yang dibuat salah.
2. Kesalahan sintaks (Syntax Error), adalah kesalahan yang dikarenakan seorang
pemrogram tidak mematuhi tata bahasa program yang digunakan.
3. Kesalahan dalam proses (Run Time Errors). adalah kesalahan yang terjadi pada
saat program dijalankan (running).
Pembuatan program tentunya tidak terlepas dari tahapan-tahapan yang
harus dikerjakan, untuk lebih jelasnya tahapan perancangan program menurut
Suarga (2009:15), yaitu:
1. Analisis
Melakukan analisis terhadap masalah yang akan diselesaikan dengan program.
2. Desain
Melakukan desain penyelesaian, biasanya melalui alat bantu seperti flowchart
atau algoritma yang tidak lain merupakan susunan langkah strategi dan logika
penyelesaian.
3. Pengodean
Hasil desain diterjemahkan ke dalam bahasa program yang dipilih dan diketik
ke dalam file komputer yang disebut file source.
4. Kompilasi
Proses penerjemahan program (source) ke dalam objek yang sesuai, biasanya
disertai pemeriksaan sintaksis dari program. Bila ditemukan kesalahan ketik
atau kesalahan perintah maka kompiler akan melaporkan kesalahan tersebut.
7
5. Pengujian
Apabila proses kompilasi sukses maka program bisa diuji coba dengan
memberikan data sesuai keperluan dan kemudian hasilnya diamati. Apabila
output yang diharapkan tidak sesuai berarti ada kesalahan logika atau strategi
dalam desain sehingga perlu ditinjau kembali, bahkan kadang kala harus
kembali ke langkah analisis.
6. Implementasi
Setelah lolos uji coba maka program dapat digunakan sesuai tujuan
pembuatannya.
2.1.1. Pemrograman Terstruktur
Pengertian pemrograman terstruktur menurut Rossa dan Shalahuddin
(2013:67), “Pemrograman terstruktur adalah konsep atau paradigma atau sudut
pandang pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi
atau prosedur-prosedur yang dibutuhkan program komputer”. Dari definisi tersebut
dapat disimpulkan bahwa suatu program aplikasi yang dibuat dengan konsep
pemgoraman terstruktur, program aplikasi tersebut dibagi berdasrakan fungsi-
fungsi yang ada di dalam aplikasi misalnya aplikasi penggajian didalam aplikasi
tersebut ada prosedur mengelola data gaji dan di dalam prosedur tersebut ada
fungsi-fungsi seperti fungsi simpan, hapus, hitung, edit, delet dan lain-lain.
2.1.2. Bahasa Pemrograman Java
Menurut definisi dari Sun MicroSystem, Java adalah bahasa pemrograman
yang simple, object-oriented, distributed, interpreted, robust, secure, architecture
neutral, portable, high-performance. Berikut ini penjelasan dari definisi diatas
menurut Suarga (2009:3) diantaranya:
8
1. Java bahasa yang simple: Rancangan bahasa Java dibuat sedemikian rupa
sehingga cepat dapat dikenali dan dipahami oleh pemrogram pemula sekalipun
karena mirip dengan bahas C/C++ dan yang kedua lebih sederhana dari C/C++
dalam beberapa hal mengingat berbagai hal yang sulit pada C/C++ sudah tidak
ada pada Java, misalnya pemakaian pointer.
2. Java adalah bahasa yang object-oriented: Konsep objek diterapkan pada
pembuatan program Java, bahkan Java menggunakan konsep objek secara
murni sehingga tidak mungkin seseorang membuat program Java tanpa
mendefinisikan kelas dan menggunakan objek.
3. Java adalah bahasa yang distributed: Bahasa Java dirancang sedemikian rupa
sehingga mendukung pembuatan aplikasi dalam jaringan komputer. Java
menyediakan beberapa kelas objek untuk mendukung aplikasi jaringan yang
dihimpun dalam paket java.net.
4. Java adalah bahasa yang robust: Rancangan Java dibuat sedemikian rupa hingga
mengurangi kemungkinan menjadi beku (freeze) ketika dijalankan.
Kemungkinan untuk error pun diminimalkan, misalnya dengan menerapkan
strong-typed sehingga program bisa terhinadar dari kesalahan karena tipe data
yang keliru. Java juga menerapkan model memori yang dapat mencega memori
corrupt dan overwrited, misalnya dengan membuang pemakaian pointer.
5. Java adalah bahasa yang secure: Secara otomatis Java menerapkan pengamanan
terhadap aplikasi sehingga mengurangi kemungkinan serangan dari pengguna
jaringan.
9
6. Java adalah bahasa architectural neutral: Program Java yang telah dikompilasi
dapat dijalankan pada berbagai mesin dan tidak hanya bergantung pada satu
arsitektur komputer saja.
7. Java adalah bahasa yang portable: Program Java sangat mudah dipindahkan dari
suatu mesin ke mesin lain tanpa harus dikompilasi ulang. Pada haikatnya, ketika
dikompilasi program java diubah kedalam format bytecode yang dapat diterma
oleh semua mesin, sementara pada setiap mesin tersedia Java-run-time atau
Java-Virtual-Machine (JVM) yang dapat menjalankan bytecode.
8. Java adalah bahasa high-performance: Pada hakikatnya program C yang telah
dikompilasi berjalan lebih dari cepat dari Java, karena hasil kompilasi C adalah
bahasa mesin komputer yang yang dipakai untuk mengompilasi, namn hasil
kompilasi ini belum tentu bisa jalan pada komputer yang berbeda arsitektur.
Program Java dikompilasi menjadi bytecode yang bisa berjalan diberbagai
mesin, namun ketika dijalankan bytecode ini harus diterjemahkan oleh JVM
kedalam bahasa mesin yang sesuai, sehingga lebih lambat dari C, namun karena
Java dapat digunakan pada jaringan komputer yang kenyataanya tidak terlalu
cepat karena hambatan saluran komunikasi maka program Java masih terasa
cukup cepat.
9. Java adalah bahasa yang multithreaded: Java dirancang untuk menangani
berbagai aplikasi yang berjalan secara bersamaan, misalnya memainkan lagu,
sambil melakukan download, dan pengguna sedang melakukan scrolling pada
window yang diamatinya. Kejadian ini yang disebut multithreaded.
10. Java adalah bahasa dynamic: Bahasa Java dirancang untuk beradaptasi dengan
lingkungan yang dapat berubah cepat. Java dapat memanggil berbagai kelas
10
objek pada saat dibutuhkan, walaupun harus melalui jaringan. Di samping itu
Java memiliki representasi run-time sehingga objek yang sedang digunakan
oleh suatu aplikasi dapat diperiksa berasal dari kelas yang mana melalui
informasi run-time.
Salah satu keunggulan dari bahasa Java adalah platform independence
artinya program Java, baik source code program maupun hasil kompilasinya tidak
tergantung pada sistem operasi dan platform yang di gunakan. Java pertama kali
dikembangkan untuk memenuhi kebutuhan akan sebuah bahasa komputer yang
ditulis satu kali dan dapat dijalankan dibanyak system komputer berbeda tanpa
perubahan kode. Pada umumnya, para pakar pemrograman berpendapat bahwa
bahasa Java memiliki konsep yang konsisten dengan teori pemrograman objek dan
aman untuk digunakan. Java sampai saat ini masih merupakan bahasa pemrograman
yang masih sangat diminati dan banyak digunakan oleh para programmer dan
software developer untuk mengembangkan berbagai tipe aplikasi, mulai dari
aplikasi console, aplikasi desktop, game, dan applet (aplikasi yang berjalan di
lingkungan web browser), sampai ke aplikasi-aplikasi yang berskala enterprise.
Java dikategorikan menjadi tiga edisi, yaitu: J2SE (Java 2 Platform Standart
Edition) untuk membuat aplikasi-aplikasi desktop dan apllet, J2EE (Java 2
Platform Enterprise Edition) untuk membuat aplikasi-aplikasi berskala enterprise,
dan J2ME (Java 2 Platform Micro Edition) untuk membuat aplikasi-aplikasi yang
dapat dijalankan dilingkungan perangkat-perangkat mikro seperti handphone, PDA
dan Smartphone.
11
2.1.3. Basis Data (Database)
Pengertian basis data menurut Kadir (2014:218), “basis data adalah suatu
pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan
aktivitas untuk memperoleh informasi”. Sebagain besar basis data berisi banyak
tabel, setiap tabel terdiri dari kolom dan baris. Misalnya basis data perusahaan
mempuanyai bebarapa tabel seperti tabel karyawan, produk, penjualan, pembelian
dan lainnya. Masing-masing tabel ini mempunyai data yang berbeda-beda karena
setiap tabel menyimpan informasi yang relevan bagi penggunanya.
Untuk mengelola basis data dibutuhkan sebuah perangkat lunak yang
dinamakan DBMS (Database Management System), menurut Ramakrishnan dan
Gherke dalam Simarmala dan Paryudi (2010:8), “Sistem Basis Data (DBMS)
adalah perangkat lunak yang didesain untuk membantu memelihara dan
memanfaatkan kumpulan data yang besar”. Sedangkan menurut Kadir (2014:218),
“DBMS adalah perangkat sistem yang memungkinkan para pemakai membuat,
memelihara, mengontrol, dan mengakses basis data dengan cara praktis dan
efisien”.
Hampir semua aplikasi yang digunakan untuk mengolah data pasti
menggunakan DBMS. Seperti halnya web ecommerce yang menggunakan basis
data untuk mengelola datanya seperti data persedian barang, pelanggan, penjualan
dan lain-lain, dengan menggunakan DBMS data dapat begitu mudah dikelola.
Contoh perangkat lunak DBMS yang sering digunakan seperti Microsotf Access,
MySQL, Maria db, dan Oracle.
12
2.1.4. SQL (Structured Query Language)
Menurut Kadir (2014:242), “SQL (Structured Query Language) adalah
bahasa yang digunakan untuk mengakses basis data yang tergolong relasional”.
Pernyataan SQL digunakan untuk melakukan tugas seperti update data pada basis
data, atau mengambil data dari basis data. Beberapa sistem manajemen basis data
relasional yang menggunakan SQL diantaranya: Oracle, Sybase, Microsoft SQL
Server, Access, MySQL dan lain-lain. Perintah standar SQL seperti select, insert,
update, delete, create, dan drop dapat digunakan untuk menyelesaikan hampir
semua hal yang perlu dilakukan dengan basis data. Berikut ini adalah tabel daftar
sejumlah pernyataan SQL:
Tabel II.1
Daftar Sejumlah Pernyataan SQL
Pernyataan Keterangan
SELECT Untuk mengambil data
INSERT Untuk menambahkan data
UPDATE Untuk mengganti data
DELETE Untuk menghapus data
CREATE TABLE Untuk menciptakan data
DROP TABLE Untuk mengapus tabel
GRANT Untuk mengatur wewenang pemakai
REVOKE Untuk mencabut hak pemakai
Sumber: Kadir (2014:242)
Adapun menurut Indrajani (2014:66) tujuan SQL, antara lain:
1. Bahasa basis data yang dapat memungkinkan user melakukan aktivitas
sebagai berikut:
a) Membuat struktur relasi dan basis data.
13
b) Melakukan operasi penyisipan, perubahan dan penghapusan data dari
tabel.
c) Melakukan query sederhana dan kompleks.
2. Bahasa basis data yang harus dapat melaksanakan operasi-operasi tersebut
dengan usaha minimal yang dilakukan user, dimana sintaks atau struktur
intruksi harus mudah dipahami atau dipelajari.
3. Harus dapat dipindahkan sehingga memungkinkan untuk pindah dari satu
DBMS ke DBMS lainnya.
4. SQL merupakan transformasi-oriented language dengan 2 komponen
utama sebagai berikut:
a) DDL untuk definisi struktur basis data.
b) DML untuk pengambilan dan perubahan data.
5. Sampai dengan SQL3, SQL tidak mengandung perintah alih kontrol. Hal ini
dapat diimplementasikan dengan bahasa pemrograman atau perintah
kontrol atau secara interaktif, sesuai dengan keputusan user.
6. SQL mudah dipelajari, karena:
a) Merupakan bahasa non-procedural, cukup mensepesifikasikan
informasi apa yang dibutuhkan daripada bagaimana
mendapatkannya.
b) Pada dasarnya memiliki sintaks yang bebas.
7. Terdiri atas bahasa Inggris standar, seperti:
a) CREATE
b) INSERT
c) SELECT
14
d) FROM
8. Dapat digunakan oleh bermacam-macam user, termasuk DBA, manajemen,
pembuat aplikasi, dan user lainnya.
9. Terdapat ISO standard untuk SQL, membuat bahasa formal dan de facto
untuk relational database.
2.1.5. Konsep Dasar Waterfall
Menurut Rosa dan Shalahuddin (2013:28), “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 analisi, desain,
pengodean, pengujian, dan tahap pendukung (support)”. Menurut Rosa dan
Shalahuddin (2013:29), ada lima tahapan dalam metode waterfall, yaitu:
1. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
mensefisikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat
lunak seperti apa yang dibutuhkan oleh user. Sepesifikasi kebutuhan perangkat
lunak pada tahap ini perlu 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 pengkodean. Tahap ini
mentranlasi kebutuhan perangkat lunak dari tahap analisis kebutuhuan ke
representasi desain agar dapat diimplementasikan menjadi program pada tahap
15
selanjutnya. Desain perangkat lunak 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 (eror) 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 terdektesi 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, tetapi tidak untuk membuat
perangkat lunak baru.
2.1.6. NetBeans IDE
Menurut (WK, 2015:20), “NetBeans adalah salah satu IDE yang digunakan
oleh developer software komputer untuk menulis, meng-compile, mencari
kesalahan, dan untuk menyebarkan program”. NetBeans merupakan aplikasi yang
free artinya aplikasi yang tidak berbayar. Selain bahasa pemrogaman Java yang
16
didukung oleh NetBeans. NetBeans juga mendukung beberapa bahasa
pemrograman seperti PHP, C/C++, JavaScript dan lain-lain.
2.1.7. XAMPP
Menurut (WK, 2015:55), “XAMPP merupakan singkatan dari X (empat
sistem operasi), Aphace, MySQL, PHP, Perl. XAMPP adalah tool yang
menyediakan paket perangkat lunak dalam satu buah paket”. Berikut ini penjelasan
mengenai paket perangkat lunak yang ada di XAMPP, diantaranya:
1. Aphace
Aphace adalah perangkat lunak web server yang berfungsi untuk menghasilkan
halaman website berbasis PHP.
2. MySQL
MySQL adalah perangkat lunak sistem basis data yang diguankan untuk
mengelola basis data server. MySQL juga menyediakan source programnya
secara terbuka (open source) sehingga orang lain dapat mengubah atau
menambah kemampuan dari MySQL untuk keperluan khusus secara pribadi.
3. PHP (PHP: Hypertext Preprocessor)
PHP adalah bahasa pemrograman script server-side untuk membuat sebuah
website.
4. Perl
Perl adalah bahasa pemrograman untuk tujuan umum. Dan sekarang
dikembangkan untuk berbagai tugas pengembangan web, pemrograman
jaringan, pengembangan GUI, dan lainnya.
17
2.2. Peralatan Pendukung ( Tool Program )
Peralatan pendukung adalah peralatan yang dibutuhkan oleh setiap
programmer untuk membantu mempermudah dalam pembuatan dan pembacaan
logika dan algoritma program serta membantu setiap programmer untuk
mengetahui alur program yang dibuat mulai dari input, proses, dan output yang
dihasilkan . Peralatan pendukung yang digunakan adalah :
2.2.1. Konsep Dasar UML
Menurut Rossa dan Shalahuddin (2013:133), “UML (Unified Modeling
Language) adalah salah satu standar bahasa yang banyak digunakan di dunia
industri untuk mendefinisikan requierement, membuat analisis dan desain, serta
menggambarkan arsitektur dalam pemograman berorientasi objek”.Berdasarkan
pendapat yang dikemukakan diatas, maka dapat disimpulkan bahwa, UML adalah
bahasa yang digunakan untuk memvisualisasikan, mendefinisikan, membangun
dan membuat dokumen dari arsitektur perangkat lunak. UML dapat digunakan pada
semua proses melalui metodologi pengembang perangkat lunak dan melakukan
implementasinya pada teknologi yang berbeda.
UML yang digunakan kali ini adalah UML 2.3. Pada UML 2.3 terdiri dari
13 macam diagram yang dikelompokan kedalam 3 kategori. Pembagian kategori
dan macam-macam diagram tersebut dapat dilihat pada gambar II.1 di bawah ini.
18
Sumber: Rossa dan Shalahuddin (2013:140)
Gambar II.1. Diagram UML
Berikut ini penjelasan diagram UML 2.3 menurut Rossa dan Shalahuddin
(2013:141), diantaranya:
1. Use Case Diagram
Diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara
satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar,
use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah
sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Ada dua hal utama pada use case yaitu:
a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat
itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor
belum tentu merupakan orang.
19
b. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit
yang saling bertukar pesan antar unit atau aktor.
Setiap use case dilengkapi dengan skenario. Skenario use case adalah alur
jalannya proses use case dari sisi aktor dan sistem. Berikut adalah format
tabel skenario use case:
Tabel II.2
Skenario Use case
Aksi Aktor Reaksi Sistem
Skenario Normal
Skenario Alternatif
Sumber: Rossa dan Shalahuddin (2013:161)
Skenario normal adalah skenario bila sistem berjalan normal tanpa terjadi
keasalahan atau error. Sedangkan skenario alternatif adalah skenario bila
sistem tidak berjalan normal, atau mengalami error. Skenario normal dan
skenario alternatif dapat lebih dari satu.
2. Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran
kerja) atau aktivitas dari sebuah sistem atau proses bisinis atau menu yang ada
diperangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram
aktivitas menggambarakan aktivitias sistem bukan apa yang dilakukan aktor,
jadi aktivitas yang dapat dilakukan oleh sitem. Diagram aktivitas juga banyak
digunakan utnuk mendefinisiakan hal-hal berikut:
a. Rancangan proses bisinis dimana setiap urutan aktivitas yang digambarkan
berupa proses bisnis sistem yang didefinisikan.
20
b. Urutan atau pengelompokan tampilan dari sistem / user interface dimana
setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya.
d. Rancangan menu yang ditampilkan pada perangkat lunak.
3. Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas
memiliki apa yang disebut atribut dan metode atau operasi.
4. Object Diagram
Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan
jalannya objek dalam sisem. Pada diagram objek harus dipastikan semua kelas
yang sudah didefinisikan pada diagram kelas harus dipakai objeknya, karena
jika tidak, pendefinisian kelas itu tidak dapat dipertanggung jawabkan. Diagram
objek juga berfungsi untuk mendefinisikan contoh nilai atau isi dari atribut tiap
kelas.
5. Component Diagram
Diagram komponen atau component diagram dibuat untuk menunjukan
organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah
sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan
ada didalam sistem.
21
6. Composite Structure Diagram
Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-
bagian yang saling terhubung maupun mendeskripsikan struktur pada saat
berjalan (runtime) dari instance yang saling terhubung.
7. Package Diagram
Package diagram menyediakan cara mengumpulkan elemen-elemen yang
saling terkait dalam digram UML. Hampir semua diagram dalam UML dapat
dikelompokan menggunakan package diagram.
8. Deployment Diagram
Diagram deployment atau deployment diagram menunjukan konfigurasi
komponen dalam proses eksekusi aplikasi. Diagram deployment juga dapat
digunakan untuk memodelkan hal-hal berikut:
a. Sistem tambahan (embedded system) yang menggambarkan rancangan
device, node, dan hardware.
b. Sistem client/server.
c. Sistem terdistibusi murni.
d. Rekayasa ulang aplikasi.
9. State Machine Diagram
State machine diagram atau statechart diagram atau dalam bahasa Indondesia
disebut diagram mesin status atau sering juga disebut diagram status digunakan
untuk menggambarkan perubahan status atau transisi status dari sebuah mesin
atau sistem atau objek.
22
10. Sequence Diagram
Diagram sekuen menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek. Oleh karena itu itu untuk menggambarkan diagram sekuen maka
harus diketahui objek-objek yang terlibat dalam sebuah use case beserta
metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada
pada use case.
11. Timing Diagram
Timing diagram merupakan diagram yang fokus pada penggambaran terkait
batasan waktu. Timing diagram digunakan untuk menggambarkan tingkah laku
sistem dalam periode waktu tertentu. Timing diagram biasanya digunakan
untuk mendeskripsikan operasi dari alat digital karena penggambaran secara
visual akan lebih mudah dipahami daripada dengan kata-kata.
12. Interaction Overview Diagram
Interaction overview diagram mirip dengan diagram aktivitas yang berfungsi
untuk menggambarkan sekumpulan urutan aktivitas. Interaction overview
diagram adalah bentuk aktivitas digaram yang setiap titik merepresentasikan
diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram
komunikasi, interaction overview diagram, dan timing diagram.
23
2.2.2. Konsep Entity Relationship Diagram (ERD)
Menurut Rossa dan Shalahuddin (2013:289), “ERD merupakan pemodelan
awal basis data yang dikembangkan berdasarkan teori himpunan dalam bidang
matematika untuk pemodelan basis data relasional”. Sedangkan menurut
Simarmata dan Paryudi (2010:67), “ERD adalah alat pemodelan data utama dan
akan membantu mengorganisasi data dalam suatu proyek ke dalam entitas-entitas
dan menentukan hubungan antar entitas”. Dari kedua definisi tersebut dapat
dismpulkan bahwa ERD merupakan alat pemodelan yang menggambarkan
hubungan antar entitas, serta dapat digunakan untuk merancang basis data
relasional yang direpersentasikan dengan diagram-diagram ERD tersebut. Berikut
ini penjelasan mengenai komponen ERD, pemetaan kardinaliatas dan Logical
Record Structure (LRS), yaitu:
1. Komponen ERD (Entity Relationship Daigram)
a. Entitas
Entitas adalah sesuatu yang nyata atau abstrak di mana kita akan
menyimpan data”. Contoh entitas misalnya: karyawan perusahaan,
mahasiswa, kampus, buku, dan sebagainya. Pada ERD entitas mempunyai
simbol persegi panjang.
b. Relasi
Relasi adalah hubungan yang terjadi antara satu atau lebih entitas. Relasi
biasanya diawali dengan kata kerja. Kardinalitas menentukan kejadian
suatu entitas untuk satu kejadian pada entitas yang berhubungan. Misalnya
mahasiswa bisa mengambil banyak kuliah. Simbol relasi digambarakan
dengan bentuk diamond.
24
c. Atribut
Atribut adalah properti, elemen data dan field. Misalnya nama, alamat,
gelar, no telepon dan gaji merupakan atribut entitas pegawai. Simbol atribut
digambarkan dengan bentuk oval. Jenis-jenit atribut diantaranya:
1) Atribut key adalah atribut yang digunakan untuk menentukan suatu
entity secara unik.
2) Atribut simple adalah atribut yang bernilai tunggal.
3) Atribut mulit value adalah atribut yang memiliki nilai lebih dari satu.
4) Atribut derivatif adalah suatu atribut yang dihasilkan dari atribut lain.
2. Pemetaan Kardinalitas
Menurut Simarmata dan Paryudi (2010:63), “Pemetaan kardinalitas merupakan
pemetaan yang menyatakan jumlah entitas lain dapat dihubungkan entitas
tersebut melalui sebuah himpunan relasi”. Jenis-jenis pemetaan kardinalitas
diantaranya:
a. One-to-One, sebuah entitas pada A berhubungan dengan paling banyak satu
entitas pada B dan sebuah entitas pada B berhubungan paling banyak satu
entitas pada A. Contoh: seorang guru mengajar seorang siswa.
b. One-to-Many, sebuah entitas pada A berhubungan dengan nol atau lebih
entitas pada B. Sebuah entitas pada B dapat dihubungkan paling banyak satu
entitas pada A. Contoh: dalam suatu perusahaan, satu bagian
memperkerjakan banyak pegawai.
c. Many-to-One, sebuah entitas pada A berhubungan dengan paling banyak
satu entitas pada B. Sebuah entitas pada B dapat dihubungkan nol atau lebih
25
entitas pada A. Contoh: dalam suatu perusahaan, banyak pegawai
dipekerjakan pada satu bagian.
d. Many-to-Many, sebuah entitas pada A berhubungan dengan nol atau lebih
entitas pada Bdan sebuah entitas pada Bdapat dihubungkan nol atau lebih
entitas pada A. Contoh: satu mahasiswa mengambil banyak mata kuliah dan
satu mata kuliah diambil banyak mahasiswa.
3. Logical Record Structure (LRS)
Pengertian LRS (Logical Record Structure) adalah representasi dari struktur
record-record pada tabel-tabel yang terbentuk dari hasil antar himpunan entitas,
menentukan kardinalitas, jumlah tabel dan Foreign Key (FK).Konversi ERD ke
LRS adalah konversi dari pemodelan ERD ke pemodelan LRS, maka konversi
yang akan terjadi ketika perubahan dari ERD ke LRS mengikuti aturan-aturan
sebagai berikut:
a. Setiap entitas akan diubah kedalam bentuk tabel.
b. Sebuah relasi yang memiliki kardinalitas One-to-One atau One-to-Many
maka akan membentuk dua tabel, sedangkan relasi yang memiliki
kardinalitas Many-to-Many akan membentuk tiga tabel.
2.2.3. Pengujian Kotak Hitam (Black Box Testing)
Menurut Rossa dan Shalahuddin (2013:275), “Pengujian kotak hitam adalah
menguji perangkat lunak dari segi sefesifikasi fungsional tanpa menguji desain dan
kode program. Pengujian ini dimaksudkan untuk mengetahui apakah fungsi-fungsi,
masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang
dibutuhkan”. Metode pengujian software ini dinamakan black box dikarenakan
software program yang sedang diuji dimata penguji atau testernya adalah seperti
26
kotak hitam, apa apa didalamnya tidak diketahui. Berikut ini ilustrasi black box
testing dapat dilihat pada gambar II.2 di bawah ini.
Sumber: www.guru99.com
Gambar II.2. Ilustrasi Black box testing