Common Gateway Interface (CGI)


Ir. Winarno Sugeng, M.Kom.
Jurusan Teknik Elektro, Fakultas Teknik Industri
Institut Teknologi Nasional Bandung
[email protected], [email protected]
http://www.qsl.net/yc1raj/

keywords : cgi programming


Jika anda mampu menulis script HTML, maka andapun pasti mampu untuk menulis script CGI. Dan jika anda mempunyai akses CGI directory pada sistem server ( /cgi-bin ) maka tulisan ini akan banyak membantu, khususnya bagi para pemula yang akan terjun ke CGI programming

Common Gateway Interface atau lebih akrab disebut CGI, adalah suatu metoda dari pelayanan web server untuk memberikan query data, bisa berupa database, html, mailto dan sebagainya, akibat dari submit pengunjung dari suatu rancangan halaman HTML yang berupa form interaktif. Sehingga tercipta halaman (page) yang dinamik. CGI bisa ditulis dari berbagai language yang ada seperti : C++, Pascal, Perl dan sebagainya , tetapi yang lebih populer adalah ditulis dalam langauge Perl ( Practical Extraction and Report Language ). Banyak sekali CGI yang ditulis dengan Perl, sebagai contoh : Counter, Guestbook, Aplikasi submit Form, Menjalankan perintah Unix melalui Web dan sebagainya.

Untuk memulai membuat program CGI, Anda harus menyiapkan editor yang mempunyai standard Ascii, bisa menggunakan Notepad standard Windows 95/98, melalui editor vi pada unix standard, atau editor ascii yang lainnya. Setelah ditulis untuk melakukan running program CGI, Anda harus melakukan remote ke server unix dengan aplikasi FTP dan Telnet , dan setelah berhasil masuk ke web server , letakkan ( upload ) file Anda dengan FTP ke directory /cgi-bin ( tentunya Anda harus masuk sesuai dengan user level untuk /cgi-bin ). Dan lakukan penyesuaian file ascii ( karena biasanya ascii file yang dibuat pada windows agak sedikit lain dengan yang dibentuk di unix ) dan rubah permission dile CGI dengan perintah unix "chmod 755 filename "agar bisa diakses. Dan seterusnya untuk edit gunakan editor ascii standard unix misalnya vi, ee, pico dan sebagainya.

Script Perl untuk CGI minimal ( tidak menghasilkan output apa-apa tetapi tidak error dan merupakan header standard yang biasa digunakan pada CGI yang ditulis dengan script Perl )

#!/usr/bin/perl
#

# Module which implements common CGI handling routines
require "cgi-lib.pl";

# ----------------------------------------------------------bof

# ........ BODY PROGRAM ..........

# ----------------------------------------------------------eof

Contoh sederhana : "Hello Word" tanpa menyertakan cgi-lib.pl

#!/usr/bin/perl
#
print <<EOF;
Content-type: text/html

<HTML>
<HEAD>
<TITLE>Hello World!</TITLE>
<HEAD>
<BODY>

<B>Hello World!</B>";

</BODY>
</HTML>

EOF
;

Contoh sederhana : "Hello Word" dengan menyertakan cgi-lib.pl

#!/usr/bin/perl
#
require "cgi-lib.pl";

print &PrintHeader();

$title='Hello World!';
print &HtmlTop();

print "<B>Hello World!</B>";

print &HtmlBot();

Jika file CGI Hello Word dipanggil melalui Browser ( mis: http://www.mydomain/cgi-bin/hello.cgi ) maka akan terperaga tulisan

Hello World!

Contoh Aplikasi Form Sederhana :

1. File HTML sebagai submit Form HTML berisi

<form method="post" action="http://www.mydomain/cgi-bin/first.cgi">
Please enter your first nama :
<input type="text" name="firstname" value="Winarno">
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>

dengan tampilan pada browser :

Please enter your first nama :


2. File CGI yang dibentuk untuk merespon adalah :

#!/usr/bin/perl
#
require "cgi-lib.pl";

&ReadParse(*input);

print &PrintHeader();

$title='Request CGI';
print &HtmlTop();

print "<B> Hello, $input{'firstname'} ! </B>";

print &HtmlBot();

Setelah submit pada Form HTML dan suksess, maka first.cgi akan memberikan respon ke Browser sebagai berikut :

Hello Winarno !

Untuk selanjutnya diperlukan pemahaman Perl language, untuk keperluan Input-Output File , Sendmail dan lain sebagainya, dan perlu diingat jika akan menggunakan Input/Output file maka Direktory dan file yang akan diolah harus mempunyai permission write bagi owner, group, everyone dengan chmod 766. Umumnya kegagalan membuat CGI yang menggunakan Input-Output file adalah masalah Permission , hal ini memerlukan pengetahuan Unix yang baik

 

Referensi:

- Jaqueline D. Hamilton, "CGI PROGRAMMING 101", http://www.cgi101.com/,1999
- Bob Breedlove, et al., "Web Programing Unleashed", Sams Publishing, 2000



Sent your comments & suggestions to [email protected]
Last update on :02/13/2002 4:33
Copyright © 2000 YC1RAJ