0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan15 halaman

P1 SBDT SQL X2

Diunggah oleh

mustofa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan15 halaman

P1 SBDT SQL X2

Diunggah oleh

mustofa
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

Sistem Basis Data

Terdistribusi
Structured Query Language
SQL

01 - 02
SQL

A. TUJUAN

Memahami SQL, komponen-komponen, dan kegunaannya Mengenal


operasi-operasi DDL dan DML
Mampu melakukan operasi-operasi retrieve yang spesifik
Mampu menguraikan dan mentranslasikan pernyataan-pernyataan SQL.

B. PETUNJUK

Awali setiap aktivitas dengan d'oa, semoga berkah dan mendapat kemudahan.
Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan
benar. Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur.
Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas.

C. DASAR TEORI

∙ SQL (Structured Query Language)


SQL (atau query language) adalah sebuah bahasa yang digunakan untuk
me-request informasi dari basis data; bahasa ini sudah disediakan oleh
DBMS. Konstruksi SQL terbentuk atas kombinasi relational-algebra dan
relational-calculus.

SQL terdiri dari beberapa komponen, dua di antaranya yang sangat


fundamental adalah DDL (Data Definition Language) dan DML (Data
Manipulation Language)
SQL

∙ DDL (Data Definition Language)


DDL menyediakan perintah-perintah untuk mendefinisikan,
memodifikasi, dan menghapus skema relasi—misalnya tabel, view,
prosedur, dan fungsi.

Contoh perintah DDL adalah: CREATE, ALTER, dan DROP

∙ DML (Data Manipulation Language)


DML menyediakan perintah-perintah untuk menambah, memodifikasi,
menghapus, dan mengambil data di dalam basis data.

Contoh perintah DML adalah: INSERT, UPDATE, DELETE,dan SELECT.

Penambahan Data

Sintaks operasi penambahan data dapat dituliskan sebagai berikut:

INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1,


value2,...valueN );

Misalkan tabel mahasiswa memiliki field nim dan nama, maka


pernyataan SQL untuk penambahan data dituliskan sebagai berikut:

INSERT INTO mahasiswa (nim, nama) VALUES (1, "Dewa Syailendra”)

Modifikasi Data

Sintaks operasi modifikasi data dapat dituliskan sebagai berikut:

UPDATE table_name

SET field1=new-value1, field2=new-value2 [WHERE Clause]


SQL

Misalkan nilai field nama untuk data dengan nim 1 ingin diubah
menjadi Dewi Maharani, berikut pernyataan SQL-nya:

UPDATE mahasiswa
SET nama = "Dewi Maharani" WHERE nim = 1

Perhatikan, operasi modifikasi tanpa menyertakan klausa WHERE


akan mengakibatkan diubahnya seluruh data di tabel. Jadi, jika Anda
hanya ingin memodifikasi data tertentu gunakan selalu klausa WHERE.

Penghapusan Data

Sintaks operasi penghapusan data dapat dituliskan sebagai berikut:

DELETE FROM table_name [WHERE Clause]

Misalkan nilai data dengan nim ingin dihapus, pernyataan SQL-


nya dituliskan sebagai berikut:

DELETE FROM mahasiswa WHERE nim = 1

Perhatikan juga, operasi penghapusan tanpa menyertakan klausa WHERE


akan mengakibatkan dihapusnya seluruh data di tabel. Jadi, jika Anda
hanya ingin menghapus data tertentu gunakan selalu klausa WHERE.

Seleksi Data

Sintaks operasi seleksi atau pengambilan data dapat dituliskan sebagai


berikut:
SQL

SELECT field1, field2,...fieldN table_name1, table_name2... [WHERE


Clause]
[OFFSET M ][LIMIT N]

Misalkan ingin menampilkan data nim dan nama mahasiswa,


pernyataan SQL-nya dituliskan sebagai berikut:

SELECT nim, nama FROM mahasiswa

Sebagai alternatif, tersedia karakter asterik (*) yang menyatakan


seluruh field. Jadi, pernyataan di bawah ini ekuivalen dengan pernyataan di
atas.

SELECT *
FROM mahasiswa

Untuk efisiensi, karakter asterik sebaiknya digunakan jika ingin me-


retrieve seluruh nilai field.
SQL

D. LATIHAN

1. Masuk ke dalam MySQL


Dalam latihan ini kita coba membuat database akademik dengan tiga tabel.
Tabel tersebut terdiri dari : tabel mahasiswa, tabel matakuliah dan tabel nilai.
Sebagai gambaran dapat dilihat pada gambar dibawah ini:
mahasiswa matakuliah nilai
nim kode nim
nama_mhs nama_mtkul kode
nilai

Untuk memulainya kita dapat masuk ke dalam mysql, dalam latihan


ini kita menggunakan mysql yang terdapat dalam xampp. Caranya:

Klik tombol icon aplikasi xampp sehingga akan tampil


sebuah control panel xampp yang tampak seperti pada gambar di bawah
ini.

Selanjutnya Klik atau tekan tombol pada baris MySQL.

Setelah tombol di klik, maka tampak berjalan


Start MySQL
dengan ditandai warna hijau .
SQL

Klik Kanan Start Program 🡪 Pilih Run 🡪

Ketik cmd 🡪Klik OK

Sehingga akan ke dalam prompt seperti


command tampilan
masuk berikut:

Kemudian masuk ke dalam mysql yang terdapat pada xampp, dengan


mengetikan perintah ‘mysql –u root –p’, dimana –u kependekan dari kata
user, sedangkan –p kependekan kata password.
SQL

Dengan tampilnya prompt mysql berarti bahwa kita telah masuk ke dalam
mysql.

2. Menciptakan Database Akademik dan Tabel


Mahasiswa, Tabel Matakuliah dan Tabel Nilai
Setelah di dalam mysql baru kita dapat membuat database.
Database yang akan kita buat yaitu akademik.
mysql> create database akademik; Query OK, 1 row affected (0.00 sec)

Untuk menggunakan datatabase akademik:


mysql> use akademik; Database changed

Di dalam database akademik terdapat tiga tabel. Tabel mahasiswa, tabel


matakuliah dan tabel nilai. Untuk membuat tabel mahasiswa:
mysql> create table mahasiswa (nim varchar(10),
-> nama_mhs varchar(25));
Query OK, 0 row affected (0.30 sec)

Untuk membuat tabel matakuliah:


mysql> create table matakuliah (kode varchar(10),
-> nama_mtkul varchar(25)); Query OK, 0 row affected (0.30 sec)

Untuk membuat tabel nilai:


mysql> create table nilai (kode varchar(10),
-> nim varchar(10), nilai varchar(5)); Query OK, 0 row affected (0.30 sec)
SQL

Setelah semua dilakukan berarti bahwa kita telah mempunyai tiga tabel di
dalam database akademik. Untuk melihat apakah tabel tersebut ada atau
tidak menggunakan perintah show:
mysql> show tables;
+--------------------+
| Tables_in_akademik |
+--------------------+
| mahasiswa |
| matakuliah |
| nilai |
+--------------------+
3 row in set (0.11 sec)
Demikian ketiga tabel telah berhasil dibuat.

3. Penambahan Data
Dari ketiga tabel yang telah dibuat, berikutnya melakukan insert data atau
memasukkan data, dengan perintah insert. Pertama memasukkan
data pada tabel mahasiswa:
mysql> insert into mahasiswa values (“m01”,”andra”),
-> (“m02”,”brandon”), (“m03”,”charlie”),
-> (“m04”,”desy”), (“m05”,”esha”), (“m06”,”fara”); Query OK, 5 row affected
(0.06 sec)

Berikutnya memasukkan data pada tabel


matakuliah:
mysql> insert into matakuliah values (“k01”,”pemrograman”),
-> (“k02”,”internet”), (“k03”,”basisdata”),
-> (“k04”,”jarkom”), (“k05”,”mobile”); Query OK, 5 row affected (0.09 sec)

Berikutnya memasukkan data pada tabel


nilai:
mysql> insert into nilai values (“m01”,”k03”,”9”),
-> (“m02”,”k05”,”7”), (“m03”,”k02”,”8”),
-> (“m04”,”k01”,”8”), (“m05”,”k04”,”7”),
Query OK, 5 row affected (0.12 sec)

Setelah semua data dimasukkan ke dalam tabel untuk melihat data


tersebut apakah memang sudah masuk atau belum
dengan menggunakan perintah select. Untuk melihat data mahasiswa:
SQL

mysql> select * from mahasiswa;


+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
| m02 | brandon |
| m04
m03 | charlie | |
desy |
| m06 | fara |
| m05 |
+-----------------+
esha
6 row in set (0.13 sec)

Untuk melihat data


mysql> select * from matakuliah;
matakuliah:
+---------------------+
| kode | nama_mtkul |
+---------------------+
| k01 | pemrograman |
| k02 | internet |
| k03 | basisdata |
| k04 | jarkom |
| k05 | mobile |
+---------------------+
5 row melihat
Untuk in set (0.15
datasec)
nilai:
mysql> select * from nilai;
+---------------------+
| nim | kode | nilai |
+---------------------+
| m01 | k03 | 9 |
| m02 | k05 | 7 |
| m03 | k02 | 8 |
| m04 | k01 | 7 |
| m05 | k04 | 8 |
| m06 | k02 | 6 |
+---------------------+
5 row in set
Demikian (0.17data
semua sec) telah masuk semua:

4. Modifikasi Data
Apabila dalam memasukkan data ada yang tidak sesuai dengan yang
diinginkan atau terjadi kesalahan ketika memasukkan data maka data
tersebut perlu untuk diperbaiki atau dimodifikasi. Cara untuk memodifikasi
data dengan menggunakan perintah update. Contoh berikut misalnya
untuk merubah nilai mahasiswa dari nilai 7 menjadi 6 dengan nim m04:
mysql> update nilai set nilai = “6” where nim = “m04”; Query OK, 1 row
affected (0.11 sec)
SQL

Row matched : 1

Demikian data nilai mahasiswa dengan nim m04 telah berubah dari
semula 7 menjadi 6. Untuk mengeceknya dapat menggunakan perintah
select.

5. Penghapusan Data
Apabila ingin menghapus data yang tidak sesuai yang diinginkan
maka menggunakan perintah delete. Berikut contoh apabila ingin
mysql> deletedata
menghapus from mahasiswadengan
mahasiswa where nim = “m06”; Query OK, 1 row
nim m06.
affected (0.23 sec)

Contoh lainnya menghapus nilai mahasiswa dengan nim m06.


mysql> delete from nilai where nim = “m06”; Query OK, 1 row affected
(0.21 sec)

Demikian nim m06 dari tabel mahasiswa dan tabel nilai terlah
terhapus. Untuk mengeceknya dapat menggunakan perintah select.

6. Seleksi Data
Seleksi data digunakan untuk menampilkan data atau informasi sesuai
yang dibutuhkan oleh pengguna. Salah satu contoh untuk
menampilkan seluruh data mahasiswa:
mysql> select * from mahasiswa;
+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
| m02 | brandon |
| m03 | charlie |
| m04 | desy |
| m05 | esha |
+-----------------+
5 row in set
Demikian kita(0.13
telahsec)
dapat menampilkan seluruh data mahasiswa.

7. Seleksi dengan Kriteria


Seleksi dengan kriteria digunakan untuk menampilkan data yang
dibutuhkan oleh pengguna dengan kriteria-kriteria tertentu. Misalnya ingin
mencari mahasiswa yang mempunyai nim “m01”. Maka sintaks atau
perintahnya adalah sebagai berikut
SQL

mysql> select * from mahasiswa where nim = “m01”;


+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
+-----------------+
1 row in set (0.06 sec)
Atau ingin mencari matakuliah yang kode matakuliahnya “k05”:
mysql> select * from matakuliah;
+---------------------+
| kode | nama_mtkul |
+---------------------+
| k05 | mobile |
+---------------------+
1 row in set (0.05 sec)
8. Seleksi dengan Operator LIKE
Seleksi dengan Operator Like digunakan untuk menampilkan data atau
informasi yang mirip dengan kriteria atau kata kunci yang dicari. Sebagai
contoh misalnya kita ingin mencari mahasiswa yang huruf depan
namanya merupakan huruf “a”. Maka sintaks atau perintah yang
digunakan:
mysql> select * from mahasiswa where nama like “a%”;
+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
+-----------------+
1 row in set (0.06 sec)
Symbol % digunakan untuk menggantikan seluruh character
setelah huruf a dari nama mahasiswa. Dan apabila ingin mencari
mahasiswa yang namanya mempunyai huruf a, maka sintaks atau
perintahnya dapat menggunakan cara sebagai berikut
mysql> select * from mahasiswa where nama like “%a%”;
+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
| m02 | brandon |
| m03 | charlie |
| m04 | desy |
| m05 | esha |
+-----------------+
Demikian contoh
5 row in set (0.06 sec) untuk mencari data
atau informasi dengan menggunakan
perintah select dengan operator like.
SQL

9. Pengurutan Data
Untuk mengurutkan data, kita dapat memanfaatkan klausa ORDER BY, di
mana nilai defaultnya adalah ASC(ascending atau pengurutan menaik)
Misalnya kita ingin menampilkan data mahasiswa dengan urutan menaik
ascending, maka perintahnya:
mysql> select * from mahasiswa order by nim;
+-----------------+
| nim | nama_mhs |
+-----------------+
| m01 | andra |
| m02 | brandon |
| m03 | charlie |
| m04 | desy |
| m05 | esha |
+-----------------+
5 row in set (0.06 sec)
Misalnya kita ingin menampilkan data mahasiswa dengan urutan
menurun descending, maka perintahnya:
mysql> select * from mahasiswa order by nim desc;
+-----------------+
| nim | nama_mhs |
+-----------------+
| m05 | esha |
| m04 | desy |
| m03 | charlie |
| m02 | brandon |
| m01 | andra |
+-----------------+
5 row in set (0.06 sec)
10. Backup Database
Agar tidak hilang maka database yang telah dibuat dapat dilakukan bakup.
Untuk melakukan backup harus keluar dahulu dari mysql dan kembali ke
command prompt dos, kemudian ketikan perintah sebagai berikut:
C:\xammp\MySQL\bin>mysqldump –u root –p
c:\akademik.sql akademik >

Enter Password: ****

Dari perintah tersebut bahwa database akademik akan dibackup ke drive


c:\ dengan nama file backup-nya akademik.sql. Untuk mengeceknya lihat
pada drive c:\ dan seharusnya ada file dengan nama akademik.sql.
SQL

11. Restore Database


Untuk melakukan restore atau mengembalikan dari file backup ke dalam
database syaratnya bahwa nama database harus ada terlebih dahulu
sebelum dilakukan restore.
Setelah nama database dipastikan ada maka perintah untuk melakukan
restrore sebagai berikut:

C:\xampp\MySQL\bin>mysql –u root –p
c:\akademik.sql akademik <

Enter Password: ****

Demikian restore yang dilakukan untuk mengembalikan file backup ke


dalam database.

E. TUGAS PRAKTIKUM
Buatlah database dengan tiga tabel sesuai gambaran dibawah ini:

pelanggan barang transaksi


kode_plg kode_brg kode_plg
nama_plg nama_brg kode_brg
harga jumlah_beli

Setelah semua tabel dibuat kemudian masukkan data dari ketiga


tabel tersebut sebagai berikut:
Kode_plg Nama_plg
P01 Alexander
P02 Brenda
P03 Camry
P04 Dexa
P05 Ekarna

kode_brg nama_brg harga

b01 b02 flashdisk 65000

mouse 35000
SQL

b03 keyboard 45000


b04 webcam 95000
b05 memory 235000

kode_plg kode_brg jumlah_beli


p01 b03 2
p02 b05 3
p03 b01 5
p04 b04 4
p05 b02 1

Setelah semua data masuk cobalah cari nama pelanggan yang


mempunyai nominal transaksi paling banyak.

Anda mungkin juga menyukai