Menu
Pasang iklan SEO disini Murah, 300.000/6 Bulan dan dapatkan Trafik setiap harinya

Membuat Program Basis Data Berbasis PL/SQL (Oracle) TIK.PR08.005.01

May
30
2015
by : Bupeko. Posted in : blog

 

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI

 

 

 

 

 

 

MEMBUAT PROGRAM BASIS DATA BERBASIS PL/SQL (ORACLE)

TIK.PR08.005.01

 

 

 

 

 

 

 

 

 

BUKU INFORMASI

 

 

 

 

 

 

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.

DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS

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

 

DAFTAR ISI

DAFTAR ISI. 1

BAB I. 3

PENGANTAR. 3

1.1  Konsep Dasar Competency Based Training (CBT) 3

1.2  Penjelasan Modul 3

1.2.1   Desain Modul 3

1.2.2   Isi Modul 3

1.2.3   Pelaksanaan Modul 4

1.3  Pengakuan Kompetensi Terkini (RCC) 4

1.4  Pengertian-Pengertian / Istilah. 5

BAB II. 7

STANDAR KOMPETENSI. 7

2.1 Peta Paket Pelatihan. 7

2.2 Pengertian Unit Standar Kompetensi 7

2.3 Unit Kompetensi Yang Dipelajari 7

2.3.1 Kode dan Judul Unit 8

2.3.2 Kode dan Judul Unit 8

2.3.3 Deskripsi Unit 8

2.3.4 Elemen Kompetensi 8

2.3.5 Batasan Variabel 9

2.3.6 Panduan Penilaian. 9

2.3.7 Kompetensi Kunci 11

BAB III. 12

STRATEGI DAN METODE PELATIHAN. 12

3.1  Strategi Pelatihan. 12

3.2 Metode Pelatihan. 12

BAB IV. 14

MATERI UNIT KOMPETENSI. 14

4.1 Tujuan Instruksional Umum.. 14

4.2 Tujuan Instruksional Khusus 14

4.3  Uraian Singkat Materi : 14

4.4 Beberapa Pengertian dalam Unit Kompetensi Ini : 15

4.5 Informasi masing-masing elemen kompetensi: 15

4.5.1 Menerapkan Oracle tingkat dasar 15

4.5.2 Menerapkan PL/SQL. 32

4.5.3  Menerapkan Oracle Tindak Lanjut 38

BAB V. 44

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI  44

5.1 Sumber Daya Manusia. 44

5.2  Sumber-sumber Kepustakaan ( Buku Informasi ) 45

5.3  Daftar Peralatan dan Bahan yang digunakan. 45

DAFTAR PUSTAKA. 47

 


BAB I

PENGANTAR

 

1.1     Konsep Dasar Competency Based Training (CBT)

 

  • 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

 

Pada bagian ini akan dijelaskan tentang desain modul, isi modul, dan pelaksanaan modul.

1.2.1   Desain Modul

 

Modul ini didesain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan Individual / mandiri :

  • Pelatihan klasikal adalah pelatihan yang disampaikan oleh seorang pelatih.
  • Pelatihan individual / mandiri adalah pelatihan yang dilaksanakan oleh peserta dengan menambahkan unsur-unsur / sumber-sumber yang diperlukan dengan bantuan dari pelatih.

1.2.2    Isi Modul

Bagian Isi Modul ini menerangkan tentang Buku Informasi, Buku Kerja, dan Buku Penilaian.

 

Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta pelatihan. Buku ini digunakan sebagai panduan untuk peserta pelatihan.

 

Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap pertanyaan dan kegiatan praktek 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.

 

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.
  • Semua jawaban pada setiap pertanyaan yang diisikan pada buku kerja.
  • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik.
  • Catatan pencapaian keterampilan peserta pelatihan.

 

1.2.3    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)

  • 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 :
  1. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan keterampilan yang sama atau
  2. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama atau
  3. 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

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 Kerja

Kompetensi  Kerja adalah kemampuan kerja setiap individu  yang mencakup aspek  pengetahuan ,  keterampilan dan sikap kerja  yang sesuai dengan standar yang ditetapkan

 

Pelatihan Berbasis Kompetensi Kerja.

Pelatihan Berbasisi Kompetensi Kerja adalah  pelatihan kerja yang menitikberatkan pada penguasaan kemampuan kerja yang mencakup pengetahuan, keterampilan dan sikap sesuai dengan standar yang ditetapkan dan persyaratan di tempat kerja.

 

Standar Kompetensi Kerja Nasional Indonesia

Standar Kompetensi Kerja Nasional Indonesia adalah rumusan kemampuan kerja yang mencakup aspek pengetahuan, keterampilan dan / atau keahlian serta sikap kerja yang relevan dengan pelksanaan tugas dan syarat jabatan yang ditetapkan sesuai dengan ketentuan peraturan perundang-undangan yang berlaku.

 

Sertifikasi Kompetensi Kerja.

Sertifikasi kompetensi Kerja adalah proses pemberian sertifikat kompetensi yang

dilakukan secara sitematis dan obyektif melalui uji kompetensi sesuai standar kompetensi kerja nasional Indonesia, standar internasional dan /atau standar khusus.

 

Sertifikat Kompetensi Kerja

Sertifikat Kompetensi Kerja adalah bukti tertulis yang diterbitkan oleh lembaga sertifikasi profesi terakreditasi yang menerangkan bahwa seseorang telah menguasai kompetensi kerja tertentu sesuai dengan SKKNI.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


BAB II

STANDAR KOMPETENSI

 

2.1 Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini bertujuan untuk mencapai satu unit kompetensi. Adapun kompetensi ini termasuk dalam satu paket pelatihan, yang terdiri atas unit-unit kompetensi berikut:

  1. TIK.PR08.005.01     Membuat Program Basis Data Berbasis PL/SQL (Oracle)

 

2.2 Pengertian Unit Standar Kompetensi

 

Apakah Standar Kompetensi?

Setiap Standar Kompetensi menentukan :

  1. Pengetahuan dan keterampilan yang diperlukan untuk mencapai kompetensi.
  2. Standar yang diperlukan untuk mendemonstrasikan kompetensi.
  3. Kondisi dimana kompetensi dicapai.

 

Apakah yang akan anda pelajari dari Unit Kompetensi ini ?

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.

 

Berapa lama unit kompetensi ini dapat diselesaikan ?

Sistem pelatihan berbasis kompetensi terfokus pada pencapaian kompetensi, bukan pada lamanya waktu. Namun diharapkan pelatihan ini dapat dilaksanakan dan dicapai dalam jangka waktu tidak lebih dari seminggu, tiga sampai lima hari.

 

Berapa banyak/kesempatan yang anda miliki untuk mencapai kompetensi ?

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 kompet        ensi 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 :

  1. Mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.
  2. Memeriksa kemajuan peserta pelatihan.
  3. Menyakinkan bahwa semua elemen (sub-kompetensi) dan kriteria unjuk   kerja telah dimasukkan dalam pelatihan dan penilaian.

2.3.1 Kode dan Judul Unit

Judul Unit          : Membuat Program Basis Data Berbasis PL/SQL (Oracle)

2.3.2 Kode dan Judul Unit

Kode Unit          : TIK.PR08.005.01

2.3.3 Deskripsi Unit

Unit ini menentukan kompetensi yang diperlukan untuk pemrograman basis data berbasis PL/SQL untuk Oracle.

2.3.4 Elemen Kompetensi

Elemen kompetensi yang akan disajikan dalam pembahasan adalah sebagai berikut:

 

ELEMEN KOMPETENSI

 

KRITERIA UNJUK KERJA

01   Menerapkan Oracle tingkat dasar 1.1   Restriksi, sorting, rules, defaults dan constraining data dilakukan.

 

1.2   Sub-queries dan co-related queries dibuat.

 

1.3   Ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language) dijelaskan.

 

1.4   Fitur-fitur dan perintah dalam SQL*plus digunakan.

 

1.5   Perintah manipulasi data dan kontrol data digunakan.

 

1.6   Locking dijelaskan.

 

1.7   Obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots) dijelaskan.

 

1.8   Explicit dan implicit cursors, exception, procedures, functions dan triggers dibuat.

 

1.9   Konsep data dictionary dijelaskan.

 

02   Menerapkan PL/SQL 2.1   Variabel Character Set dan Tipe Data dijelaskan.

 

2.2   Komponen PL/SQL dijelaskan.

 

2.3   Cursor processing dijelaskan.

 

2.4   PL/SQL Tables dan PL/SQL Qrappers digunakan.

03   Menerapkan Oracle Tingkat Lanjut 3.1   Flow proses CASE dilakukan.

 

3.2   PL/SQL record ke dalam DML direferensikan.

 

3.3   Bulk binding dihasilkan.

 

3.4   Run time dynamic SQL dijelaskan.

 

Tabel 1Elemen Kompetensi

2.3.5 Batasan Variabel

Batasan variabel dalam bahasan ini adalah:

 

1.       Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi.

2.       Membuat Program Basis Data Berbasis PL/SQL bersifat internal pada bidang teknologi informasi dan komunikasi.

2.3.6 Panduan Penilaian

Yang dijelasakan dalam bagia panduan penilaian adalah hal-hal di bawah ini:

 

1. Pengetahuan dan keterampilan penunjang

Untuk mendemontrasikan kompetensi, memerlukan bukti keterampilan dan pengetahuan di bidang berikut ini :

 

1.1     Pengetahuan dasar

1.1.1  Konfigurasi umum perangkat komputer dan peripheral input/output standar (monitor, keyboard, mouse).

1.1.2  Sistem basis data.

1.1.3    Sistem informasi manajemen.

1.1.4    Pemrograman data deskripsi (SQL).

 

2. Konteks penilaian

Penilaian mungkin terjadi pada pekerjaan, atau diluar pekerjaan atau suatu kombinasi dari keduanya. Penilaian diluar pekerjaan harus dilaksanakan dalam suatu lingkungan kerja yang disimulasikan mendekati pekerjaan yang semestinya.

Penilaian mungkin menggabungkan serangkaian metode untuk menilai kemampuan dan penerapan pengetahuan pendukung penting, dan mungkin mencakup:

2.1   Demontrasi praktis (pengamatan langsung harus terjadi lebih dari sekali  untuk menentukan konsistensi kemampuan).

2.2 Studi kasus.

2.3 Contoh-contoh kerja atau kegiatan-kegiatan simulasi kerja.

2.4 Menanyakan secara lisan/interview.

2.5 Proyek/laporan/buku catatan kemajuan.

2.6 Laporan pihak ketiga dan prestasi otentik sebelumnya.

2.7 Bukti penilaian.

 

3. Aspek penting penilaian

Unit kompetensi ini menerapkan serangkaian sektor-sektor. Fokus penilaian akan tergantung pada sektor industri. Penilaian harus dibuat untuk memenuhi kebutuhan sektor tertentu dimana kemampuan tertentu sedang dinilai.

Penilaian ini sebaiknya tidak hanya ditujukan pada variabel-variabel , yang terkait dengan serangkaian variabel pernyataan, yang diterapkan pada kontek yang dipilih.

Pembuktian berikut ini adalah penting dalam menentukan kompetensi pada unit ini:

3.1     Menjelaskan fitur-fitur dasar yang dimiliki Oracle seperti DML, DDL, SQL*Plus, Locking, data dictionary dan obyek-obyek Oracle.

3.2     Menjelaskan bahasa pemrograman Procedural Language/Structure Query Language (PL/SQL).

3.3     Menjelaskan fitur-fitur tingkat lanjut yang dimiliki Oracle seperti bulk binding dan run time dynamic SQL.

 

4.  Kaitan dengan unit-unit lainnya

Kaitan unit Membuat Program Basis Data Berbasisi PL/SQL (Oracle) dengan unit lain adalah:

4.1         Unit ini mendukung di dalam membuat progam untuk mengakses basis data. Contoh mencakup namun tidak terbatas pada  :

4.1.1    TIK.PR02.002.01 Membuat algoritma pemrograman.

4.1.2    TIK.PR02.003.01 Membuat struktur data.

4.1.3    TIK.PR02.008.01 Mengoperasikan bahasa pemrograman terstruktur

4.1.4    TIK.PR02.020.01 Mengoperasikan aplikasi 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.7 Kompetensi Kunci

          Kompetensi kunci dalam bahasan ini dapat dilihat dalam tabel di bawah ini.

 

NO

KOMPETENSI KUNCI DALAM UNIT INI

TINGKAT

1

Mengumpulkan, mengorganisir dan menganalisa informasi

3

2

Mengkomunikasikan ide-ide dan informasi

3

3

Merencanakan dan mengorganisir aktifitas-aktifitas

3

4

Bekerja dengan orang lain dan kelompok

2

5

Menggunakan ide-ide dan teknik matematika

3

6

Memecahkan masalah

3

7

Menggunakan teknologi

3

Tabel 2 Kompetensi Kunci


BAB III

STRATEGI DAN METODE PELATIHAN

 

3.1    Strategi Pelatihan

 

Belajar dalam suatu Sistem Berbasis 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 melakukan praktek sesuai dengan rencana yang telah dibuat.

 

Persiapan/perencanaan

  1. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.
  2. Membuat catatan terhadap apa yang telah dibaca.
  3. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan pengetahuan dan pengalaman yang telah Anda miliki.
  4. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

 

Permulaan dari proses pembelajaran

  1. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada tahap belajar.
  2. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan Anda.

 

Pengamatan terhadap tugas praktik

  1. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang yang telah berpengalaman lainnya.
  2. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda temukan.

 

Implementasi

  1. Menerapkan pelatihan kerja yang aman.
  2. Mengamati indikator kemajuan personal melalui kegiatan praktik.
  3. 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.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


BAB IV

MATERI UNIT KOMPETENSI

4.1 Tujuan Instruksional Umum

  • Siswa mampu menerapkan pemograman Oracle tingkat dasar.
  • Siswa dapat menerapkan PL/SQL dalam pemograman.
  • Siswa dapat menerapkan pemograman Oracle tingkat lanjut.
  • Siswa mampu membuat restriksi, sorting, rules, defaults, contraining data, Sub-queries, dan co-related queries.
  • Siswa dapat menggunakan fitur-fitur dan perintah dalam SQL*plus.
  • Siswa dapat menjelaskan obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots).
  • Siswa dapat membuat explicit dan implicit cursors, exception, procedures, functions dan triggers.
  • Siswa dapat menjelaskan variabel character set, tipe data, komponen PL/SQL dan cursor processing.
  • Siswa dapat menggunakan PL/SQL Tables dan PL/SQL Qrappers.
  • Siswa dapat menggunakan Flow proses CASE.
  • Siswa dapat mereferensikan PL/SQL record ke dalam DML.
  • Siswa mengerti tentang bulk binding.
  • Siswa mampu menjelaskan run time dynamic SQL.

4.2 Tujuan Instruksional Khusus

4.3  Uraian Singkat Materi :

Membuat Program Basis Data Berbasis PL/SQL (Oracle)

 

Dalam bagian ini akan dibahas tentang bagaimana melakukan restriksi, sorting, rules, defaults dan constraining data dalam Oracle, membuat sub-queries dan co-related queries, menjelaskan ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language), bagaimana menggunakan fitur-fitur dan perintah dalam SQL*plus, bagaimana menggunakan perintah manipulasi data dan kontrol data, bagaimana menjelaskan locking, bagaimana obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots), bagaimana membuat explicit dan implicit cursors, exception, procedures, functions dan triggers, dan bagaimana konsep data dictionary. Dalam buku informasi ini disajikan juga tentang variable carácter set dan tipe data, komponen PL/SQL, cursor processing, dan PL/SQL Tables dan PL/SQL Qrappers. Pada bagian terakhir akan dijelaskan tentang Flow proses CASE, mereferensikan PL/SQL record ke dalam DML, bagaimana menghasilkan bulk binding, dan menjelaskan run time dynamic SQL.

 

4.4 Beberapa Pengertian dalam Unit Kompetensi Ini :

  • Restriksi

Aturan-aturan atau batasan-batasan yang harus diingat dan diterapkan dalam menjalankan memprgram dalam Oracle.

  • Sorting      

Pengurutan

  • Sub-queries

Perintah query select yang bersarang

  • Locking

Pengelolaan untuk mencegah adanya interaksi yang buruk antar transaksi yang mengakses sumber data yang sama

 

4.5 Informasi masing-masing elemen kompetensi:

4.5.1 Menerapkan Oracle tingkat dasar

 

1) Pengetahuan Kerja

Melakukan restriksi, sorting, rules, defaults, dan constraining

Restriksi dalam pemograman Oracle merupakan pembatasan-pembatasan atau lebih jelasnya larangan yang harus diperhatikan dalam melakukan pemograman Oracle, sebagai contoh restriksi dalam melakukan perintah UNION, adalah masing-masing kolom yang ditampilkan (yang ada dalam select list) dari tabel yang di-UNION harus sama.

Sub-queries dan co-related queries dibuat

Sub-queries adalah perintah query select yang bersarang, yaitu query select dalam pernyataan query select, insert, update atau delete yang lain. Pengeksekusian perintah ini bersifat Bottom – to – Top. Sub-query yang bersarang dijalankan sekali pada saat outer query dijalankan, dan subquery yang berhubungan/bersarng dijalankan sekali untuk setiap baris yang dihasilkan pada saat ourt query dijalankan.

 

Sebuah sub-query dinamakan sebuah inner query atau inert select. Sedangkan pernyataan yang berisi sebuah sub-query dinamakan sebuah outer query atau outer select. Berikut adalah contoh sub-query:

 

SELECT EmployeeNo FROM tbl_Appraisal WHERE EmployeeNo = (SELECT EmployeeNo FROM EmployeeMaster WHERE JobTitle = ‘MGR’

)

 

Hasil dari query di atas, adalah:

 

Menampilkan semua karyawan yang EmployeeNo nya terdapat pada table EmployeeMaster dengan JobTitle harus sama dengan “MGR”. Sub-query dipakai untuk memecah sebuah query yang kompleks menjadi sekumpulan langkah logis dan menyelesaikan sebuah masalah dalam sebuah pernyataan. Sub-query berguna jika query yang dibuat bergantung pada hasil query lain, seperti yang dilihat pada contoh di atas. Pada umumnya sebuah query yang berisi sub-query dapat ditulis sebagai join. Performansi query mungkin sama, hanya saja sub-query memerlukan query optimizer untuk menjalankan langkah-langkah tambahan seperti pengurutan yang akan mempengaruhi strategi pemrosesan.

 

Ada beberapa hal yang perlu diperhatikan dalam pembuatan sub-query, yaitu:

  1. Sub-query harus dituliskan dalam tanda kurung “()”.
  2. Sub-query hanya bisa memakai sebuah ekspresi atau nama kolom pada daftar select dari sebuah sub-query yang menghasilkan sebuah nilai.
  3. Sub-query yang menghasilkan hanya satu baris saja dapat digunakan  dengan operator  baik nilai tunggal atau banyak.
  4. Sub-query yang menghasilkan lebih dari satu baris dapat digunakan  dengan operator nilai banyak.

 

Sub-query dapat dinyatakan dalam beberapa tempat di dalam pernyataan select. Pernyataan yang berisi sebuah sub-query dapat dinyatakn dalam beberapa bentuk, yaitu:

 

  1. WHERE <ekspresi> [NOT] IN (<Sub-query>)

Hasilnya berupa daftar nilai yang berisi beberapa nilai atau kosong. Setelah sub-query memberikan hasil, outer akan memakainya. Contoh dari pernyataan di atas dapat dilihat seperti di bawah ini:

 

SELECT DISTINCT C.ParentCategory, C.SubCategory

FROM CATEGORY C

WHERE CategoryName IN

(

SELECT CategoryName FROM BookShelf

WHERE Title IN

(

SELECT Title FROM BookShelf_CheckOut

)

)

 

Hasil dari query di atas adalah, menampilkan daftar buku yang sudah di-checkout.

 

  1. WHERE [NOT] EXISTS (<Sub-query>)

Jika sebuah sub-query memakai EXISTS, fungsinya sama seperti pengetesan ada atau tidak ada. Klausa WHERE dari outer query mengetes keberadaan baris-baris yang dihasilkan oleh sub-query. Sub-query tidak menghasilkan data tetapi menghasilkan nilai TRUE atau FALSE. Contoh dari pernyataan di atas dapat dilihat seperti di bawah ini:

 

SELECT AuthorName, Title FROM BookShelf_Author A

WHERE EXISTS

(

SELECT * FROM BookShelf_Author B

WHERE A.AuthorName = B.AuthorName

)

 

hasil dari query di atas adalah, menamilkan dafar author dan title yang terdapat pada hasil dari sub-query.

Ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language) Dijelaskan

Dalam bagian ini akan dijelaskan tentang ekstensi dari DML untuk menyediakan suatu bahasa yang mempunyai kemampuan yang baik, dengan:

  1. Dengan membuat desain yang spesifik untuk mengklarisifikasi dan memfasilitasi penulisan dari algoritma untuk pemrosesan struktur data secara hierarki.
  2. Menyediakan fasilitas untuk memanipulasi stuktural data.

Selain itu , kemampuan dari DML , seperti yang telah dijelaskan , untuk mengakses database pada nilai dasar dari item data yang terbatas, dan melakukan ekstensi untuk menyediakan kemampuan yang telah diawarkan.

 

Sedangkan, berbicara tentang ekstensi dari DDL, pada bagian ini akan dibahas tentang emampuan dari relasi database untuk aplikasi yang menggunakan DLL. Layer ekstensi DDL memberikan solusi pada masalah perhitungan oleh suatu aplikasi ketika bekerja pada relasi database yang lain. Layer ekstensi DDL menggunakan logging untuk memampukan aplikasi untuk mencegah masalah yang berhubungan dengan perbedaan teknik dari relasi sistem database yang digunakan untuk melakukan commits dan rollback. Satu atau lebih perintah akan dieksekusi  dalam sebuah komputer untuk melakukan operasi database dalam relasi database yang disimpan pada penyimpanan data yang dokoneksikan dengan komputer.

Fitur-Fitur dan Perintah dalam SQL *Plus Digunakan

SQL Plus biasanya dikenal sebagai salah satu jenis pembuat report (report writer). SQL *Plus menggunakan SQL untuk memperoleh informasi dari baisidata ORACLE, dan Anda bisa membuat report dengan mudah, karena danya control untuk judul report, column heading, subtotal, total, pemformatan dari nomor dan test, dan masih banyak lagi.

 

Berikut merupakan perintah-perintah yang berlaku dalam SQL *Plus.

 

Perintah Penjelasan
remark Untuk menandakan bahwa kalimat tersebut dibuat sebagai keterangan (remark), bukan sebagai perintah.
set headsep Pemisah heading mengidentikasi karakter tunggal untuk memberitahukan ke SQL plus untuk membagi/memisahkan sebuah judul menjadi dua atau lebih garis.
ttitle Untuk mengeset judul atas dari setiap report.
Btitle Untuk mengeset judul atas dari setia report.
Column Perintah untuk membuat heading format dan lain-lain dari suatu kolom.
Break on Untuk menentukan letak spasi antara section dari report, atau dimana akan membagi subtotal dan total.
Compute sum Untuk menghitung subtotal dari suatu kolom.
Set linesize Untuk mengeset jumlah maksimum dari suatu karakter dalam satu baris dalam report.
Set pagesize Mengeset jumlah maksimum baris dalam suatu report.
Set newpage Untuk mengeset jumlah baris kosong antara halaman report.
Spool Untuk memindahkan report (dimana biasanya ditampilkan ke layer) ke dalam bentuk file, sehingga dapat di-print.
/**/ Untuk menandai awal dan akhir dari suatu comment dalam masukan SQL. Sama dengan perintah remark.
Untuk menandai awal comment yang dibuat per baris dalam masukan SQL. Mengenal semua kalimat yang ada pada baris tersebut sebagai comment. Sama dengan remark.
Set pause Membuat layer berhenti antara penampilan halaman report.
Save Menyimpan query SQL ke dalam file yang kita pilih.
Host Mengirimkan pesan ke host system operasi.
Start or @ Untuk mengeksekusi perintah yang telah disimpan dalam suatu file.
Edit Membuka editor yang dipilih.
Define_editor Memberikan nama dari editor yang dipilih kepada SQL Plus.
Exit or quit Mengakhiri pengeksekusian dari SQLPlus

 

 

 

Berikut merupakan gambaran dari proses pembuatan report.

 

 

 

 

 

 

 

 

Untuk memilih                                                             Membuat dan

Editor yang                                                                mengedit editor

disukai

 

 

 

SQL Plus

 

 

Perintah yang dijalankan

 

 

 

 

Menghasilkan report

 

 

 

 

Activity.lst

 

Perintah Manipulasi Data dan Kontrol Data Digunakan

 

  1. Database Manipulation Language (DML)

DML dipakai untuk menampilkan, menambah, mengubah, dan menghapus data di dalam objek-objek yang didefinisikan oleh DML. Perintah-perintah yang terdapat dalam DML, adalah:

 

  1. SELECT

Perintah SELECT akan mencari baris-baris yang terdapat dalam database sesuai dengan sumber tabel yang didefinisikan. Perintah dapat mencari baris-baris dari beberapa tabel.

Contoh:

Perintah:

SELECT * FROM EmployeeList

 

Hasil:

Menampilkan semua baris data yang ada pada tabel EmployeeList

 

Perintah di atas masih merupakan perintah SELECT yang sangat sederhana.

 

  1. INSERT

Perintah INSERT untuk menambahkan baris baru ke dalam sebuah table atau view.

Contoh:

Perintah:

INSERT INTO EmployeeList (EmployeeNo,EmployeeName, Address, Birthday)

VALUES

(‘IF02033’,’Rumanty Pardede’,’Medan’,’01-01-1980’)

 

Hasil:

Menambahkan data ke dalam tabel EmployeeList

 

  1. UPDATE

Perintah UPDATE digunakan untuk mengubah data dalam sebuah tabel.

Contoh:

Perintah:

UPDATE EmployeeList Set Address = ‘Balige’ WHERE EmployeeNo = ‘IF02033’

 

Hasil:

Mengubah alamat pada table EmployeeList dengan EmployeeNo = ‘IF02033’ menjadi ‘Balige’

 

 

  1. DELETE

Perintah DELETE dipakai untuk menghapus baris-baris dari sebuah table.

Contoh:

Perintah:

DELETE FROM EmployeeList

 

Hasil:

Menghapus semua baris data yang ada dalam tabel EmployeeList

 

Perintah di atas masih merupakan perintah DELETE yang sangat sederhana.

 

  1. Data Control Language (DCL)

DCL digunakan untuk mengontrol hak-hak suatu objek dalam database. Perintah-perintah yang dipakai seperti:

  1. Grant, dipakai untuk memberikan kepada user untuk mengakses sebuah database
  2. Revoke, dipakai untuk membuang hak yang telah diberikan kepada suatu user.

 

Locking Dijelaskan

Locking dalam pemograman basis data Oracle berarti pengelolaan untuk mencegah adanya interaksi yang buruk antar transaksi yang mengakses sumber data yang sama. Objek database yang biasanya terkena pengarh dari locking, adalah: objek user seperti table dan objek system yang tidak terlihat oleh user, seperti baris kamus data.

Dalam pemograman basisdata Oracle dikenal ada dua locking, yaitu:

  1. Pessimistic Locking

Walaupun secara default mekanisme locking untuk Enterprise Objects Framework adalah optimistic locking, tetapi Framework ini juga mendukung pessimistic locking.Tipe locking ini bekerja pada level database dan menghindari aplikasi lain atau user lain untuk mengambil data atau meng-update data yang sama pada waktu yang sama. Enteprise Objects Framework mendukung tiga mekanisme locking pada pessimistic locking, yaitu:

  • Lock On Select

Lock ini dieksekusi pada saat suatu objek diambil/ditarik ari database. Objek akan tetap di-lock sampai adanya pesan saveChanges atau kembali (revert) yang mempengaruhi objek tersebut. Sesudah pesan saveChanges atau kembali (revert) diterima maka lock akan dibebaskan. Supaya fungsi lock on select pada database dapat dijalankan, dapat digunakan metode EODatabasesContext’s setUpdateStrategy.  Keuntungan penggunaan dari lock on select, adalah:

  1. Mudah untuk mengimplementasikannya.
  2. Tidak seperti dua strategi lock lainnya, lock select hanya memerlukan satu pengambilan/penarikan untuk me-lock objek.

Kekurangan dari lock on select:

  1. Strategi mengunci objek lebih dari yang diharapkan.
  2. Penarikan (fetch) objek dapat meningkatkan exception pada saat kondisi basisdata deadlock.

 

  • Lock On Update

Lock on update mengunci (lock) objek segera sesudah suatu objek di-update. Ketika pertama kali suatu objek dimodifikasi, Enterprise Objects Framework menarik objek untuk di-update. Objek akan dikunci sampai pesan pertama saveChanges atau revert diterima. Untuk mengimplementasikan lock on update digunakan metode EOEditingContext’s setLocksObjectsBeforeFirstModification. Keuntungan dari strategi lock on update, adalah:

  1. Mudah untuk mengimplementasikannya.
  2. Penguncian objek akan dilakukan jika terjadi update objek.
  3. Mengurangi jumlah dari objek yang dikunci.

Kerugian dari lock on update, adalah:

  1. Dibutuhkan pengambilan/penarikan yang lebih untuk mengunci objek.
  2. Penarikan (fetch) objek dapat meningkatkan exception pada saat kondisi basisdata deadlock.

 

  • Lock On Request

Pengimlementasian lock on demand terjadi pada saat kita membutuhkannya. Objek akan dikunci sampai pesan pertama saveChanges atau revert diterima. Untuk mengimplementasikan lock on demand digunakan metode EOEditingContext’s lockObject. Keuntungan lock on demand, adalah:

  1. Kita dapat mengunci objek sesuai dengan kebutuhan.
  2. Walaupun strategi ini meningkatkan exception pada saat kondisi basisdata deadlock, tetapi lebih mudah untuk menangkap exception yang terjadi pada strategi ini dibandingkan dengan dua strategi lainnya.

Kerugian lock on demand, yaitu:

  1. Lebih sulit untuk mengimplementasikan lock on demand
  2. Dibutuhkan pengambilan/penarikan yang lebih untuk mengunci objek.

 

  1. Optimistic Locking

Seperti yang dikatakan sebelumnya bahwa secara default mekanisme locking untuk Enterprise Objects Framework adalah optimistic locking. Dengan menggunakan optimistic locking, baris data dan objek sebenarnya tidak pernah dikunci. Ketika objek pertama kali dibaca dari basisdata, Enterprise Objects Framework membuat foto (snapshot) dari objek tersebut. Sebelum data objek di-update foto dan baris data dibandingkan. Jika hasil perbandingan tersebut tidak sama, maka update gagal. Keuntungan dari optimistic locking adalah sebagai berikut, yaitu:

  1. Semua basisdata mendukung optimistic locking.
  2. Mudah digunakan
  3. Tidak membutuhkan sumber basisdata yang extra.

 

Kerugian dari optimistic locking, adalah:

  1. User tidak akan tahu bahwa user lain sedang melakukan perubahan/update terhadap objek, sampai user tersebut akan menyimpan hasil update.
  2. Proses update lambat.
  3. Semua aplikasi yang meng-update basisdata harus setuju bahwa kolom dikunci.

 

Perintah-perintah yang dimulai dengan UPDATE….SET……

Yang tidak didahului oleh perintah SELECT …FOR UPDATE merupakan salah satu contoh dari optimistic locking.

Obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots) Dijelaskan

Objek-objek ada pemograman basisdata pada Oracle mempunyai jumlah yang banyak, tetapi pada bagian ini penulis akan menjelaskan beberapa bagian saja.

  1. Views

View merupakan table virtual yang isinya didefinisikan oleh sebuah query. Sama seperti halnya table biasa, view mempunyai baris dan kolom tetapi view ini secara nyata tidak terdapat dalam database. Baris dan kolom dalam view berasal dari table-tabel yang diacu di dalam query yang mendefinisikan view tersebut yang dihasilkan secara dinamik pada saat view dipakai.

 

Formula untuk membuat view, adalah:

create [or replace] view <view-name> [(<column(s)>)] as

<select-statement> [with check option [constraint <name>]];

 

Keterangan formula:

  • Klausa yang berada pada tanda [], bersifat optional (tidak menjadi keharusan).
  • Create, untuk membuat view yang baru
  • Replace, untuk memindahkan view apabila view dengan nama yang didefinisikan sudah ada.
  • View-name, nama dari view.
  • Columns, judul kolom yang akan dipakai dalam view, jika nama kolom tidak didefinisikan, maka nama kolom akan diambil langsung dari nama kolom table yang diacu.
  • Select – statement, yaitu pernyataan untuk mengambil data yang akan menjadi bagian dari view.
  • Constrain name, nama dari constraint jika akan menggunakan constraint.

 

Contoh perintah untuk membuat view, yaitu:

CREATE VIEW v_NewEmployee AS

SELECT EmpID = EmpNo, Name=EmpName, Address= EmpAddr, [Join Date] = JoinDate FROM EmpList WHERE JoinDate > ’01-01-2007’

 

Formula untuk menghapus view, yaitu:

Delete view view_name

 

Contoh perintah untuk menghapus view, yaitu:

DELETE VIEW v_NewEmployee

 

Kegunaan dari pembuatan view, adalah:

  • Memfokus data tertentu.
  • Menyederhanakan manipulasi data.
  • Data yang ditampilkan disesuaikan dengan kebutuhan user.

 

  1. Clusters

Peng-cluster-an merupakan suatu metode untuk memyimpan tabel yang berhubungan erat dan sering di-join bersama ke dalam area yang sama dalam disk. Sebagai contoh walaupun tabel BOOKSHELF berada dalam satu seksi dalam disk dan BOOKSHELF_AUTHOR berada pada seksi yang lain, tetapi baris-baris kedua tabel tersebut dapat dibuat bersama dalam satu area, yang disebut cluster. Kunci dari cluster adalah kolom dalam tabel yang sering di-join. Berikut merupakan format dasar untuk membuat cluster, yaitu:

 

Create cluster cluster(tipe data kolom, [tipe data kolom]…) [option yang lain].

 

Sebagai contoh pembuatan cluster sederhana, adalah:

 

CREATE CLUSTER BookAndAuthor (Kol1 VARCHAR (100));

 

  1. Indexes

Indexes merupakan list dari kata kunci yang disertai oleh lokasi dari suatu informasi pada sebuah subjek. Sintaks untuk membuat indexes adalah:

 

Create [ bitmap | unique ] index index pada tabel (kolom [, kolom] …)

 

Sebuah indexes harus mempunyai nama yang unik dan mengikuti penamaan kolom Oracle. Tabel merupakan nama dari tabel yang akan dibangun indexes, dan kolom adalah nama dari kolom.  Suatu indexes tunggal dapat dibuat pada sekumpulan kolom, dengan me-list kolom sesudah yang lainnya, yang dipisahkan olh koma. Berikut adalah contoh pembuatan indexes:

 

Create unique index BA_TITLE_AUTHOR

ON BOOKSHELF_AUTHOR (Title, Authorname);

 

Untuk membuat constraint yang unik, maka primary key dari table harus dibuang dengan menggunakan kata kunci unique.

 

  1. Synonyms

Synonyms dapat dibuat untuk menyediakan suatu lokasi yang transparan untuk objek database yang jauh (remote database), seperti tabel, sequence, view, subprogram standalone, dan package. Walauun demikian, sysnonym tidak boleh dibuat untuk objek yang dideklarasaikan dalam suatu subprogram atau package. Hal ini mencakup constants, variables, cursors, cursor variables, exceptions, dan procedures packaged.

  1. Snapshots

Snapshots merupakan gambaran dari data yang sudah ada. Snapshot ini digunakan untuk membandingkan antara data yang akan di-update dengan data yang ada dalam snapshot. Snapshot ini dapat berperan dalam optimistic locking.

Explicit dan Implicit Cursors, Exception, Procedures, Functions dan Triggers Dibuat.

 

Dalam menampilkan baris data, banyaknya baris data yang ditampilkan bisa tidak ada, tetapi bisa juga banyak baris data tergantung dengan criteria yang diberikan pada query. Ketika suatu query menghasilkan baris data yang sangat banyak, Anda dapat secara eksplisit mendeklarasikan cursor untuk memproses baris data tersebut. Anda dapat mendeklarasikan kursor pada bagian pendeklarasian dari blok PL/SQL, subprogram atau suatu package.

 

  1. Explicit Cursors

Dalam mengontrol suatu kursor ada tiga perintah yang penting, yaitu: OPEN, FETCH, dan CLOSE. Pertama, menginisialisasi kursor dengan perintah OPEN, yang akan mengidentifikasi result set. Kemudian menggunakan perintah FETCH, untuk mengambl data dari database. Anda dapat mengeksekusi FETCH secara berulang-ulang untuk menampilkan semua data yang diinginkan. Ketika baris data terakhir sudah diproses, kemudian cursor dapat dibebaskan atau diakhiri dengan perintah CLOSE. Pemrosesan beberapa query dapat dilakukan secara paralel dengan mendeklarasikan dan membuka corsor berkali-kali.

 

Mendeklarasikan Cursor:

                                Formula: CURSOR cursor_name [(parameter[, parameter]...)]

IS select_statement;

Contoh:

DECLARE

CURSOR c1 IS SELECT empno, ename, job, sal FROM emp

WHERE sal > 2000;

CURSOR c2 IS SELECT * FROM dept WHERE deptno = 10;

 

 

  1. Implicit Cursors

Oracle secara implisit membuka sebuah cursor untuk memproses setiap pernyataan SQL yang tidak sesuai dengan suatu cursor yang dideklarasikan secara ekspilisit. PL/SQL mengijinkan untuk berhubungan dengan cursor yang  baru sebagai “SQL” cursor. Dalam implicit cursor tidak boleh digunakan pernyataan OPEN, FETCH, dan CLOSE untuk mengontrol cursor SQL. Tapi memperbolehkan pemakaian atribut cursor untuk memperoleh informasi tentang pernyataan/query SQL yang baru saja dieksekusi.

  1. Exception

Exception merupakan peringatan atau pemberitahuan adanya error dalam mengeksekusi suatu pernyataan. Exception ada yang langsung dibangkitkan oleh sistem yang disebut user defined, seperti exception tentang division by zero, out of memory. Tetapi kita juga dapat mendefinisikan sendiri suatu exception pada program yang kita buat atau dalam package, seperti pembuatan exception jika nilai penarikan uang seorang customer sudah melebihi limit yang dimiliki.

 

Exception akan dibangkitkan ketika suatu error terjadi dalam pengeksekusian suatu program. Berikut adalah contoh exception, yaitu:

DECLARE

pe_ratio NUMBER(3,1);

BEGIN

SELECT price / earnings INTO pe_ratio FROM stocks

WHERE symbol = ‘XYZ’;  — mempunyai peluang untuk menhasilkan division-by-zero error     INSERT INTO stats (symbol, ratio) VALUES (‘XYZ’, pe_ratio);

COMMIT;

EXCEPTION  — exception handlers begin

WHEN ZERO_DIVIDE THEN  — handles ‘division by zero’ error

INSERT INTO stats (symbol, ratio) VALUES (‘XYZ’, NULL);

COMMIT;

WHEN OTHERS THEN  — meng-handle error yang lain

ROLLBACK;

END;   — exception handlers and block berhenti.

 

Tetapi untuk pernyataan query yang terakhir kurang baik dalam mendefinisikan exception, yaitu penggunaan pernyataan INSERT yang kurang efisien. Pernyataan exception yang lebih baik adalah:

 

INSERT INTO stats (symbol, ratio)

SELECT symbol, DECODE(earnings, 0, NULL, price / earnings)

FROM stocks WHERE symbol = ‘XYZ’;

 

Exception mempunyai keuntungan dan kekurangan, yang termasuk keuntungan dari exception adalah:

  • Jika tidak menggunakan exception, maka setiap kali terjadi error, maka harus dilakukan pengecekan dan penelusuran program, contohnya:

 

BEGIN

SELECT …

– check for error bahwa data tidak ditemukan.

SELECT …

– check for error bahwa data tidak ditemukan.

SELECT …

– check for error bahwa data tidak ditemukan.

END;

 

  • Dapat menangani error dengan baik tanpa membutuhkan pengecekan code yang berkali-kali
  • Meningkatkan ketahanan, tidak perlu memikirkan pengecekan untuk setiap error yang terjadi.

 

Sedangkan kekurangan dari Exception adalah:

  • Exception hanya dapat menjerat pada saat terjadi runtime error.
  • Exception dapat menyembunyikan pernyataan yang dapat menyebabkan error.

 

  1. Procedures

Procedures merupakan subprogram yang melakukan suatu aksi/tugas tertentu. Sintaks untuk membuat procedures, adalah:

 

PROCEDURE name [(parameter[, parameter, ...])] IS

[deklarasi lokal]

BEGIN

Pernyataan eksekusi

[EXCEPTION

exception handlers]

END [nama];

Dimana parameter merupakan:

Nama_parameter [IN | OUT | IN OUT] tipe_data [{:= | DEFAULT} ekspresi]

Dalam parameter tidak boleh mengadakan constraint NOT NULL constraint dan juga tidak dapat medefinisikan constraint pada tipe data. Sebagai contoh pendeklarasian emp_id pada contoh di bawal ini adalah illegal.

PROCEDURE … (emp_id NUMBER(4)) IS  — illegal; harus NUMBER

BEGIN … END;

 

Prcedures mempunyai dua bagian besar yaitu spesifikasi dan  badan (body). Spesifikasi dimulai dengan kata kunci Procedure, dan bagian akhir yang ditandai dengan nama procedure atau list parameter. Parameter merupakan sesuatu yang optional (tidak wajib disertakan). Procedure yang tidak mempunyai parameter, tidak menggunakan tanda kurung. Sedangkan bagian badan prosedure dimulai dengan kata kunci IS dan diakhiri dengan kata kunci END.Contoh dari procedure dapat dilihat di bawah ini, dengan nama raise_salary.

 

PROCEDURE raise_salary (emp_id INTEGER, increase REAL) IS

current_salary REAL;

salary_missing EXCEPTION;

BEGIN

SELECT sal INTO current_salary FROM emp

WHERE empno = emp_id;

IF current_salary IS NULL THEN

RAISE salary_missing;

ELSE

UPDATE emp SET sal = sal + increase

WHERE empno = emp_id;

END IF;

EXCEPTION

WHEN NO_DATA_FOUND THEN

INSERT INTO emp_audit VALUES (emp_id, ‘No such number’);

WHEN salary_missing THEN

INSERT INTO emp_audit VALUES (emp_id, ‘Salary is null’);

END raise_salary;

 

Procedure dipanggil sebagai suatu pernyataan PL/SQL, sebagai contoh:

 

raise_salary(emp_num, amount);

 

  1. Functions

Function merupakan sebuah subprogram yang melakukan penghitingan sebuah nilai. Function dan procedure mempunyai  struktur yang sama, hanya saja function mengembalikan suatu nilai. Sintaks untuk function adalah sebagai berikut:

 

FUNCTION nama [(parameter[, parameter, ...])] RETURN datatype IS

[deklarasi lokal]

BEGIN

Pernyataan eksekusi

[EXCEPTION

exception handlers]

END [nama];

Dimana parameter merupakan:

Nama_parameter [IN | OUT | IN OUT] tipe data [{:= | DEFAULT} ekspresi]

 

Sama halnya dengan procedure, parameter dalam function juga tidak boleh mengadakan constraint NOT NULL constraint dan juga tidak dapat medefinisikan constraint pada tipe data.

 

Sama halnya dengan procedure, fungsi juga mempunyai dua bagian, yaitu spesifikasi dan badan (body). Spesifikasi function dimulai dengan kata kunci Function dan diakhiri dengan klausa Return, yang mana menspesifikasikan tipe data dari nilai hasil. . Parameter merupakan sesuatu yang optional (tidak wajib disertakan). Function yang tidak mempunyai parameter, tidak menggunakan tanda kurung. Sedangkan bagian badan prosedure dimulai dengan kata kunci IS dan diakhiri dengan kata kunci END dan diikuti oleh nama function yang optional. Badan function terdiri dari bagian pendeklarasian, bagian eksekusi, dan bagian exception handling.

 

  1. Triggers

Triggers mendefinisikan sebuah aksi dalam database yang akan dijalankan jika terjadi suatu modifikasi yang berhubungan dengan database. Oracle dapat secara otomats membangkitkan trigger sebelum dan sesudah terjadi pernyataan INSERT, UPDATE, atau DELETE yang mempengaruhi suatu tabel. Salah satu kegunaan dari triggers adalah untuk mengaudit modifikasi data. Sebagai contoh, trigger di bawah ini akan dibangkitkan jika emp diupdate.

 

CREATE TRIGGER audit_sal

AFTER UPDATE OF sal ON emp

FOR EACH ROW

BEGIN

INSERT INTO emp_audit VALUES …

END;

Anda dapat menggunakan semua pernyataan data manipulasi SQL dan beberapa pernyataan procedure dalam bagian pengeksekusian suatu trigger dalam sebuah database.

 

Konsep Data Dictionary Dijelaskan

Data dictionary pada Oracle merupakan komponen yang sangat penting dalam DBMS Oracle. Data dictionary menyimpan semua informasi tentang struktur dan objek dari suatu database, seperti: table, kolom, user, file data, dan lain-lain. Data yang tersimpan dalam Data dictionary disebut juga sebagai metadata. Walaupun sebenarnya metadata merupakan domain dari database administrator (DBA), tetapi Data dictionary merupakan bagian yang berharga bagi para end-user maupun para programmer. Data dictionary terdiri atas dua level, yaitu:

  1. Level internal yang berisi semua table dasar yang digunakan oleh berbagai komponen aplikasi DBMS dan biasanya tidak dapat diakses oleh end-users
  2. Level eksternal yang menyajikan sejumlah view pada table dasar untuk mengakses informasi melalui objek dan struktur pada level detail yang berbeda.

 

Data Dictionary Tabel

Apabila instalasi basisdata Oracle dilakukan, maka penginstalan ini sudah mencakup pembuatan tiga standar user dalam Oracle, yaitu: sys, system, dan public. Tabel dan view disediakan oleh kamus data yang berisi tentang:

  1. User dan hak-hak user.
  2. table, kolom-kolom dalam table dan tipe datanya, constrain dan index.
  3. Statistik tentang table dan index yang dipergunakan oleh pengoptimasi (optimizer).
  4. Hak yang diberikan untuk objek-objek database.
  5. Struktur penyimpanan dari database.

Untuk perintahnya, adalah:

SELECT * FROM DICT[IONARY];

Perintah di atas akan me-list semua table dan view yang dapat diakses oleh user. Sebelum melihat atau mempermasalahkan query di atas, coba cek setiap definisi kolom yang menggunakan deskripsi DICT[IONARY] dan set nilai yang cocok/sesuai untuk kolom yang menggunakan perintah format.

Untuk perintahnya, adalah:

SELECT * FROM TAB;

Perintah di atas untuk menarik semua table yang dimiliki oleh user yang menjalankan perintah. Sedangkan perintah di bawah ini untuk menampilkan semua informasi tentang kolom dari suatu table.

SELECT * FROM COL;

Setiap query SQL membutuhkan akses internal yang bervariasi untuk kamus data table dan view.

 

Data Dictionary Views

Level eksternal dari kamus data menyediakan kepada user sebuah front end untuk mengakses informasi yang relevan terhadap user. Level ini menampilkan sejumlah views yang mewakili data dari table dasar dalam cara yang dapat dibaca dan dimengerti. View ini disediakan oleh kamus data yang dibagi ke dalam tiga grup, yaitu: USER, ALL, dan DBA.

 

 

2) Ketrampilan Kerja

Melakukan restriksi, sorting, rules, defaults, dan constraining.

  • Mengumpulkan informasi mengenai restriksi, sorting, rules, defaults, dan constraining.
  • Melakukan restriksi, sorting, rules, defaults, dan constraining.

 

Sub-queries dan co-related queries dibuat.

  • Mengumpulkan informasi mengenai Sub-queries dan co-related queries.
  • Membuat Sub-queries dan co-related queries.

 

Ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language) dijelaskan.

  • Mengumpulkan informasi ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language).
  • Menjelaskan dan mengerti tentang ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language).

 

Fitur-fitur dan perintah dalam SQL*plus digunakan.

  • Mengumpulkan informasi ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language).
  • Menjelaskan dan mengerti tentang ekstensi dari DML (Data Manipulation Language) dan DDL (Data Definition Language).

 

Perintah manipulasi data dan kontrol data digunakan.

 

  • Mengumpulkan informasi perintah manipulasi data dan kontrol data.
  • Menggunakan perintah manipulasi data dan kontrol data..

 

Locking dijelaskan.

 

  • Mengumpulkan informasi dan referensi tentang locking.
  • Menjelaskan dan mengerti tentang locking.

 

Obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots) dijelaskan.

 

  • Mengumpulkan informasi obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots).
  • Menjelaskan dan mengerti tentang obyek-obyek Oracle (Views, clusters, indexes, synonyms, snapshots).

 

Explicit dan implicit cursors, exception, procedures, functions dan triggers dibuat.

 

  • Mengumpulkan informasi tentang explicit dan implicit cursors, exception, procedures, functions dan triggers.
  • Membuat explicit dan implicit cursors, exception, procedures, functions dan triggers.

 

Konsep data dictionary dijelaskan.

 

  • Mengumpulkan informasi dan referensi tentang konsep data dictionary.
  • Menjelaskan dan mengerti tentang konsep data dictionary.

 

 

3) Sikap Kerja

 

Sikap kerja ditunjukkan pada saat praktek di lingkungan kerja, .

  1. Mencari informasi dan referensi tentang restriksi, sorting, rules, defaults, constraining, sub-queries dan co-related queries, DML, DDL, DCL, obyek-obyek Oracle, dan objek lainnya
  2. Memahami dan mengerti tentang konsep objek-objek pada Oracle.
  3. Menerapkan penggunaan objek-objek Oracle tersebut.

4.5.2 Menerapkan PL/SQL

 

Pada bagian ini dijelaskan tentang variabel karakter set dan tipe data, komponen PL/SQL, cursor processing, PL/SQL Tables dan PL/SQL Wrappers.

 

1) Pengetahuan Kerja

Variable Character Set dan Tipe Data Dijelaskan

 

Character Set

Dalam menuliskan sebuah program PL/SQL, dibuat dalam bentuk baris teks yang menggunakan sekumpulan karakter yang spesifik, yang biasa disebut character set. Character set pada pemograman PL/SQL mencakup:

  • Huruf kecil dan huruf kapital, yaitu: A…Z dan a…z
  • Angka/numeric, yaitu: 0…9
  • Tabs, spasi, carriage returns.
  • Simbol-simbol, yaitu: ( ) + – * / < > = ! ~ ; : . ‘ @ % , ” # $ ^ & _ | { } ? [ ]

 

Pemograman PL/SQL tidak bersifat case sensitif, jadi antara huruf kecil dan huruf kapital sama dibaca oleh sistem.

 

Tipe Data

Setiap konstanta dan variable mempunyai tipe data, untuk menspesifikasikan format penyimpanan, constraint, dan range yang valid untuk sebuah nilai. PL/SQL menyediakan tipe data scalar dan gabungan (composite data type). Tipe scalar tidak mempunyai komponen internal, sedangkan tipe composite mempunyai komponen internal yang bisa dimanipulasi secara individu. Tipe reference mengandung nilai yang disebut pointer, yang merujuk ke program lain. Pada bagian ini, penulis akan menjelaskan tentang tie scalar.

 

Tipe scalar dibagi dalam empat kelompok, yaitu menyimpan angka/numeric, karakter/huruf, waktu (date/time), dan boolean. Untuk lebih jelas, akan dibahas di bawah ini.

  1. BINARY_INTEGER

Tipe BINARY_INTEGER digunakan untuk menyimpan signed integer. Rentang yang bisa ditampung adalah -2147483647 .. 2147483647. Seperti nilai PLS_INTEGER, nilai BINARY_INTEGER membutuhkan ukuran penyimpanan yang lebih kecil daripada nilai NUMBER.

 

  1. NUMBER

Tipe NUMBER digunakan untuk menyimpan fixed atau numeric floating point. Anda dapat menentukan presisi, yaitu total dari digit dan skala, yang menentukan pembulatan. Sintaksnya, adalah:

NUMBER(presisi/precision, skala/scale)

 

Kita tidak dapat menggunakan konstanta atau variable untuk mendefinisikan presisi dan skala, tetapi harus menggunakan integer. Maksimum presisi dari nilai NUMBER adalah 38 digit desimal, yang rentangnya berkisar 1.0E-129 .. 9.99E125. Jika kita tidak mendefinisikan presisi, maka secara default nilai presisi adalah nilai presisi maksimal yang didukung oleh system. Sedangkan untuk rentang presisi adalah antara -84 ke 127. Sebagai contoh jika diberikan skala 2 dari nilai 3.456 maka hasilnya adalah 3.46. Tipe NUMBER ini mempunyai subtype, yaitu:

  • DEC
  • DECIMAL
  • DOUBLE PRECISION
  • INTEGER
  • INT
  • NUMERIC
  • REAL
  • SMALLINT

Float merupakan sub tipe lain dari NUMBER

  1. PLS_INTEGER

Tipe PLS_INTEGER digunakan untuk menyimpan signed integer. Rentang yang bisa ditampung adalah -2147483647 .. 2147483647. nilai PLS_INTEGER membutuhkan ukuran penyimpanan yang lebih kecil daripada nilai NUMBER. PLS_INTEGER beroperasi dengan  menggunakan mesin aritmatik, sehingga operasinya lebih cepat daripada NUMBER dan BINARY_INTEGER yang menggunakan library aritmatik. Untuk performansi yang lebih baik, sebaiknya menggunakan PLS_INTEGER dalam operasi perhitungan.

 

Walaupun PLS_INTEGER dan  BINARY_INTEGER sama-sama tipe integer, dengan rentang yang sama, tetapi tidak sepenuhnya kedua tipe ini kompatibel. Ketika perhitungan pada PLS_INTEGER melebihi batas (overflow), maka akan membangkitkan exception, tetapi tidak untuk BINARY_INTEGER jika hasilnya dimasukkan ke dalam suatu variable NUMBER. Karena perbedaan kecil yang semantik ini, maka jika Anda membuat aplikasi lama gunakan BINARY_INTEGER untuk lebih kompatibel, dan PLS_INTEGER untuk aplikasi baru.

  1. CHAR

Tipe CHAR digunakan untuk menyimpan data karakter dengan panjang yang tetap (fixed-length). Bagaimana data ditampilkan secara internal tergantung dari character set pada database. Tipe data CHAR mempunyai parameter optional yang mengijinkan pemogram dengan panjang data sampai 32767 byte dari kolom LONG ke sebuah variabel CHAR(n).

  1. LONG

Tipe LONG digunakan untuk menyimpan data karakter dengan panjang yang berubah-ubah (variable-length). Tipe data LONG seoerti tipe data VARCHAR2, kecuali maksimum panjang data pada LONG, yaitu 32760 bytes.

  1. RAW

Tipe RAW digunakan untuk menyimpan data binary atau byte string. Tipe data RAW membutuhkan parameter yang bisa menampung sampai panjang , maksimum 32767 bytes. Sintaks untuk menggunakan, adalah:

RAW(Panjang Maksimum)

Dalam sintaks di atas penentuan panjang maksimum tidak bisa menggunakan konstanta atau variabel, tetapi dengan menggunakan sebuah literal integer.

  1. LONG RAW

Tipe LONG RAW digunakan untuk menyimpan data binary atau byte string. Tipe data LONG RAW sama seperti tipe data LONG, tetapi LONG RAW tidak dapat diterjemahkan oleh PL/SQL. Panjang maksimum untuk LONG RAW adalah 32760 bytes.

  1. ROWID

Secara internal, setiap basisdata dalam ORACLE mempunyai sebuah pseudocolumn ROWID, yang menyimpan nilai binary yang disebut rowids. Rowids secara unik mengidentifikasi baris dan menyediakan cara yang paling cepat untuk mengakses baris data tertentu. Tipe data Rowids digunakan untuk menyimpan rowids dalam format yang dapat dibaca. Panjang maksimum untuk Rowids adalah 256 bytes.

  1. VARCHAR2

Tipe VARCHAR2 digunakan untuk menyimpan data karakter dengan panjang yang berubah-ubah (variable-length). Bagaimana data ditampilkan secara internal tergantung pada character set dalam database. Tipe data VARCHAR2 membutuhkan parameter yang bisa menampung sampai panjang , maksimum 32767 bytes. Sintaks untuk menggunakan, adalah:

VARCHAR2(maximum_length)

Dalam sintaks di atas tidak bisa menggunakan konstanta atau variabel, tetapi dengan menggunakan sebuah literal integer.

VARCHAR2 mempunyai

10. BOOLEAN

Tipe data BOOLEAN digunakan untuk menyimpan nilai TRUE dan FALSE, dan bukan nilai NULL. Tipe BOOLEAN tidak memerlukan parameter. Hanya nilai TRUE dan FALSE, dan bukan nilai NULL yang dapat disimpan ke dalam variable BOOLEAN. Anda tidak dapat memasukkan nilai TRUE dan FALSE ke dalam database, dan juga tidak boleh mengambil data dari database untuk dimasukkan ke dalam variabel BOOLEAN.

11. DATE

Untuk menyimpan tipe data tanggal dengan panjang yang tetap (fixed-length).

 

Komponen PL/SQL Dijelaskan

Komponen PL/SQL merupakan bagian-bagian tertentu yang membangun suatu PL/SQL. Bagian-bagian dari PL/SQL adalah adanya perintah-perintah (baik itu DML, DDL, DCL,prosedur, fungsi dan lain-lain), parameter (yang berkaitan dengan fungsi-fungsi atau prosedur), dan elemen-elemen atau komponen-komponen bahasa. Komponen bahasa ini mencakup banyak hal, yang di antaranya, adalah:

  • Reading Syntax Definitions
  • Assignment Statement
  • Blocks
  • CLOSE Statement
  • Comments
  • COMMIT Statement
  • Constants and Variables
  • Cursor Attributes
  • Cursors
  • Cursor Variables
  • DELETE Statement
  • EXCEPTION_INIT Pragma
  • Exceptions
  • EXIT Statement
  • Expressions
  • FETCH Statement
  • Functions
  • GOTO Statement
  • IF Statement
  • INSERT Statement
  • Literals
  • LOCK TABLE Statement
  • LOOP Statements
  • NULL Statement
  • OPEN Statement
  • OPEN-FOR Statement
  • Packages
  • PL/SQL Table Attributes
  • PL/SQL Tables
  • Procedures
  • RAISE Statement
  • Records
  • RETURN Statement
  • ROLLBACK Statement
  • %ROWTYPE Attribute
  • SAVEPOINT Statement
  • SELECT INTO Statement
  • SET TRANSACTION Statement
  • SQL Cursor
  • SQLCODE Function
  • SQLERRM Function
  • %TYPE Attribute
  • UPDATE Statement

 

Cursor Processing Dijelaskan

Seperti yang telah dijelaskan sebelumnya, cursor terdiri atas dua jenis, yaitu explicit cursor and implicit cursor.  Pada explicit cursor, pemrosesan dimulai dari pengidentifikasian result set yang akan dieksekusi dengan menggunakan perintah OPEN. Kemudian setelah mengidentifikasi result set, query akan mengambil atau menarik data yang sesuai dengan spesifikasi dengan menggunakan perintah FETCH. Dan yang terakhir dilakukan adalah pembebasan cursor dengan perintah CLOSE, setelah baris data yang terakhir diproses.

 

Sedangkan pada implicit cursor, Oracle yang bekerja secara implicit untuk membuka cursor untuk memproses setiap pernyataan SQL yang tidak berhubungan dengan operasi yang dilakukan oleh explicit cursor. Implicit cursor mengembalikan atau menampilkan informasi tentang pengeksekusian dari pernyataan INSERT, UPDATE, DELETE, or SELECT INTO.

PL/SQL Tables dan PL/SQL Wrappers Digunakan

Pada bagian ini akan dijelaskan tentang PL/SQL tables dan PL/SQL Wrappers.

  1. PL/SQL Tables

PL/SQL Table merupakan cara PL/SQL untuk menyediakan data dalam bentuk array. Arrays seperti table temporary dalam memory dan diproses dengan waktu yang sangat cepat. Dalam mendeklarasikan sebuah PL/SQL Table ada dua langkah. Pertama, mendefinisikan struktur tabel dengan menggunakan pernyataan TYPE. Kedua, sekali suatu tipe tabel dibuat, kemudian Anda  bisa mendeklarasikan tabel yang sebenarnya.

 

Sebagai contoh:

DECLARE

– Table structure definition

TYPE NameType IS TABLE OF

Customer.name_name%TYPE

INDEX BY BINARY_INTEGER;

– Create the actual table

CnameTab NameType;

KnameTab NameType;

BEGIN

NULL; — …

END;

 

Untuk memodifikasi baris PL/SQL Table, maka kita perlu untuk mengidentifikasi tabel dan index-nya, dengan sintaks:

<table_name> (<index_value>)

Tipe data untuk nilai index harus kompatibel dengan tipe data BINARY_INTEGER. Berikut adalah atribut yang dapat digunakan untuk memperoleh informasi tentang sebuah PL/SQL Tabel atau memodifikasi baris dalam PL/SQL Table. Atribut tersebut adalah:

  • Delete, untuk mengahapus baris data dalam tabel.
  • Exists, mengembalikan nilai true jika kategori yang dibuat dalam query dipenuhi.
  • Count, mengembalikan jumlah baris dalam suatu tabel.
  • First, mengembalikan nilai index dari baris data pertama dalam tabel.
  • Last, mengembalikan nilai index dari baris data terakhir dalam tabel.
  • Next, mengembalikan nilai index dari baris data berikutnya dari baris data dimaksud dalam tabel.
  • Prior, mengembalikan nilai index dari baris data sebelumnya dari baris data dimaksud dalam tabel.

 

  1. PL/SQL Wrappers

PL/SQL Wrappers mengkonversi source code PL/SQL ke dalam form intermediate dari suatu kode objek. Dengan menyembunyikan aplikasi internal, pembungkusan (wrapper) mencegah adanya:

  • Penyalahgunaan aplikasi dari para programmer lain.
  • Pembongkaran/penyebaran algoritma Anda ke para perusahaan competitor.

Kode wrappers sama mudahnya dengan source code. Compiler PL/SQL mengenal dan mengisi unit kompilasi wrapper secara otomatis. Keuntungan dari PL/SQL Wrappers lainnya adalah:

  • Tidak terikat pada suatu platform tertentu (Platform independence).
  • Pengisian secara dinamik.
  • Pengikatan (binding) secara dinamik.
  • Pengecekan keterkaitan yang sempurna/keras.
  • Pengimportan dan pengeksporan yang normal.

Untuk menjalankan PL/SQL Wrappers, masukkan perintah pembungkusan wrap pada prompt sistem operasi, dengan perintah sebagai berikut:

wrap iname=input_file [oname=output_file]

Perintah wrap membutuhkan hanya satu argument, dimana:

Iname = input_file

Input_file merupakan alamat dan nama dari file inputan yang dibungkus. Anda tidak perlu untuk menspesifikasikan ekstensi file karena defaultnya sql. Sebagai contoh kedua kode dibawah ini adalah sama.

wrap iname=/mydir/myfile

wrap iname=/mydir/myfile.sql

 

2) Ketrampilan Kerja

Variabel Character Set dan Tipe Data dijelaskan.

  • Mengumpulkan informasi mengenai Variabel Character Set dan Tipe Data.
  • Menjelaskan dan mengerti tentang Variabel Character Set dan Tipe Data.

 

Komponen PL/SQL dijelaskan.

  • Mengumpulkan informasi mengenai komponen PL/SQL.
  • Menjelaskan dan mengerti tentang komponen PL/SQL.

Cursor processing dijelaskan.

  • Mengumpulkan informasi dan referensi tentang cursor processing.
  • Menjelaskan dan mengerti tentang cursor processing.

 

PL/SQL Tables dan PL/SQL Qrappers digunakan.

  • Mengumpulkan informasi dan panduan tentang PL/SQL Tables dan PL/SQL Qrappers.
  • Menjelaskan dan mengerti tentang PL/SQL Tables dan PL/SQL Qrappers.

 

3) Sikap Kerja

 

Sikap kerja ditunjukkan pada saat praktek di lingkungan kerja, .

  1. Mencari informasi dan referensi tentang Variabel Character Set dan Tipe Data, komponen PL/SQL, cursor processing, dan PL/SQL Tables dan PL/SQL Qrappers.
  2. Memahami dan mengerti tentang Variabel Character Set dan Tipe Data, komponen PL/SQL, cursor processing, dan PL/SQL Tables dan PL/SQL Qrappers.
  3. Menerapkan penggunaan Variabel Character Set dan Tipe Data, komponen PL/SQL, cursor processing, dan PL/SQL Tables dan PL/SQL Qrappers.

 

4.5.3  Menerapkan Oracle Tindak Lanjut

 

Pada bagian ini akan dijelaskan tentang bagaimana aliran (flow) dari proses case, mereferensikan PL/SQL Record ke dalam DML, bagaimana menghasilkan bulk binding, dan run time dinamik SQL.

 

1) Pengetahuan Kerja

Flow Proses Case Dijelaskan

Pernyataan case dapat digunakan untuk mengontrol adanya logika yang bercabang dalam suatu blok PL/SQL. Sebagai contoh, case dapat digunakan untuk memberikan nilai secara kondisional atau untuk mengubah nilai sebelum menginsert nilai ke dalamnya. Berikut adalah contoh dari ekspresi case.

Declare

Pi      constant NUMBER (9,7) := 3.1415927;

Area         NUMBER (14,2);

Cursor rad_cursor is

SELECT * FROM Radius_Value

Rad_val rad_cursor%ROWTYPE;

BEGIN

Open rad_cursor

Loop

Fetch rad_cursor into rad_value;

Exit when rad_cursor%NOTFOUND;

Area := pi * power(rad_val.radius,2);

Case:

When rad_val.radius = 3 then

Insert into ar

eas values (rad_val.radius,area);

When rad_val.radius = 4 then

Insert into areas values (rad_val.radius,area);

Else raise CASE_NOT_FOUND;

End case;

End loop;

Close rad_cursor;

End;

Pemrosesan ekspresi case dilakukan dengan memeriksa inputan yang diberikan, dan menyesuaikan nilai tersebut ke parameter case yang diberikan. Jika ada yang sesuai maka akan dijalankan sesuai dengan parameter tersebut, tetapi jika tidak ada yang sesuai maka akan diberikan nilai default.

PL/SQL Record ke dalam DML Direferensikan

 

Mereferensikan suatu record PL/SQL merupakan metode untuk menjaga agar record PL/SQL menunjuk ke suatu obejk database yang benar dan juga memastikan hubungan antara objek dalam PL/SQL berjalan dengan baik, selain itu untuk menjaga agar record pada suatu objek, seperti table merujuk pada nilai yang memang ada. Seperti halnya value domain constraint atau yang sering juga disebut value constraint mereferensikan suatu constraint kepada nilai yang lain. Dalam mereferensikan suatu record PL/SQL ke dalam DML, akan dibahas juga tentang integritas referensial.

Integritas referensial adalah seperangkat aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berada dalam suatu basis data relasional untuk menjaga konsistensi data. Tujuan integritas referensial sendiri adalah untuk menjamin dan memastikan agar entitas dalam suatu tabel yang menunjuk ke suatu pengenal unik pada suatu baris di tabel lain benar-benar menunjuk pada nilai yang memang ada.

 

Berdasarkan operasi yang dilakukan, integritas referensial dapat dibedakan sebagai berikut:

  1. penambahan (insert)
  2. penghapusan (delete)
  3. peremajaan (update)

Integritas referensial membuat ketiga operasi di atas dapat dilaksanakan pada tabel yang memiliki relasi. Sehingga proses penghapusan ataupun peremajaan suatu kolom juga akan terjadi pada kolom tabel lain yang mempunyai referensi dengannya.

Bulk Binding Dihasilkan

Bulk Binding dalam PL/SQL merupakan sebuah teknik yang sangat penting untuk pemrosesan yang efesien untuk Data Manipulation Language (DML) yang dinamic. Walaupun pernyataan SELECT, INSERT, UPDATE, atau DELETE dieksekusi secara berkali-kali untuk mengambil data dari database, menyimpan ke dalam tabel, semua operasi dilakukan dalam satu waktu, dalam bulk. Bulk binding mencegah atau menghindari adanya pergantian switching antara engine SQL dan engine PL/SQL. Sebagai contoh, pada perulangan For dalam Pl/SQL, blok akan melakukan pergantian switching antara engine SQL dan engine PL/SQL untuk pemrosesan setiap baris yang menurunkan performansi dari blok Pl/SQL. Sebagai contoh lain, berikut ini merupakan query DELETE yang dikirim ke engine SQL dengan setiap perulangan dari perulangan (loop) for.

 

DECLARE

TYPE NumList IS VARRAY(20) OF NUMBER;

depts NumList := NumList(10, 30, 70);  — department numbers

BEGIN

FOR i IN depts.FIRST..depts.LAST LOOP

DELETE FROM emp WHERE deptno = depts(i);

END LOOP;

END;

Run Time Dinamic SQL Dijelaskan

Dinamic SQL merupakan merupakan sebuah interface PL/SQL yang membuat aplikasi lebih fleksibel dan serba guna. Beberapa program harus membangun dan memproses beberapa jenis query pada saat run time. Pada kasus ini, pernyataan text sepenuhnyatidak diketahui sampai run time. Beberapa pernyataan dapat  dan akan berubah dari eksekusi yang satu ke eksekusi lainnya, hal inilah yang disebut Dinamic SQL. Dinamic SQL dibutuhkan dalam hal:

  • Jika akan mengeksekusi sebuah query data definition SQL (seperti CREATE), sebuah data control (seperti GRANT), atau pernyatan kontrol sebuah session (seperti ALTER SESSION). Dalam PL/SQL beberapa perntayaan ada yang tidak dapat dieksekusi secara statik.
  • Untuk program yang lebih fleksibel. Sebagai contoh jika ingin program kita membangun kondisi pencarian yang berbeda untuk klausa WHERE dari sebuah pernyataan SELECT. Sebuah program yang kompleks harus memilih dari bermacam-macam operasi, klausa SQL, dan lain-lain.
  • Jika ingin menggunakan package DBMS_SQL untuk mengeksekusi pernyataan SQL secara dinamik, tetapi mempunyai performansi yang baik.

Berikut cara menggunakan dinamik SQL dengan menggunakan pernyataan EXECUTE IMMEDIATE, sintaksnya adalah:

EXECUTE IMMEDIATE string dinamik

[INTO {definisi variabel[,definisi variabel]… | record}]

[USING [IN | OUT | IN OUT] argument yang diikat

[, [IN | OUT | IN OUT] argument yang diikat]…]

[{RETURNING | RETURN} INTO argument yang diikat [,argument yang diikat]…];

 

pada saat run time, argumen yang diikat mengganti placeholder yang berhubungan dalam string dinamik. Jadi setiap palceholder harus berhubungan dengan argumen bind dalam penggunaan klausa dan/atau klausa RETURNING INTO. Query ini yang dijalankan pada saat run time.

Contoh penerapan query ini adalah:

DECLARE

sql_stmt    VARCHAR2(200);

plsql_block VARCHAR2(500);

emp_id      NUMBER(4) := 7566;

salary      NUMBER(7,2);

dept_id     NUMBER(2) := 50;

dept_name   VARCHAR2(14) := ‘PERSONNEL’;

location    VARCHAR2(13) := ‘DALLAS’;

emp_rec     emp%ROWTYPE;

BEGIN

 

EXECUTE IMMEDIATE ‘CREATE TABLE bonus (id NUMBER, amt NUMBER)’;

 

sql_stmt := ‘INSERT INTO dept VALUES (:1, :2, :3)’;

EXECUTE IMMEDIATE sql_stmt USING dept_id, dept_name, location;

 

sql_stmt := ‘SELECT * FROM emp WHERE empno = :id’;

EXECUTE IMMEDIATE sql_stmt INTO emp_rec USING emp_id;

 

plsql_block := ‘BEGIN emp_pkg.raise_salary(:id, :amt); END;’;

EXECUTE IMMEDIATE plsql_block USING 7788, 500;

 

sql_stmt := ‘UPDATE emp SET sal = 2000 WHERE empno = :1

RETURNING sal INTO :2′;

EXECUTE IMMEDIATE sql_stmt USING emp_id RETURNING INTO salary;

EXECUTE IMMEDIATE ‘DELETE FROM dept WHERE deptno = :num’

USING dept_id;

EXECUTE IMMEDIATE ‘ALTER SESSION SET SQL_TRACE TRUE’;

 

END;

 

2) Ketrampilan Kerja

Flow proses CASE dilakukan.

  • Mengumpulkan informasi mengenai flow proses CASE.
  • Melakukan flow proses CASE.

PL/SQL record ke dalam DML direferensikan.

  • Mengumpulkan informasi mengenai PL/SQL record.
  • Mereferensikan PL/SQL record ke dalam DML.

Bulk binding dihasilkan.

  • Mengumpulkan informasi dan referensi tentang bulk binding.
  • Menghasilkan bulk binding.

Run time dynamic SQL dijelaskan.

  • Mengumpulkan informasi dan panduan tentang run time dynamic SQL.
  • Menjelaskan dan mengerti tentang run time dynamic SQL.

 

3) Sikap Kerja

 

Sikap kerja ditunjukkan pada saat praktek di lingkungan kerja .

  1. Mencari informasi dan referensi tentang flow proses CASE, PL/SQL record, bulk binding, dan run time dynamic SQL.
  2. Memahami dan mengerti tentang flow proses CASE, PL/SQL record, bulk binding, dan run time dynamic SQL.
  3. Menerapkan penggunaan flow proses CASE, PL/SQL record, bulk binding, dan run time dynamic SQL.

 

 


BAB V

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI

 

5.1 Sumber Daya Manusia

 

Sumber daya manusia yang dimaksud dalam pencapaian kompetesi ini adalah orang yang terlibat dalam pencapaian kompetensi, yang terdiri dari pelatih, penilai dan teman-teman sekerja lainnya.

 

Pelatih

 

Pelatih Anda dipilih karena dia telah berpengalaman. Peran Pelatih adalah untuk :

  1. Membantu Anda untuk merencanakan proses belajar.
  2. Membimbing Anda melalui tugas-tugas pelatihan yang dijelaskan dalam tahap belajar.
  3. Membantu Anda untuk memahami konsep dan praktik baru dan untuk menjawab pertanyaan Anda mengenai proses belajar Anda.
  4. Membantu anda untuk menentukan dan mengakses sumber tambahan lain yang Anda perlukan untuk belajar Anda.
  5. Mengorganisir kegiatan belajar kelompok jika diperlukan.
  6. Merencanakan seorang ahli dari tempat kerja untuk membantu jika diperlukan.

 

Penilai

 

Penilai Anda melaksanakan program pelatihan terstruktur untuk penilaian di tempat kerja. Penilai akan :

  1. Melaksanakan penilaian apabila Anda telah siap dan merencanakan proses belajar dan penilaian selanjutnya dengan Anda.
  2. Menjelaskan kepada Anda mengenai bagian yang perlu untuk diperbaiki dan merundingkan rencana pelatihan selanjutnya dengan Anda.
  3. 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.    Sumber-sumber Kepustakaan ( Buku Informasi )

 

Pengertian sumber-sumber kepustakaan (Buku Informasi) adalah material yang menjadi pendukung proses pembelajaran ketika peserta pelatihan sedang menggunakan Pedoman Belajar ini.

Sumber-sumber tersebut dapat meliputi :

  1. Buku referensi (text book)/ buku manual servis
  2. Lembar kerja
  3. Diagram-diagram, gambar
  4. Contoh tugas kerja
  5. Rekaman dalam bentuk kaset, video, film dan lain-lain.
  6. Dengan melakukan browsing untuk mencari bahan-bahan pelatihan di Internet.

Ada beberapa sumber yang disebutkan dalam pedoman belajar ini untuk membantu peserta pelatihan mencapai unjuk kerja yang tercakup pada suatu unit kompetensi.

Prinsip-prinsip dalam CBT mendorong kefleksibilitasan dari penggunaan sumber-sumber yang terbaik dalam suatu unit kompetensi tertentu, dengan mengijinkan peserta untuk menggunakan sumber-sumber alternatif lain yang lebih baik atau jika ternyata sumber-sumber yang direkomendasikan dalam pedoman belajar ini tidak tersedia/tidak ada.

5.3         Daftar Peralatan dan Bahan yang digunakan

 

  1. Judul/Nama Pelatihan        :    Membuat Program Basis Data Berbasis PL/SQL (Oracle)
  2. Kode Program Pelatihan    :    TIK.PR08.005.01

 

 

NO

UNIT

KOMPETENSI

KODE UNIT

DAFTAR PERALATAN

DAFTAR BAHAN

KETERANGAN

1.

Membuat Program Basis Data Berbasis PL/SQL (Oracle)

TIK.PR08.005.01

- Unit PC (Personal Computer) dengan pemograman Oracle terdapat di dalamnya

- Software untuk mengidentifikasi pemograman basis data Oracle

 

- Buku panduan tentang PL/SQL dalam oracle

- Buku panduan  tentang bagaimana melakukan programming dalam pemograman Oracle

- Buku informasi tentang exception yang terjadi dalam Oracle

- Buku Panduan tentang dinamik dan static SQL.

- Buku-buku online yang di-download dari internet dan contoh-contoh pemograman Oracle.

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


DAFTAR PUSTAKA

 

  • Buku
    • Ir. Inge Martina, Microsoft SQL Server 2000, PT. Elex Media Komputindo Jakarta. 2003
    • Kevin Loney, George Koch, Oracle91: The Complete Reference, Tata McGraw-Hill Publishing Company Limited. 2003
    • Simon Watt, SQL*Plus User’s Guide and Reference, Release 10.1. 2003

 

 

Testimoni

artikel lainnya Membuat Program Basis Data Berbasis PL/SQL (Oracle) TIK.PR08.005.01



bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online

bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online
Friday 5 June 2015 | blog

SUKSES TANPA MODAL Oleh : Arif Isnaini, SH, SE, MM Pendahuluan SUKSES TANPA MODAL Orang sukses…

Sunday 2 August 2015 | blog

MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI         MELAKUKAN INSTALASI DRIVER…

Monday 15 December 2014 | blog

  MODUL PELATIHAN BERBASIS KOMPETENSI SUB BIDANG METODOLOGI PELATIHAN KERJA     MERANCANG MEDIA PEMBELAJARAN DALAM…

Wednesday 6 February 2013 | blog

Terkadang kita bersemangat untuk memulai bisnis namun tidak mengetahui harus darimana kita memulai. Pada e book…