bab ii landasan teori - repository.bsi.ac.id filesedangkan sistem menurut pratama (2014:7) “sistem...

36
8 BAB II LANDASAN TEORI 2.1 Konsep Dasar Program Pada proses pembuatan sistem penundukung keputusan potensi kecerdasan linguistik berbasis web menggunakan fuzzy logic, membutuhkan beberapa substansi ilmu dalam menunjang pengembangannya. Pada sub-bab ini akan dijelaskan beberapa teori yang menunjang pengembangan sistem. A. Sistem Komputer Pengertian sistem dijelaskan oleh Hall (2009:6) “sistem adalah kelompok dari dua atau lebih komponen atau subsistem yang berfungsi sebagai tujuan yang sama”. Sedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung untuk melakukan suatu tugas secara bersama-sama”. Jadi dapat disimpulkan sistem merupakan beberapa dari komponen sistem atau bagian sistem yang saling berinteraksi secara padu dan melakukan tugas secara bersama-sama guna mencapai suatu tujuan tertentu. Penerapan sistem kedalam komputer dapat memiliki pengertian sebagaimana yang dijelaskan oleh Sibero (2014:10) “sistem komputer adalah kumpulan dari beberapa instruksi yang saling mendukung dan berkerja sama menghasilkan pengolahan yang kompleks”.

Upload: phunghanh

Post on 11-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

8

BAB II

LANDASAN TEORI

2.1 Konsep Dasar Program

Pada proses pembuatan sistem penundukung keputusan potensi kecerdasan

linguistik berbasis web menggunakan fuzzy logic, membutuhkan beberapa

substansi ilmu dalam menunjang pengembangannya. Pada sub-bab ini akan

dijelaskan beberapa teori yang menunjang pengembangan sistem.

A. Sistem Komputer

Pengertian sistem dijelaskan oleh Hall (2009:6) “sistem adalah kelompok

dari dua atau lebih komponen atau subsistem yang berfungsi sebagai tujuan yang

sama”.

Sedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai

sekumpulan prosedur yang saling berkaitan dan saling terhubung untuk

melakukan suatu tugas secara bersama-sama”.

Jadi dapat disimpulkan sistem merupakan beberapa dari komponen sistem

atau bagian sistem yang saling berinteraksi secara padu dan melakukan tugas

secara bersama-sama guna mencapai suatu tujuan tertentu.

Penerapan sistem kedalam komputer dapat memiliki pengertian

sebagaimana yang dijelaskan oleh Sibero (2014:10) “sistem komputer adalah

kumpulan dari beberapa instruksi yang saling mendukung dan berkerja sama

menghasilkan pengolahan yang kompleks”.

Page 2: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

9

Pada kenyataannya komputer membutuhkan beberapa bagian untuk

melakukan opreasinya diantaranya perangkat lunak (software) yang dibentuk dari

beberapa kode pemograman, perangkat keras (hardware) yakni komponen

elekronika yang menghasilkan CPU (Central Processing Unit), Input (seperti

keyboard dan lain-lain), dan output (seperti monitor, printer, dan lain-lain), dan

yang terakhir bagian manusia (brainware) yang menggunakan sistem komputer.

Ketiga bagian ini memiliki keterkaitan secara bersamaan dalam mengoperasikan

sistem komputer dalam melakukan pengolahan data sehingga menghasilkan

informasi yang dibutuhkan.

B. Sistem Pendukung Keputusan

Menurut Kurniawan pada http://www.gurupendidikan.com/sistem-

pendukung-keputusan-beserta-komponen-manfaat-dan-tujuannya-lengkap/

menjelaskan “Sistem pendukung keputusan merupakan bagian dari sistem

informasi berbasis komputer (termasuk sistem berbasis pengetahuan (knowledge

management)) yang digunakan untuk mendukung pengambilan keputusan dalam

suatu organisasi atau perusahaan”.

Pemaparan Riadi di http://www.kajianpustaka.com/2013/09/sistem-

pendukung-keputusan-spk.html, menjelaskan “Sistem Pendukung Keputusan

(SPK) atau Decision Support System (DSS) adalah sebuah sistem yang mampu

memberikan kemampuan pemecahan masalah maupun kemampuan

pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak

terstruktur”.

Page 3: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

10

Sistem pendukung keputusan adalah sistem yang berfungsi untuk

memberikan informasi pengetahuan agar mempermudah manejemen maupun

personal dalam mengambil suatu keputusan. Oleh karena itu sistem pendukung

keputusan sangat berguna sebagai pertimbangan dalam mengambil keputusan.

Namun tidak selamanya sistem pendukung keputusan memiliki akurasi yang tepat

pada hasil penyajian informasinya.

C. Website

Pengertian web menurut Sibero (2014:11) “World Wide Web (W3) atau

yang dikenal juga dengan istilah web adalah suatu sistem yang berkaitan dengan

dokumeng digunakan sebagai media untuk menampilkan teks, gambar,

multimedia dan lainnya pada jaringan internet”.

Ada pun keterangan lain tentang web yang dijelaskan Simarmata (2010:48)

“web adalah sistem dengan informasi yang disajikan dalam bentuk teks, gambar,

suara, dan lain-lain yang tersimpan dalam sebuah server Web Internet yag

disajikan dalam bentuk hiperteks”.

Dari penjelasan beberapa pakar diatas dapat disimpulkan bahwa web adalah

sebuah media untuk menyimpan atau menyajikan informasi baik berupa gambar,

teks, video, audio dan lain sebagainya. Pengaksesan web menggunakan internet

sebagai jaringan aksesnya.

D. Fuzzy Logic

Suyanto (2014:103) “fuzzy logic didefenisikan sebagai suatu jenis logic

yang bernilai ganda dan berhubungan ketidakpastian dan kebenaran parsial”.

Page 4: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

11

Dikutip dari Budiharto dan Suhatono (2014:151) “sistem fuzzy logic dapat

mereprensentasikan pengetahuan manusia dalam bentuk matematis dengan

menyerupai cara berpikir manusia”.

Fuzzy logic adalah logika pemograman yang dapat mengontrol sistem yang

kompleks. Kemampuan fuzzy logic dalam proses penalaran secara bahasa dapat

mempermudah perancangan pemograman apabila menggunakan logika

konvensional yang memiliki nilai “ya” atau “tidak”, akan tetapi nilai fuzzy logic

dapat berada antara “ya” atau “tidak” yang menyebabkan fuzzy logic menjadi

logika yang flexible. Selain itu fuzzy logic dalam perancangan sistem akan

mempermudah dikarenakan perangcangan sistem yang menggunakan fuzzy logic

tidak memerlukan persamaan matematika yang rumit. Adapun cara kerja fuzzy

logic dijelaskan pada gambar dibawah ini.

Sumber: Sutojo, dkk (2011:232)

Gambar II.1

Cara Kerja Fuzzy Logic

Keterangan:

a. Basis Pengetahuan: Kumpulan rule fuzzy dalam bentuk pernyataan

IF…THEN.

Page 5: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

12

b. Fuzzyfikasi: Proses pengubahan input sistem yang mempunyai nilai tegas

menjadi variable linguistik menggunkan fungsi keanggotaan yang

disimpan dalam basis pengetahuan fuzzy.

c. Mesin Inferensi: Proses untuk mengubah input fuzzy menjadi output fuzzy

dengan cara mengikuti aturan-aturan (IF-THEN Rules) yang telah

ditetapkan dalam basis pengetahuan fuzzy.

d. Defuzzyfikasi: Mengubah output fuzzy yang diperoleh dari mesin

inferensi menjadi nilai tegas menggunakan fungsi keanggotaan yang

sesuai dengan saat dilakukan fuzzyfikasi.

1. Metode Tsukamoto

Ada banyak metode yang berkembang dalam inferensi fuzzy logic, namun

metode Tsukamoto dalam inferensi lebih banyak digunakan karena memiliki

struktur yang sederhana, Sutojo, dkk (2011:235) menjelaskan tahapan inferensi

fuzzy logic dengan metode Tsukamoto sebagai berikut:

a. Fuzzyfikasi

b. Pembentukan basis pengetahuan (rule dalam bentuk IF-THEN)

c. Mesin inferensi untuk mendapatkan nilai a-predikat pada tiap-tiap rule

(a1, a2, a3, ….. an). Kemudian masing-masing nilai a-predikat ini

digunakan untuk menghitung keluaran hasil inferensi (crisp) masing-

masing rule (z1, z2, z3 ….. zn).

d. Defuzzyfikasi menggunakan metode Average dengan persamaan

.

Page 6: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

13

2. Fungsi Keanggotaan Fuzzy Logic

Menurut Suyanto (2014:101) “Dalam fuzzy systems, fungsi keanggotaan

memainkan peranan yang sangat penting untuk mempresentasikan masalah dan

menghasilkan keputusan yang akurat”.

Derajat keanggotaan dijelaskan oleh Budiharto dan Suhartono (2014:157)

“fungsi keanggotaan adalah pemetaan sebuah elemen x pada semesta nilai

keanggotaan menggunakan sebuah bentuk fungsi teoritis”.

Penggunakan fungsi keanggotaan pada fuzzy logic direpresentasikan dalam

beberapa bentuk, menurut Sutojo, dkk (2011:214) fungsi keanggotan dapat

digambarkan dalam bentuk kurva diantaranya:

a. Grafik keanggotan Kurva Linear Naik

Kenaikan himpunan fuzzy dimulai dari nilai dimain yang memiliki derajat

keanggotaan 0 bergerak menuju ke nilai domain yang memiliki nilai

derajat keanggotaan yang lebih tinggi. Sehingga digambarkan dalam

grafik sebagai berikut:

Sumber: Sutojo, dkk (2011:214)

Gambar II.2

Grafik Fungsi Keanggotaan Kurva Linear Naik

Page 7: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

14

Fungsi Keanggotaan:

[ ] {

b. Grafik Keanggotaan Linear Turun

Grafik keanggotan liner turun yaitu himpunan fuzzy yang dimulai dari

nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri ,

kemudian bergerak menurun ke nilai derajt keanggotaan teredah pada sisi

kanan

Sumber: Sutojo, dkk (2011:215)

Gambar II.3

Grafik Fungsi Keanggotaan Kurva Linear Turun

Fungsi keanggotaan:

[ ] {

Page 8: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

15

c. Grafik Keanggotaan Kurva Segitiga

Grafik keanggotaan kurva segitiga merupakan gabungan antara dua (2)

garis linear. Dan digambarkan sebagai berikut.

Sumber: Sutojo, dkk (2011:217)

Gambar II.4

Grafik Fungsi Keanggotaan Segitiga

Fungsi Keanggotaan:

[ ]

{

d. Grafik Keanggotaan Kurva Trapesium

Pada dasarnya grafik keanggotaan yang berbentuk trapesium merupakan

berntuk dasar dari kurva segitiga, namun memiliki beberapa titik yang

nilai keanggotaannya satu (1).

Page 9: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

16

Sumber: Sutojo, dkk (2011:218)

Gambar II.5

Grafik Fungsi Keanggotaan Kurva Trapesium

Fungsi Keanggotaan:

[ ]

{

e. Grafik Keanggotaan Kurva Bentuk Bahu

Grafik keanggotaan ini digunakan untuk mengakhiri variable suatu

daerah fuzzy yang nilai derajat keanggotaannya adalah konstans

(biasanya 1).

Page 10: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

17

Sumber: Sutojo, dkk (2011:218)

Gambar II.6

Grafik Fungsi Keanggotaan Kurva Bentuk Bahu

Fungsi Keanggotaan:

[ ]

{

3. Himpunan Fuzzy Logic

Menurut Budiharto dan Suhartono (2014:154) “himpunan fuzzy adalah

kumpulan prinsip matematik sebagai penggambaran pengetahuan berdasarkan

derajat keanggotaan dari pada menggunakan derajat rendah dari logika biner

klasik”.

Sedangkan menurut Sutojo, dkk (2011:213) “himpunan fuzzy yaitu suatu

kelompok yang mewakili suatu keadaan tertentu dalam suatu variabel fuzzy”.

Page 11: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

18

Jadi disimpulkan himpunan fuzzy merupakan gambaran terhadap variable

dalam fuzzy. Himpunan fuzzy juga mengandung elemen-elemen keanggotan fuzzy.

Dalam himpunan fuzzy terdapat operasi untuk melakukan penalaran atau inferensi

terhadap keanggotaan fuzzy. Menurut Sutojo (2011:227) operasi fuzzy terbagi

dalam beberapa bagian, diantaranya:

1. Operasi Gabungan (Union)

Operasi gabungan (sering disebut operator OR) dari himpunan fuzzy A dan B

dinyatakan sebagai A ᴗ B. Operasi gabungan ini disebut MAX dimana derajat

keanggotaanya pada himpunan fuzzy A dan B yang memiliki nilai terbesar.

Sehingga persamaannya sebagai berikut:

{ }

2. Operasi Irisan (Intersection)

Operasi Irisan (sering disebut operator AND) dari himpunan fuzzy A dan B

dinyatakan sebagai A ᴖ B. Operasi gabungan ini disebut MIN dimana derajat

keanggotaanya pada himpunan fuzzy A dan B yang memiliki nilai terkecil.

Sehingga persamaannya sebagai berikut:

{ }

3. Operasi Komplemen (Complement)

Bila himpunan fuzzy A pada himpunan universal X mempunyai fungsi

keanggotaan µA(X) maka komplemen dari himpunan fuzzy A (sering disebut

NOT) adalah himpunan fuzzy dengan fungsi keanggotaan untuk setiap x

elemen X. Dinyatakan dalam persamaan sebagai berikut:

Page 12: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

19

E. Kecerdasan Dalam Lingkup Psikologi

Secara etimologi psikologi didefenisikan oleh Ahmadi dan Juahar (2015:33)

menerangka kata psikologi berasal dari bahasa yunani kuno psyche dan logos,

psyche yang berarti “jiwa, roh, sukma” sedangkan logos berarti “ilmu”, Secara

harfiah psikologi dapat di artikan sebagai “ilmu jiwa”. Dalam perkembangan

dunia psikologi terdapat beberapa filsafat yang dianut yang pertama yaitu

psikologi mentalistik yang mengkaji proses-proses akal manusia dalam mengkaji

dirinya sendiri. Kedua adalah psikologi behavioristik yang mempelajari tentang

prilaku manusia. Dan yang ketiga adalah psikologi kognitivisik yang mengkaji

proses-proses kognitif manusia secara ilmiah, maksud dari kognitif ini adalah akal

manusia bagaimana manusia berpikir dan pikirian didalam akal manusia.

Dari ketiga filasafat tersebut, maka ranah psikologi juga menerangkan

tentang kecerdasan manusia secara kognitif. Sedangkan kecerdasan manusia yang

dijelaskan Haryanto (2011:2) kecerdasan merupakan salah satu anugerah besar

dari Tuhan Maha Esa kepada manusia yang menjadikannya salah satu kelebihan

dibandingkan makhluk lainnya. Oleh karena itu setiap manusia pasti memiliki

kecerdasan. Namun kecerdasan manusia tidaklah sama dengan manusia yang

lainnya. Oleh karena itu munculah teori yang digagas oleh Howard Garden yang

menyatakan kecerdasan majemuk atau Multiple Intellegence yang berisikan

delapan jenis kecerdasan intelligence diantaranya, kecerdasan linguistik,

kecerdasan logis matematis, kecerdasan visual spasial, kecerdasan interpersonal,

kecerdasan intrapersonal, kecerdasan naturalis, kecerdasan jasmani kinetik dan

kecerdasan naturalis.

Page 13: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

20

F. Kecerdasan Linguitik

Penuturan Ahmadi dan Jauhar (2015:34) “linguistik lazim diartikan

sebagai ilmu bahasa atau ilmu mengambil bahasa sebagai objek kajiannya”.

Sedangkan penjelasan lain dari kecerdasan linguistik atau bahasa menurut

(Haryanto, 2011:4) “adalah kecerdasan yang mempunyai kemampuan untuk

menggunakan bahasa dalam mendeskripsikan kejadian, membangun kepercayaan

dan kedekatan secara verbal, pengembangan argument logika dan retorika, serta

mengungkapkan ekspresi dan metafora”.

Kecerdasan linguistik dapat disimpulkan sebagai kecerdasan dalam

pengelolaan bahasa yang menjadikan sarana untuk melakukan aktivitas

komunikasi manusia sehari-hari. kecerdasan linguistik juga merupakan ekspresi

terhadap melalui bahasa yang diimplementasikan kedalam bentuk lisan maupun

tulisan yang berguna dalam penyampaian sesuatu, seperti halnya penyampaian isi

hati melalui lirik lagu atau puisi yang ditulis. Dapat pula disampaikan dalam

bentuk lisan seperti penyampaian gagasan dalam berdiskusi atau seni retorika

pada saat berpidato atau presenter berita dalam penyampaian kejadian-kejadian

atau event yang menjadi objek yang terjadi pada suatu wilayah dalam waktu

tertentu.

G. OOP (Object Oriented Programming)

Pengertian OOP menurut Rosa dan Shalahuddin (2015:100) “metodologi

berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang

mengorganisasikan sebagai kumpulan objek yang berisi data dan operasi yang

diberlakukan terhadapnya”.

Page 14: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

21

Sedangkan Hidatullah dan Kawistara (2014:306) menjelaskan “Object

Oriented Programing atau yang disingkat OOP ialah paradigma atau tehnik

pemograman yang berorientasi kepada objek”.

Pemograman OOP adalah pendekatan yang melihat sebuah permasalahan

dan sistem pada objek. Memandang sistem berorientasi objek yang

dikembangkan, sebagai kumpulan objek yang berkorespondensi dengan objek

pada dunia nyata. Sistem yang berorientasi objek ini, memiliki fungsi serta data-

data dikelompokkan dalam sebuah komponen yang dibungkus (enkasulapsi)

kedalam bentuk objek, sehingga setiap objek dapat mewariskan sifatnya atau

setiap objek yang berbeda. Kumpulan dari objek-objek itu akan berinteraksi satu

sama lainnya untuk menghasikan output yang diinginkan.

H. Konsep Dasar OOP (Object Oriented Progamming)

Metodologi pengembangan sistem yang berorientasi objek memiliki

beberapa konsep dasar yang harus dipahami, menurut Rosa dan Shalahuddin

(2015:104), meliputi:

1. Kelas (Class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas

merupakan defenisi statik dan himpunan objek yang sama mungkin lahir atau

diciptakan oleh kelas tersebut. Sebuah kelas mempunyai sifat (atribut), kelakuan

(operasi/method), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan

kekelas yang lain, dimana atribut dan kelas semula dapat diwariskan kekelas yang

baru.

Page 15: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

22

2. Objek (Object)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti

benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau hal-hal

lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu

menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat

diterapkan atau dapt brtpengaris pada statis objeknya. Objek mempunyai siklus

hidup yaitu diciptakan, dimanipulasi dan dihancurkan.

3. Metode (Method)

Operasi atau metode atau method pada sebuah kelas hampir sama dengan

fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki

lebih dari satu metode atau operasi. Metode atau operasi yang berfungsi untuk

memanipulasi objek itu sendiri. Operasi atau metode merupakan fungsi atau

transformasi yang dapat dilakukan terhadap objek atau yang dilakukan oleh objek.

4. Atribut (Attribute)

Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas.

Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek

dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek, misalnya

berat, jenis, nama, dan sebagainya. Atribut sebaiknya bersifat privat untuk

menjaga enkasulapsi.

5. Abstraksi (Abstraction)

Prinsip untuk mempresentasikan dunia nyata yang komplek menjadi suatu

bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak

sesuai dengan permasalahan.

Page 16: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

23

6. Enkapsulasi (Encapsulation)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai

objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak

mengetahui cara kerjanya.

7. Pewarisan (Inheritance)

Mekanisme yang memungkin suatu objek mewarisi sebagian atau seluruh

defenisi dan objek lain sebagai bagian dari dirinya.

8. Antarmuka (Interface)

Antarmuka atau interface sangat mirip dengan kelas, tapi antara antribut

kelas tanpa memiliki metode yang dideklarasikan tanpa isi. Deklarasi sebuah

metode pada interface dapat diimplentasikan pada kelas lain. Sebuah kelas dapat

mengimplentasikan lebih satu antarmuka dimana kelas ini mendeklarasikan

metode pada antarmuka yang dibutuhkan oleh kelas itu sekaligus mendefenisikan

isinya pada kode program kelas itu. Metode pada antarmuka yang

diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada antar

muka. Antarmuka atau interface biasa digunakan agar kelas lain tidak mengakses

langsung ke suatu kelas, mengangkses antarmukanya.

9. Reusabilily

Pemanfaatan kembali objek yang sudah didefenisikan untuk suatu

permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

Misalkan pada sebuah aplikasi peminjaman buku diperlukan pada kelas anggota,

maka ketika membuat aplikasi VCD, kelas anggota ini bisa digunakan kembali

dengan sedikit perubahan untuk aplikasi penyewaan VCD tanpa harus membuat

dari awal lagi.

Page 17: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

24

10. Generalisasi dan Spesialisasi

Menunjukan hubungan antara kelas dan objek yang umum dengan kelas dan

objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah

kendaraan darat dan kelas khusus (spesialisasi) adalah mobil, motor, dan kereta.

11. Komunikasi Antar Objek

Komunikasi antara objek dilakukan lewat pesan (message) yang dikirim

satu objek ke objek yang lainnya.

12. Polimorpisme (Polymorphism)

Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda

dengan nama yang sama sehingga menghemat baris program.

13. Package

Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk

mengelompokan kelas-kelas sehingga memungkinkan beberapa kelas bernama

sama disimpan dalam package yang berbeda.

I. Bahasa Pemograman

Pada proses pembangunan aplikasi penulis menggunakan beberapa bahasa

pemograman diantaranya:

1. HTML (Hyper Text Markup Language)

Menurut Sibero (2014:19) menjelaskan “hyper text markup language atau

HTML adalah bahasa yang digunakan dokumen web sebagai bahasa untuk

pertukaran web”.

Pengertian HTML menurut Kadir dan Triwahyuni (2013:321) ” HTML

adalah bahasa markah yang digunakan untuk menyusun halaman web”.

Page 18: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

25

HTML merupakan bahasa markah yang digunakan untuk menampilkan

wujud dari web. HTML bukanlah bahasa pemograman karena HTML tidak

memenuhi syarat sebagai bahasa pemograman. Jika pembangunan website dengan

hanya menggunakan HTML saja, maka website tersebut tidak akan menjadi

dinamis. Pembangunan website tidak akan pernah lepas dari bahasa markah

HTML karena menjadi standar untuk penampilan halaman web.

2. PHP (PHP Hypertext Preprocessor)

Sedangkan menurut Team Litbang Madcoms (2011:11) “adalah bahasa

pemograman yang berjalan dalam sebuah webserver dan sebagai pengolah data

pada sebuah server”.

Dan menurut Sibero (2014:49) “PHP adalah pemograman interpreter yaitu

proses penerjemah baris kode sumber menjadi kode mesin yang dimngerti

komputer secara langsung pada saat baris kode dijalankan”.

Dari penjelasan beberapa pakar yang ada diatas dapat disimpulkan bahwa

PHP adalah bahasa pemograman yang digunakan untuk membangun aplikasi yang

berbasis web, dengan penggunaan PHP dapat membuat aplikasi berbasis web

dapat lebih dimanis karena PHP dapat dipadukan dengan database untuk

pengelolaan data.

J. DBMS (Database Managements System)

Menurut Fatansyah (2012:2) basis data merupakan markas atau lemari

sebagai penampung dari data-data yang mempresentasikan dalam dunia nyata

yang dapat berupa teks, huruf, simbol, angka, bunyi, gambar dan kombinasinya.

Dalam sudut pandangnya basis data juga dapat dilihat sebagai beberapa kelompok

Page 19: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

26

arsip yang tersimpan dalam tabel sebagai komponen utama dari basis data yang

tabel-tabel tersebut saling terhubung satu sama lainnya.

Dikutip dari Stephen dan Plew dalam Simarmata dan Paryudi (2010:1)

“adalah mekanisme yang digunakan untuk menyimpan informasi atau data”.

Penuturan diatas dapat didefenisikan basis data merupakan tempat untuk

menyimpan data-data, penggambaran basis data dapat berupa lemari yang

menyimpan arsip-arsip data. Basis data juga dapat menjadi sumber informasi

dalam sebuah aktivitas perusahaan, organisasi maupun akademik.

Basis data menurut Fatansyah (2012:18) bisa dipisah dalam

pembentukannya melalui dua bahasa, diantaranya:

a. DDL (Data Defenition Language)

Pernyataan DDL merupakan perintah untuk membentuk skema dasar

tabel secara keseluruhan yang menjadi komponen utama dalam basis

data.

b. DML (Data Manipulation Language)

Pernyataan DML digunakan untuk memanipulasi data pada basis data

yang berfungsi untuk pengambilan informasi, memasukan informasi,

pengubahan informasi, penghapusan informasi dalam tabel. Dalam DML

terdapat dua tipe, pertama DML prosedural yang mengharuskan

pengguna untuk menentukan data yang dibutuhkan dan bagaimana cara

mendapatkannya. Yang kedua DML nonprosedural yang mengharuskan

pengguna pengguna menentukan data yang dibutuhkan tanpa

menentukan bagaimana cara mendapatkannya.

Page 20: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

27

1. Pengertian MySQL

Penjelasan mysql seperti yang ditutur oleh Tim Litbang Wahana Komputer

(2015:6) mysql merupakan salah satu perangkat lunak database server yang

termasuk dalam RDBMS (Relational database Management System). Mysql

merupakan turunan dari SQL language sebagai suatu konsep yang tidak dapat

dirubah dalam pengoperasian basis data. Konsep SQL adalah sebuah konsep

pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan

data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara

otomatis.

Sedangkan menurut Saputra (2011:5) Mysql merupakan database yang

dapat dipadukan dengan PHP sebagai pengolahan data. Karna secara umum

database berfungsi sebagai wadah atau tempat untuk menyimpan, menanipulasi,

dan mengklarifikasi data. Pada mysql menggunakan SQL language sebagai

penggunaannya.

K. Metode Pengembangan Perangkat Lunak

Pengembangan perangkat lunak yang dijelaskan oleh Rosa dan

Shalahuddin (2015:28), model waterfall adalah pendekatan dalam pengembangan

perangkat lunak yang memiliki alurnya secara terurut, pengembangan dengan

metode ini terbagi dalam beberapa tahapan diantaranya:

1. Analisa Kebutuhan Perangkat Lunak

Dalam proses analisa ini memerlukan pengumpulan data secara intensif

sesuai dengan kebutuhan sistem yang akan dibangun serta dalam tahapan ini

Page 21: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

28

harus mensesifikan kebutuhan perangkat lunak yang dibutuhkan oleh

pengguna.

2. Desain

Desain perangkat lunak adalah proses multi langkah yang fokus pada desain

pembuatan perangkat lunak termasuk struktur data, arsitektur perangkat

lunak, representasi antarmuka, dan prosedur pengkodean.

3. Pembuatan Kode Program

Desain yang telah dibuat harus dinyatakan dalam kode pemograman.

Sehingga perangkat lunak yang dibangun sesuai dengan desain yang telah

dibuat.

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 sesuai yang

diinginkan.

5. Pendukung (Support) Dan Pemeliharaan (Maintenance)

Pada implementasinya perangkat lunak yang telah dibangun dan berikan

kepada user harus beradaptasi pada lingkungan barunya. Pada

penggunaannya tidak menutup kemungkinan akan terjadi perubahan pada

perangkat lunak, perubahan ini dapat dilakukan dengan mengulangi proses

analisa perangkat lunak yang ada. Namun tidak berlaku untuk pembuatan

sistem yang baru.

Page 22: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

29

2.2 Teori Pendukung

Pengembangan sistem dalam laporan ini penulis memerlukan beberapa tools

yang diperlukan diantaranya aplikasi yang mendukung proses pembangunan. Pada

sub-bab kali ini penulis menjelaskan beberapa teori mengenai aplikasi yang

penulis gunakan.

A. Framework

Framework yang didefenisikan oleh Basuki (2014:13) “sebagai kumpulan

potongan-potongan program (kelas dan fungsi) yang disusun dan diorganisasikan

sedemikian rupa, sehingga dapat digunakan kembali untuk membantu membuat

aplikasi utuh tanpa harus membuat kodenya dari awal”.

Raharjo (2015:2) “web framework adalah suatu kode kumpulan pustaka

(library) dan alat (tool) yang dipadukan sedemikian rupa menjadi satu kerangka

kerja (framework) guna memudahkan dan mempercepat proses pengembangan

aplikasi web”.

Jadi framework merupakan potongan kode / kumpulan perintah dasar yang

memiliki fungsi sehingga para pengembang perangkat lunak tidak harus

menuliskan programnya dari awal dalam pembuatan aplikasi baru atau dengan

kumpulan perintah tersebut dapat digunakan untuk menyelesaikan masalah yang

lebih kompleks dalam pengembangan aplikasi.

B. CodeIgniter

Menurut Basuki (2014:12) “codeigniter sebagai salah satu dari sekian

banyak framework PHP, kini mulai banyak digunakan dalam mengebangkan

aplikasi berbasis web”.

Page 23: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

30

Sedangkan penjelasan oleh Raharjo (2015:3) “codeigniter adalah framework

web untuk bahasa pemograman PHP, yang dibuat oleh Rick Ellis pada tahun

2006, penemu dan pendiri Ellislab (www.ellislab.com)”.

Menurut Hidayatullah dan Kawistara (2014:295) “codeigniter adalah salah

satu framework PHP bahkan framework PHP yang paling powerfull saat ini

karena didalamnya terdapat fitur lengkap aplikasi web dimana fitur-fitur tersebut

sudah dikemas menjadi satu”.

Pembangunan website akan lebih mudah dan cepat apabila menggunakan

framework dikarenakan depelover tidak perlu membuat kode-kode program dari

awal. Sedangkan penggunaannya framework membantu depelover yang bekerja

secara tim, karna framework juga memiliki aturan-aturan penulisan kode program

dalam pengembangan aplikasi sehingga tidak menjadi kesalahpahaman antara

programmer. Dalam pengunaan framework codeigniter menggunakan desain

MVC (Model View Controller) sebagai metode pengembangan aplikasi.

Menurut Hidayatullah dan Kawistara (2014:298) menjelaskan “Model View

Controller atau yang kita sebut dengan MVC adalah metode yang digunakan data

logic (model) dari presentasi logic (view) dan process logic (controller) atau

secara sederhana adalah memisahkan desain interface, data dan proses”.

Dan menurut Basuki (2014:23) menjelaskan pendekatan MVC menjadi tiga

bagian aplikasi, diantaranya:

1. Model

Merepresentasikan data yang digunakan aplikasi. Contoh data misal data

base, RSS, atau data yang diperoleh pemanggil API, dan aksi yang

melibatkan operasi Create, Read, Update, Delete (CRUD) data.

Page 24: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

31

2. View

Informasi yang ditampilkan kepada user melalui browser. Biasanya berupa

file HTML atau kode PHP yang menyusun template untuk sebuah website.

Pada codeigniter, view merupakan bagian-bagian sebuah halaman, template,

atau jenis lain dari halaman atau template.

3. Controller

“Business logic” bertugas untuk jembatan antara model dan view. Controller

merespon HTTP request yang datang dari user (melalui browser), dari

request ini controller akan menentukan apa yang harus dilakukan, jika

diperlukan, controller akan memanggil model untuk mengelola data,

kemudian akan memanggil view yang sesuai untuk menampilkan data hasil

olahan model dan akhirnya mengirim kembali ke halaman hasil olah data itu

ke browser.

C. Bootstrap

Meurut Utomo (2016:11) mendefiniskan “bootstrap merupakan salah satu

framework HTML, CSS, dan JS yang cukup populer, serta banyak digunakan oleh

para pengembang web saat ini”.

Penyampaian Fadul di http://dul.web.id/bootstrap/3/tuts-tips/belajar-

bootstrap-untuk-pemula.php menjelaskan “Bootstrap adalah front-end framework

yang solek, bagus dan luar biasa yang mengedapankan tampilan untuk mobile

device (Handphone, smartphone dll.) guna mempercepat dan mempermudah

pengembangan website” .

Page 25: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

32

Bootstrap adalah framework HTML, CSS, dan JS untuk pembangunan

tampilan website lebih cepat dan interaktif kepada pengguna. Penggunaan

framework bootstrap akan mempermudah bagi depelover dalam pembangunan

aplikasi web pada tampilan front-end menjadi lebih responsive.

D. Xampp

Menurut Nugroho (2014:1) “Xampp adalah paket software Web Server yang

didalamnya sudah ada software Apache, PHP dan MySQL”.

Menurut Raharjo (2015:5) “Xampp adalah kompilasi software yang

membungkus Apache HTTP Server, MySQL, PHP dan Perl”.

Pembangunan aplikasi akan lebih murah dan cepat jika dikerjakan pada host

komputer pribadi. Maka dari itu didalam komputer harus tersedia web server yang

digunakan untuk menjalankan script PHP dan MySQL sebagai aplikasi untuk

membangun database. Xampp sendiri merupakan software yang menyediakan

paket web server, mysql, PHP dan Perl guna pengembangan web pada localhost

(127.0.0.1).

E. ERD (Entity Relational Diagrams)

ERD dapat mempresentasikan seluruh fakta dalam dunia nyata dan

digambar dalam bentuk diagram supaya fakta atau data yang diperoleh lebih

sistematis. ERD memiliki beberapa notasi-notasi menurut Fatansyah (2012:81)

yaitu:

Page 26: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

33

a

1. Persegi Panjang

Dinyatakan sebagai himpunan Entitas. Dengan digambarkan sebagai

berikut.

Sumber: Fatansyah (2012:82)

Gambar II.7

Gambar Himpunan Entitas E

2. Lingkaran/Elip

Gambar berbentuk Elip dalam ERD dapat Dinyatakan sebagai sebuah

atribut. Jika atribut tersebut sebagai primary key maka tulisan atribut tersebut

harus digaris bawahi.

Sumber: Fatansyah (2012:82)

Gambar II.8

Gambar Atribut ERD

3. Belah Ketupat

Gambar belah ketupat dapat dinyatakan sebagai himpunan relasi pada ERD

(Entity Relational Diagrams).

E

Page 27: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

34

Sumber: Fatansyah (2012:82)

Gambar II.9

Gambar Relasi ERD

4. Garis

Dalam ERD gambar yang berbentuk garis dapat juga disebut sebagai link

dyang berfungsi sebagai penghubung antara himpunan relasi dan himpunan entitas

pada atributnya.

Sumber: Fatansyah (2012:82)

Gambar II.10

Gambar Link ERD

5. Kardinalitas Relasi

Pada ERD kardinalitas relasi berperan sebagai gambaran tentang banyaknya

cabang relasi. Kardinalitas relasi dinyatakan dengan huruf dan angka yang telah

ditetapkan. Adapun beberapa kardinalitas relasi sebagai berikut:

a. One to One (1 dan 1 / relasi satu-ke-satu)

b. One to Many (1 dan N / relasi satu-ke-banyak)

c. Many to Many (N dan N / relasi banyak-ke-banyak)

Page 28: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

35

F. Logical Relational Structure (LRS)

Menurut Hasugian dan Shidiq (2012:608) “merupakan sebuah model

sistem yang digambarkan dengan sebuah diagram-ER akan mengikuti pola dan

aturan pemodelan tertentu dalam kaitannya dengan konversi ke LRS”.

Dalam LRS Perubahaan yang terjadi adalah mengikuti aturan-aturan

seperti berikut ini (Hasugian dan Shidiq, 2012:608):

1. Setiap entitas akan diubah kebentuk kotak.

2. Sebuah atribut relasi disatukan dalam sebuah kotak bersama entitas jika

hubungan yang terjadi pada diagram-ER 1:M (relasi bersatu dengan

cardinality M) atau tingkat hubungan 1:1 (relasi bersatu dengan

cardinality yang paling membutuhkan referensi).

3. Sebuah relasi dipisah dalam sebuah kotak tersendiri (menjadi entitas baru)

jika tingkat hubunganya M:M (many to many) dan memiliki foreign key

sebagai primary key yang diambil dari kedua entitas yang sebelumnya

saling berhubungan.

G. Pengujian Unit (Black Box Testing)

Dalam pengujian unit black box testing terdapat klasifikasi yang

mencangkup beberapa pengujian dan diuraikan oleh Simarmata (2010: 316)

meliputi:

1. Pengujian Fungsional (Functional Testing)

Pengujian fungsional dilakukan dengan menguji setiap fungsi dari aplikasi

yang dibangun dan dilakukannya pengujian ini bertujuan untuk mengetahui

apakah aplikasi yang dibangun sesuai dengan harapan.

Page 29: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

36

2. Pengujian Tegangan (Stress Testing)

Pengujian ini dilakukan untuk mengetahui kualitas dari aplikasi didalam

lingkungan. Cara pengujian ini dengan menciptakan tegangan yang lebih

menutut pada lingkungan.

3. Pengujian Beban (Load Testing)

Pengujian beban dilakukan dengan memberikan masukan dalam jumlah

yang besar atau beban yang berat hal ini memastikan aplikasi tetap kuat dan

berjalan dengan lancar. Bukan berarti pada pengujian ini merusak aplikasi

namun bertujuan untuk mengetahui apakah terjadi kegagalan sistem meski

di beri beban yang besar.

4. Pengujian Khusus (Ad-hoc Testing)

Pengujian ini dilakukan tanpa penciptaan rencana pengujian atau kasus

pengujian. Pengujian kusus memabntu para penguji aplikasi untuk

memperlajari aplikasi dan menemukan lubang-lubang dalam pengujian

strategi dan dapat menghubungkan diantara subsistem lain yang tidak jelas.

5. Pengujian Penyelidikan (Exploratory Testing)

Pengujian penyelidikan dilakukan untuk mempelajari aplikasi dan pengujian

ini mirip dengan pengujian khusus (ad-hoc testing).

6. Pengujian Usabilitas (Usability Testing)

Pengujian ini bertujuan untuk melakukan keakraban dari pengguna tertentu

dan pada pengujian usabilitas mengharuskan aplikasi berinteraksi dengan

baik terhadap pengguna secara langsung maupun tidak langsung agar

pengguna tidak merasakan kesulitan dalam pengopersian aplikasi.

Page 30: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

37

7. Pengujian Asap (Smoke Testing)

Pengujian asap dilakukan untuk memeriksa apakah aplikasi sudah siap

untuk pengujian yang lebih besar dan bekerja dengan baik tanpa celah

sampai tingkat yang paling diharapkan.

8. Pengujian Pemulihan (Recovery Testing)

Pada dasarnya dilakukan untuk memeriksa seberapa cepat dan baiknya

aplikasi bisa pulih terhadap semua jenis crash atau kegagalan perangkat

keras.

9. Pengujian Volume (Volume Testing)

Pengujian volume, menguji sebuah sistem baik perangkat keras sistem

maupun perangkat lunak untuk serangkaian proses pengolahan data pada

sistem. Pengujian volume akan berusaha memastikan batasan-batasan fisik

untuk sebuah kapasitas pada sistem.

10. Pengujian Domain (Pengujian Domain)

Pengujian domain merupakan penjelasan dari teknik pengujian yang

berperan ketika melakukan pengujian terhadap beberapa perwakilan dari

masing-masing subset.

11. Pengujian Skenario (scenario Testing)

Pengujian scenario adalah pengujian yang realitas, kredibel dan memotivasi

stakeholder tantangan untuk program dan mempermudah penguji untuk

melakukan evaluasi.

12. Pengujian Regresi (Regression Testing)

Pengujian regresi adalah gaya pengujian yang berfokus pada pengujian

ulang (retesting) setelah ada perubahan. Pada pengujian ulang untuk

Page 31: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

38

mengurangi resiko perubahan yang dimaksud untuk memperbaiki bug yang

gagal dan beberapa perubahan efek samping, tidak memperbaiki bug yang

lama atau memperkenalkan bug baru.

13. Penerimaan Pengguna (User Acceptance)

Aplikasi yang telah dibangun dan dilakukan pengujian tahapan-tahapan

pengujian oleh pengembang maupun penguji akan diserahkan kepada

pengguna untuk mengetahui apakah aplikasi memenuhi harapan pengguna

dan bekerja seperti yang diharapkan.

14. Pengujian Alfa (Alpha Testing)

Pada pengujian ini pengguna didatangkan untuk menggunakan aplikasi dan

memberikan masukan pada aplikasi, kemudian pengembang aplikasi

mencatat setiap masukan yang diberikan dan mengkoreksi sesuatu yang

tidak normal yang terjadi pada aplikasi yang digunakan pengguna.

15. Pengujian Beta (Beta Testing)

Pengujian beta dilakukan dengan melakukan pendistribusian aplikasi kepada

pengguna, apabila aplikasi mengalami cacat atau pengecualian akan

dilaporkan kepada pengembang. Harapan pengujian beta dilakukan dengan

cara didistribusikan kepada masyarakat agar aplikasi memiliki bug.

H. Konsep UML (Unified Modeling Lenguage)

Pengembangan perangkat lunak bukanlah yang sangat mudah untuk

dilakukan, apabila pengambangan perangkat lunak dikerjakan oleh banyak orang

tentunya akan memiliki pemikiran dan pemahaman yang berbeda-beda. Tentunya

hal ini akan menimbulkan suatu permasalahan yang sangat kompleks, dalam hal

Page 32: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

39

ini Rosa dan Shalahuddin (2015:134) melihat kompleksitas dalam beberapa hal,

diantaranya:

1. Kompleksitas domain atau permasalahan perangkat lunak

Pendefenisian fungsi-fungsi pada perangkat lunak sejatinya dilakukan dalam

proses analisa. Hal ini akan bertentangan apabila pengembangan tidak

menggunakan perencanaan dan pemodelan karna seringkali pendefenisian

terjadi setelah masuk pada tahap implementasi pengkodean, dengan

demikian maka proses pengembangan akan kembali pada tahap analisa

sehingga akan menuai ketidak efesianan dan kekonsistenan dokumen dalam

pengembangan. Selain itu perbedaan permasalahan interpretasi pemahaman

spesifikasi oleh orang yang mengembangkan aplikasi terkadang tidak

dinyatakan, tapi membuat asumsi sendiri.

2. Kesulitan mengelolah proses pengembangan perangkat lunak

Pengembangan perangkat lunak yang dilakukan secara tim memerlukan

koordinasi agar tidak terjadi kesalah pahaman interpretasi yang

mengakibatkan perangkat lunak yang dibangun tidak selesai.

3. Kemungkinan flexibilitas perubahan perangkat lunak

Dalam pengembangan perangkat lunak developer akan memiliki hubungan

dengan klien untuk melakukan pertanyaan terhadap fungsi-fungsi aplikasi

yang dibutuhkan. Namun tidak semua klien memiliki pengetahuan teknologi

yang cukup untuk dimintai pertimbangan terhadap sistem yang ingin

dibangun. Apabila tidak ada perjanjian spesifikasi maka besar kemungkinan

perubahan sistem ditengah pengerjaannya karena klien yang meminta

Page 33: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

40

perubahan tersebut. Sering terjadi perubahan ditengah pengerjaan aplikasi

dapat membuat kemoloran waktu dalam proses pembangunannya.

4. Permasalahan karakteristik bagian-bagian perangka lunak secara diskrit

Dalam pengembangan perangkat lunak dilakukan dengan beberapa orang

atau tim. Maka perangkat lunak akan dibagi-bagi menjadi bagian-bagian

yang harus dikerjakan orang-orang didalam tim. Jika permasalahan bagian-

bagian perangkat lunak secara diskrit tidak terdefenisi secara benar atau

dipahami berberda oleh setiap orang yang ada didalam tim, maka

kemungkinan saat bagian-bagian ini digabungkan akan terjadi banyak

kesalahan atau error. Maka dari itu koordinasi dan komunikasi yang baik

didalam sebuah tim sangat dibutuhkan.

Berbagai resiko yang terjadi dalam pengembangan perangkat lunak, maka

harus memiliki solusi untuk mengani permasalahan yang terjadi yaitu perlu

adanya suatu perencanaan dan pemodelan. Dalam pemodelan perangkat lunak

dapat menggunakan UML (Unified Modeling Language).

1. Pengertian UML (Unified Modeling Language)

Rosaa dan Shahuddin (2015:137) menjelaskan UML adalah bahasa

pemodelan perangkat lunak dengan tehnik pengembangan perangkat lunak

beorientasi objek. Perkembangan teknologi perangkat lunak yang semakin tinggi

dengan kompleksitas yang rumit, mengakibatkan kebutuhan pemodelan secara

visual yang meliputi spesifikasi, menggambarkan, membangun dan

memdokumentasikan perangkat lunak. Dengan UML pemodelan perangkat lunak

akan mudah dilakukan karena UML merupakan bahasa visual untuk memodelkan

dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-

Page 34: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

41

teks pendukung. Pada batasannya UML hanya berfungsi sebagai pemodelan, jadi

penggunaan UML tidak terbatas pada metodologi tertentu. Namun pada

pengembangan perangkat lunak berbasis objek UML paling banyak digunakan

sebagai pemodelan visual.

2. Diagram UML (Unified Modeling Language)

Diagram uml dibagi dalam tiga kategori diamana masing kategori terdiri

dari beberapa macam diagram, Rosa dan Shaluddin (2015:140) membagi bagian

tersebut dalam gambar dibawah ini.

Sumber: Rosa Dan Shalahuddin (2015:140)

Gambar II.11

Diagram UML (Unified Modeling Leanguage)

Page 35: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

42

Penjelasan singkat dari tiga pembagian kategori sebagai berikut:

a. Structure Diagrams

Yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu

struktur statis dari sistem yang dimodelkan.

b. Behavior Diagrams

Kumpulan diagram yang digunakan untuk mengambarkna kelakuan

sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

c. Interaction diagrams

Yaitu kumpulan yang digunakan untuk menggambarkan interaksi

sistem dengan sistem lain maupun interaksi antar subsistem pada suatu

sistem.

I. Use Case

Use case diagram merupakan pemodelan behavior (kelakuan) yang dapat

dibuat satu aktor atau lebih dalam pemodelannya. Pada use case diagram

digambarkan fungsi yang ada dalam sistem. Rosa dan Shalahuddin (2015:155)

mendefenisikan penamaan use case terbagi dalam dua hal utama, diantaranya:

1. Aktor

Meskipun actor digambarkan dalam bentuk orang bukan berarti aktor adalah

orang. Karena aktor dapat merupakan reprentasi dari orang, sistem lain yang

berinteraksi dengan sistem yang dibuat, atau sebuah proses.

2. Use Case

Merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang

saling bertukar pesan antar unit atau aktor.

Page 36: BAB II LANDASAN TEORI - repository.bsi.ac.id fileSedangkan sistem menurut Pratama (2014:7) “sistem didefenisikan sebagai sekumpulan prosedur yang saling berkaitan dan saling terhubung

43

Use case memiliki berbagai macam simbol-simbol untuk menggunakannya,

adapun simbol tersebut yakni:

Tabel II.1

Simbol dan Deskripsi Use Case

Simbol Deskripsi

Use Case

Fungsionalitas yang disediakan sistem sebagai unit-unit

yang saling bertukar pesan antar unit atau aktor.

Aktor / Actor

Orang, proses, atau sistem lain yang berinteraksi dengan

sistem informasi yang akan dibuat diluar sistem informasi

yang akan dibuat sendiri, jadi walaupun simbol aktor adalah

gambar orang, tapi belum tentu merupakan orang.

Asosiasi / Association

Komunikasi antar actor use case yang berpartisipasi pada

use case atau use case memiliki interaksi dengan actor

Ekstensi / Extend

Relasi use case tambahan kesebuah use case dimana use

case ditambahkan dapat berdiri sendiri walau tanpa use case

tambahan itu; mirip dengan prinsip inheritance pada

program berorientasi objek.

Generalisasi / Generalitation

Hubungan (umum-khusus) antara dua buah use case dimana

fungsi yang satu adalah fungsi yang lebih umum darinya.

Menggunakan / Include / Use

Relasi use case tambahan ke sebuah use case dimana use

case yang ditambahkan memerlukan use case ini untuk

menjalankan fungsinya atau sebagai syarat dijalankan use

case ini.

Sumber: Rosa dan Shalahuddin (2015:156)