Konsep Perl, CGI dan Server Side Scripting

| 0 Comments


Perl merupakan singkatan dari Practical Extraction and Report Language, dibuat oleh Larry Wall. Perl adalah bahasa interpreter sekaligus kompiler, artinya Perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan. Perl juga mirip dengan bahasa C sehingga programmer C pun dapat mempelajari Perl dengan cepat dan mudah. Salah satu contoh kemiripan C dengan Perl adalah adanya tanda titik koma atau semiclon ";" pada akhir suatu perintah. Kelebihan yang lain adalah bahwa bahasa Perl dapat menangani string dan ekspresi dengan baik. Perl sendiri merupakan program yang dibuat khusus untuk UNIX. Namun demikian bagi para pengguna windows 95 dan windows NT masih dapat menggunakan Perl for win32 yang disebut sebagai activePerl (sesuai dengan nama alamat web penyedia Perl for Win32 tersebut. Active Perl dibuat setelah Perl Versi 5 for Unix diedarkan.

Perl dirancang untuk menjembatani ketimpangan diantara kedua level bahasa pemrograman di atas.  Bahasa ini kerap digunakan untuk menulis program web server seperti otomatisasi task di internet, mengupdate user account, posting newsgroup dan Iain-lain. Perl adalah bahasa interpreter sekaligus kompiler, artinya Perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan.


Perl sangat cocok digunakan untuk menyelesaikan persoalan yang berkaitan dengan teks. Lebih kurang 90% dari kemampuan Perl memang dioptimalisasikan untuk menyelesaikan persoalan-persoalan yang berhubungan dengan teks, sementara sisanya, 10%, untuk menyelesaikan persoalan-persoalan diluar teks.

Bagi para peneliti di bidang bioinformatika, Perl merupakan tool utama dalam melakukan pattern matching dari gen dalam DNA. Sebagaimana kita ketahui, gen merupakan rangkaian nucleotide yang secara formal disimbolkan menggunakan gabungan karacter A (adenine), T (thymine), C (cytosine), dan G (guanine).

Untuk mengetahui apakah terdapat gen tertentu dalam sebuah DNA, tentunya kita harus mencari pattern (yang merupakan kumpulan dari karakter-karakter A, T, C, G) di dalam DNA tersebut. Sebagai gambaran, perhatikan potongan program berikut ini:    

my $sequence = 'CTAATGGA';   
my $pattern = 'ATG';   
if($sequence =~ /$pattern/) {
print "Pattern $pattern ditemukan dalam sequence $sequence\n";   
}    
else{   
print "Pattern $pattern tidak ditemukan dalam sequence $sequence\n";   
}

Penjelasan :
Pada baris ke 1 dan ke 2 di atas, sebuah skalar $sequence dengan nilai CTAATGGA dan skalar $pattern dengan nilai ATG dideklarasikan. Pengecekan apakah pattern ATG terdapat dalam sequence CTAATGGA dapat dengan mudah dilakukan menggunakan fasilitas pattern matching. Menggunakan binding operator, =~, seperti yang dilakukan pada baris ke 3 di atas, Perl memeriksa dengan sangat efisien apakah dalam skalar $sequence terdapat pattern ATG. Untuk contoh di atas, pattern ATG ada dalam sequence CTAATGGA, sehingga pernyataan "Pattern ATG ditemukan dalam sequence CTAATGGA" akan ditampilkan dilayar monitor.

Fungsi tr menerjemah setiap karakter yang ditemukan di menjadi karakter yang bersesuaian posisinya di bagian . Jadi untuk contoh kasus kedua ini, hanya dengan satu pernyataan saja, perubahan karakter dapat diselesaikan.    $sequence =~ tr/ACGT/TGCA/; Bila pada awalnya sequence DNA adalah CTAATGGA, maka dengan pernyataan di atas, sequence DNA berubah menjadi GATTACCT.

Perl sangat powerfull dalam memanipulasi teks dan file, termasuk dalam membuat CGI (Common Gateway Interface). Selain itu, Perl juga merupakan tool yang sangat tepat untuk merancang prototype suatu algoritma. Benar memang kalau Perl bukanlah tool untuk semua hal. Perl bukanlah bahasa pemograman yang tepat untuk merancang kernel, tidak pula untuk merancang program client-server yang membutuhkan penanganan thread dan memori poll yang efisien.

Salah satu hal yang membuat Perl populer adalah karena Perl gratis. Tidak hanya pada level biner, kode sumber Perl juga dapat diperoleh tanpa membayar apapun. Selain itu, Perl tidak hanya bisa diterapkan pada sistem operasi UNIX, tapi juga pada:

1. MS-DOS
2. Windows 95
3. Windows NT
4. OS/2
5. Macintosh

            CGI (Common Gateway Interface) merupakan suatu bentuk hubungan interaktif di mana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser). Contoh sederhana adalah saat Anda menggunakan suatu search engine. Saat Anda menuliskan keyword dan menekan tombol Search maka browser akan mengirimkan keyword tersebut ke server. Keyword tersebut lalu diolah oleh server dan server mengirimkan data hasil pengolahan (yang sesuai dengan keyword yang kita masukkan) ke browser kita. Jadi yang kita lihat pada browser hanya data yang sesuai dengan keyword yang kita masukkan.
Untuk dapat menggunakan CGI syarat pertama adalah server dengan sistem operasi UNIX (beserta variantnya). Namun perlu Anda perhatikan bahwa tidak semua server UNIX (yg gratisan) mampu menangani dan melayani CGI. Server-server yang melayani penempatan web gratisan seperti Geocities dan Homepage, tidak mengijinkan penempatan script CGI dalam web kita. Untuk itu Anda bisa mencoba Virtual Avenue, Tripod, atau Hypermart (daftar lengkapnya bisa Anda lihat di sini).
Program CGI ditulis dalam bahasa yang dapat dimengerti oleh sistem misalnya C/C++, Fortran, Perl, Tcl, Visual Basic, dan lain-lain. Pemilihan bahasa yang digunakan tergantung dari sistem yang digunakan. Jika kita menggunakan bahasa pemrograman seperti C atau Fortran maka program-program yang kita buat harus dikompile terlebih dahulu sebelum dijalankan sehingga pada server akan terdapat source code dan program hasil kompilasi. Berbeda bila kita menggunakan bahasa script seperti PERL, TCL, atau Unix Shell maka hanya akan terdapat script itu sendiri (tanpa ada source code). Banyak orang yang lebih suka memilih menggunakan script CGI dibandingkan dengan bahasa pemrograman karena lebih mudah untuk di-debug dan dimodifikasi. Dalam pembahasan kali ini kita akan menggunakan Perl sebagai bahasa script-nya.

            Server-side Scripting adalah teknologi Web Server dimana request oleh user dipenuhi dengan cara menjalankan script langsung pada web server untuk menghasilkan halaman HTML dinamis. Server-side scripting adalah teknik yang digunakan dalam desain website yang melibatkan script embedding dalam kode sumber HTML yang menghasilkan permintaan klien ke server situs web yang sedang ditangani oleh script server-side yang sedang dijalankan sebelum server merespon permintaan klien.

            Client side scripting (CSS) merupakan jenis script yang pengolahannya dilakukan di sisi client. pengolahan disini berarti “di terjemahkan/ interpreted”. yang memiliki tugas untuk menterjemahkan, script jenis ini disisi client adalah web browser. agar semua script yang masuk kategori ini dapat diterjemahkan oleh web browser maka di dalam web browser terdapat sebuah komponen/modul/ “engine” yang memiliki daftar pustaka (library) yang mampu mengenali semua perintah-perintah yang terdapat pada kategori client side scripting. berikut contoh web browser yang populer digunakan: internet explorer, mozilla firefox, opera, safari.  Berikut adalah contoh client side scripting: HTML (hypertext markup language), java script, XML (extensible markup language), CSS (cascading style sheet). client side scripting merupakan script yang digunakan untuk membuat halaman web statis.
sebuah teknologi scripting atau pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server
            Jika skripnya menghasilkan output dalam bentuk HTML yang baku, hampir semua browser akan dapat melihatnya.

Karakteristik server side programming :
1.      Ada client yang meminta request.
2.      Eksekusi program dilakukan di server.
3.      Mengirimkan hasil ke client.
4.      Kode program aman.
5.      Menambah beban kerja Server.

-          Variabel Pada Perl
A.    Skalar
·         Dimulai dengan tanda $.
·         Hanya mengandung string atau angka.
·         String menggunakan kutip tunggal / ganda
·         Angka berupa bilangan bulat, oktal, heksadesimal, maupun pecahan decimal.
·         Variabel hanya menyimpan satu nilai.
Contoh :
$ayam = 1; $uang = 3.4321; $nama = “Nisa”; $dialog = “Dia t\’’lah pergi,” katanya”;

B.     Array
·         Didefinisikan dengan memasukkan elemen - elemennya kedalam tanda kurung dan dipisahkan dengan tanda koma
·         Menyimpan nilai lebih dari 1.
·         Dimulai dengan tanda @.

Contoh :
@minuman : (‘kopi’, ‘teh’, ‘air’);

C.     Hash
·         Elemennya terdiri atas pasangan indeks (key) dan nilai (value).
·         Dimulai dengan tanda %.

Contoh :

%aplikasi = (‘bahasa’,’perl’,’server’,’apache’,’teks’,’vim’,);
Print $aplikasi{‘bahasa’};
Hasil = perl

-          Method Post dan Get
A.    Post
·         Nilai variabel tersembunyi untuk pengunjung
·         Lebih aman karena lebih susah untuk dimainkan pengunjung melalui pergantian nama variable
·         Tidak dibatasi oleh panjang string
·         Variabel diambil dengan $_REQUEST[“nama”] atau $_POST[“nama”].

B.     Get
·         Variabel telihat pada URL, data setiap variabel dipisahkan dengan &. Contoh http://url/page.php?get1=nilai2&get2=nilai2
·         Dibatasi oleh panjang string sebanyak 2047 karakter
·         Memungkinkan pengunjung langsung memasukkan nilai variable pada form proses.

·         Variabel diambil dengan $_REQUEST[“nama”] atau $_GET[“nama”]

Leave a Reply