laporan praktikum basisdata anugerahzebua 1414370497
TRANSCRIPT
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 1/41
Laporan Praktikum Sistem Basis Data MysQL
Disusun Oleh:
Anugerah Zebua
NPM : 1414370497
DOSEN PENGAMPU : INDRI SULISTIYANINGSIH S.Kom
Fakultas Ilmu Komputer
Sistem KomputerKelas Paralel III C Malam
UNIVERSITAS PEMBANGUNAN PANCA BUDI
MEDAN
2015
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 2/41
1 | P a g e
KATA PENGANTAR
Pada dasar nya MySQL merupakan softaware database open source yang
paling popular di dunia, dimana saat ini digunakan lebih dari 100 juta pengguna di
seluruh dunia. Dengan kehandalan, kecepatan dan kemudahan penggunanya ,
MySQL menjadi pilihan utama bagi banyak pengembang software dan aplikasi baik
di platform word maupun desktop. Pengguna MySQL tidak hanya sebatas penggguna
perseorangan maupun perusahaan.
MySQL pertama kali dibuat dan di kembangkan di swedia ,yaitu oleh DAVID
AXMARK ,ALLAN LARSON , dan MICHAEL WIDENIUS. Mereka
mengembangkan MySQL sejak tahun 1980-an. Saat ini versi MySQL yang sudah
stabil mencapai 5x,dan sedang dikembangkan versi 6x, untuk lebih lengkap nya dapat
dilihat di situs resmi MySQL 1. Dengan ini mencoba membahas MySQL1. Dengan
ini membahas MySQL secara praktis di sajikan secara struktur dan di sertai contoh-
contoh dan latihan untuk membantu pemahaman.
Medan, Desember 2015
Penyusun
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 3/41
2 | P a g e
31 DAFTAR ISI
KATA PENGANTAR .................................................................................................. 2
DAFTAR ISI ............................................................................................................. 3
BAB I PENDAHULUAN ............................................................................................. 4
LATAR BELAKANG ........................................................................................... 4
TUJUAN PRAKTIKUM ....................................................................................... 4
MANFAAT ........................................................................................................... 5
BAB II LANDASAN TEORI ....................................................................................... 4
DASAR-DASAR MYSQL ........................................................................................... 6
PERINTAH MYSQL .................................................................................................... 7
BAB III HASIL PERCOBAAN.................................................................................. 22
BAB IV ANALISIS PERCOBAAN ........................................................................... 23
BAB V PENUTUP ...................................................................................................... 46
BAB VI DAFTAR PUSTAKA ................................................................................... 47
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 4/41
3 | P a g e
BAB 1
PENDAHULUAN
1.Latar belakang
MySQL adalah Sebuah program data base Server yang mampu menerima dan
mengirimkan datanya sangat cepat, multiuser serta menggunakan peintah dasar SQL (
Structured QueryLanguage ). MySQL merupakan duabentuk lisensi, yaitu
FreeSoftwaredanShareware. MySQL yang biasa kita gunakan adalah MySQL
FreeSoftware yang berada dibawah
Lisensi GNU/GPL ( General Public License ).
MySQL Merupakan sebuah data base server yang free artinya kita bebas
menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli
atau membayar lisensinya. MySQL pertama kalidirintis oleh seorang programmer
database bernama Michael Widenius. Selain database server,MySQl juga merupakan
program yang dapat mengakses suatu database MySQL yang berposisi sebagai
Server, yang berarti programkita berposisi sebagai C ient. Jadi MySQL adalah sebuah
database yang dapat digunakan sebagai Client mu pun server. Database MySQL
merupakan suatu perangkat lunak data base yang berbentuk database relasional ataudisebut Relational Database Management System (RDBMS ) yang menggunakan
suatu bahasa permintaan yang bernama SQL (Structured Query language).
2. Tujuan praktikum
Tujuan dari praktikum ini adalah agar mahasiswa dapat menjelas kan konsep
dasar basis data membuat aplikasi dengan menggunakan SQL DAN mengolah basis
data.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 5/41
4 | P a g e
3. Manfaat
1. kecepatan dan kemudahan dengan menggunakan basis data pengambilan
informasi dapat dilakukan dwngan cepat dan mudah.
2. Kebersamaan pemakaian sebuah basis data daapat di gunakan oleh banyak
user.
3. Pemusatan control data karena cukup dengan satu basis data untuk banyak
keperluan , pengontrolan terhadap data juga cukup dilakukan di satu tempat
saja
4. Ruang penyimpanan dengan pemakaian bersama.
5. Kekuatan penerapan secara ketat aturan tipe data ,dapat menekan keakuratan
dalam penyimpanan.
6. Kemudahan dalam membuat program aplikasi baru penggguna basis data
merupakan bagian dari perkembangan teknologi baru. Dengan keamanan yg
begitu kuat.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 6/41
5 | P a g e
BAB II
LANDASAN TEORI
1.DASAR – DASAR MySQL
MySQL adalah Sebuah program data base Server yang mampu menerima dan
mengirimkan datanya sangat cepat, multiuser serta menggunakan peintah dasar SQL (
Structured QueryLanguage ).
Database MySQL memiliki beberapa kelebihan dibanding database
lain,diantaranya :
MySQL merupakan Database ManagementSystem (DBMS)
MySQL sebagai Relation Database Man agement System( RDBMS) ataudisebut dengan database Relational
MySQL Merupakan sebuah database serve yang free,artinya kita bebas
menggunakan d atabase ini untuk keperluan pribadi atau usaha tanpa harus
membeliatau membayarlisensinya
MySQL merupakan sebuah data base client
MySQL mampu menerima query yang bertupuk dalam satup ermintaan atau
Multi-Threading.
1. Perintah MySQL
Menjalankan MySQL
system Untuk menjalankan MySQL cukup dengan mengetikan mysql pada
prompt Bentuk umum perintah mysql database – h host – u user – p password
Dengan windows
Menu Start All Program MySQL MySQL server 5.1
pilih dan klik Command line client
Aplikasi xampp
Aktifkan menu cmd.exe pada menu start run ketik cmd
OK
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 7/41
6 | P a g e
Ketik cd “c:\program file\xampp\mysql\ bin “
Aktifkan mysql dengan : mysql – u root – p password (tekan enter)
Muncul menu :
MySQL Prompt
Dalam penulisan di dalam MySQL tidak membedakan huruf besar dan huruf kecil,
yang membedakan adalah sistem operasi yang digunakan :
1. Sistem operasi Unix/Linux akan membedakan huruf besar dan kecil
2. Sistem operasi windows tidak membedakan
Menampilkan Bantuan
Untuk mengaktifkan bantuan sederhana – HELP dengan mengetikan pada
MySQL prompt help atau \h
Mengetahui versi MySQ
Perintah umum
SELECT VERSION() ;
Pengetikan:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 8/41
7 | P a g e
mysql>select version() ;
Cara pengetikan perintah
Cara pengetikan boleh dilakukan dengan dua cara, yaitu :
mysql>select version() ;
Atau
mysql>select
>version()
>;
Kedua cara perintah tersebut hasilnya akan sama
Untuk mengakhir setiap perintah diakhir oleh tanda titik koma ”;”
Jika tidakdiakhiri oleh tanda ”;”, MySQL menunggu perintah selanjutnya.
Membatalkan perintah
Untuk membatalkan perintah di prompt MySQL, tambahkan perintah backslas
cancel atau ” \c ” diakhir perintah .
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 9/41
8 | P a g e
mysql>selec
>version(
>\c
Menampilkan Database
Perintah
SHOW DATABASES
Contoh mysql> show databases
Akan menampilkan semua database yang ada dan atau yang sudah pernah dibuat
Memberikan catatan
Perintah
Awalan /* dan akhiran */ : Dapat digunakan lebih dari satu baris
Awalan # : Digunakan untuk satu baris
Contoh mysql> /* perintah untuk menampilkan
> database */
> show databases ;
mysql> show databases # tampilkan database
> ;
Data base yang sudah ada pada
MySQL
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 10/41
9 | P a g e
Contoh tampilan pertama
Membuat Database Baru
Perintah
CREATE DATABASE database
Contoh
mysql> create database latihan1
Query OK, 1 row affected (0.01 sec)
Ini tanda database latihan1 telah dibuat
Untuk memastikan lakukan perintah show databases
Memilih database yang akan digunakan
Perintah USE database
Contoh
mysql> use latihan1 ;
Database changed
Menampilkan Tabel
Tanda database latihan1 aktif
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 11/41
10 | P a g e
Perintah
SHOW TABLES
Contoh
mysql> use latihan1 ;
mysql> show tables ;
Empty set (0.00) sec
Membuat Tabel Baru
Perintah
CREATE TABLE table (field spesifikasi_field, ... )
Jika sudah terdapat database, maka dapat memulai membuat tabel,untuk contoh
membuat tabel.
Contoh
Membuat tabel karyawan
Langkah :
- Aktifkan database
- Lakukan pembuatan teble dengan create
mysql> create table karyawan
- > (nopeg int unsigned auto_increment primary key,
- > nama varchar(35) not null,
- > gender varchar(2),
- > alamat varchar(30),
- > kota varchar(15),
Tanda belum pernah membuat tabel
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 12/41
11 | P a g e
- > tgllahir date null default ’0000-00-00’) ;
Query OK, 0 row affected (0.02 sec)
Keterangan :
Integer : Bilangan bulat
Unsigned : Tanpa tanda negatif
Auto_increment : Akan bertambah nilainya secara otomatis
Primary key : Kolom (key) pertama
Variable character : Jenis data alfabeta
(...) : Jumlah karakter
Not null : Tidak boleh dikosongkan
Date : Format petanggalan
Untuk memastikan apakah tabel karyawan sudah ada pada database latihan 1,lakukan
perintah show tables
mysql> show tables ;
Menampilkan Struktur Tabel
Perintah
Tabel karyawan sudah dibuat
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 13/41
12 | P a g e
SHOW COLUMNS FROM tabel ataU DESCRIBE tabel
Contoh
mysql> show columns from karyawan ;
tampilan :
Mengubah Struktur Tabel
Perintah
ALTER TABLE tabel jenis_pengubahan
Dalam perintah ALTER dapat melakukan :
Menambah kolom : ADD
Mengganti nama tabel : RENAME
Menghapus kolom atau indek : DROP
Mengubah jenis kolom : MODIFY
Menganti nama kolom sekaligus jenis kolom : CHANGE
Contoh menambah satu kolom, yaitu kodepos
mysql> alter table karyawan
> add kodepos varchar(5)
> ;
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 14/41
13 | P a g e
Tampilan :
Setiap penambahan kolom secara default selalu diletakan diakhir tabel.
Jika mengingikan letak kodepos setelah kolom kota, maka pada saat menambahkan
kolom gunakan perintah :
mysql> alter table karyawan
> add kodepos2 varchar(5)
> after kota
> ;
Tampilan
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 15/41
14 | P a g e
Menghapus kolom
Perintah gunakan alter table yaitu drop
Contoh
Untuk menghapus kodepos2
mysql> alter table karyawan
> drop kodepos2 ;
Tampilan :
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 16/41
15 | P a g e
Kolom kodepos2 telah dihapus.
Mengisi Data
Perintah bentuk pertama
INSERT INTO tabel (kolom1, kolom2,...)
VALUES (data_kolom1, data_kolom2,...)
Contoh
mysql> insert into karyawan
> (nama, gender, alamat, kota, tgllahir, kodepos)
> values
> (’Ahmad’,’LK’,’Pasar Minggu no 2’,’Jakarta’,’1985-09-25’,’15617’)
> ;
Tampilan
Perintah bentuk kedua
INSERT INTO tabel
SET kolom1 = data_kolom1,
Kolom 2 = data_kolom2,...
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 17/41
16 | P a g e
Contoh
mysql> insert into karyawan
> set nama = ’budi’,
> gender = ’LK’,
> alamat = ’Kerinci N0 12’,
> kota = ’Depok’,
> tgllahir =’1995-07-17’,
> kodepos = ’17415’ ;
tampilan
Perintah bentuk ketiga
INSERT INTO tabel
VALUES (data_kolom1, data_kolom2,...)
Contoh tampilan
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 18/41
17 | P a g e
Menampilkan Data
Perintah
SELECT kolom FROM tabel WHERE kriteria ORDER BY kolom
Jika akan menampilkan seluruh data dalam kolom gunakan tanda asterik (*)
Contoh mysql> select * from karyawan
> ;
Tampilan :
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 19/41
18 | P a g e
BAB III
HASIL PERCOBAAN
Pada bab ini akan dijelaskan beberapa perintah SQL lanjutan yang lebih
kompleks seperti join antar tabel, grouping, sub select, random search dan transaksi
(commit-and-roolback). Untuk mempermudah penjelasan, maka semua contoh yang
disajikan di bab ini mengacu pada
pemodelan data konseptual Sistem Pemesanan (Penjualan) Barang.
Dalam hal ini saya akan mencoba mencoba membuat pemodelan system
pemesanan barang. Mungkin hal ini dapat mempermudah pemakai program ini. Kira-
kira begini hasil dari system tersebu
Pasti akan berbentuk skema seperti gambar di atas langsung saja kita masuk bab
berikut nya:.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 20/41
19 | P a g e
BAB IV
ANALISIS HASIL PERCOBAAN
Membuat Database
Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :
CREATE DATABASE [IF NOT EXISTS]
Selanjut nya ketik
nama_database;
Bentuk perintah di atas akan membuat sebuah database baru dengan nama
nama_database
. Aturan penamaan sebuah database sama seperti aturan penamaan sebuah variabel,
dimana secara umum nama database boleh terdiri dari huruf, angka dan under-
score(_). Jika database yang akan dibuat sudah ada, maka akan muncul pesan error.
Namun jika ingin otomatis menghapus database yang lama jika sudah ada, aktifkan
option
IF NOT EXISTS.
Berikut ini contoh per intah untuk membuat database baru dengan nama “penjualan” :
CREATE DATABASE penjualan;
Jika query di atas berhasil dieksekusi dan database berhasil dibuat, maka akan
ditampilkan pesan kurang lebih sebagai berikut :
Query OK, 1 row affected (0.02 sec)
Menampilkan Database Untuk melihat database yang baru sajadibuat atau yang
sudah ada, dapat menggunakan perintah sebagai berikut :
SHOW DATABASES;
Hasil dari perintah di atas akan menampilkan semua database yang sudah ada diMySQL. Berikut ini contoh hasil dari query di atas :
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 21/41
20 | P a g e
Membuka Database
Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya,
kita harus membuka atau mengaktifkan databasenya terlebih dahulu. Untuk membuka
database “penjualan”, berikut ini querynya :
USE penjualan;
Jika perintah atau query di atas berhasil, maka akan ditampilkan pesan sebagai
berikut :
Database changed
Menghapus Database
Untuk menghapus suatu database, sintaks umumnya adalah sbb :
DROP DATABASE [IF EXISTS]
nama_database;
Bentuk perintah di atas akan menghapus database dengan nama
nama_database
Jika databasenya ada maka database dan juga seluruh tabel
di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama
database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan error.
Aktifkan option IF EXISTS untuk memastikan bahwa suatu database benar-benar
ada. Berikut ini contoh perintah untuk menghapus database dengan nama “penjualan”
: DROP DATABASE penjualan;
Membuat Tabel Baru
Bentuk umum SQL untuk membuat suatu tablesecara sederhana sebagai
berikut :
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 22/41
21 | P a g e
Bentuk umum di atas merupakan bentuk umum pembuatan tabel yang sudah
disederhanakan. Penamaan tabel dan field memiliki aturan yang sama dengan
penamaan database.
Sebagai contoh, kita akan membuat tabel baru dengan struktur sebaga berikut
:
Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai
berikut :
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 23/41
22 | P a g e
Jika query untuk membuat tabel di atas berhasil dijalankan, maka akan ditampilkan
pesan sebagai berikut :
Query OK, 0 rows affected (0.16 sec)
Selanjutnya untuk melihat tabel mhs sudah benar-benar sudah ada atau belum,
ketikkan perintah berikut ini :
SHOW TABLES;
Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu
database. Contoh hasil dari perintah di atas ad
alah sebagai berikut :
Untuk melihat struktur tabel “mhs” secara lebih detail, cobalah perintah atau
query sebagai berikut :
DESC pelanggan;
DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau
hanya 4 karakter pertama) dan pelanggan adalah nama tabel yang akan dilihatstrukturnya. Dari perintah di atas, akan ditampilkan struktur tabel pelanggansebagai
berikut.
Dari struktur tabel mhs yang ditampilkan di atas, dapat diketahui bahwa :
Terdapat 5 (lima) field dengan tipe masing-masing.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 24/41
23 | P a g e
Primary Key dari tabel pelangganadalah id_pelanggan. Lihat kolom Key pada
field id_pelanggan.
Untuk field id_pelanggan dan nm_pelanggan defaultnya tidak boleh kosong.
Lihatlah kolom Null dan Defaultpada field id_pelanggan dan nm_pelanggan.
Untuk field alamat, telepon dan email default-nya boleh kosong. Lihatlah
kolom Null dan Default pada field alamat dan telepon.
Langansung saja kita lanjut ke system pemodelan data konseptual system
pemesanan barang.
Untuk membuat tabel-tabel dari rancangan di atas, kita akan menggunakan tipe
tabel InnoDB karena nantinya kita akan menggunakan transaksi di sistem tersebut.
Dan berikut ini spesifikasi basis data dari pemodelan data konseptual di atas:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 25/41
24 | P a g e
Berikut ini disajikan perintah SQL untuk membuat tabel-tabel di atas:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 26/41
25 | P a g e
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 27/41
26 | P a g e
Selanjutnya, untuk memudahkan dalam pemberian contoh, isilah tabel-tabel
diatas dengan record (data) secukupnya.
SELECT dari Banyak Tabel dengan JOIN
Di dalam suatu RDBMS tentunya sudah menjadi suatu kewajaran jikadalam satu
database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut berhubungan
satu sama lain atau dengan kata lain memiliki relasi. Relasi antar-tabel dapat berupa
relasi 1-1, 1-M, atau M-N. Sebagai contoh terlihat pada gambar pemodelan data
konseptual (class diagram) di atas. Tabel pelanggan berhubungan dengan pesan,pesan
dengan barang, dsb.
Pada praktisnya, terkadang kita juga memerlukan tampilan data yang tidak
hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus.
Contohnya, dari class diagram diatas, kita ingin menampilkan nama pelanggan
berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisamenggabungkan minimal dua tabel, yaitu pelanggan dan pesan. Untuk
menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah
JOIN.
- Inner Join
Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang
NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 28/41
27 | P a g e
pelanggandan pesan dimana kita akan menampilkan daftar pelanggan yang pernah
melakukan pemesanan (transaksi).Isi tabel pelanggan dan pesan adalah sebagai
berikut :
Tabel pelanggan(hanya ditampilkan id, nama dan email).
Tabel pesan:
Cara 1 : Penggabungan dengan WHERE
Bentuk umum
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2
WHERE tabel1.PK=tabel2.FK;
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 29/41
28 | P a g e
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi
yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi table
pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu yang
memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum
pernah melakukan transaksi.
Cara 2 : Penggabungan dengan INNER JOIN
Bentuk umum
SELECT tabel1.*, tabel2.
*FROM tabel1INNER JOIN tabel2
ON tabel1.PK=tabel2.FK;
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 30/41
29 | P a g e
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
- Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga
memungkinkan ada data yang NULL (kosong)di satu sisi. Sebagai contoh, kita akan
menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar
pelanggan yang pernah melakukan pemesanan (transaksi).
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT. Berikut ini
bentuk umum dan contohnya:
LEFT JOIN
Bentuk umum
SELECT tabel1.*, tabel2.*
FROM tabel1LEFT JOIN tabel2
ON tabel1.PK=tabel2.FK;
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 31/41
30 | P a g e
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan
menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut
belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan
P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.
- RIGHT JOIN
Bentuk umumSELECT tabel1.*, tabel2.*
FROM tabel1RIGHT JOIN tabel2
ON tabel1.PK=tabel2.FK;
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 32/41
31 | P a g e
Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel
pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di
tabel pelanggan, maka isi tabel pesan tetap ditampilkan.
Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan
penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita akan menampilkan
barang-barang yang dipesan beserta nama barang dan harganya untuk pemesanan
dengan nomor 1.
Berikut ini perintah SQL-nya:
Hasil query terkadang perlu dikelompokkan berdasarkan kriteria atau kondisi
tertentu. Misalnya kita akan menampilkan jumlah barang yang dibeli untuk masing
masing transaksi (pemesanan).
Perhatikan perintah query berikut ini dan lihat hasilnya:
HASIL NYA:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 33/41
32 | P a g e
Jika kita perhatikan hasil perintah query di atas, kita akan mendapatkan
jumlah barang yang terjadi untuk setiap transaksi, namun hasil tampilannya masih
per-barang. Artinya jumlah yang ditampilkan masih berupa jumlah barang untuk
masing-masing barang.
Agar jumlah barang ditampilkan per-transaksi (pemesanan), maka kita dapat
menggunakan fungsi GROUP BY dan juga SUM untuk menjumlahkan jumlah
barang. Berikut ini perintah query dengan group by dan count.
Selain hasil di atas, kita juga dapat menggunakan tambahan WITH ROLLUP
di belakang group by untuk menampilkan jumlah total seluruh barang. Berikut ini
perintah query dan hasilnya:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 34/41
33 | P a g e
Perintah query berikut ini akan menampilkan jumlah item (jenis) barang untuk
tiap transaksi.
Dari hasil query di atas tampak bahwa ditampilkan jumlah item barang untuk
semua transaksi. Selanjutnya bagaimana jika kita ingin hanya menampilkan data yang
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 35/41
34 | P a g e
jumlah item barangnya lebih dari 2 (dua)? Mungkin kita langsung berfikir untuk
menggunakan WHERE seperti perintah query sebagai berikut:
Hal tersebut terjadi karena kondisi dalam WHERE tidak dapat diterapkan
pada fungsi agregrasi seperti COUNT, SUM, AVG dll.
Untuk menyeleksi suatu fungsi agregasi, kita tidak dapat menggunakan
WHERE, namun kita dapat menggunakan HAVING. Berikut ini perintah query yang
menggunakan HAVING:
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 36/41
35 | P a g e
Mulai versi 4.1, MySQL mendukung perintah query SubSELECT dimana
memungkinkan untuk melakukan query di dalam query. Misalnya kita akan
menampilkan data yang kondisinya merupakan hasil dari query lain.
Perintah SubSELECT memiliki banyak variasi. Berikut ini beberapa variasi
bentuk perintah SubSELECT.
Dan berikut ini beberapa contoh perintah query yang menggunakan
SubSELECT.
- Menampilkan daftar pelanggan yang pernah melakukan transaksi
(pemesanan).
Hasiinya:
- Menampilkan data pemesanan dengan jumlah barang terbanyak.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 37/41
36 | P a g e
Dan hasil nya sebagai berikut:
MySQL memiliki fungsi khusus yang dapat digunakan untuk menampilkan
record secara acak (random). Seperti kita ketahui bahwa pada perintah SELECT
record akan ditampilkan secara urut berdasarkan urutan saat penginputan
(FIFO=First In First Out).
Berikut ini contoh perintah query untuk menampilkan data pelanggan secara
acak (random):
Hasil nya :
MySQL merupakan software database berbasis client-server. Hal ini berarti
bahwa beberapa client dapat melakukan koneksi ke server MySQL secara bersamaan.
Masing-masing client dapat melakukan select, insert, update, maupun delete data di
server MySQL. Hal ini tentunya dapat menjadi masalah jika terjadi bentrok antar-
client.
Sebagai contoh dalam proses transaksi pemesanan barang. Jika terdapat 2(dua) pelanggan melakukan transaksi pada waktu yang sama, misalnya melakukan
pemesanan barang. Keduanya akan menambahkan data di tabel yang sama dan
mungkin saja data yang dimasukkan tertukar atau tidak valid. Hal ini tidak akan
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 38/41
37 | P a g e
terjadi jika pada saat satu pelanggan melakukan transaksi, pelanggan yang lain harus
menunggu sampai proses transaksi selesai.
Untuk mengatur proses query yang terjadi dalam suatu sistem yang
memiliki user banyak (multi-user-system), kita dapat memanfaatkan dua hal di
MySQL. Pertamakita dapat mengunci tabel(table-locking). Cara ini dapat
dilakukan jika tipe tabel yang digunakan adalah MyISAM. Kedua, dapat
menggunakan perintah BEGIN, COMMIT dan ROLLBACK. Cara ini dapat
dilakukan jika tipe tabel adalah tabel transaksi, yaitu InnoDB.
Mengunci tabel (table-locking) dapat dilakukan untuk membatasi akses
terhadap suatu tabel jika ada user yangsedang aktif mengakses tabel. Suatu tabel yang
sedang terkunci (locked), tidak dapat diakses dengan bebas oleh user lain. Untuk
mengunci tabel di MySQL dapat menggunakan kata kunci LOCK.
Bentuk umum perintah LOCK :
Dimana tipe lock (locktype) yang dapat dipilih antara lain:
READ. Semua user MySQL dapat membaca (mengakses) tabel, namun tabel
tersebut tidak dapat diubah oleh siapapun, termasuk user yang mengeksekusi perintah
LOCK. Dengan kata lain, tabel bersifat read-only.
READ LOCAL. Sama seperti READ, tetapi perintah INSERT dapat dilakukan
selama tidak merubah record (data) yang ada.
WRITE.User yang aktif diperbolehkan untuk membaca dan mengubah tabel
(read-and-write). User yang lain tidak dapat mengubah isi tabel, hanya dapat
membaca tabel (read-only).
LOW PRIORITY WRITE. Seperti halnya WRITE, hanya saja user lain dapat
melakukan READ LOCK.
Untuk membuka tabel yang terkunci, gunakan perintah UNLOCK TABLES;
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 39/41
38 | P a g e
Pada tipe tabel InnoDB, tidak berlaku transaksi didalam transaksi (nested-
transaction), artinya jika perintah BEGIN dieksekusi sebelum transaksi selesai
dilakuka (perintah COMMIT), maka secara otomatis, perintah COMMIT akan
dieksekusi terlebih dahulu.
Perintah transaksi diatur oleh client. Jika pada saat proses transaksi
berlangsung, koneksi client dengan server terputus, maka secara otomatis, MySQLakan membatalkan semua perubahan yang sudah terjadi (seperti halnya mengeksekusi
perintah ROLLBACK).
Bemtuk perintah transsaksi:
Dan pembuatan table penjualan selesai.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 40/41
39 | P a g e
BAB V
PENUTUP
Kesimpulan
Basis data adalah sekumpulan relasi data persistem yang secara logika
terhubung dimana data tersebut merupakan deskripsi dari satu aktivitas dari
organisasi yang bersangkutan yang digunakan yang dirancang demi memenuhi
kebutuhan organisasi.
SQLyog adalah aplikasi client MySQL yang sangat popular di gunakan di
Indonesia . aplikasi ini memililki banyak fitur yang memudahkan pengguna
melakukan administrasi maupun melakukan pengolahan data MySQL.
Berdasarkan proses-proses yang sudah di lakukan dalam membuat aplikasi ini
dapat disimpulkan bahwa: proses pembuatan aplikasi ini menggunakan SQLyog dan
menghasilkan 5 tabel utama. Dengan kemudian pengguna utilitas SQLyog ini dan
sifatnya free open source, maka pengguna akan banyak menggunakan utilitas ini
dalam melakukan pengolahan data MySQL.
SARAN
Agar kita dapat dengan mudah melakukan pengolahan data sebaiknya
kita memperbanyak SQLyog. Kemajuan computer dimasa mendatang
diharapkan dapat membantu semua jenis perkerjaan manusia sehingga mereka
mampu menyelesaikan perkerjaan mereka dengan cepat karena di masa
teknologi semakin canggih dan semua perkerjaan memakai system computer.
7/23/2019 Laporan Praktikum BasisData AnugerahZebua 1414370497
http://slidepdf.com/reader/full/laporan-praktikum-basisdata-anugerahzebua-1414370497 41/41
DAFTAR PUSTAKA
Achmad Solichin. 2005. Pemrograman Web dengan PHP dan MySQL. Jakarta.
MySQL. Situs MySQL. http://mysql.com.
MySQL. MySQL Manual. http://mysql.com
Wikipedia. Tentang MySQL. http://www.wikipedia.co.id