Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Web Perl 1. PERL Practical Extraction & Report Language Tipe data : Array Array assosiatif Skalar  string,bilangan (numerik) Penamaan variabel.

Presentasi serupa


Presentasi berjudul: "Pemrograman Web Perl 1. PERL Practical Extraction & Report Language Tipe data : Array Array assosiatif Skalar  string,bilangan (numerik) Penamaan variabel."— Transcript presentasi:

1 Pemrograman Web Perl 1

2 PERL Practical Extraction & Report Language Tipe data : Array Array assosiatif Skalar  string,bilangan (numerik) Penamaan variabel Case-sensitive Diawali oleh ($) dan karakter huruf (A-Z,a-z) Dianjurkan untuk mempergunakan Modul strict atau warnings Strict Akan menghentikan program jika ditemukan kemungkinan masalah Warnings Akan memberikan warnings (peringatan) jika ditemukan kemungkinan masalah 2

3 PERL Operator : Operator Aritmatika Unary Operator + dan - 3 OperatorOperasi +perkalian -Pengurangan *Perkalian **Pangkat /Pembagian %Modulus ++Penaikan --Penurunan

4 Operasi Keluaran dan Masukan Operasi Keluaran Sintaks : Print argumen_1,argumen_2,…; Print; // melakukan print variabel global $_ Print (argumen) Printf([penanganan_berkas) format,argumen_1 dan argumen_2) Format : 4 NoFormatNoFormat 1%sStr6%xHexa 2%bBiner7%XHexa 3%uUnsigned8%fFloat 4%d atau %iDesimal Integer 9%e atau %EScientific 5%ooktal10%ggeneral

5 Input data Pemasukan data Contoh : Print “input =” ; $data= ; print “output = ”.$data; 5

6 Operator Operator Penugasan 6 NoOperator 1.= 2.+= 3.-= 4.*= 5./= 6.%= 7.**= 8..= Operator koma : Sintaks : Ekspresi_1, ekspresi_2, …, ekspresi_1 Contoh : (komaoperator.pl) $a=2; $b=5;$d = (++$a,++$b,$a+$b) print (“d = “.$d); Hasil : d= 9 Operator relasional NoTipe data Operand (numerik) Tipe data Operand (String) 1.==eq 2.!=ne 3.>gt 4.=ge 6.<=le

7 Operator Operator Relasional Tambahan Tipe data Operand = Numerik Output : (-1,0,1) Contoh : a b Hasil : 1 jika a > b 0 jika a = b -1 jika a < b cmp Output : (-1,0,1) Tipe data Operand = string Contoh : a cmp b Hasil : 1 jika a > b 0 jika a = b -1 jika a < b 7 Operator Bitwise NoOperasiOperator (String) 1.And& 2.Or| 3.Not~ 4.Xor^ 5.Bitwise Geser kiri<< 6.Bitwise Geser kanan >>

8 Penyeleksian kondisi if statement if (kondisi) { statement; } if-else statement if (kondisi){ statement ;}# dilaksanakan jika kondisi = true else{ statement;} # dilaksanakan jika kondisi = false if-elsif-else statement if (kondisi_1){ statement;} # dilaksanakan jika kondisi 1 = true elsif (kondisi_2){ statement;} # dilaksanakan jika kondisi 1 = true … elsif (kondisi_n){ statement;} # dilaksanakan jika kondisi n = true else { statement; # dilaksanakan jika seluruh kondisi = false } 8

9 Switch dan unless Switch Sintaks (perl 5.10) use Switch; switch ($val) { case 1 { statement ;} case 2 { statement ;} else { statement; } } Contoh : (switch.pl) use Switch; $val=10; switch ($val) { case 1{ print "number 1" } else{ print "tidak ada case yang tepat" } } Unless unless(kondisi) { statement;} # dilaksanakan bila kondisi = false 9

10 Perulangan do-while do { statement; # dilaksanakan selama kondisi = true dan minimal dilaksanakan 1 kali }while (kondisi) do-until do { statement; # dilaksanakan selama kondisi = false dan minimal dilaksanakan 1 kali } until (kondisi) while (kondisi){ statement; # dilaksanakan selama kondisi = true dan minimal dilaksanakan 0 kali } until (kondisi){ statement; #dilaksanakan selama kondisi = false dan minimal dilaksanakan 0 kali } 10

11 Array dan list List Sederetan nilai skalar yang diletakkan dalam tanda kurung Array Variabel berindeks Membuat array (Contoh : array.pl) @var_array =(); @var_array=(1,2,3); @var_array=(1..10); @var_array2=@var_array1 var_array2 dan var_array1 adalah 2 variabel yang berbeda tetapi var_array 2 akan diinisialisasi dengan nilai elemen pada var_array 1 Mengetahui jumlah elemen array $var_skalar = @var_array Mengetahui indeks terakhir dari array Menggunakan operator $# Contoh : @data = (1..10); print “indeks terakhir =“.$#data; Perulangan foreach : Sintaks : Foreach $elemen_array(@var_array){ statement; } 11

12 Array dan list Memindahkan isi variabel array ke variabel skalar : ($skalar1,$skalar2,..,$skalar_n)=@data; Contoh : (arraykeskalar.pl) @data = {1..10} ($elemendata_0,$elemendata_1)=@data; print “$elemendata_0\n $elemendata_1\n”; Hasil printout : 1 2 12

13 Array dan list Potongan array (array slice) Memungkinkan sebagian elemen dari variabel array 1 dipindahkan ke variabel array 2 Contoh : (arrayslice.pl) @data=(1..10); @data_slice=@data[0,1]; #memindahkan elemen array data dengan indeks ke 0 dan 1 ke variabel array #data_slice foreach $elemendata(@data_slice){ print $elemendata.”\n”; } Hasil : 1 2 13

14 Array dan list Fungsi-fungsi yang berhubungan dengan pemrosesan array dan list : Join Menghasilkan string yang merupakan gabungan elemen-elemen list Contoh : (join.pl) @data=(1..7); $hasiljoin=join (",",@data); print $hasiljoin."\n"; Hasil : 1,2,3,4,5,6,7 push dan pop menambah atau mengambil elemen pada array Contoh : (pushpop.pl) @data=(1..10); $elemen =11; push(@data,$elemen); print "Isi variabel array data\n"; foreach $elemendata(@data){ print $elemendata."-"; } print "\n"; $elemenawal=pop(@data); print "Hasil pop=".$elemenawal."\n"; print "Isi dari array setelah pop="."\n"; foreach $elemendata(@data){ print $elemendata."-"; } 14 Hasil : Isi variabel array data 1-2-3-4-5-6-7-8-9-10-11- Hasil pop=11 Isi dari array setelah pop= 1-2-3-4-5-6-7-8-9-10-

15 Array dan list Fungsi-fungsi yang berhubungan dengan pemrosesan array dan list: Reverse Memperoleh list dengan urutan urutan elemen dalam list dalam keadaan terbalik Contoh : (reverse.pl) @data=(1..11); @data=reverse(@data); foreach $elemendata(@data){ print "*".$elemendata;} Hasil : *11*10*9*8*7*6*5*4*3*2*1 shift dan unshift Shift Menggeser isi variabel array sehingga elemen awal terhapus dari variabel array Unshift Menambah elemen variabel array pada bagian awal array dan menggeser isi awal sehingga total elemen bertambah 1. Contoh : (shifunshift.pl) @data=(1..11); shift(@data); foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; unshift(@data,(0,1)); foreach $elemendata(@data){ print "*".$elemendata; } 15 Hasil *2*3*4*5*6*7*8*9*10*11 *0*1*2*3*4*5*6*7*8*9*10*11

16 Array dan list Fungsi-fungsi yang berhubungan dengan pemrosesan array dan list: Sort Melakukan sorting elemen list Sort karakter Sort menaik @data = sort @data; @data = sort {$a cmp $b} @data; # tanpa memperhatikan huruf besar/kecil @data = sort {uc($a) cmp uc($b)} @data; @data = sort {lc($a) cmp lc($b)} @data; Sort menurun @data = sort {$b cmp $a} @data; # tanpa memperhatikan huruf besar/kecil @data = sort {uc($a) cmp uc($b)} @data; @data = sort {lc($a) cmp lc($b)} @data; 16

17 Array dan list Fungsi-fungsi yang berhubungan dengan pemrosesan array dan list: Sort Melakukan sorting elemen list Sort numerik Sort menaik @data = sort @data; @data = sort {$a $b} @data; Sort menurun @data = sort {$b $a} @data; 17

18 Array dan List #Sort karakter (sort.pl) @data= ("a".."e","A".."E"); @data=sort @data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; @data=sort{$b cmp $a}@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; @data=sort{uc($a) cmp uc($b)}@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; @data=sort{lc($b) cmp lc($a)}@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n“; 18 #sort numerik (sort.pl) @data=(1..7); @data=sort@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; @data=sort{$a $b}@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; @data=sort{$b $a}@data; foreach $elemendata(@data){ print "*".$elemendata; } print "\n"; Hasil : *A*B*C*D*E*a*b*c*d*e *e*d*c*b*a*E*D*C*B*A *a*A*b*B*c*C*d*D*e*E *e*E*d*D*c*C*b*B*a*A *1*2*3*4*5*6*7 *7*6*5*4*3*2*1

19 Array dan List Splice Dapat digunakan untuk menghapus atau mengganti elemen array splice (array,ofset) Menghapus elemen array mulai dari indeks ofset splice (array,ofset,n) Menghapus n elemen array mulai dari indeks ofset splice (array,ofset,n,list) Menghapus n elemen array mulai dari indeks ofset dan menyisipkan isi list ke dalam array Mengembalikan elemen array yang dipotong. 19

20 Array dan List Splice (splice.pl) @data=("a".."e"); print "Array awal :\n"; foreach $elemendata(@data){ print "*".$elemendata; } print "\n Hasil yang dipotong dari array awal pada ofset=3 :\n"; @datapotong=splice(@data,3); foreach $elemendata(@datapotong){ print "*".$elemendata; } print "\n Hasil tersisa pada array awal :\n"; foreach $elemendata(@data){ print "*".$elemendata; } Hasil : Array awal : *a*b*c*d*e Hasil yang dipotong dari array awal pada offset=3 : *d*e Hasil tersisa pada array awal : *a*b*c 20

21 Array dan List Splice (splicesisip.pl) @data=("a".."e"); print "Array awal :\n"; foreach $elemendata(@data){ print "*".$elemendata; } print "\n Hasil yang dipotong dari array awal pada offset=3 sebanyak 1 data :\n"; @datapotong=splice(@data,3,1,"f"); foreach $elemendata(@datapotong){ print "*".$elemendata; } print "\n Hasil tersisa pada array awal dan hasil penyisipan 'f' pada offset 3 :\n"; foreach $elemendata(@data){ print "*".$elemendata; } Hasil : Array awal : *a*b*c*d*e Hasil yang dipotong dari array awal pada offset=3 sebanyak 1 data : *d Hasil tersisa pada array awal dan hasil penyisipan 'f' pada offset 3 : *a*b*c*f*e 21

22 Array dan list grep Mengembalikan nilai : list yang sesuai dengan pola yang digunakan, jika variabel yang menampung nilai yang dikembalikan adalah variabel array Jumlah elemen yang sesuai dengan pola jika variabel yang menampung nilai yang dikembalikan adalah variabel skalar. Contoh : (grep.pl) @data="a".."e"; $numerik=grep(!/a/,@data); @hasil=grep(!/a/,@data); print "Hasil variabel skalar =".$numerik."\n"; print "Hasil variabel array ="; foreach $elemendata(@hasil){ print "*".$elemendata; } Hasil : Hasil variabel skalar =4 Hasil variabel array =*b*c*d*e 22

23 Array asosiatif (Hash) Array yang memungkinkan indeks (subskrip) bukan numerik Terdiri dari Key (kunci) Value (nilai) Penciptaan %array_assosiatif=( ‘key1’,nilai1; ‘key2’,nilai2;); Pengacuan pada nilai array assosiatif $array_assosiatif{key}; values(array_assosiatif) atau values array_assosiatif Pengacuan pada kunci array assosiatif keys (array_assosiatif); keys array_assosiatif 23

24 Array asosiatif Pemakaian fungsi keys Keys (%arrayasosiatif) Keys %arrayasosiatif Contoh : (keyassosiatif.pl) %arrayasosiatif = ("a",1,"b",1,"c",1); #atau ("a"=>1,"b"=>1,"c"=>1) foreach $data (keys %arrayasosiatif){ print $data."=".$arrayasosiatif{$data}."\n"; } Penambahan elemen $arrayasosiatif{$kunci}=value; Penghapusan elemen Delete($arrayasosiatif{$kunci}) Fungsi exists Berguna untuk memeriksa keberadaan suatu kunci pada array asosiatif Nilai yang dikembalikan adalah true atau false Sintaks : exists($arrayasosiatif{$kunci}) 24

25 Fungsi Menyatakan fungsi : sub namafungsi{ statement; return(nilai); } Fungsi tanpa return Ekspresi terakhir yang dilakukan akan menjadi nilai yang dikembalikan oleh fungsi Memperoleh jumlah argumen yang disertakan pada saat fungsi dipanggil $variabelskalar=@_ Contoh fungsi : (fungsiawal.pl) sub maksimum_list{ $maks = $_[0]; $jum_arg=@_; for ($i=0;$i<$jum_arg;$i++){ $maks=$_[$i]; } return($maks); } $maksimum=maksimum_list(1..7); print "Nilai Maksimum dari (1..7)\n"; print "Hasil = ".$maksimum; 25

26 Variabel global dan lokal Variabel lokal dapat dinyatakan dengan : my local Perbedaan antara my dan local adalah : my hanya bersifat lokal terhadap blok tempat variabel dinyatakan Local bersifat lokal terhadap blok tempat variabel dinyatakan tetapi juga dikenal oleh seluruh fungsi yang dipanggil dari blok tempat variabel local tersebut dinyatakan. Parameter passing pada fungsi by value Contoh Fungsi maksimum list pada contoh sebelumnya by reference Contoh : sub fungsi { my $variabel = $_[0]; $_[0]=$_[1] $_[1]=$variabel; } fungsi($a,$b); #fungsi ini akan menukarkan nilai a dan b 26

27 Fungsi Fungsi privat Fungsi yang hanya dikenal dalam blok pernyataan tempat fungsi tersebut didefinisikan. Dinyatakan sebagai fungsi anonim Pendefinisian fungsi anonim : $variabel = sub{ statement; } Pemanggilan fungsi privat : Dilakukan dari tempat fungsi tersebut dinyatakan dan dilakukan dengan mempergunakan : &$variabel(argumen_list) Contoh : (privatfungsi.pl) sub fungsi { my ($arg_1,$arg_2)=@_; my $kuadrat = sub{ return ($_[0]**2; }; return (&$kuadrat ($arg_1)+&$kuadrat ($arg_2)) } $a=5;$b=10; $c=fungsi ($a,$b); #statement ini akan menghasilkan c=a**2 + b**2 print “Hasil :”.$c; 27

28 Tipe Referensi Pada bahasa pemrograman yang lain dikenal sebagai variabel pointer Penugasan referensi $ref_skalar=\$varskalar $ref_array=\@vararray $ref_arrasosiatif =\%vararrasosiatif $ref_glob = \*glob $ref_fungsi=\&fungsi $ref_ref=\$ref Pendereferensian ${$ref_skalar} atau $$ref_skalar @{$ref_array} atau @$ref_array %{$ref_arrasosiatif} atau %$ref_arrasosiatif *{$ref_array} atau *$ref_array &{$fungsi} atau &$fungsi ${${$ref_ref}} atau $$$ref_ref Contoh : (referensi.pl) 28

29 Tipe Referensi Contoh : (referensi.pl) $a=5; $ref_skalar = \$a; print "Hasil referensi \$varskalar=5 ke \$ref_skalar= ".$ref_skalar; print "\nHasil dereferensi \$\$ref_skalar= ".$$ref_skalar."\n"; @var_array=(1..7); $ref_array=\@var_array; print 'Hasil referensi \@var_array(1..7) ke $refarray = '.$ref_array; print "\nHasil dereferensi \@\$ref_skalar = "; foreach (@$ref_array){ print "*".$_; } 29


Download ppt "Pemrograman Web Perl 1. PERL Practical Extraction & Report Language Tipe data : Array Array assosiatif Skalar  string,bilangan (numerik) Penamaan variabel."

Presentasi serupa


Iklan oleh Google