laporan praktikum sistem basis data (mysql)
DESCRIPTION
laporan praktikumTRANSCRIPT
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
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
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
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).
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.
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
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 :
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()
>;
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
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
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
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
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
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
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)
> ;
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
17
Menghapus kolom
Perintah gunakan alter table yaitu drop
Contoh
Untuk menghapus kodepos2
mysql> alter table karyawan
> drop kodepos2 ;
Tampilan :
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’)
> ;
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’ ;
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 (*)
21
Contoh mysql> select * from karyawan
> ;
Tampilan :
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:.
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 :
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;
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.
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;
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.
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:
29
30
Berikut ini disajikan perintah SQL untuk membuat tabel-tabel di atas:
31
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.
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
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;
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.*
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;
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:
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.
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:
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:
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:
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:
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
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.
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
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.
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.
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