Anda di halaman 1dari 14

MODUL 9

RELASI ANTAR TABEL


9.1 TUJUAN PRAKTIKUM
9.1.1 Mengetahui cara merelasikan table pada MySQL
9.1.2 Memahami perelasian antar table database dalam MySQL
9.2 DASAR TEORI
9.2.1 Membuat Tabel
Untuk mencatat informasi maka harus harus dibuat table sebagai tempat
penyimpanan dan mengelola data. Langkah yang harus di kerjakan adalah :
1. Merancang table yang akan dibuat
2. Merancang struktur table
3. Mengatur hubungan / relasi antar table satu dengan table lain supaya
informasinya terpadu
9.2.2 Mengelola Tabel
Mengelola data dalamtabel trdiri dari :
1.
2.
3.
4.

Menambah data
Mengubah atau mengedit data
Menghapus data
Mencari dan mengganti data
Pembuatan relasi antar table bertujuan untuk membuat hubungan antar

table agar ada relasi antar table yang satu dengan yang lain.
9.3 PEMBAHASAN
9.3.1 Membuat Database Relasional
Sebelum membuat database,kita harus merancang relasi (hubungan) antar
table. Dari table-tabel yang akan dibuat. Pada contoh kali ini,kita akan membuat
database relasi untuk kasus jual beli dimana terdapat 3 tabel master dan 2 tabel
transaksi seperti padagambar dibawah ini.

BARANG_JEN

BARANG

kd_jenis*

kd_barang*

nm_jenis

nm_barang

Keterangan :
PELANGGAN
Many

IX - 1
* : Primary Key / Kunci Utama
** :Foreign Key / Kunci Tamu

kd_jenis**
1
harga

2 :one to

IX - 2

kd_plg*
nama
alamat
PENJUALAN
no_transaksi

PENJUALAN_DETA
IL
id_jual*
no_transaksi**
kd_barang**
jumlah

*
kd_plg**

Relasional database penjualan barang


Penulisan script SQL secara lengkap untuk rancangan database di atas, dapat
dilihat pada tampilan berikut :

IX - 3

Analisis :

Pertama membuat database dengan perintah CREATE dengan nama

npm_jualbeli.
Gunakan database yang telah dibuat untuk membuat table barang_jenis.
Membuat table barang_jenis dengan perintah CREATE TABLE, terdapat
field kd_jenis sebagai primary key atau kunci utama dengan tipedata
char(4), dan field nm_jenis dengan tipedata varchar(60) keduanya NOT

NULL atau tidak boleh dikosongkan.


Masukan data isi table dengan perintah INSERT,seperti pada gambar di

atas.
Untuk menampilkan table barang_jenis gunakan perintah desc/describe.
Untuk menampilkan table beserta isinya gunakan SELECT * FROM table.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

IX - 4

Analisis :

Membuat table barang_jenis dengan perintah CREATE TABLE.


Char/int/varchar merupakan tipe data .
Setelah tipe data terdapat angka yang diapit dalam kurung, artinya itu

merupakan panjang dari kolom field tersebut.


Masukan data isi table dengan perintah INSERT,seperti pada gambar di

atas.
Untuk menampilkan table barang_jenis gunakan perintah desc/describe.
Untuk menampilkan table beserta isinya gunakan SELECT * FROM table.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

IX - 5

Analisis :

Membuat table barang_jenis dengan perintah CREATE TABLE.


Char/int/varchar merupakan tipe data .
Setelah tipe data terdapat angka yang diapit dalam kurung, artinya itu

merupakan panjang dari kolom field tersebut.


Masukan data isi table dengan perintah INSERT,seperti pada gambar di

atas.
Untuk menampilkan table barang_jenis gunakan perintah desc/describe.
Untuk menampilkan table beserta isinya gunakan SELECT * FROM table.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

IX - 6

Analisis :

Membuat table barang_jenis dengan perintah CREATE TABLE.


Char/int/varchar merupakan tipe data .
Setelah tipe data terdapat angka yang diapit dalam kurung, artinya itu

merupakan panjang dari kolom field tersebut.


Masukan data isi table dengan perintah INSERT,seperti pada gambar di

atas.
Untuk menampilkan table barang_jenis gunakan perintah desc/describe.
Untuk menampilkan table beserta isinya gunakan SELECT * FROM table.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

IX - 7

Analisis :

Gambar di atas merupakan script atau sintaks pembuatan table penjualan


dan penjualan_detail dengan perintah CREATE. Dalam table penjualan
terdapat beberapa field di antaranyta yaitu no_transaksi sebagai primary
key dengan tipe data char, kd_plg sebagai foreign key dengan tipe data

char, dan tanggal bertipe data date.


Dalam table penjualan_detail fieldnya adalah id_jual sebagai primary key
bertipe data integer, no_transaksi sebagai foreign key bertipe data char,
kd_barang bertipe data char yang juga sebagaiu foreign key, dan jumlah

bertipe data integer.


Semua field bersifat NOT NULL atau tidak boleh ada yang di kosongkan.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

1. Operasi Relasi Pada Dua Tabel


Untuk mempermudah pemahaman, pada bagian ini terlebih dahulu kan
dijelaskan teknik dasar membuat query data dari 2 tabel yang berhubungan.
Misalnya, data pada table barang dan barang_jenis.

BARANG_JE
NIS
kd_jenis*

kd_barang*

nm_jenis

nm_barang

BARANG

kd_jenis**
harga

IX - 8

Gambar Relasi antar table barang dan jenis


Gambar diatas merupakan salah satu contoh relasi One to Many, yaitu
hubungan data dari satu ke banyak. Artinya, satu jenis barang terdiri dari lebih
dari satu barang (banyak barang). Misalnya jenis barang hardisk, terdiri dari
Seageate 40 GB, Seageate 60 GB, WDC 40 GB, dan lain sebagainya. Jadi, satu
jenis barang bisamemiliki anggota banyak barang.
2. Teori Pengambilan Kolom Tabel Relasi
Teknik yang paling mudah dengan menghubungkan antara nama table dan
kolom dengan titik (.). Cara penulisan query untuk table barang_jenis, lihat
gambar dibawah ini.
BARANG_JENI
S
kd_jenis*
barang_jenis.kd_jenis
nm_jenis

barang_jenis.nm_jenis

Analogi pengambilan kolom table barang_jenis

3. Teknik Dasar Relasi Dua Tabel


Sebagai dasar, kita akan menggunakan table barang dan barang_jenis. Untuk
mendapatkan data barang dengan infromasi lengkap (termasuk jenisnya) dengan
query, maka kita harus mengambil informasi data dari table yang terkait.
Perintah : SELECT tabelA.kolom1, tabelB.kolom1, tabelA.kolom2 FROM
tabelA, tabelB WHERE tabelA.kunciA = tabelB.kunciA
Keterangan :
a. tabelA.kolom1 : perintah untuk mengambil data di kolom1 pada tabelA
b. tabelA.kolom2 : perintah untuk mengambil data di kolom2 pada tabelA
c. tabelB.kolom1 : perintah untuk mengambil data di kolom1pada tabelB
d. tabelA.kunciA : nama kolom yang menjadi kunci utana (primary) pada
tabelA
e. tabelB.kunciA

: nama kolom tamu yang berasal dari tabelA, kolom ini

menjadi tamu pada tabelB karena adanya relasi.

IX - 9

Dari penjelasan di atas, karena adanya relasi dari kedua table,maka di dalam
parameter WHERE kita gunakan tanda sama dengan (=), jadi tabelA.kunciA.
kembali ke objek relasi yang kita buat. Kita memiliki dua table yang berelasi,yaitu
table barang dan barang_jenis. Dari table tersebut, garis penunjuk relasi mengarah
pada kolom kd_jenis yang dimiliki oleh table barang_jenis. Jadi, untuk membuat
perintah SQL dengan gambar relasi atas, sebagai berikut :
SELECT
FROM

barang.kd_barang,
barang_jenis,

barang_jenis.nm_jenis,

barang

WHERE

barang.nm_barang

barang_jenis.kd_jenis

barang.kd_jenis;
Contoh : Tuliskan SQL untuk menampilkan data table master barang dan
barang_jenis. Data yang di tampilkan adalah kode barang, nama jenis, nama barang
dan harga.

Analisis :

Pada gambar diatas perintah menampilkan dengan field yang ditentukan,

dengan menyebutkan field dan tabel nya.


Dalam sintak dapat kita lihat bahwa untuk pendeklarasiannya adala
SELECT tabel1.kolom1, tabel2.kolom2, tabel1.kolom2, tabel1.kolom4
FROM atau dari tabel1, tabel2 WHERE(dimana) tabel2.kunci2 sama

dengan (=) table1.kunci2.


Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

Contoh : Tuliskan SQL untuk menampilkan data table master barang dan
barang_jenis. Data yang ditampilkan adalah kode barang, nama jenis, nama barang
dan harga, dengan syarat data yang ditampilkan hanya hardisk saja.

IX - 10

Analisis :

Pada gambar diatas perintah menampilkan dengan field yang ditentukan,

dengan menyebutkan field dan tabel nya.


Dalam sintak dapat kita lihat bahwa untuk pendeklarasiannya adala
SELECT tabel1.kolom1, tabel2.kolom2, tabel1.kolom2, tabel1.kolom4
FROM atau dari tabel1, tabel2 WHERE(dimana) tabel2.kunci2 sama

dengan (=) table1.kunci2.


Menggunakan Operator AND untuk menampilkan hanya dengan yang
ditentukan . Misal pada contoh diatas hanya menampilkan dengan nm_jenis

yaitu Hardisk.
Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

Contoh : Tuliskan SQL untuk menampilkan data table master barang dan
barang_jenis. Data yang di tampilkan adalah kode barang, nama barang, dan harga,
dengan syarat data yang ditampilkan hanya monitor saja.

Analisis :

Kasus ketiga sama dengan kasus kedua yaitu hanya menampilkan data
hardisk saja, namun di kasus kedua ada nama jenis barangnya, sedangkan
di kasus ketiga nama jenis di hilangkan. Jadi dalam syntak cukup hanya

menghilangkan bagian barang_jenis.nm_jenis


Pada akhir setiap perintah, gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah .

9.4 LATIHAN

IX - 11

9.4.1

Menampilkan Tanggal Sekarang

Analisis :
Perintah diatas berfungsi untuk menampilkan tanggal yang berlaku

sekarang.
Maksudnya tanggal sekarang yaitu tanggal pada saat pengetikan

perintah itu dikerjakan.


Pada akhir perintah gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah.

9.4.2

Menampilkan Nama dengan Bilangan ASCII

Analisis :
Gambar di atas merupakan perintah untuk menampilkan nama

dengan bilangan ASCII,


Pertama gunakan perintah SELECT ASCII dan masukan hurufhuruf nama kita yang nantinya akan di ubah menjadi bilangan
ASCII, dan setelah di dapat bilangan ASCIInya ubah angka-angka
tersebut dengan menggunakan perintah SELECT CHAR untuk

mengubah bilangan ASCII tersebut menjadi sebuah karakter.


Pada akhir perintah gunakan tanda baca titik koma ( ; ) untuk
mengakhiri perintah.

9.4.3

Membuat Tabel Pelanggan dan Tabel Penjualan

IX - 12

Analisis :
Sebelum membuat tabel pelanggan dan penjualan, harus membuat
databasenya terlebih dahuu untuk menyimpan data nya dengan syntax :

create database (nama_database);


Gunakan databasenya dengan syntax : use (nama_database);
Buat tabel menggunakan perintah CREATE TABEL .
Untuk menampilkan deskripsi pada tabel gunakan

DESC/DESCRIBE
Pada akhir perintah gunakan tanda baca titik koma ( ; ) untuk mengakhiri
perintah.

9.4.4

Memasukan Isi Data kedalam table pelanggan dan table penjualan

perintah

IX - 13

Analisis :
Untuk memasukan data kedalam tabel, gunakan perintah INSERT.
Untuk menampilkan isi data tabel yang sudah diinputkan, gunakan

perintah : select *from (nama_table);


Tanda bintang, itu artinya keseluruhan.
Pada akhir perintah gunakan tanda baca titik koma ( ; ) untuk mengakhiri
perintah.

9.4.5

Merelasikan Tabel Penjualan terhadap Tabel Pelanggan

Analisis :
Gambar di atas merupakan deklarasi sintaks untuk merelasikan antara table
pelanggan dan table penjualan, dimana table pelanggan memiliki primary

IX - 14

key kd_plg yang akan dimasukan menjadi foreign key ke dalam table

penjualan.
Pada akhir perintah gunakan tanda baca titik koma ( ; ) untuk mengakhiri
perintah.

9.4.6

Menampilkan no_transaksi, nama, dan hari_jual

Analisis :
Pada gambar

diatas merupakan sintaks untuk menampilkan kolom

no_transaksi, nama, dan harga_jual dari dua table yaitu table pelanggan
dan table penjualan dengan format sintak SELECT tabel2.kolom1,
tabel1.kolom2,

tabel2.kolom3

FROM(dari)

tabel1,tabel2

WHERE

(dimana) tabel1.kunci1 = tabel2.kunci1;


9.4.7

Menampilkan no_transaksi, nama, alamat, hari_jual, dengan syarat


alamat Tasik saja

Analisis :
Pada gambar diatas menampilkan hanya untuk field yang ditentukan saja
Pada kasus diatas yang ditampilkan hanya dengan yang memiliki alamat

tasik.
Jadi dalam sintaks hanya perlu menambahkan pelanggan.alamat sesuai
posisi yang di tentukan, dan and alamat=Tasik di akhir.