Anda di halaman 1dari 16

RENCANA PELAKSANAAN PEMELAJARAN (RPP) Kode KD : TIK.KK.070.010.

01 Nama Sekolah Mata Pelajaran Kelas / Semester Tahun Ajaran Alokasi Waktu KKM STANDAR KOMPETENSI KOMPETENSI DASAR : SMK HASAN KAFRAWI JEPARA : Produktif RPL : XI / 3 : 2012 - 2013 : 60 x 45 Menit : 7.82 Menerapkan bahasa pemrograman SQL tingkat lanjut Menentukan formula pembentukan data dengan batasan Membuat dan mengoperasikan prosedur dan fungsi Menulis kode program pembangkitan data dengan batasan waktu Mengoperasikan Trigger Penggunaan klausa having dalam program di jelaskan Penggunaan kluasa where dalam program dijelaskan Menu menu yang tersedia beserta shortcut-nya dikenali Fitur fitur pengolahan Tabel, View, Store Prosedur, Trigger diaplikasikan Integritas referensial dijelaskan Karakter siswa yang diharapkan : Mandiri Sikap dan perilaku yang tidak mudah tergantung pada orang lain dalam menyelesaikan tugas-tugas. Berpikir logis, kritis, kreatif, dan inovatif Berpikir dan melakukan sesuatu secara kenyataan atau logika untuk menghasilkan cara atau hasil baru dan termutakhir dari apa yang telah dimiliki. Rasa ingin tahu Sikap dan tindakan yang selalu berupaya untuk mengetahui lebih mendalam dan meluas dari sesuatu yang dipelajarinya, dilihat, dan didengar Kerja keras Perilaku yang menunjukkan upaya sungguh-sungguh dalam mengatasi berbagai hambatan guna menyelesaikan tugas (belajar/pekerjaan) dengan sebaikbaiknya. Disiplin Tindakan yang menunjukkan perilaku tertib dan patuh pada berbagai peraturan dan ketentuan Revisi 00 Halaman 1 dari 16

INDIKATOR

NILAI KARAKTER

F.41. 11 Tanggal 12 September 2011

A. Tujuan Pemelajaran A.1. Akademik Setelah memperoleh pembelajaran Menerapkan bahasa SQL tingkat dasar diharapkan siswa dapat: o Memahami store procedure dan store fuction o Memahami trigger o Memahami integritas referensial A.2. Karakter o Peserta didik dapat berpikir dan melakukan sesuatu secara kenyataan atau logika untuk menghasilkan cara atau hasil baru dan termutakhir dari apa yang telah dimiliki o Peserta didik dapat berpikir, bersikap dan berbuat yang menunjukkan kesetiaan, kepedulian, dan penghargaan yang tinggi terhadap pengetahuan o Peserta didik dapat besikap dan bertindak dan selalu berupaya untuk mengetahui lebih mendalam dan meluas dari sesuatu yang dipelajarinya, dilihat, dan didengar o Peserta didik bisa menunjukkan upaya sungguh-sungguh dalam mengatasi berbagai hambatan guna menyelesaikan tugas (belajar/pekerjaan) dengan sebaik-baiknya. o Peserta didik dapat bertindak serta berperilaku tertib dan patuh pada berbagai peraturan dan ketentuan B. Materi Pemelajaran Pendalaman pernyataan SELECT Penggunaan Klausa HAVING Penggunaan Klausa WHERE Pengolahan tabel dengan prosedur dan fungsi Integritas referensial C. Metode Pembelajaran Tatap muka Praktikum Tugas D. Sumber Belajar Buku Paket BSE Belajar database menggunakan MySQL Software XAMPP E. Kegiatan Pemelajaran Sesi 1 F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 2 dari 16

Menentukan formula pembentukan data dengan batasan a. Pendahuluan Salam Pembelajaran diawali dengan doa bersama Melakukan pengecekkan siswa yang hadir Apersepsi : Menanyakan materi minggu lalu untuk mengetahui persiapan siswa Motivasi : Menyampaikan kompetensi dasar yang akan dipelajari yaitu Menerapkan bahasa SQL tk lanjut b. Kegiatan Inti Penggunaan operator pada query BETWEEN dan NOT BETWEEN Operator yang digunakan untuk menangani operasi jangkauan Sintaks : SELECT nmfield1, nmfield2 FROM table WHERE nmfield BETWEEN nilai1 AND nilai2 IN dan NOT IN Operator yang berguna untuk melakukan pencocokan dengan salah satu yang ada pada daftar nilai Sintaks : SELECT nmfield1, nmfield2 FROM table WHERE nmfield IN (nilai1 , nilai2, nilai3) LIKE dan NOT LIKE Operator yang berguna mencari data dengan criteria tertentu, dengan menggunakan wildcard ( _ : sebuah karakter , % : beberapa karakter) Contoh Pola % a% %a a%

Keterangan Cocok dg apa saja yg mengandung karakter a Cocok dg yg berakhiran a Cocok dg yg berawalan a

Operator LIKE bersifat case sensitive Sintaks : SELECT nmfield1, nmfield2 F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 3 dari 16

FROM table WHERE nmfield LIKE char% REGEXP Operator yg berfungsi untuk pencocokan string dengan menggunakan symbol tertentu Simbol Keterangan ^ Cocok dengan awal string $ Cocok dengan akhir string . Cocok dengan sebarang karakter tunggal [] Cocok dengan sebarang karakter yg ada dalam [ ] dst

Mengurutkan Data Untuk menampilkan data secara urut berdasarkan criteria tertentu dapat dilakukan dengan menggunakan klausa ORDER BY Sintaks : SELECT nmfield1, nmfield2 FROM table ORDER BY nmfield; Pengelompokkan Data Untuk menampilkan data berdasarkan kelompok tertentu dengan menggunakan klausa GROUP BY Sintaks : SELECT nmfield1, nmfield2 FROM table GROUP BY nmfield; Klausa HAVING Klausa yg berfungsi untuk menentukan kondisi bagi group by Sintaks : SELECT nmfield FROM table WHERE nmfield IS NOT NULL GROUP BY nmfield HAVING nmfield operator nilai; Fungsi Agregate Adalah fungsi yg digunakan untuk menghasilkan sebuah nilai berdasarkan sejummlah data AVG( ) COUNT( ) F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 4 dari 16

MAX( ) MIN( ) SUM( ) Dll

Klausa LIMIT Klausa yang befungsi untuk membatasi jumlah baris yang akan di hasilkan oleh suatu query Sintaks : SELECT nmfield FROM table LIMIT jmlbaris; Variabel user Adalah variable yang dibuat oleh user yang berfungsi untuk menyimpan nilai tertentu Sintaks penciptaan variable SET @nm_variable = ekspresi Penggunaan ekspressi dalam Query Ekspressi yang digunakan dalam query adalah CASE dan IF Sintaks CASE : CASE nilai ekspresi WHEN nilai ekspresi THEN nilai ekspresi [ WHEN nilai ekspresi THEN nilai ekspresi ] [ ELSE nilai ekspresi ] END Contoh ; SELECT nama CASE sex WHEN L THEN Pria ELSE Wanita END AS Jenis kelamin FROM pegawai; Sintaks IF: IF (ekspresi1, ekspresi2, ekspresi3) Contoh : SELECT nama IF (sex =L , Pria, Wanita) FROM pegawai F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 5 dari 16

Penggabungan Data Equijoin Penggabungan data dengan menggunakan operator ( = ) Sintaks : SELECT nmfield1.tbl1, nmfield2.tbl2 FROM tbl1, tbl2 WHERE nmfield1.tbl1 = nmfield1.tbl2 Natural Join Penggabungan data dari 2 tabel yang didasarkan pada kolom dengan nama yang sama pada kedua table Sintaks : SELECT nmfiled1.tbl1, nmfield2.tbl2 FROM tbl1 NATURAL JOIN tbl2; Cross Join Penggabungan data dari 2 tabel yang didasarkan pada klausa USING Sintaks : SELECT nmfiled1.tbl1, nmfield2.tbl2 FROM tbl1 CROSS JOIN tbl2 USING (nmfield); c. Penutup Praktikum Tanya jawab ( contoh soal di poin F ) PRAKTIKUM 1 Buatlah table dibawah ini TABEL SISWA NIS NAMA KELAS 100 ANI X 1 100 RULI X 2 100 NOVA X 3 100 LOLA X 4 100 DANI X 6 100 TIN X 5 TABEL NILAI NIS N_MAT N_BIND F.41. 11 Tanggal 12 September 2011

PROKLI RPL TKJ RPL TKJ TKJ RPL

N_BIG

N_PROD Revisi 00 Halaman 6 dari 16

100 1 100 2 100 3 100 4 100 6 100 5

7 6 8 9 6 7

7 5 6 8 9 8

5 6 7 8 9 7

7 8 9 8 8 7

Dari table diatas buatlah perintah SQL untuk soal dibawah ini 1. Tampilkan semua data yang ada pada table tersebut 2. Tampilkan semua data untuk prokli RPL 3. Tampilkan semua data yang namanya diakhiri dengan huruf A 4. Tampilkan semua data siswa TKJ urutkan berdasarkan nama 5. Buat query untuk menampilkan data nilai matematik dengan kolom NIS NAMA N_MAT 6. Buat query untuk menghitung nilai rata-rata bahasa inggris 7. Buat query untuk menampilkan nilai rata-rata masing-masing siswa 8. Buat query untuk menampilkan nilai total nilai siswa urutkan mulai nilai tertiggi Sesi - 2 Membuat dan mengoperasikan prosedur dan fungsi a. Pendahuluan Salam Pembelajaran diawali dengan doa bersama Melakukan pengecekkan siswa yang hadir Apersepsi : Menanyakan materi minggu lalu untuk mengetahui persiapan siswa Motivasi : Menyampaikan kompetensi dasar yang akan dipelajari yaitu b. Kegiatan inti Pengertian store procedure dan store function Store procedure / store function adalah suatu modul yang berisi kumpulan pernyataan SQL yang ditujukan untuk melaksanakan tugas tertentu dan letaknya ada pada server Keuntungan penggunaan store procedure / store function : - Meningkatkan kinerja - Meningkatkan keamanan F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 7 dari 16

Meningkatkan integritas data

Cara membuat ,menjalankan dan menghapus store procedure Sintaks: Membuat procedure CREATE PROCEDURE nmprocedure ([param_pros [....]]) Bagian_kode Menjalankan procedure CALL nmprocedure;

Cara membuat ,menjalankan dan menghapus store function Sintaks: Membuat function CREATE FUNCTION nmfunction ([param_pros [....]]) RETURN tipe Bagian_kode Menjalankan function SELECT nmfunction;

Memahami perintah-perintah untuk rutin Perintah perintah yang berperan pada pembuatan procedure dan fungsi - BEGIN END - DECLARE - SET - SELECT ...INTO - DELIMITER - Kontrol program : o IF o CASE o REPEAT o WHILE o ITERATE Batasan untuk store function dan procedure Beberapa pernyataan yang tidak boleh digunakan pada store procedure / function yaitu : - CHECK TABLES - LOCK TABLES / UNLOCK TABLES - LOAD DATA / LOAD TABLE - OPTIMIZE TABLE Khusus store function tidak boleh menggunakan pernyataan:

F.41. 11 Tanggal 12 September 2011

Revisi 00 Halaman 8 dari 16

PREPARE EXECUTE SELECT tanpa INTO FLUSH COMMIT ROLLBACK

c. Penutup Praktikum Tanya jawab ( contoh soal di poin F ) PRAKTIKUM 2 1. Buat procedure untuk menampilkan teks SMK Negeri 9 Malang sebanyak 10 kali 2. Buat procedure untuk menampilkan bilangan genap antara 0 s/d 25 3. Buat procedure untuk menampilkan data siswa yang nilai matematikanya diatas 7 untuk table dibawah ini TABEL SISWA NIS NAMA KLS PROKLI N_MAT N_BIND 100 ANI X RPL 7 7 1 100 RULI X TKJ 6 5 2 100 NOVA X RPL 8 6 3 100 LOLA X TKJ 9 8 4 100 DANI X TKJ 6 9 6 100 TIN X RPL 7 8 5 Sesi - 3 Menulis kode program pembangkitan data dengan batasan waktu Integritas Referensial Integritas referensial berfungsi untuk menjaga konsistensi hubungan antar table, dengan cara menerapkan foreign key yang berpengaruh pada operasi INSERT, DELETE dan UPDATE Kekangan Foreign Key Kekangan foreign key berfungsi untuk mendukung integritas referensial Integritas referensial merupakan upaya untuk menjaga agar kunci tamu dan kunci primer milik table lain selalu konsisten F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 9 dari 16

Ilustrasi hubungan antar table adalah sbb: Table Nasabah Id_Nasabah Nama Kode_kota Tabel yang mereferensi Table Kota Kode_kota Nama Provinsi Table Induk Kunci Tamu Menerapkan kekangan foreign key Untuk menerapkan kekangan foreihn key mula-mula buat databel KOTA sbb: CREATE TABLE kota( Kode_kota CHAR(4) NOT NULL, PRIMARY KEY, Nama CHAR(10)) ; Isi table kota dengan data kota sbb : Kode_kota Nama 501 Malang 502 Batu 503 Lawang 504 Pasuruan Kemudian buat table NASABAH yang mereferensi ke table KOTA sbb: CREATE TABLE nasabah ( Id_nasabah CHAR(5) NOT NULL PRIMARY KEY, Nama CHAR(25), Kode_kota CHAR(4) FOREIGN KEY (Kode_kota) REFERENCES kota(Kode_kota)) Setelah kedua table terbentuk lakukan proses Insert data dengan perintah sbb INSERT INTO nasabah VALUES (1001, Nia, 501) Tindakan pemicu Integritas Referensial MySQL menyediakan fitur yang dapat diantur user sekiranya suatu baris pada tabel induk yang direferensi oleh suatu kunci tamu dihapus atau diubah. Penentuan tindakan ini berbentuk : [ ON UPDATE { RESTRICT | CASCADE | SET NULL | NO_ACTION } ] [ON DELETE RESTRICT | CASCADE | SET NULL | NO_ACTION } ] F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 10 dari 16 Kunci primer

Keterangan : UPDATE Menyatakan tindakan kalau pada tabel induk terjadi perubahan nilai DELETE Menyatakan tindakan kalau pada tabel induk terjadi penghapusan nilai Tindakan yang dapat didefinisikan adalah : RESTRICT Artinya pengubahan atau penghapusan ditolak CASCADE Pada UPDATE jika nilai kunci primer pada tabel induk berubah maka kunci asing pada tabel yang mereferensi akan disesuaikan Pada DELETE semua kunci tamu yang cocok dengan kunci primer pada tabel induk milik tabel yang dihapus akan ikut dihapus SET NULL

Menyatakan kunci tamu akan diisi dengan NULL kalau kunci primer pada tabel induk yang nilainya sama dengan nilai pada kunci asing diubah atau dihapus
NO ACTION Identik dengan RESTRICT c. Penutup Praktikum Tanya jawab ( contoh soal di poin F ) PRAKTIKUM 3 1. Buatlah kedua tabel dibawah ini dinama tabel Buku sebagai tabel Induk dan tabel Peminjam sebagai tabel yang mereferensi dg ilustrasi sbb Tabel : BUKU Tabel : PEMINJAM NIB NO JUDUL TANGGAL NAMA ALAMAT NIB 2. Isilah tabel buku dengan nilai sbb NIB JUDUL 1001 Pemrograman SQL 1002 Pemrograman VB 3. Isilah tabel peminjam dengan data sbb NO TANGGAL NAMA ALAMAT 1 02-01-2012 AAA MALANG F.41. 11 Tanggal 12 September 2011 NIB 1001 Revisi 00 Halaman 11 dari 16

Amati apa yang terjadi setelah proses INSERT diatas ? NO TANGGAL NAMA ALAMAT NIB 2 02-01-2012 AAA MALANG 2001 Amati apa yang terjadi setelah proses INSERT diatas ? 4. Kesimpulan apa yang bisa diambil dari kedua perintah diatas ? Sesi 4 Mengoperasikan Trigger a. Pendahuluan Salam Pembelajaran diawali dengan doa bersama Melakukan pengecekkan siswa yang hadir Apersepsi : Menanyakan materi minggu lalu untuk mengetahui persiapan siswa Motivasi : Menyampaikan kompetensi dasar yang akan dipelajari yaitu b. Kegiatan inti Trigger: a. Konsep trigger Trigger adalah kumpulan pernyataan SQL yang dimaksudkan untuk dieksekusi oleh pernyataan INSERT, UPDATE dan DELETE b. Cara membuat trigger Sintaks: CREATE TRIGGER nmtrigger Waktu_trigger kejadian_trigger ON nmtabel FOR EACH ROW pernyataan Waktu_Trigger : o BEFORE o AFTER Kejadian_Trigger: o INSERT o UPDATE o DELETE c. Batasan trigger Tidak bisa melibatkan procedure tersimpan Tidak bisa melibatkan pernyataan SQL dinamis PREPARE Tidak bisa melibatkan pernyataan yang terkait dg transaksi ( START TRANSACTION, COMMIT, ROLLBACK F.41. 11 Tanggal 12 September 2011 Revisi 00 Halaman 12 dari 16

Tidak boleh ada perintah SELECT tanpa INTO c. Penutup Praktikum Tanya jawab ( contoh soal di poin F ) PRAKTIKUM 4 1. Buatlah trigger untuk table siswa dan nilai dibawah ini untuk kejadian trigger INSERT, UPDATE dan DELETE Table_Siswa NIS NAM A 100 ANI 1 100 RULI 2 100 NOV 3 A 100 LOL 4 A 100 DANI 6 100 TIN 5
NO 1

KELA PROK S LI X RPL X X X X X TKJ RPL TKJ TKJ RPL

Table_Siswa NIS MA T 100 7 1 100 6 2 100 8 3 100 9 4 100 6 6 100 7 5

BIG 5 6 7 8 9 7

PRO D 7 8 9 8 8 7

BIND 7 5 6 8 9 8

F. Conoth Soal Tanya jawab


SOAL Perintah SQL dibawah ini yang berfungsi untuk menampilkan seluruh data dari table SISWA yang namany di awali dengan huruf A adalah a. Select * from siswa where nama=A; b. Select * from siswa where nama =A; c. Select * from siswa where nama like A; d. Select * from siswa where nama like A%; e. Select * from siswa where nama = A%; Perintan SQL dibawah ini yang berfungsi untuk menampilkan kolom nama dari table SISWA yang namanya terdapat huruf B adalah a. Select * from siswa where nama like B; b. Select Nama from siswa where nama like B, c. Select Nama from siswa where nama regxp ^B; d. Select Nama from siswa where nama regxp [B]; e. Select * from siswa where nama regxp [B]; JAWABAN d INDIKATOR SOAL Siswa memahami cara menampilkan data dengan batasan tertentu

Siswa memahami cara menampilkan data dengan batasan tertentu

F.41. 11 Tanggal 12 September 2011

Revisi 00 Halaman 13 dari 16

Perintah SQL dibawah ini yang berfungsi untuk menampilkan seluruh data dari table siswa urut mulai NIS yang terkecil adalah a. Select * from siswa order by nis desc; b. Select * from siswa order by nis asc; c. Select * from siswa sort by nis; d. Select * from siswa group by nis; e. Select * from siswa sort by nis asc; Perintah SQL dibawah ini berfungsi untuk menampilkan data siswa yang dikelompokkan berdasarkan kelas adalah a. Select * from siswa order by kelas; b. Select kelas from siswa; c. Select * from sisea group by kelas; d. Select * from siswa where kelas = 1; e. Select * from siswa sort by kelas; Klausa yg digunakan untuk penggabungan data dari

Siswa memahami cara menampilkan data yang diurutkan berdasarkan criteria tertentu

Siswa memahami cara menampilkan data yang dikelompokkan berdasarkan criteria teretentu Siswa memahami cara menampilkan data dari 2 table yg memiliki kesamaan kolom

2 tabel yang didasarkan pada kolom dengan nama yang sama pada kedua table adalah a. = b. Natural join c. Cross join d. Having e. Where
6 Perintah SQL yang benar untuk membuat store procedure adalah ... a. Create procedure nm_pro; b. Create procedure nm_pro(parameter); c. Create procedure; d. Create store procedure; e. Create store procedure nm_pro; Perintah yang digunakan untuk menjalankan store procedure adalah a. Select b. Run c. Call d. Go e. Compile Create procedure hitung ( a int, b int ) Begin Declare x int; Set x = ( a * b ) + a; Select (x); End Berapakah nilai X yang dihasilkan dari procedure diatas bila dijalankan dengan perintah Call( 4,2) a. 2 b

Siswa memahami cara pembentukan store procedure pada SQL

Siswa memahami cara menjalankan store procedure

Siswa memahami cara kerja store procedure

F.41. 11 Tanggal 12 September 2011

Revisi 00 Halaman 14 dari 16

10

b. 4 c. 8 d. 12 e. 24 Create function jumlah (int x, int y) Returns float Begin Declare z float; Set z = x / y; Return z; End Function diatas memiliki tipe nilai kembalian ... a. Float b. Char c. Int d. Double e. z Create function hasil ( x int ) Returns char Begin Declare tipe char(25); if (x % 3 = 0 ) then set tipe =kelipatan 3 else set tipe = bukan kelipatan 3; return tipe; end function diatas jika dijalankan dengan perintah select hasil( ) akan menghasilkan a. kelipatan 3 b. bukan kelipatan 3 c. error d. bil genap e. nol

Siswa memahami cara pendeklarasian store function

Siswa memahami tatacara pengoperasian function

G. Penilaian Teknik Penilaian 1. Praktikum

Bentuk instrument Tugas

Instrumen Praktikum 1 ( Query lanjutan ) Praktikum 2 ( Procedure dan fungsi ) Praktikum 3 ( Integritas referensial) Praktikum 4 ( Trigger)

H. Rubrik penilaian Soal Nilai Max Praktikum 9.00 F.41. 11 Tanggal 12 September 2011

Cara perhitungan skore Proses Kerja = 30 % * Nilai max Hasil kerja = 30 % * Nilai max Revisi 00 Halaman 15 dari 16

Sikap = 34 % * Nilai max Nilai = Proses Kerja + Hasil Kerja + Sikap Jepara, 9 Juli 2011 Guru Mata Pelajaran

KaKomli RPL

Mualim, ST NUPTK 1459755660200003

Mualim,ST NIP.

F.41. 11 Tanggal 12 September 2011

Revisi 00 Halaman 16 dari 16