laporan praktikum sistem basis data (mysql)

62
1 Kelas Palalel 3c malam LAPORAN PRAKTIKUM SISTEM BASIS DATA (MYSQL) Nama praktikum NPM Mahasiswa Tanggal Kumpul Tanda Tangan Praktikum Laporan praktikum MySQL 1414370316 12 DESEMBER 2015

Upload: janggawirana

Post on 17-Feb-2016

623 views

Category:

Documents


52 download

DESCRIPTION

laporan praktikum

TRANSCRIPT

Page 1: Laporan Praktikum Sistem Basis Data (Mysql)

1

Kelas

Palalel

3c malam

LAPORAN PRAKTIKUM

SISTEM BASIS DATA (MYSQL)

Nama praktikum NPM Mahasiswa Tanggal Kumpul

Tanda Tangan Praktikum

Laporan praktikum

MySQL

1414370316 12 DESEMBER

2015

Nama Penilai Tanggal Koreksi Nilai Tanda Tangan Dosen

Indri Sulistianingsih,s.com

Fakultas Iimu KomputeUniversitas Pembangunan Panca Budi Medan 2015

Page 2: Laporan Praktikum Sistem Basis Data (Mysql)

2

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 kecil, namun perusahaan seperti

YAHOO!,ALCATE-LUCENT,GOOGEL ,NOKIA,YOUTUBT,WORDPRESS,DAN

FACEBOOK juga merupakan pengguna MySQL .

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. Laporan ini diharapkan dapat

membantu anda mengetahui dasar MySQL dan XAMPP. Laporan ini sangat cocok

dengan anda yang baru mempelajari MySQL atau pun XAMPP sebagai salah satu

software database terkemuka saat

Page 3: Laporan Praktikum Sistem Basis Data (Mysql)

3

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 Sistem Basis Data (Mysql)

4

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 atau

disebut Relational Database Management System (RDBMS ) yang menggunakan

suatu bahasa permintaan yang bernama SQL (Structured Query language).

Page 5: Laporan Praktikum Sistem Basis Data (Mysql)

5

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.

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 Sistem Basis Data (Mysql)

6

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) atau

disebut 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

Page 7: Laporan Praktikum Sistem Basis Data (Mysql)

7

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

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 :

Page 8: Laporan Praktikum Sistem Basis Data (Mysql)

8

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:

mysql>select version() ;

Cara pengetikan perintah

Cara pengetikan boleh dilakukan dengan dua cara, yaitu :

mysql>select version() ;

Atau

mysql>select

>version()

>;

Page 9: Laporan Praktikum Sistem Basis Data (Mysql)

9

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 .

mysql>selec

>version(

>\c

Menampilkan Database

Perintah

Page 10: Laporan Praktikum Sistem Basis Data (Mysql)

10

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

> ;

Contoh tampilan pertama

Data base yang sudah ada pada MySQL

Page 11: Laporan Praktikum Sistem Basis Data (Mysql)

11

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

Page 12: Laporan Praktikum Sistem Basis Data (Mysql)

12

mysql> use latihan1 ;

Database changed

Menampilkan Tabel

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 :

Tanda database latihan1 aktif

Tanda belum pernah membuat tabel

Page 13: Laporan Praktikum Sistem Basis Data (Mysql)

13

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

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

Page 14: Laporan Praktikum Sistem Basis Data (Mysql)

14

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

SHOW COLUMNS FROM tabel ataU DESCRIBE tabel

Contoh

mysql> show columns from karyawan ;

tampilan :

Tabel karyawan sudah dibuat

Page 15: Laporan Praktikum Sistem Basis Data (Mysql)

15

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 16: Laporan Praktikum Sistem Basis Data (Mysql)

16

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 17: Laporan Praktikum Sistem Basis Data (Mysql)

17

Menghapus kolom

Perintah gunakan alter table yaitu drop

Contoh

Untuk menghapus kodepos2

mysql> alter table karyawan

> drop kodepos2 ;

Tampilan :

Page 18: Laporan Praktikum Sistem Basis Data (Mysql)

18

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’)

> ;

Page 19: Laporan Praktikum Sistem Basis Data (Mysql)

19

Tampilan

Perintah bentuk kedua

INSERT INTO tabel

SET kolom1 = data_kolom1,

Kolom 2 = data_kolom2,...

Contoh

mysql> insert into karyawan

> set nama = ’budi’,

> gender = ’LK’,

> alamat = ’Kerinci N0 12’,

> kota = ’Depok’,

> tgllahir =’1995-07-17’,

> kodepos = ’17415’ ;

Page 20: Laporan Praktikum Sistem Basis Data (Mysql)

20

tampilan

Perintah bentuk ketiga

INSERT INTO tabel

VALUES (data_kolom1, data_kolom2,...)

Contoh tampilan

Menampilkan Data

Perintah

SELECT kolom FROM tabel WHERE kriteria ORDER BY kolom

Jika akan menampilkan seluruh data dalam kolom gunakan tanda asterik (*)

Page 21: Laporan Praktikum Sistem Basis Data (Mysql)

21

Contoh mysql> select * from karyawan

> ;

Tampilan :

Page 22: Laporan Praktikum Sistem Basis Data (Mysql)

22

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 23: Laporan Praktikum Sistem Basis Data (Mysql)

23

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

Page 24: Laporan Praktikum Sistem Basis Data (Mysql)

24

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 di

MySQL. Berikut ini contoh hasil dari query di atas :

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;

Page 25: Laporan Praktikum Sistem Basis Data (Mysql)

25

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 :

Bentuk umum di atas merupakan bentuk umum pembuatan tabel yang sudah

disederhanakan. Penamaan tabel dan field memiliki aturan yang sama dengan

penamaan database.

Page 26: Laporan Praktikum Sistem Basis Data (Mysql)

26

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 :

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;

Page 27: Laporan Praktikum Sistem Basis Data (Mysql)

27

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 dilihat

strukturnya. 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 28: Laporan Praktikum Sistem Basis Data (Mysql)

28

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 29: Laporan Praktikum Sistem Basis Data (Mysql)

29

Page 30: Laporan Praktikum Sistem Basis Data (Mysql)

30

Berikut ini disajikan perintah SQL untuk membuat tabel-tabel di atas:

Page 31: Laporan Praktikum Sistem Basis Data (Mysql)

31

Page 32: Laporan Praktikum Sistem Basis Data (Mysql)

32

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 bisa

menggabungkan minimal dua tabel, yaitu pelanggan dan pesan. Untuk

menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah

JOIN.

Page 33: Laporan Praktikum Sistem Basis Data (Mysql)

33

- 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

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

Page 34: Laporan Praktikum Sistem Basis Data (Mysql)

34

WHERE tabel1.PK=tabel2.FK;

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 35: Laporan Praktikum Sistem Basis Data (Mysql)

35

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

Page 36: Laporan Praktikum Sistem Basis Data (Mysql)

36

FROM tabel1LEFT JOIN tabel2

ON tabel1.PK=tabel2.FK;

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 umum

SELECT tabel1.*, tabel2.*

FROM tabel1RIGHT JOIN tabel2

ON tabel1.PK=tabel2.FK;

Page 37: Laporan Praktikum Sistem Basis Data (Mysql)

37

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:

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:

Page 38: Laporan Praktikum Sistem Basis Data (Mysql)

38

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:

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.

Page 39: Laporan Praktikum Sistem Basis Data (Mysql)

39

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 40: Laporan Praktikum Sistem Basis Data (Mysql)

40

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

jumlah item barangnya lebih dari 2 (dua)? Mungkin kita langsung berfikir untuk

menggunakan WHERE seperti perintah query sebagai berikut:

Page 41: Laporan Praktikum Sistem Basis Data (Mysql)

41

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 42: Laporan Praktikum Sistem Basis Data (Mysql)

42

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:

Page 43: Laporan Praktikum Sistem Basis Data (Mysql)

43

- Menampilkan data pemesanan dengan jumlah barang terbanyak.

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

Page 44: Laporan Praktikum Sistem Basis Data (Mysql)

44

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

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.

Page 45: Laporan Praktikum Sistem Basis Data (Mysql)

45

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;

Pada tipe tabel InnoDB, tidak berlaku transaksi didalam transaksi (nested-

transaction), artinya jika perintah BEGIN dieksekusi sebelum transaksi selesai

Page 46: Laporan Praktikum Sistem Basis Data (Mysql)

46

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

akan membatalkan semua perubahan yang sudah terjadi (seperti halnya mengeksekusi

perintah ROLLBACK).

Bemtuk perintah transsaksi:

Dan pembuatan table penjualan selesai.

Page 47: Laporan Praktikum Sistem Basis Data (Mysql)

47

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 48: Laporan Praktikum Sistem Basis Data (Mysql)

48

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