Perl: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Bot: +{{Authority control}} |
perbaikan kesalahan tik |
||
(6 revisi perantara oleh 5 pengguna tidak ditampilkan) | |||
Baris 18:
| website = [http://www.perl.org www.perl.org]
| year = {{Start date and age|1987|12|18}}<ref>{{cite web |url=https://perldoc.perl.org/perlhist.html#THE-RECORDS |title=Rekaman Rilis Bahasa Pemrograman Perl |accessdate=2018-05-27}}
| latest_release_version = {{Unbulleted list
Baris 28:
}}
| latest_release_date =
| latest_preview_version =
Baris 42:
}}
'''Perl''' adalah [[bahasa pemrograman]] untuk segala keperluan, dikembangkan pertama kali oleh [[Larry Wall]] di mesin berbasis [[Unix]]. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula untuk berbagai sistem operasi varian Unix ([[SunOS]], [[Linux]], [[BSD]], [[HP-UX]]), juga tersedia untuk sistem operasi seperti [[DOS]], [[Microsoft Windows]], [[PowerPC]], [[BeOS]], [[VMS]], [[EBCDIC]], dan [[PocketPC]]. Dukungan terhadap pemrograman berbasis objek (''object oriented programming''/''[[OOP]]'') ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan [[Perl 6]] dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall<ref>[http://www.perl.com/pub/a/2003/07/16/soto2003.html State of the Onion 2003]</ref> dalam satu pidatonya yang dikenal dengan seri ''[[The State of the Onion]]''.
Dua di antara [[#Karakteristik|karakteristik]] utama Perl adalah penanganan teks dan berbagai jalan pintas untuk
== Fitur ==
Baris 55:
* Tersedia di banyak [[sistem operasi]]
* Precompile tidak diperlukan untuk eksekusi program
* [[Bahasa skrip]] yang memiliki kecepatan pemrosesan yang tinggi
* Dukungan [[Unicode]]
* Pengembangan Modul yang tersedia sangat dimungkinkan
Baris 66:
== Nama dan singkatan ==
Larry Wall menegaskan bahwa bahasa pemrograman yang diciptakannya diberi nama '''Perl''' (dengan P besar), sedangkan '''perl''' (dengan p kecil) adalah nama untuk program ''[[interpreter]]'' yang menjalankan [[kode sumber]] yang ditulis dengan bahasa Perl. Korelasi kedua nama ini ditegaskan oleh [[Tom Christiansen]] dalam ungkapan ''only perl can parse Perl'', atau ''Nothing but perl can parse Perl''. Nama ''perl'' sebagai sebuah program, mengikuti konsensus penamaan program di sistem [[Unix]], yaitu pendek dan semua ditulis huruf kecil (kalau di [[Windows]] nama program ini adalah '''perl.exe'''). Baik Perl maupun perl bukanlah sebuah singkatan atau [[akronim]]. Jadi, penulisan '''PERL''' (semua huruf besar) dianggap salah, tidak berdasar, dan sama sekali tidak akurat jika dihubungkan dengan Perl sebagai bahasa pemrograman.<ref>[http://perldoc.perl.org/perlfaq1.html#What's-the-difference-between-%22perl%22-and-%22Perl%22%3f ''What's the difference between "perl" and "Perl"?]</ref>
Baru belakangan Larry Wall memberikan kepanjangan ''Practical Extraction and Reporting Language''. Mungkin karena terkesan serius dan sangat relevan, kepanjangan ini secara salah sering dirujuk sebagai kepanjangan resmi dari Perl. Barangkali untuk mencegah kesalahpahaman, atau karena Larry Wall memang suka bercanda, dia mengumumkan kepanjangan lain, yaitu ''Pathologically Eclectic Rubbish Lister''. Dan, yang terbaru adalah ''People Excel at Relational Labor'', untuk menggambarkan bahwa perkembangan Perl tidak terlepas dari keterlibatan dan komitmen komunitas.<ref>[http://www.perl.com/pub/a/2006/09/21/onion.html The State of the Onion 10]</ref>
Di luar itu, berkembang kreasi-kreasi lain untuk membuat kepanjangan Perl, baik yang bermaksud serius maupun bercanda, bahkan ada juga yang sifatnya merendahkan atau melecehkan.
Baris 84:
[[Kode sumber]] Perl tidak perlu dikompilasi, melainkan bisa langsung dijalankan oleh sebuah program ''[[interpreter]]'' bernama '''''perl'''''. Misalnya,
<
#!/usr/bin/perl
print "Hello, world!\n";
</syntaxhighlight>
Jika program di atas ditulis dalam sebuah berkas bernama <code>hello.pl</code>, lalu dijalankan dengan perintah (contoh di Linux):
<
$ perl hello.pl
</syntaxhighlight>
Maka di layar akan tercetak:
Baris 102:
Bahkan, sebuah program yang mengerjakan proses rumit bisa ditulis dengan jumlah karakter yang lebih pendek daripada jumlah kolom layar standar, misalnya:
<
perl -lane '$h{$_}++ for @F; END { print "$_: $h{$_} " for keys %h}' <nama_berkas>
</syntaxhighlight>
Program ini membaca sebuah berkas teks dan mencetak setiap kata unik dan jumlahnya di dalam berkas. Contoh hasil cetakan dengan sebuah berkas berisi kode [[SQL]]:
Baris 117:
Tentu saja, yang dimaksud dengan "kata" di sini adalah rentetan karakter tanpa spasi. Jika dituangkan dalam sebuah berkas, program di atas bisa menjadi lima hingga sepuluh baris, tergantung gaya pemrograman. Program semacam ini disebut juga ''oneliner'', dan sering digunakan untuk keperluan sederhana dan cepat. Contoh lain penggunaan ''oneliner'' adalah mengubah nama berkas di suatu direktori menjadi huruf kecil semua, seperti:
<
perl -e 'rename $_, lc for <*>'
</syntaxhighlight>
Beberapa programer Perl tertantang untuk membuat solusi ''oneliner'' untuk problem yang sama dengan jumlah karakter yang lebih pendek dan berkembanglah sebuah kompetisi yang disebut [[Perl Golf]] (lihat juga [[#Komunitas dan Budaya|Komunitas dan Budaya]]). Hal seperti ini bisa membuat sebagian orang kagum, namun bagi sebagian orang, semakin membuktikan bahwa Perl hanyalah bahasa untuk main-main, atau kalaupun untuk serius, tidak mudah diphami oleh orang lain, bahkan oleh programernya sendiri setelah beberapa waktu kemudian. Lelucon yang diberikan kepada Perl tentang ini adalah ''write only'', artinya program hanya bisa ditulis, tetapi tidak bisa dibaca.
Sebenarnya tidak demikian. Perl menyediakan berbagai fasilitas bagi
Seperti juga bahasa lainnya, Perl menyediakan fasilitas pemrograman standar seperti penggunaan variabel, fungsi (''built-in function''), kontrol logika (''if-else''), dan iterasi (<code>while, for, foreach</code>). Kontrol ''switch'' baru akan disediakan di [[Perl 6]], namun di Perl 5 dapat diemulasikan dengan mudah. Perl membolehkan programer untuk membuat fungsi sendiri (''subroutine''), mengenalkan pembatasan cakupan variabel secara hirarkis, penggunaan komentar, serta pembuatan dokumentasi terstruktur bersandingan dengan kode program. Sejak Perl 5 dikeluarkan, Perl mendukung pemrograman berbasis objek ([[OOP]]), disusul kemudian dengan ''[[thread programming]]'', serta memperbaharui penggunaan ''namespace''. Fasilitas yang paling digemari pengguna Perl, ''[[regular expression]]'' (atau ''regex''), telah ada sejak Perl 2. Dari versi ke versi regex makin dikembangkan sehingga diakui sebagai implementasi regex paling lengkap.<!-- butuh referensi, lupa pernah baca dimana --> Tidak heran kemudian muncul implementasi regex yang dikenal sebagai [[PCRE]], atau ''Perl-compatible regular expression''.
Perl menyediakan sejumlah fasilitas untuk memastikan bahwa programer dapat membuat program yang aman dari serangan ''[[cracker]]''. Jika programer menginginkan, Perl menyediakan
Sebagai bahasa yang diciptakan dalam tradisi [[Unix]], Perl sedari awal mendukung pembuatan program yang bisa berinteraksi dengan program lain yang ada di sistem, sehingga bisa dijalankan seperti diilustrasikan di bawah ini:
<
cat <berkas> | sort | program_perl | perl -p -e 's/ganti ini/dengan ini/g' | vim - | tar cf - .
</syntaxhighlight>
== Komunitas dan budaya ==
Pada awalnya komunitas pengguna Perl hanya di sekitar tim pengembangan Perl itu sendiri, beberapa grup diskusi di ''[[newsgroup]]'', dan sejumlah ''[[mailing list]]''. Komunitas pengguna yang lebih spesifik dimulai dengan munculnya ''New York Perl Mongers'' (disingkat NY.pm) yang dibentuk oleh [[brian d foy]] (bdf). Dari namanya bisa diketahui bahwa anggota NY.pm berasal dari [[kota New York]], [[Amerika Serikat]]. Terinspirasi oleh [[Randal L. Schwartz]], bdf melangkah lebih jauh dengan membentuk Perl Mongers sebagai wadah internasional yang mengkoordinasikan komunitas pengguna Perl di seluruh dunia.<ref>[http://www.perl.com/pub/a/1999/01/foy.html Wawancara dengan brian d foy]</ref>
Satu-persatu komunitas Perl bebasis kota berdiri. Mengambil model dari NY.pm, hampir semua nama komunitas Perl Mongers di suatu kota diambil dari nama kota tersebut dan ditambahkan .pm di belakangnya. Ini tentu mengingatkan pada penamaan modul ekstensi .pm untuk Perl Modules. Di Indonesia sempat berdiri tiga komunitas berbasis kota, yaitu Bandung.pm, Jakarta.pm, dan Semarang.pm. Di luar grup-grup berbasis kota tersebut, terdapat juga grup diskusi berbasis web, yaitu [http://www.perlmonks.org PerlMonks].
Baris 158:
{{Daftar bahasa pemrograman}}
{{bahasa-komputer-stub}}▼
{{Authority control}}
Baris 165:
[[Kategori:Bahasa pemrograman prosedural]]
[[Kategori:Bahasa pemrograman berorientasi objek]]
▲{{bahasa-komputer-stub}}
|