Jl
Srijaya
Negara
Bukit
Besar
Palembang
30139,
Telpon
:
+62711
‐
353414
PROGRAM STUDI D3
JURUSAN TEKNIK KOMPUTER
POLITEKNIK NEGERI SRIWIJAYA PALEMBANG
TK
Praktikum Basis Data
Terapan 2
Hand On Lab 4
Manipulasi Data
150 menit/ 3
jam
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Website : http://mafisamin.web.ugm.ac.id
Tujuan
: 1. Mahasiswa memahami dasar-dasar administrasi basis data oracle.
2. Mahasiswa dapat menggunakan perintah-perintah data manipulation
language (DML).
Perlengkapan
: Oracle Express Edition 10g
Pada praktikum ini digunakan beberapa klausa yang menyertai perintah SELECT. Sebagai bahan
praktikum terlebih dahulu diinputkan beberapa data ke table mahasiswa, dosen dan krs.
1. Persiapan
Data
Sebagai bahan praktikum dimasukkan beberapa data ke dalam table mahasiswa, dosen dan krs.
Untuk itu ikuti langkah-langkah praktikum sebagai berikut.
1. Buka halaman web aplikasi oracle, dari menu start
Æ
Programs
Æ
Oracle Database 10g
Express Edition
ÆRun SQL Command Line
. Setelah itu silahkan login menggunakan user
adminbaak.
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 20 14:18:11 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect adminbaak Enter password:
Connected. SQL>
2. Cek ada berapakah table yang sudah dibuat.
SQL> SELECT * FROM TAB;
TNAME TABTYPE CLUSTERID --- --- --- KRS TABLE JURUSAN TABLE PRODI TABLE MAHASISWA TABLE DOSEN TABLE MATAKULIAH TABLE 6 rows selected.
3. Untuk memastikan bahwa proses pembuatan table telah sesuai dengan aturan, cek pada
kolom yang berelasi antara table KRS dan table MAHASISWA. Lihat struktur table
mahasiswa sebagai berikut.
SQL> DESC MAHASISWA;
Name Null? Type
--- --- ---
NIM NOT NULL CHAR(15) NAMA NOT NULL VARCHAR2(50) TMPLAHIR VARCHAR2(50) TGLLAHIR DATE SEX CHAR(1) ALAMAT VARCHAR2(255) IDPRODI NUMBER(4) NIP VARCHAR2(18) SQL> DESC KRS;
Name Null? Type
--- --- ---
TA VARCHAR2(9) SMT NUMBER(1) NIM NOT NULL CHAR(15) IDMK VARCHAR2(10) NIP NUMBER(18) NILAI CHAR(1)
4. Karena antara table menggunakan kolom NIM sebagai kolom yang berelasi, maka ubah
strukturnya menjadi berikut.
SQL> ALTER TABLE MAHASISWA MODIFY(NIM CHAR(12));
Table altered.
Atau jika definisinya belum menyertakan klausa NOT NULL tambahkan menjadi
SQL> ALTER TABLE MAHASISWA MODIFY(NIM CHAR(12) NOT NULL);
Table altered.
SQL> ALTER TABLE KRS MODIFY(NIM CHAR(12));
Table altered.
Atau jika definisinya belum menyertakan klausa NOT NULL tambahkan menjadi
SQL> ALTER TABLE KRS MODIFY(NIM CHAR(12) NOT NULL);
5. Demikian juga dengan struktur table antara table KRS dan table DOSEN, cek strukutr
tablenya. Perhatikan kolom NIP, karena keduanya digunakan sebagai relasi antar tabel.
SQL> DESC DOSEN;
Name Null? Type
--- --- --- NIP NOT NULL NUMBER NAMA VARCHAR2(50) TMPLAHIR VARCHAR2(50) TGLLAHIR DATE SEX CHAR(1) ALAMAT VARCHAR2(255 NOTELP VARCHAR2(15) SQL> DESC KRS;
Name Null? Type
--- --- --- TA VARCHAR2(9) SMT NUMBER(1) NIM NOT NULL CHAR(12) IDMK VARCHAR2(10) NIP NUMBER(18) NILAI CHAR(1)
6. Perhatikan kolom NIP pada table dosen, terdapat number sebagai tipe data tetapi tidak
memiliki range jangkauan nilai. Oleh karena itu perbaiki strukturnya menjadi sebagai berikut.
SQL> ALTER TABLE DOSEN MODIFY(NIP NUMBER(18));
Table altered.
7. Masukkan 1 buah record lagi ke dalam table mahasiswa. Anda dapat mengunakan aplikasi
browser APEX sehingga sekarang table mahasiswa memiliki 5 data.
SQL> INSERT INTO MAHASISWA VALUES(
2 '061430700528','ALVIN PRATAMA PUTRA','LEMABANG',
3 TO_DATE('17-12-1996','DD-MM-YYYY'),'L','PALEMBANG',101,'197912172012121001');
1 row created.
SQL> INSERT INTO MAHASISWA VALUES(
2 '061430700530','DEDE SURYADI','LAMPUNG',
3 TO_DATE('30-08-1997','DD-MM-YYYY'),'L','MATA MERAH',101,'197912172012121001');
1 row created.
SQL> INSERT INTO MAHASISWA VALUES( 2 '061430700533','HUSNIA','LAHAT',
3 TO_DATE('19-11-1998','DD-MM-YYYY'),'P','PALEMBANG',101,'197912172012121001');
1 row created.
SQL> INSERT INTO MAHASISWA VALUES(
2 '061430700527','ALDI FERNANDES','PALEMBANG',
3 TO_DATE('05-05-1996','DD-MM-YYYY'),'L','PALEMBANG',101,'197912172012121001');
1 row created.
SQL> INSERT INTO MAHASISWA VALUES(
2 '061430700529','ANDRE PRATAMA','OGAN ILIR',
3 TO_DATE('28-04-1997','DD-MM-YYYY'),'L','PALEMBANG',101,'197912172012121001');
1 row created.
8. Selanjutnya lihat struktur table dosen seperti berikut.
SQL> DESCRIBE DOSEN;
Name Null? Type
--- --- --- NIP NOT NULL NUMBER NAMA VARCHAR2(50) TMPLAHIR VARCHAR2(50) TGLLAHIR DATE SEX CHAR(1) ALAMAT VARCHAR2(255) NOTELP VARCHAR2(15)
9. Dengan menggunakan aplikasi browser APEX inputkan beberapa data di table dosen
sebagai berikut.
SQL> INSERT INTO DOSEN VALUES(
2 '197310012002122002','ISNAINI AZRO, S.KOM., M. KOM.',
3 'METRO',TO_DATE('01-10-1973','DD-MM-YYYY'),'P','PALEMBANG','081379018204');
1 row created.
SQL> INSERT INTO DOSEN VALUES(
2 '197703292001122002','EMA LAILA, S.KOM., M. KOM.',
3 'PALEMBANG',TO_DATE('29-03-1977','DD-MM-YYYY'),'P','PALEMBANG','081379018203');
1 row created.
SQL> INSERT INTO DOSEN VALUES(
2 '197912172012121001','M. MIFTAKUL AMIN, S. KOM., M. ENG.',
3 'RAMAN AJI',TO_DATE('17-12-1979','DD-MM-YYYY'),'L','PALEMBANG','081379018202');
1 row created.
SQL> INSERT INTO DOSEN VALUES(
2 '197509152003122003','MARIA AGUSTIN, S.KOM., M. KOM.',
3 'LAHAT',TO_DATE('15-09-1975','DD-MM-YYYY'),'P','PALEMBANG','081379018205');
1 row created.
SQL> INSERT INTO DOSEN VALUES(
2 '197611082000031002','ALAN NOVI TOMPUNU, S.T., M.T.',
3 'MANADO',TO_DATE('08-11-1976','DD-MM-YYYY'),'L','PALEMBANG','081379018206') ;
1 row created.
10. Perintah untuk update data dapat mengggunakan perintah UPDATE.
a) Perhatikan data pada baris – 1, ubah tempat lahir dari dosen yang bernama ISNAINI
AZRO, S. KOM., M. KOM. Dari METRO menjadi LUBUK LINGGAU.
UPDATE DOSEN
SET TMPLAHIR='LUBUK LINGGAU'
WHERE NIP='197310012002122002';
b) Perhatikan baris ke – 3 pada data dosen, ubah tempat lahir menjadi BANDAR
LAMPUNG dan Nomor Telepon menjadi 081379079021 untuk dosen yang bernama M.
MIFTAUL AMIN, S. KOM., M. Eng.
UPDATE DOSEN
SET TMPLAHIR='BANDAR LAMPUNG',
NOTELP='081379079021'
11. Masukkan ke dalam table KRS data sebagai berikut. Gunakan aplikasi APEX ataupun
SQLPLUS untuk menginputkan data ke dalam table KRS.
SQL> INSERT INTO KRS(TA,SMT,NIM,IDMK,NIP,NILAI)
2 VALUES('2015/2016',1,’061430700527’,'TC123311',’197912172012121001’,'A');
1 row created.
SQL> INSERT INTO KRS(TA,SMT,NIM,IDMK,NIP,NILAI)
2 VALUES('2015/2016',1,’061430700527’,'TC122302',’197912172012121001’,'B');
1 row created.
SQL> INSERT INTO KRS(TA,SMT,NIM,IDMK,NIP,NILAI)
2 VALUES('2015/2016',1,’061430700527’,'TC122313',’197912172012121001’,'C');
1 row created.
Jika dilihat dari aplikasi APEX akan terdapat data sebagai berikut
2. Manipulasi Data
Untuk melakukan manipulasi data digunakan perintah UPDATE. Dan untuk menampilkan data
dapat digunakan perintah SELECT. Untuk itu dapat dicoba beberapa perintah berikut.
1. Tampilkan seluruh data di table KRS.
SQL> SELECT * FROM KRS;
TA SMT NIM IDMK NIP N --- --- --- --- --- - 2015/2016 1 061430700527 TC123311 1.9791E+17 A 2015/2016 1 061430700527 TC122302 1.9791E+17 B 2015/2016 1 061430700527 TC122313 1.9791E+17 C
2. Tampilkan tahun akademik, semester, nim, dan nama mahasiswa dari table KRS dan table
mahasiswa.
SQL> SELECT KRS.TA, KRS.SMT, KRS.NIM, MAHASISWA.NAMA 2 FROM KRS,MAHASISWA
3 WHERE KRS.NIM=MAHASISWA.NIM;
3. Tampilkan tahun akademik, semester, nim, nama mahasiswa, nip dan nama dosen dari
table krs, mahasiswa dan dosen.
SELECT KRS.TA, KRS.SMT, KRS.NIM, MAHASISWA.NAMA,KRS.NIP,DOSEN.NAMA FROM KRS,MAHASISWA,DOSEN
WHERE KRS.NIM=MAHASISWA.NIM AND KRS.NIP=DOSEN.NIP;
4. Tampilkan tahun akademik, semester, nim, nama mahasiswa, nip, nama dosen, idmk, nama
mk dan nilai dari table KRS, MAHASISWA, DOSEN dan MATAKULIAH.
SELECT KRS.TA, KRS.SMT, KRS.NIM,
MAHASISWA.NAMA,KRS.NIP,DOSEN.NAMA,KRS.IDMK,MATAKULIAH.NAMAMK,KRS.NILAI FROM KRS,MAHASISWA,DOSEN, MATAKULIAH
WHERE KRS.NIM=MAHASISWA.NIM AND KRS.NIP=DOSEN.NIP
AND KRS.IDMK=MATAKULIAH.IDMK;
Tugas Praktikum :
1) Berikan perintah untuk menampilkan data berikut.
1.1 Apakah fungsi ORDER BY pada perintah berikut.
SELECT * FROM JURUSAN ORDER BY NAMAJURUSAN ASC;
1.2 Apakah fungsi AS pada perintah berikut.
SELECT TA AS "TAHUN-AKADEMIK",SMT AS SEMESTER,NIM,IDMK,NIP,NILAI FROM KRS;
1.3 Apakah fungsi LIKE pada perintah berikut.
SELECT * FROM MAHASISWA WHERE NAMA LIKE '%DE%'
2) Perhatikan struktur data yang ditampilkan berikut. Data ini ditampilkan dengan perintah
SELECT KRS.TA, KRS.SMT, KRS.NIM,
MAHASISWA.NAMA,KRS.NIP,DOSEN.NAMA,KRS.IDMK,MATAKULIAH.NAMAMK,KRS.NILAI FROM KRS,MAHASISWA,DOSEN, MATAKULIAH
WHERE KRS.NIM=MAHASISWA.NIM AND KRS.NIP=DOSEN.NIP
AND KRS.IDMK=MATAKULIAH.IDMK;