Anda di halaman 1dari 43

BAB II

LANDASAN TEORI

2.1 Definisi Rancang Bangun


Rancang adalah kegiatan yang memiliki tujuan untuk mendesain
sistem baru yang dapat menyelesaikan masalah-masalah yang dihadapi
perusahaan yang diperoleh dari pemelihan alternatif sistem yang terbaik.
Sedangkan bangun adalah kegiatan menciptakaan sistem baru maupun
mengganti atau memperbaiki sistem yang telah ada baik secara keseluruhan
maupun sebagian. Maka rancang bangun adalah proses pembangunan sistem
untuk menciptakan sistem baru maupun mengganti atau memperbaiki sistem
yang telah ada baik secara keseluruhan maupun hanya sebagian (Sari, 2017).
Rancang Bangun adalah suatu istilah umum untuk membuat atau mendesain
suatu objek dari awal pembuatan sampai akhir pembuatan (Alvin, 2006).
Rancang Bangun berawal dari kata desain yang artinya perancangan,
rancang, desain, bangun. Sedangkan merancang artinya mengatur,
mengerjakan atau melakukan sesuatu dan perancangan artinya proses, cara,
perbuatan merancang. Dapat disimpulkan arti kata desain adalah proses, cara
perbuatan dengan mengatur segala sesuatu sebelum bertindak atau
merancang. Dari pengertian di atas dapat disimpulkan bahwa Rancang
Bangun adalah kegiatan yang meliputi perancangan dan
pembuatan/pembangunan untuk menghasilkan sebuah sistem, aplikasi atau
program yang dapat menunjang kegiatan manusia.

2.2 Konsep Dasar Sistem Informasi


2.3.1 Pengertian Sistem
Jaringan kerja yaitu prosedur-prosedur yang berkumpul dan bersama-sama
untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu.
Sistem juga merupakan kumpulan elemen-elemen yang saling terkait dan
berkerja sama untuk memproses masukan (input) yang ditujukan kepada

8
9

sistem tersebut dan mengolah masukan tersebut sampai menghasilkan


keluaran (output) yang diinginkan (Subiyakto, Ahlan, Kartiwi, Putra, 2016).
2.3.2 Elemen Sistem
Elemen-elemen yang terdapat dalam sistem meliputi (Kristanto, 2006).:
a. Tujuan sistem
Tujuan sistem merupakan tujuan dari sistem tersebut dibuat, tujuan
sistem dapat berupa tujuan organisasi, kebutuhan organisasi,
permasalahan yang ada dalam suatu organisasi maupun urutan
prosedur untuk mencapai tujuan organisasi.
b. Batasan sistem
Batasan sistem merupakan suatu yang membatasi sistem dalam
mencapai tujuan sistem. Batasan sistem dapat berupa peraturan
peraturan yang ada dalam suatu organisasi, biaya-biaya yang
dikeluarkan orang-orang yang ada dalam organisasi maupun batasan
yang lain.
c. Kontrol sistem
Kontrol atau pengawasan sistem merupakan pengawasan terhadap
pelaksanaan pencapaian tujuan dari sistem tersebut. Kontrol sistem
dapat berupa kontrol terhadap pemasukan data (input), kontrol
terhadap keluaran data (output), kontrol terhadap pengolahan data dan
sebagainya.

d. Masukan sistem (input)


Masukan atau input merupakan energi yang dimasukkan ke dalam
sistem. Masukan dapat berupa masukan perawatan (maintenance
input) dan masukan sinyal (signal input). Maintenance input adalah
bahan yang dimasukkan agar sistem tersebut dapat beroperasi. Signal
input adalah masukan yang diproses untuk mendapatkan keluaran
(Subiyakto, Ahlan, 2014).
e. Keluaran sistem (output)
10

Keluaran (output) merupakan hasil dari pemrosesan. Keluaran dapat


berupa informasi sebagai masukan pada sistem lain atau hanya
sebagai sisa pembuangan.
f. Pengolahan sistem (process)
Pengolahan sistem (process) merupakan bagian melakukan perubahan
dari masukan untuk menjadi keluaran yang diinginkan.
g. Umpan balik
Umpan balik merupakan elemen dalam sistem yang bertugas
mengevaluasi bagian dari output yang dikeluarkan, dimana elemen ini
sangat penting demi kemajuan sebuah sistem. Umpan balik ini dapat
merupakan perbaikan sistem dan pemeliharaan sistem.

Gambar 2.1 Elemen-elemen Sistem (Kristanto, 2006)

2.3.3 Pengertian Informasi


Informasi merupakan kumpulan data yang diolah untuk penerima yang
hasilnya menjadi bentuk yang lebih berguna dan lebih berarti. Tanpa
suatu informasi, suatu sistem tidak akan berjalan dengan lancar.
Sumber informasi adalah data. Data menggambarkan suatu kejadian
yang sedang terjadi, dimana data tersebut akan diolah dan diterapkan
dalam sistem menjadi input yang berguna dalam suatu sistem
(Subiyakto, Septiandani, et al., 2017)
11

2.3.4 Siklus Informasi


Siklus informasi merupakan nama lain dari model pengolahan data.
Suatu data yang masih merupakan bahan mentah apabila tidak diolah
maka akan tidak berguna. Data tersebut akan berguna dan
menghasilkan suatu informasi apabila diolah melalui model. Model
yang digunakan untuk mengolah data ini disebut model pengolahan
data (Kristanto, 2006).

Gambar 2.2 Elemen-elemen Sistem (Kristanto, 2006)

2.3.5 Kualitas Informasi


Suatu kualitas informasi merupakan salah satu syarat penting yang
harus diperhatikan karena tingkat nilai guna suatu informasi ditentukan
oleh kualitas informasi itu sendiri (Jogiyanto, 2008), kualitas informasi
tergantung pada tiga hal:
1. Akurat, informasi harus bebas dari kesalahan-kesalahan dan
tidak bias atau menyesatkan.
2. Tepat waktu, informasi yang akan disajikan tidak terlambat
atau harus up to date
3. Relevan, informasi harus sesuai dengan kenyataan dan
mempunyai manfaat untuk pemakainya.

2.3.6 Pengertian Sistem Informasi


Sistem informasi, merupakan kumpulan dari perangkat keras dan
perangkat lunak komputer serata perangkat manusia yang mengolah
data menggunakan perangkat keras dan perangkat lunak tersebut
12

(Kristanto, 2006). Sistem informasi merupakan pengaturan orang, data,


proses dan teknologi informasi yang berinteraksi untuk
mengumpulkan, memproses, menyimpan dan menyediakan sebagai
proses output informasi yang diperlukan untuk mendukung sebuah
organisasi (Lonnie Bentley dan Jeffrey Whitten, 2007).

2.3.7 Komponen Sistem Informasi


Untuk mendukung lancarnya suatu sistem informasi dibutuhkan
beberapa komponen yang meliputi (Kristanto, 2006):
1. Input
Input yang dimasukan disini adalah semua data yang dimasukan
ke dalam sistem informasi. Dalam hal ini yang termasuk dalam
input adalah dokumen-dokumen, formulir, dan berkas.
2. Proses
Proses merupakan kumpulan prosedur yang akan memanipulasi
input yang kemudian akan disimpan dalam bagian basis data dan
seterusnya akan diolah menjadi output yang akan digunakan oleh
penerima.
3. Output
Output merupakan keluaran atau hasil model yang sudah diolah
menjadi informasi yang berguna dan dapat dipakai oleh
penerima.

4. Teknologi
Teknologi disini merupakan bagian yang berfungsi untuk input,
mengolah input, menghasilkan output.
5. Basis data
Basis data merupakan kumpulan data yang saling berhubungan
satu dengan yang lain, disimpan dalam perangkat keras komputer
dan akan diolah menggunakan perangkat lunak.
6. Kendali
13

Kendali dalam hal ini merupakan semua tindakan yang diambil


untuk menjaga sistem informasi tersebut agar bisa berjalan
dengan lancar dan tidak mengalami gangguan.

2.3 Definisi Aktivasi


Pengertian Aktivasi secara sederhana ialah untuk menjadikan sesuatu
aktif. Salah satu ruang lingkup yang melibatkan proses aktivasi dalam
kehidupan sehari-hari ialah ketika melakukan pendaftaran dan kemudian
harus melakukan aktivasi atau membuat aktif akun tersebut.
Salah satu contoh proses yang memerlukan aktivasi ialah ketika
membuat email. Jika membuat email, maka harus melakukan aktivasi setelah
proses verifikasi selesai dilakukan. Proses tersebut harus dilakukan agar bisa
menggunakan fasilitas atau akun email tersebut. (http://www.
rocketmanajemen.com)

2.4 Definisi Internet


Internet (interconnection networking) adalah jaringan komunikasi
global yang terbuka dan menghubungkan jutaan bahkan milyaran jaringan
komputer dengan berbagai tipe dan jenis, dengan menggunakan tipe
komunikasi seperti telepon, satelit dan lain sebagainya. Awalnya internet
merupakan jaringan komputer yang dibentuk oleh Departemen Pertahanan
Amerika Serikat pada tahun 1969 melalui sebuah proyek yang disebut dengan
ARPANET. Misi awal dari proyek ini awalnya hanya untuk keperluan militer
saja, tetapi lambat laun terus berkembang dan bisa dinikmati oleh semua
kalangan.
Pada awal perkembangannya, Departemen Pertahanan Amerika
Serikat (US Department of Defense) membuat sebuah jaringan yang bertujuan
untuk menghubungkan komputer-komputer yang ada di berbagai daerah,
sehingga memungkinkan penyimpanan data di banyak tempat dan jika terjadi
kondisi perang, data yang dimiliki oleh Amerika tidak mudah bocor ke
tempat lain.
14

Terciptanya internet telah membawa perubahan yang sangat berarti


dalam berbagai aspek kehidupan manusia. Selain itu, internet juga telah
melahirkan dunia baru yang memiliki pola, corak sekaligus karakteristik yang
berbeda dengan dunia nyata. (https://www.nesabamedia.com).

2.5 Definisi Pelanggan


Pelanggan atau langganan adalah individu atau rumah tangga,
perusahaan yang membeli barang jasa yang dihasilkan dalam ekonomi.
Secara spesifik, pengertian pelanggan adalah seseorang yang terbiasa untuk
membeli barang pada sebuah toko tertentu. Pelanggan juga sering disebut
dengan klien, nasabah atau juga pasien tergantung pada sifat industri atau
budaya.
Definisi pelanggan lainnya yaitu, pelanggan adalah orang yang
melakukan pembelian suatu produk dan melakukan interaksi pada periode
waktu tertentu untuk memenuhi kebutuhannya. Pengertian kebutuhan
pelanggan adalah barang atau jasa yang dibutuhkan untuk mencapai tujuan
tertentu, setiap pelanggan memiliki kebutuhan yang berbeda tingkatan dan
pengharapan biasanya dipengaruhi oleh nilai-nilai budaya, iklan, pemasaran,
serta bentuk komunikasi lainnya. (http://www.pelajaran.co.id)

2.6 Metode Pengembangan Sistem


2.7.1 SDLC (Software Development Life Cycle)
SDLC atau Software Development Life Cycle atau sering disebut juga
System Development Life Cycle 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 (Kendall and Kendall, 2008).

2.7.2 Waterfall
15

Gambar 2.3 Metode Pengembangan Waterfall

Waterfall adalah sebuah pendekatan pengembangan perangkat lunak


yang sistematik dan sekuensial. System atau Information Engineering adalah
bagian dari sistem yang terbesar dalam pengerjaan suatu aplikasi.
Menetapkan berbagai kebutuhan semua elemen yang diperlukan sistem dan
mengalokasikannya ke dalam pembuatan perangkat lunak.
Tahapan-tahapan dalam model pengembangan ini adalah:
1. Analisis
Analisis merupakan tahap menganalisa hal-hal yang diperlukan dalam
pelaksanaan pembuatan aplikasi perangkat lunak.
2. Design
Design adalah tahap dimana perangkat lunak secara aktual merupakan
beberapa langkah proses yang berfokus pada empat buah atribut berbeda
dari program, yaitu struktur data, arsitektur perangkat lunak, representasi
antarmuka dan detail procedural (algoritma).

3. Coding
Coding merupakan tahap dimana hasil desain harus ditranslasikan ke
dalam bentuk yang dimengerti oleh mesin, dalam hal ini bahasa
16

pemrograman. Jika desain dilakukan dalam cara yang detail, pembuatan


kode dapat dikerjakan secara mekanistik.
4. Testing
Testing adalah tahap pengujian program yang sudah dibuat. Proses testing
difokuskan pada logika internal dari perangkat lunak, memastikan bahwa
semua stetment telah diuji dan pada eksternal fungsional.
Kelebihan dan kekurangan waterfall yaitu:
1. Kelebihan
a. Merupakan model pengembangan paling handal dan paling lama
digunakan.
b. Cocok untuk system software berskala besar.
c. Cocok untuk system software yang bersifat generic.
d. Pengerjaan project system akan terjadwal dengan baik dan mudah
dikontrol.
2. Kekurangan
a. Persyaratan system harus digambarkan dengan jelas.
b. Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
c. Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu
tahapan pengembangan

2.7.3 Rapid Application Development (RAD)

Gambar 2.4 Rapid Application Development


17

Rapid Application Development atau lebih dikenal RAD merupakan


metode yang memfokuskan pada kecepatan dalam pengembangan sistem
untuk memenuhi kebutuhan pengguna atau pemilik sistem seperti prototyping
namun mempunyai cakupan yang lebih luas (Prof. Dr. Sri Mulyani, 2016).
RAD mengadopsi teknik waterfall dan prototyping yang
menggunakan
manajemen, metode dan tools yang cukup kompleks, selain itu pengembang
yang menggunakan teknik ini harus merupakan pengembang yang
professional.
Yang membedakan antara waterfall dengan RAD adalah dimana pada
Teknik waterfall pengguna atau pemilik sistem akan ikut berpartisipasi dalam
tahap cutover sedangkan pada RAD pada tahap construction. Sehingga proses
cutover lebih cepat, sedangkan untuk urutan tahap pada RAD sama dengan
waterfall.
RAD meliputi komponen berikut :
1. Manajemen
Yaitu orang-orang yang berada pada level manajemen yang bisa
beradaptasi dengan cepat untuk menggunakan metode baru.
2. Pengembang
Yaitu tim pengembang sistem yang profesional dalam
menggunakan metode-metode pengembangan sistem dan tools
yang dibutuhkan.
3. Metode
Metode RAD yang dikenal dengan RAD Life Cycle.
4. Tools
Yaitu Computer-Aided Software Engineering (CASE) dan
Generation Language yang bisa memfasilitasi untuk pembuatan
prototype dan pembuatan kode program.
18

2.7.4 Prototyping

Gambar 2.5 Metode Pengembangan Prototyping

Prototyping merupakan teknik pengembangan sistem yang


menggunakan prototype untuk menggambarkan sistem. Sehingga pengguna
atau pemilik sistem mempunyai gambaran pengembangan sistem yang akan
dilakukannya. Metode ini sering digunakan oleh pemilik sistem yang tidak
terlalu menguasai sistem yang sedang dikembangkan. Pengembang membuat
prototype-nya terlebih dahulu (Prof. Dr. Sri Mulyani, 2016).
McLeod dan Schell mendefinisikan dua tipe dari prototype yaitu:
1. Evolutionary Prototype
Evolutionary Prototype yaitu, prototype yang secara terus menerus
dikembangkan hingga prototype tersebut memenuhi fungsi dan
prosedur yang dibutuhkan oleh sistem.
Tahapan-tahapan dari metode Evolutionary Prototype sebagai
berikut :
a. Analisis kebutuhan user
Pengembang dan pengguna atau pemilik sistem melakukan
diskusi dimana pengguna atau pemilik sistem menjelaskan
kepada pengembang tentang kebutuhan sistem yang mereka
inginkan.
19

b. Membuat prototype
Pengembangan membuat prototype dari sistem yang telah
dijelaskan oleh pengguna atau pemilik sistem.
c. Menyesuaikan prototype dengan keinginan user
Pengembang menanyakan kepada pengguna atau pemilik
sistem tentang prototype yang sudah di buat, apakah sesuai
atau tidak dengan kebutuhan sistem.
d. Menggunakan prototype
Sistem mulai dikembangkan dengan prototype yang sudah
dibuat.
2. Requirements Prototype
Requirements Prototype adalah prototype yang dibuat oleh
pengembangan dengan mendefinisikan fungsi dan prosedur sistem
dimana pengguna atau pemilik sistem tidak bisa mendefinisikan
sistem tersebut. Langkah-langkah dari requirements prototype
sebagai berikut:
a. Analisis kebutuhan user
Pengembangan dan pengguna atau pemilik sistem melakukan
diskusi dimana pengguna atau pemilik sistem menjelaskan
kepada pengembang tentang kebutuhan sistem yang mereka
inginkan.
b. Membuat prototype
Pengembang membuat prototype dari sistem yang telah
dijelaskan oleh pengguna atau pemilik sistem.
c. Menyesuaikan prototype dengan keinginan user
Pengembang menanyakan kepada pengguna atau pemilik
sistem tentang prototype yang sudah dibuat, apakah sesuai
atau dengan kebutuhan sistem.
d. Membuat sistem baru
20

Pengembang menggunakan prototype yang sudah dibuat untuk


membuat sistem baru.
e. Melakukan testing sistem
Pengguna atau pemilik sistem melakukan uji coba terhadap
sistem yang dikembangkan.
f. Menyesuaikan dengan keinginan
Sistem disesuaikan dengan keinginan user dan kebutuhan
sistem, jika sudah sesuai sistem siap digunakan.
g. Menggunakan sistem
Sistem yang telah sesuai dan telah dibuat digunakan oleh
pengguna atau pemilik sistem.

2.7 Konsep Basis Data


Basis data (database) adalah kumpulan data yang disimpan secara
sistematis di dalam komputer yang dapat diolah atau dimanipulasi
menggunakan perangkat lunak (program aplikasi) untuk menghasilkan
informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data,
struktur data dan juga batasan-batasan pada data yang akan disimpan. Basis
data merupakan aspek yang sangat penting dalam sistem informasi karena
berfungsi sebagai gudang penyimpanan data yang akan diolah lebih lanjut.
Basis data menjadi penting karena dapat mengorganisasi data, menghidari
duplikasi data, menghindari hubungan antar data yang tidak jelas dan juga
update yang rumit (https://www.termasmedia.com).

2.8.1 DBMS (Data Base Management System)


Proses memasukkan dan mengambil data ke dan dari media
penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem
manajemen basis data (Database Management System). DBMS merupakan
sistem perangkat lunak yang memungkinkan pengguna basis data (database
user) untuk memelihara, mengontrol dan mengakses data secara praktis dan
efisien. Dengan kata lain, semua akses ke basis data akan ditangani oleh
21

DBMS. DBMS ini menjadi lapisan yang menghubungkan basis data dengan
program aplikasi untuk memastikan bahwa basis data tetap terorganisasi
secara konsisten dan dapat diakses dengan mudah.
Ada beberapa fungsi yang harus ditangani DBMS seperti mengolah
pendefinisian data, menangani permintaan pengguna untuk mengakses data,
memeriksa keamanan dan integritas data yang didefinisikan oleh DBA
(Database Administrator), menangani kegagalan dalam pengaksesan data
yang disebabkan oleh kerusakan sistem maupun media penyimpanan (disk)
dan juga menangani unjuk kerja semua fungsi secara efisien.
Tujuan utama DBMS adalah untuk memberikan tinjauan abstrak data
kepada pengguna. Jadi, sistem menyembunyikan informasi tentang
bagaimana data disimpan, dipelihara dan juga bisa diakses secara efisien.
Pertimbangan efisien di sini adalah rancangan struktur data yang kompleks
tetapi masih bisa digunakan oleh pengguna awam tanpa mengetahui
kompleksitas strukturnya (https://www.termasmedia.com).
1. Kelebihan DBMS
a. Performa dalam pengolahan data sangat baik bahkan untuk
mengelola data yang berukuran besar sekalipun. Berbeda halnya
dengan metode penyimpanan data dalam bentuk file dan
spreadsheet, kedua metode ini hanya bisa bekerja optimal apabila
digunakan untuk penyimpanan data yang berukuran kecil.
b. Integritas data lebih terjamin dengan penggunaan
DBMS. DBMS mampu mencegah terjadinya redudansi data,
dimana redudansi data adalah bertumpuknya file yang sama
dalam sebuah basis data.
c. DBMS bersifat independensi. Maksudnya adalah ketika harus
dilakukan perubahan struktur database maka aplikasi antarmuka
tidak akan mengalami hal serupa. Perubahan cukup dilakukan
pada struktur databasenya saja tanpa harus mengubah struktur
dalam aplikasi antarmuka.
22

d. DBMS bersifat terpusat. Maksudnya adalah ketika sebuah


database digunakan secara bersama-sama, maka akan lebih
mudah apabila database tersebut disimpan pada satu tempat. Dan
dengan menggunakan DBMS, hal tersebut sangat memungkinkan
untuk dilakukan. Berbeda halnya apabila menggunakan metode
penyimpanan bentuk file dan spreadsheet yang harus disimpan
pada setiap komputer yang membutuhkan akses ke database
tersebut.
e. Sistem keamanan data dalam database akan lebih terjamin
dengan penggunaan DBMS. Karena memungkinkan untuk
melakukan pengaturan hak akses kepada masing-masing user
(http://www.mandalamaya.com).

2. Kekurangan DBMS
a. Memperoleh perangkat lunak yang mahal (teknologi DBMS,
operation, conversation, planning, risk). DBMS mainframe
masih sangat mahal. DBMS berbsais mikro biayanya mencapai
ratusan dolar, dapat menggambarkan suatu organisasi yang
kecil secara berarti.
b. Memperoleh konfigurasi perangkat keras yang besar. DBMS
sering memerlukan kapasitas penyimpanan primer dan sekunder
yang lebih besar daripada yang diperlukan program aplikasi
lain.
c. Mempekerjakan dan mempertahankan staf DBA DBMS
memerlukan pengetahuan khusus agar dapat memanfaatkan
kemampuan secara penuh. Pengetahuan ini paling baik
diberikan oleh pengelola database.
(https://www.teorikomputer.com)

3. Contoh Program DBMS


a. MySQL
23

b. Oracle
c. Microsoft SQL Server
d. SAP Sybase ASE
e. IBM DB2
f. Teradata
g. ADABAS
h. Filemaker
i. Informix
j. Microsoft Access (http://dosenit.com).

2.8.2 ERD (Entity Relationship Diagram)


Menurut Fathansyah (2012:79), ERD adalah diagram yang
memperlihatkan entitas-entitas yang terlibat dalam suatu sistem serta
hubungan-hubungan atau relasi antar entitas tersebut. Model Entity-
Relationship yang masing-masing dilengkapi dengan atribut-atribut yang
mempersentasikan seluruh data dari “dunia nyata” yang ditinjau, dapat
digambarkan dengan lebih sistematis dengan menggunakan diagram Entity-
Relationship. (http://eprints.radenfatah.ac.id)
ERD untuk memodelkan struktur data dan hubungan antar data, untuk
menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya
ada 3 komponen yang di gunakan dalam ERD, yaitu:
1. Entitas
Entitas  merupakan objek yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Simbol dari entity ini biasanya
digambarkan dengan persegi panjang. 

Gambar 2.6 Simbol Entitas


24

2. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang
berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi
dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi
elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol
elips.

Gambar 2.7 Simbol Atribut

a. Atribut Key
Atribut Key adalah satu atau gabungan dari beberapa atribut yang
dapat membedakan semua baris data (Row/Record) dalam tabel secara
unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh
ada baris data dengan nilai yang sama. Contoh : Nomor pokok
mahasiswa (NPM), NIM dan nomor pokok lainnya.

Gambar 2.8 Atribut Key

b. Atribut Multivalue
Nilai dari suatu atribut yang mempunyai lebih dari satu (multivalue)
nilai dari atribut yang bersangkutan. Contoh : dari sebuah buku, yaitu
terdapat beberapa pengarang.

Gambar 2.9 Atribut Multivalue


25

c. Atribut Composite
Atribut composite adalah suatu atribut yang terdiri dari beberapa
atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah
dipecah lagi atau mempunyai sub attribute. Contoh : dari entitas nama
yaitu nama depan, nama tengah, dan nama belakang.

Gambar 2.10 Atribut Multivalue


d. Atribut Derivatif
Atribut yang tidak harus disimpan dalam database Ex. Total. atau
atribut yang dihasilkan dari atribut lain atau dari suatu relationship.
Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-
putus.

Gambar 2.11 Atribut Derivatif

3. Hubungan/Relasi
Relasi menunjukkan adanya hubungan antara sejumlah entitas yang
berasal dari himpunan entitas yang berbeda (http://brainytutorial.com).

Gambar 2.12 Simbol Relasi

2.8.3 Derajat Relasi/Cardinality


26

Cardinality/derajat relasi mewakili hubungan maksimum yang terjadi


antara satu entitas (dalam hal ini bisa dikatakan sebagi obyek) terhadap
entitas lain. Disamping itu, ada pula yang disebut derajat relasi minimum,
yang menunjukkan hubungan minimum yang boleh terjadi dalam sebuah
relasi antar entitas (http://dinus.ac.id).
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang
dapat berelasi dengan entitas pada himpunan entitas lain. Macam Kardinalitas
ada 3 yaitu :
1. Satu ke Satu (One to One )
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada
entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian
pada entitas yang kedua dan sebaliknya. Yang berarti setiap tupel pada
entitas A berhubungan dengan paling banyak satu tupel pada entitas B,
dan begitu pula sebaliknya.

Gambar 2.13 Kardinalitas Satu ke Satu (One to One)

2. Satu ke Banyak (One to Many)


Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu.
Tergantung dari mana hubungan tersebut dilihat. Untuk satu kejadian
pada entitas pertama dapat mempunyai banyak hubungan dengan
kejadian pada entitas yang kedua, dan sebaliknya.
3. Banyak ke satu (Many to One)
Yang berarti setiap tupel pada entitas A dapat berhubungan dengan
paling banyak satu tupel pada entitas B, tetapi tidak sebaliknya

Gambar 2.14 Kardinalitas Satu ke Banyak (One to Many)

4. Banyak Ke Banyak (Many to Many)


27

Tingkat hubungan kebanyakan terjadi jika tiap kejadian pada setiap


entitas akan memepunyai banyak hubungan dengan kajadian pada
entitas lainnya. Baik dilihat dari sisi entitas yang pertama, maupun
dilihat dari sisi yang kedua. Yang berarti setiap tupel pada entitas A
dapat berhubungan banyak tupel pada entitas B, dan demikian
sebaliknya (http://dinus.ac.id).

Gambar 2.15 Kardinalitas Banyak ke Banyak (Many to Many)

2.8.4 Transformasi ERD ke LRS


Transformasi diagram ERD ke LRS merupakan suatu kegiatan untuk
membentuk data-data dari diagram hubungan entitas ke suatu LRS. Ada tiga
kemungkinan hubungan atau cardinality yang terjadi, yaitu
(http://digdyo.com) :
1. Satu ke satu (one to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas
A berhubungan paling banyak dengan satu entitas pada himpunan
elemen B.

Gambar 2.16 one to one

2. Satu ke banyak (one to many)


Setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas
pada entitas B dapat berhubungan dengan satu entitas pada himpunan
entitas A.
28

Gambar 2.17 one to many

3. Banyak ke banyak (many to many)


Setiap entitas pada himpunan entitas A dapat berhubungan
dengan banyak entitas pada himpunan entitas B.

Gambar 2.18 many to many

2.8.5 LRS (Logical Record Structured)


Menurut Hasugian dan Shidiq (2012:608), memberikan batasan
bahwa LRS (Logical Record Structure) adalah sebuah model sistem yang
digambarkan dengan sebuah diagram-ER akan mengikuti pola atau aturan
pemodelan tertentu dalam kaitannya dengan konversi ke LRS
(http://karyatulisilmiah.com).

1. Rancangan LRS

Gambar 2.19 Rancangan layar


2. Simbol-simbol LRS
a. Terminator
Permulaan atau akhir program
29

Gambar 2.20 simbol terminator

b. Garis alir (Flow line)


Arah aliran program

Gambar 2.21 Simbol flow line


c. Preparation
Proses inisialisasi atau pemberian harga awal

Gambar 2.21 Simbol preparation


d. Proses
Proses perhitungan atau proses pengolahan data

Gambar 2.22 Simbol proses


e. Input/output data
Proses input/output data, parameter, informasi

Gambar 2.23 Input/output data


f. Decision
30

Perbandingan pernyataan, penyeleksian data yang memberikan


pilihan untuk langkah selanjutnya

Gambar 2.24 Simbol decision

g. One page connector


Penghubung bagian-bagian flowchart yang berada pada satu
halaman

Gambar 2.25 Simbol one page connector


h. Off page connector
Penghubung bagian-bagian flowchart yang berada pada halaman
berbeda

Gambar 2.26 Simbol off page connector

2.8.6 Tipe Data


1. Char
Tipe data char memiliki panjang yang tetap, jika kita
mendefenisikan suatu kolom bernilai char (25) maka ada 25
karakter yang akan disimpan. Jika data yang kita masukkan jumlah
karakternya kurang dari 25, maka SQL Server akan
menambahinnya dengan spasi hingga jumlahnya sama dengan 25.
Gunakan tipe data char untuk kolom-kolom yang ukurannya pasti
(misalnya NIM_Mahasiswa).
31

2. Nchar
Tipe data nchar sesungguhnya serupa dengan char, tetapi yang
disimpan didalamnya adalah karakter-karakter ANSI. Format
unicode memiliki himpunan karakter lebih banyak dari format
ANSI. Format ANSI memiliki paling banyak 256 karakter,
sementara format unicode memiliki paling sedikitnya 65.536
karakter. Tipe data unicode menggunakan ruang penyimpanan
yang lebh besar dari tipe data ANSI. kenyataanya, SQL Server
secara internal menggandakan ruang yang digunakannya.
3. Varchar
Tipe data varchar menyimpan data alfanumerik seperti char.
Bedanya adalah bahwa masing-masing baris (record) menyimpan
sejumlah karakter yang berbeda hingga maksimal panjang yang
didefenisikan sebelumnya. Jika suatu kolom didefenisikan sebagai
varchar (50), ini berarti data dalam kolom menyimpan paling
banyak 50 karakter, jika kita hanya menyimpan string sepanjang 3
karakter, maka hanya 3 karakter inilah yang disimpan. Tipe data
varchar ini sesuai untuk data-data yang tidak memiliki panjang
data yang spesifik (misalnya nama atau deskripsi barang). Ukuran
maksimum varchar adalah 8000 karakter. Meski demikian, jika
kita mendefenisikan suatu kolom varchar tanpa ukurannya
(misalnya varchar ()), panjangnya secara default akan ditentukan
sebagai I.
4. Nvarchar
Tipe data nvarchar didefenisikan dengan cara yang serupa dengan
varchar, kecuali bahwa nvarchar digunakan untuk karakter-
karakter unicode dengan demikian ukurannya digandakan.
5. Text
Tipe data text dapat menyimpan data yang panjangnya lebih dari
8000 karakter.
6. Ntext
32

Berupa dengan tipe data text, hanya saja yang disimpan adalah
karakter-karakter unicode.
7. Image
Mirip dengan tipe data text, kecuali bahwa ia digunakan untuk tipe
data binary, yang mencakup gambar, video, musik, dan
sebagainya.
8. Int atau integer
Digunakan untuk menyimpan data-data bernilai numeric yang
tidak memiliki titik decimal (bilangan bulat). Rentang nilai untuk
int adalah -2,147,483,648, hingga 2,147,483,647. Sementara itu
bigint atau big integer memiliki rentang nilai antara -
9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807.
Satu jenis bilangan bulat lainnya adalah smallint. Tipe data
smallint menyimpan nilai bilangan bulat antara -32,768 hingga
32,767. Sementara itu Tiny int atau Tiny integer mirip dengan
smallint, kecuali bahwa nilai yang disimpannya kecil sekali (0
hingga 255).
9. Decimal atau numeric
Tipe data decimal dan numeric merupakan tipe-tipe data yang
digunakan untuk menyimpan data numeric bertitik decimal.
Keduanya memiliki rentang dan tingkat ketelitian yang sama.
Rentang nilai mulai -1,0 x 1038 + 1 hingga 1,0 x 1038 - 1. Nilai ini
tidak bisa menyimpan nilai sebesar 38 digit di kanan dan di kiri
titik decimal. Kita hanya bisa menyimpan nilai-nilai dengan
panjang keseluruhan 38 digit. Dengan demikian, semakin besar
tingkat ketelitian di sebelah kanan titik decimal, semakin kecil nilai
pangkatnya dan sebaliknya.
10. Float
Tipe data float digunakan untuk bilangan-bilangan dimana titik
decimal tidak pasti. Tipe data float menyimpan bilangan-bilangan
33

yang sangat besar dengan rentang nilai antara 1.79E + 308 hingga
1.79E – 308.
11. Money
Tipe data money digunakan untuk menyimpan nilai-nilai numeric
dengan 4 potongan decimal. Rentang nilai yang diperkenankan
untuk data-data bertipe data money adalah antara
922,337,685,477.5808 hingga 922,337,203,685,477.5807. Jika kita
perlu menyimpan symbol mata uang (misalnya $ untuk USD dollar,
Rp untuk rupiah, dan sebagainya), maka kita perlu menyimpannya
secara terpisah sebab tipe data money tidak bisa menyimpan
simbol-simbol mata uang.
12. Smallmoney
Tipe data smallmoney mirip dengan tipe data money, kecuali
rentang nilainya hanya antara 214,748.3648 hingga 214,748.3647.
13. Date
Tipe data date dikembangkan untuk menyimpan data-data tanggal
1 Januari Masehi (tahun 0) hingga 31 Desember 9999. Formatnya
adalah YYYY-MM-DD.
14. Datetime
Tipe data datetime menyimpan tanggal dan waktu dari 1 Januari
1753 hingga 31 Desember 9999. Perhatikan bahwa tipe data
datetime, tidak hanya menyimpan data tanggal, tetapi juga
waktunya.
15. Datetime2
Tipe data datetime2 mirip dengan tipe data datetime.
Perbedaaanya, tipe data datetime2 memiliki ketelitian waktu yang
lebih tinggi (hingga fraksi detik). Formatnya adalah YYYY-MM-
DD hh:mm:ss[.nnnnnn].
16. Smalldatetime
34

Tipe data smalldatetime mirip dengan tipe data datetime, kecuali


rentang nilainya lebih kecil, yaitu 1 Januari 1900 hingga 6 Juni
2079.
17. Time
Tipe data time menyimpan data-data waktu dalam basis 24 jam.
Formatnya adalah hh:mm:ss[nnnnnn].
18. Rowversion
Tipe data rowversion sesungguhnya bukan benar-benar tipe data
yang dapat digunakan oleh pengguna basis data. Tipe data
rowversion digunakan untuk kolom-kolom yang tidak harus diisi.
Tipe data rowversion digunakan untuk menyimpan bilangan-
bilangan biner yang dihasilkan oleh SQL Server, yang merupakan
bilangan yang sifatnya unik untuk masing – masing baris dalam
basis data . Setiap saat suatu baris (record) dimodifikasi, kolom
yang bertipe data rowversion ini akan dimodifikasi sedemikian
rupa sehingga mencerminkan waktu terjadinya modifikasi.
19. Timestamp
Tipe data timestamp mirip dengan rowversion kecuali bahwa tipe
data timestamp memiliki kompatibilitas mundur dengan versi-versi
SQL Server sebelumnya.
20. Uniqueidentifier
Tipe data uniqueidentifier menyimpan GUID (Globally Unique
Identifier) yang mirip dengan timestamp, dalam arti bahwa GUID
dihasilkan secara otomatis oleh SQL Server saat terjadinya
penyisipan atau penambahan serta modifikasi suatu baris (record).
21. Binary
Tipe data binary digunakan untuk menyimpan data dalam format
binary (misalnya gambar, audio, video, berkas-berkas,music, dan
sebagainya).
22. Varbinary
35

Tipe data varbinary mirip dengan tipe data binary, kecuali ukuran
penyimpanan fisik perbarisnya berbeda-beda, bergantung nilai
yang disimpan di dalamnya. Dalam hal ini, tipe data varbinary
(max) mampu menyimpan nilai-nilai lebih dari 8000 karakter dan
pada umumnya digunakan untuk meyimpan data-data berukuran
besar (misalnya gambar).
23. Bit
Tipe data bit menyimpan nilai-nilai 0 atau 1. Pada umumnya tipe
data bit digunakan untuk menentukan nilai true (1) atau false (0).
24. Xml
Tipe data xml, tersirat dari namanya, digunakan untuk menyimpan
data-data berformat XML (eXtended Markup Language).
25. Cursor
Data-data dapat disimpan dalam memori residen (tetap berada di
memori saat SQL Server aktif), dimana jika hal ini terjadi,
penampungnya dinamakan sebagai kursor (cursor). Kursor
sesungguhnya cukup mirip dengan table, memiliki baris dan
kolom, tetapi kesamaannya berhenti disini. Indeks , misalnya tidak
dapat diterapkan pada kursor.
26. Table
Tipe data table mirip dengan kursor (cursor) dan sebuah tabel
(table). Ia juga menyimpan baris dan kolom, dan juga tidak bisa
diindeks. Tipe data table (dan juga kursor) bersifat khusus.
27. Sql_variant
Dalam SQL Server, merupakan hal yang mungkin untuk memiliki
tipe data yang dapat menyimpan beberapa tipe data sekaligus,
dimana hal ini digunakan pada saat kita belum merasa yakin
tentang tipe data yang akan kita gunakan. Jika hal ini terjadi, kita
bisa menggunakan tipe data sql_variant ini (http://pasmata.com).

2.8.7 Normalisasi
36

Normalisasi adalah proses pengelompokan atribut data yang


membentuk entitas sederhana, non-redundant, fleksibel, dan mudah
beradaptasi. Sehingga dapat dipastikan bahwa database yang dibuat
berkualitas baik. (http://www.transiskom.com).
Dalam beberapa kasus, meskipun kita sudah melakukan
perancangan atau pengaturan ulang tabel, terkadang tetap terjadi
anomali. Jika hal itu terjadi, normalisasi perlu dilakukan sedemikian
rupa sehingga tabel yang dihasilkan tidak memiliki anomali lagi.
Kasus lain adalah saat kita bekerja untuk sistem yang sebelumnya
sudah ada, dan kita ingin menyempurnakan atau mengembangkan
sistem basis data tersebut. Maka, normalisasi perlu dilakukan atas tabel
atau relasi yang sebelumnya sudah ada (baik yang sudah ada dalam
sistem basis data relasional atau yang masih ada dalam format
penyimpanan data yang lainnya, misalnya dalam bentuk berkas teks,
berkas lembar kerja berformat Microsoft Excell, dan sebagainya).
Normalisasi sesungguhnya dapat dipahami sebagai tahapan-
tahapan yang masing-masing berhubungan dengan bentuk normal
(bentuk yang bebas dari anomali). bentuk normal adalah keadaan tabel
(dalam terminologi sistem basis data rasional atau disebut relasi) yang
dihasilkan dengan menerapkan aturan sederhana berkaitan dengan
konsep kebergantungan fungsional (functional dependency) pada relasi
yang bersangkutan. Beberapa contoh anomali:
(http://www.transiskom.com)
1. Anomali Penyisipan (Insertion Anomaly)
Anomali penyisipan yaitu error atau kesalahan yang terjadi
sebagai akibat operasi menyisipkan tuple/record pada sebuah
relasi.
2. Anomali Penghapusan (Deletion Anomaly)
Anomali penghapusan yaitu error atau kesalahan yang terjadi
sebagai akibat operasi penghapusan terhadap tuple/record dari
sebuah relasi.
37

3. Anomali Peremajaan (Update Anomaly)


Anomali peremajaan yaitu error atau kesalahan yang terjadi
sebagai akibat operasi perubahan tuple/record dari sebuah relasi.

Normalisasi memiliki beberapa bentuk tahapan. Tahapan bentuk


normalisasi sebagai berikut :
1. Bentuk Normalisasi Pertama (1NF/First Normal Form)
Bentuk normal pertama adalah suatu bentuk relasi dimana
atribut bernilai banyak (multivalues attribute) telah dihilangkan
sehingga kita akan menjumpai nilai tunggal (mungkin saja nilai
null) pada perpotongan setiap baris dan kolom pada tabel.
2. Bentuk Normalisasi Kedua (2NF/Second Normal Form)
Semua kebergantungan fungsional (functional dependency) yang
bersifat sebagian (partial functional dependency) telah
dihilangkan. Suatu relasi dalam bentuk normal kedua, jika dia
berada dalam bentuk normal pertama (semua nilai atribut
bernilai atomic). setiap atribut bukan kunci bergantung penuh
pada kunci primer sehingga tidak ada atribut bukan kunci yang
bergantung pada sebagian (tetapi tidak seluruhnya) kunci
primer. Relasi yang berada dalam bentuk normal pertama akan
mejadi bentuk normal kedua jika salah satu kondisi dibawah ini
terpenuhi :
a. Kunci primer hanya mengandung satu atribut
b. Tidak ada atribut bukan kunci hadir pada relasi. Sehingga
semua atribut pada relasi adalah komponen dari kunci
primer.
c. Setiap atribut bukan kunci bergantung penuh pada
himpunan atau sekumpulan atribut yang berfungsi sebagai
kunci primer.
Kebergantungan fungsional sebagian (partial functional
dependency) adalah kebergantungan fungsional dimana satu
38

atau lebih atribut bukan kunci secara fungsional bergantung


pada sebagian (tetapi tidak seluruhnya) kunci primer.
Kebergantungan fungsional sebagian (partial functional
dependency) ini akan mengakibatkan anomali seperti yang
dibahas sebelumnya.
3. Bentuk Normalisasi Ketiga (3NF/Third Normal Form)
Relasi dalam bentuk normal ketiga adalah jika berada dalam
bentuk normal kedua dan tidak dijumpai kebergantungan
transitif. Kebergantungan transitif (transitive dependency) dalam
suatu relasi adalah kebergantungan fungsional antara 2 atau
lebih atribut bukan kunci.
Anomali (kesalahan logika saat perancangan basis data)
disebabkan oleh adanya kebergantungan transitif
(kebergantungan yang terjadi diantara atribut bukan kunci).
kebergantungan transitif ini dapat dengan mudah dihilangkan
dengan mendekomposisitabel menjadi 2 relasi.

4. Boyce-Codd Normal Form (BCNF/Boyce-Codd Normal Form)


Ketika relasi memiliki lebih dari 1 kunci kandidat (candidate
key), anomali masih mungkin dijumpai meskipun relasi yang
bersangkutan sudah dalam bentuk normal ketiga (3NF). Dalam
beberapa kasus yang paling umum, relasi yang sudah masuk
pada bentuk normal ketiga namun masih menyisakan anomali
akan dapat kita sempurnakan dengan membentuknya menjadi
BCNF (Boyce-Codd Normal Form).
5. Bentuk Normalisasi Keempat (4NF/Fourth Normal Form)
Ketika relasi ada dalam BCNF (Boyce-Codd Normal Form),
pada umumnya kita tidak akan menemukan lagi anomali karena
kebergantungan fungsional. Bagaimanapun juga, masih
mungkin ditemukan anomali karena kebergantungan banyak
nilai (multivalue dependencies).
39

kebergantungan banyak nilai (multivalue dependencies) yang


terjadi saat paling sedikit 3 atribut (katakanlah atribut A, B, C)
ada dalam relasi dimana untuk setiap nilai A mendefinisikan
himpunan nilai B dan nilai B mendefinisikan nilai C. Untuk
menghilangkan kebergantungan jenis ini dari relasi, kita bisa
mendekomposisi relasi menjdi 2 relasi yang baru. Setiap relasi
mengandung 2 atribut yang menyebabkan terjadinya atribut
bernilai banyak. (http://www.transiskom.com)
2.8 UML
UML adalah bahasa untuk menspesifikasi, memvisualisasi,
membangun dan mendokumentasikan artifacts (bagian dari informasi yang
digunakan untuk dihasilkan oleh proses pembuatan perangkat
lunak, artifact tersebut dapat berupa model, deskripsi atau perangkat lunak)
dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non
perangkat lunak lainnya. Selain itu UML adalah bahasa pemodelan yang
menggunakan konsep orientasi object. UML dibuat oleh Grady Booch, James
Rumbaughdan Ivar Jacobson di bawah bendera Rational Software Corps.
UML menyediakan notasi-notasi yang membantu memodelkan sistem dari
berbagai prespetktif. UML tidak hanya digunakan dalam pemodelan
perangkat lunak, namun hampir dalam semua bidang yang membutuhkan
pemodelan. (https://www.codepolitan.com)
UML digunakan untuk memodelkan suatu sistem (bukan hanya
perangkat lunak) yang menggunakan konsep berorientasi object. Dan juga
untuk menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh
manusia maupun mesin. Bagian-bagian utama dari UML adalah view,
diagram, model element, dan general mechanism.
1. View 
Digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek
yang berbeda. Beberapa jenis view dalam UML antara lain : use case
view, logical view, component view, concurrency view dan deployment
view.
40

a. Use case view mendeskripsikan fungsionalitas sistem yang


seharusnya dilakukan sesuai yang diinginkan external actors.
Actor yang berinteraksi dengan sistem dapat berupa user atau
sistem lainnya. View ini digambarkan dalam use case
diagrams  dan kadang-kadang dengan activity diagrams. View ini
digunakan terutama untuk pelanggan, perancang (designer),
pengembang (developer) dan penguji sistem (tester).
b. Logical view mendeskripsikan bagaimana fungsionalitas dari
sistem, struktur statis (class, object, dan relationship ) dan
kolaborasi dinamis yang terjadi ketika object mengirim pesan ke
object lain dalam suatu fungsi tertentu. View ini digambarkan
dalam class diagrams untuk struktur statis dan dalam state,
sequence, collaboration, dan activity diagrams untuk model
dinamisnya.  View ini digunakan untuk perancang (designer) dan
pengembang (developer).
c. Component view mendeskripsikan implementasi dan
ketergantungan modul. Komponen yang merupakan tipe lainnya
dari code module diperlihatkan dengan struktur dan
ketergantungannya juga alokasi sumber daya komponen dan
informasi administrative lainnya. View ini digambarkan dalam
component view dan digunakan untuk pengembang (developer).
d. Concurrency view membagi sistem ke dalam proses dan prosesor.
View ini digambarkan dalam diagram dinamis (state, sequence,
collaboration, dan activity diagrams) dan diagram implementasi
(component dan deployment diagrams) serta digunakan untuk
pengembang (developer), pengintegrasi (integrator) dan penguji
(tester).
e. Deployment view mendeskripsikan fisik dari sistem seperti
komputer dan perangkat (nodes) dan bagaimana hubungannya
dengan lainnya. View ini digambarkan dalam deployment
41

diagrams dan digunakan untuk pengembang (developer),


pengintegrasi (integrator) dan penguji (tester).
2. Diagram 
Diagram berbentuk grafik yang menunjukkan simbol elemen model
yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari
sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan
ketika digambarkan biasanya dialokasikan untuk view tertentu. 
3. Model Element 
4. General Mechanism (https://www.codepolitan.com)

2.9.1 Usecase Diagram


Menggambarkan sejumlah external actors dan hubungannya ke
use case yang diberikan oleh sistem. Use case adalah deskripsi fungsi
yang disediakan oleh sistem dalam bentuk teks sebagai dokumentasi
dari use case symbol namun dapat juga dilakukan dalam activity
diagrams. Use case digambarkan hanya yang dilihat dari luar oleh
actor (keadaan lingkungan sistem yang dilihat user) dan bukan
bagaimana fungsi yang ada di dalam sistem. Elemen-elemen pada use
case diagram (https://www.codepolitan.com) :
1. Actor
Mempresentasikan seseorang atau sesuatu (seperti perangkat sistem
lain) yang berinteraksi dengan sistem. Actor hanya berinteraksi
dengan use case tetapi tidak memiliki kontrol atas use case

Gambar 2.27 Simbol actor


2. Use case
42

Adalah gambaran fungsionalitas dari suatu sistem, sehingga


customer atau pengguna sistem paham dan mengerti mengenai
kegunaan sistem yang akan dibangun.

Gambar 2.28 Simbol use case


3. Association
Menghubungkan link antar element

Gambar 2.29 Simbol association


4. <<includes>>
Yaitu kelakuan yang harus terpenuhi agar sebuah event dapat
terjadi, dimana pada kondisi ini sebuah use case adalah bagian
dari use case lainnya.

Gambar 2.30 Simbol includes


2.9.2 Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan
untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi
sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case
atau interaksi. Fungsi activity diagram :
1. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah
proses
2. Memperlihatkan urutan aktifitas proses pada sistem
3. Activity diagram dibuat berdasarkan sebuah atau beberapa use
case pada use case diagrams (https://www.codepolitan.com)

Table 2. 1 Simbol activity diagram


43

SIMBOL NAMA KETERANGAN

Menggambarkan sebuah pekerjaan


Activity
atau tugas dalam workflow

Menunjukkan dimulainya suatu


Start workflow pada sebuah activity
State diagram. Start state digambarkan
dengan symbol lingkaran yang solid.

Menggambarkan akhir atau terminal


End dari pada sebuah activity diagram.
State Bisa mendapat lebih dari satu end
state pada sebuah activity diagram.

Menunjukkan kegiatan apa


State
berikutnya setelah suatu kegiatan
Transition
sebelumnya

Menggambarkan suatu titik atau


point pada activity diagrams yang
Decision mengindikasikan suatu kondisi
dimana ada kemungkinan perbedaan
transisi

Digunakan untuk menunjukan


Fork kegiatan yang dilakukan secara
parallel
44

Digunakan untuk menunjukkan


Join
kegiatan yang digabungkan

Nama Memisahkan organisasi bisnis yang


Swimlane Swimlane bertanggung jawab terhadap aktivitas
yang terjadi

2.9.3 Class Diagram


Class diagram yaitu salah satu jenis diagram pada UML yang
digunakan untuk menampilkan kelas-kelas maupun paket-paket yang
ada pada suatu sistem yang nantinya akan digunakan. Jadi diagram
ini dapat memberikan sebuah gambaran mengenai sistem maupun
relasi-relasi yang terdapat pada sistem tersebut
(https://www.codepolitan.com).

Table 2. 2 Simbol class diagram


SIMBOL NAMA KETERANGAN

Menghubungkan antara objek satu


Association
dengan objek lainnya

Upaya untuk menghindari asosiasi


Aggregation
dengan lebih dari 2 objek
45

Varian yang lebih kuat dari


“memiliki” atau hubungan asosiasi;
Composite
composite lebih spesifik daripada
agregasi.

Class Name
Atribute type Himpunan dari objek-objek yang
= initial/value Class berbagi atribut serta operasi yang
Operation sama

Deskripsi dari urutan aksi-aksi yang


Collaboration
ditampikan sistem

Ketergantungan Relasi antar kelas dengan makna


------------------
(dependence) ketergantungan antar kelas.
->

Relasi antar kelas dengan makna


Generalisasi generalisasi spesialisasi (umum
khusus).

2.9.4 Class Diagram


Rosa dan M. Shalahudin (2014:165), sequence diagram
menggambarkan kelakuan objek pada use case dengan mendeskripsikan
waktu hidup objek dengan pesan yang dikirimkan dan diterima antar
objek.
Sequence diagram digunakan untuk memberikan gambaran
detail dari setiap use case diagram yang dibuat sebelumnya. Setiap
objek yang terlibat dalam sebuah use case digambarkan dengan garis
putus-putus vertical, kemudian pesan yang dikirim oleh objek yang
digambarkan dengan garis horizontal secara kronologis dari atas ke
bawah (http://eprints.polsri.ac.id)
46

Table 2. 3 Simbol sequence diagram


SIMBOL NAMA KETERANGAN

Digambarkan dengan bentuk persegi


panjang. Entity adalah sesuatu apa
Entity saja yang ada dalam sistem, nyata
maupun abstrak dimana data
disimpan atau dimana terdapat data.

Aktor adalah seseorang atau sesuatu


diluar sistem yang harus berinteraksi
Aktor
dengan sistem

Adalah yang memodelkan interaksi


antara 1 atau lebih aktor dengan
Kelas
sistem
Boundary

Digunakan untuk memodelkan


perilaku mengatur, khusus untuk 1
Kelas
atau beberapa use case saja.
Control

Memodelkan informasi yang harus


Kelas Entitas
disampaikan oleh sistem

Spesifikasi dari komunikasi antar

Message () objek yang memuat informasi-


Message
informasi tentang aktivitas yang
terjadi
47

Boxes adalah sebuah kotak yang


tampil pada posisi paling atas
diagram, yang mewakili object,
Boxes usecase, class dan actor. Boxes
berupa objek diberikan tanda garis
bawah, objek yang tidak bernama
disebut anonymous objects

Boxes berupa class, actor atau


: Workshop Boxes berupa
usecase tidak perlu di garis bawahi.
class dan
Boxes berupa actor dapat juga
actor
digambarkan dengan stickfigure.

2.9 Software Testing


Software testing (pengujian perangkat lunak) adalah kegiatan yang
dilakukan dengan tujuan untuk menemukan kesalahan pada produk
perangkat lunak. Pengujian perangkat lunak juga bertujuan untuk
memastikan apakah produk perangkat lunak dapat berjalan dengan baik
atau tidak, dan juga memastikan apakah terdapat bugs (kerusakan) atau
tidak. Dengan kata lain, pengujian perangkat lunak adalah proses yang
digunakan untuk mengidentifikasi kebenaran, kelengkapan, dan kualitas
produk perangkat lunak yang sedang dikembangkan (Saini & Rai, 2013).

2.10 Black Box Testing


Black Box Testing (Pengujian Black Box) adalah metodologi yang
didasarkan pada pengamatan hasil dari beberapa nilai masukan, tanpa perlu
melakukan analisis terhadap kode program. Pengujian black box juga
disebut sebagai uji fungsional, karena fokus pengujian hanya pada proses
masukan dan keluaran saja. Tujuan utamanya adalah untuk memastikan
48

penerimaan masukan dan hasil keluaran dilakukan secara tepat (Gaur,


Goyal, & Choudhury, 2016).
Pengujian perangkat lunak dari segi spesifikasi fungsional tanpa
menguji desain dan kode program untuk mengetahui apakah fungsi,
masukan dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang
dibutuhkan. Metode Blackbox Testing merupakan salah satu metode yang
mudah digunakan karena hanya memerlukan batas bawah dan batas atas dari
data yang di harapkan, Estimasi banyaknya data uji dapat dihitung melalui
banyaknya field data entri yang akan diuji, aturan entri yang harus dipenuhi
serta kasus batas atas dan batas bawah yang memenuhi. Dan dengan metode
ini dapat diketahui jika fungsionalitas masih dapat menerima masukan data
yang tidak diharapkan maka menyebabkan data yang disimpan kurang valid.
Solusi praktis peningkatan akurasi perlu dilakukan segera guna memperbaiki
celah error yang telah ditemukan, selanjutnya dilakukan pengujian
keamanan secara intensif rnelalui jaringan internal (whitebox penetration
testing) secara berkala oleh System Administrator atau Pengelola Sistem
Informasi, khususnya bagi yang mengelola perangkat lunak tersebut dan
untuk mencapai tingkat akurasi, dimana semua parameter akurasi yang
terkait aspek kerahasiaan, integritas data, dan avalibilitas data dapat
terpenuhi, maka harus dipertirnbangkan metode lain yang dapa dijadikan
tolak ukur standar keamanan informasi (Cholifah, Yulianingsih, & Sagita,
2018).
Simanjuntak (2010), menyatakan bahwa black box testing
merupakan pengujian perangkat lunak yang merupakan tes fungsionalitas
dari aplikasi yang tidak mengacu pada struktur internal atau tidak
membutuhkan pengetahuan khusus pada kode program aplikasi dan
pengetahuan pemrograman. Pengujian berada di ranah spesifikasi dan
persyaratan yang seharusnya. Pengujian ini menggunakan deskripsi
eksternal perangkat lunak termasuk spesifikasi, persyaratan dan desain untuk
menurunkan uji kasus (pengujian). Umumnya tes ini merupakan tes
fungsional, namun ada juga berupa tes non fungsional. Perancang uji
49

memilih input yang valid dan tidak valid serta menentukan keluaran (output)
yang benar, tanpa harus mengetahui struktur internal dari yang diuji. Metode
ini dapat diterapkan pada semua tingkat pengujian perangkat lunak seperti
unit, fungsional, integrasi, sistem dan penerimaan pengguna. Uji coba black
box dilakukan untuk menemukan kesalahan dalam beberapa kategori yaitu:
1. Fungsi-fungsi yang hilang atau salah.
2. Kesalahan desain antarmuka (interface) atau tampilan.
3. Kesalahan dalam struktur data atau akses database ekternal.
4. Kesalahan performa.
5. Kesalahan inisialisasi dan terminasi.

2.11 White Box Testing


White Box Testing (Pengujian White Box) adalah teknik pengujian
berdasarkan struktur internal suatu sistem. Dalam pengujian white box
diperlukan adanya penguji yang memiliki pengetahuan pemrograman yang
baik, sehingga dapat lebih memahami kode sumbernya. Pengujian white box
dapat dilakukan kapan saja dalam siklus hidup setelah kode dikembangkan
(Kumar & Singh, 2015).
Pengujian perangkat lunak dari segi desain dan kode program apakah
mampu menghasilkan fungsi masukan dan keluaran yang sesuai dengan
spesifikasi kebutuhan. Merawat program bisa dilakukan dengan
menyederhanakan source code program sehingga apabila diuji
menggunakan White Box Testing lagi, akan menghasilkan Node, Edgeds dan
Test Cases yang lebih sedikit dibandingkan dengan pengujian sebelumnya
(Cholifah, Yulianingsih, & Sagita, 2018).
White box testing adalah pengujian yang didasarkan pada
pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari
desain program secara procedural untuk membagi pengujian ke dalam
beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white
box testing merupakan petunjuk untuk mendapatkan program yang benar
secara 100%. Pengujian dilakukan berdasarkan bagaimana suatu software
50

menghasilkan output dari input . Pengujian ini dilakukan berdasarkan kode


program.

Anda mungkin juga menyukai