bab ii landasan teori - repository bsi
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
2.1.1. Program
Untuk dapat memahami mengenai program aplikasi yang akan
dibangun pengguna sebaiknya dapat memahami konsep dasar program terutama
mengenai pengertian program dan bahasa pemrograman yang digunakan untuk
membangun sebuah aplikasi.
Menurut Harumy (2016:4) menyatakan bahwa “Program adalah
formulasi sebuah algoritma dalam bentuk bahasa pemrograman. Sehingga siap
untuk dijalankan pada mesin komputer”.
Menurut Kadir (2012:2) yang dimaksud “program adalah kumpulan
intruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan
tertentu”.
Jadi dapat disimpulkan bahwa program adalah sekumpulan intruksi atau
perintah yang dibuat untuk mengatur dan memerintahkan komputer melakukan
tindakan tertentu. Suatu program ditulis dengan bahasa pemrograman, bahasa
pemrograman 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.
Dalam konteks pemrograman terdapat sejumlah bahasa pemrograman, secara
garis besar, bahasa-bahasa pemrograman dapat dikelompokan menjadi:
8
1. Bahasa beraras-tinggi (high-level language)
Bahasa beraras-tinggi adalah bahasa pemrograman yang berorientasi kepada
bahasa manusia. Biasanya menggunakan bahasa yang mudah dipahami
manusia misalnya IF dan And. Yang termasuk dalam kelompok bahasa ini
yaitu Java, C++, Pascal, dan BASIC.
2. Bahasa beraras-rendah (low-level language)
Bahasa yang digunakan pada level ini adalah bahasa pemrograman yang
berorientasi kepada mesin. Bahasa ini menggunakan kode biner, atau suatu
kode sederhana untuk menggantikan kode-kode tertentu dalam mesin biner.
2.1.2. Bahasa Pemrograman Java
Menurut Utomo (2013:2) menyatakan bahwa ”Java merupakan bahasa
pemrograman berorientasi objek yang sintaknya mengikuti bentuk bahasa C dan
C++ sehingga bagi para programmer bahasa C tidak akan kesulitan ketika akan
bermigrasi ke bahasa Java karena sintaknya hampir sama”.
Beberapa elemen yang ada pada bahasa Java antara lain:
1. Java mendukung adanya komentar untuk baris tunggal atau lebih untuk
keperluan dokumentasi kode sumber (untuk lebih memudahkan memahami
kode program dengan memberikan penjelasan/keterangan).
2. Bahasa Java juga menyediakan perintah if, switch, while, for serta perintah
seperti try, catch, class yang ditemukan pada bahasa C++.
3. Bahasa Java juga mendukung adanya tipe data yang bersifat karakter, integer
dan tipe lainnya.
9
4. Bahasa Java juga mendukung operator yang sama seperti yang digunakan
pada bahasa C, seperti operator aritmatik (+, -, *, /) juga operator kondisional
seperti „?‟.
5. Bahasa Java menggunakan karakter blace, yaitu { dan } untuk membatasi
pernyataan pada blok tertentu. Karakter tersebut juga ada di bahasa C.
Walaupun terdapat banyak persamaan karena bahasa java ini
merupakan junior dari bahasa C sebelumnya. Beberapa perbedaan tersebut antara
lain:
1. Java mendukung adanya pola (Style) komentar lain yang dikenal sebagai
Javadoc.
2. Java juga menggunakan perintah-perintah baru yang tidak ada dalam bahasa
C seperti transient, synchronized, stricftp, dan lainnya.
3. Java tidak mendukung semua operator yang ada seperti operator sizeof.
2.1.3. Pemrograman Berorientasi Objek
Bahasa pemrograman berorientasi objek atau sering disebut juga Object
Oriented Programming (OOP) merupakan salah satu metode yang digunakan
dalam membangun aplikasi pemrograman menggunakan bahasa pemrograman
java, agar dapat membangun sebuah aplikasi dengan metode pemrograman
berorientasi objek maka kita harus memahami pengertian bahkan konsep dasar
pemrograman berorientasi objek yang akan digunakan.
Menurut Wardana (2010:24) mengatakan bahwa:
Pemrograman berorientasi object atau yang sering disebut Object
Oriented Programming (OOP) adalah metode pemrograman, di mana
developer membuat dan mengelompokkan kode-kode yang berkaitan
menjadi suatu object. Sehingga setiap object dapat memiliki data dan
fungsi sendiri, dan data serta fungsi tersebut dapat digunakan dengan
memanggil object yang bersangkutan terlebih dahulu.
10
Salah satu keunggulan OOP dibandingkan teknik pemrograman
terstruktur adalah OOP memungkinkan developer untuk membuat modul yang
tidak perlu berubah ketika suatu object baru ditambahkan. Bahkan developer
dapat membuat suatu object baru yang mewarisi beberapa fitur dari object yang
sudah ada. Hal ini membuat aplikasi yang berorientasi object lebih mudah
dimodifikasi (diperbaiki) dan dikembangkan dibandingkan pemrogram terstruktur.
Adapun keuntungan menggunakan OOP dalam pembuatan aplikasi
adalah:
1. Maintainability
Mudah dikelola karena kita dengan mudah menemukan sumber kesalahan
untuk kemudian diperbaiki. Misalnya yang rusak adalah penglihatan, tentu
yang diperbaiki adalah mata bukan object yang lain (dianalogikan dengan
tubuh manusia, di mana setiap bagian tubuh adalah suatu object).
2. Extensibility
Kemampuan untuk dapat diperluas. Setiap object dapat ditambah
kemampuannya (tentu kode-kode di dalamnya) tanpa mengganggu object
yang lain.
3. Reusability
Kemampuan untuk dapat digunakan kembali. Setiap object dapat dipakai
dalam project yang lain jika diperlukan tanpa perlu penyesuaian yang berarti.
Konsep dasar pemrograman berorientasi objek yang harus dipahami
Menurut Muslihudin dan Oktafianto (2016:56) adalah sebagai berikut:
11
1. Objek (Object)
Menurut (Douglas) dalam Muslihudin dan Oktafianto (2016:56) menyatakan
bahwa ”objek adalah entitas yang memiliki atribut, karakter (behaviour) dan
kadang kala disertai kondisi (state)”. Objek merepresentasikan sesuatu sistem
real seperti siswa, sistem control perrmukaan sayap pesawat, sensor atau
mesin. Objek juga merepresentasikan sesuatu dalam bentuk konsep seperti
nasabah bank, merek dagang, pernikahan atau sekadar listing. Bahkan bisa juga
menyatakan visualisasi seperti, bentuk huruf (font), histogram, poligon, garis
atau lingkaran. Semuanya merniliki atribut (untuk data), behaviour (operation
atau method), keadaan (memori), identitas dan tanggung jawab. Proses
menjabarkan sistem nyata menjadi objek dinamakan abstraksi (abstraction).
Abstraksi mengeliminir aspek yang tidak perlu dalam suatu objek.
2. Kelas (Class)
Kelas adalah gambaran satu set objek yang memiliki atribut dan behaviour
yang sama. Kelas mirip tipe data pada pemrograman non objek, tapi Iebih
komprehensif karena terdapat struktur sekaligus karakteristiknya. Kita dapat
membentuk kelas baru yang lebih spesifik dari kelas general-nya. Kelas dan
objek merupakan jantung dari pemrograman berorientasi objek.
3. Pembungkusan (Encapsulation)
Menurut Nugroho dalam Muslihudin dan Oktafianto (2016:57) mengartikan
pembungkusan sebagai penggabungan potongan-potongan informasi dan
perilaku-perilaku spesifik yang bekerja pada informasi tersebut, kemudian
mengemasnya menjadi apa yang disebut sebagai objek.
12
4. Pewarisan (Inheritance) dan Generalisasi/Spesialisasi
Menturut Whitten dalam Muslihudin dan Oktafianto (2016:57)
menyimpulkan bahwa pewarisan adalah “konsep dimana metode dan atau
atribut yang ditentukan di dalam sebuah objek kelas dapat diwariskan atau
digunakan lagi oleh objek kelas lainnya. Sedangkan generalisasi/spesialisasi
merupakan teknik dimana atribut dan perilaku yang umuni pada beberapa tipe
kelas objet dikelompokkan (atau diabstraksi) ke dalam kelasnya sendiri
(dinamakan supertype). Atribut dan metode kelas objek supertype kemudian
diwariskan oleh kelas objek tersebut (dinamakan subtype).
5. Polimorpisme (Polymorphism)
Polirmorpisme berarti suatu fungsionalitas yang diimplementasikan dengan
berbagai cara yang berbeda. Pada terminologi berorientasi objek, ini berarti
kita dapat memiliki berbagai implementasi sebagai fungsionalitas tertentu.
Sebagai contoh, misalkan kita akan mengembangkan sistem berbasis grafis.
Saat pengguna akan menggambar sesuatu, misalnya garis atau lingkaran,
sistem akan memunculkan perintah gambar. Sistem akan mengenali berbagai
bentuk gambar, masing-masing dengan perilakunya sendiri. Manfaat dari
polimorpisme adalah kemudahan pemeliharaannya. (Nugroho) dalam
Muslihudin dan Oktafianto (2016:58).
2.1.4. Netbeans IDE 8.1
Dalam pembuatan aplikasi untuk penyusunan tugas akhir ini penulis
menggunakan aplikasi Netbeans IDE 8.1 dimana netbeans merupakan bagian dari
IDE. IDE (Integrated Development Environment) IDE merupakan sebuah teks
13
editor untuk menuliskan script bahasa pemrograman Java. Ada beberapa teks
edîtor yang bisa digunakan, diantaranya Notepad, Jcreator, Netbeans, Eclips.
Menurut Nofriadi (2015:4) Netbeans merupakan “sebuah apIikasi
Integreted Development Environment (IDE) yang berbasiskan Java dan Sun
Microsystems yang berjalan di atas swing dan banyak digunakan sekarang sebagal
editor untuk berbagai bahasa pernrograman”.
Sampai sekarang, Netbeans sudah sampai ke versi 8.1. Pada Netbeans,
kita bisa membuat bahasa pemrograman Java, JavaScript, PHP, Python, Ruby,
Groovy, C, C++, Scala, Clojure.
Swing merupakan teknologi Java untuk pengembangan aplikasi
desktop yang bisa dijalankan diberbagai sistem operasi, seperti windows, linux,
Mac OS X, dan Solaris.
2.1.5. Basis Data (Database)
Menurut Raharjo (2011:3) Database dapat didefinisikan sebagai
“kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data
tersebut dapat dimanipulasi, diambil dan dicari secara cepat”.
Database juga memiliki kumpulan-kumpulan program yang dapat
digunakan untuk mendefinisikan, mengatur, dan memproses database atau sering
disebut dengan DBMS (Database Management System). Saat ini sudah banyak
program DBMS yang bisa digunakan seperti MySQL, Oracle, Interbase/Firebird,
IBM DB2, dan lain-lain. Secara umum database dapat dibedakan menjadi tiga
model, yaitu :
14
1. Model Hirarkis
Model database ini akan mengatur data kedalam bentuk hirarki. Dalam
model ini, terdapat baris data yang dijadikan sebagai “induk” (parent-record)
dan data yang dijadikan sebagai “anak” (child-record). Satu parent-record
dapat memiliki lebih dari satu child-record, tapi tidak sebaliknya. Dengan
metode seperti itu, kecepatan data dapat dilakukan secara cepat.
2. Model Jaringan
Model database ini merupakan pengembangan dari model database hirarkis,
dimana satu child-record dapat memiliki lebih dari satu parent-record.
3. Model Relasional
Dalam model database ini, data disimpan dalam tabel-tabel yang berelasi satu
sama lain. Model inilah yang saat ini populer dan banyak digunakan.
2.1.6. MySQL
Menurut Raharjo (2011:21), “MySQL merupakan software RDBMS
(Relational Database Management System) yang dapat mengelola database
dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat
diakses oleh banyak user (multi-user), dan dapat melakukan suatu proses secara
sinkron atau bersamaan (multi-threaded)”.
Saat ini MySQL banyak digunakan diberbagai kalangan untuk
melakukan penyimpanan dan pengolahan data karena memiliki beberapa
keuntungan diantaranya:
1. Fleksibel
MySQL dapat digunakan untuk mengembangkan aplikasi desktop aplikasi
web dengan menggunakan teknologi yang bervariasi.
15
2. Performa Tinggi
MySQL memiliki mesin query dengan performa tinggi, dengan demikian
proses transaksional dapat dilakukan dengan sangat cepat.
3. Lintas Platform
MySQL dapat digunakan pada platform atau dengan sistem informasi yang
beragam.
4. Gratis
MySQL dapat digunakan secara gratis, sehingga berbagai kalangan dapat
menggunakannya.
5. Proteksi Data Handal
MySQL menyediakan mekanisme yang powerfull untuk keamanan, yaitu
dengan menyediakan fasilitas manajemen user, enkripsi data, dan lain
sebagainya.
6. Komunitas Luas
MySQL Sudah memiliki banyak pengguna sehingga MySQL sudah memiliki
banyak komunitas yang dapat memudahkan kita untuk berbagi solusi untuk
penanganan masalah yang timbul.
2.1.7. Xampp
Menurut Riyanto (2011:4) Xampp merupakan “paket PHP dan MySQL
yang berbasis open source yang dapat digunakan sebagai tool pembantu untuk
pengembangan aplikasi berbasis PHP”.
Xampp mengkombinasikan beberapa paket perangkat lunak berbeda
kedalam satu paket, berikut beberapa perangkat lunak yang dibundel dalam
xampp sebagai berikut :
16
Apche HTTPD, mod_autoindex_color module, FileZilla FTP Server,
Mercury Mail Transport Agent, OpenSSL, SQLLite, The Webalizer, msmtp ( a
sendmail compatible SMTP client), MySQL, PrimeBase XT Storage Enggine for
MySQL, PHP, eAccelerator extension, Xdebug extension, Ming extension, PDFlib
Lite extension, PEAR, phpMyAdmin, FPDF Library, ADOdb, Perl, CPAN, PPM,
mod_perl,apache::ASP.
2.1.8. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan Shalahuddin (2014:28), “model waterfall
adalah model SDLC (Software Development Life Cycle) yang paling sederhana.
Model ini hanya cocok untuk pengembangan perangkat lunak dengan spesifikasi
yang tidak berubah-ubah”. Model SDLC air terjun (waterfall) sering juga
disebut dengan model sekuensial linier (squential linear) atau alur hidup klasik
(classic life cycle). Model air terjun menyediakan pendekatan alur hidup
perangkat lunak secara sekuensian atau terurut dimulai dari analisis, desain,
pengkodean, pengujian dan tahap pendukung (support). Berikut adalah model
air terjun (waterfall):
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan 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
17
perangkat lunak, representasi antar muka, dan prosedur pengkodean. Tahap ini
mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke
representasi desain agar dapat di implementasikan menjadi program pada
tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga
perlu di dokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasi 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 di inginkan.
5. Pendukung (support) atau pemeliharaan (maintenance)
Tidak menuntut 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.
Dari kenyataan yang terjadi sangat jarang model air terjun dapat
dilakukan sesuai alurnya karena disebabkan sebagai berikut :
18
a. Perubahan spesifikasi perangkat lunak terjadi ditengah alur pengembangan.
b. 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.
c. Pelanggan tidak mungkin bersabar mengakomodasi perubahan yang
diperlukan di akhir alur pengembangan.
Model air terjun sangat cocok digunakan kebutuhan pelanggan
sudah sangat dipahami dan kemungkinan terjadi perubahan kebutuhan selama
pengembangan perangkat lunak kecil. Hal positif dari model air terjun
adalah struktur tahap pengembangan sistem jelas, dokumentasi dihasilkan di
setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap
sebelumnya sesuai dijalankan (tidak ada tumpang tindih pelaksanaan tahap).
2.2. Tools Program
2.2.1. Entity Relationship Diagram (ERD)
Menurut Fathansyah (2012:81) menyatakan bahwa:
Entity Relationship Diagram (ERD) merupakan komponen-
komponen Himpunan Entitas dan Himpunan Relasi yang masing-
masing dilengkapi dengan atribut-atribut yang merepresentasikan
seluruh fakta dari „dunia nyata‟ yang kita tinjau, dapat digambarkan
dengan lebih sistematis dengan menggunakan Entity Relationship
Diagram (ERD).
Notasi-notasi simbolik didalam diagram ERD yang dapat kita gunakan
adalah persegi panjang yang menyatakan Himpunan Entitas, Lingkaran atau
Elips menyatakan atribut (atribut yang berfungsi sebagai key digaris
bawahi), belah ketupat yang menyatakan himpunan relasi, garis sebagai
19
penghubung antara himpunan relasi dengan himpunan entitas dan himpunan
entitas denga atributnya.
ERD untuk memodelkan struktur data dan hubungan antar data,
untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada
dasarnya ada tiga simbol yang digunakan, yaitu:
1. Entitas (Entity)
Merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan
dapat dibedakan dari sesuatu yang lain. Simbol yang digunakan adalah
persegi panjang.
2. Atribut (Atribute)
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik
(properti) dari Entitas tersebut. Penetapan atribut bagi sebuah entitas
umumnya memang didasarkan pada fakta yang ada, tetapi tidak selalu
seperti itu. Simbol yang digunakan adalah bentuk lingkaran atau elips.
3. Relasi (Relationship)
Relasi menujukkan adanya hubungan diantara sejumlah entitas yang berasal
dari himpunan entitas yang berbeda. Kumpulan semua relasi diantara
entitas-entitas yang terdapat pada himpunan entitas, himpunan entitas
tersebut membentuk Himpunan Relasi (Relationship Sets). Simbol yang
digunakan adalah belah ketupat. Relasi yang terjadi diantara dua
himpunan entitas (misalnya A dan B) dalam satu basis data yaitu:
a. Satu ke Satu (One to One)
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan
paling banyak dengan satu entitas pada himpunan entitas B, dan begitu
20
juga sebaliknya setiap entitas pada himpunan entitas B berhubungan
dengan paling banyak dengan satu entitas pada himpunan entitas A.
b. Satu ke Banyak (One to Many)
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, tetatpi tidak sebaliknya,
di mana setiap entitas pada himpunan entitas B berhubungan dengan
paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One)
Yang berarti setiap entitas pada himpunan entitas A berhubungan paling
banyak dengan satu entitas pada himpunan entitas B, tetapi tidak
sebaliknya, di mana setiap entitas pada himpunan entitas A berhubungan
dengan paling banyak satu entitas pada himpunan entitas B.
d. Banyak ke Banyak (Many to Many)
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, dan demikian juga
sebaliknya, di mana setiap entitas pada himpunan entitas B dapat
berhubungan dengan banyak entitas pada himpunan entitas A.
ERD selalu dibuat secara bertahap, paling tidak ada dua kelompok
pertahapan yang biasa ditempuh di dalam pembuatan diagram, yaitu:
1. Tahap pembuatan Diagram E-R awal (Preliminary design)
Objektif dari tahap yang pertama adalah untuk mendapatkan sebuah
rancangan basis data minimal yang dapat mengakomodasi kebutuhan
penyimpanan data terhadap sistem yang sedang kita tinjau.tahap awal
21
umumnya mengabaikan anomali-anomali (sejumlah pengecualian) yang
memang ada sebagai suatu fakta.
Untuk tahap yang pertama langkah-langkah teknis yang dapat kita lakukan
untuk menghasilkan diagram E-R awal adalah:
a. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan
terlibat.
b. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
c. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara
himpunan entitas-himpunan entitas yang ada beserta foreign-key-nya.
d. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
e. Melengkapi himpunan entitas dan himpunan telasi dengan atribut-
atribut deskriptif (non key).
2. Tahap Optimasi Diagram E-R (final design)
Pada tahap kedua kita juga akan memperhatikan aspek-aspek efisiensi,
performansi dan fleksibilitas, tiga hal yang sering kali bertolak belakang.
Karena itulah, tahap kedua ini ditempuh dengan melakukan koreksi terhadap
hasil yang pertama. Bentuk bentuk koreksi yang terjadi bisa berupa
pendekomposisian himpunan entitas, penggabungan himpunan entitas,
pengubahan derajat relasi, penambahan relasi baru hingga perubahan
(penambahan dan pengurangan) atribut-atribut untuk masing-masing entitas
dan relasi.
22
2.2.2. Logical Record Structure (LRS)
Menurut Wulandari dalam Cahyani dan Nurmalasari (2016:69)
mengemukakan Bahwa "Logical Record Structure (LRS) dibentuk dengan nomor
tipe record”.
Beberapa tipe record digambarkan oleh kotak persegi panjang dan
dengan nama yang unik. Berikut tahapan transformasi ERD ke LRS :
1. Konversi ERD ke LRS, Entity Relationship Diagram harus diubah ke bentuk
LRS (struktur record secara logic). Dari bentuk LRS inilah yang nantinya
dapat ditransformasikan ke bentuk relasi tabel.
2. Konversi ERD ke LRS sebuah model sistem yang digambarkan dengan
sebuah model sistem yang digambarkan dengan sebuah ERD akan mengikuti
pola pemodelan tertentu. Dalam kaitannya dengan konversi ke LRS.
2.2.3. Unified Modeling Language (UML)
Menurut Gata dan Grace Gata (2013:4) menyatakan bahwa “Unified
Modeling Language (UML) adalah bahasa spesifikasi standar yang dipergunakan
untuk mendokumentasikan, menspesifikasikan dan membangun perangkat lunak”.
UML merupakan metodologi dalam mengembangkan sistem berorientasi objek
dan juga merupakan alat untuk mendukung pengembangan sistem.
Menurut Sukamto dan Shalahuddin (2014:140) UML 2.3 terdiri dari
13 macam diagram yang dikelompokan dalam tiga kategori. Pembagian kategori
dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah ini.
23
Sumber: Sukamto dan Shalahuddin (2013:140)
Gambar II.1 Diagram UML 2.3
Berikut Penjelasan singkat dari pembagian kategori tersebut.
1. Structure Diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior Diagrams yaitu kumpula diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada
sebuah sistem.
3. Interaction Diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan interaksi antar subsistem pada suatu sistem.
Sementara itu alat bantu yang digunakan untuk dalam perancangan
berorientasi objek berbasiskan UML menurut Gata dan Grace Gata (2013:4)
adalah sebagai berikut:
24
1. Use Case Diagram
Use Case diagram 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.
Dengan kata lain use case digunakan untuk mengetahui fungsi apa saja yang
ada didalam sistem informasi dan siapa saja yang berhak menggunakan
fungsi-fungsi tersebut.
Berikut komponen pembentuk diagram use case menurut Widodo dan
Herlawati (2011:16) :
a. Aktor
Menurut Chonoles dalam Widodo dan Herlawati (2011:17)
menyarankan sebelum mebuat use case dan menentukan aktornya, agar
mengidentifikasi siapa saja pihak yang terlibat dalam sistem kita. Pihak
yang terlibat biasanya dinamakan stakeholder. Langkah awal yang baik
adalah mempertimbangkan kebutuhan klien dan pelanggan sebelum
membentuk use case. Setiap sistem memiliki stakeholder berpengaruh
terhadap kinerja bisnes/sistem tertentu. Bahkan untuk jenis sistem
tertentu bias saja hacker dan teroris masuk dalam kategori stakeholder
karena berpengaruh terhadap sistem. Selama proses mencari kebutuhan
sistem, hampir sebagian besar waktu kita dihabiskan untuk menetukan
actor yang dipilih dari stakeholder hasil identifikasi awal.
Menurut Whitten dalam Widodo dan Herlawati (2011:19) menyatakan
ada empat macam tipe aktor :
25
1) Primary business actor (actor bisnis utama) yaitu stakeholder yang
terutama mendapatkan keuntungan dari pelaksanaan use case
dengan menerima nilai yang terukur atau terobservasi. Pelaku
bisnis utama kemungkinan tidak menginisiasi kejadian bisnis.
2) Primary system actor (Aktor sistem utama) yaitu stakeholder yang
secara langsung behadapan dengan sistem untuk menginisiasi atau
memicu kegiatan atau sistem. Pelaku sistem utama dapat
berinteraksi dengan para pelaku bisnis utama untuk menggunakan
sistem aktual. Mereka menpasilitasi kejadian dengan menggunakan
sistem yang melakukaan peninjauan daya beli pelanggan, operator
telepon yang memberikan bantuan kepada pelanggan dan kasir
bank yang memproses transaksi bank pelaku bisnis utama dan
pelaku sistem utama kemungkinan memiliki persamaan yaitu sama-
sama pelaku bisnis yang berhadapan secara langsung dengan
sistem, misalnya seorang yang melayani jasa penyewaan mobil via
website.
3) External server actor (Aktor server eksternal) yaitu stakeholder
yang melayani kebutuhan pengguna use case (misalnya biro kredit
yang memiliki kuasa atas perubahan kartu kredit).
External receiving actor (actor penerima external) yaitu
stakeholder yang bukan pelaku utama, tapi menerima nilai yang
terukur atau teramati (output) dari use case (misalnya gudang
menerima paket permintaan untuk menyiapkan pengiriman sesudah
seseorang pelanggan memesan).
26
b. Use Case
Menurut Whitten dalam Widodo dan Herlawati (2011:21) mengartikan
“use case sebagai urutan langkah-langkah yang secara tindakan saling
terkait (scenario), baik terotomatisasi maupun secara manual, untuk
tujuan melengkapi satu bisnis tunggal”.
Use case sangat menetukan karakteristik sistem yang kita buat, oleh
karena itu Choneles dalam Widodo dan Herlawati (2011:22)
menawarkan cara untuk menghasilkan use case yang baik, yakni :
1) Pilihlah nama yang baik
Use case adalah sebuah behavior (perilaku), jadi seharusnya dalam
frase kata kerja. Untuk membuat namanya lebih detail , tambahkan
kata benda yang mengidentifikasikam dampak aksinya terhadap
suatu kelas objek. Oleh karena itu diagram use case seharusnya
berhubungan dengan diagram kelas.
2) Ilustrasikan perilaku dengan lengkap
Use case dimulai dari inisiasi actor primer dan berakhir pada aktor
dan menghasilkan tujuan. Jangan membuat use case kecuali
mengetahui tujuannya
3) Identifikasi perilaku dengan lengkap
Untuk mencapai tujuan dan menghasilkan niali tertentu dari aktor,
use case harus lengkap. Ketika membri nama pada use case,
pilihlah frase kata kerja yang mengimplikasinya hingga selesai.
27
4) Menyediakan use case lawan (inverse)
Kita biasanya membutuhkan use case yang membatalkan tujuan,
misalnya pada use case pemesanan kamar, dibutuhkan pula use
case pembatalan pemesanan kamar.
5) Batasi use case hingga satu perilaku saja
Kadang kita cenderung membuat use case yang menghasilkan lebih
dari satu tujuan aktivitasnya. Guna menghindari kerancuan, jagalah
use case kita hanya fokus pada satu hal.
6) Nyalakan use case disudut pandang aktor
Tulislah use case disudut pandang aktor bukan dari sistem. Sebagai
contoh pilihlah use case pemesanan kamar, bukannya pencatatan
pemesanan kamar karena pemesanan kamar sudut pandangnya
aktor tamu sedangkan pencatatan pemesanan sudut pandangnya
hotel.
c. Relasi antar use case / Aktor
Pada diagram use case, relasi digambarkan sebagai sebuah garis antara
dua simbol. Pemaknaan relasi berbeda-beda tergantung bagaimana garis
tersebut digambarkan dan tipe symbol apa yang digunakan untuk
menghubungakan garis tersebut. Relasi yang digunakan UML 2.0
adalah:
1) Generalisasi (Generalization)
Generalisasi pada aktor dan use case dimaksudkan untuk
menyederhanankan model dengan cara menarik keluar sifat-sifat
pada aktor-aktor maupun use case-use case yang sejenis.
28
2) Ektensi (Extension)
Menurut Whitten dalam Widodo dan Herlawati (2011:28)
menyampaikan “ekstensi pada use case adalah use case yang
terdiri dari langkah yang diekstraksikan dari use case yang lebih
kompleks untuk menyederhanakan masalah orisinal dank arena itu
memperluas funsingnya.
3) Inklusi (Inclusion)
Use case dasar yang akan diinklusi tidak lengkap, berbeda denga
use case dasar yang akan diekstensi. Sehingga use case inklusi
bukan merupakan use case optional dan tidak boleh tidak
dijalankan. Simbol hubungan inklusi adalah garis putus-putus
dengan anak panah terbuka diberi keterangan “<<include>>”.
2. Activity Diagram (Diagram Aktivitas)
Activity Diagram menggambarkan workflow (alira kerja) atau aktivitas dari
sebuah sistem, atau proses bisnis. Menurut Jones dan Rama dalam Hendarti
dan Fanny Margaretta (2008:1559), activity diagram terdiri dari:
a. Overview diagram. Overview diagram adalah gambaran tingkat tinggi dari
proses bisnis dengan mendokumentasikan event-event kunci, urutan dan
event-event ini dan arus informasi diantara event.
b. Detailed activity diagram . Detail activity diagram mirip dengan peta
sebuah kota, dengan menyediakan gambaran yang lebih rinci dari
aktivitas-aktivitas yang berhubungan dengan satu atau dua event yang
ditunjukkan oleh diagram overview.
29
3. Sequence Diagram (Diagram Urutan)
Sequence Diagram menggambarkan kelakuan objek pada use case diagram
dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan
diterima antar objek.
Dalam membangun sebuah diagram tentu tidak terlepas dari tahapan-tahapan
yang harus dipahami. Berikut Tahapan-tahapan dalam Membangun sequence
diagram yang harus dipahami menurut Hunt (2013:130):
a. Mengidentifikasi semua class yang terlibat dalam urutan tertentu
b. Menentukan garis penghubung/relasi dari objek, yaitu saat objek dibuat dan
kapan objek dihentikan.
c. Mengidentifikasi kejadian pada tahap pertama.
d. Menentukan massages , untuk menggambarkan maksud massage dan input
apa pun yang sedang dikirim.
e. Mengidentifikasi focus control pada objek.
f. Mengidentifikasi pesan yang dikembalikan (nilai yang dikembalikan)
g. Mengidentifikasi penyimpangan atau kesalahan pada urutan diagram.
4. Class Diagram (Diagram Kelas)
Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam
model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan
tanggung jawab entitas yang menentukan perilaku sistem.
Class diagram juga menunjukan atribut-atribut dan operasi-operasi dari sebuah
kelas dan constraint yang berhubungan dengan objek yang dikoneksikan. Class
diagram secara khas meliputi: kelas (class), relasi, assocoations, generalization
dan Aggregation, atribut (attributes) , operasi (operations/method), dan
30
visibility, tingkat akses objek eksternal kepapda suatu operasi atau atribut.
Hubungan antar kelas mempunyai keterangan yang disebut dengan multiplicity
atau kardinalitas.
Tabel. II.1 Tabel Multiplicity
Multtiplicity Penjelasan
1 Satu dan hanya satu
0..* Boleh tidak ada atau 1 atau lebih
1..* 1 atau lebih
0..1 Boleh tidak ada, maksimal 1
n..n Batasan antara. Contoh: 2.4 mempunyai arti minimal 2 dan
maksimum 4
Sumber: Gata dan Grace Gata (2013:9)
2.2.4. Pengujian Perangkat Lunak
Sebuah perangkat lunak perlu dijaga kualitasnya bahwa kualitas bergantung
kepada kepuasan pelanggan (customer). Kualitas perangkat lunak perlu dijaga
untuk keperluan sebagai berikut:
1. Agar dapat “survive” bertahan hidup di dunia bisnis perangkat lunak.
2. Dapat bersaing dengan perangkat lunak yang lain.
3. Penting untuk pemasaran global (global marketing).
4. Mengefektifkan biaya agar tidak banyak membuang perangkat lunak karena
kegagalan pemasaran atau kegagalan produksi.
5. Mempertahankan pelanggan (custumer) dan meningkatkan keuntungan.
Pengujan perangkat lunak memiliki beberapa pendekatan salah satunya
adalah black-box testing (pengujian kotak hitam).
Menurut Pressman (2010:495) black-box testing juga disebut behavioral
testing “merupakan pengujian yang berfokus pada persyaratan fungsional dari
perangkat lunak. Artinya, teknik pengujian black-box memungkinkan untuk
memperoleh kondisi input yang sepenuhnya akan melaksanakan semua
31
persyaratan fungsional untuk suatu program”. Black-box testing mencoba untuk
menemukan kesalahan dalam kategori berikut:
1. Tidak benar atau fungsi yang hilang.
2. Kesalahan antarmuka.
3. Kesalahan dalam struktur data atau eksternal akses database.
4. Perilaku atau kinerja kesalahan.
5. Inisialisasi dan kesalahan terminasi.
Black-box testing cenderung diterapkan selama tahap akhir pengujian
karena black-box testing sengaja mengabaikan struktur kontrol, perhatian
difokuskan pada domain informasi. Tes tersebut dirancang untuk menjawab
pertanyaan-pertanyaan berikut:
1. Bagaimana validitas fungsional diuji?
2. Bagaimana perilaku dan kinerja sistem diuji?
3. Apa kelas input akan membuat kasus uji yang baik?
4. Apakah sistem sangat sensitif terhadap nilai input tertentu?
5. Bagaimana batas-batas kelas data diisolasi?
6. Apa kecepatan data dan volume data yang dapat sistem mentolerir?
7. Apa efek akan kombinasi tertentu dari data terhadap operasi sistem?
Dengan menerapkan teknik black-box, anda akan mendapatkan satu set
kasus uji yang memenuhi persyaratan yang diantaranya: uji kasus yang
berkuarang, dengan hitungan lebih dari satu, jumlah test case tambahan yang
dirancang harus bisa masuk akal dalam pengujian, dan test case akan
memberitahukan tentang ada tidaknya kelas kesalahan, bukan hanya kesalahan
yang terkait dengan tes spesifik yang ada.