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 -----------------------------KRS JURUSAN PRODI MAHASISWA DOSEN MATAKULIAH 6 rows selected.
1 | H a l a m a n
TABTYPE CLUSTERID ------- ---------TABLE TABLE TABLE TABLE TABLE TABLE
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 NAMA TMPLAHIR TGLLAHIR SEX ALAMAT IDPRODI NIP
NOT NULL CHAR(15) NOT NULL VARCHAR2(50) VARCHAR2(50) DATE CHAR(1) VARCHAR2(255) NUMBER(4) VARCHAR2(18)
SQL> DESC KRS; Name Null? Type ----------------------------------------- -------- -------------TA SMT NIM IDMK NIP NILAI
VARCHAR2(9) NUMBER(1) NOT NULL CHAR(15) VARCHAR2(10) NUMBER(18) 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? ----------------------------------------- -------NIP NOT NULL NAMA TMPLAHIR TGLLAHIR SEX ALAMAT NOTELP
Type -----------NUMBER VARCHAR2(50) VARCHAR2(50) DATE CHAR(1) VARCHAR2(255 VARCHAR2(15)
SQL> DESC KRS; Name Null? ----------------------------------------- -------TA SMT NIM NOT NULL IDMK NIP NILAI
Type -----------VARCHAR2(9) NUMBER(1) CHAR(12) VARCHAR2(10) NUMBER(18) CHAR(1)
2 | H a l a m a n
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 NAMA TMPLAHIR TGLLAHIR SEX ALAMAT NOTELP
3 | H a l a m a n
NOT NULL NUMBER VARCHAR2(50) VARCHAR2(50) DATE CHAR(1) VARCHAR2(255) 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' WHERE NIP='197912172012121001'
4 | H a l a m a n
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 --------- ---------- ------------ ---------2015/2016 1 061430700527 TC123311 2015/2016 1 061430700527 TC122302 2015/2016 1 061430700527 TC122313
NIP ---------1.9791E+17 1.9791E+17 1.9791E+17
N A B 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;
5 | H a l a m a n
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;
2. 1 Bagaimana cara anda supaya matakuliah Praktek Pemrograman Berbasis Web 2 yang awalnya diajar oleh dosen bernama M. MIFTAKUL AMIN, S. KOM., M. ENG. Sekarang diajar oleh dosen dengan nama MARIA AGUSTIN, S. KOM., M. KOM. (perhatikan pada baris 2 di table KRS) 2. 2 Bagaimana cara anda supaya mahasiswa yang bernama ALDI FERNANDES mengambil matakuliah PRAKTEK PEMELIHARAAN DAN PERBAIKAN, diganti dengan mahasiswa yang bernama HUSNIA (perhatikan pada baris 3 di table KRS). Diperiksa tanggal :_____________ Dosen Pengampu:
(M. Miftakul Amin, S. Kom., M. Eng.) NIP. 197912172012121001
6 | H a l a m a n
Nama Laboratorium :
Nomor Komputer :