Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Oracle Database memiliki bahasa pemrograman PL/SQL yang digunakan untuk memperluas kemampuan dan fleksibilitas database melalui berbagai trigger, fungsi, dan stored procedure. Agar source code (kode sumber) PL/SQL tidak terlihat oleh orang lain, Oracle Database memiliki fitur wrap sehingga cara kerja trigger, fungsi, atau stored procedure yang dibuat dengan bahasa pemrograman PL/SQL tidak bisa diketahui atau dipelajari oleh orang lain.

Dengan bantuan tool Oracle SQL Developer, kita bisa membuat berbagai obyek database dengan lebih cepat, mudah, dan nyaman. Oracle SQL Developer versi terbaru saat ini yaitu 4.1.5 bisa diunduh secara gratis dari:

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 1

Sebagai contoh, kita bisa membuat sebuah fungsi PL/SQL yang sederhana untuk menghitung pajak seperti berikut melalui Oracle SQL Developer:

CREATE OR REPLACE FUNCTION HITUNG_PAJAK (NILAI IN NUMBER)

RETURN NUMBER AS

HASIL NUMBER;

BEGIN

HASIL := NILAI * 0.1;

RETURN HASIL;

END HITUNG_PAJAK;

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 2

Untuk menyembunyikan kode sumber fungsi HITUNG_PAJAK dengan fitur wrap di Oracle Database, pertama script kode sumber perlu disimpan sebagai file agar kita memiliki master kode sumber asli dari fungsi tersebut sehingga masih bisa diedit lagi bila perlu. Cara membuat file scriptnya adalah dengan melakukan klik kanan pada nama fungsi tersebut dan memilih “Quick DDL” kemudian “Save to File…” seperti berikut:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 3

Setelah menyimpan file script fungsi tersebut, misalnya ke “C:\script\hitung_pajak.sql”, bukalah Command Prompt (perintah “cmd”) di Windows. Melalui Command Prompt, gunakan perintah “cd” untuk berpindah ke folder dimana file “hitung_pajak.sql” berada dan kemudian jalankan perintah “wrap iname=hitung_pajak.sql” yang akan menghasilkan file baru bernama “hitung_pajak.plb”. File baru ini berisikan kode fungsi yang sudah di-wrap dan tidak bisa dibaca lagi kode sumbernya. Perintah “wrap” merupakan tool bawaan dari Oracle Database. Berikut adalah hasil eksekusinya:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 4

Untuk mengganti fungsi HITUNG_PAJAK yang masih terlihat kode sumbernya dengan kode wrap yang ada di file “hitung_pajak.plb”, maka tool SQL*Plus bawaan Oracle Database bisa digunakan untuk menjalankan file script “hitung_pajak.plb”. Format perintah adalah “sqlplus username/password @scriptfile”. Berikut adalah contoh perintah untuk menjalankan file script “hitung_pajak.plb” sebagai user “scott” dengan password “tiger”:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 5

Bila kita melihat kembali fungsi HITUNG_PAJAK melalui Oracle SQL Developer, hasilnya menjadi seperti berikut:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 6

Perhatikan bahwa kode sumber fungsi tersebut sudah tidak bisa dibaca lagi, namun masih tetap bisa jalan seperti biasa di Oracle Database. Dengan demikian, kita mampu melakukan proteksi terhadap kode PL/SQL yang kita buat dengan memanfaatkan fitur wrap di Oracle Database sehingga kode sumbernya tidak bisa dibaca dan dipelajari oleh orang lain.

Selamat mencoba!

Andrian The

Instruktur Senior

Digital Mastery : Seberapa Digital Institusi Anda?

Digital Mastery : Seberapa Digital Institusi Anda?

Digital Mastery : Seberapa Digital Institusi Anda?

Sejarah memperlihatkan bagaimana perusahaan raksasa dunia seperti Kodak dan Nokia tergilas dalam era digital. Inovasi dan agility menjadi kunci untuk  sebuah  perusahaan beradaptasi  dalam  perubahan  budaya  digital yang  menyentuh  hampir seluruh  aspek kehidupan.

Digital menjadi alasan untuk mengusung transformasi, inovasi dan bisnis. Tujuannya adalah untuk meningkatkan keuntungan perusahaan. Lalu apa saja faktor yang mempengaruhi penguasaan digital sebuah institusi? Dalam Community Day kali ini akan mengupas banyak hal penting mengenai Digital Mastery. Kemudian temukan, Seberapa Digital Institusi Anda?

Narasumber        : Andi Yuniantoro (Direktur Inixindo Jogja)

Hari, tanggal       : Kamis, 23 Februari 2017

Waktu                    : 14.00 – selesai

Tempat                  : Inixindo Jogja, Jalan Kenari No. 69 Yogyakarta

Kami mengundang seluruh BUMD se-Jawa Tengah dan Daerah Istimewa Yogyakarta dalam Community Day Digital Mastery : Seberapa Digital Institusi Anda? Undangan berlaku untuk 2 orang bagi setiap institusi dan GRATIS. Segera konfirmasikan kehadiran Anda!

This form does not exist