tik.pr03.002.01_bi

80
MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TELEMATIKA SUB SEKTOR PROGRAMMER KOMPUTER MENGOPERASIKAN BAHASA PEMROGRAMAN DATA DESKRIPSI (SQL) LANJUT TIK.PR03.002.01 BUKU INFORMASI

Upload: arum-prasetyo

Post on 31-Jan-2016

223 views

Category:

Documents


2 download

DESCRIPTION

tik

TRANSCRIPT

MATERI PELATIHAN BERBASIS

KOMPETENSI

SEKTOR TELEMATIKA

SUB SEKTOR PROGRAMMER KOMPUTER

MENGOPERASIKAN BAHASA PEMROGRAMAN DATA DESKRIPSI

(SQL) LANJUTTIK.PR03.002.01

BUKU INFORMASI

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN

PRODUKTIVITAS

Materi Pelatihan Berbasis KompetensiSEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) LanjutBuku Penilaian Versi: 2007

Halaman: 2 dari 65

Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 1 dari 58

DAFTAR ISI

Daftar Isi........................................................................................................

1

BAB I PENGANTAR.....................................................................................

3

1.1 Konsep Dasar Pelatihan Berbasis

Kompetensi............................... 3

1.2 Penjelasan

Modul....................................................................... 3

1.3 Pengakuan Kompetensi Terkini

(RCC).......................................... 5

1.4 Pengertian Istilah-

Istilah............................................................. 6

BAB II STANDAR KOMPETENSI....................................................................

8

2.1 Peta Paket Pelatihan.................................................................

8

2.2 Pengertian Unit

Standar............................................................. 8

2.3 Unit Kompetensi Yang

Dipelajari................................................. 9

2.3.1 Judul Unit.......................................................................

9

2.3.2 Kode Unit.......................................................................

9

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 2 dari 58

2.3.3 Deskripsi Unit.................................................................

9

2.3.4 Elemen Kompetensi........................................................

10

2.3.5 Batasan Variabel.............................................................

12

2.3.6 Panduan Penilaian...........................................................

12

2.3.7 Kompetensi Kunci...........................................................

13

BAB III STRATEGI DAN METODE

PELATIHAN................................................. 14

3.1 Strategi

Pelatihan...................................................................... 14

3.2 Metode

Pelatihan....................................................................... 15

BAB IV MATERI UNIT KOMPETENSI..............................................................

16

4.1 Tujuan Instruksional

Umum....................................................... 16

4.2 Tujuan Instruksional

Khusus...................................................... 16

4.3 Sekilas Tentang DDL dan

DML................................................... 17

4.4 Constraint dan Rule..................................................................

18

4.5 Fungsi dan Prosedur.................................................................

22

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 3 dari 58

4.5.1 Variabel.........................................................................

23

4.5.2 Statement......................................................................

25

4.5.3 Fungsi-Fungsi.................................................................

30

4.5.4 Stored Procedure............................................................

34

4.5.5 Penanganan Error...........................................................

36

4.6 Mengenal Cursor......................................................................

37

4.7 Trigger....................................................................................

42

4.8 Transaksi Dengan Commit dan

Rollback..................................... 47

BAB V SUMBER – SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN

KOMPETENSI...................................................................................

52

5.1 Sumber Daya Manusia..............................................................

52

5.2 Literatur..................................................................................

53

5.3 Daftar Peralatan/Mesin dan

Bahan ........................................... 54

5.4 Lain-lain..................................................................................

55

DAFTAR PUSTAKA

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 4 dari 58

BAB I

PENGANTAR

1.1. Konsep Dasar Pelatihan Berbasis Kompetensi

Apakah pelatihan berdasarkan kompetensi?

Pelatihan berdasarkan kompetensi adalah pelatihan yang

memperhatikan pengetahuan, keterampilan dan sikap yang

diperlukan di tempat kerja agar dapat melakukan pekerjaan

dengan kompeten. Standar Kompetensi dijelaskan oleh Kriteria

Unjuk Kerja.

Apakah artinya menjadi kompeten ditempat kerja?

Jika Anda kompeten dalam pekerjaan tertentu, Anda memiliki

seluruh keterampilan, pengetahuan dan sikap yang perlu untuk

ditampilkan secara efektif ditempat kerja, sesuai dengan standar

yang telah disetujui.

1.2 Penjelasan Modul

Modul ini didisain untuk dapat digunakan pada Pelatihan Klasikal dan

Pelatihan Individual/mandiri :

Pelatihan klasikal adalah pelatihan yang disampaikan oleh

seorang pelatih.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 5 dari 58

Pelatihan individual/mandiri adalah pelatihan yang dilaksanakan

oleh peserta dengan menambahkan unsur-unsur/sumber-sumber

yang diperlukan dengan bantuan dari pelatih.

Isi Modul

a. Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih

maupun peserta pelatihan.

b. Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk

mencatat setiap pertanyaan dan kegiatan praktik baik

dalam Pelatihan Klasikal maupun Pelatihan Individual /

mandiri.

Buku ini diberikan kepada peserta pelatihan dan berisi :

Kegiatan-kegiatan yang akan membantu peserta

pelatihan untuk mempelajari dan memahami informasi.

Kegiatan pemeriksaan yang digunakan untuk memonitor

pencapaian keterampilan peserta pelatihan.

Kegiatan penilaian untuk menilai kemampuan peserta

pelatihan dalam melaksanakan praktik kerja.

c. Buku Penilaian

Buku penilaian ini digunakan oleh pelatih untuk menilai

jawaban dan tanggapan peserta pelatihan pada Buku Kerja

dan berisi :

Kegiatan-kegiatan yang dilakukan oleh peserta pelatihan

sebagai pernyataan keterampilan.

Metode-metode yang disarankan dalam proses penilaian

keterampilan peserta pelatihan.

Sumber-sumber yang digunakan oleh peserta pelatihan

untuk mencapai keterampilan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 6 dari 58

Semua jawaban pada setiap pertanyaan yang diisikan

pada Buku Kerja.

Petunjuk bagi pelatih untuk menilai setiap kegiatan

praktik.

Catatan pencapaian keterampilan peserta pelatihan.

Pelaksanaan Modul

Pada pelatihan klasikal, pelatih akan :

Menyediakan Buku Informasi yang dapat digunakan peserta

pelatihan sebagai sumber pelatihan.

Menyediakan salinan Buku Kerja kepada setiap peserta

pelatihan.

Menggunakan Buku Informasi sebagai sumber utama dalam

penyelenggaraan pelatihan.

Memastikan setiap peserta pelatihan memberikan jawaban /

tanggapan dan menuliskan hasil tugas praktiknya pada

Buku Kerja.

Pada Pelatihan individual / mandiri, peserta pelatihan

akan :

Menggunakan Buku Informasi sebagai sumber utama

pelatihan.

Menyelesaikan setiap kegiatan yang terdapat pada buku

Kerja.

Memberikan jawaban pada Buku Kerja.

Mengisikan hasil tugas praktik pada Buku Kerja.

Memiliki tanggapan-tanggapan dan hasil penilaian oleh

pelatih.

1.3 Pengakuan Kompetensi Terkini (RCC)

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 7 dari 58

Apakah Pengakuan Kompetensi Terkini (Recognition of Current

Competency).

Jika Anda telah memiliki pengetahuan dan keterampilan yang

diperlukan untuk elemen unit kompetensi tertentu, Anda dapat

mengajukan pengakuan kompetensi terkini (RCC). Berarti Anda

tidak akan dipersyaratkan untuk belajar kembali.

Anda mungkin sudah memiliki pengetahuan dan keterampilan,

karena Anda telah :

a. Bekerja dalam suatu pekerjaan yang memerlukan suatu

pengetahuan dan keterampilan yang sama atau

b. Berpartisipasi dalam pelatihan yang mempelajari kompetensi

yang sama atau

c. Mempunyai pengalaman lainnya yang mengajarkan

pengetahuan dan keterampilan yang sama.

1.4 Pengertian-pengertian Istilah

Profesi

Profesi adalah suatu bidang pekerjaan yang menuntut sikap,

pengetahuan serta keterampilan/keahlian kerja tertentu yang

diperoleh dari proses pendidikan, pelatihan serta pengalaman kerja

atau penguasaan sekumpulan kompetensi tertentu yang dituntut

oleh suatu pekerjaan/jabatan.

Standardisasi

Standardisasi adalah proses merumuskan, menetapkan serta

menerapkan suatu standar tertentu.

Penilaian / Uji Kompetensi

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 8 dari 58

Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti

melalui perencanaan, pelaksanaan dan peninjauan ulang (review)

penilaian serta keputusan mengenai apakah kompetensi sudah

tercapai dengan membandingkan bukti-bukti yang dikumpulkan

terhadap standar yang dipersyaratkan.

Pelatihan

Pelatihan adalah proses pembelajaran yang dilaksanakan untuk

mencapai suatu kompetensi tertentu dimana materi, metode dan

fasilitas pelatihan serta lingkungan belajar yang ada terfokus

kepada pencapaian unjuk kerja pada kompetensi yang dipelajari.

Kompetensi

Kompetensi adalah kemampuan seseorang untuk menunjukkan

aspek sikap, pengetahuan dan keterampilan serta penerapan dari

ketiga aspek tersebut ditempat kerja untuk mencapai unjuk kerja

yang ditetapkan.

Standar Kompetensi

Standar kompetensi adalah standar yang ditampilkan dalam istilah-

istilah hasil serta memiliki format standar yang terdiri dari judul

unit, deskripsi unit, elemen kompetensi, kriteria unjuk kerja, ruang

lingkup serta pedoman bukti.

Sertifikat Kompetensi

Adalah pengakuan tertulis atas penguasaan suatu kompetensi

tertentu kepada seseorang yang dinyatakan kompeten yang

diberikan oleh Lembaga Sertifikasi Profesi.

Sertifikasi Kompetensi

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 9 dari 58

Adalah proses penerbitan sertifikat kompetensi melalui proses

penilaian / uji kompetensi.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 10 dari 58

BAB II

STANDAR KOMPETENSI

2.1. Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini adalah untuk mencapai satu

unit kompetensi, yang termasuk dalam satu paket pelatihan, yang

terdiri atas unit-unit kompetensi berikut:

2.1.1 TIK.PR03.002.01 Mengoperasikan Bahasa Pemrograman

Data Deskripsi (SQL – Structured

Query Language) Lanjut

2.1.2 TIK.PR03.001.01 Mengoperasikan Bahasa Pemrograman

Data Deskripsi (SQL – Structured

Query Language) Dasar

2.2. Pengertian Unit Standar Kompetensi

Apakah Standar Kompetensi? Setiap Standar Kompetensi

menentukan :

a. Pengetahuan dan keterampilan yang diperlukan untuk mencapai

kompetensi.

b. Standar yang diperlukan untuk mendemonstrasikan kompetensi.

c. Kondisi dimana kompetensi dicapai.

Di dalam unit kompetensi ini, Anda akan mempelajari

pemrograman data deskripsi lanjut untuk melengkapi pengetahuan

yang telah Anda kuasai pada pelatihan mengenai pemrograman

data deskripsi dasar sebelumnya.

Sistem pelatihan berbasis kompetensi terfokus pada

pencapaian kompetensi, bukan pada lamanya waktu. Namun

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 11 dari 58

diharapkan pelatihan ini dapat dilaksanakan dan dicapai dalam

jangka waktu tidak lebih dari seminggu, tiga sampai lima hari.

Pelatihan ini diperuntukkan bagi semua pengguna terutama yang

tugasnya berkaitan dengan pengelolaan, pemeliharaan dan

pemrograman basis data seperti Database Administrator dan

Database Developer.

Jika Anda belum mencapai kompetensi pada

usaha/kesempatan pertama, Pelatih Anda akan mengatur rencana

pelatihan dengan Anda. Rencana ini akan memberikan Anda

kesempatan kembali untuk meningkatkan level kompetensi Anda

sesuai dengan level yang diperlukan. Jumlah maksimum

usaha/kesempatan yang disarankan adalah 3 (tiga) kali.

2.3. Unit Kompetensi yang Dipelajari

Dalam sistem pelatihan, Standar Kompetensi diharapkan menjadi

panduan bagi peserta pelatihan untuk dapat :

mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.

memeriksa kemajuan peserta pelatihan.

menyakinkan bahwa semua elemen (sub-kompetensi) dan kriteria

unjuk kerja telah dimasukkan dalam pelatihan dan penilaian.

2.3.1 JUDUL UNIT : Mengoperasikan Bahasa Pemrograman

Data Deskripsi (SQL – Structured Query

Language) Lanjut

2.3.2 KODE UNIT : TIK.PR03.002.01

2.3.3 DESKRIPSI UNIT : Unit ini akan menentukan kompetensi yang

diperlukan untuk mengoperasikan

perangkat aplikasi (bahasa pemrograman)

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 12 dari 58

berbasis data deskripsi atau SQL (Structured

Query Language) . Kemampuan dalam

mengoperasikan bahasa data deskripsi atau

SQL dapat menggunakan perintah-perintah

DDL (Data Definition Language) dan DML

(Data Manipulation Language). Kemampuan

yang dimiliki pada tingkat lanjut ini adalah

kemampuan yang telah dimiliki pada tingkat

dasar dan ditambah kemampuan untuk

membuat dan mengoperasikan prosedur,

fungsi dan trigger.

2.3.4ELEMEN KOMPETENSI

ELEMEN KOMPETENSI KRITERIA UNJUK KERJA

01 Membuat dan

mengoperasikan

prosedur

1.2 Prosedur dibuat dan diatur dengan

menggunakan perintah standar pada

DDL dan DML.

1.3 Parameter prosedur diproses sesuai

dengan kebutuhan di dalam prosedur.

1.4 Prosedur disimpan dan diberi nama.

1.5 Prosedur dapat dijalankan dan bekerja

dengan benar.

02 Membuat dan

mengoperasikan

prosedur dan fungsi

2.2 Fungsi dibuat dan diatur dengan

menggunakan perintah standar pada

DDL dan DML.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 13 dari 58

2.3 Parameter fungsi diproses sesuai

dengan kebutuhan di dalam fungsi.

2.4 Fungsi disimpan dan diberi nama.

2.5 Fungsi dapat dijalankan dan bekerja

dengan benar.

03 Membuat dan

mengoperasikan trigger

3.1 Trigger dibuat dan diatur dengan

penggunaan perintah standar pada

DDL dan DML.

3.2Trigger disimpan dan diberi nama.

3.3Trigger dapat dijalankan dan bekerja

dengan benar.

04Mengoperasikan Commit

dan Rollback data tabel

4.1 Perintah commit digunakan untuk

penyimpanan data ke dalam fisik file.

4.2 Perintah rollback digunakan untuk

pembatalan perintah yang telah

dikerjakan dan penyimpanan data ke

dalam fisik file tidak termasuk.

4.3 Perintah commit dan rollback

dipastikan bekerja dengan benar.

2.3.5Batasan Variabel

Batasan variabel unit kompetensi ini adalah sebagai berikut:

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 14 dari 58

1. Unit ini berlaku untuk seluruh sektor teknologi informasi dan

komunikasi.

2. Mengoperasikan bahasa pemrograman data deskripsi (SQL -

Structured Query Language) Level 2 bersifat internal pada bidang

teknologi informasi dan komunikasi.

2.3.6Panduan Penilaian

Panduan penilaian terdiri dari :

1. Pengetahuan dan keterampilan penunjang

Untuk mendemontrasikan kompetensi, diperlukan bukti

keterampilan dan pengetahuan dibidang berikut ini :

1.1 Pengetahuan dasar yang dibutuhkan :

1.1.1 Pengoperasian software aplikasi basis data.

1.1.2 On site training sesuai dengan perangkat lunak

bahasa pemrograman basis data yang digunakan.

1.1.3 Konsep basis data.

2. Konteks penilaian

Kompetensi harus diujikan di tempat kerja atau tempat lain

secara teori dan praktek dengan kondisi kerja sesuai dengan

keadaan normal.

3. Aspek penting penilaian

Aspek yang harus diperhatikan :

3.1 Kemampuan untuk prosedur dibuat dan diatur dengan

menggunakan perintah standar pada DDL dan DML.

3.2 Kemampuan membuat dan mengoperasikan prosedur dan

fungsi.

3.3 Kemampuan membuat dan mengoperasikan trigger.

3.4 Kemampuan mengoperasikan commit dan rollback data

table.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 15 dari 58

4. Kaitan dengan unit-unit lainnya

4.1 Unit ini didukung di dalam mengoperasikan bahasa

pemrograman data deskripsi (SQL-Structured Query

Language) lanjut, contoh mencakup namun tidak terbatas

pada : Seluruh unit pemrograman basis data.

4.2 Pengembangan pelatihan untuk memenuhi persyaratan

dalam unit ini perlu dilakukan dengan hati-hati. Untuk

pelatihan pra kejuruan umum, institusi harus menyediakan

pelatihan yang mempertimbangkan serangkaian konteks

industri seutuhnya tanpa bias terhadap sektor tertentu.

Batasan variabel akan membantu dalam hal ini. Untuk

sektor tertentu/khusus, pelatihan harus disesuaikan untuk

memenuhi kebutuhan sektor tersebut.

2.3.7Kompetensi Kunci

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 16 dari 58

NO KOMPETENSI KUNCI DALAM UNIT INITINGKA

T

1Mengumpulkan, mengorganisir dan

menganalisa informasi2

2 Mengkomunikasikan ide-ide dan informasi 2

3Merencanakan dan mengorganisir aktivitas-

aktivitas2

4 Bekerja dengan orang lain dan kelompok 1

5 Menggunakan ide-ide dan teknik matematika 2

6 Memecahkan masalah 2

7 Menggunakan teknologi 2

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 17 dari 58

BAB III

STRATEGI DAN METODE PELATIHAN

3.1. Strategi Pelatihan

Belajar dalam suatu sistem Berdasarkan Kompetensi berbeda

dengan yang sedang “diajarkan” di kelas oleh Pelatih. Pada sistem

ini Anda akan bertanggung jawab terhadap belajar Anda sendiri,

artinya bahwa Anda perlu merencanakan belajar Anda dengan

Pelatih dan kemudian melaksanakannya dengan tekun sesuai

dengan rencana yang telah dibuat.

Persiapan/perencanaan

a. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap

belajar dengan tujuan mendapatkan tinjauan umum mengenai isi

proses belajar Anda.

b. Membuat catatan terhadap apa yang telah dibaca.

c. Memikirkan bagaimana pengetahuan baru yang diperoleh

berhubungan dengan pengetahuan dan pengalaman yang telah

Anda miliki.

d. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

Permulaan dari proses pembelajaran

a. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik

yang terdapat pada tahap belajar.

b. Merevisi dan meninjau materi belajar agar dapat menggabungkan

pengetahuan Anda.

Pengamatan terhadap tugas praktik

a. Mengamati keterampilan praktik yang didemonstrasikan oleh

Pelatih atau orang yang telah berpengalaman lainnya.

b. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang

Anda temukan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 18 dari 58

Implementasi

a. Menerapkan pelatihan kerja yang aman.

b. Mengamati indikator kemajuan personal melalui kegiatan praktik.

c. Mempraktikkan keterampilan baru yang telah Anda peroleh.

Penilaian

Melaksanakan tugas penilaian untuk penyelesaian belajar Anda.

3.2. Metode Pelatihan

Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam

beberapa kasus, kombinasi metode belajar mungkin dapat

digunakan.

Belajar secara mandiri

Belajar secara mandiri membolehkan Anda untuk belajar secara

individual, sesuai dengan kecepatan belajarnya masing-masing.

Meskipun proses belajar dilaksanakan secara bebas, Anda

disarankan untuk menemui Pelatih setiap saat untuk

mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar.

Belajar Berkelompok

Belajar berkelompok memungkinkan peserta untuk dating bersama

secara teratur dan berpartisipasi dalam sesi belajar berkelompok.

Walaupun proses belajar memiliki prinsip sesuai dengan kecepatan

belajar masing-masing, sesi kelompok memberikan interaksi antar

peserta, Pelatih dan pakar/ahli dari tempat kerja.

Belajar terstruktur

Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang

dilaksanakan oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya

mencakup topik tertentu.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 19 dari 58

BAB IV

MATERI UNIT KOMPETENSI

4.1 Tujuan Instruksional Umum

o Siswa mampu menceritakan dan menjelaskan konsep

pemrograman data deskripsi (SQL – Structured Query Language)

o Siswa dapat mengoperasikan bahasa pemrograman data

deskripsi (SQL – Structured Query Language)

4.2 Tujuan Instruksional Khusus

o Siswa mengerti dan mampu menjelaskan apa yang dimaksud

dengan DDL (Data Definition Language)

o Siswa dapat menggolongkan perintah apa saja yang temasuk

DDL

o Siswa mengerti dan mampu menjelaskan apa yang dimaksud

dengan DML (Data Manipulation Language)

o Siswa dapat menggolongkan perintah apa saja yang termasuk

DML

o Siswa dapat menjelaskan penggunaan cursor

o Siswa mengerti apa yang dimaksud dengan rule dan constraint

o Siswa dapat membuat dan mengaplikasikan rule dan constraint

o Siswa mengerti apa yang dimaksud dengan fungsi dan prosedur

o Siswa mengetahui dan mampu menggunakan perintah-perintah

DDL dan DML untuk membuat fungsi dan prosedur

o Siswa mengetahui dan mampu menjelaskan penggunaan

Trigger

o Siswa mampu menyebutkan jenis-jenis Trigger

o Siswa mengerti apa yang dinamakan transaksi

o Siswa mengerti pengunaan commit dan rollback

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 20 dari 58

o Siswa dapat mengelola dan mengoperasikan pemrograman data

deskripsi dengan baik dan benar

4.3 Sekilas Tentang DDL dan DML

Seperti yang telah Anda ketahui sebelumnya, SQL secara garis

besar dibagi kedalam 2 kelompok utama, yaitu DDL (Data Definition

Language) dan DML (Data Manipulation Language). Sekedar

mengingatkan kembali, Yang dimaksud dengan DDL adalah

pernyataan-pernyataan yang digunakan untuk membuat dan

mengubah struktur tabel atau obyek di dalam basis data. Sedangkan

DML adalah kumpulan pernyataan-pernyataan yang digunakan

untuk bekerja pada data di dalam basis data.

Pada pembahasan di SQL Dasar, Anda tentu mengenal pernyataan-

pernyataan seperti berikut:

- CREATE DATABASE ...

- CREATE TABLE ...

- ALTER TABLE ...

- CREATE INDEX ...

- DROP TABLE ...

- CREATE VIEW ...

- DROP DATABASE ...

- dll

Pernyataan-pernyataan diatas merupakan DDL yang selalu

digunakan untuk membuat dan mengelola basis data.

Anda tentu juga telah mengetahui pernyataan-pernyataan

seperti SELECT, INSERT, UPDATE dan DELETE pada pembahasan SQL

Dasar. Pernyataan-pernyataan ini merupakan pernyataan DML. Dari

pengertian DDL dan DML yang telah dijelaskan diatas, Anda tentu

sudah dapat membedakan pernyataan mana yang digolongkan ke

dalam DDL dan DML.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 21 dari 58

Dalam pelatihan ini, kita tidak lagi membahas itu, yang akan

kita bahas adalah mengenai cursor, rule, constraint, fungsi,

prosedur, trigger dan transaksi. Sehingga hanya DDL dan DML yang

bersangkutan dengan topik-topik inilah yang akan kita pelajari lebih

lanjut pada sub-bab masing-masing.

Namun perlu digaris-bawahi, DDL dan DML untuk masing-

masing aplikasi SQL (Transact-SQL, Oracle SQL, mySQL, PostgreSQL,

dll) yang digunakan dapat bervariasi, sama dan berbeda. Misalnya,

di mySQL 3.22.15 keatas terdapat pernyataan DML, INSERT

DELAYED ... yang tidak terdapat pada Transact-SQL. Oracle dan

mySQL memiliki pernyataan DDL, TRUNCATE..

Namun, Jadi, untuk DDL dan DML yang lebih spesifik, Anda

sebaiknya mengacu pada referensi aplikasi SQL yang Anda gunakan.

Pada pelatihan ini, sedapat mungkin saya menggambarkan topik-

topik tersebut secara umum dan memberikan contoh-contoh yang

bervariasi untuk beberapa aplikasi SQL yang umum digunakan.

Namun, contoh-contoh pada pelatihan ini lebih banyak

menggunakan Transact-SQL (SQL Server).

4.4 Constraint dan Rule

Anda mungkin telah mengenal apa yang dinamakan constraint

pada pelatihan SQL Dasar sebelumnya. Namun, disini kita akan

membahas lebih rinci mengenai constraint dan apa yang disebut

dengan rule. Constraint adalah obyek yang merupakan bagian dari

tabel dan fungsinya adalah untuk mengecek data agar memenuhi

kondisi tertentu. Sejauh ini, kita mengenal 5 jenis constraint yaitu:

a. Primary Key (PK)

Primary Key adalah suatu kunci utama yang dibentuk dari sebuah

kolom atau lebih sehingga menjadikan setiap data itu bersifat

unik. Primary Key tidak boleh bernilai null. Contoh: Nomor Induk

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 22 dari 58

Pegawai. Tidak mungkin 2 orang pegawai memiliki nomor induk

pegawai yang sama.

b. Foreign Key (FK)

Foreign Key adalah kunci asing yang terdapat pada satu kolom

atau lebih di dalam suatu tabel yang merujuk pada kunci di tabel

lainnya sebagai link antara tabel-tabel tersebut. Foreign Key tidak

bersifat unik dan biasanya mengacu pada primary key di tabel

lain. Contoh:

Pada tabel Pegawai terdapat NIP yang berfungsi sebagai PK,

sedangkan pada tabel Absensi terdapat kolom NIP yang berfungsi

sebagai FK. NIP pada tabel Absensi merujuk pada NIP yang ada

pada tabel Pegawai.

c. Unique Constraint

Unique Constraint biasanya dikenal juga sebagai Alternate Key

(AK). Sifatnya unik, artinya tidak ada data yang sama, berdiri

sendiri (tidak ada

relasi ke tabel lain atau tidak menjadi sumber acuan). Contohnya:

Nomor Identitas Penduduk tiap Pegawai. Setiap pegawai tentu

memiliki KTP dan nomor KTP tersebut tentu berbeda antara setiap

pegawai.

d. Check Constraint (CK)

Check Constraint berfungsi untuk membatasi penyisipan data

pada suatu tabel agar memenuhi kriteria-kriteria yang ditetapkan.

Contoh:

kdAbsensi pada tabel Absensi harus diawali dengan huruf ‘A’

e. Default Constraint (DF)

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 23 dari 58

Default Constraint berfungsi untuk memberkan nilai default pada

data dalam suatu tabel. Jika kita tidak menginisialisasikan nilai

pada sebuah data maka nilai pada data tersebut akan berisi nilai

default yang ditentukan sebelumnya pada DF.

Adapun cara untuk membuat dan menghapus constraint

adalah sebagai berikut:

a. Membuat Constraint

Constraint dapat dibuat pada saat mendefinisikan tabel maupun

secara terpisah dengan sintaks berikut:

ALTER TABLE nama_tabel

ADD CONSTRAINT nama_constraint

jenis_constraint (...)

b. Menghapus Constraint

ALTER TABLE nama_tabel

DROP CONSTRAINT nama_constraint

Berikut adalah contoh penggunaan constraint:

Pada tabel Pegawai jika ada data pada kolom kota yang tidak

diinisialisasi maka nilai defaultnya adalah ‘Jakarta’. Setiap pegawai

harus melakukan absensi saat masuk dan pulang kerja. kdAbsensi

pada tabel Absensi harus diawali huruf ‘AD’ atau ‘AP’.

CREATE TABLE Pegawai

(nip CHAR(10), nama VARCHAR(30), no_ktp CHAR(12)

alamat VARCHAR(30), kota VARCHAR(15),

CONSTRAINT pk_nip PRIMARY KEY(nip))

CREATE TABLE Absensi

(kdAbsensi CHAR(4), nip CHAR(10),

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 24 dari 58

jam_msk DATETIME, jam_klr DATETIME)

ALTER TABLE Absensi

ADD CONSTRAINT pk_absensi PRIMARY KEY(kdAbsensi)

ALTER TABLE Absensi

ADD CONSTRAINT fk_absensi

FOREING KEY(nip) REFERENCES Pegawai(nip)

ALTER TABLE Pegawai

ADD CONSTRAINT ak_pegawai UNIQUE(no_ktp)

ALTER TABLE Pegawai

ADD CONSTRAINT df_pegawai DEFAULT ‘Jakarta’ FOR kota

ALTER TABLE Absensi

ADD CONSTRAINT ck_absensi

CHECK (LEFT(kdAbsensi,2)=’AD’ OR

LEFT(kdAbsensi,2)=’AP’)

Selain constraint, ada juga yang dinamakan rule. Rule adalah

bentuk lain dari Check Constraint dan merupakan sebuah obyek

dalam SQL. Berikut adalah cara membuat rule dengan Transact-

SQL :

CREATE RULE nama_rule AS kondisi

Contoh:

CREATE RULE ruleKdAbsensi

AS LEFT(@kdAbsensi,2) IN (‘AD’,’AP’)

Untuk menerapkan rule pada kolom yang sesuai gunakan fungsi

berikut:

Exec sp_bindrule ‘nm_rule’,’nm_tabel’,’nm_kolom’

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 25 dari 58

Sedangkan untuk memutuskan hubungan rule dari kolom yang

bersangkutan digunakan fungsi :

Exec sp_unbindrule ’nm_tabel’,’nm_kolom’

Sedangkan untuk menghapus rule yang telah dibuat, semua kolom

yang terhubung dengan rule tersebut harus diputuskan terlebih

dahulu. Sintaks :

DROP RULE nama_rule

Contoh:

CREATE RULE ruleKdAbsensi

AS LEFT(@kode,2) IN (‘AD’,’AP’)

sp_bindrule ‘ruleKdAbsensi’,’Absensi’,’kdAbsensi’

sp_unbindrule ‘Absensi’, ‘kdAbsensi’

DROP RULE ruleKdAbsensi

Catatan: @kode adalah nama variabel dalam T-SQL

Transact-SQL juga menyediakan cara lain untuk membuat Default

Constraint, yaitu dengan ‘DDL Default’.

CREATE DEFAULT nama_default

AS expression

Contoh:

CREATE DEFAULT defKota AS ‘Jakarta’

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 26 dari 58

Untuk menghubungkan default ke kolom yang sesuai, dapat

menggunakan fungsi berikut:

Exec sp_bindefault ’nm_default’,’nm_tabel.nm_kolom’

Sedangkan untuk memutuskan hubungan default dari kolom yang

bersangkutan digunakan fungsi :

Exec sp_unbindrule ’nm_tabel.nm_kolom’

4.5 Fungsi dan Prosedur

Sebelum Anda mulai membuat prosedur, Anda terlebih dahulu

harus mengerti tentang variabel dan fungsi-fungsi yang dapat Anda

gunakan. Dalam topik ini, kita cenderung menggunakan bahasa T-

SQL (Transact-SQL) pada SQL Server. Untuk membuat prosedur di

mySQL, Anda membutuhkan mySQL minimal versi 5. Yang penting

disini adalah konsep dalam membuat dan mengoperasikan prosedur.

Dengan mengerti konsep ini, maka aplikasi apapun yang Anda

gunakan tidak menjadi masalah. Anda cukup memahami fungsi-

fungsi atau sintaks-sintaks dari aplikasi yang Anda gunakan. Seperti

yang saya jelaskan di awal bahwa DDL dan DML untuk tiap aplikasi

dan fungsi yang disediakan tidak sama. Namun, semua aplikasi itu

memiliki konsep yang sama dan mengacu pada standar SQL

tertentu.

4.5.1Variabel

Variabel adalah suatu referensi atas lokasi memori yang

menyimpan data. Bila Anda bekerja pada data yang berubah-ubah

dan ingin menempatkan data tersebut pada lokasi memori yang

sama maka Anda harus mendefinisikan variabel. Variabel merujuk

pada lokasi dimana data anda tersebut disimpan. Variabel pada

aplikasi SQL manapun secara umum dikelompokkan ke dalam 2

bagian yaitu:

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 27 dari 58

a. Global Variable

Global Variable adalah variabel yang telah dibuat oleh aplikasi

yang bersangkutan dan diatur oleh sistem. Untuk Transact-SQL,

variabel global ditandai dengan @@. Beberapa variabel global

yang sering digunakan antara lain:

@@FETCH_STATUS

Variabel ini bernilai 0 bila pernyataan FETCH berhasil mengambil

data. Variabel ini diinisialisasi setelah pernyataan FETCH

dieksekusi dan umumnya digunakan untuk menghentikan

perulangan WHILE pada cursor. Variabel @@FETCH_STATUS juga

dapat bernilai –2,

bila baris data yang ingin diambil telah dihapus setelah cursor

dibuat. Nilai ini hanya berlaku untuk cursor keyset-driven (scroll).

@@CURSOR_ROWS, @@ROWCOUNT

Variabel @@CURSOR_ROWS mengembalikan jumlah baris data

dalam cursor yang terbaru. Sedangkan variabel @@ROWCOUNT

mengembalikan jumlah baris data yang terperbaharui akibat

suatu query. Variabel @@ROWCOUNT umumnya digunakan

bersama pernyataan UPDATE dan DELETE untuk mengetahui

berapa jumlah baris data yang telah berhasil diperbaharui.

@@ERROR

Variabel ini mengembalikan nilai kesalahan untuk pernyataan SQL

yang terakhir kali dijalankan. Jika bernilai 0, artinya pernyataan

tersebut suskes dijalankan tanpa kesalahan.

@@IDENTITY

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 28 dari 58

Variabel global ini mengembalikan nilai yang paling terakhir

digunakan untuk kolom identitas. Kolom identitas bersifat read-

only dan dikelola oleh sistem. Setiap ada penambahan data pada

tabel, aplikasi menggunakan informasi ini sebagai kunci untuk

menambahkan data pada tabel lain terutama yang saling

berhubungan melalui foreign key.

Selain variabel global diatas, Transact-SQL masih memiliki banyak

variabel global lain. Berikut adalah daftar beberapa variabel

global yang umum digunakan:

Variabel Global Keterangan

@@CONNECTIONS Jumlah login

@@CPU_BUSY Jumlah total waktu server CPU dalam

detik

@@IDLE Jumlah waktu CPU yang sedang tidak

bekerja

@@IO_BUSY Jumlah waktu Input/Output

@@LANGID ID Bahasa yang sedang aktif

@@LANGUAGE Nama Bahasa yang sedang aktif

@@MAX_CONNECTIONS Maksimum koneksi dalam waktu yang

sama

@@MAX_PRECISION Tingkat ketelitian nilai desimal atau

numerik

@@NEST_LEVEL Jumlah nest level yang sedang aktif

@@SERVER_NAME Nama server lokal

@@SPID ID Server yang sedang proses

@@TOTAL_ERRORS Jumlah kesalahan selama SQL berjalan

@@TOTAL_READ Jumlah pembacaan pada Disk

@@TOTAL_WRITE Jumlah penulisan pada Disk

@@TRANCOUNT Total transaksi yang dilakukan active

user

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 29 dari 58

b. User-Defined Variable

Jika variabel global adalah variabel yang dibuat oleh sistem,

maka variabel ini adalah variabel yang didefinisikan sendiri oleh

user. Dalam T-SQL, caranya adalah:

DECLARE @nama_variabel tipe_variabel

Dalam mySQL atau PostgreSQL, variabel didefinisikan dengan

diawali tanda ‘$’.

Contoh:

DECLARE @intA INT

DECLARE @intX INT, @intY INT, @Z CHAR(5)

SELECT @X = 20

SET @Y = 5

SET @Z = ‘Hasil’

SET @A = @X / @ Y

PRINT @X + ‘/’ + @Y

PRINT @Z + CAST(@A AS CHAR)

4.5.2Statement

Jika Anda sudah terbiasa dalam pemrograman maka istilah

Statement Control tentu sudah tidak asing lagi bagi Anda terutama

flow statement yang terdiri dari Seleksi dan Perulangan. Bagian ini

dipastikan dimiliki oleh semua aplikasi SQL. Yang berbeda hanya

cara penggunaannya berkaitan dengan bentuk pendefinisian sintaks

saja.

a. Seleksi

Seleksi umumnya memiliki 2 statement yaitu:

1. IF...ELSE

Pada T-SQL, Pernyataan IF tidak ditutup dengan END IF. Ada

beberapa format yang bisa digunakan antara lain:

IF kondisi

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 30 dari 58

{statement}

ELSE

{statement}

Atau,

IF kondisi

BEGIN

{multiple statements}

END

ELSE

BEGIN

{multiple statements}

END

Untuk mySQL, perrnyataan IF didefinisikan sebagai berikut:

IF kondisi THEN

{statement}

ELSE

{statement}

END IF

Untuk memudahkan pemahaman, lihatlah contoh berikut:

IF (SELECT COUNT(*) FROM Pegawai

WHERE Kota=’Medan’) > 0

BEGIN

-- Proses pegawai yang

-- berasal dari Medan

END

ELSE

BEGIN

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 31 dari 58

PRINT “Tidak ada pegawai dari Medan!”

END

2. CASE

Fungsi pernyataan CASE sama dengan IF. Berikut adalah

sintaks penggunaannya dalam T-SQL:

CASE ekspresi_input

WHEN ekspresi_1 THEN ekspresi_output_1

...

WHEN ekspresi_n THEN ekspresi_output_n

END

Contoh:

CASE @tingkat_pegawai

WHEN ‘I’ THEN 10

WHEN ‘II’ THEN 15

WHEN ‘III’ THEN 20

END

b. Perulangan (Looping)

Pernyataan perulangan dalam SQL dikenal dengan pernyataan

WHILE. Perulangan sering digunakan terutama ketika ingin

mengambil data dari cursor. Jika pernytaan yang akan

dijalankan hanya sebaris maka BEGIN/END tidak diperlukan

sama halnya dengan pernyataan IF. Sintaks dalam T-SQL

adalah

WHILE kondisi

BEGIN

{multiple statements}

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 32 dari 58

END

Contoh:

DECLARE @x INT

SELECT @x = 0

WHILE (@x<5)

BEGIN

PRINT ‘LOOPING’

SET @x = @x + 1

END

c. Continue dan Break

Kedua keyword ini sering digunakan bersama pernyataan

WHILE untuk mengubah alur eksekusi. Continue menghentikan

perulangan yang sedang berlangsung dan melanjutkan ke

pernyataan berikutnya. Dengan kata lain, kondisi WHILE

dievaluasi dan perulangan terjadi kembali. Jika bernilai salah,

perulangan WHILE dilewatkan dan eksekusi dilanjutkan pada

pernyataan berikutnya. Sedangkan Break akan menghentikan

perulangan pada saat itu juga dan keluar dari perulangan.

Perhatikan contoh dibawah ini!

WHILE <condition>

BEGIN

-- Isi data ke variabel

IF @x < 0

CONTINUE

IF @x > 999

BREAK

-- Proses

END

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 33 dari 58

Jika x bernilai negatif maka kode tidak dijalankan dan

dilanjutkan ke baris berikutnya. Jika x bernilai 1000, maka

perulangan berhenti.

d. GOTO dan RETURN

Kedua pernyataan memungkinkan kita untuk mengubah alur

eksekusi dengan membuat percabangan ke lokasi lain di

dalam prosedur. Pernyataan GOTO dapat memanggil baris

pernyataan lain yang diberi label. Contoh pernyataan GOTO:

RepeatLoop:

FETCH NEXT INTO variable_list

IF @@FETCH_STATUS = 0

BEGIN

-- Proses

GOTO RepeatLoop

END

Pernyataan RETURN menghentikan prosedur tanpa kondisi dan

dapat mengembalikan hasil. Untuk mengembalikan nilai dalam

SQL dapat digunakan sintaks seperti berikut:

RETURN ekspresi

Selain Flow-Control Statement diatas, T-SQL juga

menyediakan pernyataan-pernyataan lain dan yang umumnya

digunakan dalam prosedur adalah PRINT dan RAISERROR.

a. PRINT

PRINT ekspresi

b. RAISERROR

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 34 dari 58

Fungsi ini digunakan untuk mendefinisikan error kita sendiri

dari prosedur yang kita buat. Sintaksnya adalah:

RAISERROR errorNum, severity, state

Argumen pertama adalah nomor error, dan harus bernilai

antara 50,001 s/d 2,147,483,648 karena kode error dibawah

50,001 adalah kode error dari SQL Server. Argumen kedua is

tingkat kesa-

lahan, nilainya antara 1 sampai 18. Dan argumen terakhir

adalah integer antara 1 sampai 127, yang dapat digunakan

untuk mengembalikan informasi tambahan mengenai

kesalahan yang terjadi.

4.5.3Fungsi-fungsi

Pada bagian ini, kita hanya akan bahas fungsi-fungsi yang didukung

oleh T-SQL. Setiap aplikasi yang Anda gunakan memiliki fungsi-

fungsi yang didukungnya sendiri. Fungsi dalam T-SQL dikelompokkan

menjadi beberapa bagian antara lain:

a. Manipulasi String

Fungsi-fungsi terkait manipulasi string adalah sebagai berikut:

- ASCII(karakter), untuk mendapatkan nilai dari karakter

- Char(nilai), kebalikan dari fungsi ASCII

- CharIndex(pola, ekspresi), mengembalikan posisi dari

hasil pertama dari pencarian argumen pertama dalam

argumen kedua. Jika Anda mengenal Visual Basic, maka fungsi

ini sama dengan IntStr().

- Left(string,n), mengembalikan string dari kiri sejauh n

karakter

- Right(string,n), mengembalikan string dari kanan sejauh n

karakter

- Len(string), mengembalikan panjang string

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 35 dari 58

- DataLength(variabel), mengembalikan panjang dari

variabel yang dideklarasikan

- Lower(string), mengubah string menjadi huruf kecil

- Upper(string), mengubah string menjadi huruf kapital

- Ltrim(string), menghilangkan spasi di bagian kiri string

- Rtrim(string), menghilangkan spasi di bagian kanan string

- Space(n), menambah spasi sejumlah n

- STR(float,n,dec), mengubah ekspresi float menjadi string

sesuai dengan panjang karakter n dan dec untuk menentukan

jumlah angka di belakang koma. Misalnya:

PRINT STR(3.14159, 4, 2) Hasilnya 3.14

- Replace(string1,string2,string3), untuk mengganti

setiap kesamaan string1 di dalam string2 dengan string3.

- Replicate(karakter,n), untuk mengembalikan string baru

dengan mengulang karakter sebanyak n-kali.

- Reverse(string), membalikkan urutan karakter dari string

- Substring(string,m,n), mengembalikan string yang

diambil dari m sepanjang n. Sama dengan fungsi Mid() dalam

Visual Basic

- Nchar(nilai), mengembalikan karakter Unicode dari nilai

- STUFF(string1,m,n,string2), mengganti bagian dari

string1 mulai dari m sepanjang n dengan string2. Contoh:

DECLARE @s CHAR(30)

SET @s = "VB Programming"

SET @s = STUFF(@s,1,2,"SQL")

PRINT @s

Yang tercetak adalah “SQL Programming”

- QuoteName(string,quote_char), mengembalikan string

Unicode dengan quote_char sebagai pemisah. Contoh:

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 36 dari 58

QUOTENAME(‘Halim’, ‘"’)

Hasilnya adalah “Halim”

QUOTENAME(‘Halim’, ‘{’)

Hasilnya adalah {Halim}

‘@’ karakter ini tidak diperbolehkan.

b. Fungsi Konversi

Fungsi-fungsi terkait konversi data adalah sebagai berikut:

- Convert(tipedata,var,style), untuk mengkonversi tipe

data dari var menjadi tipe data yang didefinisikan. Sedangkan

argumen style untuk menentukan format tanggal ketika

mengkonversi tipe data DateTime dan SmallDate.

- Cast(variabel AS tipedata), untuk mengkonversi variabel

atau nilai ke dalam tipe data yang ditentukan.

c. Fungsi Tanggal dan Waktu

Fungsi-fungsi terkait dengan penanggalan dan waktu adalah

sebagai berikut:

- GetDate(), mengembalikan tanggal dan waktu saat ini dari

mesin yang menjalankan SQL Server

- DateAdd(interval,num,datetme), menambah nilai argumen

datetime dengan interval yang diberikan. Nilai interval yang

dapat

digunakan

ditunjukkan

dalam tabel

berikut:

Interval Nilai Range

year yy, yyyy 1753–9999

quarter qq, q 1–4

month mm, m 1–12

dayofyear dy, y 1–366

day dd, d 1–31

week wk, ww 1–53

weekday Dw 1–7

hour Hh 0–23

minute mi, n 0–59

second Ss 0–59

millisecond Ms 0–999

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 37 dari 58

- DateDiff(interval,datetime1,datetime2), untuk me-

ngembalikan selisih antara datetime1 dan datetime2 dalam

interval yang diberikan.

- DatePart(interval,datetime), mengembalikan integer

yang mewakili bagian dari datetime.

- DateName(interval,datetime), mengembalikan nama dari

bagian datetime. Contoh:

DateName(month, ‘31/05/2007’)

Hasilnya adalah May

- Day(), Month(), Year(), mengembalikan hari, bulan dan

tahun.

d. Fungsi Lain

- COALESCE(ekspresi1,ekspresi2, "), fungsi ini bertujuan

untuk mengembalikan ekspresi pertama yang tidak null dalam

daftar argumen yang diberikan. Misalnya Anda ingin

mengetahui kolom yang isinya Null, maka Anda dapat

melakukan dengan cara berikut:

SELECT nip, COALESCE(alamat, nama)

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 38 dari 58

FROM Pegawai

- IsNull(kolom,nilai), Jika argumen pertama tidak null

maka yang dikembalikan adalah nilai dari argumen

pertamanya. Bila null maka nilai dari argumen kedua yang

dikembalikan. Misalnya:.

SELECT nama_barang, ISNULL(harga, 0.0)

FROM Barang

- NullIf(ekspresi1,ekspresi2), jika kedua argumen bernilai

sama maka yang dikembalikan adalah null. Jika berbeda maka

argumen pertama yang dikembalikan.

Anda bisa membuat fungsi sendiri dengan perintah CREATE

FUNCTION. Misalnya kita ingin membuat fungsi penjumlahan

antara 2 angka, berikut contoh dalam PostgreSQL.

CREATE FUNCTION Plus(FLOAT, FLOAT) RETURNS FLOAT AS ’

BEGIN

RETURN $1 + $2;

END;’

SELECT Plus(5,8);

4.5.4Stored Procedure

Stored Procedure adalah kumpulan pernyataan SQL yang

disimpan di server, sehingga dapat digunakan kapan saja untuk

melakukan suatu perintah tertentu tanpa harus mendefinisi ulang

perintah-perintah setiap data diperlukan. Setiap aplikasi mempunyai

mekanisme masing-masing untuk membuat dan mengoperasikan

prosedur. mySQL misalnya mengacu pada standar SQL:2003 dan

menggunakan sintaks yang sama dengan IBM DB2. Dan fitur stored

procedure pada mySQL hanya didukung oleh mySQ Lversi 5 keatas.

Lain pula dengan PostgreSQL yang memiliki caranya sendiri dimana

lebih kearah object-oriented.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 39 dari 58

Mengapa prosedur dibutuhkan? Ada beberapa alasan yang

baik untuk menjawab pertanyaan ini, antara lain:

- Ketika beberapa aplikasi klien dari berbagai macam platform

hendak melakukan operasi yang sama terhadap basis data.

- Ketika keamanan menjadi prioritas utama. Prosedur

memberikan konsistensi dan lingkungan yang aman dan semua

prosedur dapat memastikan seluruh operasi tercatat dengan

benar. Pengguna tidak memiliki akses secara langsung kedalam

tabel-tabel di dalam basis data tetapi dapat menjalankan

prosedur-prosedur yang telah didefinisikan sebelumnya.

- Stored procedure meningkatkan kinerja dan efisiensi karena

tidak membutuhkan pengiriman banyak informasi antara klien

dan server.

- Stored procedure dapat dieksekusi dari aplikasi lain diluar

aplikasi SQL. (Reusable)

Sintaks untuk membuat stored procedure pada T-SQL adalah

sebagai berikut:

CREATE PROCEDURE nama_prosedur

AS

{statements}

Sedangkan untuk menjalankan prosedur yang sudah buat adalah

dengan sintaks:

EXEC nama_prosedur

Atau, cukup dengan memanggil nama prosedurnya saja.

Untuk mengubah stored procedure digunakan sintaks:

ALTER PROCEDURE nama_prosedur

AS

{statements}

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 40 dari 58

Contoh:

USE Perusahaan

IF EXISTS (SELECT name FROM sysobjects

WHERE name = ‘CariPegawai’)

DROP PROCEDURE CariPegawai

GO

CREATE PROCEDURE CariPegawai

@Arg1 VARCHAR(99), @Arg2 VARCHAR(99),

AS

DECLARE @CariArg VARCHAR(999)

DECLARE @SQLStr VARCHAR(999)

SET @Arg1 = LTRIM(RTRIM(@Arg1))

SET @Arg2 = LTRIM(RTRIM(@Arg2))

SET @CariArg = "WHERE "

IF LEN(@Arg1) > 0

SET @CariArg = @CariArg + "nama LIKE ‘%" +

@Arg1 + "%’ AND "

IF LEN(@Arg2) > 0

SET @CariArg = @CariArg + "nama LIKE ‘%" +

@Arg2 + "%’ AND "

IF @CariArg > 3

SET @CariArg = SUBSTRING(@CariArg, 1,

LEN(@CariArg)-4)

IF LEN(@CariArg) = 6

SET @SQLStr = "SELECT nama FROM Pegawai"

ELSE

SET @SQLStr = "SELECT nama FROM Pegawai " +

@CariArg

EXECUTE (@SQLStr)

Untuk mengetes prosedur yang kita buat:

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 41 dari 58

DECLARE @arg1 varchar(99)

DECLARE @arg2 varchar(99)

SET @arg1 = ‘Halim’

EXEC CariPegawai @arg1, @arg2

Meskipun @arg2 tidak diinisialisasi atau berisi null, Anda tetap

harus mengirimkan 2 parameter tersebut.

4.5.5Penanganan Error

Penanganan error/kesalahan sangat dianjurkan dalam teknik

pemrograman yang baik sehingga program yang Anda buat tidak

mudah crash. Anda dapat menampilkan pesan kesalahan sesuai

dengan kesalahan yang terjadi pada program Anda sehingga akan

dapat lebih membantu pengguna untuk mendeteksi kesalahan yang

terjadi sehingga memungkinkan untuk perbaikan segera.

Contoh:

DECLARE @err INT

INSERT Pegawai

VALUES(’10.10.5562’,’Halim’,’02.180/201.L’,

‘Pemuda No. 11’,’Jakarta’)

SET @err = @@ERROR

PRINT ‘Error No: ‘ + CONVERT(CHAR(10),@err)

SELECT * FROM Pegawai

GO

Jika tidak ada kesalahan yang terjadi maka Error No yang tercetak

adalah 0.

Berikut adalah daftar nilai error yang dikembalikan oleh SQL Server.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 42 dari 58

4.6 Mengenal Cursor

Cursor dalam basis data hampir sama dengan fungsi cursor

pada aplikasi komputer Anda, misalnya pada layar aplikasi pengolah

kata. Ketika Anda menekan tombol { }, cursor bergeser ke bawah

melalui setiap baris teks setiap kalinya. Demikian pula ketika Anda

menekan tombol { }, cursor bergerak ke atas baris demi baris.

Atau ketika Anda menekan tombol { Page Up } dan { Page Down },

hasilnya cursor berpindah melampaui beberapa baris. Demikian

halnya dengan cursor di dalam basis data. Konsepnya sama.

Cursor memungkinkan Anda untuk memilih sekelompok data

(recordset), mengakses setiap baris data (record) sesuai dengan

yang ditunjuk oleh cursor tersebut. Fungsi umum cursor lainnya

adalah untuk menyimpan hasil query untuk digunakan kembali. Hasil

dari operasi cursor adalah berasal dari hasil pernyataan SELECT. Jika

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 43 dari 58

aplikasi atau prosedur yang Anda buat memerlukan penggunaan

sekelompok data secara berulang-ulang, maka Anda dianjurkan

menggunakan cursor daripada Anda melakukan query (mengekstrak

data) dari basis data secara berulang-ulang untuk data yang sama.

Disamping itu, Anda juga dapat mengakses setiap data hasil query

dengan cursor. Yang paling penting diingat dalam cursor adalah data

didalamnya dan posisi cursor tersebut.

Berikut adalah urutan atau langkah-langkah ketika Anda ingin

mengoperasikan cursor di dalam basis data :

1. Buat cursor terlebih dahulu.

Jika aplikasi yang Anda gunakan adalah Oracle, maka perintah

untuk membuat cursor adalah

DECLARE nama_cursor CURSOR

FOR {SELECT command | statement_name | block_name}

Dalam Transact-SQL, perintah untuk membuat cursor adalah

DECLARE nama_cursor CURSOR [SCROLL|STATIC]

FOR select_statement

[FOR {READ ONLY | UPDATE [of column_name_list]}]

Contoh:

DECLARE cur_Pegawai CURSOR

FOR select * from Pegawai

GO

Hasilnya, Anda sekarang memiliki cursor dengan nama

cur_Pegawai yang menampung semua data dari table Pegawai.

Sebelum dapat digunakan Anda harus membuka cursor tersebut

terlebih dahulu.

2. Buka cursor tersebut untuk digunakan di dalam prosedur atau

aplikasi.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 44 dari 58

Pernyataan untuk membuka cursor adalah

OPEN nama_cursor

Contoh:

OPEN cur_Pegawai

GO

3. Ambil data record, baris demi baris hingga mencapai akhir record

pada cursor.

Dalam hal ini, cursor memiliki 3 fungsi antara lain:

a. Fungsi Foward Only (Cursor hanya bisa maju), Default.

b. Fungsi Scroll (Cursor bisa maju mundur), ... CURSOR SCROLL

FOR ...

c. Cursor Static, ... CURSOR STATIC FOR ...

Untuk mengakses data di dalam cursor, kita menggunakan

perintah FETCH. Dalam Transact-SQL sintaksnya adalah sebagai

berikut:

FETCH [[NEXT|PRIOR|FIRST|LAST|

ABSOLUTE{n|@nvar}|

RELATIVE{n|@nvar}]

FROM]

{{[GLOBAL] nama_cursor}|@nama variabel cursor}

[INTO @nama variabel|[,...n]]

Pada sintaks diatas, Anda melihat beberapa argumen seperti

NEXT, PRIOR, FIRST, LAST, dll. Berikut adalah penjelasan untuk

masing-masing argumen tersebut :

a. NEXT

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 45 dari 58

Argumen NEXT merupakan argumen default. Jika Anda tidak

mendefinisikan argumen apapun, maka argumen NEXT yang

akan digunakan. Argumen NEXT mengembalikan hasil dalam

bentuk baris record yang sedang aktif dan bergerak maju.

b. PRIOR

Argumen PRIOR mengembalikan hasil dalam bentuk baris yang

mendahului baris yang sedang aktif sedangkan baris yang

sedang aktif tidak dikembalikan. Bila posisi cursor ada pada

baris pertama dan Anda melakukan FETCH PRIOR, maka tidak

ada hasil yang dikembalikan.

c. FIRST

Sesuai dengan namanya, argumen ini mengembalikan baris

pertama dalam cursor dan membuatnya aktif.

d. LAST

Kebalikan dari argumen sebelumnya, argumen LAST

mengembalikan baris terakhir dalam cursor dan membuatnya

aktif.

e. ABSOLUTE {n|@nvar}

Argumen ini mengembalikan nilai berdasarkan kondisi

parameter n atau @nvar yang diberikan.

- Jika n atau @nvar bernilai 0 maka tidak ada yang

dikembalikan, n harus bertipe integer constant dan @nvar

harus integer

- Jika n atau @nvar bernilai positif maka baris yang

dikembalikan adalah baris di depan cursor dan baris

tersebut menjadi aktif

- Jika n atau @nvar bernilai negatif maka baris yang

dikembalikan adalah baris yang berada pada posisi sebelum

akhir dari cursor dan baris tersebut menjadi aktif

f. RELATIVE {n|@nvar}

Argumen ini mengembalikan nilai berdasarkan kondisi

parameter n atau @nvar yang diberikan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 46 dari 58

- Jika n atau @nvar bernilai 0 maka yang dikembalikan

adalah baris yang aktif, n harus bertipe integer constant

dan @nvar harus integer

- Jika n atau @nvar bernilai positif maka baris yang

dikembalikan adalah baris setelah baris yang aktif dan baris

tersebut menjadi aktif

- Jika n atau @nvar bernilai negatif maka baris yang

dikembalikan adalah baris yang mendahului baris yang aktif

dan baris tersebut menjadi aktif

g. Global Cursor

Nama cursor yang diberi argumen GLOBAL akan merujuk ke

suatu Global Cursor. @nama variabel cursor sendiri merupakan

nama dari Open cursor dimana Fetch dibuat.

Contoh:

DECLARE @nip CHAR(10)

DECLARE @nama CHAR(30)

DECLARE @no_ktp CHAR(12)

DECLARE @alamat CHAR(40)

FETCH cur_Pegawai INTO @nip, @nama,

@no_ktp, @alamat

WHILE (@@fetch_status = 0)

BEGIN

PRINT @nip

PRINT @nama

PRINT @alamat

FETCH cur_Pegawai INTO @nip, @nama,

@no_ktp, @alamat

END

GO

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 47 dari 58

4. Tutup cursor bila Anda sudah selesai menggunakannya.

Perintah untuk menutup sebuah cursor adalah

CLOSE nama_cursor

5. Dealokasi cursor tersebut untuk menghilangkannya.

Perintah untuk men-dealokasi sebuah cursor adalah

DEALLOCATE nama_cursor

Berikut adalah proses lengkap dari contoh penggunaan cursor diatas

:

DECLARE @nip CHAR(10)

DECLARE @nama CHAR(30)

DECLARE @no_ktp CHAR(12)

DECLARE @alamat CHAR(40)

DECLARE cur_Pegawai CURSOR

FOR select * from Pegawai

OPEN cur_Pegawai

FETCH cur_Pegawai INTO @nip, @nama,

@no_ktp, @alamat

WHILE (@@fetch_status = 0)

BEGIN

PRINT @nip

PRINT @nama

PRINT @alamat

FETCH cur_Pegawai INTO @nip, @nama,

@no_ktp, @alamat

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 48 dari 58

END

CLOSE cur_Pegawai

DEALLOCATE cur_Pegawai

GO

4.7 Trigger

Trigger adalah kode-kode logik yang didefinisikan agar dapat

dieksekusi apabila terjadi suatu proses yang mengubah kondisi

record dalam tabel baik oleh pernyataan INSERT, UPDATE maupun

DELETE. Trigger biasanya digunakan untuk memeriksa nilai atau

data dari sebuah record sebelum record tersebut dimasukkan ke

dalam tabel. Jika Anda menggunakan Microsoft SQL Server, maka

Anda akan mengenal yang namanya Instead of Trigger. Trigger jenis

ini memungkinkan kita untuk mengubah kegiatan yang dilakukan

apabila salah satu pengguna menjalankan suatu kegiatan tertentu.

Prosedur Trigger dilampirkan pada tabel tertentu. Kita lebih

baik mengatur validasi dan kendali pada Trigger daripada

melakukannya dalam aplikasi. Ada 3 perintah dasar yang

terkandung dalam sebuah Trigger, yaitu:

a. Insert Trigger

b. Update Trigger

c. Delete Trigger

Contoh prosedur Trigger dengan PostgreSQL:

CREATE FUNCTION pgw_insupd() RETURNS OPAQUE AS ’

BEGIN

NEW.nama := UPPER (NEW.nama);

RETURN NEW;

END;’

LANGUAGE ’plpgsql’;

CREATE TRIGGER pegawaiInsUpd BEFORE INSERT OR UPDATE

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 49 dari 58

ON pegawai FOR EACH ROW

EXECUTE PROCEDURE pgw_insupd();

INSERT INTO Pegawai (nip,nama)

VALUES (10.12.1568,’halim’);

SELECT * FROM pegawai;

Yang tersimpan dalam tabel Pegawai adalah HALIM bukan halim.

Jika Anda menggunakan T-SQL pada SQL Server maka

prosedur Trigger dapat dibuat dari Query Analyzer maupun

Enterprise Manager. Adapun sintaks T-SQL untuk membuat trigger

adalah :

CREATE TRIGGER nama_trigger

ON nama_tabel

FOR [INSERT|UPDATE|DELETE]

AS

{statements}

nama_tabel adalah nama tabel dimana prosedur trigger hendak

dibuat. FOR menunjukkan perintah yang akan mengaktifkan trigger.

Jika Anda menggunakan perintah INSERT, maka trigger akan

dijalankan bila ada perintah INSERT yang dijalankan pada tabel yang

bersangkutan. Jika menggunakan perintah UPDATE maka trigger

akan dijalankan bila ada pengguna yang menggunakan perintah

UPDATE pada tabel yang mengandung trigger tersebut. Demikian

halnya dengan perintah DELETE. Jika ada yang menghapus data dari

tabel bersangkutan maka trigger akan dijalankan. AS menandai awal

badan trigger yang berisi pernyataan-pernyataan yang akan

dijalankan disaat trigger aktif.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 50 dari 58

Perintah-perintah dalam T-SQL yang tidak boleh dipergunakan

dalam Trigger adalah:

- CREATE DATABASE

- CREATE PROC

- CREATE DEFAULT

- CREATE INDEX

- CREATE TABLE

- CREATE VIEW

- CREATE RULE

- LOAD LOG

- RESTORE LOG

- DISK RESIZE

- DISK INIT

- ALTER DATABASE

- ALTER TABLE

- ALTER VIEW

- ALTER PROCEDURE

- DROP DATABASE

- DROP TABLE

- DROP PROCEDURE

Contoh prosedur Trigger sederhana dengan T-SQL:

CREATE TRIGGER delPegawai ON pegawai

FOR DELETE

AS

PRINT ‘DELETE Berhasil’

GO

DELETE Pegawai WHERE nip=’10.10.5269’

Jika operasi DELETE berhasil maka ‘DELETE Berhasil’ akan tercetak

dilayar.

Contoh prosedur Trigger lain dengan T-SQL:

USE Perusahaan

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'peg_insupd' AND type = 'TR')

DROP TRIGGER peg _insupd

GO

CREATE TRIGGER peg_insupd ON Pegawai

FOR INSERT, UPDATE

AS

DECLARE @tk_min TINYINT,

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 51 dari 58

@tk_maks TINYINT,

@tk_peg TINYINT,

@kd_pek SMALLINT

SELECT @tk_min = tk_min,

@tk_maks = tk_maks,

@tk_peg = i.tk_pek,

@kd_pek = i.kd_pek

FROM Pegawai p INNER JOIN inserted i ON p.nip = i.nip

JOIN Pekerjaan k ON k.kd_pek = i.kd_pek

IF NOT (@tk_peg BETWEEN @tk_min AND @tk_maks)

BEGIN

RAISERROR ('Tingkat Pegawai untuk Kode Pekerjaan:

%d harus bernilai antara %d dan %d.',

16, 1, @kd_pek, @tk_min, @tk_maks)

ROLLBACK TRANSACTION

END

Pada SQL Server, dikenal pula yang namanya Instead of

Trigger. Jenis trigger ini memungkinkan kita untuk mendefinisikan

trigger pada sebuah view. Namun, tidak diperbolehkan pada pada

view yang menyertakan CHECK OPTION. Pada Instead of trigger,

DELETE tidak diperbolehkan pada tabel yang memiliki relasi dengan

jenis ON DELETE CASCADE. Demikian halnya juga dengan perintah

UPDATE tidak diizinkan pada tabel yang berhubungan dengan relasi

ON UPDATE CASCADE.

Misalnya kita ingin melakukan INSERT data pada sebuah tabel.

Tentu saja kita tidak bisa memasukkan dua data dengan primary key

yang sama. Bila ternyata nilai yang kita masukkan sebagai PK telah

ada, maka akan muncul peringatan kesalahan. Untuk menghindari

hal ini, kita dapat menggunakan Instead of Trigger untuk memproses

data tersebut:

CREATE TABLE tabelTes

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 52 dari 58

(

id_tes INT NOT NULL PRIMARY KEY,

ket_tes VARCHAR(20) NOT NULL

)

GO

CREATE TRIGGER trig_tes ON tabelTes

INSTEAD OF INSERT

AS

IF @@ROWCOUNT = 0

RETURN

UPDATE t –- jika id sudah ada

SET

ket_tes = i. ket_tes

FROM

inserted i

JOIN

tabelTes t ON t.id_tabel = i.id_tabel

INSERT tabelTes

SELECT id_tabel, ket_tes

FROM

inserted i

WHERE NOT EXISTS ( SELECT * FROM tabelTes t

WHERE t.id_tabel = i.id_tabel )

GO

4.8 Transaksi Dengan Commit dan Rollback

Transaksi adalah sekumpulan operasi pada basis data yang

harus berhasil atau gagal secara keseluruhan. Artinya prosesnya

tidak boleh setengah-setengah melainkan harus satu kesatuan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 53 dari 58

Dengan kata lain, sebuah transaksi hanya memiliki 2 pilihan

berhasil atau gagal. Suatu transaksi dinyatakan berhasil apabila

semua operasi di dalam transaksi tersebut berhasil dieksekusi

sedangkan suatu transaksi dinyatakan gagal apabila salah satu saja

operasi di dalam transaksi tersebut gagal.

Perubahan data hanya disimpan apabila transaksi berhasil

secara keseluruhan. Jika transaksi gagal, maka perubahan yang

terjadi pada data di dalam tabel yang bersangkutan akan diisi

kembali dengan nilai yang semula sehingga tidak mengganggu

integritas dan konsistensi data.

Dengan kata lain, sebuah transaksi hanya akan melakukan

proses terhadap semua perubahan yang terjadi atau tidak sama

sekali. Setelah eksekusi, sistem harus selalu berada dalam kondisi

yang valid.

Transaksi memiliki empat karakteristik dasar yang sering

disebut ACID. Keempat karakteristik tersebut antara lain:

1. A = Atomicity

Sebuah transaksi berhasil diselesaikan dengan sempurna atau

berhasil dikembalikan pada kondisi semula.

2. C = Consistency

Sistem berada pada kondisi baru yang valid atau tetap berada

pada kondisi sebelum transaksi dilakukan.

3. I = Isolation

Transaksi dipisahkan dari yang lainnya selama pemrosesan.

4. D = Durability

Sistem akan selalu berada pada kondisi yang valid meskipun

terjadi kegagalan pada sistem.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 54 dari 58

SQL mengimplementasikan transaksi dengan tiga pernyataan

antara lain sebagai berikut:

a. BEGIN TRANSACTION

Pernyataan ini menandai awal sebuah transaksi. Jika transaksi

yang dikerjakan gagal, maka tabel akan dikembalikan ke kondisi

dimana pernyataan BEGIN TRANSACTION didefinisikan. Basis data

akan dikembalikan pada kondisi sebelum transaksi dilakukan

mengabaikan semua perubahan yang telah dilakukan oleh

aplikasi Anda jika transaksi tidak berhasil sepenuhnya.

b. COMMIT TRANSACTION

Pernyataan ini digunakan apabila seluruh transaksi telah berhasil

dijalankan. Biasanya ditempatkan pada akhir transaksi. Ketika

pernyataan COMMIT dijalankan, maka seluruh perubahan

terhadap data dalam basis data yang dilakukan oleh aplikasi

sejak ekseskusi pernyataan BEGIN TRANSACTION akan dilakukan

dan basis data terperbaharui dengan data yang baru dimana

pengembalian data ke kondisi semula tidak dimungkinkan lagi.

Anda dapat melakukan undo atas perubahan-perubahan tersebut

tetapi tidak lagi dalam bagian sebuah transaksi.

c. ROLLBACK TRANSACTION

Pernyataan ini menandai akhir dari transaksi yang gagal. Ketika

pernyataan ini dijalankan, basis data dikembalikan ke kondisi

dimana ketika pernyataan BEGIN TRANSACTION dijalankan,

Anggapannya pernyataan-pernyataan diantara pernyataan BEGIN

TRANSACTION dan ROLLBACK TRANSACTION seolah-olah tidak

pernah dijalankan sama sekali.

Fungsi pernyataan COMMIT dan ROLLBACK sangat penting

untuk menjaga integritas dan konsistensi data dalam basis data.

Kode berikut menunjukkan bagaimana pernyataan yang

berhubungan dengan transaksi digunakan dalam sebuah batch.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 55 dari 58

BEGIN TRANSACTION

{T-SQL statement}

IF @@ERROR <> 0

BEGIN

ROLLBACK TRANSACTION

RETURN –100

END

{T-SQL statement}

IF @@ERROR <> 0

BEGIN

ROLLBACK TRANSACTION

RETURN –101

END

COMMIT TRANSACTION

{T-SQL statements}

Kode error –100 dan –101 mengidentifikasi kondisi kesalahan.

Setelah setiap operasi Anda harus memeriksa nilai dari variabel

@@ERROR. Jika nilainya bukan 0, berarti telah terjadi kesalahan dan

Anda harus melakukan Rollback pada transaksi yang sedang

dijalankan. Jika bernilai 0 artinya tidak ada kesalahan dan Anda

dapat melakukan Commit pada transaksi sehingga semua

perubahan dapat disimpan.

Transaksi sering juga disebut dengan LUW (Logical Unit of

Work). Dalam hal ini, juga ada perbedaan perintah dan fitur dari

beberapa aplikasi SQL, misalnya Oracle dan Sybase menyediakan

fasilitas SAVEPOINT pada transaksi atau sering disebut semi-commit.

Jadi, sekali lagi perintah DDL dan DML dalam pembahasan ini sangat

tergantung pada aplikasi yang digunakan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 56 dari 58

Berikut adalah contoh penanganan transaksi dengan commit

dan rollback dengan T-SQL pada SQL Server:

Misalnya dalam perbankan, asumsi terdapat 3 buah tabel yaitu tabel

nasabah, tabungan dan rekening. Dan kita ingin membuka rekening

baru.

CREATE TABLE Nasabah

(

nid INT NOT NULL PRIMARY KEY,

nama VARCHAR(20) NOT NULL,

alamat VARCHAR(30) NOT NULL

)

GO

CREATE TABLE Rekening

(

nid INT NOT NULL PRIMARY KEY,

tid INT NOT NULL PRIMARY KEY

)

GO

CREATE TABLE Tabungan

(

tid INT NOT NULL PRIMARY KEY,

jum_tbgn MONEY NOT NULL

)

GO

BEGIN TRANSACTION nasabah_baru

INSERT Nasabah VALUES (1, "Halim", "Pemuda No. 11")

IF EXISTS(SELECT * FROM Nasabah WHERE nama = "Halim")

BEGIN

BEGIN TRANSACTION

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 57 dari 58

INSERT Tabungan VALUES(2, 100000)

END

ELSE

ROLLBACK TRANSACTION

IF EXISTS(SELECT * FROM Tabungan WHERE tid = 2)

BEGIN

BEGIN TRANSACTION

INSERT Rekening values(1, 2)

END

ELSE

ROLLBACK TRANSACTION

IF EXISTS (SELECT * FROM Rekening WHERE nid = 1 AND

tid = 2)

COMMIT TRANSACTION

ELSE

ROLLBACK TRANSACTION

GO

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 58 dari 58

BAB V

SUMBER – SUMBER YANG DIPERLUKAN

UNTUK PENCAPAIAN KOMPETENSI

5.1 Sumber Daya Manusia

Dalam proses pencapaian kompetensi sumber yang dapat

diandalkan adalah sumber daya manusia. Sumber daya manusia

yang dimaksud disiini adalah orang-orang yang dapat mendukung

proses pencapaian kompetensi yang dimaksud, antara lain:

o Pembimbing

Pembimbing Anda merupakan orang yang dapat

diandalkan karena beliau memiliki pengalaman. Peran

Pembimbing adalah untuk :

a. Membantu Anda untuk merencanakan proses belajar.

b. Membimbing Anda melalui tugas-tugas pelatihan yang

dijelaskan dalam tahap belajar.

c. Membantu Anda untuk memahami konsep dan praktik baru

dan untuk menjawab pertanyaan Anda mengenai proses

belajar Anda.

d. Membantu Anda untuk menentukan dan mengakses

sumber tambahan lain yang Anda perlukan untuk belajar

Anda.

e. Mengorganisir kegiatan belajar kelompok jika diperlukan.

f. Merencanakan seorang ahli dari tempat kerja untuk

membantu jika diperlukan.

Penilai

Penilai Anda melaksanakan program pelatihan terstruktur

untuk penilaian di tempat kerja. Penilai akan :

a. Melaksanakan penilaian apabila Anda telah siap dan

merencanakan proses belajar dan penilaian selanjutnya

dengan Anda.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 59 dari 58

b. Menjelaskan kepada Anda mengenai bagian yang perlu

untuk diperbaiki dan merundingkan rencana pelatihan

selanjutnya dengan Anda.

c. Mencatat pencapaian / perolehan Anda.

Teman kerja/sesama peserta pelatihan

Teman kerja Anda/sesama peserta pelatihan juga

merupakan sumber dukungan dan bantuan. Anda juga dapat

mendiskusikan proses belajar dengan mereka. Pendekatan ini

akan menjadi suatu yang berharga dalam membangun

semangat tim dalam lingkungan belajar/kerja Anda dan dapat

meningkatkan pengalaman belajar Anda.

5.2 Literatur

Disamping dengan belajar dengan orang-orang seperti yang

disebutkan diatas, Anda tentu perlu juga terus menambah wawasan

dan pengetahuan

Anda dari sumber-sumber bacaan seperti buku-buku yang berkaitan

dengan kompetensi yang Anda pilih, jurnal-jurnal, majalah, dan

sebagainya.

Literatur dalam hal ini tentu bukan saja material berupa

bacaan atau buku melainkan termasuk pula material-material

lainnya yang menjadi pendukung proses pembelajaran ketika

peserta pelatihan sedang menggunakan Pedoman Belajar ini.

Misalnya rekaman dalam bentuk kaset, videp, dan sebagainya.

Buku referensi, lembar kerja, tugas-tugas kerja juga dapat

digunakan dalam proses pencapaian kompetensi. Peserta boleh

mencari dan menggunakan sumber-sumber alternatif lain yang lebih

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 60 dari 58

baik atau sebagai pendukung tambahan atau jika ternyata sumber-

sumber yang direkomendasikan dalam pedoman belajar ini tidak

tersedia/tidak ada.

Untuk referensi mengenai materi-materi yang dapat

digunakan, Anda dapat melihat dari Daftar Pustaka yang terlampir

dihalaman terakhir modul ini.

5.3 Daftar Peralatan/mesin dan Bahan

Dalam pelatihan ini, tidak ada peralatan khusus yang

dibutuhkan. Yang diperlukan hanya aplikasi SQL dan seperangkat

komputer yang dapat menjalankan atau memenuhi prasyarat

minimal aplikasi SQL bersangkutan yang Anda gunakan.

Misalnya Microsoft SQL Server (2005). Untuk aplikasi ini Anda

membutuhkan perangkat komputer dengan prasyarat sebagai

berikut:

- Sistem operasi minimal Windows 2000, XP, Server 2003 atau

Vista

- Pentium III-compatible processor (min. 600MHz) atau yang lebih

tinggi

- Memori min. 512 MB, dianjurkan 1 GB atau lebih

- Untuk instalasi awal atau upgrade ke SQL Server 2005, Anda

harus memiliki space harddisk sebesar 2 GB pada drive sistem

Anda. Kebutuhan besar media penyimpanan tergantung pada

konfigurasi sistem dan fitur yang hendak Anda install.

Tabel berikut menyajikan jumlah kebutuhan media penyimpanan untuk masing-

masing fitur SQL Server 2005.

FiturDisk Space

Req.

Database Engine and data files, Replication, and Full-Text Search 280 MB

Analysis Services and data files 90 MB

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 61 dari 58

Reporting Services and Report Manager 120 MB

Notification Services engine components, client components, and rules

components50 MB

Integration Services 120 MB

Client Components 850 MB

SQL Server Books Online and SQL Server 2005 Compact Edition Books

Online240 MB

Samples and sample databases. Note that samples and sample databases are

not installed by default.410 MB

5.4 Lain-lain

Untuk memahami penggunaan DDL dan DML dalam penerapan

prosedur, trigger dan transaksi Anda tentu membutuhkan contoh-

contoh penerapan langsung pada aplikasi-aplikasi SQL yang Anda

gunakan. Perintah-perintah dan fitur-fitur yang ditawarkan oleh

masing-masing aplikasi tentu bervariasi. Seperti yang telah saya

tekankan dari awal, disini kita hanya membahas perihal konsep

prosedur, trigger dan transaksi secara umum.

Aplikasi yang digunakan boleh berbeda namun konsep yang

terkandung didalamnya adalah sama dan serupa. Analoginya seperti

bahasa pemrograman. Landasan utama dalam pemrograman bukan

terletak pada bahasa yang digunakan tetapi pada konsep dan

algoritma pemrograman. Dari konsep dan logika yang kita kuasai,

bahasa pemrograman apapun yang kita gunakan tidak menjadi

masalah. Kita hanya perlu sedikit waktu untuk mempelajari sintaks-

sintaks dalam bahasa tersebut. Sama halnya dengan SQL, kita hanya

perlu mencari tahu sintaks-sintaks sesuai dengan aplikasi yang

digunakan.

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 62 dari 58

Adapun beberapa aplikasi SQL yang umum digunakan saat ini

dan mendukung penerapan prosedur, trigger dan transaksi adalah

sebagai berikut:

a. Microsoft SQL Server 7, 2000 atau 2005 (Transact SQL)

b. Oracle RDBMS SQL

c. IBM DB2

d. MySQL 5.0.2 keatas

e. PostgreSQL (PL/SQL)

f. Sybase SQL

DAFTAR PUSTAKA

Bennett Wm, McEwan, David Solomon. Teach Yourself Transact-SQL

in 21 Days . MacMillan Publishing

Forta Ben. Teach Yourself SQL in 10 Minutes. SAMS Publishing

Luers Tom, Timothy Atwood, Jonathan Gennick. Teach Yourself

PL/SQL in 21 Days. SAMS Publishing

PostgreSQL, Programmer’s Guide

Momjian, Bruce, PostgreSQL: Introduction and Concepts

MySQL 5, Reference Manual

SQL Server 2000 in Microsoft Development Network (MSDN)

Website:

o http://www.sqlmag.com/

o http://www.w3schools.com/

o http://msdn.microsoft.com/

o http://www.orafaq.com/

o http://www.mysql.com/

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR03.002.01

Judul Modul: Mengoperasikan Bahasa Pemrograman Data Deskripsi (SQL) Lanjut

Buku Informasi Versi: 2007

Halaman: 63 dari 58