Mengenal Bahasa Pemrograman Perl
dikutib dari http://qieberry.wordpress.com/2011/03/20/mengenal-bahasa-pemrograman-perl/
Perbedaan antara “Perl” dan “perl”Larry menegaskan, bahwa bahasa pemograman yang diciptakannya bernama Perl (dengan P besar). Sedangkan perl (dengan p kecil) adalah nama program interpreter yang menjalankan kode sumbernya.
Perl adalah singkatan dari Practical Extraction and Report Language. Bahasa pemrograman ini diciptakan oleh Larry Wall pada tahun 1986 yang awalnya digunakan sebagai perangkat lunak yang digunakan untuk menulis program di lingkungan UNIX.
Perl berarti Practical Extraction and Report Language. Bahasa ini dikembangkan oleh Larry Wall pada mesin *NIX. Versi pertama Perl, Perl 1, dirilis pada tanggal 18 Desember 1987. Versi-versi setelahnya tersedia pula bagi berbagai system operasi varian Unix, termasuk Linux.
- Perl memiliki kekuatan dan keluwesan sebagai bahasa pemrograman tingkat tinggi seperti halnya C, tetapi tidak serumit C. Berbagai fitur pada bahasa C diadaptasikan ke Perl. Oleh karena itu sintaks pada Perl menyerupai bahasa pemrograman C.
- Perl memberikan kemudahan dalam melakukan pencocokan pola seperti halnya grep dan awk. Selain itu, serupa dengan awk, Perl menyerupai sintaks pada C.
- Perl memungkinkan pemrosesan teks sebagaimana keluwesan pemrosesan teks pada utilitas sed.
- Perl tidak memerlukan kompiler dan linker. Dengan demikian Perl memiliki sifat skrip shell.
- MS-DOS
- Windows 95
- Windows NT
- OS/2
- Macintosh
- dll
- Pembuatan skrip untuk melakukan tugas tertentu yang biasanya ditangani dengan menggunakan skrip shell.
- Pemrosesan surat elektronik.
- Otomasi pengambilan berkas pada klien FTP
- Pembuatan web dinamis pada aplikasi berbasis internet.
- dll
perl -vIni adalah keluaran di distro Ubuntu 10.10 (Maverick Meerkat) yang terinstal pada komputer saya:
This is perl, v5.10.1 (*) built for i686-linux-gnu-thread-multi
(with 40 registered patches, see perl -V for more detail)
Copyright 1987-2009, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.Untuk memperoleh program Perl, bisa diunduh di:
http://www.perl.com
http://www.activestate.comBerikut ini adalah contoh skrip Hello World menggunakan bahasa Perl.
#!/usr/bin/perl
print "Hello World!";
Membuat Program
dikutib dari http://saung.igoscenter.org/Pemograman_Perl
Script
Sama halnya dengan Bash, baris komentar ditandai dengan tanda #, kecuali header dari pemograman Perl itu sendiri. Selain itu, setiap akhir suatu statement ditandai dengan titik-koma (;), percis seperti C/C++.Membuat Script
Untuk membuat script Perl kita hanya memerlukan terminal dan sebuah editor teks, semisal gedit, Vi atau nano.root@nan:~/perl/ nano hello.pl
Contoh Script
Ini script pamungkas; script pertama semua bahasa pemograman: Hello World#!/usr/bin/perl/ #ini program Perl pertama gue nih print “Hello, World\n” print “This is Perl… ;) \n”
Menjalankan Script
Setelah disimpan, file harus diubah modenya menjadi executable sebelum dijalankan.$ chmod +x hello.plbaru dijalankan
$ ./hello.pl
Pemograman Dasar
Output
Lihat sekilas program hello diatas, Anda pasti sudah langsung tahu kalau perintah untuk menampilkan sesuatu di layar dalam Perl adalah 'print'. Sebagai tambahan, perintah print di Perl lain dengan echo pada Bash. Jika Anda lupa menyertakan tanda \n, perintah print yang akan dijalankan berikutnya tetap di baris yang itu-itu juga.Tipe Data
Perl hanya memiliki 2 tipe data: Scalar dan Array.Scalar
Tipe data Scalar meliputi string dan angka. Untuk variabel bertipe scalar, harus ditandai dengan tanda $ di depannya. Dan untuk penulisannya, variabel harus diawali dan diikuti setidaknya oleh satu huruf, tidak boleh berisi tanda minus, dan tidak bisa diawali dengan tanda underscore. Coba script ini:
#!/usr/bin/perl $nama = "Perl"; $peringkat = 1; print "Halo, nama saya $nama dan saya ada di peringkat ke $peringkat\n";
Array merupakan kumpulan atau himpunan dari scalar-scalar. Karena tipe data scalar termasuk angka dan string, tidak seperti C atau kebanyakan bahasa lain dimana array harus berisi variabel yang sama jenisnya, array dalam Perl dapat memiliki angka maupun string. Array dalam Perl harus ditandai dengan tanda '@'. Ini syntaxnya:
@nama_array = (index1, index2, ….... indexN)
@Kemungkinan = (0, “Benar”, 12, 1, “Salah”)
Input
Untuk menerima dan memproses masukan dari pengguna, perintahnya STDIN.#!/usr/bin/perl print “Masukkan nama Anda: ”; $nama = <STDIN>; print “Halo $nama.... salam kenal, saya Perl”


Ada baris kosong? Yap, kelanjutan kalimat setelah variabel di-new line-kan. Untuk mengatasinya, pakai 'chop'.
chop ($nama = <STDIN>)
Operator
String
Coba script ini:#definisikan variabel-variabelnya $warna1 = "Merah"; $warna2 = "Jingga"; $warna3 = "Kuning"; $warna4 = "Hijau"; $warna5 = "Biru"; $warna6 = "Nila"; $warna7 = "Ungu"; # gabungkan variabel string diatas. Dengan satu atau dua tanda petik? $pelangi1 = '$warna1 $warna2 $warna3 $warna4 $warna5 $warna6 $warna7'; $pelangi2 = "$warna1 $warna2 $warna3 $warna4 $warna5 $warna6 $warna7"; print $pelangi1, "\n"; print $pelangi2, "\n";


Aritmatik
Ini operator untuk tipe data scalar. Tanda untuk yang numerik standar.#!/usr/bin/perl $x = 2; $y = 3; print "x = 2, y = 3 \n"; #ini cara tulis-langsung-saja print "x + y = ", $x + $y, "\n"; print "x - y = ", $x - $y, "\n"; #ini dengan memakai variabel yang didefinisikan dulu nilainya $a = $x * $y; $b = $x ** $y; print "x * y = ", $a, "\n"; print "x^y = $b\n";
NilaiModulus = NilaiModulus + 2 bisa disingkat penulisannya dengan NilaiModulus += 2
j = j + 1 → j += 1 n = n * 5 → n *= 5 y = y / 2 → y /= 2
Increment (++), menambah nilai suatu variabel dengan 1. Decrement (--), mengurangi nilai suatu variabel dengan 1.
Logika
Standar juga. Hanya saja, cara penulisan operator logika numerik berbeda dengan yang string.
Pencabangan
Pencabangan, atau branch, digunakan untuk menentukan nilai benar-salahnya suatu kondisi dan menentukan perintah-perintah apa yang harus dilakukan. Jika kondisi ini benar, apa yang harus dilakukan? Dan bagaimana kalau salah?If
The single-alternative statement. Perintah dibawahnya (maksudnya dalam kurung kurawal dan akhir) akan dikerjakan jika kondisinya benar.#!/usr/bin/perl print "Enter a non-zero number: "; chop($number = <STDIN>); if ($number != 0) { print "The reciprocal of $number is ", 1/$number, "\n"; }
...tapi dengan begini, kita tidak bisa membuat perintah tersendiri jika kondisinya salah. Sebagai solusi, else
If-else
Nah, yang ini disebut dual-alternative statement ← sok ngInggris.Langsung contohnya sajalah...
#!/usr/bin/perl print "Enter password: "; chop($psswd = <STDIN>); if ($psswd eq "Ubuntu") { print "Password correct!\n"; } else { print "Password mismatch.\n"; }
if-elsif-else
dan untuk yang multi-alternative, if-elsif-else, general syntax-nya seperti ini..if (condition1) { statement; } elsif (condition2) { statement; } ..elsif (conditionN){ statement; } else statement;
unless-else
Ini adalah negasi alias kebalikan dari if-else. Perlu waktu juga untuk terbiasa dengan yang ini. Perintah-perintahnya akan dijalankan jika bernilai salah.Sebagai contoh, pakai cerita saja ya. Ada sebuah program untuk memberitahukan apakah cuaca cukup cerah untuk pergi memancing. Katakanlah, program sederhana ini nanti diterapkan pada sebuah robot yang akan menerima berita langsung dari stasiun pemantauan cahaya. Setiap saat, dia akan mengatakan kalau cuaca baik untuk pergi memancing, kecuali kalau hujan.
#!/usr/bin/perl $cuaca = "Cerah"; unless ($cuaca eq "Hujan"){ print "Cuaca cukup baik untuk memancing =D\n"; } else { print "Cuaca tidak cukup baik untuk pergi memancing\n"; }
Looping
While
Pengulangan dengan perintah while akan menyebabkan statement-statement yang ada dikerjakan terus-menerus sampai kondisinya salah.Ada tiga cara penulisannya, mencakup while, do-while, dan inline-while.
Ini syntax dari 'while':
while (kondisi) { statement; }
#!/usr/bin/perl print "Masukkan sebuah angka: "; chop ($angka = <STDIN>); $multiplier = $angka; $hasil = 1; while ($multiplier >= 1) { $hasil *= $multiplier; $multiplier -= 1; } print "Faktorial dari $angka adalah $hasil\n";


Perhatikan. Variabel $multiplier diberi nilai yang sama dengan angka yang diinputkan terlebih dahulu. Variabel $hasil yang menampung nilai faktorial angka terus-menerus dikalikan dengan variabel $multiplier dalam looping, dengan variabel $multiplier dikurangi satu nilainya setiap loop. Perulangannya berhenti ketika variabel multiplier bernilai 0.
do-while
Ini syntax untuk do-while:
do { statement; } while (kondisi)Dan ini contoh programnya:
#!/usr/bin/perl do { print "Masukkan nama Anda: "; chop ($nama = <STDIN>); print "Hello, $nama ... Perl is here ;) \n\n"; print "Mau coba lagi? [y/n]: "; chop ($char = <STDIN>); } while ($char eq "y")
Syntax-nya:
statement while kondisiSangat singkat. Habis, cuma satu baris. Pemakaiannya tak seluas yang lain karena keterbatasan statement yang bisa dimasukkan.
Until
Loop jenis ini juga mempunyai 3 cara penulisan. Dalam bahasa indonesia, until bisa diartikan dengan “sampai”. Nah, statement-statement yang ada akan terus dikerjakan sampai kondisinya bernilai benar.Syntax untuk until:
until (kondisi) { statement; }Dan coba dulu script ini:
#!/usr/bin/perl $x == 0; until ($ulang == 5) { $ulang ++; $x += 2; print "Perulangan ke $ulang.\n"; print "Nilai x sekarang $x.\n\n"; }
do-until
Syntax untuk do-until:
do { statement; } until (kondisi)Ini dia contoh programnya, sedikit panjang, untuk main tebak-tebakan.
#!/usr/bin/perl $hiddenWord = "Linus"; $kesempatan = 10; print "Guess the hidden word!\n"; print “Hint: “Orang keren”\n”; print "Anda punya 10 kesempatan.\n"; do { print "Masukkan tebakkan anda: "; chop ($guess = <STDIN>); if ($guess eq $hiddenWord){ print "Selamat! Jawaban Anda benar!\n"; exit; } else { $kesempatan -= 1; print "Jawaban anda salah.\n"; } print "Anda punya $kesempatan kesempatan lagi.\n\n"; } until ($kesempatan == 0)
Ini bentuk penulisan until ketiga, dan seperti ini syntax-nya:
Statement while kondisi
For
Sistem perulangan for berbeda dengan while atau until. Dan for untuk Perl persis benar dengan C/C++, terutama penulisan parameternya.for ($variabel = nilai_awal;kondisi; increment/decrement) { statement; }Kalimat-kalimat yang berada di dalam kurung itu adalah parameter, jumlahnya tiga dengan tanda semicolon membatasi tiap parameternya.
Parameter pertama adalah pendeklarasian awal nilai varabel. Parameter kedua menunjukkan kondisi perulangan, sedangkan yang ketiga adalah increment, dan bisa juga digunakan decrement.
Coba skrip ini dan perhatikan cara kerjanya:
#!/usr/bin/perl for ($x = 1; $x <= 10; $x ++) { print "Ini loop ke $x \n"; }
Foreach
Foreach adalah perintah perulangan dengan jumlah elemen dalam suatu array. Perulangan dilakukan sebanyak jumlah elemen dalam array.foreach $variabel(array)Cara kerjanya malah sedikit mirip dengan for dalam Bash.
#!/usr/bin/perl @nama = ("Linus", "Larry", "Richard"); foreach $ulang (@nama) { print "$ulang\n";
}
Panduan Memasang dan Memulai Perl
dikutib dari :: http://id.perlmaven.com/panduan-memasang-dan-memulai-perl
Ini adalah bagian pertama dari tutorial Perl.
Di sini Anda akan belajar bagaimana memasang Perl pada Microsoft Windows dan bagaimana mulai menggunakannya di Windows, Linux, atau di Mac.
Anda akan dipandu untuk membangun lingkungan pengembangan, terutama: editor atau IDE apa yang dipakai untuk menulis bahasa Perl?
Kita juga akan melihat contoh sederhana penulisan "Hello World".
Untuk memulai silahkan kunjungi DWIM Perl dan ikuti tautan untuk mengunduh DWIM Perl untuk Windows.
Lalu, unduh berkas exe-nya dan instal di komputer Anda. Sebelumnya, pastikan Anda tidak memiliki versi lain dari Perl yang sudah terinstal sebelumnya.
Mereka dapat digunakan secara bersamaan namun akan memerlukan banyak penjelasan mengapa sebaiknya kita menggunakan satu versi Perl saja. Maka dari itu, untuk saat ini gunakan saja satu versi Perl pada komputer Anda.
Ia memiliki banyak paket ekstensi Perl sehingga akan menghemat waktu Anda dalam bekerja.
Ketikkan
Simpan berkas ini dengan nama hello.pl lalu Anda dapat menjalankan kode ini dengan memilih "Run -> Run Script" Anda akan melihat jendela baru yang memunculkan output dari kode tadi.
Demikianlah, skrip Perl Anda yang pertama.
Mari tingkatkan lagi.
perl hello.pl
Begitulah cara menjalankan skrip dari command line.
Pertama mari kita seragamkan versi minimum Perl yang akan kita gunakan:
Secara umum ini hal yang tepat untuk mengetahui versi minimum Perl yang dibutuhkan untuk menjalankan kode.
Dalam hal ini, cara ini juga menambahkan sedikit fitur baru pada perl termasuk say. say sangat mirip dengan print namun lebih pendek dan ia secara otomatis menambahkan baris baru di bagian akhir.
Anda dapat mengubah kode Anda sebagai berikut:
Versi aplikasi Anda saat ini bisa jadi merupakan versi 5.12.3 atau 5.14. Kebanyakan distro Linux saat ini datang membawa Perl versi 5.10 atau yang lebih baru.
Meski demikian, kita masih bisa menggunakan perl versi lama. Hanya saja tidak akan bisa menggunakan say() dan memerlukan beberapa penyesuaian pada contoh-contoh berikutnya. Saya akan memberi tahu Anda ketika saya menggunakan fitur-fitur yang memerlukan versi 5.10.
strict dan warnings akan membantu Anda menemukan bugs pada kode atau bahkan kadang membantu mencegah Anda membuat kesalahan penulisan kode sejak awal. Keduanya begitu mudah digunakan.
Variabel dideklarasikan menggunakan kata kunci my. (sebenarnya ini merupakan salah satu syarat strict.)
Variabel skalar selalu diawali dengan tanda $. Sedangkan <STDIN> adalah alat untuk membaca baris dari keyboard.
Tulis skrip di atas dan jalankan dengan menekan tombol F5
Skrip akan menanyakan nama Anda. Tuliskan nama Anda dan tekan ENTER agar perl tahu Anda sudah selesai menuliskan nama Anda.
Anda mungkin akan melihat bahwa outputnya sedikit aneh: tanda koma setelah nama muncul pada baris baru. Hal ini terjadi karena Anda menekan ENTER saat menuliskan nama Anda, masuk ke dalam variabel $name.
Cobalah skrip berikut:
Di sini Anda akan belajar bagaimana memasang Perl pada Microsoft Windows dan bagaimana mulai menggunakannya di Windows, Linux, atau di Mac.
Anda akan dipandu untuk membangun lingkungan pengembangan, terutama: editor atau IDE apa yang dipakai untuk menulis bahasa Perl?
Kita juga akan melihat contoh sederhana penulisan "Hello World".
Windows
Untuk Windows, kita akan menggunakan DWIM Perl. Ia merupakan sebuah paket yang mengandung Perl compiler / interpreter, Padre, IDE untuk Perl dan sejumlah ekstensi tambahan dari CPAN.Untuk memulai silahkan kunjungi DWIM Perl dan ikuti tautan untuk mengunduh DWIM Perl untuk Windows.
Lalu, unduh berkas exe-nya dan instal di komputer Anda. Sebelumnya, pastikan Anda tidak memiliki versi lain dari Perl yang sudah terinstal sebelumnya.
Mereka dapat digunakan secara bersamaan namun akan memerlukan banyak penjelasan mengapa sebaiknya kita menggunakan satu versi Perl saja. Maka dari itu, untuk saat ini gunakan saja satu versi Perl pada komputer Anda.
Linux
Kebanyakan distro Linux saat ini datang membawa Perl versi terkini. Untuk saat ini kita akan menggunakan versi tersebut. Untuk editornya, Anda dapat menginstal Padre-kebanyakan distro Linux menyertakannya pada paket sistem manajemen resminya. Selain itu, Anda juga dapat menggunakan text editor lainnya. Jika Anda merasa familiar dengan vim atau Emacs, gunakanlah salah satunya. Selain itu Gedit juga bisa jadi pilihan.Apple
Saya percaya bahwa Macs juga datang dengan Perl atau Anda dapat dengan mudah menginstalnya melalui alat bantu instalasi standar.Editor dan IDE
Meskipun hal tersebut disarankan demikian, Anda tidak harus menggunakan Padre IDE untuk menuliskan kode Perl. Pada bagian selanjutnya saya akan membuat daftar sejumlah editor dan IDE yang dapat Anda gunakan dalam pemrograman Perl. Meskipun Anda memilih editor lain saya merekomendasikan - untuk pengguna Windows - untuk menginstal paket DWIM Perl tersebut di atas.Ia memiliki banyak paket ekstensi Perl sehingga akan menghemat waktu Anda dalam bekerja.
Video
Jika Anda mau, Anda juga dapat melihat video Hello world dengan Perl yang saya unggah ke YouTube. Anda juga mungkin ingin melihat video pelatihan Perl Maven untuk pemula.Program pertama
Program pertama Anda akan tampak seperti ini:Berikut penjelasan langkah demi langkahnya.
- use 5.010;
- use strict;
- use warning;
- say "Hello World";
Hello world
Setelah Anda menginstal DWIM Perl Anda dapat mengklik pada "Start -> All programs -> DWIM Perl -> Padre" untuk membuka text editor dengan file baru/kosong.Ketikkan
Seperti yang Anda lihat bahwa statement pada Perl diakhiri tanda titik koma ;. Tanda \n digunakan sebagai tanda baris baru. String diapit oleh tanda petik ". Fungsi print digunakan untuk mencetak hasil ke layar. Ketika ini dieksekusi Perl akan mencetak teks dan memunculkan baris baru.
- print."Hello World\n";
Simpan berkas ini dengan nama hello.pl lalu Anda dapat menjalankan kode ini dengan memilih "Run -> Run Script" Anda akan melihat jendela baru yang memunculkan output dari kode tadi.
Demikianlah, skrip Perl Anda yang pertama.
Mari tingkatkan lagi.
Perl pada command line untuk non-pengguna Padre
Jika Anda tidak menggunakan Padre atau salah satu dari IDE yang ada, Anda tidak akan bisa menjalankan skrip Anda dari editor itu sendiri. Setidaknya secara default demikian adanya. Anda harus membuka shell (atau cmd di Windows), arahkan ke direktori di mana Anda menyimpan file hello.pl dan ketikkan:perl hello.pl
Begitulah cara menjalankan skrip dari command line.
gunakan say() sebagai ganti print()
Mari tambah sedikit baris pada skrip Perl kita:Pertama mari kita seragamkan versi minimum Perl yang akan kita gunakan:
Setelah Anda mengetikkan ini, Anda dapat menjalankan kembali skripnya dengan memilih "Run -> Run Script" atau dengan menekan F5. Aplikasi akan secara otomatis menyimpan file sebelum menjalankannya.
- use 5.010;
- print."Hello World\n";
Secara umum ini hal yang tepat untuk mengetahui versi minimum Perl yang dibutuhkan untuk menjalankan kode.
Dalam hal ini, cara ini juga menambahkan sedikit fitur baru pada perl termasuk say. say sangat mirip dengan print namun lebih pendek dan ia secara otomatis menambahkan baris baru di bagian akhir.
Anda dapat mengubah kode Anda sebagai berikut:
Kita ganti print dengan say serta menghapus \n dari akhir string.
- use 5.010;
- say "Hello World";
Versi aplikasi Anda saat ini bisa jadi merupakan versi 5.12.3 atau 5.14. Kebanyakan distro Linux saat ini datang membawa Perl versi 5.10 atau yang lebih baru.
Meski demikian, kita masih bisa menggunakan perl versi lama. Hanya saja tidak akan bisa menggunakan say() dan memerlukan beberapa penyesuaian pada contoh-contoh berikutnya. Saya akan memberi tahu Anda ketika saya menggunakan fitur-fitur yang memerlukan versi 5.10.
Safety.net
Di samping itu saya benar-benar merekomendasikan untuk melakukan modifikasi pada Perl. Untuk itu kita tambahkan 2, yang disebut pragmatas, yang mirip dengan compiler flags pada bahasa pemrograman lainnya:Dalam hal ini kata kunci use memerintahkan perl untuk memuat dan memfungsikan setiap pragma.
- use 5.010;
- use strict;
- use warning;
- say "Hello World";
strict dan warnings akan membantu Anda menemukan bugs pada kode atau bahkan kadang membantu mencegah Anda membuat kesalahan penulisan kode sejak awal. Keduanya begitu mudah digunakan.
User input
Nah, sekarang kita tingkatkan lagi kode kita dengan meminta user memasukkan namanya dan menyertakannya ke dalam respon aplikasi.$name disebut variabel skalar.
- use 5.010;
- use strict;
- use warning;
- say "What is your name?";
- my $name = <STDIN>;
- say "Hello $name, how are you?";
Variabel dideklarasikan menggunakan kata kunci my. (sebenarnya ini merupakan salah satu syarat strict.)
Variabel skalar selalu diawali dengan tanda $. Sedangkan <STDIN> adalah alat untuk membaca baris dari keyboard.
Tulis skrip di atas dan jalankan dengan menekan tombol F5
Skrip akan menanyakan nama Anda. Tuliskan nama Anda dan tekan ENTER agar perl tahu Anda sudah selesai menuliskan nama Anda.
Anda mungkin akan melihat bahwa outputnya sedikit aneh: tanda koma setelah nama muncul pada baris baru. Hal ini terjadi karena Anda menekan ENTER saat menuliskan nama Anda, masuk ke dalam variabel $name.
Menghapus baris tambahan
Ini merupakan hal wajar di perl, bahwa terdapat fungsi spesial bernama chomp yang digunakan untuk menghapus tambahan baris baru dari string.
- use 5.010;
- use strict;
- use warning;
- say "What is your name?" ";
- my $name = <STDIN>;
- chomp $name;
- say "Hello $name, how are you?";
Kesimpulan
Pada setiap skrip yang Anda tulis Anda harus selalu menambahkan use strict; dan use warnings; sebagai statement awal. Juga sangat direkomendasikan untuk menambahkan use 5.010;.Latihan-latihan
Saya telah menyiapkan beberapa latihan.Cobalah skrip berikut:
- use strict;
- use warning;
- use 5.010;
- say "Hello";
- say "World";
makasih infonya kak .
ReplyDeleteMy Blog