Anda di halaman 1dari 89

BAB I

PENGANTAR MYSQL
1.1 Dasar Teori
A. Basis Data
Basis data (database), merupakan suatu kumpulan informasi yang disimpan
di dalam komputer secara sistematik sehingga dapat diakses menggunakan
suatu program komputer untuk memperoleh informasi dari basis data
tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil
kueri (query) basis data disebut sistem manajemen basis data ( database
management system, DBMS)
B. MySQL
MySQL adalah Relational Database Management System (RDBMS) yang
didistribusikan secra gratis dibawah lisensi GPL. MySQL dimiliki dan
diseponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana
memegang hak cipta hampir atas semua kod sumbernya.
Beberapa keistimewaan SQL :
o PORTABILITAS
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga dll
o OPEN SOURCE
MySQL didistribusikan secara open source(gratis), dibawah lisensi
GPL sehingga dapat digunakan secara Cuma-Cuma
o MULTIUSER
MySQL dapat digunakn oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik yang fatal

1.2 Hasil dan Pembahasan


Installasi MySQL-5.0.67-win32.exe :

1. Jalankan file setup mysql, yaitu mysql-5.0.67-win32.exe, maka akan


muncul dialog installasi , pilih next untuk melanjutkan

2. Pilih type installasi (typical) sesuai kebutuhan, kemudai pilih tombol next
untuk melanjutkan.
Ket : Pada setup type terdapat 3 pilihan yaitu
-

Typical : Pada tipe ini program diinstallkan dengan tipe standar. Sangat

disarankan untuk pengguna umum.


Complete : Pada tipe ini semua program diinstallkan. Unutk menggunakan

tipe ini harap diperhatikan ruang kosong disk anda


Costum : Pada tipe ini anda akan diminta untuk memeilih programprogram yang yang akan diinstalkan. Sangant dianjurkan untuk pengguna
lanjutan.

3. Pilih tombol install untuk memulai proses installasi, tombol back untuk
kembali ketahap sebelumnya dan cancel untuk membatalkan.
Pada tahap ini program menampilkan type pilihan yang anda pilih, dan
lokasi dimana folder program installasi disimpan.

4. Proses installasi telah selesai. Untuk melanjutkan ke tahap konfigurasi, beri


tanda centang pada Configure the MySQL Server now, kemudian pilih
tombol Finish untuk melanjutkan.

5. Pilih tipe konfigurasi yang anda inginkan., kemudian pilih tombol next

untuk melanjutkan.
Ket : Ada 2 tipe konfigurasi diantaranya
Detailled Configuration : Tipe ini akan membuat server secara optimal
Standard Configuration : Tipe ini memiliki tujuan umum pemilihan
konfigurasi secara manual

6. Pilih set option window yang anda kehendaki dengan cara memberi tanda
centang , kemudian pilih tombol next untuk melanjutkan.
Ket : Terdapat 2 set server option yakni

Install As Windows Service : Option ini sangat dianjurkan agar MySQL

server dapat berjalan pada Windows


Include Bin Directory to Windows PATH : Option ini berfungsi untuk
melihat letak server /client dan mengeksekusinya dengan variable windows
PATH dan memanggilnya dengan command line.

7. Pilih security options set yang telah ada, kemudian pilih tombol next untuk

melanjutkan.
Ket : Terdapat 2 set options security
Modify security settings : pada opsi ini anda diminta untuk mengisi Root

password
Create An Anonymous Account : Opsi ini berfungsi untuk membuat
account Anonymous.

8. Pilih Tombol Execute.


Pada tahap ini Pengaturan configurasi yang telah dibuat akan dieksekusi,
lalu diterapkan pada program.
9. Klik tombol Finish untuk mengakhiri proses Installasi

Menjalankan MySQL melalui Command Prompt :


1. Untuk masuk ke Command Prompt, pertama-tama melalui star menu pilih
program Run, lalu Ketikan cmd (tanpa tanda kutip), kemudia pilih tombol
Ok.

2. C:\Dokuments and Settings\Administrator>cd\

Setelah

masuk

C:\Dokuments

Command
and

Prompt,

secara

Settings\Nama_Komputer>

default
Untuk

direktori

pada

mengubahnya

menjadi di directory C:\ maka ketikan cd\ :


3. C:\>cd Program Files
Setelah direktori berada di C , masuk ke program file dengan cara
mengetikan cd program files, atau dapat mengunakan fungsi tab pada
keyboard diawali penulisan huruf.
4. C:\Program Files>cd mysql
Setelah berada di directory program files, ketikan kembali cd mysql untuk
menuju ke directory mysql.
5. C:\Program Files\MySQL>cd MySQL Server 5.0
Setelah berada di directory MySQL, lanjutkan dengan masuk ke directory
MySQL Server 5.0 dengan cara mengetikan cd MySQL Server 5.0. Untuk
Versi harus disesuaikan dengan Program yang diinstallkan.
6. C:\Program Files\MySQL\MySQL Server 5.0>cd bin
Untuk tahap selanjutnya ketikan cd bin untuk menuju direktori bin
7. C:\Program

Files\MySQL\MySQL

Server

5.0\

bin>mysql.exe
Tahap ini merupakan tahap pemanggilan program My SQL, caranya adalah
dengan mengetikan mysql (tanpa tanda kutip), tanpa didahului cd karena
directory tersebut berada di folder bin.
8. Mysql>
Pada Tahap ini anda telah menjalankan Program MySQL Server 5.0

Preview :

BAB II
OPERATOR DAN FUNGSI

2.1 Dasar Teori


A. Menggunakan Operator Aritmatika
Semua database yang mendukung perintah SQL juga mendukung operator
aritmatika. Beberapa operator yang bisa digunakan adalah :
Operato
r
*
/
%
+ -

Keterangan
Perkalian
Pembagian
Sisa Bagi
Penjumlahan, Pengurangan

Prioritas
Petama
Kedua
Ketiga
Keempat

B. Menggunakan Fungsi Matematika


Pada penggunaan fungsi matematika terdapat beberapa fungsi yang
digunakan seperti :
Fungsi ROUND
Fungsi CEILING
Fungsi FLOOR
Fungsi MOD

Fungsi LEAST
Fungsi GREATEST

C. Menggunakan Fungsi Tanggal


Pada bagian ini akan dibahas fungsi dasar yang digunakan untuk menangani
data tunggal. Semua fungsi disertai contoh dalam bentuk sangat sederhana,
sehingga dapat dipahami dengan mudah.

2.2 Hasil dan Pembahasan


o Menggunakan Operator Aritmatika
a. Operasi Perkalian dengan *
Preview
mysql> select 10 * 5;
+--------+
| 10 * 5 |
+--------+
|
50 |
+--------+
1 row in set (0.05 sec)

Analisis
-

Program ini merupakan contoh program penggunaan operasi perkalian


dengan *
Program yang digunakan untuk operasi perkalian adalah tanda asterix (*).
Operator ini digunakan untuk mengalikan dua nilai atau lebih yang berbeda.

b. Operasi pembagian dengan /


Preview
mysql> select 10 / 5;
+--------+
| 10 / 5 |
+--------+
| 2.0000 |
+--------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program penggunaan operasi pembagian


dengan /
Operator yang digunakan untuk operasi pembagian adalah (/)
Operator ini digunakan untuk membagi suatu bilangan dengan bilangan
yang lain

c. Operasi penjumlahan dengan +


Preview
mysql> select 5 + 7;
+-------+
| 5 + 7 |
+-------+
|
12 |
+-------+
1 row in set (0.00 sec)
mysql> select 4 + 2 * 2,(2 + 4) * 2;
+-----------+-------------+
| 4 + 2 * 2 | (2 + 4) * 2 |
+-----------+-------------+
|
8 |
12 |
+-----------+-------------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program penggunaan operasi penjumlahan


atau penambahan dengan +
Operator yang digunakan untuk operasi penjumlahan atau penambahan
adalah (+)
Operator ini digunakan untuk menjumlahkan dua bilangan atau lebih

d. Operasi pengurangan dengan Preview


mysql> select 8 - 4;
+-------+
| 8 - 4 |
+-------+
|
4 |
+-------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program penggunaan operasi pengurangan


dengan Operator yang digunakan untuk operasi pengurangan adalah (-)
Operator ini digunakan untuk mengurangi suatu bilangan dengan bilangan
lain

e. Mencari Sisa Pembagian dengan %


Preview
mysql> select 5 % 2;
+-------+
| 5 % 2 |
+-------+
|
1 |
+-------+
1 row in set (0.00 sec)
mysql> select 7 % 2, 7 % 3;
+-------+-------+
| 7 % 2 | 7 % 3 |
+-------+-------+
|
1 |
1 |
+-------+-------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program mencari sisa pembagian dengan %


Operator yang digunakan untuk mencari sisa pembagian adalah (%)
Operator ini digunakan untuk mengetahui berapa sisa pembagian dari suatu
operasi pembagian

o Menggunakan Fungsi Matematika


a. Membulatkan suatu bilangan pecahan dengan ROUND
Preview
mysql> select round(2.45),round(2.55);
+-------------+-------------+
| round(2.45) | round(2.55) |
+-------------+-------------+
|
2 |
3 |
+-------------+-------------+
mysql> select round(2.250, 1),round(2.252, 2);
+-----------------+-----------------+
| round(2.250, 1) | round(2.252, 2) |
+-----------------+-----------------+
|
2.3 |
2.25 |
+-----------------+-----------------+

Analisis
-

Program ini merupakan contoh program pembulatan suatu bilangan pecah


dengan ROUND
Fungsi ROUND digunakan untuk membulatkan bilangan decimal menjadi
satu nilai diatasnya ataupun nilai dibawahnya. Hal ini dapat dilakukan
sesuai dengan kondisi nilai decimal yang ada di belakangnya.

b. Pembulata pecahan keatas dengan CEILING


Preview
mysql> select ceiling(2.23),ceiling(-2.55);
+---------------+----------------+
| ceiling(2.23) | ceiling(-2.55) |
+---------------+----------------+
|
3 |
-2 |
+---------------+----------------+

Analisis
-

Program ini merupakan contoh program pembulatan pecahan ke atas


dengan CEILING
Fungsi CEILING dapat digunakan untuk membulatkan suatu bilangan
decimal menjadi satu nilai di atasnya.

c. Pembulata pecahan kebawah dengan FLOOR


Preview
mysql> select floor(2.01),floor(2.08),floor(-2.45),floor(2.75);
+-------------+-------------+--------------+--------------+
| floor(2.01) | floor(2.08) | floor(-2.45) | floor(-2.75) |
+-------------+-------------+--------------+--------------+
|
2 |
2 |
-3 |
-3 |
+-------------+-------------+--------------+--------------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program pembulatan pecahan kebawah


dengan FLOOR
Berbeda dengan fungsi sebelumnya, fungsi FLOOR digunakan untuk
membulatkan suatu bilangan decimal menjadi satu nilai di bawahnya

d. Mencari Nilai Pembagian dengan DIV


Preview
mysql> select 5 div 2, 5 / 2;
+---------+--------+
| 5 div 2 | 5 / 2 |
+---------+--------+
|
2 | 2.5000 |
+---------+--------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program mencari nilai pembagian dengan


DIV.
Fungsi DIV digunakan untuk mendapatkan nilai hasil pembagian dari dua
buah bilangan
Nilai yang dihasilkan dari fungsi ini berbentuk bilangan asli tanpa pecahan

e. Mendapatkan Sisa Pembagian dengan MOD


Preview
mysql> select 9 mod 2;
+---------+
| 9 mod 2 |
+---------+
|
1 |
+---------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan sisa pembagian


dengan MOD
Fungsi MOD digunakan untuk mendapatkan modulus atau sisa pembagian
dari operasi pembagian
Jika pada fungsi DIV hasil dari sisa pembagiannya diabaikan, maka pada
fungsi ini menjadi hasilnya

f. Mendapatkan Nilai Terkecil dengan LEAST


Preview
mysql> select least(1, 2, 3, 4, 5, 6, 7, 8, 9);
+----------------------------------+
| least(1, 2, 3, 4, 5, 6, 7, 8, 9) |
+----------------------------------+
|
1 |
+----------------------------------+
1 row in set (0.04 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan nilai terkecil


dengan LEAST
Fungsi LEAST digunakan untuk mendapatkan nilai terkecil dari sederetan
bilangan atau data yang ada

g. Mendapatkan Nilai Terbesar dengan GREATEST


Preview
mysql> select greatest(1, 2, 3, 4, 5, 6, 7, 8, 9);
+-------------------------------------+
| greatest(1, 2, 3, 4, 5, 6, 7, 8, 9) |
+-------------------------------------+
|
9 |
+-------------------------------------+
1 row in set (0.02 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan nilai terbesar


dengan GREATEST.
Berbeda dengan fungsi sebelumnya, fungsi GREATEST digunakan untuk
mendapatkan nilai terbesar dari sederetan data yang ada

o Mengambil bagian string tertentu dengan substring


Preview
mysql> select substring('Teknik Informatika', 6);
+------------------------------------+
| substring('Teknik Informatika', 6) |
+------------------------------------+
| k Informatika
|
+------------------------------------+
1 row in set (0.04 sec)
mysql> select substr('KOMPUTER', 3);
+-----------------------+
| substr('KOMPUTER', 3) |
+-----------------------+
| MPUTER
|
+-----------------------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program pengambilan bagian string tertentu


dengan substring
Pada penggunaan substring, pengambilan string dikurangi satu karakter
sesudah karakter yang didepannya.
Sedangkan pada penggunaan substr, pengambilan karakter dilakukan tanpa
pengurangan apa pun.

o Menggunakan Fungsi Tanggal


a. Mendapatkan Tanggal dan Waktu sekarang
Preview
mysql> select NOW();
+---------------------+
| NOW()
|
+---------------------+
| 2009-12-13 04:51:43 |
+---------------------+
1 row in set (0.04 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan tanggal dan


waktu sekarang
NOW merupakan fungsi MySQL untuk mendapatkan informasi tanggal dan
jam yang berjalan saat ini
Pada penulisan tanggal, MySQL memiliki format terbalik, yaitu YearMonth-Date

b. Mendapatkan Tanggal sekarang


Preview
mysql> select curdate();
+------------+
| curdate() |
+------------+
| 2009-12-13 |
+------------+
1 row in set (0.01 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan tanggal


sekarang
Program ini dihususkan untuk mendapatkan informasi tentang tanggal
sekarang

c. Mendapatkan Data Tanggal dari Ekspresi


Preview
mysql> select date('2008-11-26 04:02:03');
+-----------------------------+
| date('2008-11-26 04:02:03') |
+-----------------------------+
| 2008-11-26
|
+-----------------------------+
1 row in set (0.00 sec)

Analisis
-

Program ini merupakan contoh program untuk mendapatkan data tanggal


dari ekspresi
Fugsi DATE (date time) digunakan untuk mendapatkan nilai tanggal secara
lengkap

d. Mengkonversi Waktu menjadi nilai detik


Preview
mysql> select time_to_sec('01:00:00');
+-------------------------+
| time_to_sec('01:00:00') |
+-------------------------+
|
3600 |
+-------------------------+
1 row in set (0.02 sec)
mysql> select time_to_sec('01:00:00') AS hasil;
+-------+
| hasil |
+-------+
| 3600 |
+-------+
1 row in set (0.02 sec)

Analisis
-

Program ini merupakan contoh program untuk Mengkonversi Waktu


menjadi nilai detik
Jika dibalik, yaitu waktu menjadi detik, fungsi yang digunakan adalah
TIME_TO_SEC(time), dimana parameter time adalah nilai waktu yang
dikonversi

e. Menghitung Selisih dari dua waktu


Preview
mysql> select timediff('2007-11:24 00:00:00',
-> '2007-11:24 01:30:11') AS selisih;
+-----------+
| selisih
|
+-----------+
| -01:30:11 |
+-----------+
1 row in set (0.02 sec)

Analisis
-

Program ini merupakan contoh program untuk menghitung selisih dari dua
waktu
Jika memiliki dua waktu yang berbeda, kita dapat mencari selisih dari
kedua waktu yang ada dengan sangat mudah.
Fungsi yang digunkan adalah TIMEDIFF(expr1, expr2), dimana exprl
adalah nilai waktu pertama dan expr2 adalah nilai waktu yang menjadi
pengurang

BAB III
DATA DEFINITION LANGUAGE (DDL)
3.1 Dasar Teori
A. Bahasa SQL
SQL Memiliki kepanjangan Structure Query Language, digunakan sebagai
antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif
untuk basis data sehingga dibuat standart bahasa SQL oleh ANSI (American
National Standard Institute) dan ISO (International Standard Organization).
Di dalamnya terdapat perintah untuk pendefinisian data, melakukan query
dan update terhadap data.
B. Tipe Data
o Tipe data numerik
o Tipe data String
o Tipe data tanggal dan Jam
C. Perintah DDL (Data Definition Language)
DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan
atribut-atribut basis data , tabel atribut, atribut(kolom), batasan-batasan
terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam
kelompok DDL ini adalah CREATE, ALTER, dan DROP

3.2 Hasil dan Pembahasan


a. Membuat database
Preview
mysql> create database akademik_NIM;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| akademik_nim
|
| mysql
|
| nama_nim
|
| test
|
+--------------------+
5 rows in set (0.00 sec)

Analisis
-

Perintah : mysql> create database akademik_NIM; merupakan


perintah unuk membuat database dengan nama akademik_NIM.
Dalam membuat nama database tidak boleh mengandung spasi dan tidak
boleh memiliki nama yang sama antar databases.
Sedangkan untuk menampilakan daftar nama database yang ada pada mysql
menggunakan perintah mysql> show databases;

b. Menghapus Database
Preview
mysql> drop database akademik_NIM;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| mysql
|
| nama_nim
|
| test
|
+--------------------+

Analisis
-

Perintah : mysql> drop database akademik_NIM; merupakan


perintah unuk menghapus database dengan nama akademik_NIM, yang
telah dibuat pada perintah sebelumnya.
Database yang akan dihapus harus sesuai dengan nama database yang telah
dibuat sebelumnya.
Untuk membuktikanyan dapat menampilkan database yang ada dengan
perintah mysql> show databases;

c. Membuat Table
Preview
mysql> use akademik_NIM;
Database changed
mysql> create table mahasiswa(
-> npm char(9) not null,
-> nama varchar(20) not null,
-> alamat varchar(30) null,
-> jns_kelamin char(1) not null,
-> gol_darah varchar(2) null,
-> primary key (npm));
Query OK, 0 rows affected (0.09 sec)
mysql> show tables;
+------------------------+
| Tables_in_akademik_nim |
+------------------------+
| mahasiswa
|
+------------------------+
1 row in set (0.00 sec)
mysql> describe mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Analisis
-

Sebelum membuat sebuah table, terlebih dahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan
table-tabel dengan menggunakan perintah : mysql>use akademik_NIM;
Dalam pembuatan table, nama table tidak boleh mengandung spasi.
Dalam sebuah table terdapat field dan tipe data,
Jika ingin membuat table dengan kolo lebih dari satu, maka setelah
pendefinisian tipe data sebelumnya diberikan tanda (,)
Null yaitu field tersebut tidak berisi nilai sedangkan not null, yaitu fiels
harus berisi nilai atau tidak boleh kosong
Primary key digunakan untuk mendefinisikan kata kunci dalam sebuah
table.
Untuk menampilkan daftar nama table yang ada pada database yang sedang
aktif/ digunakan perintah : mysql>show tables;
Sedangkan untuk menampilkan deskripsi table perintahnya adalah :
Desc nama_table atau describe nama_table (dalam hal ini menggunakan
table mahasiswa).

d. Membuat Kolom Auto Uuntuk Penambahan Data Otomatis


Preview
CREATE TABLE [IF NOT EXISTS] nama table (
kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT,
kolom_b tipe(panjang) [NOT NULL | NULL], ,
PRIMARY KEY(kolom_kunci) )

Analisis
-

Perintah diatas digunakan untuk membuat kolom auto utnuk penambahan


data otomatis
Parameter yang digunkan untuk membuat kolom bentuk AUTO adalah
AUTO INCREMENT.
Dengan menggunakan tipe kolom ini, data akan bertambah secara otomatis
Syarat kolom AUTO harus menggunkan tipe data angka(INT, TININT, )

e. Menghapus Primary Key pada table


Preview
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
mysql> alter table mahasiswa drop primary key;
Query OK, 0 rows affected (0.23 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
|
| NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Analisis
-

ALTER TABLE namatable DROP PRIMARY KEY; merupakan


perintah untuk menghapus primary key pada suatu table
Pada printah ini digunakan perintah :
mysql>alter table mahasiswa drop primary key;
digunakan utuk menghapus primary key pada table mahasiswa

f. Menambah Kolom/Field Baru pada Table


Preview
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
|
| NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
mysql> alter table mahasiswa add tgl_lahir date;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
|
| NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| tgl_lahir
| date
| YES |
| NULL
|
|
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

Analisis
-

ALTER TABLE namatable ADD fieldbaru tipe; perintah


tersebut digunakan untuk menambah kolom/Field baru pada table
Namatable adalah nama table yang akan ditambah fieldnya.
Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data
dari kolom yang akan ditambahkan.
Perintah yang digunakan adalah menambahkan kolom tgl_lahir dengan tipe
data date

g. Membuat table Dosen


Preview
mysql> use akademik_NIM;
Database changed
mysql> create table dosen(
-> nip char(9) not null,
-> nama varchar(20) not null,
-> alamat varchar(30) null,
-> no_telp char(1) not null);
Query OK, 0 rows affected (0.09 sec)
mysql> desc dosen;
+---------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nip
| char(9)
| NO
|
| NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat | varchar(30) | YES |
| NULL
|
|
| no_telp | char(1)
| NO
|
| NULL
|
|
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

Analisis
-

Perintah diatas merupakan perintah untuk membuat table bernama dosen, pada
database akademik_NIM

h. Menambah Kolom Kunci/Primary key pada tabel


Preview
mysql> alter table dosen
-> add primary key(nip);
Query OK, 0 rows affected (0.29 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc dosen;
+---------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nip
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat | varchar(30) | YES |
| NULL
|
|
| no_telp | char(1)
| NO
|
| NULL
|
|
+---------+-------------+------+-----+---------+-------+

Analisis
-

ALTER TABLE nama_tbl ADD PRIMARY KEY(kolom); perintah


tersebut digunakan untuk menambah Kunci/Primary key pada table
Dengan menggunakan perintah ALTER, anda dapat melakukan perubahan
sebuah kolom menjadi kunci

i. Merelasikan struktur tabel


Preview
mysql> alter table mahasiswa
-> add foreign key(nip)
-> references dosen(nip);
Query OK, 0 rows affected (0.26 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(20) | NO
|
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| tgl_lahir
| date
| YES |
| NULL
|
|
| nip
| char(9)
| YES | MUL | NULL
|
|
+-------------+-------------+------+-----+---------+-------+
7 rows in set (0.01 sec)

Analisis
-

Perintah mysql>
alter
table
mahasiswa
add
nip
char(9)digunakan untuk menambah field NIP pada table mahasiswa
Sedangkan perintah mysql> alter table mahasiswa add
foreign key(nip) references dosen(nip)digunakan untuk
merelasikan struktur table mahasiswa dengan dosen

j. Mengubah Tipe data atau Lebar Kolom pada Tabel


Preview
mysql> alter table mahasiswa modify column nama varchar(25);
Query OK, 0 rows affected (0.27 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(25) | YES |
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| tgl_lahir
| date
| YES |
| NULL
|
|
| nip
| char(9)
| YES | MUL | NULL
|
|
+-------------+-------------+------+-----+---------+-------+

Analisis
-

ALTER TABLE namatabel MODIFY COLUMN field tipe;


digunakan utnuk mengubah tipe data atau lebar kolom pada table
Namatable adalah nama table yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarbya
Tipe adalah data baru atau tipe data lama dengan lebar kolom yang berbeda
Pada perintah diatas merupakan perintah untuk mengubah field nama menjadi
tipe varchar dengan lebar kolom menjadi 25

k. Mengubah Tipe data atau Lebar Kolom pada Tabel


Preview
mysql> alter table mahasiswa
-> change column nama gumilar varchar(25);
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| gumilar
| varchar(25) | YES |
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| tgl_lahir
| date
| YES |
| NULL
|
|
| nip
| char(9)
| YES | MUL | NULL
|
|
+-------------+-------------+------+-----+---------+-------+

Analisis
-

ALTER TABLE namatabel CHANGE COLUMN namalamakolom


namabarukolom tipe datanya;digunakan untuk mengubah nama
kolom
Namatable adalah nama table yang akan diubah nama kolomnya,
namalamakolom adalah kolom yang akan diganti namanya, dan
namabarukolom adalah nama baru kolom, kemudian tipe adalah tipe dari data
tersebut.
Pada perintah diatas adalah pengubahan nama kolom nama menjadi gumilar

l. Mengubah nama Tabel


Preview
mysql> show tables;
+------------------------+
| Tables_in_akademik_nim |
+------------------------+
| dosen
|
| mahasiswa
|
+------------------------+
2 rows in set (0.00 sec)
mysql> alter table dosen rename to guru;
Query OK, 0 rows affected (0.05 sec)
mysql> show tables;
+------------------------+
| Tables_in_akademik_nim |
+------------------------+
| guru
|
| mahasiswa
|
+------------------------+
2 rows in set (0.00 sec)

Analisis
-

ALTER TABLE nama_lama RENAME [TO] nama_baru; perintah


tersebut digunakan untuk merubah nama table
Pada printah diatas adalah pengubahan nama dari table bernama dosen
menjadi table bernama guru dengan menggunakan perintah :
mysql> alter table dosen rename to guru;
Parameter TO bebas untuk digunakan atau tidak, karena sifatnya
optional/pilihan saja

m. Menghapus Kolom Pada Tabel


Preview
mysql> alter table mahasiswa
-> drop tgl_lahir;
Query OK, 0 rows affected (0.21 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI | NULL
|
|
| gumilar
| varchar(25) | YES |
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| NO
|
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| nip
| char(9)
| YES | MUL | NULL
|
|
+-------------+-------------+------+-----+---------+-------+

Analisis
-

ALTER TABLE namatabel DROP COLUMN namakolom; Perintah


tersebut digunakan untuk menghapus kolom pada sebuah table
Pada perintah diatas, untuk menghapus kolom tgl_lahir menggunakan perintah
:
mysql> alter table mahasiswa
-> drop tgl_lahir;

n. Menghapus Tabel
Preview
mysql> drop table mahasiswa;
Query OK, 0 rows affected (0.05 sec)
mysql> show tables;
+------------------------+
| Tables_in_akademik_nim |
+------------------------+
| guru
|
+------------------------+

Analisis
-

DROP TABLE namatabel; merupakan perintah untuk menghapus table.


Berikut ini merupakan perintah untuk menghapus table dengan nama
mahsiswa :
Mysql> drop table mahasiswa;

LATIHAN 2
Preview
mysql> create database nama_nim;
Query OK, 1 row affected (0.00 sec)
mysql> use nama_nim;
Database changed
mysql> create table mahasiswa(
-> nim int not null,
-> nama varchar(50),
-> alamat varchar(50),
-> tgl_lahir varchar(10),
-> jns_kelamin char(1),
-> kd_jur varchar(1),
-> primary key(nim, kd_jur));
Query OK, 0 rows affected (0.12 sec)
mysql> create table mata_kuliah(
-> kd_mtkul varchar(10) not null,
-> nama_mtkul varchar(30),
-> nama_pelajaran varchar(30),
-> kd_jur varchar(10),
-> primary key(kd_mtkul));
Query OK, 0 rows affected (0.10 sec)
mysql> alter table mata_kuliah
-> add foreign key(kd_jur) references mahasiswa(kd_jur);
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> create table dosen(
-> nip int not null,
-> nama varchar(50),
-> alamat varchar(50),
-> tgl_lahir date,
-> jns_kelamin char(1),
-> kd_mtkul varchar(10),
-> primary key(nip));
Query OK, 0 rows affected (0.09 sec)
mysql> alter table dosen
-> add foreign key(kd_mtkul) references
mata_kuliah(kd_mtkul);
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc mahasiswa;


+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| nim
| int(11)
| NO
| PRI | NULL
|
|
| nama
| varchar(50) | YES |
| NULL
|
|
| alamat
| varchar(50) | YES |
| NULL
|
|
| tgl_lahir
| varchar(10) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| YES |
| NULL
|
|
| kd_jur
| varchar(1) | NO
| PRI |
|
|
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
mysql> desc mata_kuliah;
+----------------+-------------+------+-----+--------+-------+
| Field
| Type
| Null | Key | Default | Extra
|
+----------------+-------------+------+-----+--------+-------+
| kd_mtkul
| varchar(10) | NO
| PRI | NULL
|
|
| nama_mtkul
| varchar(30) | YES |
| NULL
|
|
| nama_pelajaran | varchar(30) | YES |
| NULL
|
|
| kd_jur
| varchar(10) | YES | MUL | NULL
|
|
+----------------+-------------+------+-----+--------+-------+
4 rows in set (0.00 sec)
mysql> desc dosen;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+

Analisis
-

Dalam database nama_nim, terdapat 3 buah table yaitu


Table mahasiswa
Table mata_kuliah
Table dosen
Pada table mata_kuliah, terdapat colom kd_jur diamana field tersebut
direlasikan dengan kolom kd_jur yang ada pada table mahasiswa, dengan
penggunaan foreign key.
Pada table Dosen, terdapat colom kd_mtkul diamana field tersebut direlasikan
dengan kolom kd_mtkul yang ada pada table mata_kuliah, dengan
penggunaan foreign key.

LATIHAN 3
Preview
mysql> alter table mahasiswa
-> modify column tgl_lahir date;
Query OK, 0 rows affected (0.28 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| nim
| int(11)
| NO
| PRI | NULL
|
|
| nama
| varchar(50) | YES |
| NULL
|
|
| alamat
| varchar(50) | YES |
| NULL
|
|
| tgl_lahir
| date
| YES |
| NULL
|
|
| jns_kelamin | char(1)
| YES |
| NULL
|
|
| kd_jur
| varchar(10) | NO
| PRI | NULL
|
|
+-------------+-------------+------+-----+---------+-------+

Analisis
-

Pada table mahasiswa, terjadi kesalahan type field tgl_lahir yang seharusnya
mempunyai tipe data date. Dan untuk memeperbaiki kesalahan tersebut dapat
diperbaiki dengan menggunakan perintah :
mysql> alter table mahasiswa
-> modify column tgl_lahir date;

LATIHAN 4
Preview
mysql> alter table mata_kuliah
-> drop nama_pelajaran;
mysql> desc mata_kuliah;
+------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| kd_mtkul
| varchar(10) | NO
| PRI | NULL
|
|
| nama_mtkul | varchar(30) | YES |
| NULL
|
|
| kd_jur
| varchar(10) | YES | MUL | NULL
|
|
+------------+-------------+------+-----+---------+-------+

Analisis
-

Untuk melakukan penghapusan kolom nama_pelajaran


mata_kuliah digunakan perintah :
mysql> alter table mata_kuliah
-> drop nama_pelajaran;

pada

table

LATIHAN 5
Preview
mysql> show create table mata_kuliah;
| mata_kuliah | CREATE TABLE `mata_kuliah` (
`kd_mtkul` varchar(10) NOT NULL,
`nama_mtkul` varchar(30) default NULL,
`kd_jur` varchar(10) default NULL,
PRIMARY KEY (`kd_mtkul`),
KEY `kd_jur` (`kd_jur`),
CONSTRAINT `mata_kuliah_ibfk_1` FOREIGN KEY (`kd_jur`)
REFERENCES `mahasiswa`
(`kd_jur`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
1 row in set (0.00 sec)
mysql> alter table mata_kuliah
-> drop foreign key mata_kuliah_ibfk_1;
Query OK, 0 rows affected (0.24 sec)
Records: 0 Duplicates: 0 Warnings: 0
| dosen | CREATE TABLE `dosen` (
`nip` int(11) NOT NULL,
`nama` varchar(50) default NULL,
`alamat` varchar(50) default NULL,
`tgl_lahir` date default NULL,
`jns_kelamin` char(1) default NULL,
`kd_mtkul` varchar(10) default NULL,
KEY `kd_mtkul` (`kd_mtkul`),
CONSTRAINT `dosen_ibfk_1` FOREIGN KEY (`kd_mtkul`)
REFERENCES `mata_kuliah` (`
kd_mtkul`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
mysql> alter table dosen
-> drop foreign key dosen_ibfk_1;
Query OK, 0 rows affected (0.23 sec)
Records: 0 Duplicates: 0 Warnings: 0

Analisis
-

Untuk melakukan penghapusan table mata_kuliah, terlebih dahulu kita harus


melepaskan relasi yang terkait dengan table tersebut.
Pertama adalah melepaskan relasi dengan table dosen, dengan mencari terebih
dahulu letak foreign key dengan perintah
mysql> show create table mata_kuliah;
Kemudian perintah selanjutnya adalah untuk menghapus foreign keynya :
mysql> alter table mata_kuliah
-> drop foreign key mata_kuliah_ibfk_1;

LATIHAN 6
Preview
mysql> create table mata_kuliah(
-> kd_mtkul varchar(10) not null,
-> nama_mtkul varchar(30),
-> nama_pelajaran varchar(30),
-> kd_jur varchar(10),
-> primary key(kd_mtkul));
Query OK, 0 rows affected (0.10 sec)
mysql> alter table mata_kuliah
-> add foreign key(kd_jur) references mahasiswa(kd_jur);
mysql> desc mata_kuliah;
+----------------+-------------+------+-----+--------+-------+
| Field
| Type
| Null | Key | Default |
Extra |
+----------------+-------------+------+-----+--------+-------+
| kd_mtkul
| varchar(10) | NO
| PRI | NULL
|
|
| nama_mtkul
| varchar(30) | YES |
| NULL
|
|

Analisis
-

Dalam membuat kembali table mata_kuliah, terdapat cara untuk mempercepat


dalam proses pengerjaan yaitu dengan menggunkan arah atas atau bawah pada
keyboard, yang fungsinya adalah untuk mencari perintah dari tiap baris yang
telah user tuliskan.
Dan apabila pengguna telah keluar dari program mysql yang digunakan maka
secara otomatis history yang telah user tuliskan akan semuanya hilang/clear

BAB IV
DML (DATA MANIPULATION LANGUAGE)
4.1 Dasar Teori
DML (Data Manipulation Language) adalah kelompok perintah yang berfungsi
untuk memanifulasi data dalam basis data, misalnya untuk pengambilan,
penyisipan, pembuahan dan penghapusan data. Perintah yang termasuk dalam
katagori DML adalah :
o INSERT
Perintah ini digunakan untuk menambah baris baru pada suatu tabel
o DELETE
Perintah ini digunakan untuk menghapus suatu baris, baris dengan kondisi
tertentu atau seluruh baris
o UPDATE
Perintah ini digunakan untuk mengubah isi data pada satu atau beberapa
kolom pada suatu tabel
o SELECT
Perintah ini digunakn untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan tabel yang lainnya.

4.2 Hasil dan Pembahasan


o Membuat Tabel Mahasiswa
Preview
mysql> create database GUMILAR_087006199;
Query OK, 1 row affected (0.03 sec)
mysql> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| gumilar_087006199 |
| mysql
|
| test
|
+--------------------+
4 rows in set (0.00 sec)
mysql> use GUMILAR_087006199;
Database changed
mysql> create table mahasiswa(
-> npm char(10) primary key,
-> nama_lengkap varchar(20),
-> alamat varchar(20),
-> jns_kelamin char(1),
-> gol_darah varchar(2));
Query OK, 0 rows affected (0.09 sec)
mysql> desc mahasiswa;
+--------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| npm
| char(10)
| NO
| PRI | NULL
|
|
| nama_lengkap | varchar(20) | YES |
| NULL
|
|
| alamat
| varchar(20) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| YES |
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.02 sec)
mysql> alter table mahasiswa
-> add nip char(9);
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0

Analisis
-

Perintah : mysql> create database GUMILAR_087006199;


merupakan perintah unuk membuat database dengan nama
gumilar_08700619.
Untuk menamplkan database yang telah kita buat yang ada pada program
mysql perintahnya adalah mysql> show databases;
Setelah membuat database kemudian kita harus mengaktifkan data base
tersebut denga perintah : mysql> use GUMILAR_087006199;
untuk dapat membuat table
Didalamnya kita buat beberapa table salah satunya adalah table mahasiswa,
dan utnuk menamplkannya kita gunakan perintah : mysql> desc
mahasiswa;
Dan untuk menambahkan field baru (pada program ini penambahan field
nip) adalah dengan menggukan perintah : mysql> desc mahasiswa;

o Membuat Tabel Dosen


Preview
mysql> create table dosen(
-> nip char(9) primary key,
-> nama varchar(20),
-> alamat varchar(20),
-> no_telp varchar(12));
Query OK, 0 rows affected (0.05 sec)
mysql> desc dosen;
+---------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| nip
| char(9)
| NO
| PRI | NULL
|
|
| nama
| varchar(20) | YES |
| NULL
|
|
| alamat | varchar(20) | YES |
| NULL
|
|
| no_telp | varchar(12) | YES |
| NULL
|
|
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

Analisis
-

Setelah kita membuat database pada contoh program sebelumnya,


selanjutnya adalah membuat table dosen yang termasuk dalam database
gumilar_087006199

Untuk menampilkan table yang telah dibuat, dengan menggunkan perintah :


mysql> desc dosen;

o Merelasikan Tabel Dosen - Mahasiswa


Preview

mysql> alter table mahasiswa


-> add foreign key(nip) references dosen(nip);
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc mahasiswa;
+--------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| npm
| char(10)
| NO
| PRI | NULL
|
|
| nama_lengkap | varchar(20) | YES |
| NULL
|
|
| alamat
| varchar(20) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| YES |
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
| nip
| char(9)
| YES | MUL | NULL
|
|
+--------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Analisis
-

Untuk dapat merelasikan dua table dalam satu database, terlebhih dahulu
pada dua table yang akan direlasikan harus terdapat field dengan nama yang
sama, dan salahsatunya harus primary key
Perintah utuk merelasikan dapatmenggunakan perintah :
mysql> alter table mahasiswa
-> add foreign key(nip)
dosen(nip);

references

o Perintah DML (Data Manpulation Language)


a. INSERT
o Mengisi Tabel Dosen
Preview
mysql> insert into dosen
-> values('A01','RIYANTO','Jl.
Siliwangi','081012345678');
Query OK, 1 row affected (0.06 sec)
mysql> insert into dosen
-> values('A02','ARADEA','Jl.
Indihiang','081987654321');
Query OK, 1 row affected (0.03 sec)
mysql> insert into dosen
-> values('A03','IRFAN','Jl. DOKAR','081111222333');
Query OK, 1 row affected (0.02 sec)
mysql> select * from dosen;
+-----+---------+---------------+--------------+
| nip | nama
| alamat
| no_telp
|
+-----+---------+---------------+--------------+
| A01 | RIYANTO | Jl. Siliwangi | 081012345678 |
| A02 | ARADEA | Jl. Indihiang | 081987654321 |
| A03 | IRFAN
| Jl. DOKAR
| 081111222333 |
+-----+---------+---------------+--------------+
3 rows in set (0.02 sec)

Analisis
-

Setelah table dibuat selanjutnya adalah mengisi table tersebut.


Pada preview diatas merupakan perintah yang digunakan untuk mengisi
table dosen
Perintah yang digunkan adalah :
mysql> insert into dosen
->
values('A01','RIYANTO','Jl.Siliwangi','081012345678')
;
Query OK, 1 row affected (0.06 sec)

Untuk menampilkanya data yang telah diisi pada table dosen tersebut,
dapat digunakan perintah : mysql> select * from dosen;

o Mengisi Tabel Mahasiswa


Preview
mysql> insert into mahasiswa
-> values('097007112','Ferry Setiawan','Jl. raya
No.11','L','A','A02');
Query OK, 1 row affected (0.05 sec)
mysql> insert into mahasiswa
-> values('097007113','Eva Suharti','Jl. Merdeka','P','AB','A01');02
Query OK, 1 row affected (0.03 sec)
mysql> insert into mahasiswa
-> values('097007114','Andina Novita','Bandung','P','A','A02');
Query OK, 1 row affected (0.03 sec)
mysql> insert into mahasiswa
-> values('097007115','Agus Ramdani','Jl. Siliwangi','L','B','A03');
Query OK, 1 row affected (0.03 sec)
mysql> insert into mahasiswa
-> values('097007116','Abdul Kodir','Tasikmalaya','L','0','A03');
Query OK, 1 row affected (0.02 sec)
mysql> select * from mahasiswa;
+-----------+----------------+----------------+-------------+----------+------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
nip |
+-----------+----------------+----------------+-------------+----------+------+
| 097007112 | Ferry Setiawan | Jl. raya No.11 | L
| A
|
A02 |
| 097007113 | Eva Suharti
| Jl. Merdeka
| P
| AB
|
A01 |
| 097007114 | Andina Novita | Bandung
| P
| A
|
A02 |
| 097007115 | Agus Ramdani
| Jl. Siliwangi | L
| B
|
A03 |
| 097007116 | Abdul Kodir
| Tasikmalaya
| L
| 0
|
A03 |
+-----------+----------------+----------------+-------------+----------+------+
5 rows in set (0.00 sec)

Analisis
-

Setelah table dosen , selanjutnya membuat table mahasiswa.


Perintah yang digunakan untuk membuat table mahasiswa :
mysql> insert into mahasiswa
-> values('097007112','Ferry Setiawan','Jl.
raya No.11','L','A','A02');
Untuk pengisian selanjutnya digunakan perintah yang sama, dan hanya
mengubah values-nya.

Untuk menampilkannya digunakan perintah : mysql> select *


from mahasiswa;
b. DELETE (Hapus)
Preview

mysql> delete from mahasiswa


-> where npm='097007116';
Query OK, 1 row affected (0.13 sec)
mysql> delete from mahasiswa
-> where nama_lengkap='Andina Novita';
Query OK, 1 row affected (0.03 sec)
mysql> select * from mahasiswa;
+-----------+----------------+----------------+-------------+----------+------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
nip |
+-----------+----------------+----------------+-------------+----------+------+
| 097007112 | Ferry Setiawan | Jl. raya No.11 | L
| A
|
A02 |
| 097007113 | Eva Suharti
| Jl. Merdeka
| P
| AB
|
A01 |
| 097007115 | Agus Ramdani
| Jl. Siliwangi | L
| B
|
A03 |
+-----------+----------------+----------------+-------------+----------+------+

3 rows in set (0.01 sec)

Analisis
-

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan


kondisi tertentu atau seluruh baris
Perintah DELETE FROM namatabel [where kondisi];
Perintah dalam tanda [ ] bersifat operasional utnuk menghapus suatu
baris dengan kondisi tertentu.
Pada perintah :
mysql> delete from mahasiswa
-> where npm='097007116';
Digunakn utnuk menghapus baris yang memiliki npm 097007116
Pada perintah :
mysql> delete from mahasiswa
-> where nama_lengkap='Andina Novita';
Digunakn utnuk menghapus baris yang memiliki nama_lengkap Andina
Novita
Jika ingin menghapus seluruh baris/data pada table mahasiswa dapat
menggunkan perintah

mysql>delete from mahasiswa;


c. UPDATE (Ganti/Ubah)
Preview
mysql> select * from mahasiswa;

+-----------+----------------+----------------+-------------+----------+------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
nip |
+-----------+----------------+----------------+-------------+----------+------+
| 097007112 | Ferry Setiawan | Jl. raya No.11 | L
| A
|
A02 |
| 097007113 | Eva Suharti
| Jl. Merdeka
| P
| AB
|
A01 |
| 097007115 | Agus Ramdani
| Jl. Siliwangi | L
| B
|
A03 |
+-----------+----------------+----------------+-------------+----------+------+

3 rows in set (0.01 sec)


mysql> update mahasiswa
-> set nama_lengkap='Agus' where npm='097007115';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from mahasiswa;

+-----------+----------------+----------------+-------------+----------+------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
nip |
+-----------+----------------+----------------+-------------+----------+------+
| 097007112 | Ferry Setiawan | Jl. raya No.11 | L
| A
|
A02 |
| 097007113 | Eva Suharti
| Jl. Merdeka
| P
| AB
|
A01 |
| 097007115 | Agus
| Jl. Siliwangi | L
| B
|
A03 |
+-----------+----------------+----------------+-------------+----------+------+

3 rows in set (0.00 sec)

Analisis
-

Perintah UPDATE digunakan untuk mengubah isi data pada satu atau
beberapa kolom pada suatu table
Perintah UPDATE namatabel SET kolom1=nilai, kolom2=nilai2
[WHERE kondsi];
Perintah dalam tanda [ ] bersifat operasional uuk mengubah suatu baris
dengan suatu kndisi tertentu
Untuk mengubah nilai pada kolom nama_lengkap menjadi Agus dimana
pada npm 097007115 menggunkan perintah :
mysql> update mahasiswa

->
set
npm='097007115';
d. Select (Tampil)

nama_lengkap='Agus'

where

Preview
mysql> select * from mahasiswa;
+-----------+----------------+----------------+-------------+-----------+------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah | nip |
+-----------+----------------+----------------+-------------+-----------+------+
| 097007112 | Ferry Setiawan | Jl. raya No.11 | L
| A
| A02 |
| 097007113 | Eva Suharti
| Jl. Merdeka
| P
| AB
| A01 |
| 097007115 | Agus
| Jl. Siliwangi | L
| B
| A03 |
+-----------+----------------+----------------+-------------+-----------+------+

mysql> select * from dosen;


+-----+---------+---------------+--------------+
| nip | nama
| alamat
| no_telp
|
+-----+---------+---------------+--------------+
| A01 | RIYANTO | Jl. Siliwangi | 081012345678 |
| A02 | ARADEA | Jl. Indihiang | 081987654321 |
| A03 | IRFAN
| Jl. DOKAR
| 081111222333 |
+-----+---------+---------------+--------------+
mysql> select nip, nama from dosen;
+-----+---------+
| nip | nama
|
+-----+---------+
| A01 | RIYANTO |
| A02 | ARADEA |
| A03 | IRFAN
|
+-----+---------+
mysql> select * from dosen order by nip desc;
+-----+---------+---------------+--------------+
| nip | nama
| alamat
| no_telp
|
+-----+---------+---------------+--------------+
| A03 | IRFAN
| Jl. DOKAR
| 081111222333 |
| A02 | ARADEA | Jl. Indihiang | 081987654321 |
| A01 | RIYANTO | Jl. Siliwangi | 081012345678 |
+-----+---------+---------------+--------------+

Analisis
-

Perintah SELECT digunakan untuk menampilkan isi dari suatu table


yang dapat dihubugkan dengan table yang lainnya
Perintah : mysql> select * from dosen;digunakan untuk
menampilkan data semua kolom pada table dosen
Sedangkan Perintah : mysql> select np, nama from
dosen; digunakan hanya untuk menampilkan nip dan nama pada table
dosen
Dan perintah mysql> select from dosen order by nip
desc;digunkan untuk mengurutkan data dari yang terbesar

BAB V
SELEKSI MENGGUNAKAN OPERATOR DASAR

5.1 Dasar Teori


Menggunakan Operator Pembanding

Pada bab ini akan dibahas beberapa operator dasar yang digunakan untuk
membandingkan dua nilai atau lebih dari data yang berbeda. Untuk
melakukan perbandingan, nilai hasil yang dikembalikan hanya ada dua
kemungkinan, yaitu TRUE dan FALSE. Bila dinyatakan dengan bilangan ,
hasil TRUE sama dengan 1, dan FALSE sama dengan 0. Terdapat beberapa
operator pembanding diantaranya :
-

Operator ( = ) equal
Operator ( != ) not equal
Operator ( >) lebih dari
Operator ( >= ) lebih dari sama dengan
Operator ( < ) kurang dari
Operator ( <= ) kurang dari sama dengan

Menggunakan Operator Logika

Pada operator logika terdapat beberapa operator yang digunakan, yaitu :


-

Dua kondisi bernilai benar dengan AND


Salah satu benar dengan operator OR
Nilai balik dengan operator NOT
Operator IN
Operator Like

5.2 Hasil dan Pembahasan


o Membuat Tabel Mahasiswa
Preview

mysql> create database 087006199_gumilar;


Query OK, 1 row affected (0.10 sec)
mysql> use 087006199_gumilar;
Database changed
mysql> create table mahasiswa(
->npm char(9),
->nama_lengkap varchar(30),
->alamat varchar(30),
->jns_kelamin char(1),
->gol_darah varchar(2),
->primary key (npm));
Query OK, 0 rows affected (0.29 sec)
mysql> desc mahasiswa;
+--------------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| npm
| char(9)
| NO
| PRI |
|
|
| nama_lengkap | varchar(30) | YES |
| NULL
|
|
| alamat
| varchar(30) | YES |
| NULL
|
|
| jns_kelamin | char(1)
| YES |
| NULL
|
|
| gol_darah
| varchar(2) | YES |
| NULL
|
|
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.12 sec)

Analisis
-

Sebelum membuat tabel mahasiswa terlebih dahulu yang harus dilakukan


adalah membuat database dengan menggunkan perintah :
create database 087006199_gumilar;
Perintah diatas digunakan untuk membuat database 087006199_gumilar
Sebelummembuat table mahasiswa, terlebihdahuluharusmemilihsalahsatu
database sebagai database aktif yang akandigunakanuntukmenyimpan
table-tabeldenganmenggunakanperintah
:
mysql>use
087006199_gumilar;
Setelah memilih salah satu database sebagai database yang aktif barulah
bisa dibuat table

o Mengisi Tabel Mahasiswa


Preview
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
->values('087006112','Ferry Setiawan','Cieunteung No.20','L','A');
Query OK, 1 row affected (0.04 sec)
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
-> values('087006113','Eva Suharti','Batu Indah No.111','P','B');
Query OK, 1 row affected (0.01 sec)
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
->values('087006118','Andina Novita','PerumBatara Blok C
No.210','P','A');
Query OK, 1 row affected (0.02 sec)
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
-> values('087006122','Agus Ramdan','Kawalu No.210','L','O');
Query OK, 1 row affected (0.03 sec)
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
-> values('087006222','Abdul Kodir','Manonjaya','L','AB');
Query OK, 1 row affected (0.03 sec)
mysql> insert into mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,gol_darah)
-> values('087006111','Wawan','Mannjaya','L','AB');
Query OK, 1 row affected (0.03 sec)
mysql> select * from mahasiswa;
+-----------+----------------+----------------------------+-------------+-----------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
+-----------+----------------+----------------------------+-------------+-----------+
| 087006111 | Wawan
| Mannjaya
| L
| AB
|
| 087006112 | Ferry Setiawan | Cieunteung No.20
| L
| A
|
| 087006113 | Eva Suharti
| Batu Indah No.111
| P
| B
|
| 087006118 | Andina Novita | Perum Batara Blok C No.210 | P
| A
|
| 087006122 | Agus Ramdan
| Kawalu No.210
| L
| O
|
| 087006222 | Abdul Kodir
| Manonjaya
| L
| AB
|
+-----------+----------------+----------------------------+-------------+-----------+
6 rows in set (0.00 sec)

Analisis
-

Setelah tabe dibuat selanjutnya adalah tahap pengisian tabel mahasiswa


Untuk mengisi tabel mahasiswa perintah yang digunakan :
mysql>
insert
into
mahasiswa(npm,nama_lengkap,alamat,jns_kelamin,go
l_darah)
->values('087006112','Ferry
Setiawan','Cieunteung No.20','L','A');
Perintah diatas digunkan seterusnya untuk mengisi tabel mahasiswa sesuai
data yang ingin dimasukan, namun hanya mengganti valuesnya saja.

o Membuat Tabel Mata_kuliah


Preview
mysql> create table mata_kuliah(
->kode_mk char(6),
->nama_mkvarchar(20),
->sks char(1),
->semestervarchar(2),
->primary key(kode_mk));
mysql> insert into mata_kuliah
-> values('TI1116','Logika Informatika','2','2');
mysql> insert into mata_kuliah
-> values('TI1201','Struktur Data','3','3');
mysql> insert into mata_kuliah
-> values('TI1206','Basis Data','3','3');
mysql> insert into mata_kuliah
-> values('TI1303','Sistem Basis Data','3','4');
mysql> insert into mata_kuliah
-> values('TI1304','Kecerdasan Buatan','3','5');
mysql> insert into mata_kuliah
-> values('TI1313','Sistem Informasi','3','5');
mysql> insert into mata_kuliah
-> values('TI1203','Prak. Struktur Data','1','3');
mysql> select * from mata_kuliah;
+---------+---------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+---------------------+------+----------+
| TI1116 | Logika Informatika | 2
| 2
|
| TI1201 | Struktur Data
| 3
| 3
|
| TI1203 | Prak. Struktur Data | 1
| 3
|
| TI1206 | Basis Data
| 3
| 3
|
| TI1303 | Sistem Basis Data
| 3
| 4
|
| TI1304 | Kecerdasan Buatan
| 3
| 5
|
| TI1313 | Sistem Informasi
| 3
| 5
|
+---------+---------------------+------+----------+

Analisis
-

Pembuatan tabel mata_kuliah dan mengisi tabel mata_kuliah penggunaan


perintahnya sama dengan pada membuat tabel mahasiswa, hanya mengubah
pada isi valuesnya

5.1 Menggunakan Operator Pembanding


a. Seleksi Menggunakan Operator ( = )
Preview
mysql> select 0=1;
+-----+
| 0=1 |
+-----+
|
0 |
+-----+
1 row in set (0.00 sec)
mysql> select 1='1';
+-------+
| 1='1' |
+-------+
|
1 |
+-------+
1 row in set (0.00 sec)
mysql> select '0.01'=1;
+----------+
| '0.01'=1 |
+----------+
|
0 |
+----------+
1 row in set (0.02 sec)
mysql> select '0.05'='.05';
+--------------+
| '0.05'='.05' |
+--------------+
|
0 |
+--------------+
1 row in set (0.00 sec)
mysql> select 0.05='.05';
+------------+
| 0.05='.05' |
+------------+
|
1 |
+------------+
1 row in set (0.00 sec)
mysql> select * from mahasiswa where npm=087006222;
+-----------+--------------+-----------+-------------+-----------+
| npm
| nama_lengkap | alamat
| jns_kelamin | gol_darah |
+-----------+--------------+-----------+-------------+-----------+
| 087006222 | Abdul Kodir | Manonjaya | L
| AB
|
+-----------+--------------+-----------+-------------+-----------+
1 row in set (0.02 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (=)
Pada operator perbandingan, nilai hasis yang dikembalikan hanya ada dua
kemngkinan, yaitu TRUE dan FALSE, Bila dinyatakan dengan bilangan,
hasil TRUE sama dengan 1, FALSE sama dngan 0
Operator =(equal), akan menghasilkan nilai TRUE atau bernilai 1 apabila
memiliki nilai pembanding sama dengan data yang dibandingkan
Jika nilai TRUE, maka data yang dibandingkan akan ditampilkan dalam
layar
Dalam mysql penulisan bilangan dapat ditulis dengan menggunakan tanda
petik atau tidak. Jadi , angka 1 = 1 adalah benar, sedangkan penulisan
bilangan pecahan juga dapat mengunkan tanda petik maupun tidak
Pada tabel mahasiswa, untuk menampilkan npm 087006222 dapat
menggunakan perintah :
mysql> select * from mahasiswa where
npm=087006222;

b. Seleksi Menggunakan Operator ( != )


Preview

mysql> select * from mahasiswa where jns_kelamin<>'L';


+-----------+---------------+----------------------------+------------+-----------+
| npm
| nama_lengkap | alamat
| jns_kelamin |
gol_darah |
+-----------+---------------+----------------------------+------------+-----------+
| 087006113 | Eva Suharti
| Batu Indah No.111
| P
| B
|
| 087006118 | AndinaNovita | PerumBatara Blok C No.210 | P
| A
|
+-----------+---------------+----------------------------+------------+-----------+

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (!=)
Operator != memiliki arti tidak sama dengan (not equal) atau kecuali.
Nilai yang dihasilkan berlawanan dengan operator sama dengan
Dalam penulisannya operator ini juga dapat diganti dengan parameter <>,
baik menggunakan parameter != maupun <>, operator tidak sama dengan
(not equal) ini memiliki fungsi dan hasil yang sama

c. Seleksi Menggunakan Operator ( > )


Preview
mysql> select 2>3;
+-----+
| 2>3 |
+-----+
|
0 |
+-----+
1 row in set (0.00 sec)
mysql> select * from mata_kuliah where sks>2;
+---------+-------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+-------------------+------+----------+
| TI1201 | Struktur Data
| 3
| 3
|
| TI1206 | Basis Data
| 3
| 3
|
| TI1303 | Sistem Basis Data | 3
| 4
|
| TI1304 | Kecerdasan Buatan | 3
| 5
|
| TI1313 | Sistem Informasi | 3
| 5
|
+---------+-------------------+------+----------+

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (>)
Operator > artinya lebih dari
Operator ini digunakan untuk mengambil data yang nilainya lebih dari
bilangan pembanding
Untuk menampilkan data pada tabel mata_kulahdimana nilai pada sks lebih
dari 2perintah yang digunakan adalah :
mysql> select * from mata_kuliah where sks>2;

d. Seleksi Menggunakan Operator ( >= )


Preview
mysql> select * from mata_kuliah where sks>=2;
+---------+--------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+--------------------+------+----------+
| TI1116 |LogikaInformatika | 2
| 2
|
| TI1201 |Struktur Data
| 3
| 3
|
| TI1206 | Basis Data
| 3
| 3
|
| TI1303 |Sistem Basis Data | 3
| 4
|
| TI1304 |KecerdasanBuatan | 3
| 5
|
| TI1313 |SistemInformasi
| 3
| 5
|
+---------+--------------------+------+----------+

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (>=)
Jika menggunakan operator >, hasil dari seleksi tidak menampilkan nilai
yang menjadi pembanding
Jika nilai pembanding ingin ditampilkan, gunakan operator >= (dibaca
lebih dari sama dengan)
Untuk menampilkan data pada tabel mata_kulah dimana nilai pada sks lebih
dari sama dengan 2 perintah yang digunakan adalah :
mysql> select * from mata_kuliah where sks>=2;

e. Seleksi Menggunakan Operator ( < )


Preview

mysql> select * from mata_kuliah where sks<2;


+---------+---------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+---------------------+------+----------+
| TI1203 |Prak. Struktur Data | 1
| 3
|
+---------+---------------------+------+----------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (<)
Operator > artinya kurang dari
Operator ini digunakan untuk mengambil data yang nilainya kurang dari
bilangan pembanding
Untuk menampilkan data pada tabel mata_kulah dimana nilai pada sks
kurang dari 2 perintah yang digunakan adalah :
mysql> select * from mata_kuliah where sks<2;

f. Seleksi Menggunakan Operator ( <= )


Preview
mysql> select * from mata_kuliah where sks<2;
+---------+---------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+---------------------+------+----------+
| TI1203 |Prak. Struktur Data | 1
| 3
|
+---------+---------------------+------+----------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator pembanding, dengan


seleksi penggunaan operator (<=)
Operator <= dibaca (kurang dari sama dengan)
Pada operator (<=) juga akan mengambil data yang jumahnya kurang dari
nilai pembanding, tetapi bedanya pada operator ini nilai pembanding
ditampilkan
Untuk menampilkan data pada tabel mata_kulah dimana nilai pada sks
kurang dari sama dengan 2 perintah yang digunakan adalah :
mysql> select * from mata_kuliah where sks<=2;

5.1 Menggunakan Operator Logika


a. Dua kondisi bernilai benar dengan operator AND
Preview
mysql> select * from mahasiswa where npm>=087006111 and npm<=087006113;
+-----------+----------------+-------------------+-------------+-----------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
+-----------+----------------+-------------------+-------------+-----------+
| 087006111 | WawanSetiawan | Mannjaya
| L
| AB
|
| 087006112 | Ferry Setiawan | CieunteungNo.20 | L
| A
|
| 087006113 | Eva Suharti
| Batu Indah No.111 | P
| B
|
+-----------+----------------+-------------------+-------------+-----------+
3 rows in set (0.02 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator logika, dengan dua


kondsi bernilai benar dengan operator AND
Operator AND digunakan untuk mengambil data dari satu atau beberapa
tabel menggunkan dua syarat atau lebih. Data akan ditampilkan apabila dua
syarat terpenuhi, sedangkan apabila salah satu syarat saja atau ada syarat
yang terpenuhi, maka perintah tidak akan mendapatkan hasil

b. Salah Satu bernilai bebar dengan Operator OR


Preview
mysql> select * from mahasiswa where npm=087006111 or npm=087006118;
+-----------+----------------+----------------------------+-------------+-----------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
+-----------+----------------+----------------------------+-------------+-----------+
| 087006111 | WawanSetiawan | Mannjaya
| L
| AB
|
| 087006118 | AndinaNovita |PerumBatara Blok C No.210 | P
| A
|
+-----------+----------------+----------------------------+-------------+-----------+
2 rows in set (0.01 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator logika, dengan salah


satu bernilai benar dengan operator OR
Berbeda dengan operator sebelumnya, operator OR digunkan untuk
mengambil data dari beberapa tabel, tetapi memiliki syarat harus keduanya
bernilai benar. Jika salah satu bernilai bernilai benar,database akan tetap
menampilkan hasil sesuai dengan permintaannya. Dan jika kondisi tidak
ada yang benar(semua salah) nilainya akan salah

c. Nilai Balik dengan operator NOT


Preview
mysql> select not 1, !1;
+-------+----+
| not 1 | !1 |
+-------+----+
|
0 | 0 |
+-------+----+
1 row in set (0.00 sec)
mysql> select not 0, !0;
+-------+----+
| not 0 | !0 |
+-------+----+
|
1 | 1 |
+-------+----+
1 row in set (0.00 sec)
mysql> select * from mahasiswa where not jns_kelamin='L';
+-----------+---------------+----------------------------+-------------+-----------+
| npm
| nama_lengkap | alamat
| jns_kelamin | gol_darah |
+-----------+---------------+----------------------------+-------------+-----------+
| 087006113 | Eva Suharti
| Batu Indah No.111
| P
| B
|
| 087006118 | AndinaNovita | PerumBatara Blok C No.210 | P
| A
|
+-----------+---------------+----------------------------+-------------+-----------+
2 rows in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator logika, nilai balik


dengan operator NOT
Berbeda dengan kedua operator sebelumnya (OR dan AND), operator NOT
akan membalik semu kondisi yang ada. Jika nilai TRUE (benar),
menggunakan perintah NOT akan menghasilkan nilai FALSE (salah),
begitu juga sebalikya
Dalam penggunaannya operator NOT bisa diganti dengan tanda seru (!)
Untuk menampilkan data pada tabel mahasiswa dimana jenis kelamin bukan
L (laki-laki) perintah yang digunakan adalah :
mysql> select * from mahasiswa where not
jns_kelamin='L';

d. Operator IN
Preview

mysql> select * from mahasiswa where npm in (087006111,087006118);


+-----------+----------------+----------------------------+-------------+-----------+
| npm
| nama_lengkap
| alamat
| jns_kelamin | gol_darah |
+-----------+----------------+----------------------------+-------------+-----------+
| 087006111 | Wawan Setiawan | Mannjaya
| L
| AB
|
| 087006118 | Andina Novita | Perum Batara Blok C No.210 | P
| A
|
+-----------+----------------+----------------------------+-------------+-----------+
2 rows in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator logika, dengan


operator IN
Untuk menampilkan data pada tabel mahasiswa dimana nilai npm sama
dengan 087006111 atau 087006118, perintah yang digunakan adalah :
mysql> select * from mahasiswa where npm in
(087006111,087006118);

e. Operator Like
Preview

mysql> select * from mahasiswa where nama_lengkap like 'A%';


+-----------+---------------+----------------------------+-------------+-----------+
| npm
| nama_lengkap | alamat
| jns_kelamin | gol_darah |
+-----------+---------------+----------------------------+-------------+-----------+
| 087006118 | AndinaNovita | PerumBatara Blok C No.210 | P
| A
|
| 087006122 | AgusRamdan
| Kawalu No.210
| L
| O
|
| 087006222 | Abdul Kodir
| Manonjaya
| L
| AB
|
+-----------+---------------+----------------------------+-------------+-----------+
3 rows in set (0.02 sec)

Analisis
-

Contoh diatas merupakan contoh penggunaan operator logika, dengan


operator Like
Untuk menampilkan data pada tabel mahasiswa dimana data pada kolom
tertentu diawali degan nilai tertentu misalnya pada koom nama_lengkap
diawali dengan karakter A, perintah yang digunakan adalah :
mysql> select * from mahasiswa where nama_lengkap like
'A%';

TUGAS
1. Tampilkanseluruh table mata_kuliahdengankondisi semester
lebihbesardari 3
Preview

mysql> select * from mata_kuliah where semester>3;


+---------+-------------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+-------------------+------+----------+
| TI1303 |Sistem Basis Data | 3
| 4
|
| TI1304 |KecerdasanBuatan | 3
| 5
|
| TI1313 |SistemInformasi | 3
| 5
|
+---------+-------------------+------+----------+
3 rows in set (0.00 sec)

Analisis
-

Perintah diatas menggunkan operator pembanding, dengan seleksi operator


> (lebih dari)
Perintah :
mysql> select * from mata_kuliah where semester>3;
digunakan untuk menampilkan data pada tabel mata_kuliah diamana nilai
pada kolom semester lebih dari 3

2. Tampilkan field NPM danNamalengkap yang golongandarah A


Preview
mysql> select npm,nama_lengkap from mahasiswa where
gol_darah='A';
+-----------+----------------+
| npm
| nama_lengkap
|
+-----------+----------------+
| 087006112 | Ferry Setiawan |
| 087006118 | AndinaNovita |
+-----------+----------------+
2 rows in set (0.00 sec)

Analisis
-

Perintah diatas menggunkan operator pembanding, dengan seleksi operator


(=) digunakan untuk menampilkan data pada tabel mahasiswa , yaitu field
npm dan nama_lengkap yang memiki goongan darah A

3. Tampilkan isi table mahasiswa yang memiliki NPM lebih besar dari
087006112 danlebih kecil dari 087006200
Preview
mysql> select * from mahasiswa where npm>087006112 and npm<087006200;
+-----------+---------------+----------------------------+------------+-----------+
| npm
| nama_lengkap | alamat
| jns_kelamin |
gol_darah |
+-----------+---------------+----------------------------+------------+-----------+
| 087006113 | Eva Suharti
| Batu Indah No.111
| P
| B
|
| 087006118 | AndinaNovita | PerumBatara Blok C No.210 | P
| A
|

Analisis
-

Perintah diatas menggunkan operator logika, degan dua kondisi bernilai


benar dengan operator AND
Perintah :
mysql> select * from mahasiswa where npm>087006112 and
npm<087006200;

digunakan untuk menampilkan data pada tabel mahasiswa dimana npm


leboh besar dari 087006112 dan lebih kecil dari 087006200
4. Tampilkan isi table mata_kuliah dimana pada kolom nama_mk hanya
terdapat Struktur Data dan Basis Data
Preview
mysql> select * from mata_kuliah where kode_mk in
('TI1201','TI1206');
+---------+---------------+------+----------+
| kode_mk | nama_mk
| sks | semester |
+---------+---------------+------+----------+
| TI1201 | Struktur Data | 3
| 3
|
| TI1206 | Basis Data
| 3
| 3
|
+---------+---------------+------+----------+
2 rows in set (0.00 sec)

Analisis
-

Perintah diatas menggunkan operator logika, dengan operator IN


Perintah diatas adalah untuk menampilkan isi pada tabel mata_kuliah
dimana pada nama_mk hanya terdapat Struktur Data dan Basis Data

BAB VI
SELEKSI MENGGUNAKAN FUNGSI PENGELOMPOKAN
6.1 Dasar Teori
Dalam seleksi menggunakn fungsi pengelompokan terdapat beberapa fungsi
yang digunakan diantaranya :
o Fungsi COUNT
Fungsi ini digunakan untuk mendapatkan jumlah record atau baris data di
dalam suatu tabel
o Fungsi SUM
Fungsi ini digunakan untuk menjumlahkan nilai pad kolom yang berbentuk
angka atau data numerik.
o FungsiAVG
Fungsi ini digunakan untuk menghitung nilai rata-rata dari semua nilai yang
ada pad kolom tabel atau dari hasil seleksi kondisi
o Fungsi MIN
Fungsi ini digunakan untuk mendapatkan nilai terkecil dari semua nilai
yang ada pada kolom tabel atau dari hasil seleksi kondisi
o Fungsi MAX
Fungsi ini digunakan untuk mendapatka nilai terbesar dari semua niai yang
ada pada kolom tabel atau dari hasil seleksi kondisi
o Fungsi MIN dan MAX
Fungsi ini digunakan untuk mencari nilai maksimal dan minimal secara
bersamaan

6.2 Hasil dan Pembahasan


o Persiapan database
Preview
mysql> create database data_pegawai;
Query OK, 1 row affected (0.02 sec)
mysql> use data_pegawai
Database changed
mysql> create table pegawai(
-> nip char(6) not null,
-> nama varchar(60) not null,
-> umur int(2) not null,
-> tinggi int(2) not null,
-> berat int(2) not null,
-> primary key(nip));
Query OK, 0 rows affected (0.05 sec)
mysql> desc pegawai;
+--------+-------------+------+-----+---------+-------+
| Field | Type
| Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nip
| char(6)
| NO
| PRI | NULL
|
|
| nama
| varchar(60) | NO
|
| NULL
|
|
| umur
| int(2)
| NO
|
| NULL
|
|
| tinggi | int(2)
| NO
|
| NULL
|
|
| berat | int(2)
| NO
|
| NULL
|
|
+--------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Analisis
-

Sebelum membuat tabel mahasiswa terlebih dahulu yang harus dilakukan


adalah membuat database dengan menggunkan perintah :
create database data_pegawai;
Perintah diatas digunakan untuk membuat database data pegawai
Sebelummembuat table mahasiswa, terlebihdahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan
table
table
dengan
menggunakan
perintah
:
mysql>use
data_pegawai;
Setelah memilih salah satu database sebagai database yang aktif barulah
bisa dibuat table

g. Menghitung Jumlah Record dengan COUNT


Preview
mysql> select count(*) from pegawai;
+----------+
| count(*) |
+----------+
|
6 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) as rekaman from pegawai;
+---------+
| rekaman |
+---------+
|
6 |
+---------+
1 row in set (0.00 sec)
mysql> select count(nip) as rekaman from pegawai;
+---------+
| rekaman |
+---------+
|
6 |
+---------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk menghitung jumlah record


dengan COUNT
Fungsi COUNT() digunakan untuk mendapatkan jumlah record atau baris
data di dalam suatu tabel. Dalamfungsi ini , berapapun data dalam tabel atau
hasil seleksi relasi akan dihitung dengan cepat
Perintah :
SELECT COUNT (*) AS alias
SELECT COUNT(nama_kolom) As alias
Pada perintah diatas digunakan tiga cara untuk menghitung jumlah record
yang ada pada tabel pegawai yaitu :
Hasil tanpa Alias
mysql> select count(*) from pegawai;
Hasil Menggunakan Alias
mysql> select count(*) as rekaman from
pegawai;

h. Menjumlah Suatu Bilangan dengan SUM


Preview

mysql> select sum(umur)/6 as umurrata from pegawai;


+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
1 row in set (0.03 sec)
mysql> select sum(umur)/count(*) as umurrata from pegawai;
+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk menjumlah suatu bilangan


dengan SUM
Fungsi SUM() digunakan untuk menjumlahkan nilai pada kolom yang
berbentuk angka atau data numerik. Dengan fungsi ini , berapapun nilai
pada setiap record , dapat dijumlahkan secara cepat dan tepat
Perintah yang digunakan : SELECT SUM(nama_kolom) AS alias
Pada perintah diatas merupakan perintah untuk :
Menghitung Rata Umur secara manual
mysql> select sum(umur)/6 as umurrata from
pegawai;
Menghitungrata umur tanpa mengetahu jumlah record
mysql> select sum(umur)/count(*) as umurrata from
pegawai;

i. Mencari Nilai Rata-Rata dengan AVG


Preview

mysql> select avg(umur) as umurrata from pegawai;


+----------+
| umurrata |
+----------+
| 33.6667 |
+----------+
1 row in set (0.02 sec)
mysql> select avg(berat) as beratrata from pegawai;
+-----------+
| beratrata |
+-----------+
|
64.5000 |
+-----------+
1 row in set (0.00 sec)
mysql> select avg(tinggi) as tinggirata from pegawai;
+------------+
| tinggirata |
+------------+
|
171.3333 |
+------------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk mencari nilai rata-rata


dengan AVG
Fungsi AVG digunakan untuk menghitung nilai rata-rata dari semua nilai
yang ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi
ini, berapapun nilai data pada setiap record, dapat dihitug nilai rata-ratanya
secara cepat dan tepat
Perintah yang digunakan : SELECT AVG(nama_kolom)As alias
Pada perintah diatas merupakan perintah untuk :
Mengitung umur rata-rata
mysql> select avg(umur) as umurrata from
pegawai;
Menghitung berat rata-rata
mysql> select avg(berat) as beratrata from
pegawai;

j. Mencari Nilai Minimal dengan MIN


Preview
mysql> select min(umur) as termuda from pegawai;
+---------+
| termuda |
+---------+
|
25 |
+---------+
1 row in set (0.00 sec)
mysql> select min(berat) as termuda from pegawai;
+---------+
| termuda |
+---------+
|
60 |
+---------+
1 row in set (0.00 sec)
mysql> select min(tinggi) as termuda from pegawai;
+---------+
| termuda |
+---------+
|
165 |
+---------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk mencari nilai minimal


dengan MIN
Fungsi MIN() digunakan untuk mendapatkan nilai terkecil dari semua nilai
yang ada pada kolom tabel atau hasi seleksi kondisi. Dengan fungsi ini ,
berapapun nilai data pada setiap record, dapat dihitung nilai terkecilnya
secara cepat dan tepat
Perintah yang digunakan : SELECT MIN (nama_kolom) AS alias
Pada perintah diatas merupakan penggunaan perintah untuk :
menghitng umur pegawai paling muda
mysql> select min(umur) as termuda from
pegawai;
berat pegawai paling kecil dan
mysql> select min(berat) as termuda from
pegawai;

k. Mencari Nilai Maximal dengan MAX


Preview
mysql> select max(umur) as tertua from pegawai;
+--------+
| tertua |
+--------+
|
42 |
+--------+
1 row in set (0.00 sec)
mysql> select max(berat) as terberat from pegawai;
+----------+
| terberat |
+----------+
|
70 |
+----------+
1 row in set (0.00 sec)
mysql> select max(tinggi) as tertinggi from pegawai;
+-----------+
| tertinggi |
+-----------+
|
177 |
+-----------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk mencari nilai maximal


dengan MAX
Fungsi MAX() digunakan untuk mendapatkan nilai terbesar dari semua nilai
yan ada pada kolom tabel atau dari hasil seleksi kondisi. Dengan fungsi ini,
berapapun nilai data pada setiap record, dapat dihitung nilai terkecilny
secara cepat dan tepat
Pada perintah diatas merupakan penggunaan perintah untuk :
Menghitung umur pegawai paling tua
mysql> select max(umur) as tertua from
pegawai;
Menghitung berat pegawai paling berat
mysql> select max(berat) as terberat from
pegawai;

l. Mencari Nilai Maximal dan Minimal


Preview

mysql> select min(berat) as minimal, max(berat) as maximal


from pegawai;
+---------+---------+
| minimal | maximal |
+---------+---------+
|
60 |
70 |
+---------+---------+
1 row in set (0.00 sec)
mysql> select min(tinggi) as minimal, max(tinggi) as maximal
from pegawai;
+---------+---------+
| minimal | maximal |
+---------+---------+
|
165 |
177 |
+---------+---------+
1 row in set (0.00 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk mencari nilai Minimal dan
Maximal
Dengan menggunkan fungsi MIN() dan MAX(), kita dapat mencari nilai
maksimal dan minimal secara bersamaan
Pada contoh diatas merupakan perintah untuk :
Menghitung berat minimal dan maksimal sekaligus
mysql> select min(berat) as minimal, max(berat) as
maximal from pegawai;
Menghitung tinggi minimal dan maksmal sekaligus
mysql> select min(tinggi) as minimal, max(tinggi)
as maximal from pegawai;

m. Seleksi Data dengan Range Nilai


Preview
mysql> select * from pegawai where (umur>=30) and (umur<=35);
+--------+---------------+------+--------+-------+
| nip
| nama
| umur | tinggi | berat |
+--------+---------------+------+--------+-------+
| 006003 | Susan Bahtiar |
30 |
165 |
60 |
+--------+---------------+------+--------+-------+
1 row in set (0.00 sec)
mysql> select * from pegawai where umur between 30 and 35;
+--------+---------------+------+--------+-------+
| nip
| nama
| umur | tinggi | berat |
+--------+---------------+------+--------+-------+
| 006003 | Susan Bahtiar |
30 |
165 |
60 |
+--------+---------------+------+--------+-------+
1 row in set (0.03 sec)

Analisis
-

Contoh diatas merupakan contoh perintah untuk seleksi data dengan range
nilai
Masih menggunkan data yang ad pada tabel pegawai , kita akan melakukan
seleks data berdasarkan range nilai. Untuk mendapatan nilai data seperti ini,
kita dapat menggunakan operator pembanding BETWEEN
Pada contoh diatas digunakan perintah untuk :
Menampilkan data pegawai pad umumnya antara 30 sampai dengan 35
tahun
mysql> select * from pegawai where (umur>=30) and (umur<=35);

Dan salah satunya lagi adalah menggunkan parameter BETWEEN.


Menggunakan parameter BETWEEN merupakan cara terbaik untuk
mendapatkan nilai range atau nilai. Pada peraktiknya, saat membuat laporan
, parmeter ini bisa digunakan untuk mendapatkan laporan data per periode
dan range nilai
Perintah : SELECT [* | kolom, [kolom]] FROM nama_tabel
WHEE kolom BETWEEN rangea AND rangeb
Pada contoh diatas merupakan perintah untuk menampilkan data pegawai
berdasarkan range nilai yang ditentukan

LATIHAN 6
1. Buat database dengan nama_nim anda!
Preview

mysql> create database gumilar_087006199;


Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| data_pegawai
|
| gumilar_087006199 |
| mysql
|
| test
|
+--------------------+
5 rows in set (0.00 sec)
mysql> use gumilar_087006199;
Database changed

Analisis
-

Sebelum membuat tabel mahasiswa terlebih dahulu yang harus dilakukan


adalah membuat database dengan menggunkan perintah :
create database gumilar_087006199;
Perintah diatas digunakan untuk membuat database gumilar_087006199
Sebelummembuat table mahasiswa, terlebihdahulu harus memilih salah satu
database sebagai database aktif yang akan digunakan untuk menyimpan
table
table
dengan
menggunakan
perintah
:
mysql>use
gumilar_087006199;
Setelah memilih salah satu database sebagai database yang aktif barulah
bisa dibuat table

BAB VII
BACK UP & RESTORE
7.1 Dasar Teori
MySQL DUMP adalah salah satu fasilitas bawaan server MySQL, yang
berfungsi untuk membackup database mysql. MySQL DUMP adalah perintah
command line, tapi apabila menghendaki dijalankan rutin bisa dipasang di cron
system

-user [user name] : user name adalah user account dalam MySQL server
-password=[password] : password dari user name
[database name] : nama database yang akan dibackup, apabila kita ingin

membackup semua database yang ada gunakan options all database


[dump file] : adalah nama file hasil backup database, bisa digunkan path,
misal /var/backup/mysql.dump

7.2 Hasil dan Pembahasan


A. Restore
1. Jalankan Notepad
Untuk membuka atau menjalankan notepad, dapat dilakukan dengan
menuju ke start menu lalu pilih program RUN. Kemudian pada program
RUN ketikan notepad.exe (tanpa tanda kutip)
2. Lalu ketikan sscript dibawah ini
create database akademik;
use akademik;
create table mahasiswa(
nim char(10) primary key,
nama varchar(200),
alamat varchar(200),
no_telp varchar(12),
nip varchar(10));
create table dosen(
nip char(10) primary key,
nama varchar(200),
alamat varchar(200),
no_telp varchar(200));
alter table mahasiswa add foreign key(nip) references
dosen(nip);

3. Simpan file notepad yang sudah diisi script ke directory C:\


Setelah script pada langkah kedua diisi, selanjutnya dalah
menyimpannya dengan cara menuju ke menu File, kemudian pilih save,
setelah it masukan direktory tempat file akan disimpan ( misalnya di
directory c: ),
4. Simpan dengan nama akademik.sql
Setelah menentukan directory, selanjutnya Isi file name (misalnya
akademik.sql), dan pada pilihan save as type : pilih All File, kemudian
save.
5. Jalankan MySql
Untuk menjalankan MySql, masuk ke start menu kemudian pada all
program, pilih MySql, lalu pilih versi MySql yang digunakan dan pilh
MySql Command Line Client
6. Ketikan source C:\akademik.sql

Preview
mysql> source c:\akademik.sql
Query OK, 1 row affected (0.04 sec)
Database changed
Query OK, 0 rows affected (0.61 sec)
Query OK, 0 rows affected (0.10 sec)
Query OK, 0 rows affected (0.19 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show databases;
+--------------------+
| Database
|
+--------------------+
| information_schema |
| akademik
|
| data_pegawai
|
| gumilar_087006199 |
| mysql
|
| test
|
+--------------------+
6 rows in set (0.09 sec)

B. Back Up
1. Jalankan Command Pronp (CMD)
Untuk menjalankan CMD, masuk ke start menu pilih RUN, dan ketikan
CMD
2. Pindah ke C:\
Lokasi
pertama

yang

dituju

C:\users\nama_komputer,

untuk

oleh

CMD

memindahkan

adalah

direktorinya

cukup mengetikan :
C:\user\nama_komputer> cd\
Dan otomatis direktory berubah pada C:\>
3. Ketikan

mysqldump

root

localhost

akademik>akademik2.sql
4. Amati directory C:\
Pada directory C:\ terdapat file akademik2.sql, Untuk membuka file
tersebut kita dapat menggunakan notepad. File akademik.sql didalamnya

memuat tabel-tabel ( pada program MySQL ) yang terdapat pada


database akademik

BAB VIII
RELASI ANTAR TABEL
8.1 Dasar Teori
Sebelum Membuat database, kita harus merancang relasi (hubungan) antar
tabel dari tabel-tabel yang akan dibuat.
a. Operasi Relasi Pada Dua Tabel
b. Teori Pengambilan Kolom Tabel Relasi
Teknik yang paling mudah dengan menghubungkan antara nama tabel dan
kolom dengan tanda titik (.)
c. Teknik Dasar Relasi Dua Tabel

mysql> create database 087006199_jualbeli;


Query OK, 1 row affected (0.00 sec)
mysql> use 087006199_jualbeli;
Database changed
mysql>
->
->
->

create table barang_jenis(


kd_jenis char(4) not null,
nm_jenis varchar(60) not null,
primary key(kd_jenis));

mysql>
->
->
->
->
->

create table barang(


kd_barang char(4) not null,
nm_barang varchar(60) not null,
kd_jenis char(3) not null,
harga int(11) not null,
primary key(kd_barang));

8.2 Hasil
mysql>
dancreate
Pembahasan
table pelanggan(
o

-> kd_plg char(5) not null,


-> nama varchar(60) not null,
-> alamat
varchar(100)
Membuat
Database
Relasional not null,
-> primary key(kd_plg));

mysql>
Preview
create table penjulan(
->
->
->
->

mysql>
->
->
->
->
->

no_transaksi char(6) not null,


kd_plg char(5) not null,
tanggal date not null,
primary key(no_transaksi));
create table penjualan_detail(
id_jual int(4) not null auto_increment,
no_transaksi char(6) not null,
kd_barang char(4) not null,
jumlah int(2) not null default '1',
primary key(id_jual));

mysql> insert into barang_jenis values('J01','Mouse');


Query OK, 1 row affected (0.03 sec)
mysql> insert into barang_jenis values('J02','Mouse Pad');
Query OK, 1 row affected (0.02 sec)
mysql> insert into barang_jenis values('J03','Keyboard');
Query OK, 1 row affected (0.02 sec)
mysql> insert into barang_jenis values('J04','Monitor');
Query OK, 1 row affected (0.01 sec)
mysql> insert into barang_jenis values('J06','Casing');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang_jenis values('J07','Hardisk');
Query OK, 1 row affected (0.02 sec)
mysql> insert into barang_jenis values('J08','Flash Disk');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang_jenis values('J09','DDR Memory');
Query OK, 1 row affected (0.01 sec)
mysql> insert into barang_jenis values('J10','CD Rom');

Query
Analisis
OK, 1 row affected (0.02 sec)

into merupakan
barang_jenis
values('J11','MP4
Player');
- mysql>
Previewinsert
diatas
script
untuk rancangan
database
Query
OK,
1
row
affected
(0.01
sec)
087006199_jualbeli, Sebelum pembuatan database, terlebih dahulu harus
meranang relasi antar tabel. Dari tabel-tabel yang akan dibuat. Pada
mysql> insert into barang_jenis values('J12','Motherboard');
database
jual beli
dimana
terdapat 3 tabel master dan 2 tabel
Query
OK,untuk
1 rowkasus
affected
(0.03
sec)
transaksi.
- mysql> insert into barang_jenis values('J13','Processor');
o Studi kasus penjualan
mysql> select * from barang_jenis;
+----------+-------------+
Pengisian Tabel barang jenis
| kd_jenis | nm_jenis
|
+----------+-------------+
| J01
| Mouse
|
| J02
| Mouse Pad
|
| J03
| Keyboard
|
| J04
| Monitor
|
| J06
| Casing
|
| J07
| Hardisk
|
| J08
| Flash Disk |
| J09
| DDR Memory |
| J10
| CD Rom
|
| J11
| MP4 Player |
| J12
| Motherboard |
| J13
| Processor
|
+----------+-------------+

Pengisian Tabel Barang


mysql> insert into barang
-> values('B001','SAMSUNG 80 GB7200 P-ATA','J07','406000');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang
-> values('B002','SAMSUNG 80 GB7200 S-ATA','J07','415000');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang
-> values('B003','WDC 80 GB7200 S-ATA','J07','415000');
Query OK, 1 row affected (0.00 sec)
mysql> insert into barang
-> values('B004','AMD Athlon X2 4000','J13','638000');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang
-> values('B005','AMD Sempron 2800+','J13','365000');
Query OK, 1 row affected (0.02 sec)
mysql> insert into barang
-> values('B006','POWERLOGIC FUTURA 220','J06','219000');
Query OK, 1 row affected (0.01 sec)
mysql> insert into barang
-> values('B007','MENTARI 450 WATT','J06','150000');
Query OK, 1 row affected (0.01 sec)
mysql> insert into barang
-> values('B010','LG DVD COMBO','J10','237000');
Query OK, 1 row affected (0.02 sec)
mysql> insert into barang
-> values('B011','SAMSUNG DVD RW 20x','J10','296000');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang
-> values('B012','Ax Swing 2GB','J11','605000');
Query OK, 1 row affected (0.03 sec)
mysql> insert into barang
-> values('B013','Ax Salsa 1GB','J11','300000');
Query OK, 1 row affected (0.01 sec)
mysql> insert into barang
-> values('B014','Keyboard Standar','J03','25000');
mysql> insert into barang
-> values('B015','Philips Black','J03','35000');
mysql> insert into barang
-> values('B016','Optik P-Mark Combo 7 Lampu','J01','35000'
mysql> insert into barang
-> values('B017','Optik Etnic Zic','J01','24000');
mysql> insert into barang
-> values('B018','Optik Wirelees','J01','80000');

Contoh 1
Preview
mysql> alter table barang add foreign key(kd_jenis)
-> references barang_jenis(kd_jenis);
mysql> desc barang;
+-----------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| kd_barang | char(4)
| NO
| PRI | NULL
|
|
| nm_barang | varchar(60) | NO
|
| NULL
|
|
| kd_jenis | char(3)
| NO
| MUL | NULL
|
|
| harga
| int(11)
| NO
|
| NULL
|
|
+-----------+-------------+------+-----+---------+-------+)
mysql> alter table penjualan_detail
-> add foreign key(no_transaksi) references
penjualan(no_transaksi);
mysql> desc penjualan_detail;
+--------------+---------+------+-----+---------+----------------+
| Field
| Type
| Null | Key | Default | Extra
|
+--------------+---------+------+-----+---------+----------------+
| id_jual
| int(4) | NO
| PRI | NULL
| auto_increment |
| no_transaksi | char(6) | NO
| MUL | NULL
|
|
| kd_barang
| char(4) | NO
|
| NULL
|
|
| jumlah
| int(2) | NO
|
| 1
|
|
+--------------+---------+------+-----+---------+----------------+

mysql> select barang.kd_barang, barang_jenis.nm_jenis,


barang.nm_barang, barang.harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis and
-> kd_barang<'B009';
+-----------+-----------+-------------------------+--------+
| kd_barang | nm_jenis | nm_barang
| harga |
+-----------+-----------+-------------------------+--------+
| B001
| Hardisk
| SAMSUNG 80 GB7200 P-ATA | 406000 |
| B002
| Hardisk
| SAMSUNG 80 GB7200 S-ATA | 415000 |
| B003
| Hardisk
| WDC 80 GB7200 S-ATA
| 415000 |
| B004
| Processor | AMD Athlon X2 4000
| 638000 |
| B005
| Processor | AMD Sempron 2800+
| 365000 |
| B006
| Casing
| POWERLOGIC FUTURA 220
| 219000 |
| B007
| Casing
| MENTARI 450 WATT
| 150000 |
+-----------+-----------+-------------------------+--------+

Analisis
-

Preview diatas merupakan script untuk menampilkan data tabel master


barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama
jenis, nama barang dan harga.
Sebelumya, kita harus merelasikan antara tabel barang_jenis dan tabel
barang, yaitu pada query kd_jenis. Dimana pada tabel barang menjadi
foreign key, dan pada tabel barang _jenis adalah primary key-nya.
Karena adanya relasi dari kedua tabel, maka di dalam parameter WHERE
kita
gunakan
tanda
sama
dengan(=),
jadi
barang_jenis.kd_jenis=barang.kd_jenis.
Dan untuk membuat perintah SQL dengan preview diatas, yaitu :
mysql> select barang.kd_barang,
barang_jenis.nm_jenis, barang.nm_barang,
barang.harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis
and
-> kd_barang<'B009';

Contoh 2
Preview
mysql> select barang.kd_barang, barang_jenis.nm_jenis,
barang.nm_barang, barang.
harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis and
-> nm_jenis='hardisk';
+-----------+----------+-------------------------+--------+
| kd_barang | nm_jenis | nm_barang
| harga |
+-----------+----------+-------------------------+--------+
| B001
| Hardisk | SAMSUNG 80 GB7200 P-ATA | 406000 |
| B002
| Hardisk | SAMSUNG 80 GB7200 S-ATA | 415000 |
| B003
| Hardisk | WDC 80 GB7200 S-ATA
| 415000 |
+-----------+----------+-------------------------+--------+
3 rows in set (0.02 sec)

Analisis
-

Preview diatas merupakan script untuk menampilkan data tabel master


barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama
jenis, nama barang dan harga, dengan syarat data ditampilkan hanya hard
disk saja.
Dan untuk membuat perintah SQL dengan preview diatas, yaitu :
mysql> select barang.kd_barang,
barang_jenis.nm_jenis, barang.nm_barang,
barang.harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis
and
-> nm_jenis='hardisk';

Contoh 3
Preview
mysql> select barang.kd_barang, barang.nm_barang,
barang.harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis and
-> nm_jenis='hardisk';
+-----------+-------------------------+--------+
| kd_barang | nm_barang
| harga |
+-----------+-------------------------+--------+
| B001
| SAMSUNG 80 GB7200 P-ATA | 406000 |
| B002
| SAMSUNG 80 GB7200 S-ATA | 415000 |
| B003
| WDC 80 GB7200 S-ATA
| 415000 |
+-----------+-------------------------+--------+
3 rows in set (0.00 sec)

Analisis
-

Preview diatas merupakan script untuk menampilkan data tabel master


barang dan barang_jenis. Data yang ditampilkan adalah kode barang, nama
barang dan harga, dengan syarat data ditampilkan hanya hard disk saja.
Dan untuk membuat perintah SQL dengan preview diatas, yaitu :
mysql> select barang.kd_barang, barang.nm_barang,
barang.harga
-> from barang_jenis,barang
-> where barang_jenis.kd_jenis=barang.kd_jenis
and
-> nm_jenis='hardisk';

mysql> use elektronik;


Database changed
mysql> create table tipe_barang(
-> kd_elektronik char(3) not null primary key,
-> nm_elektronik varchar(35) not null,
-> kd_jenis char(30) not null,
-> ukuran varchar(25) not null,
-> harga int(15) not null,
-> fasilitas text null);
Query OK, 0 rows affected (0.25 sec)
mysql> insert into tipe_barang set
-> kd_elektronik='B01',
-> nm_elektronik='GTC Futura',
-> kd_jenis='J01',
-> ukuran='15',
-> harga=75000,
-> fasilitas='Plastik Penutup Pembersih';
Query OK, 1 row affected (0.07 sec)
mysql> insert into tipe_barang set
-> kd_elektronik='B02',
-> nm_elektronik='Televisi Sony',
-> kd_jenis='J02',
-> ukuran='21',
-> harga=1450000,
-> fasilitas='Layar Datar,Sound System';
Query OK, 1 row affected (0.03 sec)

BAB IX
KONEKSI MYSQL VISUAL BASIC 6.0
9.1 Dasar Teori
Untuk menghubungkan antara MySQL dengan Visual Basic 6.0, sedikitnya
kita harus menginstalkan 3 buah software diantaranya :
o MySQL
MySQL adalah Relational Database Management System (RDBMS) yang
didistribusikan secra gratis dibawah lisensi GPL. MySQL dimiliki dan
diseponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana
memegang hak cipta hampir atas semua kod sumbernya.
o mysql-connector-odbc-5.1.5-win32
Digunakan untuk meng-koneksikan antara MySQL dengan Visual Basic
6.0, melalui Control Panel, Administrative Tool, dan ODBC
o Visula Basic 6.0
Pada Pemrograman
Visual
Basic 6.0, terdapat bebrapa perintah khusus
mysql>create
database
elektronik;
Query OK, 1 row affected (0.07 sec)

( method) yang dimiliki beberapa komponen untuk melakukan akses data

mysql>
elektronik;
kedalamuse
database
(MySQL). Sebagai contoh jika menggunakan
Database changed
mysql>
tipe_barang(
untuk create
koneksi table
ke database,
terdapat beberapa methode yang
-> kd_elektronik char(3) not null primary key,
digunakan
-> nm_elektronik
dalam pengaksesan
varchar(35)
database.not null,
-> kd_jenis char(30) not null,
-> ukuran varchar(25) not null,
-> harga int(15) not null,
-> fasilitas text null);
Query OK, 0 rows affected (0.25 sec)
mysql> insert into tipe_barang set
-> kd_elektronik='B01',
-> nm_elektronik='GTC Futura',
-> kd_jenis='J01',
-> ukuran='15',
-> harga=75000,
-> fasilitas='Plastik Penutup Pembersih';
Query OK, 1 row affected (0.07 sec)

9.2 Hasil dan Pembahasan


o

mysql> insert into tipe_barang set


-> kd_elektronik='B02',
Pembuatan
pada MySQL
-> database
nm_elektronik='Televisi
Sony',
-> kd_jenis='J02',
-> ukuran='21',
-> harga=1450000,
-> fasilitas='Layar Datar,Sound System';
Query OK, 1 row affected (0.03 sec)

Adodc
sering

8.1 Koneksi Database MySQL dngan ODBC Connector


1. Masuk kedalam Control Panel
2. Pilih Administrative Tools Data Source (ODBC), sehingga pada monitor
akan ditampilkan seperti pada gambar berikut :

3. Klik tombol Add, sehingga akan tampil kotak dialog berikut :


Sebelunya kita harus meng install MySQL mysql-connector-odbc-5.1.5

4. Pilih MySQL ODBC 5.1 Driver, klik finish. Pada kotak dialog akan
muncul seperti pada gambar berikut dan isi konfigurasinya :

5. Kemudian Pilih OK, sehingga pada jendela kotak dialog Data Source, telah
ditambahkan sebuah data source dengan nama elektronik, seperti pad
gambar berikut :

6. Klik Ok, Selesai

8.2 Pemrograman Visual Basic 6.0


Pada Pemrograman Visual Basic 6.0, terdapat bebrapa perintah khusus
( method) yang dimiliki beberapa komponen untuk melakukan akses data
kedalam database (MySQL). Sebagai contoh jika menggunakan Adodc untuk
koneksi ke database, terdapat beberapa methode yang sering digunakan dalam
pengaksesan database.
o Form Elektronik

Public Baru As Boolean


Private Sub Cmdberikut_Click()
adotipebarang.Recordset.MoveNext
If adotipebarang.Recordset.EOF Then
adotipebarang.Recordset.MoveLast
End If
End Sub
Private Sub Cmdedit_Click()
Tombol False, False, True, True, False
With adotipebarang.Recordset
txtKode.Text = !kd_elektronik
txtNama.Text = !nm_elektronik
txtJenis.Text = !kd_jenis
txtUkuran.Text = !ukuran
txtHarga.Text = !harga
txtFasilitas.Text = !fasilitas
End With
txtKode.SetFocus
Baru = False
End Sub

o Listing Program

Private Sub Cmdhapus_Click()


On Error Resume Next
Dim hapus
hapus = MsgBox("Anda yakin data ini akan dihapus?",
vbQuestion + vbYesNo, "Hapus Data")
If hapus = vbYes Then
adotipebarang.Recordset.Delete
adotipebarang.Recordset.MoveLast
Else
MsgBox "Data tidak jadi dihapus!", vbOKOnly + vbInformation,
"Batal Menghapus"
End If
End Sub
Private Sub Cmdkeluar_Click()
Unload Me
End Sub
Private Sub Cmdpertama_Click()
adotipebarang.Recordset.MoveFirst
End Sub
Private Sub Cmdsebelum_Click()
adotipebarang.Recordset.MovePrevious
End Sub
Private Sub Cmdsimpan_Click()
On Error Resume Next
Tombol True, True, False, False, True

With adotipebarang.Recordset
If Baru Then .AddNew
!kd_elektronik = txtKode.Text
!nm_elektronik = txtNama.Text
!kd_jenis = txtJenis.Text
!ukuran = txtUkuran.Text
!harga = txtHarga.Text
!fasilitas = txtFasilitas.Text
.Update
.Sort = "kd+elektronik"
End With
Kosong
End Sub
Private Sub Cmdtambah_Click()
Tombol False, False, True, True, False
Baru = True
Kosong
txtKode.SetFocus
End Sub
Private Sub Cmdterakhir_Click()
adotipebarang.Recordset.MoveLast
End Sub
Private Sub Form_Load()
adotipebarang.ConnectionString = "DSN=elektronik"
adotipebarang.RecordSource = "tipe_barang"
adotipebarang.Refresh
adotipebarang.Recordset.Sort = "kd_elektronik"
Baru = False
End Sub
Private Sub cmdbatal_click()
Tombol True, True, False, False, True
adotipebarang.Recordset.Cancel
Kosong
End Sub
Public Sub Tombol(tambah, edit, simpan, batal, hapus As
Boolean)
Cmdtambah.Enabled = tambah
Cmdedit.Enabled = edit
Cmdsimpan.Enabled = simpan
Cmdbatal.Enabled = batal
Cmdhapus.Enabled = hapus
End Sub
Public Sub Kosong()
txtKode.Text = ""
txtNama.Text = ""
txtJenis.Text = ""
txtUkuran.Text = ""
txtHarga.Text = ""
txtFasilitas.Text = ""
End Sub

Anda mungkin juga menyukai