Laporan Praktikum 3 (Perintah Dasar SQL)

07.41

Bismillahirrahmanirahim..
Asalammualaikum, 
asisten Lab Praktikum DBD yang nge-cek laporan Ade (lagi)..
semoga gak bosen-bosen yaa, visit blog ini :D


Semoga Laporannya mendapatkan nilai yang terbaik yaa mas ^_^
-aamiin-

Kali ini saya akan membuat laporan praktikum yang berjudul "Perintah Dasar SQL", praktikum ini ialah praktikum saya yang keempat bersama pak Aziz dan mas Charis selaku asisten Lab.  Dan pada pertemuan ini, kita membahas modul 3 yang materinya jauh lebih menarik dari sebelumnya, untuk itu ndak usah berlama-lama yuk kita lihat laporan nya :D ...

  • DASAR TEORI

1. Hubungan Antar Tabel
Dalam dunia basis data, terdapat istilah hubungan antar tabel atau refernces. Untuk mengolah basis data sangat diperlukanlah yang namanya hubungan antar tabel tersebut agar setiap tabel yang di buat bisa saling terkait. Kita kenal kunci utama (primary key) dan kunci tamu (foreign key). Tujuan utama dari adanya kedua istilah tersebut adalah pengidentifikasian tiap table dan kejelasan hubungan antara 2 atau lebih table. Primary key adalah satu atau beberapa kolom pada table yang mengidentifikasikan tiap kolom dan baris pada table tersebut. Sedangkan Foreign Key adalah satu atau beberapa kolom pada table yang merupakan primary key pada table satu namun diletakan pada table dimana tablenya berelasi dengan table dirinya. Misalnya kita memiliki 2 tabel, yaitu tabel mhs dan matkul ;
  • CREATE TABLE  matkul( id_matkul CHAR(5) NOT NULL PRIMARY KEY, nm_matkul VARCHAR(30) NOT NULL, jml_sks VARCHAR (5) NOT NULL);
  • CREATE TABLE mhs( nim INT NOT NULL PRIMARY KEY, nama VARCHAR(50) NOT NULL, alamat VARCHAR(60) NOT NULL, id_matkul INT, FOREIGN KEY(id_matkul) REFERENCES matkul(id_matkul) );
Tabel ‘matkul’ sebagai tabel induk kita buat terlebih dahulu, kemudian baru kita buat tabel mhs sebagai tabel yang akan di berikan foreign key dari tabel matkul.
2. Memasukkan data
Dari tabel mhs dan matkul kemudian kita isi tabel seperti contoh tabel berikut ;
Table mhs

Nim                  Nama                          Alamat                Id_matkul

7644              Adi Artupida                 Bekasi                      123
7634              Herman                        Bandung                  222
7635              Budianto Nahrowi        Semarang                111
7636              Sinta                            Bekasi                      333


Table Matkul

Id_matkul        Nm_matkul                   Jml_sks

123                    Pemrograman Web         3
111                   Pemrograman C               3
222                   Pemrograman Java          3
333                   Pemrograman OOP          3

Untuk memasukkan data ke dalam tabel kita dapat menggunakan perintah INSERT, dengan query seperti contoh di bawah ;
  • INSERT INTO mhs VALUES (7633,’Adi Artupida’,’Bekasi’,123), (7634,’Herman’,’Bandung’,222), (7635,’Budianto Nahrowo’,’Semarang’,111), (7636,’Sinta’,’Bekasi’,333);
  • INSERT INTO matkul VALUES (123,’Pemrograman Web’,3), (111,’Pemrograman C’,3), (222,’Pemrograman Java’,3), (333,’Pemrograman OOP’,3);
Dalam memasukkan data ada beberapa ketentuan yang harus di penuhi salah satunya adalah ketika kita memasukkan data yang bertipe VARCHAR kita harus memberikan tanda petik atas (‘ ‘) pada data tersebut. Akan berbeda pada data yang bertipe INT, BOOLEAN kita tidak perlu memberikan tanda petik (‘ ‘) ketika memasukkan data.
3. Menampilkan data
Menampilkan data dari sebuah tabel mungkin merupakan hal paling sering kita lakukan dalam menangani database. Pembuatan tabel MySQL hanya perlu di lakukan sekali di awal implementasi, namun input data (INSERT) dan menampilkannya kembali (SELECT) dalam format yang diinginkan merupakan rutinitas selama database masih digunakan. Perintah SELECT akan dibahas berkaitan dengan opsi WHERE, ORDER BY, dan LIMIT.
Format dasar ketika kita ingin menampilkan data, setidaknya kita butuh setidaknya 3 hal:

1. Apa saja kolom yang ingin ditampilkan,
2. Nama tabel yang akan ditampilkan, dan
3. Kondisi untuk menampilkan data
.

 Query SELECT pada dasarnya juga terdiri dari 3 hal tersebut:
  • SELECT apa_yang_akan_ditampilkan FROM tabel_apa WHERE kondisi_apa_data_ditampilkan ;
Sebagai contoh kita ingin menampilkan isi semua tabel matkul, seperti contoh tabel di atas. query yang akan kita tuliskan adalah :
  • SELECT*FROM matkul;
Tanda bintang (*) adalah wildcard atau tanda yang di gunakan untuk menandai semua data. Maka hasilnya semua data pada tabel matkul akan muncul.
Table Matkul

Id_matkul        Nm_matkul                   Jml_sks

123                   Pemrograman Web         3
111                   Pemrograman C               3
222                   Pemrograman Java         3
333                   Pemrograman OOP         3

Jika kita ingin menampilkan hanya sebahagian dari seluruh kolom dari sebuah tabel, kita dapat menentukan kolom mana saja yang akan ditampilkan. Format dasarnya adalah sebagai berikut:
  • SELECT namakolom1, namakolom2 . . . FROM namatabel ;
Kemudian, jika kita ingin menyeleksi tamilpilan berdasarkan baris tertentu bisa menggunakan  perintah WHERE yang diletakkan dibelakang nama tabel dan isikan nama kolom beserta  kata kunci sebagai dasar atau syarat dari pencarian baris. Untuk lebih jelasnya berikut  struktur perintah SQL nya :
  • SELECT namakolom1, namakolom2 . . . FROM namatabel WHERE namakolom=’kondisi’ ;
Kita contohkan dengaan menggunakan tabel mhs untuk menampilkan nama dan nim mahasiswa yang beralamat di bekasi :
  • SELECT Nim, Nama FROM mhs WHERE alamat=’bekasi’ ;
Maka akan menampilkan Nim dan Nama mahasiswa yang beralamat di bekasi ;
Nim                  Nama

7644              Adi Artupida

MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan. Pengurutan bisa dari paling kecil ke besar, ataupun besar ke kecil. Pilihan ini dapat diatur dengan penambahan instruksi ASC (singkatan dariascending) untuk pengurutan dari kecil ke besar, dan DESC (singkatan dari descending) untuk urutan dari besar ke kecil. Jika tidak di dijelaskan, secara default bawaan MySQL, perintah ORDER BY akan menggunakan ASC.Query dasar untuk SELECT…ORDER BY adalah:
  • SELECT namakolom1, namakolom2 . . . FROM namatabel WHERE nama_kolom_yang_diurutkan ORDER BY namakolomurut ; //nama kolom urut bisa di isi DESCENDING atau ASCENDING
Apabila kita ingin menampilkan data dari lebih dari satu tabel, struktur query nya terdapat sedikit perbedaan. Misalnya memakai tabel yang telah dibuat yaitu tabel mhs dan tabel matkul (Dengan syarat adanya relasi antara kedua tabel tersebut). Berikut Struktur query nya :
  • SELECT namakolom1, namakolom2, namakolom3, namakolom4 FROM  namatabe1, namatabel2 WHERE namatabel1.namakolom = namatabel2.namakolom ;
Query di atas akan menampilkan nama kolom dari dua tabel yang telah di beri relasi antara keduanya.
4. Modifikasi Data
Dalam memodifikasi database bisa menggunakan perintah UPDATE untuk memodifikasi isi tabel. Dengan query UPDATE kita bisa mengganti data lama dengan data bar. Berikut query UPDATE untuk mengganti data tabel :
UPDATE nama_tabel SET nama_kolom = data_baru WHERE kondisi
  • UPADATE namatabel SET namakolom = databaru WHERE kondisi ;
Kita bisa menambahkan perintah logika berupa OR atau AND.
5. Mengahapus Data
Pada MySQL, perintah DELETE digunakan untuk menghapus data pada sebuah tabel. Berikut Struktur yang digunakan :
  • DELETE FROM namatabel ;
Dari query kita akan menghapus semua baris data dari nama tabel yang tertulis. Namun apabila kita ingin menghapus berdasarkan spesifikasi baris atau baris tertentu saja. Kita bisa menggunakan struktur query sebagai berikut :
  • DELETE FROM namatabel WHERE namakolom = katakunci ;
Dengan struktur quey di atas kita bisa menghapus kolom yang kita inginkan.
(*sumber : Materi Praktikum Desain Basis Data 2014 ditambah dengan tulisan penulis)
  • HASIL PRAKTIKUM

Pada bahasan ini kita akan mempraktekan perintah perintah dasar SQL di atas menggunkan 2 tabel yaitu tabel mahasiswa dan fakultas. Kita mulai dengan membuat 2 tabel terlebih dahulu dengan memberi relasi antara kedua tabel tersebut.
1. Membuat Tabel dengan Relasi
Untuk pertama kita membuat tabel fakultas dengan isi kolom id_fak dan nama_fak, berikut query nya :
mysql> create table fakultas ( id_fak INT NOT NULL PRIMARY KEY, nama_fak varchar (10));




Kemudian kita akan membuat tabel mahasiswa yang kemudian kita relasikan dengan tabel fakultas, berikut query ;
mysql> create table mahasiswa (nim_mah INT NOT NULL PRIMARY KEY, nama_mah varchar (10), alamat_mah varchar (10), id_fak INT NOT NULL, foreign key (Id_fak) references fakultas (id_fak));




2. Memasukkan Data
Seperti yang telah di terangkan di atas kita akan menggunakan perintah INSERT untuk memasukkan data ke tabel. Berikut query yang akan kita tuliskan untuk memasukkan data ke dalam tabel ;
mysql> insert into mahasiswa values (12, ‘edi’, ‘malang’, 1, 0856453428), (13, ‘sinta’, ‘jogja’, 1, 0813347565675), (14, ‘luki’, ‘ponorogo’, 2, 08257658798);





mysql> insert into fakultas values (1, ‘SAINTEK’), (2, ‘PSIKOLOGI’);




3. Menampilkan Data Berupa nim dan nama
Untuk menampilkan data dari tabel mahasiswa berpa nim dan nama kita akan menggunakan perintah SELECT.
mysql> select nim_mah, nama_mah from mahasiswa;



4. Menampilkan Data Dari 2 Tabel
Menampilkan data dari 2 tabel yang di ambil berdasarkan nim, nama mahasiswa, nama fakultas. Kita akan menggunakan perintah SELECT  yang di berikan perintah WHERE.
mysql> select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;



5. Menghapus Data Mahasiswaa yang Diingikan
Disini kita akan menghapus data mahasiswa yang memiliki nim = 13
mysql> delete from mahasiswa where nim_mah=13;



6. Merubah Data
Untuk merubah data kita menggunakan query UPDATE seperti teori di atas, kita rubah data di kolom no_telp dan alamat_mah pada mahasiswa yang memiliki nim=12. Berikut query nya ;
mysql> update mahasiswa set alamat_mah = ‘solo’ where nim_mah=12;
mysql> update mahasiswa set no_telp = 0857688788 where nim_mah=12;




7. Menampilkan Data Berdasarkan Nomor Urut
Mengurutkan data dari besar ke kecil berdasarkan nim mahasiswa kemudian menampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.
mysql> select*from mahasiswa order by nim_mah desc;
mysql> select*from fakultas order by 2 asc;




8. Menampilkan Seluruh Data Dari 2 Tabel
Menampilkan seluruh data dari tabel mahasiswa dan fakultas menggunakan perintah SELECT.
mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;



9. Menampilkan Data Mahasiswa Denagn Logika AND
Menampilkan seluruh dat mahasiswa yang berada di SAINTEK dan PSIKOLOGI
mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and nama_fak=’SAINTEK';
mysql> select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and nama_fak=’PSIKOLOGI';






10. Menampilkan Data Mahasiswa Dengan Logika !=
Menampilkan data mahasiswa yang tidak berada si fakultas saintek


11. Menghapus Data
Hapus Data fakultas SAINTEK. Untuk menghapus data yang berada di SAINTEK, kita harus menghapus terlebih dahulu data yang berhubungna dengan SAINTEK pada tabel mahasiswa.
mysql> delete from mahasiswa where id_fak=1;
mysql> delete from fakultas where nama_fak=’SAINTEK';



C. Perbedaan, Kesamaan, Kelebihan dan Kekurangan Pada DBMS PostgreSQL dan MySQL
Umumnya pada setiap DBMS memiliki perbedaan pada Struktur Query, tetapi perbedaan itu tidaklah sepenuhnya berbeda. Kadang pada perintah tertentu memiliki kesamaan Struktur Query. Termasuk pada DBMS PostgreSQL dan pada MySQL kadang juga memiliki kesamaan. Pada paparan perintah dasar MySQL di atas terlihat bahwa MySQL dan PostgreSQL memiliki kesamaan pada Struktur Query nya. Baik itu pada perintah INSERT, SELECT, UPDATE, dan DELETE pada MySQL sama persis dengan perintah yang ada pada PostgreSQL.

Untuk Khususnya, perhatikan tabel dibawah ini yaa

Perintah
MySQL
Postgresql
Keterangan
Relasi antar table (references)
create table mahasiswa (Nim_mah integer not null, Nama_mah varchar (20), Alamat_mah varchar (20), Id_fak integer,
Primary key (nim_mah, id_fak),
Foreign key (id_fak) references fakultas
);
create table mahasiswa (nim_mah integer not null, nama_mah varch
ar (20), alamat_mah varchar (20), id_fak integer not null references fakultas, p
rimary key (nim_mah, id_fak));
Terdapat penambahan foreign key pada mysql jika ingin merelasikan dua table, dan penamaan kolom pada mysql boleh tidak sama (pada kedua table)
Memasukkan data
insert into fakultas values (1,‘SAINTEK'), (2, ‘PSIKOLOGI’);
insert into fakultas values (1, 'SAINTEK'), (2, ‘PSIKOLOGI’);
Masukkan data untuk table yang akan menjadi foreign key pada table lain
Menampilkan semua data
Select * from mahasiswa;
Select * from mahasiswa;
Sama
Menampilkan beberapa kolom dari sebuah tabel
select nim_mah, nama_mah from mahasiswa;
select nim_mah, nama_mah from mahasiswa;
Sama
Menampilkan beberapa data pada tabel dengan kata kunci tertentu
select nim_mah, nama_mah, alamat_mah, no_tlp from mahasiswa where nim_mah=12;
select nim_mah, nama_mah, alamat_mah, no_tlp from mahasiswa wher
e nim_mah=12;
Sama
Menampilkan data dari 2 tabel
select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
Sama
Mengganti data yang sudah ada
update mahasiswa set alamat_mah='solo', no_tlp='0857688788' wher
e nim_mah=12;
update mahasiswa set alamat_mah='solo', no_tlp='0857688788' wher
e nim_mah=12;
Sama
Mengurutkan data
select * from mahasiswa order by nim_mah desc;
select * from mahasiswa order by nim_mah desc;
Sama
Menghapus data dengan kata kunci tertentu
delete from fakultas where nama_fak='saintek';
delete from fakultas where nama_fak='saintek';
Jika ada relasi dalam pada table, maka table yang tidak menjadi reference kpd sebuah table, maka harus dihapus terlebih dahulu
atau dapat menambahkan ON DELETE/ON UPDATE [opsi]
D. Kesimpulan
Dalam basis data terdapat istilah hubungan antar tabel atau lebih di kenal references. Kita dapat memanipulasi setiap data yang kita masukkan, baik menggunakan perintah INSERT, SELECT, UPDATE, atau DELETE. Kita bisa menggunakan DBMS PostgreSQL ataupun MySQL untuk memanipulasi data tersebut. karena pada PostgreSQL dan MySQL memiliki kesamaan pada perintah tersebut.

You Might Also Like

2 komentar

  1. Untuk minggu depan, tolong masalah evaluasi perbandingan diperinci lagi, jangan penjelasan secara umum saja....

    kalau bisa malah dibikin tabel perbandingan.. biar mantap...

    BalasHapus
  2. mas sudah ade tambahkan tabel penilaian nya.. (biar mantap ) :D

    BalasHapus

Subscribe