Anda di halaman 1dari 14

PRIMARY KEY & FOREIGN KEY

KELOMPOK I :

Hasna Aulia Ritonga (5191151007)

Ardiansyah (5191151009)

Khotipah Adelia Lubis (5191151012)

Nadya Ashwarina Putri Lubis (5193151007)

Muhammad Ichsan (5193151010)

Salli Umar Lubis (5193351015)

DOSEN PENGAMPU :

Dr. Janner Simarmata, S.T., M.Kom


NIP. 197601072008121001

Ressy Dwitias Sari, S.T., M.T.I.


NIP. 198909152019032021

PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MEDAN

2020
KATA PENGANTAR

Segala puji bagi ALLAH SWT yang telah memberikan Nikmat serta Hidayah-Nya
terutama Nikmat kesempatan dan kesehatan sehingga kami dapat menyelesaikan makalah
mata kuliah Sistem Basis Data dengan materi ‘Primary Key & Foreign Key’. Makalah ini
dibuat bertujuan untuk menambah ilmu dan wawasan.

            Dalam penulisan makalah ini kami merasa masih banyak kekurangan baik pada teknik
penulisan maupun materi, mengingat akan kemampuan yang kami miliki. Untuk itu, kritik
dan saran dari semua pihak sangat kami harapkan demi penyempurnaan pembuatan makalah
ini.

            Dalam penulisan makalah ini kami menyampaikan ucapan terimakasih yang sebesar-
besarnya kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini, khususnya
kepada Dosen kami yang telah memberikan tugas dan petunjuk kepada kami, sehingga kami
dapat menyelesaikan tugas ini.

                                                                                                Medan, 18 Maret 2020

Kelompok 1

2
DAFTAR ISI

KATA PENGANTAR ii
DAFTAR ISI iii
BAB I 1
PENDAHULUAN 1
A. Latar Belakang Masalah 1
B. Rumusan Masalah 1
C. Tujuan 1
BAB II2
PEMBAHASAN 2
1. Primary Key 2
1.1 Pengertian 2
1.2 Fungsi 3
1.3 Syarat 4
1.4 Contoh 4
2. Foreign Key 5
2.1 Pengertian 5
2.2 Fungsi 6
2.3 Perbedaan Dengan Primary Key 7

BAB III 10
PENUTUP 10
Kesimpulan 10
Saran 10
DAFTAR PUSTAKA 11

3
BAB I

PENDAHULUAN

A. LATAR BELAKANG
Basis data adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer
untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan
dalam mengelola dan memanggil query basis data disebut sistem manajemen basis
data (Database Management System, DBMS).
Di dalam sistem basis data, terdapat sesuatu yang bernama key. Key adalah
satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row)
dalam tabel secara unik. Key di dalam database berfungsi sebagai suatu cara untuk
mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain.
Terdapat beberapa key pada basis data ini, yaitu Primary Key, Foreign Key,
Candidate Key dan yang lainnya. Disini, akan kita bahas mengenai Primary Key serta
Foreign Key.

B. RUMUSAN MASALAH
- Apa itu Primary Key?
- Apa itu Foreign Key?

C. TUJUAN
- Untuk mengetahui apa yang dimaksud dengan Primary Key.
- Untuk mengetahui apa yang dimaksud dengan Foreign Key.

1
BAB II

PEMBAHASAN

1. PRIMARY KEY

1.1 Pengertian

Seperti yang kita ketahui bersama, bahwa komponen yang terdapat pada basis
data saling memiliki keterkaitan dan keterikatan satu sama lain (Relasional). Hal itu
menyebabkan diperlukannya kunci untuk mengidentifikasi atau membandingkan apa
yang membedakan tabel yang satu dengan tabel lainnya. Terdapat beberapa jenis
kunci dalam mengidentifikasi, salah satunya Primary Key. Lalu, apakah definisi dari
primary key?

Secara sederhana, Primary Key disebut juga dengan Kunci Primer. Kunci
Primer tersebut dipilih sebagai identifikasi untuk membedakan satu baris dengan baris
lainnya dalam suatu tabel. Pada dasarnya, setiap tabel hanya memiliki satu primary
key saja. Primary key yang terdapat di tabel pertama dihubungkan dengan tabel kedua
sehingga pada tabel kedua disebut dengan Foreign Key.

Dalam suatu tabel, Anda mungkin menemukan banyak kolom yang disebut
dengan kunci kandidat (Candidate Key), dimana satu diantara kunci kandidat tersebut
dijadikan sebagai kunci primer (Primary Key).

Bentuk perintah dasar untuk membuat Primary Key dalam SQL adalah :

Column data_type1 [PRIMARY KEY]

2
1.2 Fungsi

Dalam penggunaan relasional database, tabel digunakan untuk menyimpan


setiap nilai didalamnya. Tabel yang merupakan gabungan dari kolom yang terdiri dari
nilai (value) yang bersifat unik untuk mengidentifikasi setiap barisnya. Kolom yang
unik itulah yang disebut dengan primary key. Primary key tersebut menandakan
tingkat integritas dari tabel tersebut.

Pemilihan primary key (kunci primer) merupakan salah satu langkah yang
terpenting dalam perancangan sebuah database yang baik dan benar. Primary key
terdapat di sebuah kolom yang digunakan untuk melaksanakan tujuan khusus. Sebagai
contoh, Anda menentukan primary key yang memungkinkan Anda melakukan query,
seperti mengubah atau memodifikasi setiap baris tanpa harus mengganggu baris lain
di tabel yang sama.

Keunikan primary key dapat mencegah terjadinya duplikasi data. Selain itu,
primary key juga dapat membantu Anda melakukan pencarian dengan waktu yang
begitu cepat. Sebagai contoh, dalam tabel MAHASISWA mungkin memiliki risiko
yang besar untuk membedakan setiap namanya, bisa saja seorang mahasiswa tersebut
memiliki nama yang sama dengan mahasiswa lain. Oleh karena itu, diperlukannya
noMahasiswa yang diberikan kepada setiap mahasiswa sebagai kunci primer yang
dapat memastikan bahwa setiap mahasiswa tersebut berbeda dan bersifat unik.

3
1.3 Syarat

Seperti yang sudah dijelaskan sebelumnya bahwa tabel menjadi syarat utama
yang harus dipenuhi dalam merancang relasional database. Tabel tersebut pun harus
memiliki kunci primer (primary key). Namun, untuk menetapkan primary key
diperlukan beberapa syarat yang harus dipenuhi kolom tersebut, diantaranya adalah
sebagai berikut :

1. Sebuah tabel hanya dapat memiliki satu primary key.


2. Primary key tidak boleh melebihi batas 16 kolom dengan panjang dari kunci tersebut
berukuran 900 byte.
3. Kolom yang didefinisikan sebagai primary key bersifat NOT NULL. Fungsinya untuk
memastikan bahwa nilai pada kolom tersebut harus terisi (tidak boleh kosong). Jika
dilakukan penginputan data, namun tidak memberikan nilai pada kolom tersebut maka
akan terjadi error dalam database.
4. Tidak boleh terdapat nilai data yang sama di kolom (field) tersebut.
5. Tipe data yang digunakan untuk primary key tidak boleh bertipe BLOB.

1.4 Contoh

4
Melalui gambar tersebut, diperoleh dua tabel. Tabel pertama merupakan tabel
Mahasiswa dan tabel kedua merupakan tabel Nilai. Tabel Mahasiswa berisi empat
kolom (attribute) yaitu noMahasiswa, namaMahasiswa, tgl_lahir, jenisKelamin. Tabel
Nilai berisi noMahasiswa, kode_matkul dan nilai. Primary key yang terdapat pada
tabel Mahasiswa adalah noMahasiswa. Kolom noMahasiswa tersebut dapat
digunakan untuk membedakan mahasiswa yang satu dengan yang lainnya.

Walaupun begitu, kita juga melihat terdapat kolom dengan nama yang sama yaitu
noMahasiswa. Pada tabel kedua, kolom noMahasiswa disebut Foreign Key (kunci
tamu) yang digunakan sebagai rujukan kepada tabel Mahasiswa. Dengan demikian,
kedua tabel tersebut dapat direlasikan karena adanya kunci kandidat yang disebut
dengan Primary Key.

2. FOREIGN KEY

2.1 Pengertian

Secara sederhana, foreign key dapat diartikan sebagai kunci asing. Definisi
tersebut juga berlaku dalam pengolahan relasional database. Kunci asing (Foreign
Key) adalah sebuah atribut atau gabungan atribut yang terdapat dalam suatu tabel
yang digunakan untuk menciptakan hubungan (relasi) antara dua tabel.

Dalam relasional database, penggunaan foreign key merujuk pada suatu kunci
primer yang terdapat pada tabel pertama atau dikenal juga dengan tabel master. Untuk
lebih jelasnya, perhatikanlah gambar dibawah ini.

5
Pada gambar diatas, kolom Department_Id yang berada dalam tabel Karyawan
merupakan foreign key. Sebab, kolom Department_Id merujuk pada kolom
Department_Id yang berada di tabel Department. Dalam hal itu, kolom
Department_Id pada tabel Department disebut dengan kunci primer (primary key).

2.2 Fungsi

Pada dasarnya, foreign key digunakan untuk menandakan hubungan tabel


yang satu dengan yang lainnya. Atau dapat dikenal dengan istilah parent dan child.
Tabel pertama berperan sebagai parent yang terdapat primary key di dalamnya, tabel
kedua disebut sebagai child yang berisi kunci asing (foreign key).

Suatu tabel dapat dikatakan child apabila dalam tabel tersebut terdapat kolom
yang merupakan rujukan (reference) terhadap tabel pertama atau parent. Selain itu,
terdapat beberapa fungsi yang dimiliki oleh foreign key. Berikut akan dijelaskan
mengenai beberapa fungsinya :

 Dengan menentukan kunci asing, maka otomatis database akan konsisten dalam
mempertahankan integritas referensial. Dengan begitu, database dapat memonitor
setiap data yang dimasukkan. Misalkan pada contoh gambar diatas, ketika Anda
mencoba memasukkan record baru dalam tabel Karyawan (“2010004”, “Andi”,
“Pria”, “10/03/1990”, “PEN”). Maka secara otomatis, database akan menolak

6
memasukkan record tersebut dan menampilkan pesan kesalahan. Sebab, dalam kolom
Department_Id di tabel Department tidak mengenal “PEN”.
 Ketika Anda telah menetapkan kunci primer di tabel utama dan kunci asing di tabel
kedua, maka itu memudahkan Anda untuk melihat rancangan fisik database dengan
komponen yang saling terkait. Dengan begitu, Anda tidak perlu membuat rancangan
database secara manual.
 Dengan membuat kolom yang digunakan sebagai foreign key, maka dapat
memudahkan Anda untuk melakukan operasi pengolahan setiap data yang tersimpan
dalam database. Sebab, data yang tersimpan sudah saling terkait satu dengan yang
lainnya.

2.3 Perbedaan Dengan Primary Key

Setelah mengetahui definisi dari primary key dan foreign key, kita sudah dapat
menyimpulkan perbedaan yang dimiliki kedua istilah tersebut. Dalam relasional
database, maka setiap tabel hanya dapat memiliki sebuah primary key. Berbeda
dengan foreign key, setiap tabel dapat memiliki banyak foreign key.

Masih banyak lagi perbedaan yang dimiliki primary key dan foreign key.
Berikut akan dijelaskan mengenai perbedaan keduanya.

7
a. Primary Key

1. Kunci utama mendefinisikan nilai tuple dalam sebuah tabel. Kunci utama juga dapat
dikatakan sebagai atribut tunggal dalam tabel. Dengan begitu, nilai dari kunci utama
tidak boleh berubah. Sebab, perubahan nilai pada primary key malah akan
menciptakan kebingungan.
2. Hal yang menjadi perbedaan utama antara primary key dengan foreign key adalah
nilai yang digunakan dalam primary key tidak boleh NULL. Maksudnya adalah
record tersebut harus diisi dengan nilai (tidak boleh kosong). Jika nilai atribut primary
key mengandung NULL, maka Anda tidak dapat mengidentifikasi record yang
terdapat dalam tabel tersebut.
3. Dalam primary key, Anda dapat membuat clustered index secara otomatis.
Maksudnya Anda dapat mengurutkan data yang akan disimpan dalam database.
4. Kunci utama merupakan kombinasi antara UNIQUE dan NOT NULL. Hal itu
menyebabkan tidak adanya nilai duplikat yang boleh dimiliki kolom untuk
didefinisikan sebagai kunci utama, terutama dalam mengolah relasional database.
5. Anda dapat menambahkan nilai baru ke atribut primary key, walaupun kunci asing
tidak memiliki nilai baru dalam kolomnya.
6. Anda tidak dapat menghapus nilai dari primary key dari tabel pertama (parent). Untuk
itu, Anda harus menghapus atribut yang disebut dengan foreign key di dalam tabel
kedua atau child.

b. Foreign Key

1. Foreign key merupakan suatu field dalam satu tabel yang digunakan untuk
menghubungkan dua tabel. Dengan begitu, foreign key merujuk pada suatu kolom
yang unik untuk mengidentifikasi baris dari satu tabel yang sama atau berbeda.
2. Berbeda dengan primary key yang nilainya tidak boleh NULL. Foreign key dapat
menerima nilai NULL. Oleh karena itu, foreign key tidak memiliki fungsi untuk
mengidentifikasi record yang terdapat dalam tabel. Selain itu, foreign key juga dapat
menerima nilai yang duplikat.
3. Di dalam foreign key tidak terdapat clustered index. Namun, Anda dapat
melakukannya dengan manual.

8
4. Anda tidak dapat menambahkan nilai ke dalam foreign key, jika nilai tersebut tidak
tersedia di kolom primary key. Sebab, syarat nilai dalam foreign key merupakan nilai
rujukan dari kolom primary key.
5. Anda dapat menghapus suatu nilai yang berasal dari kolom foreign key tanpa
mengganggu record yang lain, dan juga tanpa harus mengetahui apakah nilai tersebut
merupakan nilai yang dirujuk dari primary key atau tidak.

9
BAB III

PENUTUP

KESIMPULAN

Dalam lingkup database, primary key digunakan untuk mengidentifikasi nilai


data record dalam database. Database itu sendiri dapat menyortir atau
membandingkan setiap tabel yang dimiliki menggunakan primary key yang
ditetapkan dari sebuah kolom. Keberadaan primary key menjadi suatu hal yang sangat
penting dalam database. Selain untuk memudahkan dalam pengolahan data, primary
key juga berperan dalam proses pencarian data. Dengan menetapkan primary key
maka tidak ada satupun record (rekaman) dalam database yang memiliki nilai data
yang sama.  Terdapat beberapa hal yang harus diperhatikan dalam menetapkan nilai
itu sebagai primary key. Jika dalam database terdapat banyak tabel, maka tabel
tersebut dapat direlasikan dengan menggunakan primary key pada tabel pertama,
sedangkan pada tabel kedua nilai tersebut bukan lagi primary key melainkan foreign
key.

Secara sederhana, foreign key dapat menciptakan hubungan antara record


yang terdapat dalam dua tabel yang berbeda dalam suatu database. Foreign key inilah
yang menjadi kolom yang merujuk ke kolom primary key. Rujukan tersebut menjadi
sangat penting dalam merancang database, Hal itu guna untuk membangun hubungan
antar record yang memainkan peran penting dalam normalisasi relasional database.
Dalam normailisasi, kunci asing berperan untuk mengakses tabel lain dan dapat untuk
menyortir database.

SARAN

Dengan pembahasan primary key & foreign key, kita akan lebih mudah dan
cepat untuk melakukan pencarian data, pengurutan dan menampilkan informasi yang
telah dihasilkan dari pengolahan data dalam database.

10
DAFTAR PUSTAKA

Syafitri, Irmayani. (2019, Mei 30). Pengertian Primary Key Beserta Fungsi dan

Syarat untukMenetapkan Primary Key dalam Database. Diakses 11 Maret


2020 dari :

https://www.nesabamedia.com/pengertian-primary-key/

Zakaria (2019, Mei 30). Pengertian Foreign Key Beserta Fungsi dan Perbedaannya

dengan Primary Key. Diakses 11 Maret 2020 dari :

https://www.nesabamedia.com/pengertian-foreign-key/

11

Anda mungkin juga menyukai