file1.txt"); print $FILE ("a".."z","A".."Z"); close $FILE; Penggantian dan pemindahan berkas Contoh : rename (“nama_lama”,”nama_baru”); rename (“nama_lama”,”directory/nama_lama”); Penghapusan berkas unlink (“nama_berkas”); 3"> file1.txt"); print $FILE ("a".."z","A".."Z"); close $FILE; Penggantian dan pemindahan berkas Contoh : rename (“nama_lama”,”nama_baru”); rename (“nama_lama”,”directory/nama_lama”); Penghapusan berkas unlink (“nama_berkas”); 3">

Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Web Perl 1. Penanganan Berkas Membuka berkas (file) open FILEHANDLE,MODE,EXPR open FILEHANDLE,MODE,EXPR,LIST open FILEHANDLE,MODE,REFERENCE.

Presentasi serupa


Presentasi berjudul: "Pemrograman Web Perl 1. Penanganan Berkas Membuka berkas (file) open FILEHANDLE,MODE,EXPR open FILEHANDLE,MODE,EXPR,LIST open FILEHANDLE,MODE,REFERENCE."— Transcript presentasi:

1 Pemrograman Web Perl 1

2 Penanganan Berkas Membuka berkas (file) open FILEHANDLE,MODE,EXPR open FILEHANDLE,MODE,EXPR,LIST open FILEHANDLE,MODE,REFERENCE open FILEHANDLE MODE : > (operasi keluaran) atau (penulisan pada berkas) >> (operasi keluaran berupa penambahan pada berkas jika sudah ada) < (operasi masukan) atau (pembacaan isi berkas) + +, +>> (diperkenankan untuk melakukan operasi keluaran dan masukan) Menutup berkas (file) close FILEHANDLE; Pembacaan berkas Contoh : (read.pl) open (my $file,"<koleksi.dat"); while ( ){ print $_; } close $file; 2

3 Penanganan berkas Perekaman ke berkas Contoh : (write.pl) open (my $FILE, ">file1.txt"); print $FILE ("a".."z","A".."Z"); close $FILE; Penggantian dan pemindahan berkas Contoh : rename (“nama_lama”,”nama_baru”); rename (“nama_lama”,”directory/nama_lama”); Penghapusan berkas unlink (“nama_berkas”); 3

4 Penanganan Berkas Pembuatan dan penghapusan direktori mkdir(nama_dir,permisi) rmdir (nama_dir) Pengubahan direktori kerja chdir (nama_direktori) Pembukaan dan penutupan direktori : opendir(variabel_dir,nama_dir) closedir (variabel_dir) Pembacaan direktori readdir(variabel_dir) Contoh : (direktori.pl) opendir(my $direktori,”.”); While ($entridir=readdir($direktori)){ print $entridir.”\n”; }; 4

5 Operasi string dan Pencocokan pola Fungsi-fungsi yang umum dipakai pada pemrosesan string : Perubahan jenis karakter (kapital dan lower case) kapital uc($var_string) ucfirst($var_string) lower case lc($var_string) lcfirst($var_string) Fungsi substr Digunakan untuk memperoleh substring dari suatu string Substr(string,ofset,jum) Substr(string,ofset) Contoh : (substring.pl) foreach("a".."z"){ $var_string.=$_; } print 'Isi variabel string ($var_string) ='.$var_string."\n"; $var_substr=substr($var_string,3); print 'Isi variabel string ($var_string) setelah substr($var_string,3)='. $var_substr."\n"; $var_substr=substr($var_string,3,2); print 'Isi variabel string setelah substr($var_string,3,2)='. $var_substr."\n"; 5

6 Operasi string dan pencocokan pola Operator =~ (tilde) dan !~ Digunakan untuk melakukan pemeriksaan apakah suatu pola terdapat pada string (=~) atau tidak (!~) Contoh : (pola.pl) foreach ("a".."z"){ $var_string.=$_.uc($_); } print "\$var string = $var_string\n"; print "string = ~\/Rr\/ menghasilkan " ; if ($var_string=~/Rr/){ print "true\n";} else {print "false\n";} print "string = ~\/rR\/ menghasilkan "; if ($var_string=~/rR/){ print "true\n";} else {print "false\n";} 6 Hasil : $var string = aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ string = ~/Rr/ menghasilkan false string = ~/rR/ menghasilkan true

7 Operasi string dan pencocokan pola Operator m// Melakukan pemeriksaan pola pada variabel $_ (variabel global) Contoh : (pola_m.pl) foreach ("a".."z"){ $var_string.=$_.uc($_); } $_=$var_string; print "\$_ = $_\n"; print "m\/Rr\/ menghasilkan " ; if (m/Rr/){ print "true\n";} else {print "false\n";} print "m\/rR\/ menghasilkan "; if (m/rR/){ print "true\n";} else {print "false\n";} 7 Hasil : $_ = aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ m/Rr/ menghasilkan false m/rR/ menghasilkan true

8 Operasi string dan pencocokan pola Karakter khusus atau metakarakter dalam pencocokan pola (pattern matching) : Simbol + Menunjukkan 1 atau lebih karakter yang sama dengan karakter yang mendahului simbol ini Simbol ^ atau \A Digunakan untuk mencari string yang diawali oleh karakter atau deretan karakter tertentu Simbol $ atau \Z Digunakan untuk mencari string yang berakhiran dengan suatu karakter atau deretan karakter tertentu Contoh : Print (if /^Ab/); Print akan dilakukan bila isi variabel $_ didahului oleh ‘Ab’ 8

9 Operasi string dan pencocokan pola Metakarakter | Menggunakan logika or pada pencocokan pola Metakarakter * Cocok dengan 0 atau berapapun karakter yang sama dengan karakter yang mendahului karakter ini Contoh /ab*ad/ cocok dengan aad, abad,abbbad Metakarakter ? Cocok dengan 0 atau 1 karakter yang sama dengan karakter Contoh : /ab?ad/ cocok dengan aad, abad,abbad 9

10 Operasi string dan pencocokan pola Tanda [] Digunakan untuk membuat kelas karakter Contoh [a-z] Alfabet kecil Tanda \ : \d (digit) \D (non digit) \w (word) [_0-9a-zA-Z] \W (non word) [^_0-9a-zA-Z] 10 Tanda \ \s (whitespace) [\r\t\n\f] \S (non whitespace) [^\r\t\n\f] \a (bell) \e (escape) \f (formfeed) \l Sebuah karakter berikutnya dijadikan huruf kecil \L Mengubah seluruh karakter berikutnya dijadikan huruf kecil sampai dijumpai \E \E (akhir \L atau \U)

11 Operasi string dan pencocokan pola Tanda \ \u Sebuah karakter berikutnya dijadikan huruf besar \U Mengubah seluruh karakter berikutnya dijadikan huruf besar sampai dijumpai \E \r (carriage return) \n (newline) \t (tab) 11

12 Operasi string dan pencocokan pola Tanda \b dan \B Tanda \b dan \B menunjuk ke pencocokan pola dengan dasar kata. Contoh : /\bta/ Cocok dengan tahun tetapi tidak cocok dengan atau /ta\b/ Cocok dengan mata tetapi tidak cocok dengan matahari /\bbang\b/ Hanya cocok dengan bang tetapi tidak cocok dengan abang dan bangku Contoh : /\Bta/ Cocok dengan mata tetapi tidak cocok dengan tapi atau tahun /ta\B/ Cocok dengan tahun dan atau tetapi tidak cocok dengan mata atau harta /\Bbang\B/ Cocok dengan bang tetapi tidak cocok dengan kata abang atau bangku Tanda \ Tanda \ digunakan untuk mematikan karakter-karakter yang tergolong metakarakter Contoh simbol yang harus disertakan tanda \ agar tidak diartikan sebagai metakarakter adalah : @, $, *, \ dan ? 12

13 Operasi string dan pencocokan pola Karakter ^ diawal [] Berarti selain salah satu dari karakter karakter yang terletak sesudahnya hingga tepat sebelum tanda ] Contoh [^a-z] Mengandung arti selain dari huruf kecil Karakter. Cocok dengan sebuah karakter apa saja kecuali newline Contoh : /a.a/ Sesuai dengan abad, tidak sesuai dengan aad 13

14 Operasi string dan pencocokan pola Tanda {} {n,m} Karakter yang tepat terletak didepan tanda { bisa diulang sebanyak n hingga m karakter Contoh : /ab{2,4}c/ Sesuai untuk abbc sampai dengan abbbbc tetapi tidak sesuai dengan abc dan abbbbbc Tanda () Digunakan untuk menyimpan suatu subpola dalam memori dan selanjutnya dapat diakses kembali melalui notasi \n dengan n berupa bilangan bulat dimulai dari 1 yang menyatakan subpola ke n dalam memori. Contoh : Untuk memperoleh pola xd-ddx Dengan x menyatakan huruf kapital yang sama dan d menunjukkan digit yang sama. /([A-Z])([0-9])-\2\2\1/ \2 merujuk ke digit yang sama [0-9] \1 merujuk ke kapital yang sama pada [A-Z] 14

15 Operasi string dan pencocokan pola Tanda () - (lanjutan) Contoh : Untuk memperoleh pola xd-ddx Dengan x menyatakan huruf kapital yang sama dan d menunjukkan digit yang sama. /([A-Z])([0-9])-\2\2\1/ \2 merujuk ke digit yang sama [0-9] \1 merujuk ke kapital yang sama pada [A-Z] Contoh (polamemori.pl) @daftar=("AB-21A","A3-33A","B3-43C", "B3-33B","B3-34F","CC-12C"); foreach(@daftar){ if (m/([A-Z])([0-9])-\2\2\1/){ print "$_\n"; } 15

16 Operasi string dan pencocokan pola Opsi dalam pencocokan pola : Opsi g Digunakan untuk mencocokkan terhadap seluruh kemungkinan pola didalam suatu string Contoh : Opsi i Berguna untuk menganggap huruf kecil dan huruf kapital sebagai huruf yang sama Contoh : /a/i 16

17 Operasi string dan pencocokan pola Operator substitusi s/// Sintaks : ~s/pola/pengganti/opsi Contoh : $_="ABCDEF\n124"; $_=~s/124/125/; print $_; 17

18 Modul Modul : Sebuah paket yang diletakkan pada sebuah berkas dan berisi sejumlah fungsi atau pengenal lain. Pragma Modul khusus pada perl contoh : strict, warnings, integer dll Pemuatan modul : use require Package (paket) Tidak selalu berupa modul 18

19 Modul dan paket Penggunaan package : Contoh : (paket.pl) use strict; package box; my $lebar = 5; my $panjang = 10; my $tinggi = 3; $box::luas = 2*$panjang*$lebar+2*$panjang*$tinggi+2*$lebar*$tinggi; print "Paket :".__PACKAGE__."\n"; print "$box::luas"; package segitiga; my $alas = 3; my $tinggi = 2; $segitiga::luas = 0.5*$alas*$tinggi; print "Paket :".__PACKAGE__."\n"; package main; print "Paket : ".__PACKAGE__."\n"; print "Luas pada paket box=$box::luas\n"; print "luas pada paket segitiga =$segitiga::luas\n"; 19

20 Template modul (perldoc 5.10) package Some::Module; # assumes Some/Module.pm use strict; use warnings; BEGIN { use Exporter (); our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); # set the version for version checking $VERSION = 1.00; # if using RCS/CVS, this may be preferred $VERSION = sprintf "%d.%03d", q$Revision: 1.1 $ =~ /(\d+)/g; @ISA = qw(Exporter); @EXPORT = qw(&func1 &func2 &func4); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported functions @EXPORT_OK = qw($Var1 %Hashit &func3); } our @EXPORT_OK; # exported package globals go here our $Var1; our %Hashit; # non-exported package globals go here our @more; our $stuff; # initialize package globals, first exported ones $Var1 = ''; %Hashit = (); # then the others (which are still accessible as $Some::Module::stuff) $stuff = ''; 20 @more = (); # all file-scoped lexicals must be created before # the functions below that use them. # file-private lexicals go here my $priv_var = ''; my %secret_hash = (); # here's a file-private function as a closure, # callable as &$priv_func; it cannot be prototyped. my $priv_func = sub { # stuff goes here. }; # make all your functions, whether exported or not; # remember to put something interesting in the {} stubs sub func1 {} # no prototype sub func2() {} # proto'd void sub func3($$) {} # proto'd to 2 scalars # this one isn't exported, but could be called! sub func4(\%) {} # proto'd to 1 hash ref END { } # module clean-up code here (global destructor) ## YOUR CODE GOES HERE 1; # don't forget to return a true value from the file

21 Modul dan Paket Contoh Modul non object oriented: File : (modul.pm) package modul; use strict; use Exporter; my @ISA=qw(Exporter); my @EXPORT=qw(&printdata); my @data=("a".."e"); sub printdata { foreach (@data){ print "$_\n"; } 1; File pemanggil : (usemodul.pl) use strict; use modul; package main; modul::printdata(); 21

22 Modul dan Paket Pernyataan pada modul antara lain : Exporter Modul yang menyediakan antar muka pada modul @ISA Digunakan untuk menyebutkan paket-paket yang akan diwariskan ke pada paket modul (penting dalam pemrograman oo) @EXPORT Memuat pengenal-pengenal yang akan diimport kepada pemanggil tanpa harus disebutkan secara eksplisit di pemanggil. @EXPORT_OK Memuat pengenal-pengenal yang akan diimport kepada pemanggil jika secara eksplisit disebutkan di sisi pemanggil @EXPORT_TAGS Memuat pengenal-pengenal yang akan diimport dengan jalan membagi pengenal-pengenal dengan menggunakan array asosiatif 22

23 Modul dan Paket Konstruktor dan Desktruktor Paket Konstruktor Bagian yang dijalankan di awal setiap paket Didefinisikan dengan blok BEGIN Destruktor Bagian yang dijalankan di akhir setiap paket Didefinisikan dengan blok END 23

24 Class dan Obyek Class : Prototype atau template yang mendefinisikan type obyek Digunakan untuk menciptakan banyak obyek yang mempunyai data sendiri tetapi berbagi implementasi metode dengan obyek-obyek lain di kelas yang sama Perl Paket yang menyediakan method yang yang berhubungan dengan referensi obyek. Obyek : Perl Sebuah referensi yang menunjuk pada class yang membentuk obyek tersebut. Properti data Properti method (metode) Contoh : Obyek kotak Properti data : Lebar, panjang,tinggi Properti method Menghitung volume, menghitung luas 24

25 Class dan obyek Fungsi bless : Salah satu bagian penting dalam penciptaan kelas Berguna untuk mengubah tipe data Sintaks : Bless (referensi,[nama_kelas]) Bless referensi,[nama_kelas] Efek bless : use strict; package box; my %refdata1 = ("key1",1,"key2",2,"key3",3); print "(Tipe ref Hasil sebelum fungsi bless)\n"; print '\%refdata1 = '.ref(\%refdata1)."\n"; bless(\%refdata1,"tipebaru"); print "(Tipe ref Hasil sesudah fungsi bless)\n"; print '\$refdata1 = '.ref(\%refdata1)."\n"; 25

26 Class dan obyek Contoh efek fungsi bless : use strict; package box; my %refdata1 = ("key1",1,"key2",2,"key3",3); print "(Tipe ref Hasil sebelum fungsi bless)\n"; print '\%refdata1 = '.ref(\%refdata1)."\n"; bless(\%refdata1,"tipebaru"); print "(Tipe ref Hasil sesudah fungsi bless)\n"; print '\$refdata1 = '.ref(\%refdata1)."\n"; Hasil : (Tipe ref Hasil sebelum fungsi bless) \%refdata1 = HASH (Tipe ref Hasil sesudah fungsi bless) \$refdata1 = tipebaru 26

27 Class dan Obyek Penciptaan kelas dan object Contoh : use strict; package kotak; sub new { my $kelas =shift; my %param=@_; my $volume=0; my $luas=0; my $kotak= {"lebar",$param{"lebar"}, "panjang",$param{"panjang"}, "tinggi",$param{"tinggi"}}; return (bless($kotak,$kelas)); } sub setlebar { my $kelas =shift; $kelas->{"lebar"}=shift; } sub getlebar { my $kelas =shift; return ($kelas->{"lebar"}); } sub settinggi{ my $kelas =shift; $kelas->{"tinggi"}=shift; } 27 sub gettinggi{ my $kelas =shift; return($kelas->{"tinggi"}); } sub setpanjang{ my $kelas =shift; $kelas->{"panjang"}=shift; } sub getpanjang{ my $kelas =shift; return($kelas->{"panjang"}); } sub getvolume{ my $kelas =shift; $kelas->{"volume"}=$kelas->{"panjang"}*$kelas->{"lebar"}*$kelas- >{"tinggi"}; return($kelas->{"volume"}); } sub getluas{ my $kelas=shift; $kelas->{"luas"}=2*(($kelas->{"panjang"}*$kelas->{"lebar"})+($kelas- >{"panjang"}*$kelas->{"tinggi"})+($kelas->{"lebar"}*$kelas->{"tinggi"})); return($kelas->{"luas"}); } package main; my $kotak1=kotak->new("lebar"=>10, "panjang"=>5, "tinggi"=>2); print "volume=".$kotak1->getvolume()."\n"; print "panjang=".$kotak1->getpanjang()."\n"; print "Luas=".$kotak1->getluas()."\n"; print "volume=".$kotak1->getvolume()."\n";

28 Class dan Obyek Pewarisan dan polimorfisme Pewarisan Konsep yang memungkinkan suatu kelas mewarisi sifat-sifat yang dimiliki oleh kelas lain. Petunjuk penggunaan pewarisan : Tempatkan operasi-operasi (method) dan data-data yang sama di superkelas Gunakan pewarisan untuk memodelkan hubungan “is a” Jangan gunakan pewarisan jika tidak seluruh operasi atau method dari superkelas berguna untuk subkelas turunannya. Subkelas-subkelas turunan seharusnya mengikuti prinsip substitusi liskov Contoh : Superclass = penduduk Subclass = mahasiswa Pada perl pewarisan dilakukan dengan menggunakan @ISA Polimorfisme Konsep yang memungkinkan suatu kelas turunan memiliki metode yang bernama sama dengan metoda pada superclass-nya (kelas dasarnya). 28


Download ppt "Pemrograman Web Perl 1. Penanganan Berkas Membuka berkas (file) open FILEHANDLE,MODE,EXPR open FILEHANDLE,MODE,EXPR,LIST open FILEHANDLE,MODE,REFERENCE."

Presentasi serupa


Iklan oleh Google