Anda di halaman 1dari 7

NAMA : Muhammad Akbar Saputra

NIM : 1815025029
Tugas Praktikum A2 Mata Kuliah Basis Data

1. Jelaskan Perbedaan antara Primary Key dan Foreign Key !


Jawab :
Primary key adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field
yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain
Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan
satu sama lainnya (unik).

Berikut adalah contoh primary key pada salah satu tabel.

Ada ketentuan yang harus diperhatikan ketika field yang menjadi primary key yakni :
a. Data tidak boleh sama atau ganda (unik)
b. Data tidak boleh bernilai null
Contoh sederhana penerapan primary key adalah seperti contoh diatas adalah id.

Sedagkan Foreign key yaitu satu atribute (atau satu set atribute) yang melengkapi satu
relationship (hubungan) yang menunjukkan ke induknya. Foreign key berguna untuk
mendefinisikan kolom-kolom pada suatu tabel yang nilainya mengacu ke tabel lain,jadi
kolom foreign key nilainya harus diambil dari nilai kolom pada tabel lain.
Dari namanya kita bisa mengira bahwa foreign (tamu) key, merupakan suatu atribut
untuk melengkapi hubungan yang menunjukan ke induknya, itu artinya field pada tabel
merupakan kunci tamu dari tabel lain. Dan biasanya penggunaan foreign key akan sangat
dibutuhkan ketikan kita menemukan banyak tabel dan ingin menghubungkan satu tabel
dengan tabel lainnya.

Contohnya seperti pada gambar dibawah ini.

2. Jelaskan apa yang dimaksud dengan “Relasi” yang ada didalam basis data?
Jawab :
Secara umum. relasi adalah hubungan antara tabel yang mempresentasikan hubungan
antar objek di dunia nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel
dengan lainnya yang mempresentasikan hubungan antar objek di dunia nyata dan
berfungsi untuk mengatur mengatur operasi suatu database.

Jadi relasi merupakan penghubung antar tabel satu dengan tabel lainnya yang mana tabel
tersebut memiliki data yang berhubungan di dunia nyata untuk mengatur operasi suatu
database. Pada sebuah database, relasi dihubungkan dengan cara memberikan satu kolom
dengan value yang sama dengan tabel yang berhubungan, ini disebut foreign key. Foreign
key sendiri merupakan sebuah kolom yang hanya bisa menyimpan data yang sama
dengan primary key yang berhubungan dengan tabel tersebut. Artinya foreign key hanya
bisa diisi dengan data yang sudah ada pada primary key.

3. Sebutkan dan jelaskan secara singkat jenis jenis relasi !


Jawab :
Relasi mencakup tiga macam. Yaitu :

1. Relasi One To One


Relasi one to one adalah relasi dimana setiap satu baris data pada tabel satu hanya
berhubungan dengan satu baris data di tabel dua. Artinya masing - masing hanya
memiliki satu hubungan saja. Biasanya relasi seperti ini digunakan pada relasi pengguna
dan userlogin. Dimana satu pengguna hanya memiliki satu akun untuk login. dan satu
akun login hanya dimiliki oleh pengguna.

contoh relasi one to one

Pada gambar diatas adalah contoh relasi one to one. Dimana relasi tersebut terdapat pada
tabel pengguna dan tabel login_pengguna. Dimana pengguna hanya memiliki satu akun
login_pengguna. Dan satu akun login hanya untuk satu pengguna saja. Pada relasi
tersebut, terdapat primary key id_pengguna pada tabel pengguna yang berelasi dengan
id_pengguna.

Pada tabel login_pengguna, id_pengguna adalah primary key sekaligus foreign key dari
tabel pengguna. Hal itu karena primary key merupakan kolom spesial dimana tiap baris
memiliki isi dari primary key yang berbeda - beda. Sedangkan foreign key merupakan
penghubung antara tabel satu dan tabel dua. Dan foreign key harus sama isinya dengan
primary key dari tabel pengguna. Dengan kata lain, id_pengguna dari tabel login
pengguna harus sama isinya dengan id_pengguna dari tabel pengguna dan id_pengguna
pada login_pengguna tidak bisa menyimpan data yang sama lebih dari satu kali.

Untuk kasus one to one sendiri, sebenarnya kita hanya perlu menentukan tabel lemah.
Dimana tabel lemah tersebut tidak berpengaruh pada tabel kuat. Sementara tabel lemah
sangat berpengaruh pada tabel kuat. Seperti contoh dari relasi diatas. tabel pengguna
adalah tabel kuat. Karena untuk mengisi tabel login_pengguna harus menjadi pengguna
terlebih dahulu. Sementara tabel login pengguna adalah tabel lemah, karena jika data
yang berelasi dari tabel tersebut dihapus atau tidak ada, namun di tabel pengguna ada.
Maka artinya dia adalah pengguna yang belum memiliki akun untuk login saja.

Dalam kasus lain, kita sebut saja karyawan dan rekening. Setiap karyawan pasti memiliki
rekening satu dan satu rekening hanya dimiliki karyawan. Jika dia bukan karyawan, maka
dia tidak punya rekening. Namun jika dia karyawan dan tidak ada rekening, artinya dia
termasuk karyawan yang belum mempunyai rekening. Tentu saja kasus ini terlepas dari
semua orang bisa menjadi rekening tanpa menjadi karyawan.

2. Relasi One To Many


Relasi one to many adalah relasi yang mana setiap baris dari tabel pertama dapat
dihubungkan dengan satu baris ataupun lebih dari tabel kedua. Artinya satu baris dari
tabel pertama dapat mencangkup banyak data pada tabel kedua. Disini saya contohkan
seperti dosen dan mata kuliah. Kita tahu bahwa dosen bisa memiliki banyak mata kuliah
yang dia ampu. Namun satu mata kuliah hanya bisa diampu oleh satu dosen saja.

Contoh relasi one to many


Pada gambar diatas, kita bisa lihat bahwa pada tabel dosen memiliki primary key
id_dosen yang mana primary key tersebut sebagai pembeda antara baris satu dengan baris
lain. Sedangkan pada tabel matkul terdapat satu primary key yaitu id_matkul dan terdapat
foreign key id_dosen dari tabel dosen. Karen foreign key pada tabel matkul bukanlah
primary key, artinya kita bisa menambah data yang sama dari foreign key tersebut
asalkan data tersebut sama dengan data dari tabel dosen.

Pada kasus one to many ini. Kita perlu untuk memberikan akses pada satu tabel kuat
dimata satu tabel tersebut haruslah terisi terlebih dahulu agar data pada tabel kedua bisa
menyesuaikan data dari tabel pertama. Contohnya relasi tabel diatas. Jika tidak ada
dosen, maka tidak ada matkul yang diampu. Sedangkan jika matkul tidak ada, dosen bisa
mengampu mata kuliah yang lain.

Dalam kasus lain, Mahasiswa dan kelas. Setiap satu kelas bisa diisi oleh banyak
mahasiswa, namun setiap mahasiswa hanya memiliki satu kelas. Disini bisa kita ambil
kesimpulan jika mahasiswa tidak ada, maka dia tidak ada di kelas itu dan mahasiswa lain
yang terdapat pada kelas tersebut. namun jika kelas tidak ada, maka mahasiswa tidak ada
yang berada di kelas tersebut karena kelas tersebut tidak ada.

3. Relasi Many To Many

Relasi many to many adalah keadaan dimana satu baris dari tabel satu dapat berhubungan
dengan tabel kedua. Dan satu baris dari tabel kedua dapat berhubungan dengan banyak
baris dari tabel pertama. Artinya kedua tabel masing - masing dapat mengakses banyak
data dari tiap tabel yang lain. Dalam hal ini, kita membutuhkan tabel ketiga sebagai
perantara tabel satu dan tabel dua sebagai tempat untuk menyimpan foreign key dari
masing - masing tabel. Disini saya memberikan contoh barang dan penjualan. Tentu saja
setiap satu jenis barang bisa dijual berkali - kali. Dan satu penjualan bisa mencangkup
banyak barang.
Contoh relasi many to many

Pada gambar diatas, terdapat tiga tabel. Yaitu tabel penjualan, barang, dan
detail_penjualan. Barang dan penjualan adalah dua tabel yang berelasi many to many.
Akhirnya menghasilkan satu tabel yaitu tabel detail_penjualan. Pada tabel
detail_penjualan, terdapat foreign key dari tabel penjualan dan tabel barang namu tidak
terdapat primary key karena pada tabel ini tidak dibutuhkan primary key. Sehingga data
yang terdapat pada tabel detail_penjualan ini sangat bergantung pada tabel barang dan
penjualan.

Untuk kasus many to many, kita membutuhkan tabel ketiga sebagai tempat penyimpanan
foreign key karena foreign key tersebut bisa menyimpan data yang sama berkali - kali.
Artinya pada tabel detail penjualan dapat menyimpan id_penjualan yang sama berkali -
kali dan id_barang yang sama berkali - kali juga. Dengan begitu kedua relasi tersebut bisa
berhubungan berkali - kali tanpa perlu repot - repot.

Pada kasus lain, yaitu perpustakaan. Terdapat pengunjung yang dapat meminjam banyak
jenis buku. Sedangkan buku dapat dipinjam oleh banyak pengunjung. Artinya harus ada
satu tabel baru yaitu tabel peminjaman yang mana tabel tersebut menyimpan data buku
dan pengunjung yang saling behubungan.

Dari kasus diatas dapat diambil kesimpulan bahwa relasi many to many dapat terjadi
ketika data yang berhubungan adalah data subjek dan objek. Dimana subjeknya adalah
manusia, objeknya adalah barang atau tempat atau benda mati lainnya dengan syarat
objek tersebut tersedia lebih dari satu buah. Jika kita belajar bahasa indonesia, ketika ada
subjek dan objek, untuk menggabungkan keduanya membutuhkan predikat.

Anda mungkin juga menyukai