Anda di halaman 1dari 25

BAB II

LANDASAN TEORI

2.1 Konsep Dasar Program

2.1.1 Program

Pemprograman komputer adalah kegiatan membuat program komputer

(winarno dan zaki, 2015:2). Pemprograman komputer (computer programing) atau

sering disingkat sebagai programing atau coding , terdiri dari proses penulisan, uji

coba / testing, debugging /troubleshooting dan evaluasi kode yang ditulis

menggunakan bahasa pemprograman tertentu (winarno dan zaki, 2015:2).

Bahasa pemprograman berdasarkan tingkatanya di bagi menjadi 3, yaitu:

1. Bahasa tingkat rendah (low level language)

Dalam tingkatan ini masih dibagi menjadi 2, yaitu:

A. Bahasa mesin (machine language)

Bahasa ini adalah bahasa yang hanya bisa dipahami oleh komputer karena

terdiri dari angka 1 dan 0 saja.

B. Bahasa rakitan

Bahasa rakitan lebih dikenal dengan bahasa assembly merupakan bahasa

tingkat rendah yang memberikan instruksi atau perintah pada komputer dengan

kode-kode yang singkat (mnemonic code).

2. Bahasa tingkat menengah (middle level language )

7
8

Tingkatan bahasa ini memakai campuran perintah atau instruksi dalam bentuk

kode-kode yang diambil dari kata-kata manusia atau dapat juga berupa

simbolik, sehingga tingkatan bahasa ini mudah dipahami manusia.

3. Bahsa tingkat tinggi (high level language)

Bahasa tingkat tinggi hampir sama dengan bahasa tingkat menengah

perbedaanya mampu berjalan pada hampir semua sistem operasi.

2.1.1.1 Pemrograman Terstruktur

Pemrograman terstruktur adalah konsep atau paradigma atau sudut pandang

pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi atau

prosedur-prosedur yang dibutuhkan program komputer (sukamto dan shalahuddin,

2014:68). Modul-modul (pembagian program) biasanya dibuat dengan

mengelompokan fungsi-fungsi dan prosedur-prosedur yang diperlukan dalam

sebuah proses tertentu. Fungsi-fungsi dan prosedur-prosedur ditulis secara

sekuensial atau terurut dari atas kebawah sesuai dengan kebergantungan antar

fungsi dan prosedur.

2.1.1.2 Pemrograman Berorientasi Objek

Adalah suatu strategi pembangunan perangkat lunak yang

mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan

operasi yang diberlakukan terhadapnya (sukamto dan shalahuddin, 2014:100).

Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan

sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia


9

nyata. Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang

metodologi berorientasi objek :

1. Kelas (class) adalah kumpulan objek-objek dengan karaktristik yang sama

(sukamto dan shalahuddin, 2014:104). Sebuah kelas akan mempunyai sifat

(atribut), kelakuan (operasi/ metode), hubungan (relationship) dan arti.

2. Objek (object) adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti

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

yang bersifat abstrak (sukamto dan shalahuddin, 2014:106).

3. Metode (Method), hampir sama dengan fungsi atau prosedur pada metodologi

struktural.

4. Enkapsulasi ( Encapsulation ) adalah pembungkusan atribut data dan layanan

(operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi

dan objek sehingga objek lain tidak mengetahui cara kerja nya (sukamto dan

shalahuddin, 2014:108).

5. Pewarisan (inheritance) , mekanisme yang memungkinkan satu objek mewarisi

sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.

6. Polimorfisme (Polymorphism) , kemampuan suatu objek untuk digunakan

dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat

baris program.

2.2.2 Website

Website atau situs juga dapat diartikan sebagai kumpulan halaman yang

menampilkan informasi data teks, data gambar diam atau gerak, data animasi,

suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun
10

dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana

masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink).

Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi

informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi

informasi website selalu berubah-ubah, dan isi informasinya interaktif dua arah

berasal dari pemilik serta pengguna website. Contoh website statis adalah berisi

profil perusahaan, sedangkan website dinamis adalah seperti Friendster, Multiply,

dll. Dalam sisi pengembangannya, website statis hanya bisa diupdate oleh

pemiliknya saja, sedangkan website dinamis bisa diupdate oleh pengguna maupun

pemilik.

2.1.3 Bahasa Pemprograman

2.1.3.1 HTML (Hyper Text Markup Language)

Adalah sebuah bahasa markup untuk menstrukturkan dan menampilkan isi

dari world wide web, sebuah teknologi inti dari internet (ardhana, 2014:15). Untuk

versi sekarang ini HTML sudah versi ke5 atau HTML5 . HTML pertama kali

diciptakan pada tahun 1990 . HTML5 adalah salah satu karya konsortium world

wide web consortium (W3C) untuk mendefinisikan sebuah bahasa markah tunggal

yang dapat ditulis dengan cara HTML / XHTML , HTML5 merupakan jawaban

atas pengembangan HTML 4.01 dan XHTML 1.1 yang selama ini berjalan terpisah

dan diimplementasikan secara berbeda-beda oleh perangkat lunak pembuat web.


11

2.1.3.2 PHP (Hypertext Preprocessor )

PHP merupakan bahasa pemprograman berbasis server-side yang dapat

melakukan parsing script PHP menjadi script web sehingga dari sisi client

menghasilkan suatu tampilan yang menarik (ardhana , 2014:65) . PHP merupakan

pengembangan dari FI atau Form Interface yang dibuat oleh Rasmus lerdoff pada

tahun 1995. Berbeda dengan HTML, kode PHP tidak diberikan secara langsung

oleh server ketika ada permintaan atau request dari sisi client namun cara

pemprosesan dari sisi server. Kode PHP seringkali digabungkan dengan kode

HTML. Keunggulan dari bahasa pemprograman PHP yaitu:

1. PHP memiliki native API untuk koneksi ke berbagai database, sehingga secara

otomatis dalam melakukan koneksi lebih cepat dibandingkan dengan Open

Database Connectivity (ODBC).

2. Eksekusi scripting dilakukan lebih cepat sehingga meningkatkan throughout

pada server.

3. Penulisan pemprograman yang simpel dan sederhana yang membuat

programmer newbie (pemula) mudah dalam memahami PHP.

4. Dukungan koneksi yang hampir bisa dilakukan kesemua database seperti

MySQL, PostgreSQL, Sybase, Informix, Interbase, ORACLE, SQL Server .

5. PHP dapat dijalankan dibeberapa web server seperti PWS, IIS, Apache, Xitami,

Netscape, Enterpise, AOL server.

6. PHP juga dapat berjalan diberbagai platform seperti Unix dan Windows .

7. PHP dapat di distribusikan kembali dibawah lisensi Gnu Public License (GPL)

karena bersifat open source.


12

2.1.3.3 CSS ( Cascading Style Sheet)

Merupakan suatu bahasa pemprograman web (script )yang didesain khusus

untuk mengendalikan dan membangun berbagai komponen dalam web sehingga

tampilan web menjadi lebih rapih, tersetruktur, dan seragam. Dengan CSS

webmaster bisa memisahkan konten utama dengan tampilan dokumen lainya (html

atau php ) yang akan memberikan sangat banyak keuntungan . Dengan pemisahan

ini pula, webmaster bisa membuat website lebih cepat karena webmaster cukup

menuliskan satu property dan property tersebut bisa digunakan oleh elemen lainya,

sehingga tidak perlu menulis berkali-kali kode yang sama.

2.1.3.4 Javascript

Merupakan bahasa pemprograman web sisi klien (client side) (riyanto,

2015:32). Bila HTML digunakan untuk membuat halaman web statis, maka

javascript digunakan untuk membuat halaman web yang interaktif dan dinamis.

2.1.3 Basis Data

Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya

adalah memelihara data yang sudah di olah atau informasi dan membuat tersedia

saat dibutuhkan (sukamto dan shalahuddin, 2014:43). DBMS (Database

Management System ) atau dalam bahsa indonesia sering disebut sebagai

manajemen basis data adalah suatu sistem aplikasi yang digunakan untuk

menyimpan, mengelola dan menampilkan data (sukamto dan shalahuddin,

2014:44). Karena pentingnya data bagi suatu organisasi / perusahan maka hampir

sebagian besar perusahaan memanfaatkan DBMS dalam mengelola data yang


13

mereka miliki . DBMS sudah mulai berkembang sejak tahun 1960an. Reational

model pertama kali dikembangkan oleh edgar j. codd pada tahun 1970. Pada

pembuatan aplikasi ini menggunakan basis data model RDBMS (Relational

Database Management System). Secara sederhana relasional model dapat dipahami

sebagai suatu model yang memandang data sebagai sekumpulan tabel yang saling

terkait. Bahasa yang digunakan untuk mengelola data pada RDBMS adala SQL

(Structured Query Language) . SQL ini awalnya dikembangkan berdasarkan teori

aljabar dan kalkulus. SQL mulai dikembangkan pada tahun 1970an dan sql mulai

digunakan sebagai standar resmi pada tahun 1986 oleh ANSI (American National

Standards Institute ) dan pada tahun 1987 oleh ISO (International Organization for

Standardization ). Perintah atau instruksi SQL dapat dikelompokan berdasarkan

jenis dan fungsinya . Menurut handayanto dan herlawati (2016:9) terdapat 3 jenis

perintah dasar SQl yaitu:

1. DDL (Data Definition Language) adalah jenis instruksi SQL yang berkaitan

dengan pembuatan struktur table maupun database. Termasuk diantaranya

adalah: CREATE, DROP, ALTER dan RENAME.

2. DML (Data Manipulation Language ) adalah jenis instruksi SQL yang

berkaitan dengan data yang ada dalam tabel, yaitu: SELECT, INSERT,

DELETE, dan UPDATE.

3. DCL (Data Control Language) adalah jenis instruksi SQL yang berkaitan

dengan manajemen hak akses dan pengguna (user) yang dapat mengakses

database maupun tabel . contoh: GRANT dan REVOKE.


14

2.1.4 Model Pengembangan Perangkat Lunak

Menurut sukamto dan shalahuddin (2014:2) perangkat lunak (software)

adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak

seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual).

Sistem adalah kumpulan komponen yang saling terkait dan mempunyai satu tujuan

yang ingin dicapai (sukamto dan shalahuddin, 2014:2) . Dalam pembuatan

perangkat lunak seorang pengembang (developer) harus selalu memenuhi

kebutuhan yang diinginkan oleh pelanggan (customer) . pelanggan (customer)

adalah orang atau organisasi yang memesan atau membeli perangkat lunak

(software) dari pengembang (developer) (sukamto dan shalahuddin, 2014:2).

Sedangkan user (pemakai perangkat lunak ) adalah orang yang memiliki

kepentingan untuk memakai atau menggunakan perangkat lunak untuk

memudahkan pekerjaanya. Dalam pengembangan perangkat lunak biasanya sering

disebut dengan rekayasa perangkat lunak . rekayasa perangkat lunak (software

engineering ) adalah pembangunan dengan menggunakan prinsip atau konsep

rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang

dipercaya dan bekerja secara efisien menggunakan mesin (sukamto dan

shalahuddin, 2014:4).

Proses rekayasa perangkat lunak menurut sukamto dan shalahuddin (2014:8) :


15

Analisa

Pengujian Perancangan

Implmentasi

Gambar II.1 Proses Rekayasa Perangkat Lunak

2.1.4.1 Analisis dan Desain Sistem

Menurut sukamto dan shalahuddin (2014:18) kegiatan analisis sistem

adalah kegiatan untuk melihat sistem yang sudah berjalan, melihat bagian mana

yang bagus dan tidak bagus dan kemudian mendokumentasikan kebutuhan yang

akan dipenuhi dalam sistem yang baru. Dalam tahap ini seorang developer

menganalisa kebutuhan sistem yang akan dikembangkan sesuai kebutuhan user

dengan berbagai cara pengumpulan data sehingga terpenuhi kebutuhan sistem

informasi atau SRS (Software Requirement Specification).

Hal pertama dalam analisis sistem adalah melakukan pengumpulan data. Adapun

menurut sukamto dan shalahuddin (2014:19) teknik pengumpulan data adalah

sebagai beikut:
16

1. Teknik wawancara

Wawancara adalah suatu pengumpulan data dengan cara peneliti langsung

menanyakan langsung kepada narasumber yang ada perihal objek yang akan

diteliti.

2. Teknik observasi

Yaitu teknik pengumpulan data dengan cara kita melihat langsung bagaimana

system lama berjalan.

3. Teknik kuisioner

Yaitu pengumpulan data dengan cara melakukan berbagai kuisiner kepada para

responden

Desain atau perancangan dalam pembangunan perangkat lunak merupakan


upaya untuk mengonstruksi sebuah sistem yang memberikan kepuasan
(mungkin informal) akan spesifikasi kebutuhan fungsional, memenuhi
target, memenuhi kebutuhan secara implisit atau exsplisit dari segi
performansi maupun penggunaan sumber daya, kepuasan batasan pada
proses desain dari segi biaya, waktu, dan perangkat (sukamto dan
shalahuddin, 2014:23)

2.1.4.2 SDLC (Software Development Life Cycle)

SDLC adalah proses mengembangkan atau mengubah suatu sistem

perangkat lunak dengan menggunakan model-model dan metodologi yang

digunakan orang untuk mengembangkan sistem-sistem perangkat lunak

sebelumnya berdasarkan best practice atau cara-cara yang sudah teruji baik.

(sukamto dan shalahuddin, 2014:26).

Dalam pengembangan perangkat lunak ini menggunakan model waterfall.

Model air terjun atau waterfall sering juga disebut model sekuensial linear
17

(sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun

menyediakan pendekatan alur hidup perangkat lunak secara sequensial atau terurut

dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung

(support). Menurut sukamto dan shalahuddin (2014:29) tahapan pengembangan

perangkat lunak model waterfall adalah:

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

Adalah proses multi langkah yang focus pada desain pembuatan program

perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi

antarmuka dan prosedur pengkodean (sukamto dan shalahuddin, 2014:29) .

Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan

kerepresentasi desain agar dapat diimplementasikan menjadi program pada

tahap selanjutnaya.

3. Pembuatan kode program

Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap

ini adalah program computer sesuai dengan desain yang telah dibuat pada tahap

desain.

4. Pengujian

Pengujian focus pada perangkat lunak secara dari segi logic dan fungsionalitas

dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk
18

meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan

sesuai dengan keinginan.

5. Pendukung support atau pemeliharaan ( Maintenance )

Tidak memuntup 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.

2.1.5 Peralatan Pendukung

Adapun peralatan ( aplikasi ) yang nantinya digunakan untuk perancangan

program adalah:

2.1.5.1 XAMPP

XAMPP merupakan salah satu paket installasi Apache, PHP dan MySQL

instant yang dapat kita gunakan untuk membantu proses pengembangan web (web

developer). XAMPP bersifat open source atau gratis untuk digunakan. Sejarah

singkat XAMPP, XAMPP merupakan pengembangan dari LAMP (Linux Apache,

MySQL, PHP and PERL), XAMPP ini merupakan project nonprofit yang di

kembangkan oleh Apache Friends yang didirikan Kai 'Oswalad' Seidler dan Kay

Vogelgesang pada tahun 2002, project mereka ini bertujuan mempromosikan

pengunaan Apache web server.


19

2.1.5.2 Notpad ++

Notepad++ adalah sebuah text editor yang sangat berguna bagi setiap orang

khususnya bagi para developer dalam membuat program. Notepad++ menggunakan

komponen Scintilla untuk dapat menampilkan dan menyunting teks. Dan berkas

kode sumber berbagai bahasa pemprograman yang berjalan diatas sistem operasi

Microsoft windows. Selain manfaat dan kemampuanya menangani banyak bahasa

pemprograman, Notepad++juga memiliki lisensi open source atau gratis jadi setiap

orang bebas untu menggunakanya.

2.1.5.3 Bootstrap Twitter

Berbagai macam permasalahan sering dihadapi oleh seorang programmer

baik itu programmer profesioanl maupun programmer yang masih awam. salah satu

permasalahan yang dihadapi yaitu mendesain sebuah tampilan website. Karena

banyaknya permasalahan yang dihadapi oleh programmer maka Mark otto dan

Jacob Thronton yang bekerja ditwiter membuat bootstrap sebagai framework untuk

mendukung pengembangan dan konsistensi tools pada bagian internal sebuah

program pada perusahaan twitter sehingga dapat mengurangi beban pemeliharaan

yang membengkak dan inkonseistensi. Bootstrap twiter adalah sebuah framework

yang terdiri dari HTML, CSS, dan Javascript yang berfungsi untuk mendesain

sebuah website secara mudah dan cepat yang hasilnya sangat responsive diberbagai

layar monitor baik layar komputer ataupun layar smartphone atau tablet. Bootstrap

dirilis pertama kali oleh twiter pada bulan februari 2012 dengan projectnya yang

dinamakan project github.


20

2.2 Teori Pendukung

2.2.1 ERD (Entity Relationship Diagram)

ERD adalah bentuk paling awal dalam melakukan perancangan basis data

relasional. ERD dikembangkan berdasarkan teori himpunan dalam bidang

matematika. ERD merupakan notasi grafis dalam permodelan data konseptual yang

digunakan untuk memodelkan struktur data dan hubungan antar data (mulyarto,

2008:268) . Berikut adalah simbol-simbol yang digunakan ERD dengan notasi chen

menurut sukamto dan shalahuddin (2014:50) :

Tabel II.1

Simbol-simbol pada ERD dengan notasi chen

Simbol Deskripsi
Entitas /entity Entintas merupakan data inti yang akan
disimpan. Bakal tabel pada basis data.
benda yang memiliki data dan harus
Nama_entitas
disimpan datanya agar dapat diakses
oleh aplikasi computer.

Atribut Field atau kolom data yang butuh


disimpan dalam suatu entitas.
nama_atribut

Atribut kunci primer Field atau kolom data yang butuh


disimpan dalam suatu entitas dan
digunakan sebagai kunci akses record
Nama_kunci_prim yang diinginkan.
er

Atribut multinilai/multivalue Field atau kolom data yang butuh


disimpan dalam suatu entitas yang
dapat memiliki nilai lebih dari satu.
Nama_atribut
21

Relasi Relasi yang menghubungkan antar


entitas

Asosiasi / association Perhubungan antara relasi dan entintas


dimana dikedua ujungnya memiliki
multiplicity kemungkinan jumlah
N pemakaian .

2.2.1.1 LRS (Logical Relational Structure)

Merupakan representasi dari struktur record-record pada tabel-tabel yang terbentuk

dari hasil antar himpunan entitas. Kardinalisasi adalah menjelaskan batasan pada

jumlah entity yang berhubungan melalui sebuah relasi yang ada. Pemetaan kardinal

dapat dikategorikan menjadi 3 macam yaitu:

1. One to One (1 : 1)

Yaitu antara entity pertama dapat berhubungan dengan satu entity kedua dan

entity kedua dapat berhubungan dengan entity pertama paling banyak satu

entity.

2. One to Many ( 1 : M )

Yaitu antara entity pertama dapat berhubungan dengan sejumlah entity kedua,

tetapi satu entity kedua hanya dapat berhubungan dengan satu entity kedua.

3. Many to Many ( M : N)
22

Yaitu antara satu entitas pertama dapat berhubungan dengan banyak pada entity

kedua, demikian pula sebaiknya.

2.2.1.2 Normalisasi

Normalisasi merupakan proses pengelompokan elemen data menjadi tabel-

tabel yang menunjukan entitas dan relasinya. Pada proses normalisasi ini selalu

diuji pada beberapa kondisi. Apakah ada kesulitan pada saat menambah,

menghapus, mengubah dan membaca pada database, bila ada kesulitan pada

pengujian tersebut maka relasi dapat dipecah pada beberapa tabel lagi.Bentuk-

bentuk Normalisasi yaitu:

1) Normalisasi Tidak Normal (Unnormalized Form)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan

mengikuti format tertentu. Data dapat saja tidak lengkap atau terduplikasi.

2) Normalisasi kesatu (1 NF)

Suatu relasi dikatakan dalam bentuk normal pertama (1NF) jika memenuhi

syarat yaitu relasi tersebut hanya mempunyai nilai-nilai atomik (tidak ada

atribut yang berulang-ulang atau bernilai ganda).

3) Normalisasi kedua (2 NF)

Normal kedua mensyaratkan jika setiap atribut yang bukan kunci bergantung

secara fungsional pada atribut kunci primer (primary key). Untuk itu, harus

ditentukan primary key yang unik.

4) Normalisasi ketiga (3 NF)

Bentuk Normal ketiga, jika berada dalam bentuk normal kedua dan setiap

atribut bukan kunci tergantung secara transitif terhadap primary key. Artinya
23

semua atribut bukan kunci tidak tergantung pada atribut lain kecuali primary

key.

5) Normalisasi keempat (4 NF/Four Normal Form)

Yaitu suatu relasi dikatakan dalam bentuk 4 NF jika dan hanya jika berada
dalam BCNF dan tidak mengandung 2 atribut atau lebih yang bernilai banyak.
6) Normalisasi kelima (5 NF/Five Normal Form)

Yaitu suatu relasi dikatakan dalam bentuk 5 NF jika dan hanya jika berada
dalam BCNF dan tidak mengandung atribut yang berkaitan.

2.2.2 UML (Unified Modeling Language)

Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa

yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu

adanya standarisasi agar orang diberbagai Negara dapat mengerti pemodelan

perangkat lunak. Banyak berkembang pemodelan pembangunan perangkat lunak

contohnya Data Flow Diagram (DFD) untuk memodelkan perangkat lunak yang

menggunakan pemprograman procedural atau structural, kemudian juga ada State

Transition Diagram (STD) yang digunakan untuk memodelkan system real time

(waktu nyata).

Karena banyaknya metodologi-metodologi yang berkembang pesat saat itu,

maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua

orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang

berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa

konsep seperti konsep Object Modelling Technique (OMT) dari Rumbaugh dan

Booch (1991), konsep The classes, Responsibilities, Collaborators (CRC) dari

Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa


24

konsep lainya , mereka bergabung dalam perusahaan yang bernama Rational

Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling

Language (UML). UML merupakan bahasa visual untuk pemodelan dan

komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks

pendukung (sukamto dan shalahuddin, 2014:137). Sistem informasi bukanlah ilmu

pasti, maka jika ada banyak perbedaan dan interpretasi didalam bidang sistem

informasi merupakan hal yang sangat wajar. UML memiliki 13 macam diagram

namun disini hanya dibahas yaitu: activity diagram, use case diagram, sequence

diagram, dan class diagram.

2.2.2.1 Activity Diagram

Di gunakan untuk menggambarkan workflow (aliran kerja) atau aktifitas

sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak.

Menurut sukamto dan shalahuddin (2014:162) berikut adalah symbol-simbol yang

ada pada diagram aktifitas:

Tabel II.2

Simbol-simbol activity diagram

Simbol Deskripsi
Status awal Status awal aktifitas system, sebuah
diagram aktifitas memiliki sebuah
status awal
25

Aktifitas Aktifitas yang dilakukan system,


aktifitas biasanya diawali dengan kata
kerja.
aktifitas

Percabangan / decision Asosiasi percabangan dimana jika ada


pilihan aktifitas lebih dari satu.

Penggabungan / join Asosiasi penggabungan dimana lebih


dari satu aktifitas digabungkan menjadi
satu.

Status akhir Status akhir yang dilakukan sistem,


sebuah diagram aktifitas memiliki
sebuah status akhir.

Swimlane Memisahkan organisasi bisnis yang


bertanggung jawab terhadap aktifitas
yang terjadi.
26

2.2.2.2 Class Diagram

Menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang

akan dibuat untuk membangun sistem. Diagram kelas dibuat agar pembuat program

atau programmer membuat kelas-kelas sesuai rancangan didalam diagram kelas

agar antara dokumentasi perancangan dan perangkat lunak sinkron. Menurut

sukamto dan shalahuddin (2014:146) simbol-simbol yang ada pada diagram kelas

yaitu:

Tabel II.3

Simbol-simbol pada diagram kelas

Simbol Deskripsi
Kelas Kelas pada struktur sistem.

Antarmuka / interface Sama dengan konsep interface dalam


pemprograman berorientasi objek.

Nama_interface

Asosiasi / association Relasi antar kelas dengan makna


umum, asosiasi biasanya juga disertai
dengan multiplicity .

Asosiasi berarah / direct association Relasi antar kelas dengan makna kelas
yang satu digunakan oleh kelas yang
lain, asosiasi biasanya juga disertai
dengan multiplicity
Generalisasi Relasi antar kelas dengan makna
generalisasi- spesialisasi (umum-
khusus)
27

Kebergantungan / dependency Kebergantungan antar kelas.

Agregasi / aggregation Relasi antar kelas dengan makna


semua bagian (whole part)

2.2.2.3 Sequence Diagram

Menggambarkan kelakuan objek pada use case dengan mendeskripsikan

waktu hidup dan message yang dikirmkan dan diterima antar objek . Menurut

sukamto dan shalahuddin (2014:165) simbol-simbol yang ada pada diagram sekuen

yaitu:

Tabel II.4

Simbol-simbol pada sequence diagram

Simbol Deskripsi
Aktor Orang,proses, atau sistem lain yang
berinteraksi dengan sistem informasi
yang akan dibuat di luar sistem
informasi yang akan dibuat itu sendiri,
jadi walaupun simbol dari aktor adalah
gambar orang tapi aktor belum tentu
merupakan orang.
Garis hidup/ lifeline Menyatakan kehidupan suatu objek.
28

Objek Menyatakan objek yang berinteraksi


pesan.
Nama objek:nama kelas

Waktu aktif Menyatakan objek dalam keadaan


aktif dan berinteraksi, semua yang
terhubung dengan waktu aktif ini
adalah sebuah tahapan yang dilakukan
didalamnya, misalnya

maka cekstatusLogin() dan open()


dilakukan didalam metode login()
aktor tidak memiliki waktu aktif.

Pesan tipe create Menyatakan suatu objek membuat


objek yang lain, arah panah mengarah
pada objek yang dibuat.

Pesan tipe call Menyatakan suatu objek memanggil


operasi/metode yang ada pada objek
lain atau dirinya sendiri,

Arah panah mengarah pada objek


yang memiliki operasi /metode, karena
ini memanggil operasi/ metode maka
operasi/metode yang dipanggil harus
ada pada diagram kelas sesuai dengan
kelas objek yang berinteraksi
29

Pesan tipe send Menyatakan bahwa suatu objek


mengirim data/ masukan / informasi
ke objek lainya, arah panah mengarah
pada objek yang dikirimi.

Pesan tipe return Menyatakan bahwa suatu objek yang


telah menjalankan suatu operasi atau
metode menghasilkan suatu kembalian
ke objek tertentu, arah panah
mengarah pada objek yang menerima
kembalian.

Pesan tipe destroy Menyatakan suatu objek mengakhiri


hidup objek yang lain, arah panah
mengarah pada objek yang diakhiri,
sebaiknya jika ada create maka ada
destroy.

2.2.2.4. Use Case Diagram

Use Case Diagram merupakan pemodelan untuk kelakuan (behavior)

sistem informasi yang akan dibuat (sukamto dan shalahuddin, 2014:155). Use

Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem

informasi yang dibuat. Menurut sukamto dan shalahuddin (2014:156) simbol-

simbol yang digunakan dalam pembuatan Use Case Diagram adalah:


30

Tabel II.5

Simbol-simbol pada Use Case Diagram

Simbol Deskripsi
Use Case Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar
pesan antar unit atau aktor.
Nama use case

Aktor / actor Orang, proses atau sistem lain yang


berinteraksi dengan sistem informasi
yang akan dibuat diluar sistem informasi
yang akan dibuat itu sendiri.

Asosiasi / association Komunikasi antar aktor dan use case yang


berpartisipasi pad use case atau use case
memiliki interaksi dengan aktor.

Ekstensi / Extend Relasi use case tambahan ke sebuah use


case dimana use case yang ditambahkan
dapat berdiri sendiri walau tanpa use
case tambahan.

Generalisasi/ generalization Hubungan generalisasi dan spesialisasi


(umum-khusus) antara dua buah use case
dimana fungsi yang satu adalah fungsi
yang lebih umum dari lainya

Menggunakan /include /uses 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.

2.2.3. Pengujian Program

Pengujian menyajikan anomali yang menarik bagi perekayasa perangkat

lunak. Pada proses perangkat lunak, perekayasa pertama-tama berusaha

membangun perangkat lunak dari konsep abstrak ke implementasi yang dapat


31

dilihat, baru dilakukan pengujian. Perekayasa menciptakan sederetan test case yang

dimaksudkan untuk “membongkar” perangkat lunak yang sudah dibangun. Pada

dasarnya pengujian merupakan salah satu langkah dalam proses rekayasa perangkat

lunak yang dianggap sebagai hal yang destruktif daripada konstruktif. Pengujian

Black-box berfokus pada persyaratan fungsional perangkat lunak. Dengan

demikian, pengujian black-box memungkinkan perekayasa peangkat lunak

mendapatkan serangkaian kondisi input yang sepenuhnya semua persyaratan

fungsional untuk suatu program. Pengujian black-box berusaha menemukan

kesalahan dalam kategori sebagai berikut:

1. Fungsi-fungsi yang tidak benar atau hilang.

2. Kesalahan Interface.

3. Kesalahan dalam struktur data atau akses database eksternal.

4. Kesalahan kinerja.

5. Inisialisasi dan kesalahan terminasi.

Anda mungkin juga menyukai