laporan praktikum basisdata anugerahzebua 1414370497

42
 Laporan Praktikum Sistem Basis Data MysQL Disusun Oleh: Anugerah Zebua NPM : 1414370497 DOSEN PENGAMPU : INDRI SULISTIYANINGSIH S.Kom Fakultas Ilmu Komputer Sistem Komputer Kelas Paralel III C Malam UNIVERSITAS PEMBANGUNAN PANCA BUDI MEDAN 2015

Upload: anugrah-zebua

Post on 18-Feb-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 2: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 

Page 3: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 4: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 5: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 6: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 7: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 8: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 . 

Page 9: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 10: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 11: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 12: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 13: Laporan Praktikum BasisData AnugerahZebua 1414370497

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)

> ;

Page 14: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 15: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 :

Page 16: Laporan Praktikum BasisData AnugerahZebua 1414370497

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,...

Page 17: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 18: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 :

Page 19: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:.

Page 20: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 :

Page 21: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 :

Page 22: Laporan Praktikum BasisData AnugerahZebua 1414370497

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 :

Page 23: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 24: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 25: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 26: Laporan Praktikum BasisData AnugerahZebua 1414370497

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  

Page 27: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 28: Laporan Praktikum BasisData AnugerahZebua 1414370497

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;

Page 29: Laporan Praktikum BasisData AnugerahZebua 1414370497

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;

Page 30: Laporan Praktikum BasisData AnugerahZebua 1414370497

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;

Page 31: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 32: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 33: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 34: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 35: Laporan Praktikum BasisData AnugerahZebua 1414370497

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:

Page 36: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 37: Laporan Praktikum BasisData AnugerahZebua 1414370497

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

Page 38: Laporan Praktikum BasisData AnugerahZebua 1414370497

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;

Page 39: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 40: Laporan Praktikum BasisData AnugerahZebua 1414370497

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.

Page 41: Laporan Praktikum BasisData AnugerahZebua 1414370497

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