MODUL PRAKTIKUM BASIS DATA II

dokumen-dokumen yang mirip
LAPORAN PRAKTIKUM BASIS DATA

DAFTAR ISI. DAFTAR ISI... 1 PRAKATA Pengenalan dan Lingkungan Kerja MySQL Tujuan... 4 Dasar Teori... 4 Praktik... 5

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Konsep Sistem Informasi B. BAB 2 - SQL Overview

MODUL IV DATA DEFINITION LANGUAGE (DDL)

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

LAPORAN TUGAS BASIS DATA I

MODUL 1 Pengenalan MySQL, DDL, DML


Praktikum Basis Data 14 Structure Query Language 2

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

STRUCTURE QUERY LANGUAGE (SQL)

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Macam - Macam Perintah Pada SQL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

Pemrograman Web Lanjut 2017

SQL. Brigida Arie Minartiningtyas, M.Kom

MODUL I PENGENALAN MYSQL

Modul 3 : Query Penggabungan Tabel

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Praktikum TRIGGER. Tujuan :

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Pengenalan Structured Query Language

STRUCTURE QUERY LANGUAGE DDL & DML

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Modul 3. Oleh : Mohammad Sholikin. 1

SQL (STRUCTURED QUERY LANGUAGE)

MENGENAL SYNTAX DML PADA SQL

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Pertemuan 10. Bahasa Query Terapan

Pertemuan 12 Pengenalan Structured Query Language

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Perangkat Lunak Pengembangan Web

STRUCTURE QUERY LANGUAGE

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

LAPORAN TERTULIS ON THE JOB TRAINING

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022

Pertemuan VI F U N C T I O N

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Pertemuan 9 Struktur Query Language(SQL)

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

BAHASA QUERY KOMERSIAL

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

Basis Data Spasial Modul 2

Komponen-Komponen SQL a. Data Definition Language (DDL) : Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

Data Manipulation Language (DML)

Arsitektur Basis Data Oracle

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

Rencana Pelaksanaan Pembelajaran

Statement DDL Create database drop database Create table drop table alter table

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

PRAKTIKUM SISTEM BASISDATA

Pertemuan VII TRIGGERS

M O D U L K U L I A H

BAHASA QUERY KOMPLEKS

PENGENALAN SINTAKS DASAR DALAM MySQL

PERINTAH DASAR MySQL

BAHASA QUERY KOMERSIAL

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

Praktikum Basis Data 2017 TE UM

RENCANA PEMBELAJARAN

TUGAS PRAKTIKUM SISTEM BASIS DATA

BAB III STRUCTURED QUERY LANGUAGE (SQL)

MODUL 1 PENGENALAN MYSQL

MySQL AL AZHAR COMPUTER CLUB

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

MySQL J A M K E T I G A

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

Transkripsi:

MODUL PRAKTIKUM BASIS DATA II Comlab Fakultas Ilmu Komputer UNIVERSITAS SRIWIJAYA 2015 Editor : Meylani Utari, S.SI

DAFTAR ISI MODUL I... 4 PENGENALAN MYSQL... 4 MODUL II... 6 DATABASE DATA DEFINITION LANGUAGE (DDL)... 6 MODUL III... 11 DATA MANIPULATION LANGUAGE (DML)... 11 MODUL IV... 13 FUNGSI AGREGAT DAN PATTERN MATCHING... 13 MODUL V... 18 PENGELOMPOKAN, PENGURUTAN DAN KRITERIA DATA... 18 MODUL VI... 20 JOIN... 20 MODUL VII... 25 QUERY, VIEW DAN ALJABAR RELASIONAL... 25 MOUL VIII... 29 DATA CONTROL LANGUAGE (DCL)... 29 MODUL IX... 32 DASAR DASAR PL/SQL... 32 MODUL X... 36 PROSEDUR DAN FUNGSI... 36 MODUL XI... 41 TRIGGER... 41 2

PRAKATA Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis Data ini. Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW beserta keluarga, sahabat dan pengikutnya hingga akhir zaman. Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data. Dari buku ini diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan mempraktikkan materi materi yang telah diajarkan pada kelas teori mata kuliah Basis Data. Kemudian buku ini diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum di luar materi perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumber-sumber yang telah dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan banyak kritik dan saran serta dukungan dalam penyusunan buku ini. Palembang, Januari 2015 Penyusun 3

MODUL I Pengenalan MySQL Tujuan : Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mengenal lingkungan kerja MySQL 2. Mengenal format perintah di MySQL 3. Mengenal perintah-perintah sederhana di MySQL Dasar Teori MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. MySQL menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. Format Perintah Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL: Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintahtertentu, misal : quit Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori perintah-perintah yang pernah diberikan. Perintah dapat berupa perintah SQL atau perintah khusus MySQL. Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil. 4

Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux. Ada beberapa tanda yang sering muncul di prompt : Start dan Stop MySQL Berikut cara memulai MySQL dengan menggunakan bantuan XAMPP. Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah : \q, exit dan quit. 5

MODUL II Data Definition Language (DDL) Tujuan : Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Membuat database dan tabel dengan data definition language 2. Mampu memodifikasi tabel Dasar Teori DDL (Data Definition Language), DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. a. Syntax Membuat Database : CREATE DATABASE namadatabase; Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. Berikut ini perintah untuk membuat database dengan nama rental : CREATE DATABASE RENTAL; Syntax tambahan untuk menampilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATABASES; b. Memilih Database : USE namadatabase; Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel, Berikut ini perintah untuk menggunakan database dengan nama rental : 6

USE RENTAL; c. Syntax Menghapus Database : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental : DROP DATABASE RENTAL; d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2 TipeData2); Nama tabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel dengan nama jenisfilm : CREATE TABLE JENISFILM (JENIS CHAR(6), HARGA INT); e. Menampilkan Tabel Untuk menampilkan daftar nama tabel yang ada pada database yang sedang aktif/digunakan (dalam hal ini database rental) : SHOW TABLES; f. Menampilkan Atribut Tabel : DESC namatabel; Untuk menampilkan deskripsi tabel (dalam hal ini jenisfilm) syntaxnya adalah : DESC jenisfilm; g. Syntax Menghapus Tabel : DROP TABLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm : DROP TABLE JENISFILM; h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2); 7

i. Mendefinisikan Nilai Default : CREATE TABLE namatabel (Field1 TipeData1 DEFAULT nilaidefault,field2 TipeData2 DEFAULT nilaidefault); Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna. Pada kasus ini jenis film ini : CREATE TABLE jenisfilm (jenis char(6) DEFAULT komedi, harga int DEFAULT 0); j. Mendefinisikan Primary Key Pada Tabel Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah Syntax mendefinisikan primary key untuk Field1 CREATE TABLE namatabel(field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2); Atau CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY KEY(Field1)); Atau ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom); k. Menghapus Primary Key Pada Tabel Cara 1 : Jika primary key dibuat dengan menggunakan alter table : ALTER TABLE namatabel DROP CONSTRAINT namaconstraint; Cara 2 : Jika primary key dibuat melalui create table : ALTER TABLE namatabel DROP PRIMARY KEY; l. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD fieldbaru tipe; Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. Berikut ini perintah untuk menambah kolom keterangan dengan tipe data varchar(25): ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25); Untuk meletakkan field diawal, tambahkan sintaks first : ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST; Untuk menyisipkan field setelah field tertentu, tambahkan sintaks after : ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT; 8

m. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL MODIFY COLUMN FIELD TIPE DATA; Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data untuk kolom keterangan dengan char(20) : ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20); n. Mengubah Nama Kolom : ALTER TABLE namatabel CHANGE COLUMN namalamakolom namabarukolom tipedatabaru; Namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalah kolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolom keterangan menjadi ket : ALTER TABLE JENISFILM CHANGE COLUMN KETERANGAN KET VARCHAR(20); o. Menghapus Kolom Pada Tabel : ALTER TABLE namatabel DROP COLUMN namakolom; p. Membuat dan Menghapus Index Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanya index pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data sesungguhnya dari tabel, apabila tidak ditemukan dalam index, sudah dipastikan bahwa data tesebut memang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akan dijadikan kriteria tertentu untuk pencarian data sehingga proses pencariannya akan lebih cepat. Ada perintah untuk membuat dan menghapus index, tapi tidak ada perintah untuk merubah index. Perhatikan contoh berikut : CREATE INDEX IDXNOMOR ON MAHASISWA(NIM); Atau ALTER TABLE MAHASISWA ADD INDEX IDXNIM(NIM); Untuk menghapus index : DROP INDEX IDXNIM ON MAHASISWA; Atau ALTER TABLE MAHASISWA DROP INDEX IDXNIM; 9

Praktik! 1. Buat sebuah database dengan nama coba! 2. Buat sebuah tabel dengan nama mahasiswa di dalam database coba! 3. Tambahkan sebuah kolom : keterangan (varchar 15), sebagai kolom terakhir! 4. Tambahkan kolom nim (int 11) di awal (sebagai kolom pertama)! 5. Sisipkan sebuah kolom dengan nama phone (varchar 15) setelah kolom alamat varchar(15)! 6. Ubah kolom nim menjadi char(11)! 7. Ubah nama kolom phone menjadi telepon (varchar 20)! 8. Hapus kolom keterangan dari tabel! 9. Ganti nama tabel menjadi student! 10. Buat index untuk tabel tersebut! 11. Jadikan nim sebagai primary key! Evaluasi dan Pertanyaan 1. Tulis semua perintah-perintah SQL percobaan di atas beserta outputnya! 2. Apa kegunaan dari index di tabel? 3. Apa maksud dari int (11)? 4. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes dan No. Apa maksudnya? LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 10

MODUL III Data Manipulation Language (DML) Tujuan : Setelah menyelesaikan modul ini, Anda diharapkan dapat : 1. Mengenal data manipulation language dan mampu menggunakannya 2. Mampu mengelola record dan retrieve data Dasar Teori DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT. 1. I N S E R T Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara untuk menambah baris, yaitu: Cara 1: Menambah baris dengan mengisi data pada setiap kolom : INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n); Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu : INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n); Keterangan : Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka pemberian nilainya diapit dengan tanda petik tunggal ('horor') atau petik ganda ("horor"). Jika data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal maupun ganda. 2. DELETE 11

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris. Syntax : DELETE FROM namatabel [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu kondisi tertentu. 3. UPDATE Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu table. Syntax : UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi]; Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi tertentu. 4. SELECT Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya. a. Menampilkan data untuk semua kolom menggunakan asterisk (*) : SELECT * FROM namatabel; b. Menampilkan data untuk kolom tertentu : SELECT kolom1,kolom2,kolom-n FROM namatabel; c. Menampilkan data dengan kondisi data tertentu dengan klausa WHERE: SELECT * FROM namatabel WHERE kondisi; 12

MODUL IV FUNGSI AGREGAT DAN PATTERN MATCHING Tujuan : Setelah menyelesaikan modul ini, Anda diharapkan dapat : 1. Mahir menggunakan perintah fungsi agregat 2. Mampu menampilkan data dengan pencocokan pola / karakter Dasar Teori Aggregate Functions (COUNT, SUM, AVG, MIN, MAX) a. C OU N T Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Contoh : Perintah untuk menghitung jumlah baris kolom jenis pada tabeljenisfilm : b. SUM SELECT COUNT(namafield) FROM nama_tabel; Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung jumlah nilai kolom harga pada tabel jenisfilm : c. AVG SELECT SUM(namafield) FROM nama_tabel; Perintah yang digunakan untuk menghitung rata- rata dari nilai suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolom harga pada tabel jenisfilm: d. MIN SELECT AVG(namafield) FROM nama_tabel; Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Contoh : perintah untuk menampilkan nilai terkecil dari kolom harga pada tabel jenisfilm: e. MAX SELECT MIN(namafield) FROM nama_tabel; Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom pada table. Contoh : perintah untuk menampi lkan nilai terbesar dari kolom harga pada table jenisfilm : SELECT MAX(namafield) FROM nama_tabel; 13

PATTERN MATCHING (Pencocokan Pola / Karakter) Fungsi string digunakan untuk menampilkan data yang di dasarkan pada pencarian dengan karakter. Pada pencarian data digunakan syntax LIKE, pada dasarnya syntax LIKE hampir sama dengan syntax =. Bedanya kalau syntax =, maka pencarian karakter harus sesuai dengan kata yang kita buat tetapi dengan menggunakan LIKE karakter yang akan kita tampilkan tidak harus lengkap hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yang akan kita cari akan ditampilkan. SQL mempunyai dua symbol khusus yang dipakai untuk pencocokan pola : 1. % : digunakan untuk mencocokkan karakter sebelum atau sesudah tanda %; 2. _ : diguanakan untuk mencari karakter sebanyak jumlah tanda _. Contoh : LIKE %GLASGOW% artinya digunakan untuk mencari data pada kolom tertentu yang megandung karakter GLASGOW. Bentuk umumnya : SELECT * FROM nama_tabel WHERE nama_kolom LIKE char% ; SELECT * FROM nama_tabel WHERE nama_kolom LIKE %char ; SELECT * FROM nama_tabel WHERE nama_kolom LIKE %char% ; SELECT * FROM nama_tabel WHERE nama_kolom NOT LIKE %char% ; SELECT * FROM nama_tabel WHERE nama_kolom LIKE _ ; Praktik 1!! 1. Buat sebuah nama database dengan nama perdagangan. 2. Buat sebuah table dengan nama barang dimana ketentuannya seperti dibawah ini : 3. Isi data ke dalam table barang seperti berikut ini : 14

4. Tampilkan semua isi record pada table barang. 5. Ubah nama barang DVD Player menjadi TAPE dan stok barang menjadi 25. 6. Tampilkan satu baris / record data yang telah diubah tadi yaitu record dengan nama DVD Player. 7. Hapus kode barang yang bernama MOUSE. 8. Tampilkan record / data yang mempunyai satuan barang bernilai UNIT. 9. Tampilkan jumlah baris dan kolom dari field kode barang dan nama barang pada table barang. 10. Tampilkan jumlah stok barang dan jumlah harga barang pada table barang. 11. Tampilkan jumlah rata rata harga barang pada table barang 12. Tampilkan jumlah stok barang terkecil pada table barang 13. Tampilkan jumlah stok barang terbesar pada table barang LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 15

Praktik 2! 1. Buat table dengan nama penjualan dengan ketentuan sebagai berikut : 2. Isi data table penjualan seperti dibawah ini : 3. Buat SQL sehingga tampilannya seperti berikut : 4. Buat SQL sehingga tampilannya sebagai berikut : ID PRODUK TOTAL 4 50 5. Buat table barang dan isi datanya seperti dibawah ini : kode_brg nama_brg harga_modal harga_beli stok B01 Sabun 2000 2500 15 B02 Pasta Gigi 2500 3000 15 B03 Sikat Gigi 3000 4000 10 B04 Rokok 6000 7000 30 B05 Korek Api 500 600 10 6. Buat SQL sehingga tampilannya sebagai berikut : kode_brg nama_brg harga_modal harga_beli stok B02 Pasta Gigi 2500 3000 15 B03 Sikat Gigi 3000 4000 10 B05 Korek Api 500 600 10 7. Buat SQL sehingga tampilannya sebagai berikut : kode_brg nama_brg harga_modal harga_beli stok 16

B01 Sabun 2000 2500 15 B03 Sikat Gigi 3000 4000 10 8. Buat SQL sehingga tampilannya sebagaia berikut : kode_brg nama_brg harga_modal harga_beli stok B01 Sabun 2000 2500 15 B02 Pasta Gigi 2500 3000 15 B03 Sikat Gigi 3000 4000 10 B05 Korek Api 500 600 10 9. Buat SQL sehingga tampilannya sebagai berikut : kode_brg nama_brg harga_modal harga_beli stok B04 Rokok 6000 7000 30 10. Buat SQL sehingga tampilannya sebagai berikut : kode_brg nama_brg harga_modal harga_beli Stok B01 Sabun 2000 2500 15 B04 Rokok 6000 7000 30 Evaluasi dan Pertanyaan : 1. Tulis semua perintah perintah SQL pada percobaan di atas beserta outputnya! 2. Berikan kesimpulan Anda! LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 17

MODUL V PENGELOMPOKAN, PENGURUTAN DAN KRITERIA DATA Tujuan : Setelah melakukan percobaan ini, Anda diharapkan dapat : 1. Mampu mengelompokan dan mengurutkan data Dasar Teori Mengelompokan dengan GROUP BY dan HAVING Klausa GROUP BY digunakan untuk melakukan pengelompokkan data. Syntax : SELECT field1,sum(field2) FROM namatable GROUP BY field1; Sebagai contoh, terdapat table barang dengan data sebagai berikut : Syntax : SELECT satuan_barang, SUM(stok_barang) FROM barang GROUP BY satuan_barang; KRITERIA DATA Kriteria dengan HAVING Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY. Kelompok yang memenuhi HAVING saja yang akan ditampilkan. Syntax : SELECT field1,field2,.field-n FROM nama_table GROUP BY nama_field HAVING criteria_agregate_function; Contoh : SELECT satuan_barang FROM barang GROUP BY satuan_barang HAVING SUM(stok_barang)=24; 18

Kriteria dengan WHERE Pada criteria dengan where pemilihan atau seleksi data dilakukan setelah kata where. Setelah kata where biasanya diikuti oleh comparison (=,<>,<,>,>,<= atau >=), between, ini, like/not like atau is null, is not null. Syntax criteria where dengan comparison : SELECT field1,field2, field-n FROM nama_tabel WHERE field = <> < > <= >=; Syntax criteria where dengan between : SELECT field1,field2,.field-n FROM nama_tabel WHERE field BETWEEN. AND ; Syntax criteria where dengan in : SELECT field1,field2,-----field-n FROM nama_tabel WHERE field IN (,, ); Syntax criteria where dengan like / not like : SELECT field1,field2,.field-n FROM nama_tabel WHERE field LIKE NOT LIKE. ; Pengurutan Data (ORDER BY) Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu sesuai dengan tipe data yang dimiliki. Syntax : SELECT field1,field2,. Field-n FROM nama_tabel ORDER BY nama_field; Praktik 1! 1. Jika syntax ini : SELECT kode_barang, satuan_barang, SUM(stok_barang) from barang GROUP BY satuan_barang. Apa yang akan terjadi?. Jelaskan! 2. Jika syntax ini diketikkan pada cmd : SELECT nama_barang, satuan_barang, SUM(stok_barang) GROUP BY satuan_barang. Apa yang akan terjadi?. Jelaskan! LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 19

MODUL VI JOIN Tujuan : Setelah menyelesaikan modul ini, Anda diharapkan dapat : 1. Mengenal beberapa operasi join 2. Mampu melakukan operasi join pada beberapa table Dasar Teori Join merupakan operasi yang digunakan untuk menggabungkan dua table atau lebih dengan hasil berupa gabungan dari kolom kolom yang berasal dari tabel tabel tersebut. Pada join sederhana, tabel tabel digabungkan dan didsarkan pada pencocokan antara kolom pada tabel yang berbeda. Berikut ini perintah untuk kolom nama_barang, satuan_barang, harga_barang dari tabel barang dan jumlah terjual dari tabel penjualan : Pada contoh diatas, barang.kode_barang=penjualan.kode_barang merupakan kondisi untuk mencocokkan data antara kolom kode_barang milik barang dan penjualan. Macam Macam Operasi Join : 1. Inner Join Inner Join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapatkan pasangan data dari tabel sebelah kanan. Berikut ini perintah untuk menampilkan data dari tabel barang dan penjualan dengan syarat berdasarkan kolom kode_barang. 20

2. Left Join Left Join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari tabel sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangan berupa nilai NULL. Contoh : 3. Right Join Right Join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari tabel sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Contoh : 21

4. Natural Join Natural Join digunakan untuk menampilkan semua data dari dua tabel dimana jika terdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitu kolom dari tabel sebelah kiri perintah natural join. Contoh : Terdapat penggabungan antara Natural Join dengan Left dan Right Join : 1) Natural Left Join Natural Left Join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah natural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari tabel sebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Contoh : 2) Natural Right Join Natural Right Join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintah natural right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari tabel sebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. 22

Praktik! 1. Buat sebuah database dengan nama sewamobil! 2. Buat tabel mobil dan isi datanya sebagai berikut : 3. Buat tabel pelanggan dan isi datanya sebagai berikut : 4. Buat tabel sewa dan isi datanya sebagai berikut : 5. Buat query sehingga didapat tabel seperti berikut ini : 23

6. Buat query sehingga didapat tabel seperti berikut ini : 7. Buat query sehingga didapat tabel seperti berikut ini : 8. Buat query sehingga didapat tabel seperti berikut ini : Evaluasi dan Pertanyaan! 1. Tulis syntax SQL untuk mendapatkan tabel pada no 5, 6, 7 dan 8! 2. Apa kesimpulan Anda! LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 24

MODUL VII QUERY, VIEW DAN ALJABAR RELASIONAL SELEKSI SATU TABEL Seleksi ini hanya berkisar pada field yang ada pada satu table. Misalkan anda akan menampilkan nama suplier dan berapa jumlah pasokannya, maka pada kasus seleksi satu table ini anda tidak bisa melakukannya. Hal ini disebabkan karena nama suplier adalah field pada table suplier, sedangkan jumlah pasok adalah field pada table pasok. Sintak SQL nya sebagai berikut : SELEKSI LEBIH DARI SATU TABEL Seleksi tipe ini memungkinkan anda untuk bebas memilih field mana saja yang anda ingin tampilkan, asalkan antara field yang satu dengan field yang lain masih berada pada table table yang saling berelasi. Sintak SQL nya sebagai berikut : 25

UNION Union merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing masing tabel yang akan ditampilkan datanya harus sama. Sintak SQL nya sebagai berikut : INTERSECT Intersect merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Sintak SQL nya sebagai berikut : 26

DIFFERENCE (MINUS) Difference bertujuan untuk menampilkan data hasil pengurangan dari dua query atau sub query. Sintak SQL nya sebagai berikut : DISTINCT / PROYEKSI Pada dasarnya distinct digunakan untuk menghilangkan nilai ganda. Sintak SQL nya sebagai berikut : 27

Praktik! 1. Tampilkan berapa kali pembelian per kode barang per kode customer! 2. Tampilkan nama barang, tanggal berapa barang itu dipasok dan berapa jumlah barang yang dipasok! 3. Tampilkan kode suplier, berapa kali pemasokan dan jumlah pasok. kode yang ditampilkan adalah s002 (gunakan operasi union)! 4. Tampilkan kode barang dan kode suplier yang memiliki jumlah pasok lebih besar atau sama dengan 4 (gunakan operasi intersection)! 5. Tampilkan kode barang, banyaknya pemasokan dan jumlah pemasokan untuk kode barang yang jumlah pemasokannya lebih kecil atau sama dengan 15.(gunakan operasi minus)! KESIMPULAN : NAMA NIM KELAS LEMBAR KERJA PRAKTIKUM BASIS DATA II TANGGAL WAKTU PERTEMUAN 28

MOUL VIII DATA CONTROL LANGUAGE (DCL) COMMIT Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang menyetujui rangkaian perintah yang berhubungan erat dengan perintah yang sebelumnya telah berhasil dilakukan. Keadaan data sebelum COMMIT : Operasi manipulasi data terutama mempengaruhi database buffer, oleh sebab itu keadaan datasebelumnya dapat diperbaiki. User yang sedang connect (current user) dapat me-review hasil dari operasi manipulasi data dengan melakukan query terhadap table. User lain tidak dapat melihat hasil dari operasi manipulasi data dari current user. Oracle memberlakukan read consistency untuk menjamin bahwa setiap user melihat data seperti yang ada pada saat commit terakhir. Baris-baris data yang sedang diubah akan dikunci (locked), user lain tidak dapat mengubah data yang sedang diubah tersebut. Kita menggunakan COMMIT untuk membuat seluruh perubahan data menjadi permanen. Hal-hal yang mengikuti COMMIT : Seluruh perubahan data ditulis ke database Keadaan data sebelumnya secara permanen hilang Seluruh user dapat melihat hasil dari transaksi Penguncian terhadap baris-baris data yang diubah akan dibebaskan, baris-baris data tersebut sekaran tersedia kembali bagi user lain untuk melakukan perubahan data berikutnya Seluruh savepoints dihapus. ROLLBACK Adalah perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi yang membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah. Praktik! 29

1. Gunakan user / database pembelian yang telah dibuat pada latihan sebelumnya, kemudian tambahkan sebuah table KARYAWAN. Column pada table karyawan : Data pada table karyawan : 2. Kemudian ketik perintah berikut ini : INSERT KARYAWAN VALUES ('K003', 'Cici', 'Perumnas'); UPDATE KARYAWAN SET alamat= bukit besar WHERE NIK= K003 ; COMMIT; SELECT * FROM KARYAWAN ; 3. Menurut anda apa yang terjadi pada table karyawan? 4. Menurut anda apa fungsi dari commit? 5. Ketik perintah berikut ini : DELETE * FROM karyawan ; ROLLBACK; SELECT * FROM karyawan; DELETE FROM karyawan WHERE NIK= K002 ; SELECT * FROM karyawan; COMMIT; 6. Menurut anda apa fungsi dari rollback? 30

LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 31

MODUL IX DASAR DASAR PL/SQL Dasar Dasar PL / SQL PL/SQL (Procedural Language/Structure Query Language) adalah suatu blok yang berisi skrip-skrip bahasa prosedural. PL/SQL merupakan bahasa pemrograman procedural. PL/SQL dapat meningkatkan kinerja database. Struktur Blok PL/SQL Struktur blok PL/SQL terdapat tiga bagian : Bagian pendeklarasian tipe data (opsional) Bagian penulisan perintah Bagian eksepsi (opsional) Bentuk Umum Stuktur Umum PL/SQL : Contoh : BEGIN DBMS_OUTPUT.PUT_LINE( Belajar Oracle ); END; Catatan : Untuk melihat hasil, setting terlebih dahulu variabel sistem SERVEROUTPUT dengan menuliskan : SET SERVEROUTPUT ON Contoh Lain : SET SERVEROUTPUT ON 32

DECLARE teks VARCHAR2 (20); BEGIN teks := Belajar Oracle ; DBMS_OUTPUT.PUT_LINE(teks); END; / Tipe Data Numerik o NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, Karakter DATE INT, NUMERIC, REAL, SMALLINT o VARCHAR2, CHAR, LONG BOOLEAN ROWID Tipe Data tambahan : Variable komputer. Contoh : RECORD ARRAY Adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori DECLARE X integer; Alamat varchar2(40); No_induk char(8);... BEGIN X := 12; Alamat := Gelatik Dalam 391, Bandung ; No_induk := DOG29549 ; END; Konstanta Digunakan untuk menyimpan sebuah nilai di memori komputer.nilai yang disimpan bersifat tetap (konstan). Contoh : 33

DECLARE pi CONSTANT real:= 3.14; lebar CONSTANT integer := 100; Komentar Digunakan untuk memudahkan proses maintenance. Jenis komentar : Contoh : /*... */ : untuk beberapa baris komentar --... : untuk satu bari komentar /* Ini adalah komentar Oracle */ -- Ini juga komentar Oracle Contoh dengan eksepsi : SET SERVEROUTPUT ON DECLARE X Integer; BEGIN X := Belajar Oracle ; DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) ); EXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE ( Kesalahan pada pengisisan nilai ); END; / Praktik! 1. Ketik perintah berikut ini : SQL> BEGIN SQL> DBMS_OUTPUT.PUT_LINE( Belajar Oracle ); SQL> END; SQL> / Apa yang terjadi? 2. Ketik perintah berikut ini : SQL> SET SERVEROUTPUT ON SQL> / Apa yang terjadi? Menurut anda apa fungsi dari set serveroutput on? 3. Koneksikan database anda ke user pembelian, kemudian ketik perintah berikut ini : SQL> declare SQL> nama varchar2(30); SQL> alamat varchar2(30) SQL> BEGIN 34

SQL> select nama_customer,alamat_customer into nama,alamat SQL> from customer where kode_customer= c001 ; SQL> dbms_output.put_line( Data Customer dengan kode c001 ); SQL> dbms_output.put_line( Nama : nama); SQL> dbms_output.put_line( Alamat : alamat); SQL> end; SQL> / a. Apa yang terjadi? b. Menurut anda apa fungsi nama dan alamat? c. Mengapa untuk membuat blok SQL/PL tersebut harus dikoneksikan ke user pembelian? KESIMPULAN NAMA NIM KELAS LEMBAR KERJA PRAKTIKUM BASIS DATA II TANGGAL WAKTU PERTEMUAN 35

MODUL X PROSEDUR DAN FUNGSI PROSEDUR Sebenarnya prosedur pada PL/SQL hampir sama dengan prosedur bahasa pemrograman lainnya. Prosedur memiliki header dan body. Header mengandung nama prosedur dan parameter atau variabel yang digunakan oleh prosedur. Sedangkan body mengandung bagian deklarasi, bagian eksekusi, dan bagian exception handling. Sintaks umum untuk membuat prosedur : Eksekusi Prosedur Unutuk melakukan eksekusi terhadap suatu prosedur dari luar blok PL/SQL, kita harus menggunkan statemen EXECUTE, atau cukup dituliskan dengan EXEC saja. Namun apabila Anda ingin memanggil prosedur dari dalam blok PL/SQL, maka statemen EXECUTE tidak perlu di tuliskan. Berikut ini bentuk umumnya : FUNGSI Function adalah jenis PL/SQL block yang menghasilkan satu nilai. Secara umum, function digunakan melakukan perhitungan, mengecek eksistensi dan kevalidan suatu data. Function bisa dilibatkan dalam expresi. Function bisa disimpan dalam database sebagai object schema, sehingga suatu function bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang. 36

Ekesekusi Fungsi Tidak seperti prosedur yang dalam eksekusinya membutuhkan perintah EXECUTE, pada fungsi kita dapat langsung memasukkan nilainya ke dalam suatu variable yang sama tipedatanya maupun melalui statemen SQL. Atau dapat juga melalui statemen SQL seperti yang ditunjukkan oleh kode berikut : PARAMETER Parameter diklasifikasikan menjadi tiga jenis, yaitu parameter masukan, keluarn dan masukan-keluaran. 1. Parameter Masukan Parameter masukan adalah parameter yang berguna untuk menyimpan nilai yang digunakn sebagai input di dalam badan prosedur maupun fungsi. Parameter ini ditandai dengan mode IN. 2. Paramater Keluaran Parameter keluaran adalah parameter yang menampung nilai hasil dari suatu proses yang dilakukan dalam sub program.pada kenyataannya parameter keluaran lebih sering ditemui di dalam prosedur dari pada didalam fungsi. Parameter ini ditandai dengan mode OUT. 3. Parameter Masukan Keluaran Parameter ini merupakan parameter gabungan dari kedua jenis diatas. Parameter ini berperan sebagai parameter masukan sekaligus parameter keluaran. Parameter ini ditandai dengan mode IN OUT. 37

Contoh 1. Dalam contoh dibawah ini kasus tentang sistem informasi sekolah, yang mana store procedure yang dibuat akan menangani tentang menghasilkan data siswa yang difilter berdasarkan kelas. Store procedure untuk menampilkan data siswa dalam bentuk ResulSet : Penjelasan Delimiter adalah untuk memberitahu kepada mysql soal delimiter yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimiter yang digunakan $$ jadi akhir statementnya adalah $$ CREATE PROCEDURE adalah header untuk membuat suatu procedure BEGIN END adalah body dari store procedure, jadi semua sql nya ditulis disini Contoh pemanggilannya seperi dibawah ini : Dengan store procedure eksekusi menjadi cepat. Store procedure adalah komponen, andaikan aplikasi kemudian ditulis dalam bahasa berbeda, tidak ada masalah, karena logika berada di dalam database bukan dalam aplikasi. 38

Praktik! 1. Buat database dengan nama dbparkir, kemudian aktifkan 2. Buat tabel kendaraan dengan ketentuan sebagai berikut : 3. Memilih delimiter mysql> delimiter // 4. Menciptakan store procedure mysql> create procedure p1() select * from kendaraan;// Keterangan : p1 = nama procedure () = daftar parameter Select * from kendaraan; = body prosedur 5. Memanggil prosedur p1 mysql> call p1(); 6. Mengembalikan delimiter dan memulainya mysql> delimiter ; mysql> delimiter // 7. Menghapus delimiter mysql> drop procedure p1; 8. Buat procedure sederhana yang memiliki fungsi untuk menghitung jumlah record pada tabel kendaraan. Kemudian jumlah kolom tersebut dimasukkan ke dalam variable param1. 9. Panggil prosedur dan lihat hasilnya 39

LEMBAR KERJA PRAKTIKUM BASIS DATA II NAMA NIM KELAS TANGGAL WAKTU PERTEMUAN 40

MODUL XI TRIGGER Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data. MEMBUAT TRIGGER Oracle telah menyediakan statement CREATE TRIGGER untuk membuat sebuah trigger yang selanjutnya akan diaktivasi berdasarkan event tertentu. Secara umum, event trigger terbagi menjadi dua, yaitu BEFORE (sebelum) dan AFTER (setelah). Event tersebut menandakan kapan trigger akan diaktivasi, apakah sebelum ataukah sesudah proses yang dilakukan di dalam tabel bersangkutan. Daftar event yang mungkin digunakan untuk mengaktifkan trigger : Sintak untuk membuat trigger : 41

Untuk mencoba pembuatan trigger pada oracle persiapkan terlebih dahulu user atau database sebagai berikut ini : User database : penjualan Table I : Barang Colom pada table barang : Isi pada table barang : Tabel II : Pasok Column pada table pasok : Data pada table pasok : Tabel III : Pembelian Column pada table pembelian : Data pada table pembelian : 42

ALIAS DI DALAM TRIGGER Di dalam trigger dikenal istilah alias atau referensi, yaitu sejenis variabel yang menyimpan nilai dari suatu kolom di dalam tabel. Alias tersebut terbagi menjadi dua yaitu :new dan :old. Alias :new untuk menyimpan nilai terbaru sedangkan alias :old untuk menyimpan nilai lama. Ketersediaan Alias Di dalam Trigger : Pada statement UPDATE, terdapat alias :new dan :old Pada statement DELETE, hanya terdapat alias :old Pada statement INSERT, hanya terdapat alias :new MANAGING TRIGGER Mengaktifkan atau menonaktifkan trigger. Syntax : ALTER TRIGGER nama_trigger ENABLE DISABLE; Mengaktifkan atau menonaktifkan semua trigger pada sebuah tabel. Syntax : ALTER TABLE nama_tabel ENABLE DISABLE ALL TRIGGERS; Menghapus trigger Syntax : DROP TRIGGER nama_trigger; 43