You are on page 1of 45

Perl

Variabel Array

#!/usr/bin/perl

@hitung = ("Satu","Dua","Tiga");

foreach $n (@hitung) {
print "$n\n";
}

Output :
Satu
Dua
Tiga
Elemen Array
@hitung = (Satu,Dua,Tiga)

Satu Dua Tiga

Variabel Skalar ($hitung[0]) Variabel Skalar ($hitung[1]) Variabel Skalar ($hitung[2])

Nomer Index dimulai dari 0 sampai $#hitung


Menampilkan Single Elemen Array

#!/usr/bin/perl

@hitung = ("Satu","Dua","Tiga");

foreach $a (0 .. $#hitung) {
print "\$hitung[$a] = $hitung[$a]\n";
}
Menampilkan Nomer Index Terbesar

#!/usr/bin/perl

@hitung = ("Satu","Dua","Tiga");

print "$#hitung\n";

Output :
2
Mengakses Elemen Array

#!/usr/bin/perl

@hitung = ("Satu","Dua","Tiga");

print "$hitung[0]\n";
print "$hitung[1]\n";
print "$hitung[2]\n";

Output :
Satu
Dua
Tiga
Mengakses Elemen Array

#!/usr/bin/perl

@hitung = ("Satu","Dua","Tiga");

foreach $n (@hitung) {
print "$n\n";
}

Output :
Satu
Dua
Tiga
Split
#!/usr/bin/perl

$input = "Dokter Squid Indonesia" ;


@dsi = split(' ',$input);

foreach $a (0 .. $#dsi) {
print "\$dsi[$a] = $dsi[$a]\n";
}

Output :
$dsi[0] = Dokter
$dsi[1] = Squid
$dsi[2] = Indonesia
Sintak Split
split ([ PATTERN [ , EXPR [ , LIMIT ] ] ])
#!/usr/bin/perl

$input = "Dokter-Squid-Indonesia" ;
@dsi = split('-',$input,2);

foreach $a (0 .. $#dsi) {
print "\$dsi[$a] = $dsi[$a]\n";
}

Output :
$dsi[0] = Dokter
$dsi[1] = Squid-Indonesia
Sintak if else

if ($condition1)
{
# do something
}
else
{
# do the 'else' thing
}
Sintak else if (elsif)
if ($condition1)
{
# do something
}
elsif ($condition2)
{
# do something else
}
elsif ($condition3)
{
# yada
}
else
{
# do the 'else' thing
}
Contoh if
#!/usr/bin/perl

print "Masukkan Nama Anda: ";


$nama = <STDIN>;
chomp ($nama);

print "Masukkan Nilai Anda: ";


$nilai = <STDIN>;
if ($nilai >= 80) {
print "Selamat $nama, Anda Lulus!\n";
}
Contoh if else
#!/usr/bin/perl

print "Masukkan Nama Anda: ";


$nama = <STDIN>;
chomp ($nama);

print "Masukkan Nilai Anda: ";


$nilai = <STDIN>;
if ($nilai >= 80) {
print "Selamat $nama, Anda Lulus\n";
} else {
print "Maaf $nama, Anda TIDAK Lulus\n";
}
Contoh elsif
#!/usr/bin/perl

print "Masukkan Nama Anda: ";


$nama = <STDIN>;
chomp ($nama);

print "Masukkan Nilai Anda: ";


$nilai = <STDIN>;
if ($nilai >= 80) {
print "Selamat $nama, Anda Lulus\n";
} elsif ($nilai >= 65) {
print "$nama, Anda Diberi Kesempatan Mengulang Ujian\n";
} else {
print "Maaf $nama, Anda TIDAK Lulus\n";
}
Comparison Operators
Numeric Test String Test
Equal == eq
Not equal != ne
Less than < lt
Greater than > gt
Less than or equal to <= le
Greater than or equal to >= ge
While Loop

while ('true')
{
# do stuff here
}
Contoh While Loop

#!/usr/bin/perl

$counter = 10;

while ($counter > 0) {


print "$counter\n";
$counter -=1;
}
print "Selesai\n";
Contoh While Loop
#!/usr/bin/perl

while (1) {

print "Masukkan Nama Anda: ";


$nama = <STDIN>;
chomp ($nama);

if ($nama ne " ") {


last;
}
print "Nama Harus diisi!!!\n";
}

print "Masukkan Nilai Anda: ";


$nilai = <STDIN>;
if ($nilai >= 80) {
print "Selamat $nama, Anda Lulus\n";
} elsif ($nilai >= 65) {
print "$nama, Anda Diberi Kesempatan Mengulang Ujian\n";
} else {
print "Maaf $nama, Anda TIDAK Lulus\n";
}
Contoh While Loop

#!/usr/bin/perl

while (<STDIN>) {
print "input: $_";
}
$| =1
$| adalah variable khusus lihat di
http://perldoc.perl.org/perlvar.html , jika variable ini diset dengan
angka tidak sama dengan 0 (misalnya 1) maka akan
menonaktifkan buffer pada stdout.
Secara default, Perl buffer output (STDOUT), namun tidak
untuk STDERR.
Contoh buffer output

#!/usr/bin/perl

print "Sebelum";
print STDERR "Terjadi error.\n";
print "Sesudah";
Contoh No Buffer Output(auto flush)

#!/usr/bin/perl
$| = 1;
print "Sebelum";
print STDERR "Terjadi error.\n";
print "Sesudah";
Contoh Buffer Output

#!/usr/bin/perl

$val = 10;
for ($i=0;$i<=$val;$i++) {
print "$i";
sleep(1);
}
Contoh No Buffer Output

#!/usr/bin/perl
$| = 1 ;
$val = 10;
for ($i=0;$i<=$val;$i++) {
print "$i";
sleep(1);
}
Regex Operators

Match Regular Expression m//


Substitute Regular Expression s///
Transliterate Regular Expression t///
Match Operator

#!/usr/bin/perl

$dsi = "Dokter Squid Indonesia";

if ($dsi =~ m/Squid/) {
print "Ada Squid!!\n";
}
Subtitution Operator

#!/usr/bin/perl

$dsi = "Dokter Squid Indonesia";

if ($dsi =~ s/Squid/MikroTik/) {
print "$dsi\n";
}
Translation Operator

#!/usr/bin/perl

$dsi = "Dokter Squid Indonesia";

if ($dsi =~ tr/Dokter/Doctor/) {
print "$dsi\n";
}
Translation Operator

#!/usr/bin/perl

$dsi = "Dokter Squid Indonesia";

if ($dsi =~ tr/e/o/) {
print "$dsi\n";
}

Mengganti semua karakter demi karakter yang ditemukan


Grouping Matching

#!/usr/bin/perl

$waktu = "05:10:15";

$waktu =~ m/(\d+):(\d+):(\d+)/;

print "Jam : $1, Menit: $2, Detik: $3\n";


Regular Character

Cocok dengan semua urutan karakter c lalu a dan t.


Special Characters

Karakter . (titik) akan match (cocok) dengan satu karakter


apapun itu kecuali newline(baris baru).

Ada banyak spesial karakter(meta characters) contohnya


.*+?^$\()[]|{}/-
Special menjadi Regular

Agar karakter spesial (misalnya . (titik)) Kini regexnya hanya cocok


dianggap sebagai karakter regular maka dengan string c.t
tambahkan back slash(\) di depan karakter
spesial tersebut.
Character Class

Character class adalah sebuah daftar karakter yang bisa


dicocokkan dengan string. Character Class selalu diapit
dengan kurung siku []
Contoh [abc] maka akan cocok dengan a atau b atau c.
Pencocokkannya hanya untuk satu karakter.
Character Class
Character Class-Range

Jika malas mengetikkan ABCDEFG, maka bisa


menggunakan karakter - yang disebut range, jadi
cukup mengetikkan [A-G] sama artinya dengan
ABCDEFG
Character Class-Negated

Dengan karakter ^ diawal character class disebut


negasi. Berarti kita mencocokkan dengan yang
bukan berada didalam character class.
Character Class-Special

[0-9] = \d = digit = [0123456789] digunakan untuk


mencocokkan satu digit angka.
Character Class-Special

\d = satu digit angka apapun.


Character Class-Special

\w = word = [0-9a-zA-Z_] = digit, huruf, garis bawah(_)


Character Class-Special

\s Whitespace(spasi)
\t Tab
\n Newline(baris baru)
\f Form feed (halaman baru)
\r Carriage return
Regex Tester Online
Online Perl Interpreter

https://ideone.com/
Online Perl Interpreter

http://www.tutorialspoint.com/
execute_perl_online.php
Online Perl Interpreter https://code.hackerearth.com

You might also like