Selasa, 07 Oktober 2014

Laporan Praktikum Desain Basis Data 3 : Perintah Dasar SQL





A. LANDASAN TEORI


  Pada laporan praktikum sebelumnya telah sedikit dibahas tentang macam-macam perintah dalam SQL, yaitu: DDL,DML,DCL. Namun pada laporan praktikum ketiga ini saya akan membahas tentang cara memanipulasi data pada tabel dengan perintah SQL yang berhubungan dengan struktur database yaitu menggunakan DML.

DML (Data Manipulation Language)
  Merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :

1. SELECT 
   digunakan untuk memfilter atribut-atribut dari relasi (tabel) berdasarkan kondisi yang mengikutinya.
 
- Operator Relasi
beberapa operator relasi yang di gunakan pada saat akan dibutuhkankan suatu kriteria tertentu untuk menampilkan data adalah :



Sedangkan operator logika yang sering di gunakan adalah AND,OR dan NOT.

- Pengurutan
untuk menampilkan suatu hasil query dengan urutan tertentu dapat dilakukan dengan tambahan perintah ORDER BY

-Field Function
dalam SQL ada beberapa fungsi yang bisa langsung digunakan dalam perintah SELECT yaitu:

         SUM     : untuk menjumlahkan

         COUNT : untuk mencacah
         MIN     : untuk menentukan nilai terkecil
         MAX     : untuk menentukan nilai terbesar
         AVG     : untuk menentukan nilai rata-rata

2. INSERT 
digunakan untuk menambahkan data baru

3. UPDATE
digunakan untuk merubah data yang sudah ada
4. DELETE
digunakan untuk menghapus data


B. HASIL PRAKTIKUM
   Di bawah ini adalah soal praktikum yang akan di jelaskan pada laporan praktikum ketiga ini



1.  Gunakan tabel mahasiswa,  tambahkan kolom yang diperlukan  kemudian masukkan 3 data  mahasiswa sebagai berikut :
  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”. 


1. Menggunakan PostgreSQL
 
 Buka SQL Shell, masuklah menggunakan akun dan database yang pembaca inginkan. di sini saya menggunakan database yang saya pernah buat pada praktikum pertama "putri13650126". Lalu membuat tabel fakultas dengan perintah query
    CREATE TABLE fakultas (id_fak INTEGER NOT NULL, nama_fak VARCHAR(30), PRIMARY KEY(id_fak));


Setelah berhasil membuat tabel fakultas maka langkah selanjutnya adalah mengisi fields pada tabel menggunakan perintah query
INSERT INTO fakultas VALUES (data_id_fak, ‘data_nama_fak’);

Cara mengecek apakah telah terisi fieldsnya dengan perintah query
SELECT * FROM fakultas;


Setelah membuat tabel fakultas dilanjutkan dengan membuat tabel mahasiswa yang akan dihubungkan dengan tabel fakultas. Perintah querynya sama dengan saat menggunakan tabel fakultas
CREATE TABLE mahasiswa (nim_mah INTEGER NOT NULL, nama_mah VARCHAR(27), alamat_mah VARCHAR(27), no_telpon VARCHAR(27), id_fak INTEGER NOT NULL REFERENCES fakultas, PRIMARY KEY(nim_mah, id_fak));


*Disini saya membuat tabel fakultas terlebih dahulu karena tabel fakultas adalah tabel yang akan menjadi referensi dari tabel yang lain, yaitu tabel mahasiswa. untuk tabel mahasiswa, dibuat setelah membuat tabel fakultas karena di dalam tabel mahasiswa terdapat foreign key dari tabel fakultas yaitu id_fak. 

Lanjut dengan mengisi fields pada tabel mahasiswa menggunakan perintah query
INSERT INTO mahasiswa VALUES (data_nim_mah, ‘data_nama_mah’, ‘data_alamat_mah’, ‘data_no_telpon’, data_id_fak);


 
Cara mengecek apakah telah terisi fieldsnya dengan perintah query
SELECT * FROM mahasiswa;



Kemudian menampilkan data mahasiswa berupa nim dan nama menggunakan perintah query
SELECT nim_mah, nama_mah FROM mahasiswa;


Lalu tampilkan data mahasiswa dengan memunculkannya sesuai nim mahasiswa menggunakan perintah query
SELECT * FROM mahasiswa WHERE nim_mah=12;



Selanjutnya memanggil data dari nim, nama, dan nama fakultas dari tabel mahasiswa dan fakultas menggunakan perintah query 
SELECT nim_mah, nama_mah, nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;



Perintah selanjutnya menghapus data dari tabel mahasiswa yang mempunyai nim 13 menggunakan perintah query
DELETE FROM mahasiswa WHERE nim_mah=13;


Langkah selanjutnya, update data yang sudah ada sebelumnya dengan menggunakan perintah query
UPDATE mahasiswa SET nama_kolom=’data_isi’ WHERE kondisi;


*Query yang berwarna kuning adalah query yang salah karena kesalahan penulisan


Lalu tampilkan data dari tabel mahasiswa dengan mengurutkan dari besar ke kecil sesusai dengan data nim mahasiswa menggunakan perintah query  
SELECT * FROM mahasiswa ORDER by nim_mah DESC;


Kemudian menampilkan data dari tabel fakultas dengan ketentuan 2 kolom saja dan paling kiri adalah nama_fak dengan urutannya dari kecil ke besar atau Ascending.
SELECT nama_fak, id_fak FROM fakultas ORDER by 2 ASC;


Selanjutnya menampilkan data mahasiswa dan fakultas dari fakultas SAINTEK saja menggunakan perintah query
SELECT * FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND nama_fak=’SAINTEK’;

Lalu tampilkan data mahasiswa dan fakultas dari selain fakultas SAINTEK, perintahnya sama namun hanya menambahkan tanda seru "!" setelah nama_fak dengan menggunakan perintah query
SELECT * FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND nama_fak!=’SAINTEK’;
 

Kemudian menghapus data dari tabel mahasiswa menggunakan perintah query
DELETE FROM mahasiswa WHERE id_fak=1;

Setelah menghapus data dari tabel mahasiswa, hapuslah data dari tabel fakultas menggunakan perintah query
DELETE FROM fakultas WHERE id_fak=1;

Cek pada tabel mahasiswa apakah sudah terhapus menggunakan perintah query
SELECT * FROM mahasiswa; 

*Menghapus data yang berhubungan dengan SAINTEK harus di awali dengan menghapus tabel mahasiswa dahulu kemudian tabel fakultas karena data fakultas menjadi referensi dari tabel mahasiswa.

2. Menggunakan MySQL 
Buka Command Promt yang sebelumnya telah terkoneksi dengan MySQL seperti yang pernah saya jelaskan pada laporan praktikum pertama, kemudian koneksikan dengan database yang akan pembaca gunakan menggunakan perintah query
USE namadatabase; 


Kemudian membuat tabel menggunakan perintah query 
CREATE TABLE fakultas (id_fak INTEGER NOT NULL, nama_fak VARCHAR(27), PRIMARY KEY(id_fak));

Lalu masukkan data ke dalam tabel fakultas menggunakan perintah query
INSERT INTO fakultas VALUES (data_id_fak, ‘data_nama_fak’);


Tampilkan data yang ada di tabel fakultas untuk memastikan bahwa data sudah masuk  menggunakan perintah query
SELECT * FROM fakultas;

Selanjutnya membuat tabel mahasiswa yang akan dihubungkan dengan tabel fakultas menggunakan perintah query
CREATE TABLE mahasiswa (nim_mah INTEGER NOT NULL, nama_mah VARCHAR(27), alamat_mah VARCHAR(27), no_telpon VARCHAR(27), id_fak INTEGER NOT NULL REFERENCES fakultas, PRIMARY KEY(nim_mah, id_fak));


Setelah berhasil membuat tabel, lanjutkan dengan memasukan data pada fieldsnya menggunakan perintah query
INSERT INTO mahasiswa VALUES (data_nim_mah, ‘data_nama_mah’, ‘data_alamat’, ‘data_no_telpon’, data_id_fak);
 

Coba tampilkan isi tabelnya dengan  menggunakan perintah query
SELECT * FROM mahasiswa;


Lanjutkan dengan menampilkan nim dan nama mahasiswa dari tabel mahasiswa menggunakan perintah query
SELECT nim_mah, nama_mah FROM mahasiswa;
 


Kemudian tampilkan data mahasiswa sesuai nim mahasiswa menggunkan perintah query
SELECT * FROM mahasiswa WHERE nim_mah=12;


Lalu memanggil data dari nim, nama, dan nama fakultas dari tabel mahasiswa dan fakultas menggunakan perintah query
SELECT nim_mah, nama_mah, nama_fak FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak; 


Menghapus data dari tabel mahasiswa yang mempunyai nim 13 dengan perintah query 
DELETE FROM mahasiswa WHERE nim_mah=13;
 

Kemudian update data yang sudah ada sebelumnya dengan menulis perintah query
UPDATE mahasiswa SET nama_kolom=’data_isi’ WHERE kondisi;


Tampilkan data dari tabel mahasiswa dengan mengurutkan dari besar ke kecil sesusai data nim mahasiswa menggunakn \an perintah query
SELECT * FROM mahasiswa ORDER by nim_mah DESC;


Kemudian menampilkan data dari tabel fakultas dengan ketentuan 2 kolom saja dan paling kiri adalah nama_fak dengan perintah query, urutannya dari kecil ke besar/ Ascending
SELECT nama_fak, id_fak FROM fakultas ORDER by 2 ASC;


Lalu tampilkan kedua tabel menjadi satu tampilan menggunakn perintah query
SELECT*FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;


Kemudian menampilkan data mahasiswa dan fakultas dari fakultas SAINTEK saja menggunkan perintah query
SELECT*FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND nama_fak=’SAINTEK’;
 

Lalu menampilkan data mahasiswa dan fakultas dari selain fakultas SAINTEK menggunakn perintah query
 SELECT*FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND nama_fak!=’SAINTEK’;


Kemudian menghapus data dari tabel mahasiswa menggunakan perintah query
DELETE FROM mahasiswa WHERE id_fak=1;

Setelah menghapus data dari tabel mahasiswa, hapuslah data dari tabel fakultas menggunakan perintah query
DELETE FROM fakultas WHERE id_fak=1;


*Menghapus data yang berhubungan dengan SAINTEK harus di awali dengan menghapus tabel mahasiswa dahulu kemudian tabel fakultas karena data fakultas menjadi referensi dari tabel mahasiswa.

Cek pada tabel mahasiswa apakah sudah terhapus menggunakan perintah query
SELECT * FROM mahasiswa;


C. PERBANDINGAN PostgreSQL DAN MySQL             

   Dari percobaan diatas dapat disimpulkan bahwa perbedaan antara PostgreSQL dan MySQL adalah pada mengkoneksikan database, pada PostgreSQL cara mengkoneksikannya dengan menggunakan perintah query \c namaDatabase; sedangkan pada MySQL menggunakan perintah query use namaDatabase; selebihnya sama saja mulai dari membuat tabel, update tabel, delete tabel, hingga meng-insert-kan data pada tabel.

D. KRITIK , SARAN dan MANFAAT
    
Laporan praktikum diatas mungkin banyak sekali kekurangan dan kesalahan. Dari saya sendiri mungkin harus lebih banyak berlatih dan belajar tentang PostgreSQL ataupun MySQL agar lebih mahir dan faham untuk di praktekan baik di bangku perkuliahan atau didunia kerja kelak :) 


E. REFERENSI

http://www.cosmasyk.com/file/pbd/dasarSQL.pdf
http://anessinaga.staff.ipb.ac.id/?p=335
Materi Praktikum Desain Basis Data 2013.pdf
Unknown Web Developer

Tidak ada komentar:

Posting Komentar