pengantar common gateway interface (cgi) dan perl

21
Pengantar Pengantar Common Gateway Common Gateway Interface Interface (CGI) (CGI) dan Perl dan Perl

Upload: randy

Post on 12-Feb-2016

128 views

Category:

Documents


10 download

DESCRIPTION

Pengantar Common Gateway Interface (CGI) dan Perl. Konsep CGI dan Perl. Definisi CGI adalah suatu bentuk komunikasi dimana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pengantar  Common Gateway Interface  (CGI) dan Perl

Pengantar Pengantar Common Common Gateway Gateway

InterfaceInterface (CGI) (CGI) dan Perldan Perl

Page 2: Pengantar  Common Gateway Interface  (CGI) dan Perl

Konsep CGI dan PerlKonsep CGI dan Perl

DefinisiDefinisi CGI adalah suatu bentuk komunikasi dimana client CGI adalah suatu bentuk komunikasi dimana client

(browser) dapat mengirimkan suatu masukan (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client tersebut serta mengembalikannya kepada client (browser)(browser)

Program Program CGI CGI adalah program yang didisain untuk adalah program yang didisain untuk menerima dan mengembalikan data sesuai dengan menerima dan mengembalikan data sesuai dengan spesifikasi CGI. Program tersebut dapat ditulis spesifikasi CGI. Program tersebut dapat ditulis menggunakan bahasa pemrograman seperti C, Perl, menggunakan bahasa pemrograman seperti C, Perl, Java atau Visual BasicJava atau Visual Basic. .

Page 3: Pengantar  Common Gateway Interface  (CGI) dan Perl

Konsep CGI dan PerlKonsep CGI dan Perl

Page 4: Pengantar  Common Gateway Interface  (CGI) dan Perl

Konsep CGI dan Perl

PerlPerl 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.

Page 5: Pengantar  Common Gateway Interface  (CGI) dan Perl

Variabel di Perl

• Perl memiliki tiga tipe data: skalar, array, dan hash.

• Skalar menyimpan nilai tunggal, array menyimpan kumpulan skalar dengan urutan tertentu, sedangkan hash menyimpan kumpulan skalar berpasangan.

• Sebuah variabel dinyatakan dengan tanda awalan tertentu yang merujuk pada tipe data yang dikandungnya, serta nama yang berfungsi sebagai pengenal.

• Tanda pengenal adalah $ untuk skalar, @ untuk array, dan % untuk hash.

• Nama variabel terdiri atas huruf dan angka, disebut juga alfanumerik (karakter “_” dihitung sebagai huruf).

• Nama variabel tidak boleh dimulai dengan angka.

• Tidak ada ketentuan mengikat mengenai berapa panjang nama variabel yang boleh digunakan.

Page 6: Pengantar  Common Gateway Interface  (CGI) dan Perl

SkalarVariabel skalar menyimpan unit data yang paling mendasar. Apa yang dikandung skalar, itu jugalah yang bisa dikandung oleh array dan hash. Sebuah skalar hanya mengandung string atau angka. Ini juga berarti bahwa semua informasi—dari manapun asalnya—akan diperlakukan sebagai string atau angka. String dikutip menggunakan kutip ganda atau kutip tunggal. Angka bisa berupa bilangan bulat, oktal, heksadesimal, maupun pecahan desimal.

$nama = ‘hasan’;$_nama2 = $nama . ‘t’; # hasant$tahun = 2001;$satu_dollar = 8500.43;$dua_tahun_lalu = $tahun - 2; # 1999

Untuk memasukkan kutip tunggal dalam string yang dikutip tunggal digunakan \ (garis miring terbalik) di depannya. Begitupun untuk memasukkan kutip ganda dalam string yang dikutip ganda. Dan untuk memasukkan \ itu sendiri, tambahkan \ satu lagi. Ini disebut meng-escape character.

$putih = ‘#FFFFFF’;$body = “<body bgcolor=\”$putih\”>”;$dialog = ‘”Dia t\’lah pergi,” katanya’;

Variabel di Perl

Page 7: Pengantar  Common Gateway Interface  (CGI) dan Perl

ArrayArray didefinisikan dengan memasukkan elemen-elemennya ke dalam tanda kurung dan dipisahkan dengan , (koma). Koma tidak wajib diletakkan pada elemen terakhir. Di Perl, ini sebenarnya sebuah konstruksi data yang disebut list.

@minuman = (’kopi’, ‘teh’, ‘air’);

Kadang-kadang kedua istilah ini, array dan list, bisa dipertukarkan, dan memiliki makna yang sama. Namun, harus disadari bahwa keduanya tetap berbeda secara logik. Array adalah jenis variabel, sementara list adalah konstruksi data. Dalam pengertian singkat, bisa dikatakan bahwa array adalah list yang bernama. Semua array berisi list, tapi tidak semua list berupa array. Dengan pengertian ini kita bisa mendefinisikan sekumpulan variabel skalar dalam list.

($satu, $dua, $tiga) = (1, 2, 3);

Elemen array diakses dengan sintaks $array[0], angka di dalam “[]” menujukkan indeks elemen dimulai dari 0, yang berarti elemen pertama. Indeks negatif (dimulai dari -1) menghitung elemen dari belakang.

$minuman[0] # berisi “kopi”$minuman[2] # berisi “air”$minuman[-1] # sama, berisi air

Jika kebetulan semua elemen array tidak ada yang mengandung spasi, maka kita bisa mendefinisikan sebuah array tanpa menggunakan tanda kutip dan koma. Sebagai gantinya kita menggunakan operator qw().

@minuman = qw(kopi teh air);

Variabel di Perl

Page 8: Pengantar  Common Gateway Interface  (CGI) dan Perl

Variabel di Perl

Hash

Definisi hash mirip dengan array. Setiap elemen hash terdiri atas pasangan indeks (key) dan nilai (value). Berbeda dengan array, indeks di hash menggunakan string, dan nilainya bisa diakses dengan sintaks $hash{’indeks’}.

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

Indeks yang mengandung karakter sederhana tidak perlu dikutip karena otomatis dianggap sebagai string. Namun jika indeks mengandung karakter selain huruf dan angka, kutip harus digunakan. Hal ini juga berlaku ketika mengakses elemen. Jadi, $aplikasi{’bahasa’} bisa ditulis sebagai $aplikasi{bahasa}.

Benar dan Salah. Kadang-kadang Anda tidak ingin mengetahui nilai kembalian dari sebuah ekspresi, baik string maupun angka, Anda hanya ingin tahu benar atau salah. Perl tidak punya jenis data boolean khusus. Nilai sebuah ekspresi adalah salah satu dari: tak terdefinisi (undefined), benar (true), atau, salah (false). Untuk memudahkan urusan, selanjutnya saya akan menyebut “tak terdefinisi” dengan “undef”. Aturan Perl sederhana, semua nilai benar, kecuali yang undef, string kosong (“” atau ‘’), angka 0, dan string “0″.

Page 9: Pengantar  Common Gateway Interface  (CGI) dan Perl

PerlPerl Case sensitiveCase sensitive Comment character ( # )Comment character ( # )

Instruct interpreter to ignore everything on Instruct interpreter to ignore everything on current line following #current line following #

Allows programmers to write descriptive Allows programmers to write descriptive comments in programscomments in programs

““shebang” construct ( #! )shebang” construct ( #! ) Indicates the path to the Perl interpreterIndicates the path to the Perl interpreter

printprint Write text to screenWrite text to screen

Escape sequence \nEscape sequence \n Moves output cursor to next lineMoves output cursor to next line

Page 10: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba.plCoba.pl

1 #!C:\Perl\bin\perl 2 # Fig. 25.2: fig25_02.pl 3 # A first program in Perl. 4 5 print( "Welcome to Perl!\n" );

print "Content-type: text/html\n\n";

Page 11: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba2.plCoba2.pl1 #!C:\Perl\bin\perl 2 # Fig. 25.4: fig25_04.pl 3 # Program to illustrate the use of scalar variables. 4 5 $number = 5; 6 print( "The value of variable \$number is: $number\n\n" ); 7 8 $number += 5; 9 print( "Variable \$number after adding 5 is: $number\n" ); 10 11 $number *= 2; 12 print( "Variable \$number after multiplying by 2 is: " ); 13 print( "$number\n\n\n" ); 14 15 # using an uninitialized variable in the context of a string 16 print( "Using a variable before initializing: $variable\n\n" ); 17 18 # using an uninitialized variable in a numeric context 19 $test = $undefined + 5; 20 print( "Adding uninitialized variable \$undefined " ); 21 print( "to 5 yields: $test\n" ); 22 23 # using strings in numeric contexts 24 $string = "A string value"; 25 $number += $string;

Page 12: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba.pl (cont’d)Coba.pl (cont’d)

26 print( "Adding a string to an integer yields: $number\n" ); 27 28 $string2 = "15charactersand1"; 29 $number2 = $number + $string2; 30 print( "Adding $number to string \"$string2\" yields: " ); 31 print( "$number2\n" );

Page 13: Pengantar  Common Gateway Interface  (CGI) dan Perl
Page 14: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba3.plCoba3.pl1 #!C:\Perl\bin\perl 2 # Fig. 25.5: fig25_05.pl 3 # Program to demonstrate arrays in Perl. 4 5 @array = ( "Bill", "Bobby", "Sue", "Michelle" ); 6 7 print( "The array contains: @array\n" ); 8 print( "Printing array outside of quotes: ", @array, "\n\n" ); 9 10 print( "Third element: $array[ 2 ]\n" ); 11 12 $number = 3; 13 print( "Fourth element: $array[ $number ]\n\n" ); 14 15 @array2 = ( 'A' .. 'Z' ); 16 print( "The range operator is used to create a list of\n" ); 17 print( "all capital letters from A to Z:\n" ); 18 print( "@array2 \n\n" ); 19 20 $array3[ 3 ] = "4th"; 21 print( "Array with just one element initialized: @array3 \n\n" ); 22 23 print( 'Printing literal using single quotes: ' ); 24 print( '@array and \n', "\n" );

Page 15: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba3.pl (cont’d)Coba3.pl (cont’d)

25 26 print( "Printing literal using backslashes: " ); 27 print( "\@array and \\n\n" );

Page 16: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba4.plCoba4.pl1 #!C:\Perl\bin\perl 2 # Fig. 25.6: fig25_06.pl 3 # Program to demonstrate the eq, ne, lt, gt operators. 4 5 @fruits = qw( apple orange banana ); 6 7 foreach $item ( @fruits ) { 8 9 if ( $item eq "banana" ) { 10 print( "String '$item' matches string 'banana'\n" ); 11 } 12 13 if ( $item ne "banana" ) { 14 print( "String '$item' does not match string 'banana'\n" ); 15 } 16 17 if ( $item lt "banana" ) { 18 print( "String '$item' is less than string 'banana'\n" ); 19 } 20 21 if ( $item gt "banana" ) { 22 print( "String '$item' is greater than string 'banana'\n" ); 23 } 24 }

Page 17: Pengantar  Common Gateway Interface  (CGI) dan Perl

String manipulationString manipulation

Page 18: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba5.plCoba5.pl1 #!C:\Perl\bin\perl 2 # Fig 25.7: fig25_07.pl 3 # Searches using the matching operator and regular expressions. 4 5 $search = "Now is is the time"; 6 print( "Test string is: '$search'\n\n" ); 7 8 if ( $search =~ /Now/ ) { 9 print( "String 'Now' was found.\n" ); 10 } 11 12 if ( $search =~ /^Now/ ) { 13 print( "String 'Now' was found at the beginning of the line." ); 14 print( "\n" ); 15 } 16 17 if ( $search =~ /Now$/ ) { 18 print( "String 'Now' was found at the end of the line.\n" ); 19 } 20 21 if ( $search =~ /\b ( \w+ ow ) \b/x ) { 22 print( "Word found ending in 'ow': $1 \n" ); 23 } 24

Page 19: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba5.pl (cont’d)Coba5.pl (cont’d)

25 if ( $search =~ /\b ( \w+ ) \s ( \1 ) \b/x ) { 26 print( "Repeated words found: $1 $2\n" ); 27 } 28 29 @matches = ( $search =~ / \b ( t \w+ ) \b /gx ); 30 print( "Words beginning with 't' found: @matches\n" );

Page 20: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba6.plCoba6.pl1 #!C:\Perl\bin\perl 2 # Fig. 25.11: fig25_11.pl 3 # Program to display CGI environment variables. 4 5 use CGI qw( :standard ); 6 7 $dtd = 8 "-//W3C//DTD XHTML 1.0 Transitional//EN\" 9 \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"; 10 11 print( header() ); 12 13 print( start_html( { dtd => $dtd, 14 title => "Environment Variables..." } ) ); 15 16 print( "<table style = \"border: 0; padding: 2; 17 font-weight: bold\">" ); 18 19 print( Tr( th( "Variable Name" ), 20 th( "Value" ) ) ); 21 22 print( Tr( td( hr() ), td( hr() ) ) ); 23 24 foreach $variable ( sort( keys( %ENV ) ) ) { 25

Page 21: Pengantar  Common Gateway Interface  (CGI) dan Perl

Coba6.pl (cont’d)Coba6.pl (cont’d)

26 print( Tr( td( { style => "background-color: #11bbff" }, 27 $variable ), 28 td( { style => "font-size: 12pt" }, 29 $ENV{ $variable } ) ) ); 30 31 print( Tr( td( hr() ), td( hr() ) ) ); 32 } 33 34 print( "</table>" ); 35 print( end_html() );