A. Dasar
Teori
Apa itu SQL? SQL merupakan singkatan dari Structured
Query Language. SQL atau juga sering disebut sebagai query merupakan suatu
bahasa (language) yang digunakan untuk mengakses database. SQL
dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan
ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang
digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal
atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.
Terdapat 3
(tiga) jenis perintah SQL, yaitu :
1.
DDL
atau Data Definition Language
DDL merupakan perintah SQL yang
berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database
dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain
:
·
CREATE
·
ALTER
·
RENAME
·
DROP
2.
DML
atau Data Manipulation Language
DML merupakan perintah SQL yang berhubungan
dengan manipulasi atapengolahan data atau record dalam table. Perintah
SQL yang termasuk dalam DML antara lain :
·
SELECT
·
INSERT
·
UPDATE
·
DELETE
Nah, yang akan banyak kita pelajari kali ini adalah DML ini, karena
DDL dan DCL sudah kita pelajar di post sebelumnya.
3.
DCL
atau Data Control Language
DCL merupakan perintah SQL yang
berhubungan dengan manipulasi user dan hak akses (priviledges). Perintah SQL
yang termasuk dalam DCL antara lain :
·
GRANT
·
REVOKE
Karena yang akan dibahas di tugas praktikum saya kali ini adalah
tentang perintah dasar SQL bagian DML, berikut ini adalah struktur querynya.
1.
Menambah
Record dengan INSERT
Bentuk umum perintah SQL untuk menambahkan record atau data
ke dalam suatu tabel adalah sebagai berikut :
INSERT INTO nama_tabel
VALUES (‘nilai1’,’nilai2’,...);
atau dapat dengan bentuk sebagai berikut :
INSERT INTO nama_tabel(field1,field2,...)
VALUES (‘nilai1’,’nilai2’,...);
atau dapat juga dengan bentuk sebagai berikut :
INSERT INTO nama_tabel
SET field1=’nilai1’, field2=’nilai2’,...;
2.
Mengedit
Record dengan UPDATE
Proses update bisa sewaktu-waktu dilakukan jika terdapat data atau
record dalam suatu tabel yang perlu diperbaiki. Proses update ini tidak
menambahkan data (record) baru, tetapi memperbaiki data yang lama. Perubahan
yang terjadi dalam proses update bersifat permanen, artinya setelah perintah
dijalankan tidak dapat di-cancel (undo). Bentuk umum perintah SQL
untuk mengedit suatu record atau data dari suatu tabel adalah sebagai
berikut :
UPDATE nama_tabel
SET field1=’nilaibaru’[WHERE kondisi];
Pada perintah untuk update di atas :
·
UPDATE
merupakan perintah dasar untuk mengubah record tabel.
·
nama_tabel
merupakan nama tabel yang akan diubah recordnya.
·
Perintah
SET diikuti dengan field-field yang akan diubah yang mana diikuti juga
dengan perubahan isi dari masing-masing field. Untuk mengubah nilai dari
beberapa field sekaligus, gunakan koma (,) untuk memisahkan masingmasing
field.
·
Perintah
WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan
diedit (diubah). Perintah WHERE ini boleh ada boleh juga tidak. Jika WHERE
tidak ditambahkan pada perintah update maka semua record dalam tabel
bersangkutan akan berubah.
3.
Menghapus
Record dengan DELETE
Proses delete
dilakukan jika terdapat data atau record dalam suatu tabel yang perlu dihapus
atau dihilangkan. Perubahan yang terjadi dalam proses delete bersifat
permanen, artinya setelah perintah dijalankan tidak dapat di-cancel (undo).
Jadi berhati-hatilah dengan perintah delete ! Bentuk umum perintah SQL
untuk menghapus suatu record atau data dari tabel adalah sebagai berikut
:
DELETE FROM nama_tabel [WHERE kondisi];
Pada perintah untuk delete di atas :
·
DELETE
FROM merupakan perintah dasar untuk menghapus suatu record dari tabel.
·
nama_tabel
merupakan nama tabel yang akan dihapus recordnya.
·
Perintah
WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan
dihapus (didelete). Perintah WHERE ini boleh ada boleh juga tidak. Namun
demikian, jika WHERE tidak ditambahkan pada perintah delete maka emua record
dalam tabel bersangkutan akan terhapus. Jadi jangan lupa menambahkan WHERE
jika kita tidak bermaksud mengosongkan tabel.
4.
Menampilkan
Record dengan SELECT
Perintah SELECT digunakan untuk menampilkan sesuatu. Sesuatu di
sini bisa berupa sejumlah data dari tabel dan bisa juga berupa suatu ekspresi. Dengan
SELECT kita bisa mengatur tampilan atau keluaran sesuai tampilan yang diinginkan.
Bentuk dasar perintah SELECT data dari tabel adalah sebagai berikut
:
SELECT [field
| *] FROM nama_tabel [WHERE kondisi];
Sumber: http://achmatim.net
B. Hasil
Praktikum
Dalam
bagian ini, saya akan menjawab soal praktikum di kelas praktikum saya di
praktikum desain basis data.
Berikut
ini adalah tugas praktikum saya.
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
No.telp : 0813347565675
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
No.telp : 082576568798
Fakultas : PSIKOLOGI
2. Tampilkan data mahasiswa berupa nim dan nama.
3. Tampilkan data mahasiswa berdasarkan nim salah satu mahasiswa.
Sehingga yang muncul hanya salah satu data mahasiswa.
4. Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan nim, nama
mahasiswa, nama fakultas.
5. Hapus data mahasiswa yang memiliki nim : 13.
6. Ubah data berupa alamat : solo dan no.telp : 0857688788 yang
memiliki nim 12
7. Tampilkan data mahasiswa dan urutkan dari besar ke kecil
berdasarkan nim mahasiswa. Kemudian tampilkan data fakultas urutkan secara ascending
berdasarkan kolom ke-2.
8. Tampilkan seluruh data mahasiswa beserta seluruh data fakultasnya. 9. Tampilkan seluruh mahasiswa yang berada di fakultas “SAINTEK”.
10. Tampilkan seluruh mahasiswa yang tidak berada di fakultas “SAINTEK”.
11. Hapus data fakultas “SAINTEK”.
- Menggunakan SQL Shell (psql) dari PostgreSQL
Pertama, kita
harus masuk ke SQL Shell seperti biasanya.
1.
Untuk
menjawab soal nomor 1, kita harus membuat tabel fakultas dan tabel mahasiswa.
Kita membuat tabel fakultas dulu karena kita harus menggunakan tabel fakultas
sebagai reference untuk membuat tabel mahasiswa. Berikut ini adalah query
nya. Create table fakultas (id_fak
integer not null, nama_fak varchar(25), primary key(id_fak)); seperti di
bawah ini.
Lalu untuk
membuat tabel mahasiswa, querynya adalah create table mahasiswa (nim_mah
integer nit null, nama_mah varchar(30), alamat_mah varchar(35), no_telp
varchar(15), id fak integer not null references fakultas, primary key(nim_mah,
id_fak)); seperti gambar di atas.
Kemudian kita
dapan memasukkan data ke tabel fakultas dan tabel mahasiswa menggunakan
perintah query insert. Untuk memasukkan data pada tabel fakultas, ketikkan insert
into fakultas values (1, ‘Saintek’), (2, ‘Psikologi’); dan cek di tabel
dengan mengetik select*from fakultas;. Kemudian masukkan data-data
mahasiswa yang ada pada soal nomor 1 menggunakan perintah insert seperti tabel
fakultas tersebut seperti gambar di bawah ini.
2.
Untuk
menampilkan data mahasiswa berupa nim dan nama, ketikkan query select
nim_mah, nama_msh from mahasiswa; sehingga akan muncul tampilan seperti di
bawah ini.
3.
Untuk
mahasiswa berdasarkan nim salah satu mahasiswa,
misalnya nim 12, querynya yaitu select*from
mahasiswa where nim_mah=12;
4.
Untuk
menampilkan data mahasiswa dan fakultas berdasarkan nim, nama mahasiswa, nama fakultas querynya
yaitu selesct nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
5.
Untuk
menghapus data mahasiswa yang memiliki nim : 13,
ketikkan delete from mahasiswa where nim_mah=13; kemudian cek di tabel
mahasiswa dengan mengetik select*from mahasiswa;
6.
Untuk mengubah berupa alamat : solo dan no.telp : 0857688788 yang
memiliki nim 12, ketikkan query update mahasiswa set alamat_mah=’solo’ where
nim_mah=12; dan update mahasiswa set no_telp=’0857688788’ where
nim_mah=12; atau kita juga bisa mengetikkan update mahasiswa set
alamat_mah=’solo’, no_telp=’0857688788’ where nim_mah=12;
7.
Untuk menampilkan data mahasiswa dan urutkan dari besar ke kecil
berdasarkan nim mahasiswa, ketikkan select*from mahasiswa order by nim_mah
desc; dan untuk menampilkan data fakultas urutkan secara ascending berdasarkan
kolom ke-2 yaitu nama fakultas ketikkan select*from fakultas order by
nama_fak; yang akan secara otomatis urut secara ascending karena default
nya adalah ascending.
8.
Untuk menampilkan seluruh data mahasiswa beserta seluruh data
fakultasnya, querynya yaitu select nim_mah, nama_mah, alamat-mah, no_telp,
nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
9.
Untuk menampilkan seluruh mahasiswa yang berada di fakultas
“SAINTEK” yang mempunyai id_fak=1, maka querynya adalah select*from
mahasiswa where id_fak=1;
10.
Untuk menampilkan seluruh mahasiswa yang tidak berada di fakultas
“SAINTEK”, maka querynya adalah select*from mahasiswa where id_fak!=1;
11.
Untuk menghapus data fakultas “SAINTEK”, kita juga harus menghapus
data-data yang berelasi dengannya, yaitu mahasiswa “SAINTEK” di tabel
mahasiswa. Ketikkan delete from mahasiswa where id_fak=1; kemudian
ketikkan delete from fakultas where id_fak=1;. Untuk mengeceknya, ketik select*from
fakultas;
- Menggunakan XAMPP Shell dari MySQL
Pertama, kita harus masuk dulu di XAMPP Shell. Di sini
saya menggunakan user saya yaitu baiti, dan menggunakan database baiti13650070.
1.
Untuk
menjawab soal nomor 1, kita harus membuat tabel fakultas dan tabel mahasiswa.
Kita membuat tabel fakultas dulu karena kita harus menggunakan tabel fakultas
sebagai reference untuk membuat tabel mahasiswa. Berikut ini adalah query
nya. Create table fakultas (id_fak
integer not null, nama_fak varchar(25), primary key(id_fak)); seperti di
bawah ini.
Lalu untuk
membuat tabel mahasiswa, querynya adalah create table mahasiswa (nim_mah
integer nit null, nama_mah varchar(30), alamat_mah varchar(35), no_telp
varchar(15), id fak integer not null references fakultas, primary key(nim_mah,
id_fak)); seperti gambar di atas.
Kemudian kita
dapan memasukkan data ke tabel fakultas dan tabel mahasiswa menggunakan
perintah query insert. Untuk memasukkan data pada tabel fakultas, ketikkan insert
into fakultas values (1, ‘Saintek’), (2, ‘Psikologi’); dan cek di tabel
dengan mengetik select*from fakultas;. Kemudian masukkan data-data
mahasiswa yang ada pada soal nomor 1 menggunakan perintah insert seperti tabel
fakultas tersebut seperti gambar di bawah ini.
2.
Untuk
menampilkan data mahasiswa berupa nim dan nama, ketikkan query select
nim_mah, nama_msh from mahasiswa; sehingga akan muncul tampilan seperti di
bawah ini.
3.
Untuk
mahasiswa berdasarkan nim salah satu mahasiswa,
misalnya nim 14, querynya yaitu select*from
mahasiswa where nim_mah=14;
4.
Untuk
menampilkan data mahasiswa dan fakultas berdasarkan nim, nama mahasiswa, nama fakultas querynya
yaitu selesct nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where
mahasiswa.id_fak=fakultas.id_fak;
5.
Untuk
menghapus data mahasiswa yang memiliki nim : 13,
ketikkan delete from mahasiswa where nim_mah=13; kemudian cek di tabel
mahasiswa dengan mengetik select*from mahasiswa;
6.
Untuk mengubah berupa alamat : solo dan no.telp : 0857688788 yang
memiliki nim 12, ketikkan query update mahasiswa set alamat_mah=’solo’,
no_telp=’0857688788’ where nim_mah=12;
7. Untuk menampilkan data
mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa, ketikkan select*from
mahasiswa order by nim_mah desc;
Lalu untuk menampilkan data
fakultas urutkan secara ascending berdasarkan kolom ke-2 yaitu nama
fakultas ketikkan select*from fakultas order by nama_fak; yang akan
secara otomatis urut secara ascending karena default nya adalah ascending.
8.
Untuk menampilkan seluruh data mahasiswa beserta seluruh data
fakultasnya, querynya yaitu select nim_mah, nama_mah, alamat-mah, no_telp,
nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
9.
Untuk menampilkan seluruh mahasiswa yang berada di fakultas
“SAINTEK” yang mempunyai id_fak=1, maka querynya adalah select*from
mahasiswa where id_fak=1;
10.
Untuk menampilkan seluruh mahasiswa yang tidak berada di fakultas
“SAINTEK”, maka querynya adalah select*from mahasiswa where id_fak!=1;
11.
Untuk menghapus data fakultas “SAINTEK”, kita juga harus menghapus
data-data yang berelasi dengannya, yaitu mahasiswa “SAINTEK” di tabel
mahasiswa. Ketikkan delete from mahasiswa where id_fak=1; kemudian
ketikkan delete from fakultas where id_fak=1;. Untuk mengeceknya, ketik select*from
fakultas;
C. Tugas
Rumah
Tugas rumah dari praktikum saya adalah : Jelaskan
evaluasi dari DBMS MySQL dan PostgreSQL dalam blog anda berdasarkan tugas
praktikum 1-11. (evaluasi meliputi perbedaan atau kesamaan, kelebihan atau kekurangan,
tambahan dari penulis).
Persamaan :
Dalam praktikum kali ini, setelah saya mengerjakan nomor 1 sampai nomor 11,
semua query yang dipakai sama. Alasannya, karena bahasa yang dipakai
oleh kedua DBMS yaitu MySQL maupun PostgreSQL adalah bahasa SQL, yaitu suatu
bahasa (language) yang digunakan untuk mengakses database yang sudah
memiliki standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak
tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Jadi
teman-teman, hampir semua software database baik MySQL maupu PostgreSQL mengenal
atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama,
termasuk pada praktikum kali ini.
A.
Evaluasi Perbandingan DBMS MySQL dan DBMS
PostgreSQL
Pada
bagian ini, saya tidak akan meng-capture satu-satu setiap nomor yang akan saya
bandingkan, karena sudah terjawab di bagian tugas rumah tadi, bahwa dalam
praktikum kali ini, setelah saya mengerjakan nomor 1 sampai nomor 11, semua
query yang dipakai sama. Alasannya, karena bahasa yang dipakai oleh
kedua DBMS yaitu MySQL maupun PostgreSQL adalah bahasa SQL, yaitu suatu bahasa
(language) yang digunakan untuk mengakses database yang sudah memiliki
standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada
mesin yang digunakan (IBM, Microsoft atau Oracle). Jadi teman-teman, hampir
semua software database baik MySQL maupu PostgreSQL mengenal atau mengerti SQL.
Jadi, perintah SQL pada semua software database hampir sama, termasuk pada
praktikum kali ini.
Apabila
kita membicarakan kelebihan dan kekurangan dari DBMS tersebut, menurut saya
hampir sama, selama praktikum ini. Karena seperti yang telah kita ketahui
persamaan dari keduanya.
E.
. Kesimpulan, Saran, Kritik dan Manfaat bagi
Pembaca
1.
Kesimpulan
Setelah melakukan praktikum ini,
saya dapat mengambil kesimpulan bahwa hampir semua software termasuk MySQL dan
PostgreSQL memiliki perintah-perintah dasar SQL yang sama. Karena seperti sudah
saya sebutkan di bagian sebelumnya bahwa SQL adalah bahasa standar yang
digunakan oleh kedua DBMS tersebut. Pada praktikum kali ini juga dapat
disimpulkan bahwa kita dapat memanipulasi data dalam database seperti menambah,
mnampilkan, mengubah serta menghaus data dalam database menggunakan
perintah-perintah dasar SQL.
2.
Saran
Diperlukan
pembelajaran lebih lanjut mengenai perintah-perintah dasar SQL dalam database
menggunakan PostgreSQL maupu MySQL agar praktikan dapat menguasai kedua DBMS
tersebut dalam membuat database yang lebih baik.
3.
Kritik
Dalam laporan ini, masih banyak
terdapat kekurangan karena terbatasnya pengetahuan saya dalam menguasai 2 DBMS
yang digunakan dalam praktikum ini.
4.
Manfaat
Manfaat
yang akan didapat pembaca dalam laporan ini antara lain dapat mengetahui
perintah-perintah dasar SQL secara umum, serta dapat mengetahui proses
menambah, merubah, menghapus dan menampilkan data menggunakan 2 DBMS yang
berbeda. Pembaca juga dapat mengetahui persamaan dari kedua DBMS tersebut.
0 komentar:
Posting Komentar