BAB II LANDASAN TEORI 2.1 Pengertian Sistem Basis Data

advertisement
BAB II
LANDASAN TEORI
2.1 Pengertian Sistem Basis Data / Database
2.1.1 Data
Data adalah fakta yang dapat disimpan dan memiliki makna.
Dapat disimpulkan data adalah kumpulan fakta yang terjadi yang dapat
dicatat, disimpan serta dapat dimanfaatkan sedemikian rupa untuk
berbagai tujuan.
Contoh dari data, seperti data nomor telepon, data
karyawan, data customer, dll (Elmasri & Navathe, 2015).
Data adalah fakta mengenai suatu objek atau orang. Data
dinyatakan dengan nilai (angka, deret karakter, atau simbol) (Kadir, 2013).
Hirarki secara tradisional data diorganisasikan kedalam suatu hirarki yang
terdiri dari elemen, rekaman (record), dan berkas (file) (Kadir, 2013).
1. Elemen data
Elemen data adalah suatu data terkecil yang tidak dapat
dipecah lagi menjadi unit lain yang bermakna. Istilah lain untuk
elemen data adalah medan (field), kolom, item, dan atribut.
2. Rekaman
Rekaman adalah gabungan sejumlah elemen data yang saling
terkait. Dalam sistem basis data relasional, rekaman biasa
disebut dengan istilah tuple atau baris.
3. Berkas
Himpunan seluruh rekaman yang bertipe sama membentuk
sebuah berkas. Berkas dapat dikatakansebagai kumpulan
rekaman data yang berkaitan dengan suatu objek. Dalam sistem
basis data relasional, berkas mewakili komponen yang disebut
tabel atau relasi.
8
http://digilib.mercubuana.ac.id/
2.1.2 Basis Data
Basis data adalah sekumpulan data yang terhubung secara logikal
yang dipakai bersama dan deskripsi data ini dirancang untuk menemukan
informasi-informasi yang dibutuhkan oleh sebuah organisasi (Connolly &
Begg, 2014), Basis data bukan merupakan file-file yang tidak terhubung
dengan data yang redundan, melainkan semua data
yang ada
diintegrasikan dengan nilai duplikasi yang minimal. Basis data tidak lagi
dimiliki oleh hanya satu departemen saja tetapi seluruh sumber daya
perusahaan yang digunakan bersama.
Dapat disimpulkan bahwa basis data adalah sebuah kumpulan data
yang tidak redundan yang tersusun secara struktural untuk tujuan tertentu.
2.1.3 Sistem
Sistem adalah sebuah kumpulan unsur-unsur yang berkaitan /
berhubungan membentuk sebuah kesatuan (Marakas & O’Brien, 2012).
Desain sistem adalah spesifikasi atau konstruksi solusi yang teknis dan
berbasis komputer untuk persyaratan bisnis yang diidentifikasikan dalam
analisis sistem (Whitten, Bentley & Dittman, 2016).
2.1.4 Sistem Basis Data
Sistem basis data adalah kumpulan dari program aplikasi yang
berinteraksi dengan basis data. Sehingga dapat disimpulkan bahwa sistem
basis data merupakan gabungan dari beberapa aplikasi yang digunakan
untuk mengakses, dan mengubah data sesuai dengan kebutuhan (Connolly
&Begg, 2014).
Database adalah kumpulan dari data yang saling berelasi secara
logical dan sebuah deskripsi dari data tersebut, yang didesain untuk
menemukan informasi yang dibutuhkan organisasi. Dimana deskripsi dari
data dikenal sebagai sistem katalog (data dictionary atau metadata – ’data
tentang data’). Metadata menggambarkan dirinya sendiri dalam sebuah
database yang menyediakan program-data independence (Connolly &
Begg, 2014).
9
http://digilib.mercubuana.ac.id/
2.2.
Analisis dan Perancangan Sistem
2.2.1. Analisis Sistem
Analisis sistem merupakan sebuah teknik pemecahan masalah yang
menguraikan sebuah sistem menjadi bagian-bagian komponen dengan
tujuan mempelajari seberapa bagus bagian-bagian komponen tersebut
bekerja dan berinteraksi untuk meraih tujuan mereka (Whitten, Bentley &
Dittman, 2016).
2.2.2. Perancangan Sistem
Perancangan sistem adalah sebuah teknik pemecahan masalah yang
saling melengkapi (dengan analisis sistem) yang merangkai kembali
bagian-bagian
komponen
menjadi
sebuah
sistem
yang
lengkap
harapannya, sebuah sistem yang diperbaiki. Hal ini melibatkan
penambahan, pengahapusan, dan perubahan bagian-bagian relatif pada
sistem aslinya (asalnya) (Whitten, Bentley & Dittman, 2016).
2.3 Perkembangan Basis Data
Pendekatan tradisional terhadap aplikasi perkembangan sistem
terfokus pada proses yang dianggap bekerja secara sendiri-sendiri.
Pendekatan tradisional melibat data terpadu dengan proses aplikasi.
Pandangan ini memotivasi organisasi-organisasi untuk menuju ke
pendekatan basis data. Hal-hal yang mendukung adalah:
1. Ketidakmampuan untuk mendapatkan jawaban secara cepat
untuk pertanyaan-
pertanyaan sederhana.
2. Biaya pengembangan yang mahal.
3. Ketidakmampuan untuk beradaptasi dengan perubahan.
4. Rendahnya integritas / kepastian data
5. Ketidaksesuaian model database dengan kenyataan.
DBMS (Database Management System) dapat mengurangi
kebutuhan pengembangan dan perawatan, menjadikan orang-orang lebih
produktif, dan mengurangi efisiensi mesin.
10
http://digilib.mercubuana.ac.id/
Perkembangan awal dari fasilitas DBMS dimulai dengan
menggeneralisasikan kegiatan input-output sehari-hari. Pada awal menjadi
bagian dari user program dan kemudian berkembang menjadi bagian dari
sistem operasi. Salah satu landasan utama pengembangan adalah untuk
meningkatkan fasilitas-fasilitas dalam sistem opertasi untuk membantu
programmer aplikasi.
Landasan lainnya adalah untuk menyediakan fasilitas high-level
language secara langsung kepada pengguna non-programer. Hal ini
menciptakan dikotomi dalam DBMS yang harus dihilangkan karena
melanggar empat tujuan utama database management dalam sebuah
perusahaan, yaitu:
1.
Pembagian resource data antara pemakai dan aplikasi.
2.
Memungkinkan data tersedia pada setiap fungsi dari
DBMS.
3.
Mempertahankan kemampuan berevolusi pada database
dan DBMS untuk merespon perubahan teknologi dan
permintaan pemakai.
4.
Memastikan integritas/kepastian database.
2.4 DBMS (Database Management System)
Sistem manajemen basis data (Database Management System)
adalah sekumpulan program yang memungkinkan pengguna untuk
membuat dan menjaga sebuah basis data (Elmasri & Navathe, 2015).
Sistem manajemen basis data (Database Management System)
adalah sistem perangkat lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, menjaga, dan mengendalikan akses pada basis
data (Connolly &Begg, 2014). Fasilitas yang dimiliki oleh DBMS :
1. Data Definition Language (DDL) : memungkinkan pengguna
untuk menspesifikasikan tipe data dan struktur serta batasan
data yang akan disimpan dalam basis data
11
http://digilib.mercubuana.ac.id/
2. Data Manipulation Language (DML) : memungkinkan
pengguna untuk memasukkan, memperbaharui, menghapus,
dan mangambil data dari dalam basis data.
3. Akses kontrol kedalam database.
DBMS menyediakan :
1. Sistem keamanan, yang mencegah akses pengguna yang tidak
memiliki otoritas.
2. Integritas sistem, yang menjaga konsistensi data yang disimpan
dalam basis data.
3. Sistem kontrol konkurensi, yang memungkinkan akses secara
bersamaan kedalam basis data.
4. Sistem kontrol perbaikan, yang mengembalikan basis data
kedalam keadaan konsisten sebelum terjadinya kegagalan pada
perangkat keras atau perangkat lunak.
5. Katalog yang dapat diakses pengguna, yang berisi penjelasan
tentang data yang ada dalam basis data.
Sistem manajemen basis data (Database Management System)
adalah sebuah program komputer yang digunakan untuk memasukkan,
mengubah, menghapus, memanipulasi, dan memperoleh data dan
informasi dengan praktis dan efisien (Kadir, 2013).
2.4.1 Komponen DBMS
Ada 5 (lima) komponen utama dari DBMS, yaitu perangkat keras,
perangkat lunak, data, prosedur dan sumber daya manusia (SDM)
(Connolly & Begg, 2014).
1. Hardware (Perangkat keras)
Suatu DBMS dan aplikasi nya menggunakan perangkat keras
untuk menjalankan aplikasinya. Perangkat keras dapat disusun
dari suatu komputer tunggal, suatu mainframe tunggal, dan
suatu jaringan.
12
http://digilib.mercubuana.ac.id/
2. Software (Perangkat lunak)
Komponen perangkat lunak meliputi perangkat lunak DBMS
dan program aplikasi beserta sistem operasi, termasuk
perangkat lunak tentang jaringan, bila DBMS digunakan dalam
jaringan LAN.
3. Data
Data
merupakan
komponen
terpenting
dalam
DBMS
khususnya sudut pandang dari pengguna akhir mengenai data.
Data pada sebuah basis data baik single-user maupun multiuser sistem harus terintegrasi dan dapat digunakan bersama.
4. Procedures
Prosedur berupa instruksi dan aturan-aturan yang membuat
rancangan dan menggunakan basis data. Pengguna sistem dan
staf yang mengatur kebutuhan basis data di dokumentasikan
dalam prosedur yang berupa petunjuk penggunaan sistem atau
petunjuk menjalankan sistem.
Instruksi tersebut misalnya
bagaimana untuk :
1. Log in ke DBMS.
2. Menggunakan sebagian DBMS atau program aplikasi.
3. Start dan stop DBMS.
4. Membuat duplikat basis data.
5. Menangani kesalahan pada hardware atau software.
6. Mengubah struktur suatu tabel dan meningkatkan
tampilan
5. Sumber Daya Manusia (SDM)
Komponen terakhir adalah manusia yang terlibat langsung
dalam sistem tersebut. Manusia dibedakan menjadi 3 (tiga),
yaitu :
1. Application programmers, bertanggung jawab untuk
membuat aplikasi basis data dengan menggunakan
bahasa pemrograman yang ada, seperti: C++, Java,
Visual Basic, dan lainnya.
13
http://digilib.mercubuana.ac.id/
2. End users, siapapun yang akan menggunakan aplikasi.
3. Database
administrator
(DBA),
seorang
yang
berwenang untuk membuat keputusan strategis dan
kebijakan
mengenai
data
yang
ada,
Database
Administrator (DBA) menyediakan dukungan teknis
untuk menerapkan keputusan tersebut dan bertanggung
jawab atas keseluruhan kontrol sistem pada tingkat
teknis.
2.4.2 Fungsi DBMS
Ada beberapa fungsi dari DBMS adalah sebagai berikut (Connolly
& Begg, 2014).:
1. Data storage, retrieval, and update
Sebuah DBMS harus menyediakan kemampuan penyimpanan,
pengambilan, dan pembaharuan data dalam basis data untuk
pengguna.
2. User-accesible catalog
Sebuah DBMS harus dilengkapi/menyediakan sebuah katalog
yang mendeskripsikan data tersimpan yang dapat diakses oleh
pengguna.
3. Transaction Support
Sebuah DBMS harus menyediakan mekanisme yang akan
menjamin antara semua pembaharuan yang berhubungan
dengan transaksi yang diberikan sukses dilakukan atau tidak
dari semua transaksi itu berhasil dilakukan.
4. Concurrency Control Services
Sebuah DBMS harus menyediakan sebuah mekanisme untuk
menjamin bahwa basis data telah terubah dengan benar ketika
banyak pengguna melakukan perubahan terhadap basis data
secara bersamaan.
14
http://digilib.mercubuana.ac.id/
5. Recovery Services
Sebuah DBMS harus mennyediakan sebuah mekanisme untuk
memperbaiki basis data yang rusak dalam berbagai hal karena
suatu kejadian.
6. Authorization Services
Sebuah DBMS harus menyediakan sebuah mekanisme untuk
menjamin bahwa hanya pengguna yang memiliki otoritas yang
dapat mengakses basis data.
7. Support for Data Communication
Sebuah DBMS harus sanggup berintegrasi dengan perangkat
lunak komunikasi.
8. Integrity services
Sebuah DBMS harus menyediakan sebuah cara untuk
menjamin bahwa data dalam basis data dan perubahan data
keduanya mengikuti aturan-aturan yang tepat.
9. Services to promote data independence
Sebuah
DBMS
harus
memiliki
fasilitas-fasilitas
untuk
mendukung program-program independence dari struktur basis
data yang aktual.
10. Utility services
Sebuah DBMS seharusnya menyediakan sekumpulan utility
service agar basis data dapat di administrasi secara efektif.
2.4.3 Keuntungan dan Kerugian DBMS
Sistem manajemen basis data memang menjanjikan potensi
keuntungan tetapi di sisi lain juga terdapat kekurangan. Pada bagian ini
penulis akan membahas tentang keuntungan dan kerugian yang terdapat
pada sistem manajemen basis data (Connolly & Begg, 2014).
15
http://digilib.mercubuana.ac.id/
2.4.3.1 Keuntungan Sistem Manajemen Basis Data
Berikut ini adalah keuntungan dari sistem manajemen basis data:
1. Mengontrol kerangkapan data
Sistem berbasis file tradisional menyimpan informasi yang
sama lebih dari satu file sehingga membuang tempat
penyimpanan.
2. Menjaga konsistensi data
Resiko data yang tidak konsisten bisa dikurangi dengan
mengendalikan kerangkapan data. Apabila data disimpan satu
file maka jika ada perubahan hanya ke satu file dan nilai yang
baru bisa langsung digunakan pengguna.
3. Data dapat dipakai secara bersama-sama
Informasi yang sama dapat dipakai secara bersama karena di
integrasikan dari data operasional.
4. Meningkatkan integritas data
Integritas basis data mengacu pada validitas dan konsistensi
data yang tersimpan.
5. Meningkatkan keamanan data
Keamanan meningkat karena data terlindung dari pengguna
yang tidak memiliki hak yang diatur oleh sistem manajemen
basis data.
6. Peningkatan pemeliharaan melalui independensi data
Deskripsi data dan logika pengaksesan data dibangun dalam
sebuah aplikasi, menjadikan aplikasi tergantung pada data.
Perubahan struktur data atau perubahan dengan bagaimana cara
data
disimpan
pada
media
penyimpanan
memerlukan
perubahan besar untuk aplikasi yang terpengaruh oleh
perubahan.
7. Meningkatkan produktivitas
Penyediaan fungsi standar memungkinkan pengembang untuk
berkonsentrasi pada fungsi khusus yang diperlukan oleh
16
http://digilib.mercubuana.ac.id/
pengguna tanpa harus kawatir tentang detil implementasi
tingkat rendah.
8. Terdapat standarisasi data
Administrator basis data dapat mendefinisikan dan menegakan
standar yang diperlukan. Termasuk departemen, organisasi
untuk hal-hal seperti format data untuk memfasilitasi
pertukaran data antara sistem, konversi penamaan, standar
dokumentasi, perubahan prosedur dan aturan akses.
9. Meningkatkan layanan backup dan recovery
Sistem manajemen basis data menyediakan layanan untuk
backup yang bisa dilakukan setiap hari. Misalnya pada malam
hari dilakukan backup kemudian terjadi kerusakan pada
keesokan harinya maka bisa dilakukan recovery dari data yang
sudah di backup pada malam hari sebelumnya.
2.4.3.2 Kerugian Sistem Manajemen Basis Data
Berikut ini adalah kerugian dari sistem manajemen basis data:
1. Rumit (Complexity)
Harapan kesediaan fungsi yang baik membuat system
manajemen basis data menjadi perangkat lunak yang rumit.
Basis data, pengembang basis data dan pengguna harus
memahami fungsi yang ada untuk mengambil keuntungan
penuh. Kegagalan memahami sistem dapat menyebabkan
keputusan rancangan yang buruk dan memiliki konsekuensi
serius bagi suatu organisasi.
2. Ukuran (Size)
Kerumitan dan luasnya fungsi yang disediakan membuat sistem
manajemen basis data menjadi perangkat lunak
yang
membutuhkan memori besar untuk bisa berjalan dengan
efisien.
17
http://digilib.mercubuana.ac.id/
3. Biaya (Cost of DBMS)
Variasi biaya tergantung pada lingkungan dan fungsi yang
disediakan.
4. Biaya tambahan hardware (Additional hardware costs)
Persyaratan penyimpanan untuk basis data dan system
manajemen basis data memungkinkan pembelian ruang
penyimpanan tambahan atau bahkan perlu membeli mesin yang
didedikasikan untuk menjalankan sistem manajemen basis data
agar kinerja yang dihasilkan sesuai dengan kebutuhan.
5. Biaya Konversi (Cost of conversion)
Perpindahan aplikasi yang ada untuk dijalankan pada system
manajemen basis data baru menimbulkan biaya termasuk biaya
pelatihan staf untuk menggunakan sistem baru.
6. Kinerja (Performance)
Pada dasarnya sistem manajemen basis data dibuat untuk
menyediakan berbagai aplikasi sebagai akibatnya mungkin
beberapa aplikasi tidak berjalan seperti biasanya.
7. Resiko kegagalan lebih tinggi (Higher impact of a failure)
Sumber daya terpusat meningkatkan kerentanan sistem karena
semua pengguna dan aplikasi bergantung pada ketersediaan
suatu sistem manajemen basis data. Kegagalan komponen
tertentu dapat menyebabkan operasional berhenti.
2.5 Aplikasi Berbasis Web
Perkembangan aplikasi yang menggunakan media internet sebagai
media yang akan berkembang pesat pada waktunya akan mendominasi
aplikasi bisnis maupun media informasi. Banyaknya permintaan aplikasi
yang berjalan pada media internet, memicu para pengembang menciptakan
kerangka sistem yang diharapkan dapat memberikan kemudahaan
pengembangan, meningkatkan performa aplikasi dan mempercepat
pembuatan aplikasi (Sibero, 2011).
18
http://digilib.mercubuana.ac.id/
2.5.1 My Structure Query Language (MySQL)
My Structure Query Language (MySQL) adalah suatu Relational
Data Base Management System (RDBMS) yaitu aplikasi sistem yang
menjalankan fungsi pengolahan data. MySQL pertama dikembangkan oleh
MySQL AB yang kemudian diakusisi Sun Microsystem dan terakhir
dikelola oleh Oracle Corporation (Sibero, 2011).
2.5.2 Data Definition Language (DDL)
Data Definition Language (DDL) adalah suatu bahasa yang
memungkinkan Database Administrator (DBA) atau pengguna untuk
mendeskripsikan nama dari suatu entity, atribut dan hubungan data yang
diminta oleh aplikasi bersama dengan integritas data dan keamanan
datanya (Connolly & Begg, 2014).
Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang
disimpan dalam file khusus yang disebut kamus data (Data Dictionary).
Beberapa tahapan dari DDL, yaitu (Connolly & Begg, 2014). :
1. Create Table
Untuk membuat tabel dengan meindentifikasikan tipe data
untuk tiap kolom.
2. Alter table
Untuk menambah atau membuat kolom dan constraint.
3. Drop table
Untuk membuang atau menghapus tabel beserta semua data
yang ada di dalamnya.
4. Create Index
Untuk membuat index pada suatu table
5. Drop index
Untuk membuang atau menghapus index yang dibuat
sebelumnya.
19
http://digilib.mercubuana.ac.id/
2.5.3 Data Manipulation Language (DML)
DML (Data Manipulation Language) adalah suatu bahasa yang
memberikan fasilitas pengoperasian data yang ada dalam basis data.
Pengoperasian data yang dimanipulasi antara lain (Connolly & Begg,
2014). :
1.
Penambahan data baru ke dalam basis data (insertion).
2.
Modifikasi data yang disimpan dalam basis data (modify).
3.
Pengambilan data yang terdapat dalam basis data (retrieve).
4.
Penghapusan data dari basis data (delete).
DML dapat dibedakan menjadi 2 tipe yang berbeda, yaitu
(Connolly & Begg, 2014). :
1. Procedural DML
Procedural DML adalah suatu bahasa yang memungkinkan
perngguna (umumnya programmer) untuk memberi instruksi
ke sistem mengenai data apa yang dibutuhkan dan bagaimana
cara pemanggilannya (retrieve).
Artinya pengguna harus menjelaskan operasi pengaksesan data
yang akan digunakan dengan menggunakan prosedur yang ada
untuk mendapatkan informasi yang dibutuhkan.
2. Non-Procedural DML
Non-Procedural DML adalah bahasa yang memungkinkan
pengguna untuk menentukan data apa yang dibutuhkan dengan
menyebutkan spesifikasi bagaimana cara mendapatkannya
2.6 Bahasa Pemrograman
Pemrograman adalah sekumpulan instruksi yang digunakan untuk
menjalankan dan mengatur perangkat keras agar melakukan tindakan
sesuai yang diinginkan oleh pembuat program. Program-program ini
dibuat melalui bahasa yang dimengerti oleh mesin. Bahasa pemrograman
inilah yang menjadi sarana komunikasi antara manusia dengan komputer
(Mulyanto, 2009).
20
http://digilib.mercubuana.ac.id/
Bahasa pemrograman memungkinkan pembuat program untuk
melakukan perintah-perintah yang akan dijalankan komputer. Banyak
bahasa pemrograman yang telah dikembangkan dengan tata bahasa,
kosakata yang berbeda-beda, namun tujuan utamanya untuk berkomunkasi
dengan mesin. Berikut akan dijelaskan mengenai bahasa pemrograman
yang dipakai pada penulisan ini.
2.6.1 Hypertext Markup Language (HTML)
Hypertext Markup Language (HTML) adalah bahasa yang
digunakan pada dokumen web sebagai bahasa untuk pertukaran dokumen
web. Struktur dokumen HTML terdiri dari tag pembuka dan tag penutup.
HTML versi 1.0 dibangun oleh World Wide Web Consortium (W3C),
kemudian mengalami perkembangan sampai saat ini HTML terakhir versi
5.0 (Sibero, 2011).
Tag adalah tanda awal < dan tanda akhir > yang digunakan sebagai
pengapit suatu elemen. Tag pada elemen pembuka diawali dengan tanda <
dan diakhir dengan tanda >. Sedangkan untuk elemen penutup diawali
dengan tanda < dan diakhiri dengan tanda / kemudian diakhiri dengan
tanda >. Untuk penulisan tag elemen tunggal cukup menuliskan tanda <
dan sebelum tanda > ditambahkan dengan tanda / (Sibero, 2011).
2.6.2 Hypertext Processor (PHP)
PHP adalah pemrograman interpreter yaitu proses penerjemahan
baris kode sumber menjadi kode mesin yang dimengerti oleh komputer
secara langsung pada saat baris kode dijalankan. PHP disebut sebagai
pemrograman Server Side Server Programming, hal ini dikarenakan
proses dijalankan pada server. PHP adalah suatu bahasa dengan hak cipta
terbuka atau yang juga dikenal dengan istilah Open Source, yaitu
pengguna dapat mengembangkan kode-kode fungsi PHP sesuai dengan
kebutuhannya (Sibero, 2011)
21
http://digilib.mercubuana.ac.id/
2.6.3 Cascending Style Sheet (CSS)
Mengacu dari arti bahasa, Cascading Style Sheet (CSS) memiliki
arti gaya menata halaman bertingkat, yang berati satu elemen yang telah
diformat dan memiliki anak dan telah diformat, maka anak dari elemen
tersebut otomatis mengikuti format induknya (Sibero, 2011)
2.7 Bahasa Pemodelan
2.7.1 Unified Modeling Language (UML)
UML (Unified Modeling Language) adalah proses desain berbasis
objek dan diagram teknik yang cukup efektif untuk memodelkan setiap
proyek pengembangan sistem mulai tahap analisis sampai tahap desain
dan implementasi (Dennis, Wixom, & Roth, 2012).
Area utama dari UML views adalah struktural, dinamis dan model
manajemen. Struktural view meliputi class diagram, use case diagram,
component diagram dan deployment diagram. Dinamis view meliputi
statechart diagram, activity diagram, sequence diagram dan collaboration
diagram sedangkan model manajemen view meliputi class diagram
(Jayant, Garg, Kumar, & Rana, 2014).
2.7.2 Diagram - Diagram UML
Dalam pengembangan perangkat lunak penggunaan diagram
disesuaikan dengan kebutuhan. UML yang sering digunakan adalah use
case diagram, activity diagram, sequence diagram dan class diagram.
2.7.3 Use Case Diagram
Use case diagram merupakan suatu diagram yang menangkap
kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara
sistem dan lingkungannya (Dennis et al., 2012). Tabel 2.1 dibawah ini
menjelaskan simbol-simbol pada use case diagram:
22
http://digilib.mercubuana.ac.id/
Tabel 2.1 Simbol-simbol pada Use Case Diagram
Simbol
Nama
Deskripsi
Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar
Use case
Use case
pesan antar unit atau aktor, biasanya
dinyatakan dengan menggunakan kata
kerja diawal frase nama use case.
Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi yang
akan dibuat di luar sistem informasi yang
Aktor
akan dibuat itu sendiri, jadi walaupun
simbol dari aktor adalah gambar orang,
tapi aktor belum tentu merupakan orang,
biasanya dinyatakan menggunakan kata
benda di awal frase nama aktor.
Komunikasi antara aktor dan use case yang
Association
berpartisipasi pada use case atau use case
memiliki interaksi dengan aktor.
System Boundary
Boxes
Menspesifikasikan
paket
yang
menampilkan sistem secara terbatas.
2.7.4 Activity Diagram
Activity diagram adalah yang menggambarkan alur kerja bisnis
independen dari class, aliran kegiatan dalam Use case, atau desain rinci
sebuah metode (Dennis et al., 2012). Tabel 2.2 dibawah ini menjelaskan
simbol-simbol pada activity diagram:
23
http://digilib.mercubuana.ac.id/
Tabel 2.2 Simbol-simbol pada Activity Diagram
(Rosa dan Salahudin, 2014)
Simbol
Keterangan
Start point
Status awal aktivitas sistem,
sebuah
diagram
aktivitas
memiliki sebuah status awal
End point
Status
akhir
yang
dilakukan
sistem, sebuah diagram aktivitas
memiliki sebuah status akhir.
Activities
Aktivitas
aktivitas
biasanya
diawali
dengan kata kerja.
Decision
Asosiasi
percabangan
dimana
jika ada pilihan aktivitas lebih
dari satu.
nama_swimlane
Swimlane
Sebuah
cara
mengelompokkan
untuk
aktivitas
berdasarkan
aktor
(pengelompokan activity dalam
sebuah urutan yang sama)
2.7.5 Sequence Diagram
Sequence
Diagram
merupakan
urutan
model
dinamis
yang
menggambarkan contoh class yang berpartisipasi dalam use case dan pesan yang
24
http://digilib.mercubuana.ac.id/
lewat di antara mereka dari waktu ke waktu (Dennis et al., 2012). Tabel 2.3
dibawah ini menjelaskan simbol-simbol pada sequence diagram.
Table 2.3 Simbol-simbol pada Sequence Diagram
NO
GAMBAR
NAMA
LifeLine
1
KETERANGAN
Objek
entity,
antar
muka
yang
saling
berinteraksi.
Message
2
Spesifikasi
dari
komunikasi
antar
objek yang memuat
informasi-informasi
tentang aktifitas yang
terjadi
Message
3
Spesifikasi
dari
komunikasi
antar
objek yang memuat
informasi-informasi
tentang aktifitas yang
terjadi
2.7.6 Flowchart (Diagram Alur)
Pada beberapa dokumen, flowcharts merupakan bagian yang penting
untuk mengilustrasikan secara detail dan mudah untuk dimengerti. Beberapa
masalah rumit tidak bisa diselesaikan langsung tanpa menjelaskan masalah
tersebut dalam sebuah flowcharts (Arrish, Afif, Maidorawa, & Salim, 2014). Tabel
2.4 dibawah ini menjelaskan simbol-simbol pada flowchart.
25
http://digilib.mercubuana.ac.id/
Tabel 2.4 Simbol-simbol pada Flowchart
Gambar
Simbol untuk
Proses/Langkah
Keterangan
Menyatakan kegiatan yang akan
ditampilkan dalam diagram alur.
Proses/langkah
dimana
perlu
adanya keputusan atau adanya
Keputusan
kondisi tertentu. Di titik ini
selalu ada dua keluaran untuk
melanjutkan aliran kondisi yang
berbeda.
Masukan/Keluaran
Data
Digunakan untuk mewakili data
masuk, atau data keluar.
Terminasi
Garis alur
Menunjukkan awal atau akhir
sebuah program.
Menunjukkan arah aliran proses
atau algoritma.
Simbol yang menyatakan input
Dokumen
berasal dari dokumen dalam
bentuk kertas atau output
dicetak ke kertas.
Simbol untuk keluar/masuk
Konektor
prosedur atau proses dalam
lembar/halaman yang sama
Simbol untuk keluar/masuk
Off-line Konektor
prosedure atau proses dalam
lembar/halaman yang lain
26
http://digilib.mercubuana.ac.id/
2.8 Pengertian Algoritma Kriptografi RC4 Stream Cipher
Agoritma RC4 merupakan salah satu algortitma kunci simetris
berbentuk stream cipher yang memproses unit atau input data, pesan atau
informasi pada suatu saat. unit atau data pada umumnya sebuah byte atau
bahkan bit (byte dalam hal RC4). Algoritma tidak harus menunggu
sejumlah input data, pesan atau informasi tertentu sebelum diproses atau
menambahakan byte tambahan untuk mengenkrip.
RC4 mempunya sebuah S-Box, S0, S1,...S255, yang berisi
permutasi dari bilangan 0 sampai 255. menggunakan dua buah index yaitu
i dan j di dalam algoritmanya. index i digunakan untuk memastikan bahwa
suatu elemen berubah, sedangkan index j akan memastikan bahwa suatu
elemen berubah secara random. intinya, dalam algoritma enkripsi metode
ini akan membangkitkan pseudo random byte dari key yang akan
dikenakan operasi XOR terhadap plainteks untuk meghasilkan cipherteks.
Dan untuk menghasilkan plainteks semula, maka cipherteks nya
akan dikenakan operasi XOR terhadap pseudo random byte-nya (Haji &
Mulyono 2012).
2.9 Pengujian Perangkat Lunak
Pengujian merupakan salah satu bagian yang tidak dapat
terpisahkan dari perangkat lunak. Proses pengujian juga mempengaruhi
masa penggunaan perangkat lunak. Semakin terperinci proses pengujian
yang dilakukan, semakin lama rentang waktu akan diperlukan pada satu
pemeliharaan perangkat lunak dan untuk proses selanjutnya. Pengajuan
perangkat lunak akan dilakukan pada setiap tahapan pengembangan
hingga pada pemeliharaan perangkat lunak. Cara pandang terhadap
perangkat lunak berkembang menjadi lebih konstruktif. Pengujian tidak
lagi dipandang sebagai aktivitas yang hanya dilakukan setelah pengodean
perangkat lunak selesai dengan batasan sebagai pendeteksi kegagalan
perangkat lunak, melainkan sebagai aktivitas yang menuntun keseluruhan
proses pengembangan perangkat lunak dan pemeliharaan. Pengujian pun
27
http://digilib.mercubuana.ac.id/
menjadi bagian penting dari suatu konstruksi perangkat lunak (Janner
Simarmata, 2010).
2.9.1 Metode Waterfall
Metode waterfall disebut juga dengan siklus hidup perangkat lunak
merupakan salah satu model pengembangan perangkat lunak dari sekian
banyak model pengembangan perangkat lunak. Waterfall adalah model
yang umumnya paling banyak digunakan. Pada model ini, desain
perangkat lunak atau sistem dibagi menjadi sejumlah langkah linier,
sistematis dan sekuensial dimana evolusi perangkat lunak atau sistem
terlihat seperti air yang mengalir semakin turun melalui serangkaian
tahapan.
Gambar 2.1 Metode Waterfall
Aktifitas-aktifitas dalam waterfall adalah sebagai berikut:
1. Tahapan Rekayasa Sistem
Tahapan ini sangat menekankan pada masalah pengumpulan
kebutuhan pengguna pada tingkatan sistem dengan menentukan
konsep sistem beserta antarmuka yang menghubungkannya dengan
lingkungan sekitar. Hasilnya berupa spesifikasi sistem.
28
http://digilib.mercubuana.ac.id/
2. Tahapan Analisis
Pada tahap ini akan dilakukan pengumpulan kebutuhanelemen-elemen
ditingkat perangkat lunak. Dengan analisis harus dapat ditentukan
domain-domain data atau informasi, fungsi, proses atau prosedur yang
diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa
spesifikasi kebutuhan perangkat lunak.
3. Tahapan Perancangan
Pada tahap perancangan ini, kebutuhan-kebutuhan perangkat lunak
yang dihasilkan pada tahap analisis, ditransformasikan kedalam bentuk
arsitektur perangkat lunak yang memiliki karakteristik mudah
dimengerti dan tidak sulit untuk diterapkan atau di implementasikan.
4. Tahapan Pemrograman
Tahap ini melakukan penerapan hasil rancangan kedalam baris-baris
kode program yang dapat dimengerti oleh komputer.
5. Tahapan Pengujian
Setelah perangkat lunak selesai diterapkan, pengujian dapat segera
dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika
tidak ada masalah, modul tersebut akan diintegrasikan hingga
membentuk perangkat lunak secara utuh. Kemudian dilakukan
pengujian ditingkat perangkat lunak yang memfokuskan pada masalahmasalah logika internal, fungsi internal, potensi masalah yang mungkin
terjadi danpemeriksaan hasil apakah sudah sesuai dengan permintaan.
6. Tahapan Pengoperasian dan pemeliharaan
Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin
saja mengalami kesalahan atau kegagalan dalam menjalankan fungsifungsinya. Atau pemilik bisa saja meminta peningkatan kemampuan
perangkat lunak pada pengembangannya. Dengan demikian, kedua
faktor ini menyebabkan perlunya perangkat lunak dipelihara dari
waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari
perangkat lunak.
29
http://digilib.mercubuana.ac.id/
2.10 Metode Pengujian
2.10.1 Level Pengujian
Terdapat beberapa level dalam proses testing, antara lain :
1. Unit Testing, merupakan pengujian pada tiap komponen (unit)
untuk menjamin bahwa komponen tersebut berjalan dengan
semestinya. Pengujian ini mencakup pengujian sepotong atau
sebagian kode.
2. Integration Testing, merupakan level kedua dalam proses testing.
Pengujian ini dilakukan dengan mencari bug dalam hubungan dan
antarmuka antara pasangan komponen atau sekelompok komponen
dalam sistem yang diuji. Tujuannya adalah memastikan modulmodul dan antarmuka dalam suatu aplikasi berinteraksi satu-sama
lain dengan benar dan aman.
3. System Testing, merupakan pengujian terhadap keseluruhan
fungsionalitas
dan
kecocokan
penggunaan
berdasarkan
system/acceptance test plan. Pengujian ini juga mungkin dirancang
untuk menekankan pada aspek-aspek tertentu pada sistem yang
mungkin tidak disadari oleh pengguna, tetapi kritis terhadap
perilaku system yang benar.
4. User Acceptance Testing, merupakan pengujian yang dilakukan
oleh end-user dimana user tersebut adalah staff/ karyawan
perusahaan yang langsung berinteraksi dengan sistem dan
dilakukan verifikasi apakah fungsi yang ada telah berjalan sesuai
dengan kebutuhan/fungsinya.
2.10.2 Metode Pengujian Blackbox
Black box testing yaitu menguji perangkat lunak dari segi
spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian
dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan
keluaran dari perangkat lunak sesuai dengan spesifiikasi yang dibutuhkan.
Pengujian kotak hitam dilakukan dengan membuat kasus uji yang
bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah
30
http://digilib.mercubuana.ac.id/
sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibutuhkan
untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar
dan kasus salah, misalkan untuk kasus proses login maka kasus uji yang
dibuat adalah :
1. Jika user memasukkan nama pemakai (username) dan kata sandi
(password) yang benar
2. Jika user memasukkan nama pemakai (username) dan kata sandi
(password) yang salah, misalnya nama pemakai benar tapi kata
sandi salah, atau sebaliknya, atau keduanya salah.
31
http://digilib.mercubuana.ac.id/
Download