• Tidak ada hasil yang ditemukan

Perancangan Basis Data

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:

Dokumen terkait