Berikut ini contoh program yang digunakan untuk menampilkan string”Selamat Datang”
1
2
3
4
|
print "Selamat Datang\n" ;
|
Setiap penulisan program dalam bahasa Perl, selalu dimulai dengan pemanggilan interpreter
atau pada beberapa sistem, interpreter Perl berada pada direktori /usr/local, sehingga pemanggilan interpreter tersebut menjadi
Pemanggilan ini bertujuan untuk memberitahukan ke mesin untuk melakukan eksekusi pada baris program dibawahnya. Dengan kata lain, interpreter ini memberitahukan perl untuk melakukan perintah eksekusi.
Komentar dan Statemen
Komentar dapat dimasukkan ke dalam program dengan memberikan simbol #. simbol ini dapat diletakkan di mana saja pada baris program, akan tetapi harus dimulai pada bagian awal dari setiap komentar yang diberikan. Semua statemen pada Perl harus diakhiri dengan tanda semicolon, seperti pada baris terakhir dari contoh program diatas.
Fungsi Print
Fungsi Print adalah menampilkan keluaran karakter. Pada contoh di atas, fungsi print digunakan untuk menampilkan string literal “Selamat Datang” dan diakhiri dengan semicolon.
Menjalankan Program
Untuk membuat listing program di atas, gunakan teks editor yang ada pada Linux. Vi adalah teks editor paling populer yang sering dipergunakan oleh programmer Linux di Indonesia, disamping bisa juga digunakan pico, joe, atau emacs. Untuk memudahkan pengaturan file, gunakan ekstensi .pl untuk nama file, walaupun hal tersebut tidak harus dilakukan. Untuk menjalankan program Perl, pastikan file perl tersebut sudah merupakan file eksekusi dengan menggunakan perintah berikut:
pada prompt Linux, dan gantikan namaprogram sesuai dengan nama program yang akan dieksekusi. Program perl ini dapat dijalankan dengan tiga cara seperti berikut :
1. perl namaprogram
2. ./namaprogram
3. namaprogram
jika program tidak berjalan dengan semestinya, gunakan cara seperti berikut :
option -w digunakan untuk menampilkan warning kalau terdapat kesalahan penulisan program. Sebenarnya option -w bisa diletakkan pada shebang interpreter Perl menjadi /usr/bin/perl -w, sehingga untuk mendapatkan warning dari interpreter perl, tidak harus dijalankan secara manual. Untuk dapat menjalankan debugger bersamaan dengan program Perl, tambahkan option -d pada perintah interpreter perl. Berikut adalah contoh penggunaan option -d.
Sama halnya dengan option -w, option untuk menampilkan debuger dapat diletakkan pada shebang pada awal listing program.
Variabel Scalar
Variabel scalar merupakan bagian yang paling mendasar dari berbagai variabel yang digunakan pada Perl. Variabel Scalar digunakan untuk menangani string dan juga penomoran. Berikut ini adalah contoh dari penggunaan statemen variabel scalar:
variabel ini akan mengatur scalar variabel $prioritas menjadi 9. Terdapat juga statemen lain yang dapat digunakan sebagai sebuah scalar variabel seperti berikut :
Perl juga dapat digunakan menggunakan angka sebagai sebuah string seperti berikut ini :
1
2
|
$prioritas = '9' ;
$nilai_default = '0098' ;
|
Perl menggunakan operator aritmatic yang juga digunakan pada bahasa C seperti berikut :
1
2
3
4
5
6
7
8
9
10
|
$a = 1 + 2 ;
$a = 3 - 4 ;
$a = 5 * 6
$a = 9 10
$a = 7 / 8
$a = 5 % 2
++ $a
$a ++
- $a
$a -
|
Untuk string, Perl memiliki beberapa operasi seperti berikut :
1
2
|
$a = $b . $c
$a = $b x $c
|
Berikut adalah contoh hasil keluaran pengulangan $b sebanyak $c kali :
1
2
3
4
5
|
$a = a;
$b = 6 ;
$c = $a x $b ;
print "Hasilnya $c \n" ;
|
Keluaran dari listing program diatas menjadi :
Interpolasi
Kode Program berikut akan menampilkan string pisang dan pepaya :
1
2
3
|
$a = 'pisang' ;
$b = 'pepaya' ;
print $a . 'dan' . $b ;
|
Mungkin akan terasa lebih enak seandainya statemen di atas bisa digantikan seperti berikut :
akan tetapi, hal ini tidak mungkin karena argumen tersebut akan menampilkan keseluruhan dari string yang berada diantara tanda petik. Untuk mengatasi hal ini bisa digunakan tanda petik ganda, seperti berikut ini :
Pernyataan Terkondisi
Untuk memahami apa yang dimaksud dengan pernyataan terkondisi, perhatikan contoh program berikut.
1
2
3
|
$x = 2 ** 4 ;
print "$x\n" ;
|
Interpreter perl akan melakukan operasi perpangkatan, yaitu dua pangkat empat, dan menyimpan hasilnya pada variabel $x. Perintah print digunakan untuk menampilkan nilai yang berada pada variabel $x. Pola yang digunakan oleh interpreter perl untuk mengeksekusi program tersebut dengan cara sequential. Sequential berarti interpreter mengeksekusi program dimulai pada bagian atas program dan mengeksekusi tiap pernyataan sampai selesai. Program akan di-terminate setelah pernyatan paling akhir selesai dieksekusi. Semua pernyataan yang berada pada program ini disebut dengan pernyataan tidak terkondisi, karena selalu dieksekusi dengan cara sequential. Pada beberapa situasi, sebuah pernyataan tidak harus keseluruhan dieksekusi, akan tetapi pada bagian pernyataan yang bernilai benar. Pernyataan seperti ini sering disebut dengan pernyataan terkondisi. Perl mendukung beberapa pernyataan terkondisi.
Pernyataan if
if merupakan sebuah pernyataan terkondisi yang paling sederhana pada perl. Cara termudah untuk memahami tentang pernyataan if dengan menggunakan potongan program berikut.
1
2
3
|
If ( $angka ) {
print (Angka yang digunakan bukan 0 .\n");
}
|
Pernyataan if menggunakan dua buah kurung kurawal ( { dan } ). Struktur yang digunakan pada pernyataan if terbagi menjadi dua bagian. Kode yang berada di antara if dan tanda kurung kurawal pembuka ( { ). Kode yang berada diantara tanda kurung kurawal pembuka dan kurung kurawal penutup. Bagian pertama sering dikenal dengan nama conditional expression, dan bagian yang kedua sering disebut dengan statement block.
Ekspresi Kondisi
Bagian pertama dari pernyataan if adalah ekspresi kondisi. Interpreter perl selalu melakukan pengujian jika. Hasil dari pengujian kemudian diletakkan pada salah satu dari dua buah kelas berikut :
Jika hasil pengujian bukan bernilai nol, ekspresi kondisi bernilai benar.
Jika hasilnya sama dengan nol, maka ekspresi dinyatakan bernilai salah.
Interpreter perl menggunakan nilai dari ekspresi kondisi untuk menentukan eksekusi pada pernyataan yang berada di antara { dan }. Jika ekspresi bernilai benar, maka pernyataan akan dieksekusi, dan jika bernilai salah pernyataan tidak akan dieksekusi.
Listing berikut adalah contoh program menggunakan pernyataan if.
1
2
3
4
5
6
7
8
|
print ( "Masukkan sebuah angka: \n" );
$angka = < STDIN >;
chop ( $angka );
if ( $angka ) {
print ( "Angka dimaksud bukan nol\n" );
}
print ( "Ini baris akhir dari program\n" );
|
Keluaran dari program ini seperti berikut.
1
2
3
4
|
Masukkan sebuah angka:
9
Angka dimaksud bukan nol
Ini baris akhir dari program
|
Baris 2, 3, dan 4 pada listing program di atas memiliki kesamaan dengan program-program sebelumnya. Baris 2 meminta adanya masukan, baris 3 digunakan untuk menyimpan nilai ke variabel $angka dan baris 4 digunakan untuk menghilangkan karakter newline yang dilakukan oleh operasi chop.
Baris 5-7 merupakan pernyataan if. Pernyatan ini melakukan pengujian pada ekspresi pada variabel $angka. Jika $angka bukan nol, ekspresi akan bernilai benar dan perintah print akan dieksekusi. Jika $angka adalah nol, perl akan melewati perintah print dan interpreter langsung melompati baris ke 8. Baris 8 yang akan dieksekusi oleh perl dan hasil akhir seperti berikut.
1
|
Ini baris akhir dari program
|
Dari contoh ini, bisa disimpulkan bahwa pernyatan if memiliki sintaks seperti berikut.
1
2
|
if (ekspresi) {
blok_pernyataan
|
Blok ekspresi digunakan untuk ekpresi kondisi dengan pengujian apakah bernilai benar atau salah. Sedangkan blok_pernyataan merupakan kelompok pernyataan yang akan dieksekusi sesuai dengan nilai yang berasal dari ekspresi.
Blok Pernyataan
Bagian kedua dari pernyataan if adalah pernyataan yang berada diantara { dan }, yang disebut dengan blok pernyataan. Blok pernyataan ini terdiri dari pernyataan-pernyataan sesuai dengan sintaks yang digunakan pada perl. Pada contoh berikut, blok pernyataan terdiri atas satu buah pernyataan.
1
|
Print ( "Nilai masukan bukan nol \n" );
|
Penggunaan operator ==
Perl memiliki beberapa operator yang digunakan untuk ekspresi kondisi. Salah satu operator yang seringkali digunakan adalah equality comparison opearator, ==. Operator == memiliki kesamaan dengan operator lainnya yang mensyaratkan adanya dua buah operand atau subekspresi. Kerja dari operator ini seperti berikut.
Jika terdapat dua pengujian subekspresi dengan nilai numerik sama, operator == menghasilkan nilai benar.
Jika dua subekspresi memiliki nilai yang berbeda, operator == akan mengeluarkan nilai salah.
Operator ini sering digunakan pada ekspresi kondisi, terutama untuk membandingkan dua kondisi, apakah bernilai benar atau salah. Contoh berikut menunjukkan penggunaan operator == yang membandingkan dua buah angka yang berasal dari standard input file.
1
2
3
4
5
6
7
8
9
10
11
12
|
print ( "Masukkan sebuah angka : \n" );
$angka1 = < STDIN >;
chop ( $angka1 );
print ( "Masukkan angka lainnya : \n" );
$angka2 = < STDIN >;
chop ( $angka2 );
if ( $angka1 == $angka2 )
{
print ( "Dua akan tersebut sama.\n" );
}
print ( "Akhir dari baris program.\n" );
|
Jika program tersebut dijalankan, didapatkan hasil seperti berikut.
1
2
3
4
5
6
|
Masukkan sebuah angka :
4
Masukkan angka lainnya :
4
Dua angka tersebut sama.
Akhir dari baris program
|
Baris 2-4 sama memiliki pernyataan yang sama dengan program-program sebelumnya. Pernyataan tersebut berfungsi untuk menampilkan pesan untuk memasukkan angka di layarm disimpan pada variabel $angka1 dan perintah chop akan mengambil karakter paling akhir dari nilai variabel. Baris 5-7 mengulangi proses yang sama untuk memasukkan angka kedua yang disimpan pada variabel $angka2. Pernyataan ekspresi kondisi untuk membandingkan dua nilai berada pada baris 8-10. baris 8 berisikan ekspresi pembanding berikut.
Jika dua angka yang dimasukkan pada variabel $angka1 dan $angka2 bernilai sama, maka ekspresi kondisi dinyatakan bernilai benar. Jika ekspresi kondisi bernilai salah, program akan menampilkan perintah print pada baris akhir.
Penggunaan Operator if dan else
Program di atas dapat dimodifikasi untuk menampilkan pesan jika dua angka bernilai sama dan pesan lainnya digunakan jika dua angka yang dimasukkan tidak bernilai sama. Untuk melakukan hal tersebut digunakan pernyataan if-else. Baris program berikut menggunakan program di atas dengan memodifikasi ekspresi kondisi menggunakan pernyataan if-else.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
print ( "Masukkan sebuah angka : \n" );
$angka1 = < STDIN >;
chop ( $angka1 );
print ( "Masukkan angka lain :\n" );
$angka2 = < STDIN >;
chop ( $angka2 );
if ( $angka1 == $angka2 )
{
print ( "Kedua angka tersebut sama\n" );
}
else {
print ( "Kedua Angka tersebut tidak sama\n" );
}
print ( "Ini merupakan baris akhir program\n" );
|
Keluaran dari program di atas seperti berikut.
1
2
3
4
5
6
|
Masukkan sebuah angka :
9
Masukkan angka lain :
6
Kedua Angka tersebut tidak sama
Ini merupakan baris akhir program
|