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”]