Stored Procedure. M. Saefudin SKom, MMSI

dokumen-dokumen yang mirip
Transaction dan Trigger. M. Saefudin SKom, MMSI

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

Modul 6 Function dan Trigger

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

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

LAPORAN TUGAS BASIS DATA I

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

Basis Data Spasial Modul 2

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Praktikum Basis Data 2017 TE UM

Contoh SQL Constraint

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

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

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

MODUL VII STORED PROCEDURE

Contoh SQL Constraint

MODUL VII STORED PROCEDURE

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

SQL. Brigida Arie Minartiningtyas, M.Kom

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

Join Antar Tabel. M. Saefudin SKom, MMSI

Widhy Hayuhardhika NP, S.Kom

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

MENGENAL SYNTAX DML PADA SQL

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)


1. Kompetensi Memahami Store Procedure dan Function yang tidak lain merupakan perintahperintah SQL yang diletakkan di dalam server database.

MUKADDIMAH TEORI ASUMSI TABEL. CREATE TABLE contoh ( kode CHAR(5), nama VARCHAR(50) )

PHP Accessing MySQL Database. Fajar Pradana S.ST., M.Eng

MODUL II SQL A. TUJUAN

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Pemrograman Basis Data dan SQL

Pemrograman Web Lanjut 2017

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

MODUL 1 DATABASE MYSQL

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

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

Contoh 3.1: Membuat suatu store procedure supaya menghapus semua pertandingan pemain berdasarkan nomor pemain yang ditentukan.

TABLE JOIN SQL SERVER 2005

STRUCTURE QUERY LANGUAGE (SQL)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

MODUL I PENGENALAN MYSQL

Pertemuan VI F U N C T I O N

Pertemuan I KONSEP DASAR STORED ROUTINES

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

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

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

Pertemuan 10. Bahasa Query Terapan

BAB 2 LANDASAN TEORI

Pertemuan VII TRIGGERS

P - 7 Pembahasan UTS PSIK V

STORED PROCEDURE. Membuat Stored Procedure Melalui Query Analyzer

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

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

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

Gambar Layar pertama untuk pemecahan masalah Lost Update

Data Manipulation Language (DML)

KURSUS ONLINE JASA WEBMASTERS

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

MODUL 4 INTERNET PROGRAMMING DATABASE

Macam - Macam Perintah Pada SQL

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

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

JobsheetTEUM MODUL VI TRIGGER

DESAIN DATABASE. Pertemuan 06 3 SKS

Administrasi Basis Data. Integritas Data. Yoannita

MODUL 5 INTERNET PROGRAMMING : MySQL

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Basis Data Terapan. Yoannita, S.Kom

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

E-trik Ajax. Database MySQL. Dedi Alnas

BAB 2 LANDASAN TEORI

BAB II DASAR TEORI. 2.1 Konsep Dasar Sistem Aplikasi Pengertian Sistem. Pengertian sistem adalah kumpulan dari elemen-elemen yang berinteraksi

Pengenalan Structured Query Language

Basis Data. Structured Query Language (SQL)

STMIK SUMEDANG DATA DEFINITION LANGUAGE (DDL) TUGAS PRAKTEK PEMROGRAMAN BASIS DATA. Nama : NIKKI BAGUS N A NIM : A Kelas : TI 4A

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

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

Modul 3 : Query Penggabungan Tabel

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Cursor. M. Saefudin SKom, MMSI

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

Membuat Function, Stored Procedur dan View pada MySQL

BAB V CURSOR AND RESULT SETS

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

SOAL TES KEMAMPUAN LOGIKA PROGRAM STUDI SISTEM INFORMASI TAHUN AJARAN 2013/2014 SEMESTER GANJIL. Tipe Soal I (Satu) TTD NIM Nama Ruang

MINGGU XI : SQL SERVER

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Tugas Basis Data Dosen : Khabib Mustofa

TUGAS BASIS DATA DOSEN : KHABIB MUSTOFA

LAPORAN TUGAS Pemrograman Berbasis Java

BAB I PENDAHULUAN. Perkembangan teknologi telah berkembang dengan sangat. pesat dan banyak terdapat layanan jasa informasi sampai penjualan

Transkripsi:

Stored Procedure M. Saefudin SKom, MMSI

Kompetensi Dasar: 1. Memahami tujuan stored procedure 2. Memahami penerapan stored procedure Indikator: 1. Mampu menjelaskan manfaat dari stored procedure 2. Memahami dan mampu membuat serta menggunakan stored procedure terhadap basis data

Stored procedure Stored procedure (store procedure) merupakan sekumpulan perintahperintah SQL yang tersimpan dengan nama tertentu dan diproses sebagai sebuah kesatuan. Secara sederhana store procedure merupakan sub-program yang tersimpan di database.

Store procedure berisi perintahperintah umum dalam bentuk sebuah script yang berhubungan dengan database dan menghasilkan sekumpulan record.

Kegunaan Store Procedure Store procedure lebih efisien daripada perintah biasa karena sekali sebuah store procedure dibuat, kita dapat memanggilnya pada saat diperlukan. Cara ini akan meningkatkan modularitas dan memungkinkan pemakaian ulang sebuah program. Pemakaian kembali program akan memudahkan pemeliharaan sebuah database. Apabila suatu saat aturan bisnisnya berubah maka kita tinggal mengubah store procedure, sedangkan pemanggilannya tetap.

Hal-hal yang dapat dilakukan Store procedure 1. Menerima parameter sebagai input dan mengembalikan nilai dalam parameter output. 2. Mengandung perintah-perintah program yang melaksanakan operasi di dalam database 3. Mengembalikan suatu nilai status pada pemanggilnya untuk mengindikasikan kesuksesan atau kegagalan procedure (dan alasan mengapa gagal)

Keuntungan menggunakan store procedure Keuntungan menyimpan kode program di database dibandingkan dengan menyimpan kode program di aplikasi : 1. Pemrograman menjadi modular. Kita dapat membuat store procedure sekali, menyimpannya dalam database, dan memanggilnya berulang kali dari program kita. Store procedure dapat dimodifikasi tanpa harus mengubah kode dari program yang memanggil.

2. Eksekusi program akan menjadi lebih cepat. Menjalankan program untuk mengakses database tentu saja akan lebih cepat jika dilakukan di dalam database itu sendiri. 3. Mengurangi lalu lintas jaringan. Ini akan sangat terasa jika kita menggunakan aplikasi client server yang mengakses database di komputer (server) lain. Mengirimkan nama store procedurenya saja tentu akan lebih sedikit daripada mengirimkan baris-baris perintah yang ada di dalamnya.

4. Dapat digunakan untuk mekanisme keamanan. User dapat diberi hak untuk menjalankan store procedure walaupun dia tidak memiliki hak untuk menjalankan perintahperintah yang ada di dalamnya.

Membuat Store Procedure Sintaks umum: CREATE PROCEDURE Nama_Procedure @Paramater_1 TipeData_1,, @Parameter_n TipeData_N AS Perintah_Perintah SQL

Perintah membuat store procedure dengan menuliskan CREATE PROCEDURE Nama_Procedure atau dengan disingkat CREATE PROC Nama_Procedure. Perintah-perintah SQL dapat berupa SELECT, DELETE atau UPDATE. Untuk menyatakan parameter input dalam store procedure adalah dengan menyertakan simbol @ diikuti nama parameter pada sintaks di atas.

Pada saat sebuah store procedure dibuat, SQL Server mengecek perintah Transact-SQL yang ada di dalamnya. Jikaadakesalahanmakaakanditampilkan pesan kesalahannya. Namun jika tidak ada kesalahan maka store procedure akan disimpan dengan cara menulis nama dan informasi lain di tabel SysObjects dan perintah-perintahnya disimpan di tabel SysComments yang ada di database yang bersangkutan.

Pembuatan Store Procedure Tanpa Parameter Input Store procedure untuk menampilkan kode mata kuliah dan nama mata kuliah.

Store procedure yang telah dibuat di atas, kita jalankan cukup dengan menuliskan nama procedure tersebut secara langsung. data_matakuliah Pada store procedure di atas tidak menerima parameter input.

Pembuatan Store Procedure dengan Parameter Input Untuk menyertakan parameter input dalam store procedure adalah dengan menuliskan simbol @ diikuti dengan nama parameter.

Pemanggilan Store Procedure Untuk menjalankan store procedure di atas, kita harus menuliskan nama store procedure diikuti dengan suatu nilai sebagai parameter inputnya.

Apabila tidak menyertakan suatu nilai sebagai parameter input dalam pemanggilan procedure tersebut maka muncul pesan kesalahan

Pembuatan Store Procedure dengan Parameter Input Default Nilai yang dijadikan parameter input diatur pada saat pemanggilan procedure. Di samping itu kita juga dapat memberikan nilai default dalam procedure.

Pemanggilan store procedure Untuk menjalankan store procedure di atas tidak perlu menyertakan nilai yang akan dijalankan parameter input karena nilainya telah ditentukan dari dalam procedure.

Stored procedure untuk menambah data CREATE PROCEDURE Proc_Tambah_MataKuliah @Kode_MK char(5), @Nama_MK varchar(30), @SKS int, @Kode_prasyarat char(5) AS INSERT INTO Mata_Kuliah VALUES (@Kode_MK,@Nama_MK,@SKS,Kode_prasyarat)

Sebelum store procedure di atas dijalankan, kita perlu melihat banyaknya baris yang tersimpan dalam tabel mata_kuliah: select count (*) as [Banyaknya Mata Kuliah] from mata_kuliah

Banyaknya baris tabel Mata_Kuliah

Proc_Tambah_MataKuliah DT045, Pemrograman Internet,4, DT041 Setelah penambahan data di atas maka banyaknya baris yang tersimpan dalam tabel mata_kuliah menjadi:

Store procedure untuk mengupdate data Store procedure untuk mengupdate bobot SKS yang terdapat dalam tabel mata_kuliah: CREATE PROCEDURE Proc_Ubah_SKS @Kode_MK char(5), @SKS int AS UPDATE Mata_Kuliah SET SKS=@SKS WHERE Kode_MK=@Kode_MK Misalkan kita akan mengubah bobot SKS dari mata kuliah berkode DT005: Proc_Ubah_SKS DT005,3

Store procedure untuk menghapus data CREATE PROCEDURE Proc_Hapus_MataKuliah @Kode_MK char(5) AS DELETE FROM Mata_Kuliah WHERE Kode_MK=@Kode_MK Data mata kuliah yang akan dihapus misalkan berkode DT005: Proc_Hapus_MataKuliah DT005 Setelah menghapus satu baris data tersebut, banyaknya baris data dalam tabel mata_kuliah menjadi:

Menggunakan 3 tabel berikut:

CREATE PROCEDURE Proc_IPK @NIM char(10) AS select khs.nim,mahasiswa.nama,(sum( case when khs.nilai='a' then 4*mata_kuliah.sks when khs.nilai='b' then 3*mata_kuliah.sks when khs.nilai='c' then 2*mata_kuliah.sks when khs.nilai='d' then 1*mata_kuliah.sks else 0 end )/sum(mata_kuliah.sks)) as IPK from khs inner join mata_kuliah on khs.kode_mk=mata_kuliah.kode_mk inner join mahasiswa on khs.nim=mahasiswa.nim and mahasiswa.nim=@nim group by khs.nim,mahasiswa.nama

Proc_IPK 04.01.1990

Mengubah store procedure ALTER PROCEDURE Proc_IPK @NIM char(10) AS select khs.nim,mahasiswa.nama,(sum( case when khs.nilai='a' then 4.0*mata_kuliah.sks when khs.nilai='b' then 3.0*mata_kuliah.sks when khs.nilai='c' then 2.0*mata_kuliah.sks when khs.nilai='d' then 1.0*mata_kuliah.sks else 0.0 end )/sum(mata_kuliah.sks)) as IPK from khs inner join mata_kuliah on khs.kode_mk=mata_kuliah.kode_mk inner join mahasiswa on khs.nim=mahasiswa.nim and mahasiswa.nim=@nim group by khs.nim,mahasiswa.nama

Menghapus store procedure Penghapusan store procedure Proc_IPK di atas dapat dilakukan dengan perintah, DROP PROCEDURE Proc_IPK

Latihan Ubahlah PROCEDURE Proc_IPK supaya nilai IPK tersebut ditampilkan dengan panjang tiga angka, yaitu satu angka di depan tanda decimal dan dua angka saja di belakang tanda desimalnya.