Capaian Pembelajaran
Mahasiswa mengetahui dan memahamibagaimana membuat desain databaseberdasarkan dari analisa kebutuhannya.Penggambaran database ini menggunakan classdiagram.
1. Konsep Dasar Database
Menurut (Indrajani, 2015) mendefinisikansebuah basis data merupakan kumpulan datayang saling berhubungan secara logis, danmerupakandata yang dibutuhkan oleh sebuahorganisasi.
Dalam database, semua data diintegrasikanuntuk menghindari adanya duplikasi data.
Konsep Dasar Database
Menurut (Indrajani, 2015), Desain database adalahproses membuat desain yang akan mendukungoperasional dan tujuan perusahaan.
Tujuan desain database :1. Menggambarkan relasi data antara yang
dibutuhkan oleh aplikasi dan user view2. Menyediakan model data yang mendukung
seluruh transaksi yang diperlukan3. Menspesifikasikan desain dengan struktur yang
sesuai kebutuhan sistem
2. Class Diagram
Menurut Tohari(2013:83) , diagram kelas (classdiagram) menggambarkan jenis-jenis dari objekdalam suatu sistem dan berbagai jenishubungan statis yang ada diantaranya.
Menurut (Akil, 2018), Class (Kelas) adalahdeskripsi dari satu set objek-objek yang berbagiatribut-atribut, operasi-operasi, relasi-relasi,semantik-semantik yang sama.
Class Diagram
Sebuah Kelas merupakan kumpulan dari objekyang memiliki karakteristik yang sama sepertiatribut, operasi hubungan dan semantik.
Kelas juga merupakan sebuah spesifikasi yangjika diinstansiasi akan menghasilkan sebuahobjek dan merupakan inti dari pengembangandan perancangan berorientasi objek (Akil,2018).
1. Class
Class terdiri dari tiga area, sebagai berikut :
class Class Model
Class Name
- Atribut: int
+ Operation()
Simbol-Simbol dalam Class Diagram
Sumber : Hasil Perancangan (2019)
Keterangan
• Class Name
❑ Nama kelas bersifat tekstual dan selalu diwalidengan huruf besar
❑ Jika terdiri dari dua suku kata, makapenamaannya harus disambung dan suku katakedua diawali dengan huruf besar
❑ Kelas bisa digunakan untuk mewakili orang,tempat atau hal-hal yang dibutuhkan olehsistem, yang digunakan untuk menangkap ataumenyimpan informasi
Keterangan
• Attribute (Atribut)
❑ Atribut adalah properti yang memiliki namadari suatu kelas yang menjadi karakteristik darikelas tersebut
❑ Atribut merepresentasikan properti yangsedang anda modelkan
❑ Sebuah atribut harus memiliki type data sesuaidengan bahasa pemrograman kelas tersebut
❑ Nama atribut biasanya diawali dengan hurufkecil dan suku kata berikutnya diawali hurufbesar (Akil, 2018).
Keterangan
❑ Atribut juga memiliki jangkauan visibility,baik yang bersifat public (+), private (-),protected (#) dan package (~)
❑ Visibility adalah spesifikasi yang dapatdimiliki oleh kelas, atribut dan operasi yangmenetukan hak akses atau jangkauan atributdan operasi tersebut
❑ (-) private, hanya kelas yang bersangkutanyang dapat menggunakan fitur tersebut.
❑ (+) public, kelas-kelas diluar kelas yang
bersangkutan dapat mengakses dan
menggunakannya
❑ (#) protected, setiap kelas turunannya dapat
mengakses dan menggunakannya
❑ (~) package, hanya kelas yang berada dalam
package yang sama yang dapat mengakses dan
menggunakannya
Keterangan
• Operation()
❑ Operation (operasi) adalah implementasi darilayanan yang dapat diminta dari objekmanapun dari kelas
❑ Operasi merupakan perilaku dari objek yangmempengaruhi status dari objek
❑ Dalam konteks pemrograman operasi padadasarnya sebuah fungsi atau prosedur yangdimiliki objek terkait
❑ Suatu operasi dapat mengembalikan nilai sesuaidengan type data yang kita tentukan
• Contoh Class
class Class Model
Mobil
- merk: String
- mesin: String
- model: String
- tahun: int
- warna: String
+ break(): void
+ moveBackward(): void
+ moveForward(): void
+ moveLeft(): void
+ moveRight(): void
Sumber : Hasil Perancangan (2019)
public class Mobil {
private String merk;
private String mesin;
private String model;
private int tahun;
private String warna;
public Mobil(){
}
public void finalize()throws Throwable {
}
public void break(){
}
public void moveBackward(){
}
public void moveForward(){
}
public void moveLeft(){
}
public void moveRight(){
}
}
P
e
n
e
r
a
p
a
n
k
o
d
e
Sumber : Hasil Perancangan (2019)
2. Multiplicity
Menurut (Akil, 2018), Multiplicity (baca : multiplisitas)adalah spesifikasi jangkauan kardinalitas yang diijinkanyang dimiliki suatu entitas.
Multiplisitas menunjukkan jumlah suatu objek yangdapat berhubungan dengan objek yang lain.
Multiplisitas biasanya ditunjukkan dengan satu ataubanyak, tetapi secara khusus dapat ditunjukkan puladengan bilangan integer lebih besar atau sama dengannol
Menurut (Tohari, 2014), jenis-jenis multiplisitas
sebagai berikut :
Indikator Arti
0..1 Nol atau satu
1 Hanya satu
0..* Nol atau banyak
1..* Satu atau banyak
n Hanya n (dengan n>1)
0,..n Nol sampai n (dengan n>1)
1..n Satu sampai n (dengan n>1)
Contoh
- (Cara baca dari kiri ke kanan) Setiap karyawan bisa
kemungkinan tidak memiliki mobil atau memiliki satu
mobil
- (Cara baca dari kanan ke kiri) Setiap mobil
kemungkinan tidak dimiliki oleh karyawan atau
dimiliki oleh seorang karyawan
- Kesimpulan kardinalitasnya adalah one to one
Sumber : Tohari, 2014
- (Cara baca dari kiri ke kanan) Setiap konsumen
melakukan satu atau banyak transaksi
- (cara baca dari kanan ke kiri) Setiap transaksi
dilakukan oleh satu konsumen
- Kesimpulan kardinalitasnya adalah one to many
Sumber : Tohari, 2014
• (Cara baca dari kiri ke kanan) Setiap transaksi
melibatkan satu atau banyak barang
• (Cara baca dari kanan ke kiri) Setiap barang
dilibatkan dalam satu atau banyak transaksi
• Kesimpulan kardinalitasnya adalah many to
many
Sumber :Tohari, 2014
3. Generalization
Menurut (Akil, 2018)
▪ Sebuah generalization (baca : generalisasi)
adalah hubungan antara kelas umum (parent /
superclass) dengan kelas khusus (child/
subclass)
▪ Dengan hubungan generalisasi suatu kelas
child dapat mewarisi struktur dang tingkah
laku dari kelas parentnya.
4. Association (Asosiasi)
Menurut (Akil, 2018)
▪ Asosiasi adalah hubungan struktural yang
menspesifikasikan bahwa objek-objek dari
satu hal terhubung dengan objek yang lainnya.
▪ Sebuah asosiasi biasanya memiliki nama yang
menjelaskan secara alami hubungan tersebut
▪ Dapat ditambahkan direction (arah) hubungan
asosiasi tersebut
5. Aggregation (Agregasi)
▪ Hubungan keseluruhan/bagian, dimana satu kelasmerepresentasikan hal yang lebih besarkeseluruhan yang berisi hal lebih kecil bagian,hubungan ini disebut Agregasi
▪ Agregasi merepresentasikan hubungan memilikiyang berarti bahwa objek keseluruhan memilikiobjek-objek bagian.
▪ Agregasi digambarkan sebagai asosiasi denganbelah ketupat kosong pada objek keseluruhan
Contoh
class Class Model
Perusahaan Div isi
Keseluruhan Agregasi Bagian
1*
Sumber : Hasil Perancangan (2019)
6. Composition (komposisi)
▪ Komposisi adalah bentuk agregasi dengan
hubungan kepemilikan yang lebih kuat dan
lifetimedari objek sebagai bagian dari
keseluruhan.
▪ Objek-objek yang merupakan bagian pada saat
diinstansiasi hanya dapat dimiliki oleh objek
keseluruhan dan hidup selama keseluruhan
hidup.
• Dari gambar diatas, objek KeranjangBelanja
merupakan komposisi dari objek ItemBarang
• Objek ItemBarang sepenuhnya dimiliki oleh
objek kerangjangBelanja dan hidup selama
objek KerangjangBelanja hidup
class Class Model
KeranjangBelanja ItemBarang
1..*1
Sumber : Hasil Perancangan (2019)
class Sistem Pembelian
Pemesanan
- noPesan: char
- tglPesan: date
- total: int
+ batal(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
DetailPesan
- kdBarang: char
- noPesan: char
- qtyPesan: int
- subTotal: int
Barang
- harga: int
- kdBarang: char
- nmBarang: char
- stok: int
+ batal(): void
+ cari(): void
+ edit(): void
+ hapus(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
Supplier
- alamat: char
- kdSupp: char
- nmSupp: char
- telepon: char
+ batal(): void
+ cari(): void
+ edit(): void
+ hapus(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
Pembelian
- noBeli: char
- noFaktur: char
- tglBeli: date
- totalBeli: double
+ batal(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
DetailPembelian
- kdBarang: char
- noBeli: char
- qtyBeli: int
- subBeli: int
ReturBeli
- noRetur: char
- tglRetur: date
- totalRetur: double
+ batal(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
DetailRetur
- kdBarang: char
- noRetur: char
- qtyRetur: int
- subRetur: double
Jurnal
- noJurnal: char
- tglJurnal: date
+ batal(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
DetailJurnal
- debet: int
- kredit: int
- noAkun: char
- noJurnal: char
Akun
- nmAkun: char
- noAkun: char
+ batal(): void
+ cari(): void
+ edit(): void
+ hapus(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
User
- hakAkses
- idUser
- nmUser
- pass
+ batal(): void
+ cari(): void
+ edit(): void
+ hapus(): void
+ keluar(): void
+ simpan(): void
+ tambah(): void
1
1
1
1..*
1
1..*
1..*
1
1..*
1
1
0..*
1 0..*
1
1..*
1..*
1
1 0..1
1 1
1 1..*
1..*
1
1..
1..*
0..*
1
1
1..*
1
1
1
1..*
1
1..*
Sumber : Hasil Perancangan (2019)
Spesifikasi fileNama File : SupplierFungsi : Untuk menyimpan data supplierAkronim : Supplier.mydTipe File : MasterMedia File : HarddiskOrganisasi File : Index SequentialAkses File : RandomPanjang Record : 71 KarakterKunci Field : kdSuppSoftware : My SQL
Elemen Data Akronim Tipe Data Panjang Keterangan
Kode Supplier kdSupp Char 3 Primary Key
Nama Supplier nmSupp Char 25
Alamat alamat Char 30
Telepon telepon Char 13
Tabel Spesifikasi File