LANDASAN TEORI
4
5
• Statechart diagram
• Activity diagram
Berbicara mengenai use case diagram tidak akan terlepas dengan hal yang
disebut stereotype. Stereotype adalah sebuah model khusus yang terbatas untuk
kondisi tertentu. Untuk menunjukkan stereotype digunakan simbol “<<”
diawalnya dan ditutup dengan “>>” diakhirnya. Terdapat 2 stereotype paling
sering digunakan dalam use case diagram yaitu <<extend>> dan <<include>>.
<<extend>> digunakan untuk menunjukkan bahwa satu use case merupakan
tambahan fungsional dari use case yang lain jika kondisi atau syarat tertentu
dipenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu
use case seluruhnya merupakan fungsionalitas dari use case lainnya.
menggambarkan obyek yang diwakili sebuah basis data, dan hubungan diantara
obyek tersebut. Cara untuk mengorganisasi skema atau memodelkan struktur basis
data disebut dengan model basis data atau model data.
Model basis data yang umum digunakan saat ini adalah model relasional,
yang mewakili semua informasi dalam bentuk tabel – tabel yang saling
berhubungan dimana setiap tabel terdiri dari baris dan kolom. [7]
– hubungan (relasi) antar entitas tersebut. Tekanan utama pada ERD adalah tabel
– tabel yang merepresentasikan entitas – entitas serta tabel – tabel yang
merepresentasikan relasi antar entitas itu sendiri.
Atribut
Atribut adalah sesuatu yang mencirikan satu
entitas dengan entitas lainnya. Misalnya entitas
Mahasiswa masing – masing dibedakan
berdasarkan NIM serta Nama-nya.
Relasi
Relasi adalah sesuatu yang menjadi
penghubung entitas satu dengan lainnya.
Misalnya, entitas Mahasiswa dengan
Matakuliah dihubungkan dengan relasi
Mengambil (Mahasiswa mengambil
Matakuliah).
Atribut Bernilai Banyak (Multivalue Atribute)
Atribut bernilai banyak adalah suatu atribut
yang memiliki lebih dari satu nilai untuk setiap
entitas, Misalnya atribut Hobby untuk entitas
Mahasiswa (Seorang Mahasiswa bisa memiliki
lebih dari satu hobby, misalnya Balap Mobil,
Main Game, serta Main Musik).
Atribut Turunan (Derived Atribute)
Atribut turunan adalah atribut atribut yang
nilainya dapat diturunkan dari atribut yang
lainnya. Misalnya atribut Lama Kuliah dapat
diturunkan dari atribut Tahun Masuk (Didapat
dari perhitungan Tahun Sekarang dikurangi
Tahun Masuk).
Selain notasi – notasi dasar dalam ERD, diperlukan juga penentuan derajat
relasi antarentitas yang terlibat dalam suatu aplikasi. Derajat relasi adalah banyak
entitas yang terlibat dalam suatu relasi. Derajat relasi tersebut adalah sebagai
berikut :
13
• Unary. Derajat relasi ini terjadi pada entitas tunggal. Contohnya, adalah
relasi kepemimpinan seorang Manajer pada Karyawan lainnya pada
sebuah perusahaan. Manajer adalah juga seorang karyawan memimpin
karyawan yang lainnya.
• Binary. Relasi yang melibatkan 2 entitas.
• Ternary. Relasi yang melibatkan lebih dari 2 entitas (Relasi ternary ini
sedapat mungkin dihindari sebab agak membingungkan saat melakukan
implementasi). Contoh dari derajat relasi ini adalah relasi Mahasiswa
Mengambil Matakuliah yang menempati Ruang Kuliah tertentu.
Unary
Binary
Ternary
(primary key) serta kunci – kunci tamu (foreign key) yang menghubungkan suatu
tabel dengan tabel lainnya pada pemetaan ERD ke tabel – tabel basis data yang
sesuai.
Tabel 2.5 Notasi Kardinalitas
NOTASI KETERANGAN
Mandatory One
Kardinalitas ini terjadi misalnya pada
relasi Pasien menempati Tempat Tidur
dimana seorang Pasien (dalam kasus
rawat inap) menempati satu (dan hanya
satu) Tempat Tidur.
Mandatory Many
Kardinalitas ini terjadi misalnya pada
relasi Matakuliah diajar Dosen. Artinya
seorang Dosen bisa mengajar lebih dari
satu Matakuliah, tetapi sebuah
Matakuliah harus ada Dosennya.
Optional One
Kardinalitas ini terjadi misalnya pada
relasi Pria menikahi Wanita. Artinya
seorang Pria boleh menikahi satu (dan
hanya satu) Wanita, tetapi bisa juga
seorang Pria tidak menikahi seorang
Wanita pun.
Optional Many
Kardinalitas ini terjadi misalnya pada
relasi Mahasiswa mengambil
Matakuliah. Seorang Mahasiswa bisa
mengambil banyak Matakuliah
sekaligus pada suatu semester, tetapi
bisa terjadi seorang Mahasiswa tidak
15
2.2.2.2 Normalisasi
Pada dasarnya normalisasi adalah mengorganisasi tabel – tabel sehingga
syarat – syarat dibawah ini terpenuhi.
Syarat 1. Mengoptimalisasi redudansi (pengulangan data yang tidak
perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk
integritas referensial yang menghubungkan satu field pada suatu tabel dengan
field lain pada tabel yang saling berelasi tetapi redudansi bisa dioptimalisasi.
Misalnya jika kita perhatikan Tabel 2.6 kolom ke-2 dan ke-3 (Nomor Bank dan
Nama Bank) kita lihat ada data – data yang berulang kali dituliskan. Untuk jumlah
data yang tidak terlalu banyak mungkin ini tidak terlalu berpengaruh dalam hal
penggunaan ruang harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan
redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang. Karena itu
tabel pada Tabel 2.6 perlu dinormalisasi.
Syarat 2. Menghilangkan anomali. Apakah itu anomali ? Perhatikan lagi
Tabel 2.6. Misalkan ada pergantian nama bank dari Bank Perkasa menjadi Bank
Perkasa Utama maka 4 field sekaligus harus dirubah. Jika tidak maka akan terjadi
anomaly. Misal, record pertama dirubah menjadi Bank Perkasa Utama sedangkan
record – record lain tidak, maka akan terjadi ketidak-konsistenan yaitu nomor
bank 5505 berelasi dengan 2 nama bank yang berbeda (Bank Perkasa Utama dan
Bank Perkasa). Hal ini tidak boleh terjadi. Inilah yang dinamakan anomali.
Anomali pada dasarnya adalah ketidak-konsistenan. Selain anomali saat
pengubahan data seperti contoh diatas, juga dikenal anomali pada saat
penghapusan serta penambahan data. Prinsipnya jika ditemukan ketidak-
konsistenan saat penambahan penghapusan, serta pengubahan data maka kita
sudah menemukan anomali.
16
Dengan dua alasan diatas kita yakin bahwa memang perlu melakukan
normalisasi tabel pada Tabel 2.6. bagaimana melakukannya ? pertama kali
tentunya perlu dibahas mengenai ketergantungan fungsional dalam hubungannya
dengan normalisasi. Pada dasarnya normalisasi adalah dekomposisi tabel di atas
dengan menentukan ketergantungan fungsionalnya. Apa itu ketergantungan
fungsional ? Perhatikan Tabel 2.6, setiap nomor bank 5505 berhubungan dengan
nama Bank Perkasa, sedangkan nomor bank 5506 berhubungan dengan Bank Adi
Jaya. Berdasarkan ketergantungan fungsional tersebut maka Tabel 2.6 diatas dapat
didekomposisi menjadi 2 tabel dibawah ini.
2.2.3 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris : Database Management System) atau DBMS yang multi user.
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General
Public Licensing (GPL) dan juga terdapat lisensi komersial untuk kasus – kasus
dimana penggunaannya tidak cocok dengan penggunaan GPL.
MySQL merupakan implementasi dari sistem manajemen basis data
relasional (RDBMS) yang juga merupakan turunan salah satu konsep utama
dalam basis data yang telah ada sebelumnya yaitu SQL (Structured Query
Language). SQL adalah sebuah konsep pengoperasian basis data, terutama untuk
18
2.3 Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk termasuk telepon genggam. Dikembangkan oleh Sun
Microsystems dan dirilis tahun 1995. Versi awal Java ditahun 1996 sudah
merupakan versi release sehingga dinamakan Java versi 1.0. Java versi ini
menyertakan banyak paket standar awal yang terus dikembangkan pada versi
selanjutnya.[8]
Biasanya pada Data Access Object (DAO) terdapat fungsi – fungsi untuk
memanipulasi data seperti INSERT, UPDATE, DELETE, SELECT tergantung
dengan kebutuhan pada setiap entitasnya. Sehingga tidak semua perintah DML
(Data Manipulation Language) harus dibuat.
Keuntungan menggunakan Data Access Object (DAO) adalah adanya
pemisahan proses yang terjadi pada aplikasi sehingga kode program menjadi lebih
terstruktur dan mudah dipahami apabila terjadi kesalahan, dimana perubahan yang
terjadi pada persistence logic tidak akan mempengaruhi DAO yang terdapat pada
klien selama interface yang didefinisikan benar. Dengan demikian, kesalahan di
suatu bagian program dapat dikoreksi tanpa perlu mempertimbangkan bagian –
bagian lainnya, serta bagian program dapat dipahami tanpa harus memahami
keseluruhan.
percabangan yang disebut slave page (halaman pendukung) dan jika dipilih akan
menjadi halaman kedua, begitu seterusnya.