Minggu, 21 April 2019

Materi Pemrograman [bagian 13] : Pengenalan SQL


Hai! Hai! Minna-san..
Setelah sekian lama, kali ini kita akan belajar mengenai SQL. Mungkin kata-katanya masih asing, kan? Apa sih SQL?
SQL atau structured query language adalah suatu pernyataan atau perintah standart untuk keperluan administrasi database.
SQL ini memiliki banyak software pendukung yang disebut SQL based DBMS (Database Management System). Beberapa di antaranya adalah MySQL, Oracle, MS. Access, MS. SQL, SQL Server dll.
Dan mungkin kalian bertanya-tanya mengapa bab pengenalan SQL ini diberikan.. sebab materi-materi selanjutnya akan membahas tentang penggunaan database. Untuk saat ini, software yang akan kita gunakan adalah MySQL. Mengapa? Sebab MySQL bersifat free alias gratis, kawan-kawan.
Tentang Database
Ibaratnya, database itu sebuah wadah untuk menyimpan data. Agar lebih mudah diatur, data itu disimpan dalam bentuk tabel.
Ibaratnya lagi, database itu lemari kabinet. Laci-laci lemari ini berisi dokumen atau data. Laci diumpamakan tabel database dan dokumen diibaratkan data atau record database. Coba bayangkan! Kalo gak bisa, berarti imajinasi kalian kurang, segera liat Spongebob supaya dapat pencerahan.
Pada tabel pasti ada baris dan kolom. Nah, pada database kolom ini disebut field dan barisnya disebut record.
Tentang PhpMyAdmin
PhpMyAdmin ini termasuk salah satu software MySQL yang berguna untuk pengadministrasian database supaya mudah dilakukan. Software ini merupakan web based software yang dijalankan melalui URL:
Jika kalian menggunakan AppServ atau XAMPP, ketika URL di atas dipanggil maka akan langsung masuk ke PhpMyAdmin.
Catatan:
Sebelum masuk PhpMyAdmin biasanya kita disuruh memasukkan username dan password. Username dan password sesuai dengan yang pernah kita masukkan ketika menginstal AppServ. Kalau kalian lupa, solusinya adalah mengingat-ingat, karena aku sendiri juga lupa hehe.

Membuat Database

Pasti dalam benak kalian semua refleks bilang ‘Gimana caranya?’.
Langsung saja, oke, caranya adalah mengisikan nama database yang akan kalian dibuat ke bagian kotak CREATE NEW DATABASE lalu klik tombol CREATE.
Misal kalian buat database dengan nama ‘perpustakaan’
Tips: sebaiknya nama database jangan menggunakan spasi.

Membuat Tabel
Setelah database dibuat, kita bisa buat tabelnya. Caranya ketikkan nama tabel yang akan dibuat pada bagian CREATE NEW TABLE ON DATABASE XXX. ‘XXX’ adalah nama databasenya.
Selain itu, masukkan jumlah fieldnya. Contoh seandainya kita akan membuat tabel ‘kategori_buku’.
Tips: nama tabel sebaiknya tidak menggunakan spasi
Misalnya kita desain seperti ini:
Tabel :   kategori_buku
Field :    kode_kat             varchar(5)           PRIMARY KEY
                nama_kat            varchar(20)
Keterangan:
Dalam tabel ‘kategori_buku’ ada 2 field yaitu ‘kode_kat’ dan ‘nama_kat’. ‘kode_kat’ nanti berisi kode kategori buku dan ‘nama_kat’ berisi nama kategori buku. Varchar merupakan tipe data fieldnya. Tipe data ini harus ada dan harus dimiliki tiap field. Terdapat beberapa tipe data, yaitu:
Varchar                 bila data berbentuk karakter (maks 25 karakter)
Int                          bila data berbentuk bilangan bulat
Float                      bila data berbentuk bilangan real
Text                       bila data berbentuk karakter (sizenya lebih besar dari varchar)
Date                      bila data berbentuk tanggal (th-bln-tgl)
Time                      bila data berbentuk waktu (jam:menit:detik)
Blob                       bila data berupa file
Catatan:
Khusus varchar harus diberikan lebar sixe yang diinginkan, seperti pada ‘varchar(5)’ yang berarti dalam field tersebut hanya mampu menyimpan 5 karakter.
PRIMARY KEY adalah fitur dalam DBMS untuk menjamin bahwa data tersebut tunggal. Pada desain field di atas, PRIMARY KEY diletakkan pada field ‘kode_kat’. Hal ini berarti ketika kita memasukkan kode yang sama untuk kategori yang berbeda, maka otomatis akan ditolak sistem.
Oke, penjelasan lebar di atas hanyalah rancangannya, teman. Sekarang, kita buat tabelnya, berikut caranya:
1.     Isikan nama tabel di kotak CREATE NEW TABLE ON DATABASE ...
Dalam kasus ini masukkan ‘kategori_buku’
2.     Masukkan jumlah field dari tabel yang akan dibuat pada NUMBER OF FIELDS
Dalam kasus ini masukkan ‘2’
3.     Klik GO

4.     Setelah itu masukkan nama-nama field dan tipe datanya pada form yang muncul berikutnya.

Memasukkan Data/Record ke Tabel
Untuk memasukkan sebuah record ke tabel, perintah SQLnya adalah sebagai berikut:
INSERT INTO nama_tabel (field1, field2, ...) VALUES (data1, data2, ...);
Misalkan kita akan memasukkan record kode kategori: ‘X001’ dan nama kategori: ‘MAJALAH’ ke tabel ‘kategori_buku’, maka perintahnya:
INSERT INTO kategori_buku (kode_kat, nama_kat) VALUES (‘X001’, ‘MAJALAH’);
Catatan Penting:
Khusus field bertipe VARCHAR, TEXT, DATE, TIME, dan BLOB, value yang akan dimasukkan ke tabel  harus diapit dengan tanda petik tunggal, misal ‘X001’. Tapi untuk field bertipe INT dan FLOAT tidak perlu tanda petik.
Sekarang pertanyaannya, dimana kita akan menuliskan perintah SQLnya? Ya… caranya adalah klik nama database yang kita gunakan pada kolom sebelah kiri PhpMyAdmin, dalam hal ini klik pada nama database ‘perpustakaan’ (yang berwarna biru).


Lalu klik tombol SQL pada menu atas PhpMyAdmin.

Kemudian tulis perintah SQL pada kotak ‘RUN SQL QUERY/QUERIES ON DATABASE ...’

Selanjutnya klik GO.
Kalian bisa menuliskan perintah atau query SQL lebih dari satu sekaligus.
Untuk melihat record yang telah tersimpan ke dalam tabel, caranya klik nama tabel yang mau dilihat recordnya pada sisi kiri PhpMyAdmin

Lalu klik menu BROWSE pada bagian atas PhpMyAdmin

Selanjutnya akan muncul semua record yang telah disimpan pada tabel tersebut
Sebagai latihan coba masukkan record-record berikut ini ke dalam tabel masing-masing menggunakan query SQL.
Tabel ‘kategori_buku’

Tabel ‘tabel_buku’

Mengedit Record
Jika kalian ingin mengedit record, perintah SQLnya adalah:
UPDATE nama_tabel SET field1 = value, field2 = value, … [WHERE syarat]
Dalam hal ini WHERE merupakan syarat yang bersifat optional. Bila WHERE tidak diberikan, maka proses update data diberikan ke semua record.
Contoh:
Perintah SQL untuk mengedit tahun terbit buku berkode ‘B001’ menjadi 2010.
UPDATE tabel_buku SET thn_terbit = 2010 WHERE kode_buku = ‘B001’;
Perintah SQL untuk mengedit tahun terbit buku berkode ‘B002’ menjadi 2004 sekaligus mengedit kode kategorinya menjadi ‘X002’.
UPDATE tabel_buku SET thn_terbit = 2004, kode_kat = ‘X002’ WHERE kode_buku = ‘B002’;
Perintah SQL untuk mengubah judul buku yang diterbitkan oleh PT. A pada tahun 2003 menjadi ‘XXX’.
UPDATE tabel_buku
SET judul_buku = ‘XXX’
WHERE thn_terbit = 2003 AND penerbit = ‘PT. A’;
Catatan: Selain operator logika AND, kalian juga bisa menggunakan OR sebagai operator logika ‘atau’.
Perintah  SQL  untuk  mengubah  nama  penerbit  menjadi  PT.  C dari semua  buku yang tahun terbitnya di atas 2004.
UPDATE tabel_buku
SET penerbit = ‘PT. C’
WHERE thn_terbit > 2004;
Catatan: Untuk operator relasional, kalian bisa menggunakan tanda =, >, >=, <=, <> (tidak sama dengan)
Perintah SQL untuk mengubah tahun terbit buku menjadi 2005 semuanya
UPDATE tabel_buku SET thn_terbit = 2005;
Menghapus Record 
Sebuah record atau beberapa record dapat dihapus dari tabel dengan perintah SQL
DELETE FROM nama_tabel [WHERE syarat];
Contoh:
Perintah SQL untuk menghapus data buku yang berkode ‘B001’
DELETE FROM tabel_buku WHERE kode_buku = ‘B001’;
Perintah SQL untuk menghapus data buku dari penerbit PT. A yang tahun terbitnya 2004
DELETE FROM tabel_buku WHERE penerbit = ‘PT. A’ AND thn_terbit = 2004;
Tentang SQL SELECT 
Perintah SELECT digunakan untuk mencari data atau menampilkan data pada field-field tertentu. Sintaksnya adalah:
SELECT field1, field2, … FROM nama_tabel [WHERE syarat ] [ORDER BY field DESC|ASC];
Keterangan:
ORDER BY digunakan untuk mensorting hasil data yang ditampilkan berdasarkan field tertentu baik secara DESCENDING atau ASCENDING.
Contoh:
Perintah SQL untuk menampilkan data (kode buku dan judul buku) dari buku yang minimal terbit pada tahun 2003.
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE thn_terbit >= 2003;
Perintah SQL untuk menampilkan data (untuk semua field) dari buku yang diterbitkan oleh PT. A
SELECT *
FROM tabel_buku
WHERE penerbit = ‘PT. A’;
Perintah  SQL  untuk  menampilkan  data  (kode  buku,  judul  buku,  tahun  terbit)  yang diurutkan  berdasarkan  tahun  terbit  mulai  dari  yang  paling  terbaru  sampai  dengan terlama.
SELECT kode_buku, judul_buku, thn_terbit
FROM tabel_buku
ORDER BY thn_terbit DESC;
Perintah SQL untuk menampilkan data (kode buku, judul buku dan nama kategori buku) dari buku yang diterbitkan oleh PT. A pada tahun 2003.
Untuk hal ini, kita harus bekerja di dalam 2 buah tabel sekaligus. Kode buku dan judul buku diperoleh dari tabel ‘tabel_buku’, sedangkan nama kategori diperoleh dari tabel ‘kategori_buku’.
Kedua tabel saling berhubungan karena masing-masing  terdapat field bernama ‘kode kategori’ atau ‘kode_kat’.
SELECT tabel_buku.kode_buku, tabel_buku.judul_buku, kategori_buku.nama_kat
FROM tabel_buku, kategori_buku
WHERE tabel_buku.kode_kat = kategori_buku.kode_kat AND
tabel_buku.penerbit = ‘PT. A’ AND
tabel_buku.thn_terbit = 2003;
Perintah  SQL  untuk  menampilkan  kode  buku  dan  judul  buku,  yang  judul  bukunya mengandung kata ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE judul_buku LIKE ‘%MATEMATIKA%’;
Perintah SQL untuk menampilkan  kode buku dan judul buku, yang kata depan judul bukunya adalah ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku W
HERE judul_buku LIKE ‘MATEMATIKA%’;
Perintah  SQL  untuk  menampilkan  kode  buku  dan  judul  buku,  yang  judul  bukunya berakhiran dengan kata ‘MATEMATIKA’
SELECT kode_buku, judul_buku
FROM tabel_buku
WHERE judul_buku LIKE ‘%MATEMATIKA’;
Penggunaan Aggregate Function 
Anda juga bisa menggunakan function yang sudah disediakan oleh MySQL, seperti AVG() untuk  menghitung  rata-rata  nilai,  MAX()  untuk  menghitung  nilai  maksimum, untuk  mencari  nilai  minimum,  COUNT()  untuk  menghitung  cacah  data,  SUM() menjumlahkan nilai dari beberapa data. MIN() untuk
Contoh:
Perintah SQL untuk mencari jumlah buku yang ada di dalam database:
SELECT count(kode_buku) FROM tabel_buku;
Perintah SQL untuk mencari jumlah buku yang memiliki kode kategori ‘X002’:
SELECT count(kode_buku) FROM tabel_buku WHERE kode_kat = ‘X002’;

Tugas Untuk Anda


1.   Buatlah  database   dengan  nama  ‘dbmhs’.   Selanjutnya   buatlah  tabel untuk keperluan penyimpanan data perkuliahan mahasiswa dalam database tersebut. 
Berikut ini tabel-tabelnya:
Nama Tabel : 'mhs'
Nama Field
nim 
namaMhs 
tglLahir 
alamat 


Nama Tabel : ‘mk’

Nama Field :
kodeMK 
namaMK 
sks 
smt 


Nama Tabel : ‘ambilMK’

Nama Field :
nim 
kodeMK 
nilai 

Tentukan  sendiri  tipe  data yang  cocok  untuk  setiap  fieldnya,  dan  tentukan PRIMARY KEY nya. Sebutkan alasan pemilihan tipe data dan PRIMARY KEY nya. 

Jawab:
1. Tabel 'mhs'



2. Tabel 'mk'



2.   Selanjutnya sisipkan ke dalam masing-masing tabel 5 buah record menggunakan perintah SQL 

Jawab:
1. Tabel 'mhs'


2. Tabel 'mk'


3. Tabel 'ambilMK'


3.   Tuliskan perintah SQL untuk proses berikut ini
a. Hapus data mahasiswa yang bernim ‘M0001’ 



b. Hapus matakuliah yang memiliki jumlah SKS 4 yang ada di semester 2. 

c. Hapus matakuliah yang memiliki jumlah SKS 2 s/d 4 

d. Hapus matakuliah yang memiliki jumlah SKS 4 atau di semester 3 

e. Ubahlah  nilai  matakuliah  berkode  ‘K001’  yang  diambil  mahasiswa  bernim ‘M0197001’ menjadi 3. 

f. Ubahlah semua nilai mahasiswa yang mengambil matakuliah berkode ‘K001’ menjadi satu lebihnya dari nilai semula. Contoh nilai sebelumnya 2, maka diubah menjadi 2+1 = 3. 

g. Tampilkan data matakuliah (kode matakuliah, nama matakuliah) yang berada di semester 2 

h. Tampilkan jumlah mahasiswa yang beralamat di ‘SOLO’. 

i. Tampilkan data mahasiswa (nim, nama mahasiswa) yang namanya mengandung kata ‘JOKO’. 

j. Tampilkan data mahasiswa (nim, nama mahasiswa) yang mengambil matakuliah berkode ‘K001’ 

k. Tampilkan nilai tertinggi dari matakuliah berkode ‘K001’ yang diambil mahasiswa. 

l. Tampilkan data mahasiswa (nim, nama mahasiswa, nilai matakuliah) yang mengambil matakuliah berkode ‘K001’ diurutkan berdasarkan nilai mulai dari tertinggi sampai terendah 

m. Tampilkan rata-rata nilai matakuliah mahasiswa yang mengambil matakuliah berkode ‘K001’ 

n. Tampilkan  daftar  matakuliah  (kode  matakuliah,  nama  matakuliah)  yang pernah diambil oleh mahasiswa bernim ‘M0197001’ 


o. Tampilkan IPK (index prestasi kumulatif) dari mahasiswa bernim  nilai ‘M0197001’.

Tidak ada komentar:

Posting Komentar

Upload File dengan PHP dan MySQL

Upload file adalah salah satu bagian terpenting dalam membuat aplikasi, khususnya yang berbasis web.Contohnya saat kita harus mengupload ent...