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

Slides:



Advertisements
Presentasi serupa
Pertemuan 8. 2  JavaScript dikembangkan pertama kali pada tahun 1995 di Netscape Communications dgn nama LiveScript.  Hasil kolaborasi antara Netscape.
Advertisements

PROCEDURE Temu IX BANGHER.
Pemrograman Terstruktur
Pengendalian Proses : Seleksi (Conditional)
Procedure pada Pascal ALPROG II
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Algoritma dan Struktur Data
Pemrograman Dasar[PTI-15001] 2012
DASAR-DASAR PEMROGRAMAN C
Silahkan Salin Jawaban Anda DiKertas Sertakan : NIM. : Nama. : Kelas
Pemrograman Web Perl.
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
Konsep dan Defenisi data 1Nurdiansah PTIK 09 UNM.
Pemrograman Visual (Borland Delphi 7.0)
LIMIT FUNGSI LIMIT FUNGSI ALJABAR.
Workshop SCS: Java Game Programming
Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS
Matakuliah : Algoritma & Struktur Data Versi Materi
VARIABEL DAN OPERATOR.
MINGGU 5 Web Teknologi I (MKB511C)
Bagaimana merancang diagram E-R yang interaktif
Modul 1- Review Java.
Chapter 3.2 : Tipe, Nama dan Nilai
Pemrograman Terstruktur
KONTROL ALUR EKSEKUSI PROGRAM
Pemrogramman Terstruktur
Pemrograman Visual Tipe Data dan Operator
PERTEMUAN 2 Variabel, Ekspresi, Operator, dan Flow Control
Pengantar Teknologi Mobile 8
Function.
Situasi Saat Program Berjalan (Run-time Environment)
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Record (Rekaman) Nurdiansah PTIK 09 UNM.
Dasar Pemrograman ARRAY/LARIK.
1 Pointer wijanarto. 2 Topik Introduction to Pointers Pointers dan Parameter Fungsi.
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
PERANCANGAN KASUS UJI.
Bagaimana merancang diagram E-R yang interaktif
Lecture 2 Object-oriented Programming Concepts Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Pengantar Teknologi Mobile 8
Algoritma & Pemrograman 1
Inheritance Konsep Inheritance Protected Member
Algoritma & Pemrograman 1
OPERATOR DAN FUNGSI MATEMATIK. Operator  Assignment operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda.
PHP.
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
Tipe Data By Serdiwansyah N. A..
Nilai dan Tipe Data Nilai dan Tipe data
Dasar-Dasar Pemrograman
PBO Daniel Riano Kaparang, S.Kom., M.Cs
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Struktur Program Minimal
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Pemrograman internet ABU SALAM, M.KOM.
Tipe Data, Variabel, dan Operator
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
Tipe Data Dasar Variabel dan Konstanta
Melda Dahoklory,S.Kom,MT
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Dasar Bahasa Java.
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
PHP.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
SMK BINA INSAN Pemograman Dasar Operasi Aritmatika Dan Logika Yobi Saputra 22.
Transcript presentasi:

Pemrograman Web Perl 1

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

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

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

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

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

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

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

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

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)

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

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

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

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

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 "B3-33B","B3-34F","CC-12C"); if (m/([A-Z])([0-9])-\2\2\1/){ print "$_\n"; } 15

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

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

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

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

Template modul (perldoc 5.10) package Some::Module; # assumes Some/Module.pm use strict; use warnings; BEGIN { use Exporter (); @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 $ =~ = = qw(&func1 &func2 &func4); %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], # your exported package globals go here, # as well as any optionally exported = qw($Var1 %Hashit &func3); } # exported package globals go here our $Var1; our %Hashit; # non-exported package globals go here our $stuff; # initialize package globals, first exported ones $Var1 = ''; %Hashit = (); # then the others (which are still accessible as $Some::Module::stuff) $stuff = ''; = (); # 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

Modul dan Paket Contoh Modul non object oriented: File : (modul.pm) package modul; use strict; use Exporter; sub printdata { foreach print "$_\n"; } 1; File pemanggil : (usemodul.pl) use strict; use modul; package main; modul::printdata(); 21

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

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

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

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

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

Class dan Obyek Penciptaan kelas dan object Contoh : use strict; package kotak; sub new { my $kelas =shift; my 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";

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 Polimorfisme Konsep yang memungkinkan suatu kelas turunan memiliki metode yang bernama sama dengan metoda pada superclass-nya (kelas dasarnya). 28