Day 3: Pengembangan Aplikasi Dengan Oracle


Learning In HomeOriginal Date: 15 Januari 2009

Aku menemukan satu hal yang cukup menjebak berkaitan dengan format tanggal untuk tahun dua digit. Jika nilai 15-01-92 diformat dengan DD-MM-YY, maka tahun yang dimaksud adalah 2092, bukan 1992. Itu karena format YY akan memakai nilai abad yang saat ini, yaitu 2000, bukan abad lalu, 1900. Jika aku memakai format DD-MM-RR, aku akan mendapatkan tahun 1992. Format RR akan mengubah tahun ke 19xx jika nilai RR berkisar dari 50 sampai 99, dan mengubah tahun ke 20xx jika nilai RR berkisar dari 00 hingga 49 (PS: ini berlaku jika tahun sistem antara 2000 sampai 2049).

O ya, Oracle juga memiliki fungsi untuk pencarian berdasaran regular expression (regex). Ini adalah contoh query untuk mencari kode barang yang tidak sesuai dengan format yang telah ditentukan dengan memanfaatkan regex:


select * from latihan where
  not regexp_like(kodebarang,
    '[a-zA-Z0-9]{1,2}\-[0-9]{3}/[0-9]{2}/[0-9]{2}');

Dengan PL/SQL dan Oracle HTTP Server, programmer sudah bisa membangun aplikasi berbasis web. Salah satu contoh aplikasi web yang dibangun dengan cara seperti ini, yang sudah pernah aku lihat, adalah Oracle Workflow Homepage.

Hari ini, aku mencoba latihan membuat aplikasi web dengan PL/SQL dan Oracle HTTP Server. Pertama-tama aku menambahkan entry DAD baru terlebih dahulu, seperti:


<Location /latihan>
  SetHandler pls_handler
  Order deny,allow
  Allow from all
  PlsqlDatabaseConnectString localhost:1521:latihan
  PlsqlAuthenticationMode Basic
  PlsqlDefaultPage latihanWebApp.home
</Location>

Dari DAD diatas, terlihat bahwa PL/SQL procedure yang akan dipanggil pertama kali adalah procedure home yang terletak di package latihanWebApp. Disini, aku membiarkan authentification dilakukan melalui browser sesuai dengan user dan password di database Oracle.

Berikutnya, aku akan membuat sebuah package baru dengan nama latihanWebApp yang di dalamnya berisi sebuah procedure seperti berikut ini:


  PROCEDURE HOME AS
  BEGIN
    htp.print('<html><head><title>TEST</title>

    <body><h1>Hello World</h1></body></html>');
  END HOME;

Seperti yang bisa ditebak, saat mengetik URL http://localhost:7777/latihan di browser. aku akan diminta login. Aku mengisi dengan user pemilik schema dimana package latihanWebApp berada, setelah itu, akan muncul tulisan Hello World di browser.

Untuk ber-interaksi dengan user, aku bisa menggunakan form di HTML dan memproses nilainya sebagai parameter di procedure PL/SQL. Sebagai contoh, aku mengubah procedure home untuk menampilkan form HTML:


  htp.print('<html><head>
    <title>test</title></head>');
  htp.print('<body>');
  htp.print('<form action="latihanwebapp.proses"
     method="GET">');
  htp.print('Nama Depan:
     <input type="text" name="namaDepan" />');
  htp.print('Nama Belakang:
     <input type="text" name="namaBelakang" />');
  htp.print('<input type="submit"/>');
  htp.print('</form></body></html>');

Prosedur di atas menghasilkan form HTML yang akan mengirimkan variabel melalui method GET ke procedure proses di package latihanWebApp. Isi procedure tersebut kira-kira seperti:


  PROCEDURE PROSES (namaDepan IN VARCHAR2,
     namaBelakang IN VARCHAR2) AS
  BEGIN
    htp.print('<html><head>

       <title>proses</title></head><body>');
    htp.print('Nama Depan = ' || namaDepan);
    htp.print(' dan Nama Belakang = '
       || namaBelakang);
    htp.print('</body></html>');
  END PROSES;

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: