Laporan Praktikum Basis Data

124
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

Transcript of Laporan Praktikum Basis Data

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

program 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 Command Prompt, secara default direktori pada C:\

Dokuments and Settings\Nama_Komputer> Untuk 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

rKeterangan Prioritas

* Perkalian Petama

/ Pembagian Kedua

% Sisa Bagi Ketiga

+ - Penjumlahan, Pengurangan 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

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

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

mysql> select 10 * 5;+--------+| 10 * 5 |+--------+| 50 |+--------+1 row in set (0.05 sec)

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

c. Operasi penjumlahan dengan +

Preview

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

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

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)

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

e. Mencari Sisa Pembagian dengan %

Preview

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

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)

o Menggunakan Fungsi Matematika

a. Membulatkan suatu bilangan pecahan dengan ROUND

Preview

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

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.

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

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

c. Pembulata pecahan kebawah dengan FLOOR

Preview

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

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

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)

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

e. Mendapatkan Sisa Pembagian dengan MOD

Preview

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

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

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

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)

g. Mendapatkan Nilai Terbesar dengan GREATEST

Preview

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

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.

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)

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)

o Menggunakan Fungsi Tanggal

a. Mendapatkan Tanggal dan Waktu sekarang

Preview

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 Year-Month-Date

b. Mendapatkan Tanggal sekarang

Preview

Analisis

- Program ini merupakan contoh program untuk mendapatkan tanggal sekarang

- Program ini dihususkan untuk mendapatkan informasi tentang tanggal sekarang

mysql> select NOW();+---------------------+| NOW() |+---------------------+| 2009-12-13 04:51:43 |+---------------------+1 row in set (0.04 sec)

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

c. Mendapatkan Data Tanggal dari Ekspresi

Preview

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 date('2008-11-26 04:02:03');+-----------------------------+| date('2008-11-26 04:02:03') |+-----------------------------+| 2008-11-26 |+-----------------------------+1 row in set (0.00 sec)

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

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

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)

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

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

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

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

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

e. Menghapus Primary Key pada table

Preview

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

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)

f. Menambah Kolom/Field Baru pada Table

Preview

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

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)

g. Membuat table Dosen

Preview

Analisis

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

h. Menambah Kolom Kunci/Primary key pada tabel

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)

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

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

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)

j. Mengubah Tipe data atau Lebar Kolom pada Tabel

Preview

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

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

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

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)

m. Menghapus Kolom Pada Tabel

Preview

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

Analisis

- DROP TABLE namatabel; merupakan perintah untuk menghapus table.- Berikut ini merupakan perintah untuk menghapus table dengan nama

mahsiswa :Mysql> drop table mahasiswa;

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

mysql> drop table mahasiswa;Query OK, 0 rows affected (0.05 sec)

mysql> show tables;+------------------------+| Tables_in_akademik_nim |+------------------------+| guru |+------------------------+

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

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.

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

LATIHAN 3

Preview

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

Analisis

- Untuk melakukan penghapusan kolom nama_pelajaran pada table mata_kuliah digunakan perintah :

mysql> alter table mata_kuliah -> drop nama_pelajaran;

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

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

LATIHAN 5

Preview

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;

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

LATIHAN 6

Preview

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

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

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

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;

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)

o Merelasikan Tabel Dosen - Mahasiswa

Preview

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) references dosen(nip);

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)

o Perintah DML (Data Manpulation Language)

a. INSERT

o Mengisi Tabel Dosen

Preview

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;

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)

o Mengisi Tabel Mahasiswa

Preview

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;

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');02Query 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)

b. DELETE (Hapus)

Preview

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 perintahmysql>delete from mahasiswa;

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)

c. UPDATE (Ganti/Ubah)

Preview

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 nama_lengkap='Agus' where npm='097007115';

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)

d. Select (Tampil)

Preview

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

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

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

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

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)

o Mengisi Tabel Mahasiswa

Preview

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

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)

o Membuat Tabel Mata_kuliah

Preview

Analisis

- Pembuatan tabel mata_kuliah dan mengisi tabel mata_kuliah penggunaan perintahnya sama dengan pada membuat tabel mahasiswa, hanya mengubah pada isi valuesnya

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

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

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

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

c. Seleksi Menggunakan Operator ( > )

Preview

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

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

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;

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)

f. Seleksi Menggunakan Operator ( <= )

Preview

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;

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)

5.1 Menggunakan Operator Logika

a. Dua kondisi bernilai benar dengan operator AND

Preview

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

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

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)

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)

c. Nilai Balik dengan operator NOT

Preview

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

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)

d. Operator IN

Preview

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

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%';

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)

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)

TUGAS

1. Tampilkanseluruh table mata_kuliahdengankondisi semester lebihbesardari 3

Preview

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

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

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)

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)

3. Tampilkan isi table mahasiswa yang memiliki NPM lebih besar dari 087006112 danlebih kecil dari 087006200

Preview

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

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

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 |

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)

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

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

mysql> create database data_pegawai;Query OK, 1 row affected (0.02 sec)

mysql> use data_pegawaiDatabase 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)

g. Menghitung Jumlah Record dengan COUNT

Preview

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 cepatPerintah : SELECT COUNT (*) AS aliasSELECT 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;

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)

h. Menjumlah Suatu Bilangan dengan SUM

Preview

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 recordmysql> select sum(umur)/count(*) as umurrata from

pegawai;

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)

i. Mencari Nilai Rata-Rata dengan AVG

Preview

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;

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)

j. Mencari Nilai Minimal dengan MIN

Preview

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;

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)

k. Mencari Nilai Maximal dengan MAX

Preview

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;

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)

l. Mencari Nilai Maximal dan Minimal

Preview

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;

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)

m.Seleksi Data dengan Range Nilai

Preview

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 nilaiPerintah : SELECT [* | kolom, [kolom]] FROM nama_tabel WHEE kolom BETWEEN rangea AND rangebPada contoh diatas merupakan perintah untuk menampilkan data pegawai berdasarkan range nilai yang ditentukan

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)

LATIHAN 6

1. Buat database dengan nama_nim anda!

Preview

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

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

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

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

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

6. Ketikan source C:\akademik.sql

Preview

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 oleh CMD adalah C:\users\

nama_komputer, untuk memindahkan direktorinya cukup mengetikan

:

C:\user\nama_komputer> cd\

Dan otomatis direktory berubah pada C:\>

mysql> source c:\akademik.sqlQuery OK, 1 row affected (0.04 sec)

Database changedQuery 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)

3. Ketikan mysqldump –u root –h localhost –p

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

8.2 Hasil dan Pembahasan

o Membuat Database Relasional

Preview

Analisis

- Preview diatas merupakan script untuk rancangan database 087006199_jualbeli, Sebelum pembuatan database, terlebih dahulu harus meranang relasi antar tabel. Dari tabel-tabel yang akan dibuat. Pada database untuk kasus jual beli dimana terdapat 3 tabel master dan 2 tabel transaksi.

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

mysql> create table pelanggan( -> kd_plg char(5) not null, -> nama varchar(60) not null, -> alamat varchar(100) not null, -> primary key(kd_plg));

mysql> create table penjulan( -> no_transaksi char(6) not null, -> kd_plg char(5) not null, -> tanggal date not null, -> primary key(no_transaksi));

mysql> 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));

-o Studi kasus penjualan

Pengisian Tabel barang jenis

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 OK, 1 row affected (0.02 sec)

mysql> insert into barang_jenis values('J11','MP4 Player');Query OK, 1 row affected (0.01 sec)

mysql> insert into barang_jenis values('J12','Motherboard');Query OK, 1 row affected (0.03 sec)

mysql> insert into barang_jenis values('J13','Processor');

mysql> select * from 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

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

mysql> use elektronik;Database changedmysql> 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

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

9.2 Hasil dan Pembahasan

o Pembuatan database pada MySQL

mysql>create database elektronik;Query OK, 1 row affected (0.07 sec)

mysql> use elektronik;Database changedmysql> 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)

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

o Listing Program

Public Baru As BooleanPrivate Sub Cmdberikut_Click()adotipebarang.Recordset.MoveNextIf adotipebarang.Recordset.EOF Thenadotipebarang.Recordset.MoveLastEnd IfEnd Sub

Private Sub Cmdedit_Click()Tombol False, False, True, True, FalseWith adotipebarang.RecordsettxtKode.Text = !kd_elektroniktxtNama.Text = !nm_elektroniktxtJenis.Text = !kd_jenistxtUkuran.Text = !ukurantxtHarga.Text = !hargatxtFasilitas.Text = !fasilitasEnd WithtxtKode.SetFocusBaru = FalseEnd Sub

Private Sub Cmdhapus_Click()On Error Resume NextDim hapushapus = MsgBox("Anda yakin data ini akan dihapus?", vbQuestion + vbYesNo, "Hapus Data")If hapus = vbYes Thenadotipebarang.Recordset.Deleteadotipebarang.Recordset.MoveLastElseMsgBox "Data tidak jadi dihapus!", vbOKOnly + vbInformation, "Batal Menghapus"End IfEnd Sub

Private Sub Cmdkeluar_Click()Unload MeEnd Sub

Private Sub Cmdpertama_Click()adotipebarang.Recordset.MoveFirstEnd Sub

Private Sub Cmdsebelum_Click()adotipebarang.Recordset.MovePreviousEnd Sub

Private Sub Cmdsimpan_Click()On Error Resume NextTombol True, True, False, False, True

With adotipebarang.RecordsetIf 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 WithKosongEnd Sub

Private Sub Cmdtambah_Click()Tombol False, False, True, True, FalseBaru = TrueKosongtxtKode.SetFocusEnd Sub

Private Sub Cmdterakhir_Click()adotipebarang.Recordset.MoveLastEnd Sub

Private Sub Form_Load()adotipebarang.ConnectionString = "DSN=elektronik"adotipebarang.RecordSource = "tipe_barang"adotipebarang.Refreshadotipebarang.Recordset.Sort = "kd_elektronik"Baru = FalseEnd Sub

Private Sub cmdbatal_click()Tombol True, True, False, False, Trueadotipebarang.Recordset.CancelKosongEnd SubPublic Sub Tombol(tambah, edit, simpan, batal, hapus As Boolean)Cmdtambah.Enabled = tambahCmdedit.Enabled = editCmdsimpan.Enabled = simpanCmdbatal.Enabled = batalCmdhapus.Enabled = hapusEnd SubPublic Sub Kosong()txtKode.Text = ""txtNama.Text = ""txtJenis.Text = ""txtUkuran.Text = ""txtHarga.Text = ""txtFasilitas.Text = ""End Sub