bab ii landasan teori - repository bsi

25
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:

Upload: khangminh22

Post on 03-May-2023

0 views

Category:

Documents


0 download

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.