Modul 1 (fix)

22
MODUL I Normalisasi Tujuan 1. Mampu menentukan key dengan tepat. 2. Mampu memasangkan pasangan PK dan FK sesuai cardinality. 3. Mampu melakukan normalisasi terhadap suatu sistem dengan benar. Tugas Pendahuluan 1. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya dilakukan dalam pembuatan suatu program basis data. 2. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya dilakukan dalam proses normalisasi, berikan contoh untuk menggambarkan proses yang terjadi disetiap tahapan normalisasi. 3. Sebutkan macam-macam tipe data yang ada dalam MySQL serta kebutuhan memory dan penggunaannya dengan jelas. Nama : I Made Yudha Arya Dala NIM : 1504505040

description

basis

Transcript of Modul 1 (fix)

Page 1: Modul 1 (fix)

MODUL I

Normalisasi

Tujuan

1. Mampu menentukan key dengan tepat.

2. Mampu memasangkan pasangan PK dan FK sesuai cardinality.

3. Mampu melakukan normalisasi terhadap suatu sistem dengan benar.

Tugas Pendahuluan

1. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya

dilakukan dalam pembuatan suatu program basis data.

2. Sebutkan dan jelaskan dengan rinci tahapan-tahapan yang semestinya

dilakukan dalam proses normalisasi, berikan contoh untuk

menggambarkan proses yang terjadi disetiap tahapan normalisasi.

3. Sebutkan macam-macam tipe data yang ada dalam MySQL serta

kebutuhan memory dan penggunaannya dengan jelas.

4. Sebutkan kegunaan key dalam suatu tabel. Lalu sebutkan dan jelaskan

macam - macam key yang ada dalam konsep basisdata.

5. Sebutkan dan jelaskan macam-macam relationship (keterhubungan) yang

ada dalam konsep basisdata.

Jawaban

1. Tahapan- tahapan yang dilakukan dalam pembuatan suatu program basis

data :

a. Pengumpulan data dan analisa

Nama : I Made Yudha Arya Dala

NIM : 1504505040

Kelompok : 15

Page 2: Modul 1 (fix)

Merupakan suatu tahap dimana kita melakukan proses indentifikasi

dan analisa kebutuhan-kebutuhan data dan ini disebut pengumpulan

data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu

sistem database, kita harus mengenal terlebih dahulu bagian-bagian

lain dari sistem informasi yang akan berinteraksi dengan sistem

database.

Berikut ini adalah aktifitas-aktifitas pengumpulan data dan analisa:

1) Menentukan kelompok pemakai dan bidang-bidang aplikasinya

2) Peninjauan dokumentasi yang ada

3) Analisa lingkungan operasi dan pemrosesan data

b. Perancangan database secara konseptual

Pada tahap ini akan dihasilkan conceptual schema untuk database

yang tergantung pada sebuah DBMS yang spesifik. Sering

menggunakan sebuah high-level data model seperti ER/EER model

selama tahap ini. Dalam conceptual schema, kita harus merinci

aplikasi-aplikasi database yang diketahui dan transaksi-transaksi yang

mungkin.Tahap perancangan database secara konseptual mempunyai 2

aktifitas pararel:

1) Perancangan skema konseptual

Menguji kebutuhan-kebutuhan data dari suatu database yang

merupakan hasil dari tahap 1 dan menghasilkan sebuah conceptual

database schema pada DBMS-independent model data tingkat

tinggi seperti EER (Enhanced Entity Relationship) model.Untuk

menghasilkan skema tersebut dapat dihasilkan dengan

penggabungan bermacam-macam kebutuhan user dan secara

langsung membuat skema database atau dengan merancang skema-

skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian

menggabungkan skema-skema tersebut. Model data yang

digunakan pada perancangan skema konseptual adalah DBMS-

independent dan langkah selanjutnya adalah memilih DBMS untuk

melakukan rancangan tersebut.

Page 3: Modul 1 (fix)

2) Perancangan transaksi

Menguji aplikasi-aplikasi database dimana kebutuhan-

kebutuhannya telah dianalisa pada fase 1, dan menghasilkan

perincian transaksi-transaksi ini.Kegunaan tahap ini yang diproses

secara paralel bersama tahap perancangan skema konseptual adalah

untuk merancang karakteristik dari transaksi-transaksi database

yang telah diketahui pada suatu DBMS-independent. Transaksi-

transaksi ini akan digunakan untuk memproses dan memanipulasi

database suatu saat dimana database tersebut dilaksanakan.

c. Pemilihan DBMS

Pemilihan database ditentukan oleh beberapa faktor diantaranya faktor

teknik, ekonomi, dan politik organisasi.Contoh faktor teknik:

Keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis

DBMS (relational, network, hierarchical, dan lain-lain), struktur

penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dan

lain-lain.Faktor-faktor ekonomi dan organisasi yang mempengaruhi

satu sama lain dalam pemilihan DBMS :

1) Struktur data

Jika data yang disimpan dalam database mengikuti struktur hirarki,

maka suatu jenis hirarki dari DBMS harus dipikirkan.

2) Personal yang telah terbiasa dengan suatu sistem

Jika staf programmer dalam suatu organisasi sudah terbiasa dengan

suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan

waktu belajar.

3) Tersedianya layanan penjual

Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk

membantu memecahkan beberapa masalah sistem.

d. Perancangan database secara logika (data model mapping)

Tahap selanjutnya adalah membuat sebuah skema konseptual dan

skema eksternal pada model data dari DBMS yang terpilih. Tahap ini

dilakukan oleh pemetaan skema konseptual dan skema eksternal yang

dihasilkan pada tahap 2. Pada tahap ini, skema konseptual

Page 4: Modul 1 (fix)

ditransformasikan dari model data tingkat tinggi yang digunakan pada

tahap 2 ke dalam model data dari model data dari DBMS yang dipilih

pada tahap 3.Pemetaan tersebut dapat diproses dalam 2 tingkat:

1) Pemetaan system-independent

Pemetaan ke dalam model data DBMS dengan tidak

mempertimbangkan karakteristik atau hal-hal yang khusus yang

berlaku pada implementasi DBMS dari model data tersebut.

2) Penyesuain skema ke DBMS yang spesifik

Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan

pada implementasi yang khusus di masa yang akan datang dari

suatu model data yang digunakan pada DBMS yang dipilih.Hasil

dari tahap ini memakai perintah-perintah DDL (Data Definition

Language) dalam bahasa DBMS yang dipilih yang menentukan

tingkat skema konseptual dan eksternal dari sistem database.

Tetapi 10 dalam beberapa hal, perintah-perintah DDL memasukkan

parameter-parameter rancangan fisik sehingga DDL yang lengkap

harus menunggu sampai tahap perancangan database secara fisik

telah lengkap.Tahap ini dapat dimulai setelah pemilihan sebuah

implementasi model data sambil menunggu DBMS yang spesifik

yang akan dipilih. Contoh: jika memutuskan untuk menggunakan

beberapa relational DBMS tetapi belum memutuskan suatu relasi

yang utama. Rancangan dari skema eksternal untuk aplikasi-

aplikasi yang spesifik seringkali sudah selesai selama proses ini.

e. Perancangan database secara fisik

Perancangan database secara fisik merupakan proses pemilihan

struktur-struktur penyimpanan dan jalur-jalur akses pada file-file

databaseuntuk mencapai penampilan yang terbaik pada bermacam-

macam aplikasi.Selama fase ini, dirancang spesifikasi-spesifikasi

untuk database yang disimpan yang berhubungan dengan struktur-

struktur penyimpanan fisik, penempatan record dan jalur akses.

Berhubungan dengan internal schema (pada istilah 3 level arsitektur

Page 5: Modul 1 (fix)

DBMS).Beberapa petunjuk dalam pemilihan perancangan database

secara fisik :

1) Response time

Waktu yang telah berlalu dari suatu transaksi database yang

diajukan untuk menjalankan suatu tanggapan. Pengaruh utama

pada response time adalah di bawah pengawasan DBMS yaitu :

waktu akses database untuk data item yang ditunjuk oleh suatu

transaksi. Response time juga dipengaruhi oleh beberapa faktor

yang tidak berada di bawah pengawasan DBMS, seperti

penjadwalan sistem operasi atau penundaan komunikasi.

2) Space utility

Jumlah ruang penyimpanan yang digunakan oleh file-file database

dan struktur-struktur jalur akses.

3) Transaction throughput

Rata-rata jumlah transaksi yang dapat diproses per menit oleh

sistem database, dan merupakan parameter kritis dari sistem

transaksi (misal : digunakan pada pemesanan tempat di pesawat,

bank, dll). Hasil dari fase ini adalah penentual awal dari struktur

penyimpanan dan jalur akses untuk file-file database.

f. Implementasi Sistem database

Setelah perancangan secara logika dan secara fisik lengkap, kita dapat

melaksanakan sistem database. Perintah-perintah dalam DDL dan

SDL(Storage Definition Language) dari DBMS yang dipilih, dihimpun

dan digunakan untuk membuat skema database dan file-file database

(yang kosong). Sekarang database tersebut dimuat (disatukan) dengan

datanya.Jika data harus dirubah dari sistem komputer sebelumnya,

perubahan-perubahan yang rutin mungkin diperlukan untuk format

ulang datanya yang kemudian dimasukkan ke database yang baru.

Transaksi-transaksi database sekarang harus dilaksanakan oleh para

programmmer aplikasi.Spesifikasi secara konseptual diuji dan

dihubungkan dengan kode program dengan perintah-perintah dari

embedded DML yang telah ditulis dan diuji. Suatu saat transaksi-

Page 6: Modul 1 (fix)

transaksi tersebut telah siap dan data telah dimasukkan ke dalam

database, maka tahap perancangan dan implementasi telah selesai, dan

kemudian tahap operasional dari sistem database dimulai.

2. Tahapan-tahapan yang semestinya dilakukan dalam proses normalisasi :

a. Bentuk Tidak Normal

Merupakan suatu table yang berisikan satu atau lebih grup yang

berulang. Membuat table yang unnormalized, yaitu dengan

memindahkan data dari sumber informasi.

Contoh :

NIK Nama_Karyawan Alamat Kode_Perusahaan

Nama_Perusahaan

Kategori_Perusahaan

Deskripsi_Kategori

NIK001 Wayan Gobyog Jl. Sumangka No. 10

KP001 PT. Tipat Tahu 1 Perusahaan Jasa

KP003 PT. Sate Siap 2 Perusahaan Perdagangan

NIK002 Made Ninjik Jl. Buluan No. 21

KP002 PT. Lipi Gadang

1 Perusahaan Jasa

NIK003 Komang Kare Jl. Ceroring No. 32

KP002 PT. Lipi Gadang

1 Perusahaan Jasa

NIK004 Ketut Bule Jl. Kelagi No. 60

KP003 PT. Sate Siap 2 Perusahaan Perdagangan

NIK005 Putu Cenik Jl. Nyambu No. 70

KP004 PT. Tukad Dalem

2 Perusahaan Perdagangan

KP001 PT. Tipat Tahu 1 Perusahaan Jasa

Dari contoh table karwayan diatas terdapat group yang berulang dan

belum ada kolom yang menjadi primary key.

b. Bentuk Normal Pertama

Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap

kolom bernilai tunggal untuk setiap baris.

Page 7: Modul 1 (fix)

Contoh :NIK Nama_Karyawan Alamat Kode_Per

usahaanNama_Perusahaan

Kategori_Perusahaan

Deskripsi_Kategori

NIK001 Wayan Gobyog Jl. Sumangka No. 10

KP001 PT. Tipat Tahu

1 Perusahaan Jasa

NIK001 Wayan Gobyog Jl. Sumangka No. 10

KP003 PT. Sate Siap

2 Perusahaan Perdagangan

NIK002 Made Ninjik Jl. Buluan No. 21

KP002 PT. Lipi Gadang

1 Perusahaan Jasa

NIK003 Komang Kare Jl. Ceroring No. 32

KP002 PT. Lipi Gadang

1 Perusahaan Jasa

NIK004 Ketut Bule Jl. Kelagi No. 60

KP003 PT. Sate Siap

2 Perusahaan Perdagangan

NIK005 Putu Cenik Jl. Nyambu No. 70

KP004 PT. Tukad Dalem

2 Perusahaan Perdagangan

NIK005 Putu Cenik Jl. Nyambu No. 70

KP001 PT. Tipat Tahu

1 Perusahaan Jasa

Pada tabel diatas setiap kolom sudah bernilai tunggal untuk setiap

baris.

c. Bentuk Normal Kedua

Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada

dalam bentuk normal pertama, semua kolom bukan kunci primer

tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut

tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu

kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.

Contoh:

1) Table Karyawan

NIK Nama_Karyawan AlamatNIK001 Wayan Gobyog Jl. Sumangka No. 10NIK002 Made Ninjik Jl. Buluan No. 21NIK003 Komang Kare Jl. Ceroring No. 32NIK004 Ketut Bule Jl. Kelagi No. 60NIK005 Putu Cenik Jl. Nyambu No. 70

Page 8: Modul 1 (fix)

2) Table Perusahaan

KodePerusahaan

NamaPerusahaan

KategoriPerusahaan

DeskripsiKategori

KP001 PT. Tipat Tahu 1 Perusahaan JasaKP002 PT. Lipi Gadang 1 Perusahaan JasaKP003 PT. Sate Siap 2 Perusahaan

PerdaganganKP004 PT. Tukad Dalem 2 Perusahaan

Perdagangan

Pada tabel diatas terdapat 2 primary key yaitu NIK dan Kode

Perusahaan. Alasannya karena kolom lain lebih banyak bergantung

pada kolom NIK dan kolom Kode_Perusahaan.

d. Bentuk Normal Ketiga

Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada

dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak

memiliki ketergantungan secara transitif terhadap kunci primer.

Contoh :

3) Table KaryawanNIK Nama_Karyawan Alamat

NIK001 Wayan Gobyog Jl. Sumangka No. 10NIK002 Made Ninjik Jl. Buluan No. 21NIK003 Komang Kare Jl. Ceroring No. 32NIK004 Ketut Bule Jl. Kelagi No. 60NIK005 Putu Cenik Jl. Nyambu No. 70

4) Table Perusahaan

Kode_Perusahaan Nama_PerusahaanKP001 PT. Tipat TahuKP002 PT. Lipi GadangKP003 PT. Sate SiapKP004 PT. Tukad Dalem

5) Table Kategori PerusahaanKategori_Perusahaan Deskripsi_Kategori1 Perusahaan Jasa2 Perusahaan Perdagangan

Page 9: Modul 1 (fix)

Pada table perusahaan terdapat ketergantungan transitif tepatnya pada

kolom Deskripsi_Perusahaan yang bergantung pada kolom

Kategori_Perusahaan. Solusinya adalah kita harus memecah table

perusahaan menjadi beberapa table.

3. Macam-macam tipe data yang ada dalam MySQL ada 3 yaitu :

a. Tipe data untuk bilangan atau numeric

No Tipe Data Keterangan

1. TINYINT

Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk

bilangan bertanda -128 sampai dengan 127 dan untuk yang tidak

bertanda 0 sampai dengan 255. Bilangan tak bertanda ditandai

dengan kata UNSIGNED

2. SMALLINT

Ukuran 2 byte. Bilangan bulat dengan jangkauan untuk bilangan

bertanda -32768 sampai dengan 32767 dan untuk yang tidak

bertanda 0 sampai dengan 65535

3. MEDIUMINT

Ukuran 3 byte. Bilangan bulat dengan

jangkauan untuk bilangan bertanda -8388608 sampai dengan

8388607 dan untuk

yang tidak bertanda 0 sampai dengan 16777215

4. INT

Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan

bertanda -2147483648 sampai dengan 2147483647 dan untuk

yang tidak bertanda 0 sampai dengan 4294967295

5. INTEGER Sama dengan INT.

6. BIGINT

Ukuran 8 byte. Bilangan bulat dengan jangkauan untuk bilangan

bertanda -9223372036854775808 sampai dengan

9223372036854775807 dan untuk yang tidak bertanda 0 sampai

dengan 184467440737079551615

7. FLOAT Ukuran 4 byte. Biilangan pecahan.

8. DOUBLE Ukuran 8 byte. Bilangan pecahan.

9. DOUBLE Ukuran 8 byte. Bilangan pecahan berpresisi ganda.

Page 10: Modul 1 (fix)

PRECISION

10. REAL Ukuran 8 byte. Sinonim dari DOUBLE.

11. DECIMAL(M,D)

Ukuran M byte. Bilangan pecahan. Misalnya DECIMAL(5,2)

dapat digunakan untuk menyimpan bilangan -99,99 sampai dengan

99,99

12. NUMERIC(M,D) Ukuran M byte. Sama dengan Decimal.

b. Tipe data untuk tanggal dan jam

No Tipe Data Keterangan

1. DATETIMEUkuran 8 byte. Kombinasi tanggal dan jam dengan jangkauan dari

‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31 23:59:59’

2. DATEUkuran 8 byte. Kombinasi tanggal dan jam dengan jangkauan dari

‘1000-01-01’ sampai dengan ‘9999-12-31 ’

3. TIMESTAMPUkuran 4 byte. Kombinasi tanggal dan jam dengan jangkauan dari

‘1970-01-01’ sampai dengan ‘2037 ’

4. TIMEUkuran 3 byte.waktu dengan jangkauan dari -838:59:59 sampai

dengan 838:59:59

5. YEAR Ukuran 1 byte. Data tahun antara 1901 sampai dengan 2155

c. Tipe data untuk karakter atau string

No Tipe Data Keterangan

1. CHAR(M)Ukuran M byte, 1<=M<=255. Data string dengan panjang

yang tetap. CHAR(1) cukup ditulis dengan CHAR.

2. VARCHAR(M)Ukuran L+1 byte dengan L<=M dan 1<=M<=255. Data

string dengan panjang bervariasi tergantung datanya.

3.TINYBLOB,

TINYTEXT

L+1 byte, dengan L<28 . Tipe TEXT atau BLOB dengan

panjang maksimum 255 karakter.

4. BLOB, TEXT L+2 byte, dengan L<216 . Tipe TEXT atau BLOB dengan

panjang maksimum 65535 karakter.

Page 11: Modul 1 (fix)

5.MEDIUMBLOB,

MEDIUMTEXT

L+3 byte, dengan L<224. Tipe TEXT atau BLOB dengan

panjang maksimum 1677215 karakter.

6.LONGBLOB,

LONGTEXT

L+4 byte, dengan L<232. Tipe TEXT atau BLOB dengan

panjang maksimum 4294967295 karakter.

7. ENUM(’nilai1’,’nilai2’,..)Ukuran 1 atau 2 byte tergantungnilai enumerasinya maks

65535 nilai

8. SET(’nilai1’,’nilai2’,..)Ukuran 1,2,3,4 atau 8 byte tergantung jumlah anggota

himpunan maks 64 anggota.

4. Kegunaan key adalah untuk mengindentifikasi atau membedakan antara

satu tabel dengan tabel lainya. Key yang digunakan memiliki fungsi

masing-masing dalam mengindentifikasi yang berbeda-beda.

Berikut ini macam-macam key dalam konsep basisdata :

a. Kunci Calon (Candidat Key)

Kunci calon adalah salah satu rangkaian yang mempunyai nilai unik

untuk membedakan atau mengidentifikasi nilai-nilai kombinasi yang

unik diantara semua kejadian yang spesifik dari enttitas. Kunici

calon ini tidak boleh berisi atribut dari tabel yang lain. kombinasi dari

atribut yang dapat digunakan untuk mengidentifikasi secara unik rekor

database tanpa data apapun yang asing. Setiap tabel dapat memiliki

satu atau lebih kunci calon.

b. Kunci Utama (Primary Key)

Kunci utama adalah atribut merupakan kunci calon yang telah dipilih

untuk mengidentifikasi setiap record secara unik. Kunci utama harus

merupakan atribut yang benar-benar unik dan tidak boleh ada nilai

NULL. Kunci utama adalah suatu nilai dalam basis data yang

digunakan untuk mengidentifikasi suatu baris dalam table. Salah satu

dari kunci calon dapat dipilih menjadi kunci utama dengan 3 kriteria

sbb:

1) Kunci tersebut lebih natural untuk dijadikan acuan

2) Kunci tersebut lebih sederhana

Page 12: Modul 1 (fix)

3) Kunci tersebut cukup unik

c. Kunci Alternatif (Alternate Key)

Kunci Alternatif adalah kunci alternatif yang tidak terpilih. Misal :

dalam suatu entitas terdapat dua atribut yang bisa dijadikan sebagai

kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda

harus memilih salah satu. Atribut yang dipilih, disebut kunci

utama. sedangkan atribut yang tidak dipilih disebut dengan kunci .

d. Kunci Tamu (Foreign Key)

Jika sebuah kunci utama terhubung ke tabel lain, maka keberadaan

kunci utama pada tersbut di sebut sebagai kunci tamu. Kunci

tamu adalah Sebuah kumpulan atribut dalam satu relasi yang

digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada

relasi yang lain (harus berkorespondensi dengan kunci utama pada

relasi yang kedua), seperti: ‘logical pointer’.

Sedangkan hubungan antara keduanya (kunci utama dan kunci tamu)

di jelaskan sebagai berikut:

1) Kunci utama adalah atribut kunci dari suatu tabel yang

menunjukkan bahwa atribut tersebut tidak bisa diisi dengan

data yang sama, atau dengan kata lain kunci utama menjadikan

setiap record memiliki identitas sendiri-sendiri yang

membedakan satu sama lainnya (unik).

2) Kunci tamu  adalah atribut yang melengkapi satu relationship

yang menunjukan ke induknya, dengan kata lain keduanya

saling berkaitan.

e. Kunci Komposit (Composite Key)

Dalam desain basisdata, kunci komposit adalah kunci yang terdiri dari

dua atau lebih atribut yang secara unik mengidentifikasi suatu kejadian

entitas.

f. Kunci Sekunder (Secondary Key)

Kunci sekunder adalah sebuah atribut atau kombinasi yang digunakan

hanya untuk tujuan pengambilan data.

Page 13: Modul 1 (fix)

5. Macam-macam relationship (keterhubungan) yang ada dalam konsep

basisdata :

a. Relasi Satu ke Satu (One to One)

Artinya satu record pada entity A ber-relasi paling banyak satu record

juga pada entity B, begitu juga sebaliknya, satu record pada entity B,

ber-relasi paling banyak satu record juga dengan entity A. Dalam

diagram E-R, relasi ini disimbolkan dengan angka 1.

Contoh: Dalam proses belajar mengajar secara privat misalnya,

seorang (satu) tutor hanya mengajar satu siswa, begitu juga sebaliknya,

satu siswa hanya diajar oleh satu tutor.

b. Relasi Satu ke Banyak (One to Many)

Artinya satu record pada entity A ber-relasi dengan beberapa record

pada entity B, tapi tidak sebaliknya, setiap record pada entity B ber-

relasi paling banyak satu record dengan entity A. Dalam diagram E-R,

relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan

huruf M atau N untuk menyatakan banyak.

Contoh : Dalam proses belajar mengajar di sekolah dasar misalnya,

satu orang guru mengajar beberapa (banyak) murid.

c. Relasi Banyak ke Satu (Many to One)

Ini adalah kebalikan dari relasi satu ke banyak, dimana setiap record

pada entity A hanya dapat ber-relasi paling banyak 1 record pada entity

B, tapi tidak sebaliknya, satu record pada entity B dapat ber-relasi

dengan beberapa record pada entity A. Dalam diagram E-R, relasi ini

disimbolkan dengan angka 1 untuk menyatakan satu dan huruf M atau

N untuk menyatakan banyak.

tutor siswamengajar

1 1

guru muridmengajar

1 M

Page 14: Modul 1 (fix)

Contoh : Dalam proses belajar mengajar di sekolah, dalam satu kelas

(beberapa murid) hanya di ajar oleh satu guru.

d. Relasi Banyak ke Banyak (Many to Many)

Artinya beberapa record pada entity A dapat ber-relasi dengan

beberapa record juga pada entity B, begitu juga sebaliknya, beberapa

record pada entity B dapat ber-relasi dengan beberapa record juga pada

entity A. Dalam diagram E-R, relasi ini disimbolkan dengan huruf M

atau N untuk menyatakan banyak.

Contoh: Dalam hubungan antara mahasiswa dengan dosen pada

perguruan tinggi, yaitu seorang seorang dosen mengajar banyak

mahasiswa, sebaliknya seorang mahasiswa dapat diajar oleh beberapa

dosen, sehingga terjadi hubungan banyak ke banyak.

mengajar

murid guru

dosen mahasiswamengajar

1M

M M