BAB III ANALISA DAN PERANCANGAN SISTEM
B. Perancangan Sistem
3. Perancangan Basis Data
a. Perumusan Entitas dan Atribut Dalam Basis Data
Berdasarkan DAD yang ada di atas, maka dapat diidentifikasi
macam-macam data yang perlu direkam. Data tentunya berguna untuk
mendukung jalannya aplikasi, sehingga maksud dan tujuan dari
dikembangkannya aplikasi ini dapat tercapai. DAD di atas
menunjukankan bahwa yang perlu direkam adalah data-data yang
tergolong dalam data kelompok, user, agenda, buku alamat, berita,
forum, tanggapan, file, dan chat. Data-data hasil identifikasi ini
kemudian dijadikan sebagai entitas dalam basis data.
Entitas dalam basis data kemudian harus diidentifikasi
atribut-atributnya. Berikut adalah hasil identifikasi atribut-atribut dari
entitas-entitas yang telah disebutkan diatas.
1) user{ username, password, status }
2) kelompok{ nama_kelompok, deskripsi }
3) agenda{ no_agenda, judul, isi, waktu, waktu_selesai }
4) berita{ no_berita, judul, berita }
5) buku_alamat {no_alamat, nama, alamat, jenis_kelamin, pekerjaan,
kota, no_telp, email }
6) forum { no_forum, nama, deskripsi }
7) tanggapan { no_tanggapan, isi, pengirim }
8) file { no_file, nama_file }
b. Relasi Antar Entitas Basis Data
Setelah mengidentifikasi entitas-entitas dalam basis data
beserta atributnya, maka selanjutnya adalah menemukan relasi dari
entitas-entitas tersebut. Entitas-entitas yang akan saling berelasi yaitu:
1) user dan kelompok mempunyai cardinality ratio M:1, karena
dalam satu kelompok bisa terdapat banyak user, tetapi satu user
hanya dapat terdaftar pada satu kelompok, dan participation
constrainttotal-total karena setiap user pasti terdaftar di salah satu
kelompok dan setiap kelompok pasti memiliki user.
2) user dan agenda mempunyai cardinality ratio 1:M, karena seorang
user bisa memiliki banyak agenda, tetapi sebuah agenda hanya
milik seorang user, dan participation constraint partial-total
karena tidak setiap user mempunyai agenda, tetapi setiap agenda
pasti milik user tertentu.
3) user dan buku alamat mempunyai cardinality ratio 1:M, karena
seorang user bisa memiliki banyak data buku alamat, tetapi satu
data buku alamat hanya milik seorang user, dan participation
constraint total-total karena setiap user pasti mempunyai data
buku alamat (minimal data user sendiri), dan setiap data buku
alamat pasti milik user tertentu.
4) user dan berita mempunyai cardinality ratio 1:M, karena seorang
user bisa memiliki banyak berita, tetapi sebuah berita hanya milik
seorang user, dan participation constraint partial-total karena
tidak setiap user mempunyai berita, tetapi setiap berita pasti milik
user tertentu.
5) user dan forum mempunyai cardinality ratio 1:M, karena seorang
user bisa memiliki banyak forum, tetapi sebuah forum hanya milik
seorang user, dan participation constraint partial-total karena
tidak setiap user mempunyai forum, tetapi setiap forum pasti milik
user tertentu.
6) user dan file mempunyai cardinality ratio 1:M, karena seorang
user bisa memiliki banyak file, tetapi sebuah file hanya milik
seorang user, dan participation constraint partial-total karena
tidak setiap user mempunyai file, tetapi setiap file pasti milik user
tertentu.
7) user dan chat mempunyai cardinality ratio 1:M, karena seorang
user bisa memiliki banyak data chat, tetapi sebuah data chat hanya
milik seorang user, dan participation constraint partial-total
karena tidak setiap user mempunyai data chat, tetapi setiap data
chat pasti milik user tertentu.
8) forum dan tanggapan mempunyai cardinality ratio 1:M, karena
sebuah forum bisa memiliki banyak tanggapan, tetapi sebuah
tanggapan hanya milik sebuah forum, dan participation constraint
partial-total karena tidak setiap forum mempunyai tanggapan,
c. Entity Relationship Diagram (ERD)
Entity Relationship Diagram adalah diagram yang
menggambarkan entitas-entitas beserta atribut-atributnya, dan
hubungan antar entitas, guna diimplementasikan dalam bentuk
tabel-tabel untuk menyimpan data. Berdasarkan semua rancangan di atas,
maka Entity Relationship Diagram dari aplikasi workgroup berbasis
web dapat digambarkan seperti yang ditunjukkan pada gambar 3.17.
d. Pemetaan / Mapping
Yang dimaksud dengan pemetaan adalah kegiatan perumusan
ER Diagram ke dalam bentuk tabel-tabel yang saling berelasi yang
ditunjukkan dengan adanya kunci utama(primary key) dan kunci tamu
(foreign key). Hasil pemetaan dari ERD dapat dilihat sebagai berikut:
1) user{ username, password, status, nama_kelompok }
2) kelompok{ nama_kelompok, deskripsi }
3) agenda{ no_agenda, judul, isi, waktu, waktu_selesai, username }
4) berita{ no_berita, judul, berita, waktu, username }
5) buku_alamat {no_alamat, nama, alamat, jenis_kelamin, pekerjaan,
kota, no_telp, email, username }
6) forum { no_forum, nama, deskripsi, username }
7) tanggapan { no_tanggapan, isi, pengirim, waktu, no_forum }
8) file { no_file, nama_file, waktu, username }
Gambar 3.17
Entity Re
lationship D
e. Integritas Basis Data
1) Aturan Integritas Entitas
Penerapan kunci utama dan kunci tamu untuk setiap entitas
(tabel) dari basis data ditunjukan pada tabel 3.2 berikut:
Tabel 3.2 Aturan Integritas Entitas
No. Nama Tabel Kunci Utama Kunci Tamu
1. user username nama_kelompok
2. kelompok nama_kelompok -
3. agenda no_agenda username
4. berita no_berita username
5. buku_alamat no_alamat username
6. forum no_forum username
7. tanggapan no_tanggapan no_forum
8. file no_file username
9. chat no_ chat username
2) Aturan Domain
Domain merupakan kumpulan tipe data dan jangkauan
nilai yang diperbolehkan pada atribut dari semua relasi atau
entitas. Domain dari sebuah atribut mencakup: tipe data, panjang,
format, jangkauan, nilai yang memungkinkan, dan kemungkinan
data null. Berikut adalah aturan domain dari setiap atribut entitas
yang terdapat pada basis data sesuai dengan ERD di atas.
a) Entitas user
Tabel 3.3 Aturan Domain Entitas User
Atribut Auto
Increment Tipe Data Unik Null
username - varchar 16 karakter Y T
password - varchar 40 karakter T T
status - unsignedtinyint T T
Keterangan:
Isi dari atribut status adalah 1-3, dimana 1 untuk administrator
workgroup, 2 untuk anggota dan 3 untuk calon anggota.
Y : Ya, dan T : Tidak
b) Entitas kelompok
Tabel 3.4 Aturan Domain Entitas Kelompok
Atribut Auto
Increment Tipe Data Unik Null
nama_kelompok - varchar 30 karakter Y T
deskripsi - mediumtext T T
Keterangan:
Y : Ya, dan T : Tidak
c) Entitias agenda
Tabel 3.5 Aturan Domain Entitas Agenda
Atribut Auto
Increment Tipe Data Unik Null
no_agenda Y unsignedinteger Y T
judul - varchar 50 karakter T T
isi - mediumtext T T
waktu - datetime T T
waktu_selesai - datetime T T
username - varchar 16 karakter T T
Keterangan:
Y : Ya, dan T : Tidak
d) Entitas berita
Tabel 3.6 Aturan Domain Entitas Berita
Atribut Auto
Increment Tipe Data Unik Null
no_berita Y unsignedinteger Y T
judul - varchar 50 karakter T T
Atribut Auto
Increment Tipe Data Unik Null
waktu - datetim T T
username - varchar 16 karakter T T
Keterangan:
Y : Ya, dan T : Tidak
e) Entitas buku_alamat
Tabel 3.7 Aturan Domain Entitas Buku_alamat
Atribut Auto
Increment Tipe Data Unik Null
no_alamat Y unsignedinteger Y T
nama - varchar 50 karakter T T
jenis_kelamin - unsignedtinyint T T
pekerjaan - varchar 30 karakter T T
alamat - varchar 75 karakter T T
kota - varchar 20 karakter T T
no_telp - varchar 14 karakter T Y
email - varchar 75 karakter T Y
username - varchar 16 karakter T T
Keterangan:
Isi dari atribut jenis_kelamin adalah 1-2, 1 berarti pria, dan 2
berarti wanita.
Y : Ya, dan T : Tidak
f) Entitas forum
Tabel 3.8 Aturan Domain Entitas Forum
Atribut Auto
Increment Tipe Data Unik Null
no_forum Y unsignedinteger Y T
nama - varchar 50 karakter T T
deskripsi - mediumtext T T
username - varchar 16 karakter T T
Keterangan:
g) Entitas tanggapan
Tabel 3.9 Aturan Domain Entitas Tanggapan
Atribut Auto
Increment Tipe Data Unik Null
no_tanggapan Y unsignedinteger Y T
isi - mediumtext T T
pengirim - varchar 16 karakter T T
waktu - datetime T T
no_forum - unsignedinteger T T
Keterangan:
Y : Ya, dan T : Tidak
h) Entitas file
Tabel 3.10 Aturan Domain Entitas File
Atribut Auto
Increment Tipe Data Unik Null
no_file Y unsignedinteger Y T
nama_file - varchar 50 karakter T T
waktu - datetime T T
username - varchar 16 karakter T T
Keterangan:
Y : Ya, dan T : Tidak
i) Entitas chat
Tabel 3.11 Aturan Domain Entitas Chat
Atribut Auto
Increment Tipe Data Unik Null
no_chat Y unsignedinteger Y T
pesan - mediumtext T T
waktu - datetime T T
username - varchar 16 karakter T T
Keterangan:
Dalam dokumen
PENGEMBANGAN APLIKASI WORKGROUP BERBASIS WEB
(Halaman 62-71)