Minggu, 21 April 2019

Pengenalan SQL


Pengenalan SQL


Pada bab ini Anda akan diperkenalkan dengan SQL atau structured query languange. SQL adalah suatu statement atau pernyataan  atau perintah standart yang digunakan untuk keperluan administrasi database.
Ada banyak software database yang mendukung SQL ini. Software batabase  ini disebut juga SQL based DBMS (Database Management System). Beberapa di antaranya adalah MySQL, Oracle, MS. Access, MS. SQL, SQL Server dll.
Bab pengenalan SQL ini diberikan karena mulai bab selanjutnya materi kursus terkait dengan penggunaan database, dalam hal ini software database yang digunakan adalah MySQL.  Mengapa  MySQL  yang  digunakan?  Ya…  karena  MySQL  adalah  DBMS  yang bersifat  free  alias  gratis  namun  kehandalannya  tidak  kalah  dengan  DBMS  yang  tidak free.

Tentang Database
Database  ibaratnya  suatu  wadah  yang  digunakan  untuk  menyimpan  data.  Supaya mudah diatur data-data itu disimpan dalam sebuah tabel.
Database  ibaratnya  seperti  sebuah  lemari  kabinet.  Dalam  lemari  kabinet  terdapat beberapa laci yang di dalamnya terdapat beberapa dokumen file atau data. Laci inilah yang  diumpamakan  tabel  dari  database  dan  dokumen  file  atau  data  yang  tersimpan dalam laci ibaratnya merupakan  data atau record dari database.  Bisa membayangkan ya?

Di dalam sebuah database bisa terdapat lebih dari satu tabel.

Pada sebuah  tabel,  terdapat  unsur yaitu kolom dan  baris, seperti  halnya  tabel-tabel umum yang Anda kenal. Kolom pada database disebut juga field, dan barisnya disebut record.


Tentang PhpMyAdmin
Terkadang   dalam   mengatur    atau  pengadministrasian    database   sangatlah   repot Misalnya  membuat  database,  membuat  tabel,  mengubah  struktur  tabel,  menyimpan data ke database, mengedit data, menghapus data dsb.
Nah…   khusus   MySQL   terdapat   software   khusus   yang   dapat  dipergunakan   untuk pengadministrasian    database    supaya    mudah    dilakukan.    Software    ini    bernama PhpMyAdmin.  Software  ini  merupakan  web  based  software  yang  dijalankan  melalu URL:

http://localhost/phpmyadmin

Apabila Anda menggunakan  AppServ atau XAMPP  maka ketika dipanggil URL di atas akan langsung masuk ke PhpMyAdmin.

Catatan:



Sebelum  masuk  ke  PhpMyAdmin  biasanya  kita  disuruh  memasukkan  username  dan  password.  Username  dan  password  ini  sesuai  dengan sewaktu proses instalasi AppServ. yang  pernah  kita  masukkan


Tampilan PhpMyAdmin


Membuat Database

Untuk membuat database baru dengan PhpMyAdmin, caranya adalah isikan nama database yang akan Anda buat ke dalam bagian kotak CREATE NEW DATABASE lalu klik tombol CREATE.
Sebagai contoh silakan Anda buat database dengan nama: ‘perpustakaan’
Tips: sebaiknya nama database jangan mengandung spasi.



Membuat Tabel

Setelah  database  dibuat,  selanjutnya  kita bisa membuat  tabel. Untuk  membuat  tabe baru dalam database yang telah kita buat caranya ketikkan nama tabel yang akan dibua pada bagian CREATE NEW TABLE ON DATABASE XXX. ‘XXX’ di sini merupakan nama databasenya.
Selain  itu masukkan  pula  jumlah  fieldnya.  Oleh  karena  itu sebaiknya  sebelum  proses pembuatan tabel hendaknya Anda rancang terlebih dahulu nama-nama fieldnya sesua yang dibutuhkan.
Dalam contoh ini andaikan kita akan membuat tabel ‘kategori_buku’
Tips: seperti halnya membuat nama database, untuk nama tabel juga sebaiknya jangan gunakan spasi.
Untuk tabel ‘kategori_buku’ misalnya kita desain seperti di bawah ini:
Tabel   : kategori_buku
Field     : kode_kat nama_kat


varchar(5)
varchar(20)

PRIMARY KEY
Keterangan:

Dalam tabel ‘kategori buku’ terdapat 2 buah field yaitu ‘kode_kat’ dan ‘nama_kat’. Field
‘kode_kat’    nanti    berisi    kode    kategori    dari    buku-buku    yang    tersimpan    dalam perpustakaan dan ‘nama_kat’ merupakan penjelasan yang berisi nama kategori terkai dengan  kode  kategorinya.  Misalnya  kode  kategori  buku  ‘X10’  itu  merupakan  kode kategori untuk buku tentang ‘MATEMATIKA’.

Varchar merupakan tipe data dari fieldnya. Tipe data ini harus dimiliki setiap field yang akan dibuat. Tipe data ini menentukan jenis atau sifat data yang akan disimpan dalam field tersebut. Terdapat beberapa tipe data yang bisa dipilih, yaitu

Varchar
Int Float Text Date Time Blob

bila datanya berbentuk karakter (maks 255 karakter)
bila datanya berbentuk bilangan bulat bila datanya berbentuk bilangan real
bila datanya berbentuk karakter (size nya lebih besar dari varchar)
bila datanya berbentuk tanggal (th-bln-tgl)
bila datanya berbentuk waktu (jam:menit:detik)
bila datanya berupa file

Catatan:

Khusus untuk varchar harus diberikan lebar size yang diinginkan, misalnya suatu field bertipe varchar(5). Maksud 5 di sini adalah banyak karakter yang bisa disimpan dalam field tersebut adalah 5 buah.

PRIMARY KEY adalah fitur yang ada dalam DBMS yang dapat digunakan untuk menjamin bahwa sebuah data itu tunggal. Dalam contoh di atas PRIMARY KEY diberikan pada field
‘Kode Kategori’. Tentu kita tahu bahwa suatu kode kategori buku   itu bersifat tungga atau  tidak  boleh  ada  kode  yang  sama,  seperti  halnya  kode  karyawan  atau  kode mahasiswa. Bila suatu field sudah dijadikan PRIMARY KEY maka tidak mungkin ada data yang  sama  pada  field  tersebut.  Apabila  kita  masukkan  kode  yang  sama,  maka  akan ditolak oleh sistem.

OK… setelah kita rancang tabelnya, kita bisa membuatnya. Berikut ini 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

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



Menunjukkan primary key telah dipilih pada field ‘kode_kat’




Sebagai latihan coba Anda buat lagi tabel ‘tabel_buku’ dengan field sebagai berikut

kode_buku judul_buku kode_kat pengarang penerbit thn_terbit

varchar(10) text varchar(5) varchar(30) varchar(30) int

PRIMARY KEY

Tabel di atas dibuat dalam database ‘perpustakaan’. Dengan demikian terdapat 2 tabel dalam database ‘perpustakaan’.

Memasukkan Data/Record ke Tabel
Untuk memasukkan sebuah record ke tabel, perintah SQL nya adalah berikut ini
INSERT INTO nama_tabel (field1, field2, …) VALUES (data1, data2, ..);
Sebagai contoh 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  yang  bertipe  VARCHAR,  TEXT,  DATE,  TIME,  dan BLOB,  value  yang  akan dimasukkan  ke  tabel  harus  diapit  dengan  tanda  petik  tunggal,  misal  ‘X001’.  Namun untuk field bertipe data bilangan (INT, FLOAT) tanpa menggunakan tanda petik.
Dimanakah kita menuliskan perintah SQLnya? Ya… caranya adalah klik terlebih dahulu nama database yang kita gunakan pada kolom sebelah kiri dari PhpMyAdmin, dalam hal ini klik pada nama database ‘perpustakaan’


Lalu klik tombol SQL pada menu atas PhpMyAdmin


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


Selanjutnya klik GO.

Anda dapat 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’
Kode Kategori
Nama Kategori
X002
REFERENSI
X003
SURAT KABAR
X004
JURNAL ILMIAH

Tabel ‘tabel_buku’
Kode Buku
Judul Buku
Kode
Kategori
Pengarang
Penerbit
Th. Terbit
B001
Pemrograman
Pascal
X002
Mr. X
PT. A
2003
B002
Pemrograman
PHP
X002
Mr. Y
PT. A
2004
B003
Kompas (Edisi
X 2006)
X003
-
-
2006
B004
Sains Matematika (Edisi XI 2008)
X004
-
LIPI
2008
B005
Tempo (Edisi
XI 2008
X001
-
PT. B
2008


Mengedit Record

Apabila Anda ingin mengedit record, perintah SQL nya 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’;
erintah 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, Anda 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, Anda 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
WHERE 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’;



Berikut beberapa contoh pengolahan database menggunakan script sql
1.      Buka xampplite jalankan apache dan mysql


2.      Buka browser dan kujunjungi url berikut untuk membuka phpmyadmin


3.      Tampilan phpmyadmin


4.      Membuat database baru


5.      Membuat table dan field/kolom


6.      Mengisi nama field dan jenis data yang akan dimasukan field kemudian klik go



7.      Membuat 3 tabel dengan isi field sebagai berikut
//table mhs


//table mk


//table ambilmk


8.      Isi data pada table yang telah dibuat
//isi data dengan sql


Ulangi perintah dengan mengubah isi data dan tempat data hingga memenuhi sebagai berikut.
//Data mhs


//Data mk


//Data ambilmk




Beberapa perintah mengola database

1.      Menghapus data mahasiswa bernim 1103181031



2.      Menghapus mata kuliah yang memiliki sks 4 pada semester 2


3.      menghapus mata kuliah yang memiliki sks 2 s/d 4


4.      Menghapus matakuliah yang memiliki jumlah SKS 4 atau di semester 3


5.      Mengubah  nilai  matakuliah  berkode  ‘K001’  yang  diambil  mahasiswa  bernim ‘1103181031’ menjadi 3.


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


7.      Menampilkan data matakuliah (kode matakuliah, nama matakuliah) yang berada di semester 2


8.      Menampilkan jumlah mahasiswa yang beralamat di ‘MAGETAN’.


9.      Menampilkan  data  mahasiswa  (nim,  nama  mahasiswa)  yang  namanya mengandung kata ‘SHANDY’.


10.  Menampilkan   data   mahasiswa   (nim,   nama   mahasiswa)   yang   mengambi matakuliah berkode ‘K001’


11.  Menampilkan   nilai   tertinggi   dari   matakuliah   berkode   ‘K001’   yang   diambil mahasiswa.


12.  Menampilkan data mahasiswa (nim, nama mahasiswa, nilai matakuliah) yang mengambil matakuliah berkode ‘K001’ diurutkan berdasarkan nilai mulai dar tertinggi sampai terendah


13.  Menampilkan rata-rata nilai matakuliah mahasiswa yang mengambil matakuliah berkode ‘K001’


14.  Menampilkan   daftar   matakuliah   (kode  matakuliah,   nama   matakuliah)   yang pernah diambil oleh mahasiswa bernim ‘103181031’


15.  Manampilkan   nilai IPK  (index   prestasi   kumulatif)   dari   mahasiswa   bernim 1103181031


Tidak ada komentar:

Posting Komentar