Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

download Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

of 130

Transcript of Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    1/130

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    2/130

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

    Hak Cipta © 2007

    Kementerian Negara Riset dan Teknologi dan Yayasan Penggerak Linux Indonesia

    Distribusi :

    Kementerian Negara Riset dan Teknologi Republik Indonesia

    Deputi Bidang Pendayagunaan dan Pemasyarakatan Iptek 

    Asisten Deputi Pengembangan dan Pemanfaatan Teknologi Informasi

    Gedung II BPP Teknologi Lantai 6Jl. MH. Thamrin No.8 – Jakarta 10340

    Telepon : (021) 316 9181 / 316 9166

    Faksimili : (021) 310 1952

    Web : www.ristek.go.id

    Yayasan Penggerak Linux Indonesia (YPLI)

    Jln. Mampang Prapatan X No. 4 Jakarta Selatan 12790 Indonesia

    Telp. 021 93740960, Fax. 021 7874225, Email: [email protected]

    Pengurus YPLI:

     Rusmanto Maryanto (Ketua); Resza Ciptadi (Sekretaris); Effendy Kho (Bendahara);

    Penyusun:

     Firdaus Tjahyadi; Henry Saptono; Irfan Gustiarahman; Mgs. Hendri Thoyyib;

     Prihantoosa; Resza Ciptadi; Rusmanto Maryanto; Sirojul Munir; Yan Farmawan

    ISBN 978-979-630-040-2

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source i

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    3/130

    SAMBUTAN MENEGRISTEK

    Pembangunan teknologi informasi merupakan sumber terbentuknya iklim yang menjadi

    landasan bagi tumbuhnya kreativitas sumberdaya manusia yang dapat menjadi sumberdaya

    pertumbuhan dan daya saing ekonomi. Dengan menyadari akan hal tersebut, peranteknologi informasi sangatlah penting dalam kehidupan masyarakat, sehingga mendorong

    peningkatan kemandirian, daya saing, kreativitas serta inovasi bangsa yang merupakan

    kunci utama keberhasilan pembangunan bangsa.

    Melalui semangat untuk membangkitkan inovasi ini, “Program Indonesia, Go Open Source

    (IGOS)” dideklarasikan. Tumbuhnya kesadaran untuk meraih kemandirian dalam

    pemanfaatan teknologi informasi dan komunikasi (information and communication

    technology-ICT), ditopang dengan tersedianya berbagai pilihan terhadap perangkat lunak

    (software) yang dapat digunakan oleh masyarakat. Pilihan untuk mengembangkan dan

    memanfaatkan open source software (OSS) merupakan pilihan yang rasional, baik dari segi

    legalitas, ekonomi, maupun tingkat keamanannya (security).

    Untuk kepentingan pendayagunaan open source serta memudahkan pengenalan perangkat

    lunak berbasis Open Source kepada masyarakat, Kementerian Negara Riset dan Teknologi

    menginisiasi penyusunan Panduan Pendayagunaan Open Source Software yang

    bekerjasama dengan komunitas Iptek, Yayasan Penggerak Linux Indonesia (YPLI).

    Dalam konteks ini, saya menyambut gembira penyusunan Panduan Pendayagunaan Open

    Source Software yang tentunya diharapkan dapat lebih memudahkan masyarakat dalam

    mengenal perangkat lunak berbasis open source. Dokumen tersebut terdiri atas delapan

    dokumen yaitu  Perangkat Lunak Bebas dan Open Source, Petunjuk Instalasi IGOS

     Nusantara, Konfigurasi Server Linux, Aplikasi untuk Server, RDBMS (Relational Database

     Management System): MySQL, Bahasa Pemrograman Open Source, Aplikasi Perkantoran

    OpenOffice.org, dan CMS, CRM, dan ERP.

    Akhir kata, semoga kedelapan Dokumen ini dapat bermanfaat bagi peningkatan

    kemampuan masyarakat dalam penguasaan teknologi piranti lunak bebas dan open source.

    Dengan semangat “Kreativitas Tanpa Batas”   dan maju bersama  Indonesia, Go Open

    Source! Kita besarkan produk aplikasi perangkat lunak Indonesia.

    Jakarta, Juli 2007

    Menteri Negara Riset dan Teknologi

    Kusmayanto Kadiman

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source ii

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    4/130

    PENGANTAR

    Dokumen ini disusun sebagai salah satu bahan acuan untuk pelatihan tentang perangkat

    lunak bebas dan open source dengan semangat IGOS (Indonesia, Go Open Source!) yang

    dimotori oleh Kementerian Negara Riset dan Teknologi Republik Indonesia. Dokumen ini

    merupakan bagian dari delapan dokumen  IGOS Training Tool Kit   yang disusun oleh

    Yayasan Penggerak Linux Indonesia dan diterbitkan oleh Kementerian Negara Riset dan

    Teknologi Republik Indonesia.

    Kedelapan dokumen itu adalah Perangkat Lunak Bebas dan Open Source, Petunjuk

    Instalasi IGOS Nusantara, Konfigurasi Server Linux, Aplikasi untuk Server, RDBMS

    ( Relational Database Management System): MySQL, Bahasa Pemrograman Open Source,

    Aplikasi Perkantoran OpenOffice.org, dan CMS, CRM, dan ERP. Sebagian bahan

    penyusunan dokumen ini diambil dari Open Source Training Tool Kit  yang diterbitkan olehOpen Source Resource Center (OSRC) - Pakistan Software Export Board (PSEB). Lisensi

    dokumen ini OPL (Open Publication License) versi 1.0 atau yang lebih baru dan dapat

    diakses di http://opencontent.org/openpub/.

    Jakarta, Juli 2007

    Rusmanto Maryanto

     Ketua Yayasan Penggerak Linux Indonesia

    iii Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    5/130

    DAFTAR ISI

    SAMBUTAN MENEGRISTEK.................................................................................................iiPENGANTAR............................................................................................................................iii

    DAFTAR ISI..............................................................................................................................iv

    I.Mengenal PERL........................................................................................................................1

    1.Tentang PERL......................................................................................................................1

    2.Menjalankan Program PERL..............................................................................................1

    2.1.Eksekusi dari file.........................................................................................................1

    2.2.Eksekusi dari command line........................................................................................2

    3.Dasar-dasar PERL...............................................................................................................2

    3.1.Program PERL.............................................................................................................23.1.1.Statemen................................................................................................................2

    3.1.2.Komentar..............................................................................................................2

    3.2.Variabel dan Tipe data.................................................................................................3

    3.2.1.Skalar....................................................................................................................3

    3.2.1.1.String petik tunggal (single quote) dan petik ganda (double quote).............3

    3.2.2.Array....................................................................................................................4

    3.2.3.Hash.....................................................................................................................5

    3.3.Operator.......................................................................................................................6

    3.4.Fungsi..........................................................................................................................73.5.Konstruksi Kondisional...............................................................................................8

    3.5.1.if............................................................................................................................8

    3.5.2.unless....................................................................................................................9

    3.6.Konstruksi Loop..........................................................................................................9

    3.6.1.for.........................................................................................................................9

    3.6.2.foreach..................................................................................................................9

    3.6.3.while...................................................................................................................10

    3.7.Input dan Output ke file.............................................................................................10

    3.7.1.Membaca dari file teks........................................................................................103.7.2.Menulis ke file teks............................................................................................10

    3.8.Subrutin......................................................................................................................11

    4.Penutup..............................................................................................................................12

    II.Mengenal PHP.......................................................................................................................13

    1.Menginstal PHP.................................................................................................................13

    1.1.Instalasi Apache..........................................................................................................13

    1.2.Instalasi module PHP dan PHP CLI:.........................................................................13

    2.Menjalankan Program PHP...............................................................................................14

    2.1.Aplikasi Konsol..........................................................................................................14

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source iv

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    6/130

    2.2.Aplikasi web..............................................................................................................14

    3.Bahasa PHP.......................................................................................................................14

    3.1.Program PHP..............................................................................................................15

    3.2.Komentar....................................................................................................................15

    3.3.Tipe Data....................................................................................................................16

    3.3.1.Tipe Primitif.......................................................................................................163.3.1.1.Boolean........................................................................................................16

    3.3.1.2.Integer.........................................................................................................16

    3.3.1.3.float.............................................................................................................16

    3.3.1.4.string...........................................................................................................16

    3.3.1.4.1.Petik ganda...........................................................................................17

    3.3.1.4.2.Petik Tunggal.......................................................................................17

    3.3.1.4.3.Heredoc...............................................................................................17

    3.3.2.Tipe Gabungan (compound)...............................................................................17

    3.3.2.1.Array...........................................................................................................173.3.2.2.Objek..........................................................................................................18

    3.3.3.Tipe Khusus........................................................................................................18

    3.3.3.1.Resource......................................................................................................18

    3.3.3.2.NULL ........................................................................................................18

    3.3.4.Konversi ke boolean ..........................................................................................18

    3.4.Variabel......................................................................................................................19

    3.4.1.Assignment.........................................................................................................19

    3.5.Ekspresi dan Operator...............................................................................................20

    3.5.1.Operator aritmetika............................................................................................203.5.2.Operator incrementing/decrementing................................................................21

    3.5.3.Operator assignment..........................................................................................21

    3.5.4.Operator Perbandingan.......................................................................................21

    3.5.4.1.Ternary........................................................................................................21

    3.5.4.2.Equal...........................................................................................................22

    3.5.4.3.Identical......................................................................................................22

    3.5.4.4.Not Equal....................................................................................................22

    3.5.4.5.Not Identical...............................................................................................23

    3.5.5.Operator Logika.................................................................................................233.5.5.1.Logical AND..............................................................................................23

    3.5.5.2.Logical OR.................................................................................................24

    3.5.5.3.Logical XOR..............................................................................................24

    3.5.5.4.Logical NOT..............................................................................................24

    3.5.5.5.Logical AND (&&)....................................................................................24

    3.5.5.6.Logical OR (||)............................................................................................24

    3.5.6.Operator bit.......................................................................................................25

    3.5.6.1.Bitwise AND..............................................................................................25

    3.5.6.2.Bitwise OR.................................................................................................25

    v Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    7/130

    3.5.6.3.Bitwise XOR..............................................................................................25

    3.5.7.Operator String...................................................................................................26

    3.6.Kendali Alur Program................................................................................................26

    3.6.1.Conditional.........................................................................................................26

    3.6.2.switch ................................................................................................................27

    3.6.3.Struktur loop......................................................................................................273.6.3.1.while...........................................................................................................28

    3.6.3.2.do while......................................................................................................29

    3.6.3.3.break ..........................................................................................................30

    3.6.3.4.continue......................................................................................................30

    3.6.3.5.foreach........................................................................................................31

    3.6.3.6.return..........................................................................................................32

    3.6.3.7.Exception....................................................................................................32

    3.7.Fungsi.........................................................................................................................33

    3.7.1.Mendefinisikan Fungsi ......................................................................................333.7.2.Nilai Default untuk parameter............................................................................34

    3.7.3.Pemanggilan Fungsi...........................................................................................34

    3.8.Class...........................................................................................................................35

    3.9.Reusabilitas................................................................................................................36

    3.9.1.include................................................................................................................36

    3.9.2.require................................................................................................................36

    3.9.3.include_once......................................................................................................36

    3.9.4.require_once.......................................................................................................37

    3.10.Menggunakan Fungsi dan Class dan file lain..........................................................374.Aplikasi Web.....................................................................................................................37

    4.1.Method GET dan POST.............................................................................................38

    4.2.Menangani request.....................................................................................................38

    4.2.1.Request GET.......................................................................................................38

    4.2.2.Request POST....................................................................................................38

    4.3.Penjelasan Program...................................................................................................39

    4.3.1.File head.php......................................................................................................39

    4.3.2.File ordersvc.php................................................................................................39

    4.3.3.File menu.php....................................................................................................404.3.4.File pesan.php.....................................................................................................41

    5.Penutup..............................................................................................................................42

    III.Mengenal Python.................................................................................................................45

    1.Apa itu Python...................................................................................................................45

    2.Menjalankan Interpreter Python........................................................................................45

    3.Program Python.................................................................................................................46

    4.Statemen............................................................................................................................46

    5.Komentar...........................................................................................................................46

    6.Objek dan variabel............................................................................................................46

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source vi

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    8/130

    7.Tipe data, literal dan operasi..............................................................................................47

    7.1.Bilangan......................................................................................................................47

    7.2.String dan Unicode String..........................................................................................48

    7.3.Boolean......................................................................................................................49

    7.4.Tipe data container.....................................................................................................49

    7.4.1.List......................................................................................................................497.4.2.Tuples.................................................................................................................49

    7.4.3.Sets.....................................................................................................................50

    7.4.4.Dictionary...........................................................................................................50

    8.Ekspresi dan operasi..........................................................................................................50

    8.1.Ekspresi Atom............................................................................................................50

    8.1.1.Identifier.............................................................................................................50

    8.1.2.Literal..................................................................................................................51

    8.1.3.Enclosure............................................................................................................51

    8.1.3.1.Bentukan dalam Kurung (Parenthesized forms)..........................................518.1.3.2.List display..................................................................................................51

    8.1.3.3.Generator expressions.................................................................................51

    8.1.3.4.Dictionary display.......................................................................................52

    8.1.3.5.Konversi String...........................................................................................52

    8.2.Ekspresi Primer (Primaries) .....................................................................................52

    8.2.1.Referensi Atribut (Attribute Reference).............................................................52

    8.2.2.Subskrip.............................................................................................................52

    8.2.3.Irisan (Slicing)...................................................................................................53

    8.2.4.Pemanggilan callable (calls) .............................................................................548.3.Operasi Pangkat.........................................................................................................54

    8.4.Operasi aritmetika unary...........................................................................................54

    8.5.Operasi aritmetika biner............................................................................................54

    8.5.1.Perkalian.............................................................................................................54

    8.5.2.Pembagian..........................................................................................................55

    8.5.3.Modulus (%)......................................................................................................55

    8.5.4.Penjumlahan.......................................................................................................55

    8.5.5.Pengurangan.......................................................................................................55

    8.6.Operasi Pergeseran (shifting)....................................................................................558.7.Operasi Bit Biner (binary bitwise).............................................................................56

    8.8.Operasi Perbandingan (comparison).........................................................................56

    8.9.Operasi Boolean.........................................................................................................57

    8.10.Lambda.....................................................................................................................57

    8.11.Ekspresi Lists...........................................................................................................58

    9.Fungsi................................................................................................................................58

    10.Statemen Kendali Alur....................................................................................................59

    10.1.Statemen if................................................................................................................59

    10.2.while.........................................................................................................................60

    vii Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    9/130

    10.3.for.............................................................................................................................61

    10.4.pass...........................................................................................................................61

    10.5.exceptions.................................................................................................................62

    11.Modules............................................................................................................................62

    11.1.Mendefinisikan Module............................................................................................63

    11.2.Menggunakan Module.............................................................................................6311.3.Module search path..................................................................................................63

    12.Class................................................................................................................................64

    13.Penutup............................................................................................................................65

    IV.Mengenal Ruby.....................................................................................................................67

    1.Apakah Ruby.....................................................................................................................67

    2.Mendapatkan dan Mengintal Ruby....................................................................................67

    3.Menjalankan Ruby.............................................................................................................67

    3.1.Menggunakan file skrip.............................................................................................67

    3.2.Menggunakan command line.....................................................................................683.3.Secara Interaktif.........................................................................................................68

    4.Struktur Program Ruby.....................................................................................................68

    4.1.File program atau skrip..............................................................................................68

    4.2.Statement...................................................................................................................69

    4.3.Komentar...................................................................................................................69

    4.4.Class...........................................................................................................................69

    4.5.Module.......................................................................................................................70

    5.Tipe Data Dasar, Literal dan Variabel...............................................................................70

    5.1.Numerik.....................................................................................................................705.2.String..........................................................................................................................71

    5.3.nil...............................................................................................................................72

    6.Variabel..............................................................................................................................72

    7.Variabel adalah Reference.................................................................................................72

    8.Scope variabel dan penamaannya......................................................................................73

    8.1.Variabel global...........................................................................................................73

    8.2.Variabel lokal.............................................................................................................73

    8.3.Variabel instance........................................................................................................73

    8.4.Variabel class.............................................................................................................748.5.Array dan Hash..........................................................................................................74

    9.Ekspresi dan Struktur kendali............................................................................................75

    9.1.Ekspresi melibatkan string dan numerik...................................................................75

    9.2.Eksekusi Conditional.................................................................................................76

    9.2.1.If ... then ... end...................................................................................................76

    9.2.2.Conditional Ternary...........................................................................................76

    9.3.Loop...........................................................................................................................77

    10.Method.............................................................................................................................77

    10.1.Blok dan Iterator.......................................................................................................78

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source viii

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    10/130

    11.Class.................................................................................................................................80

    11.1.Mendefinisikan Class................................................................................................81

    11.1.1.Bagian-bagian class...........................................................................................81

    11.1.1.1.Constructor.................................................................................................81

    11.1.1.2.Method Instance.........................................................................................81

    11.1.1.3.Method Class.............................................................................................8211.1.1.4.Variabel Instance.......................................................................................82

    11.1.1.5.Variabel class.............................................................................................82

    11.1.2.Inheritance (class turunan)................................................................................82

    12.Modules...........................................................................................................................83

    12.1.Mendefinisikan Module...........................................................................................83

    12.2.Menggunakan module..............................................................................................84

    12.2.1.Menggunakan path...........................................................................................84

    12.2.2.Menggunakan variabel khusus $:.....................................................................84

    12.2.3.Menggunakan ruby option -I ...........................................................................8512.2.4.Menggunakan variabel environment RUBYLIB..............................................85

    12.3.Mixin........................................................................................................................85

    13.Penutup............................................................................................................................87

    V.Mengenal GCC (GNU Compiler Collection)........................................................................89

    1.Apakah GCC itu?...............................................................................................................89

    2.Meng-compile satu file source ke file executable.............................................................89

    3.Meng-compile ke file object..............................................................................................90

    4.Menggunakan file header..................................................................................................90

    5.Linking dari object file menjadi executable......................................................................926.Menggunakan library........................................................................................................93

    6.1.Membuat static library...............................................................................................93

    6.2.Linking ke static library.............................................................................................94

    6.3.Membuat dynamic library.........................................................................................94

    6.4.Menggunakan dynamic library..................................................................................94

    6.5.Menjalankan program yang menggunakan dynamic library.....................................95

    7.Penutup..............................................................................................................................95

    VI.Pengenalan Aplikasi Eclipse................................................................................................97

     1 . Instalasi...........................................................................................................................97 2 . Menjalankan Eclipse .....................................................................................................97

     3 . Memilih Workspace.......................................................................................................98

     4 . Mematikan aplikasi eclipse............................................................................................98

     5 . Project Pertama..............................................................................................................99

     6 . Memberi nama project..................................................................................................100

     7 . Seting Project................................................................................................................101

     8 . Membuat Aplikasi Java Sederhana...............................................................................101

     9 . Edit dan Compile Kode Program..................................................................................102

     10 . Menjalankan aplikasi..................................................................................................103

    ix Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    11/130

     11 .Referensi .....................................................................................................................103

    VII.Pengenalan Aplikasi Netbeans..........................................................................................105

     1 .Instalasi..........................................................................................................................105

     1.1 Instalasi Java............................................................................................................105

     1.2 Instalasi Netbeans...................................................................................................105

     2 .Un-Instal NetBeans .......................................................................................................107 3 .Memulai Netbeans.........................................................................................................108

     3.1 Memulai Projek.......................................................................................................109

     3.2 Membuat Projek......................................................................................................110

     3.3 Window Kerja NetBeans.........................................................................................111

     3.4 Membuat Class........................................................................................................112

     3.5 Compile dan Running Program ..............................................................................113

     4 .Aplikasi Dekstop............................................................................................................113

     5 .Aplikasi Web..................................................................................................................114

     5.6 Referensi......................................................................................................................115

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source x

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    12/130

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    13/130

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    14/130

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    15/130

    2.2.Eksekusi dari command line

    PERL dapat mengeksekusi perintah secara langsung dari command line, tanpa perlu membuat

    file program, menggunakan options -e di interpreter perl, contoh:

    bash% perl -e 'print ”Assalamu''alaikum\n”'

    Perhatikan dua kutip tunggal di tengah kata, karena kutip tunggal digunakan untuk membatasi

    perintah.

    Jika menggunakan kutip ganda untuk membatasi perintah :

    bash% perl -e “print \”Assalamu'alaikum\n\””

    3.Dasar-dasar PERL

    3.1.Program PERL

    Program PERL atau skrip PERL, biasa disimpan dalam file teks berakhiran .pl. Walaupun

    demikian perl interpreter tetap akan mengeksekusi program PERL yang tidak menggunakan

    ekstensi .pl.

    Sebuah program PERL yang executable dapat menggunakan hanya statement, tanpa perlu

    mendefinisikan fungsi khusus seperti main() dalam program bahasa C.

    Program PERL dapat terdiri atas statemen, deklarasi subroutine, konstruksi kondisional,

    konstruksi loop, konstruksi block.

    3.1.1.Statemen

    Statemen diakhiri dengan tanda titik coma. Statemen dapat berbentuk deklarasi variabel,

    assignment variabel dan pemanggilan fungsi. White space (spasi, baris baru) diabaikan.

    print "open source software ?!",

    " it's a miracle",

    ", do you believe miracle?\n";

    3.1.2.Komentar

    Sebagaimana bahasa pemrograman lainnya, programmer PERL dapat menuliskan komentar

    dalam kode program, dengan menempatkan karakter '#' sebelum baris komentar, contoh:

    # menghitung hitung luas

    $area = $pi * $radius * $radius;

     Atau dapat juga setelah bagian kode:

    $area = $pi * $radius * $radius; # menghitung hitung luas

    2 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    16/130

    Komentar diperlakukan sebagaimana white space.

    3.2.Variabel dan Tipe data

    Variabel digunakan untuk menyimpan data. PERL memiliki 3 tipe variabel utama: skalar,

    array dan hash. Nama-nama variabel, dan identifier lainnya dalam PERL adalah case-

    sensitive.

    3.2.1.Skalar

    Variabel skalar menyimpan data bernilai tunggal, tipe data dapat berupa string atau bilangan.

    Tipe data secara otomatis ditentukan pada saat assignment variabel. tidak perlu

    mendeklarasikan tipe data sebelum assignment.

    Nama variabel skalar dimulai dengan karakter '$'. Contoh:

    # string

    $file = '/etc/profile';

    $kota = “depok”;

    # integer

    $_num = 255;

    $byte_ = 0x00ff;

    # float

    $konstanta_pi = 22/7;

    3.2.1.1.String petik tunggal (single quote) dan petik ganda (double quote)

    String dapat dinyatakan dalam petik tunggal (') dan petik ganda (“).

    String dengan petik tunggal menyatakan data adalah seperti yang tertulis, tidak ada

    interpretasi terhadap karakter-karakter pada string.

    String dengan petik ganda menyatakan bahwa interpreter PERL harus melakukan interpretasi

    terhadap karakter-karakter pada string tersebut.

    Contoh:

    # dicetak dalam satu baris, karakter \n tidak diinterpretasikan

    $str1 = '\niman \nilmu \namal \n';

    print $str1;

    # dicetak dalam 3 baris diikuti baris baru

    $str2 = “\niman \nilmu\namal \n”;

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 3

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    17/130

    print $str2;

    # mencetak 'honour the adzan' diikuti baris baru

    $str3 = 'honour';

    $str4 = “$str3 the adzan\n”;

    Variabel Khusus

    PERL juga mengenal beberapa variabel skalar khusus, seperti $ARG, $_, $!, $1, $2, $3, dan

    sebagainya yang dijelaskan di man perlvar

    3.2.2.Array

    Array menyimpan sekumpulan nilai secara berurutan (sekuensial), yang biasa disebut list,

    nilai-nilai yang disimpan dapat berbeda-beda tipe datanya. Untuk membaca nilai anggota

    array digunakan nomor indeks integer dimulai dari nol.

    Variabel array dideklarasikan menggunakan karakter @ di depan nama variabel, data anggota

    array ditempatkan dalam kurung (), nilai-nilai anggota dipisahkan oleh koma.

    Nilai anggota array dibaca menggunakan operator [] dan nomor indeks. Contoh:

    @prima1 = (2,3,5,7,11,13,17);

    # mencetak '5'

    print $prima1[2];

    Untuk mendapatkan jumlah anggota array digunakan variabel $# diikuti nama variabel, tapi

    nilainya adalah jumlah anggota array dikurangi satu. Nilai ini juga dapat digunakan untuk

    membaca elemen terakhir. Contoh :

    @hari2 = (1, "senin",2,"selasa", 3,"rabu",4,”kamis”, 5, ”jumat”);

    # mencetak 'jumlah anggota : 9'

    print “jumlah anggota : $#hari2 \n”;

    # mencetak 'elemen terakhir : jumat'

    print “elemen terakhir : $hari2[$#hari2] \n”;

    Jika sebuah program mencoba menulis anggota array pada posisi indeks yang lebih besar dari

    ukuran array, maka PERL secara otomatis menambah ukuran array sampai posisi baru

    tersebut. Contoh:

    @bil3 = (10, 20, 30, 40);

    # mencetak 'ukuran array : 3'

    4 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    18/130

    print “ukuran array : $#bil3 \n”;

    $bil3[110] = 1234;

    # mencetak 'ukuran array : 110'

    print “ukuran array : $#bil3 \n”;

    Membaca dari array dengan indeks yang lebih besar tidak akan menyebabkan error dan tidak

    akan menambah ukuran array. Contoh:

    @bil4 = (10,20,30,40);

    $t1 = $bil4[89];

    # mencetak 'ukuran array : 3'

    print "ukuran array : $#bil4 \n";

    Jika variabel array dievaluasi dalam konteks nilai skalar (scalar context ) maka variabel

    tersebut dievaluasi sebagai jumlah anggota array, contoh:

    # dievaluasi dalam scalar context

    @arr = (10,20,6,19,11,22);

    if(@arr == 6) {

      print "jumlah anggota array ada 6\n";

    }

    Array dapat disalin sebagian anggotanya ke array lain dengan mudah (array slice),

    menggunakan operator [], Contoh:

    @arr1 = ('semar', 'gareng', 'petruk', 'bagong', 'arjuna',

    'srikandi');

    @arr2 = @arr1[2,4] # 'petruk' dan 'arjuna'

    @arr3 = @arr1[1..3] # 'gareng', 'petruk', 'bagong'

    @arr4 = @arr1[1..$#arr1] # semua kecuali 'semar'

    3.2.3.Hash

    Hash menyimpan sekumpulan nilai yang menggunakan pasangan nama kunci dan nilai.

    Nama kunci dalam sebuah variabel hash haruslah unik, tidak boleh ada 2 pasangan yang

    menggunakan nama kunci yang sama.

    Variabel hash didefinisikan menggunakan karakter % diikuti nama variabel.

    Nilai-nilai anggota hash terdiri atas pasangan nama kunci dan nilai yang dipisahkan oleh

    koma. Nama kunci dan pasangan dituliskan berurutan, dapat dipisahkan tanda koma atau

    dapat juga dipisahkan oleh karakter '=>'.

    Untuk membaca nilai anggota hash digunakan operator kurawal {} dan nama kunci. Contoh:

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 5

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    19/130

    %rasa_buah1 = ('asam', 'asem djawa', 'manis', 'manggis', 'pahit' ,

    'pare');

    # mencetak 'yang pahit = pare'

    print “yang pahit = $rasa_buah1{'pahit'} \n”;

    # dapat juga ditulis seperti ini

    %rasa_buah2 = ( 'asam' => 'asem djawa',

    'manis' =>' manggis',

      'pahit' => 'pare');

    $rasa = 'manis';

    # mencetak 'yang manis = manggis'

    print “yang $rasa = $rasa_buah2{$rasa} \n”;

    3.3.Operator

    PERL memiliki banyak operator dan fungsi yang built-in, berikut ini beberapa operator yang

    umum digunakan, selengkapnya dapat dilihat dengan man perlop.

    Manipulasi String

    . Concat (penggabungan)

    Aritmetika

    + Penjumlahan

    - Pengurangan

    * Perkalian

     / Pembagian

    Perbandingan Bilangan

    '== kesamaan

    '!= Ketidaksamaan

    < Kurang dari

    > Lebih dari

    = Lebih dari atau sama dengan

    Perbandingan String

    eq kesamaan

    6 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    20/130

    ne Ketidak samaan

    lt Kurang dari

    gt Lebih dari

    le Kurang dari atau sama dengan

    ge Lebih dari atau sama dengan

    Perhatikan bahwa PERL menyediakan operasi pembanding string dan pembanding bilangan.

    String dibandingkan secara alpabetis. Secara alpabetis, string '100' lebih kecil dari '8'. Contoh:

    $a = 100; $b = 8

    if ( $a > $b ) {

    print “Bilangan $a lebih besar dari $b\n”;

    } else {

    print “Bilangan $a tidak lebih besar dari $b\n”;

    }

    if ( $a gt $b ) {

    print “String $a secara alpabetis lebih besar dari $b”;

    } else {

    print “String $a secara alpabetis tidak lebih besar dari $b”;

    }

    Operasi perbandingan menghasilkan nilai benar (true) atau salah (false).

    TRUE dan FALSE dalam PERL 

    PERL tidak mengenal tipe data khusus untuk mewakili TRUE dan FALSE.

    Dalam PERL nilai berikut ini adalah FALSE:

    bilangan 0, string '0', list kosong (), dan undef ,

    selain nilai-nilai tersebut adalah TRUE.

    3.4.Fungsi

    PERL memiliki fungsi built-in yang kaya, salah satu yang sudah diperkenalkan adalah

     print.

    Fungsi dapat menerima nol atau lebih argumen. Argumen sebuah fungsi dapat berupa skalar,

    list, atau keduanya.

    Pemanggilan fungsi dapat menggunakan tanda kurung () diantara argumen, dapat juga tidak.

    Fungsi printadalah fungsi yang menerima argumen list. Contoh:

    print “saya”, “belajar”, “PERL”;

    # sama dengan

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 7

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    21/130

    print (“saya”, “belajar”, “PERL”);

    Fungsi print juga dapat menerima argumen skalar berupa filehandle dan list. Tentang

    filehandle akan dijelaskan dibagian File Input dan Output.

    Fungsi dapat mengembalikan nilai skalar atau list.

    Berikut ini fungsi localtime, yang mengembalikan list berisi data waktu, dipanggil tanpaargumen:

    @bulan = ('jan', 'peb', 'mar', 'apr', 'mei', 'jun', 'jul', 'ags',

    'sep', 'okt', 'nop', 'des');

    @hari = ('minggu', 'senin', 'selasa', 'rabu', 'kamis', 'jumat',

    'sabtu');

    ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =

    localtime;

    print "Bulan $bulan[$mon] hari $hari[$wday] tgl $mday tahun

    ",1900+$year,"\n";

    Perlu diingat bahwa PERL pertamakali dikembangkan di lingkungan Unix, jadi akan banyak

    ditemukan fungsi-fungsi yang familiar dengan sistem operasi ini, misalnya yang berhubungan

    dengan file system, socket, network, interprocess communication, dan process control.

    Daftar fungsi built-in secara lengkap dapat dibaca dengan man perlfunc.

    Penjelasan untuk fungsi tertentu dapat dicari dengan perldoc -f .

    Contoh:

    bash% perldoc -f localtime

    3.5.Konstruksi Kondisional

    Berikut ini konstruksi kondisional yang disediakan PERL

    3.5.1.if 

    Mengeksekusi statemen jika kondisi bernilai benar. Untuk percabangan menggunakan elsif

    dan else. Bentuknya :

    if ( kondisi1) {

      # statemen-statemen

    }

    elsif (kondisi2) {

      # statemen-statemen

    } elsif (kondisi3) {

      # statemen-statemen

    } else {

    8 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    22/130

      # statemen-statemen

    }

    3.5.2.unless

    Adalah kebalikan dari if .

    3.6.Konstruksi Loop

    PERL mengenal beberapa jenis loop:

    3.6.1.for

    Digunakan untuk melakukan pengulangan berdasarkan 3 ekspresi yang masing-masing untuk

    : memulai loop, menentukan apakah melanjutkan eksekusi loop, dieksekusi pada akhir loop

    supaya kondisi untuk mengakhiri loop dapat dicapai. Bentuknya:

    for ( ; ; ) {

    # statemen-statemen

    }

    Ekspresi yang umum digunakan adalah sebagai berikut:

    for ( $i = 0; $i < $jumlah_pengulangan; $i++ ) {

    # statemen

    }

    3.6.2.foreach

    Digunakan untuk melakukan iterasi berdasarkan anggota sebuah array atau list. Bentuknya:

    foreach  () {

    }

    Contoh:

    # iterasi atas array

    @hari = ('senin','selasa','rabu','kamis','jumat','sabtu','minggu');

    foreach $h (@hari) {

      print "hari $h\n";

    }

    # terhadap list

    $p = 1;

    foreach $q (2..6) {

    $p *= $q;

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 9

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    23/130

    }

    print "faktorial 6 = $p\n";

    # atau terhadap array slice

    foreach $q (@hari[2..5]) {

      print "$q\n";

    }

    3.6.3.while

    Loop dieksekusi selama kondisi adalah TRUE. Untuk keluar dari loop harus dengan

    mengubah kondisi menjadi false atau menggunakan statement last;

    Bentuknya :

    while(kondisi) {

      # statemen

    }

    3.7.Input dan Output ke file

    3.7.1.Membaca dari file teks

    Sebelum file dapat dibaca maka harus file dibuka dengan fungsi open, dengan mode “baca”,

    contoh:

    open($fh, '/etc/passwd');

    Variable $fh adalah filehandle yang diperlukan untuk membaca dan menutup file.

    Selanjutnya setiap baris dibaca dengan operator . sebagai berikut:

    while($line = ) {

    # memproses $line

    }

    Setelah selesai file ditutup dengan fungsi close, contoh:

    close($fh)

    3.7.2.Menulis ke file teks

    Perintah yang sama dengan program di atas dapat digunakan untuk menulis ke file. Pertama,

    file dibuka dengan mode 'tulis':

    open($fh, “> /path/ke/file”);

    selanjutnya dapat ditulis dengan perintah print, menggunakan file handle, sbb:

    10 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    24/130

    print $fh “baris teks yang ditulis ...\n”;

    Seperti halnya dalam hal membaca, maka filehandle harus ditutup dengan close.

    Berikut ini contoh membaca dari file dan menulis ke file baru, atau mengcopy file:

    # mengcopy /etc/profile

    $fnam = '/etc/profile';

    $fbaru = '/home/didi/copyprofile';

    open($fh1, $fnam) or die “gagal baca $fnam, $!”;

    open($fh2, “>$fbaru”) or die “gagal menulis $fbaru, $!”;

    while($line = ) {

    print $fh2 $line;

    }

    close($fh1);close($fh2);

    Ekspresi “or die ... “ digunakan sebagai error handler jika file tidak dapat dibuka.

    Variabel khusus $! digunakan untuk menampilkan pesan error dari sistem.

    3.8.Subrutin

    Pada program aplikasi umumnya, kumpulan statemen yang mengimplementasikan sebuah

    operasi tertentu didefinisikan dalam sebuah subrutin.

    Beberapa subrutin biasanya didefinisikan dalam sebuah file tersendiri, sehingga dapatdigunakan oleh berbagai program pemanggil.

    Berikut ini bentuk pendefinisian subrutin :

    sub {

    }

    Subrutin dapat menerima parameter, tapi PERL tidak mengenal named formal parameter ,

    parameter yang dikirimkan ke subrutin dapat diakses dalam subrutin melalui array khusus @_

    , berikut ini contoh subrutin sederhana yang menghitung nilai faktorial :

    sub faktorial {

    my ($num) = @_;

    my $res = 1;

    foreach my $a (1..$num) {

    $res *= $a; # atau $res = $res * a

    }

    return $res;

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 11

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    25/130

    }

    # return TRUE value

    1;

    Perhatikan bahwa jika subrutin didefinisikan di file tersendiri, maka file tersebut harus

    mengembalikan nilai TRUE, dalam program diatas digunakan bilangan 1.

    Jika subrutin tersebut disimpan di file /home/didi/mylib/math.pl, maka dapat

    dipanggil dari program lainnya sebagai berikut:

    require “/home/didi/mylib/math.pl”

    print "Faktorial 6 = ", faktorial(6),"\n";

    Penjelasan lebih lengkap tentang subrutin dapat dibaca dari man perlsub

    4.Penutup

    PERL adalah bahasa pemrograman yang berdaya guna tinggi, yang terus digunakan dan

    dikembangkan oleh komunitas open source.

    Seperti halnya bahasa open source lain, PERL memiliki sistem dokumentasi yang sangat

    lengkap, pembaca sangat dianjurkan menelaah manual PERL yang terdistribusi bersama

    source code PERL.

    12 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    26/130

    II. Mengenal PHP

    PHP adalah bahasa pemrograman script yang dinamis. Program PHP dapat dijalankan sebagai

    aplikasi web yang memerlukan web server dan dapat juga dijalankan menggunakan interpreter

    PHP, sebagai aplikasi konsol atau desktop-based .

    PHP adalah bahasa pemrograman yang kaya dengan library untuk pengembangan aplikasi

    mulai dari dukungan ke berbagai database management system, dukungan library Graphical

    User Interface, sampai library untuk sistem administrasi.

    1.Menginstal PHP

    PHP diinstal sebagai module apache dan sekaligus menginstal PHP CLI (command line

    interpreter), nama-nama direktori (misal: /dir/instalasi/xxx/anda) dapat anda ubah

    sesuai dengan keinginan anda.

    Karenanya harus menginstal apache terlebih dahulu jika apache belum terinstal.

    Berikut ini cara instalasi PHP 5 dari source code.

    1.1.Instalasi Apache

    1. Instal Apache, pertama download dari httpd.apache.org, dalam hal ini kami

    menggunakan apache 1.3.37

    2. Uncompress disembarang direktori

    bash% tar zxvf apache_1.3.37.tar.gz

    3. Konfigurasi dan kompilasi

    bash% cd apache_1.3.37

    bash% ./configure –prefix=/dir instalasi apache anda

     --

    enable-shared=max

    bash% make

    4. Instal

    bash% make install

    5. Instalasi apache selesai

    1.2.Instalasi module PHP dan PHP CLI:

    1. Download dari situs www.php.net

    2. Uncompress di sembarang direktori

    bash% tar zxvf php-5.2.0.tar.gz

    3. Konfigurasi dan kompilasi

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 13

    http://www.php.net/http://www.php.net/http://www.php.net/http://www.php.net/

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    27/130

    bash% cd php-5.2.0

    bash% ./configure –prefix=/d ir i nstalasi p hp anda –with-

    apxs=/dir instalasi apache anda bin apxs –with-config-

    file-path=/etc

    bash% make

    4. Instal

    bash% make install

    5. Instalasi module php dan php-cli selesai

    2.Menjalankan Program PHP

    Program PHP dapat dijalankan dengan 2 modus:

    2.1.Aplikasi KonsolBuat program salam.php berikut ini disebarang direktori:

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    28/130

    3.1.Program PHP

    File program PHP adalah file teks yang dapat dibuat dengan editor teks biasa (misal: vim,

    gedit, kedit).

    Sebuah file program PHP paling sedikit terdiri atas satu baris statemen yang dibatasi oleh tag

    pembuka blok statemen dan tag penutup blok statemen.

    Tag pembuka blok adalah . PHP mengenal 3 jenis tag

    pembuka lainnya yang tidak direkomendasikan pada manual PHP, dan karenanya tidak

    dibahas disini.

    Sebuah program PHP dapat terdiri 2 jenis statemen:

    1 statemen PHP yang dibatasi oleh tag tersebut

    1 statement non-PHP (misal: HTML, WML, XML)

    Kedua jenis statemen dapat berselang-seling lebih dari satu kali dalam program.

    PHP mengabaikan whitespace (spasi, tab, baris-baru) sebelum dan sesudah statemen, juga

    whitespace di antara token-token dalam statemen.

    Semua contoh program dalam tulisan ini tidak menuliskan tag pembuka untuk menghemat ruang/kertas, kecuali jika ada bagian program yang

    menggunakan statemen non-PHP.

    3.2.Komentar

    PHP Mengenal 3 jenis komentar:

    1. Diawali dengan // , berlaku hanya untuk 1 baris

    2. Diawali dengan #, berlaku hanya untuk 1 baris

    3. Diawali dengan /* dan diakhiri */ , berlaku untuk lebih dari 1 baris, dapat juga

    digunakan untuk menyisipkan komentar diantara token.

    Ketiga jenis komentar dapat berada pada baris tersendiri atau dibelakang statement. Contoh:

    // komentar 1

    echo 'string satu',"\n"; // komentar 2

    echo 'string dua',"\n"; # komentar 3

    /*

     komentar 4 , komentar ini

    melintas beberapa baris

    */

    echo /* komentar 5, di antara token */ 'string tiga',"\n";

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 15

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    29/130

    3.3.Tipe Data

    PHP membedakan operasi yang dapat dilakukan terhadap setiap tipe data.

    3.3.1.Tipe Primitif 

    Tipe primitif adalah tipe data dasar yang tidak dapat dibagi lagi (decompose) atas tipe data

    yang lebih dasar lainnya.

    3.3.1.1.Boolean

    PHP mengenal tipe boolean yaitu : TRUE dan FALSE, keduanya case-insenstive.

    Jadi True, true, atau TRUE adalah sama.

    3.3.1.2.Integer

    Integer atau bilangan bulat di PHP tidak membedakan panjang byte (long atau integer biasa),

    keduanya adalah integer.

    Integer literal dapat dituliskan sebagai desimal (default, tanpa prefiks), octal (dengan prefix

    '0') atau hexadecimal (dengan prefix 0x).

    Contoh:

    1234567890 # desimal

    01234567 # octal

    0x123456789abcdef #hexadecimal

    3.3.1.3.float

    Literal float menggunakan '.' untuk pembatas pecahan desimal, dan menggunakan simbol e

    untuk pangkat desimal.

    Pada contoh berikut ini ke 4 bilangan yang ditulis dengan cara berbeda adalah sama besarnya:

    .123456789

    0.123456789

    123456789e-9

    123.456789e-4

    3.3.1.4.string

    String dalam PHP adalah dereten karakter.

    Literal string dapat ditulis dengan 3 cara :

    16 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    30/130

    3.3.1.4.1.Petik ganda

    String dengan petik ganda mengenal karakter khusus (baris baru, tab) dan melakukan

    ekspansi variabel

    3.3.1.4.2.Petik TunggalString dengan petik tunggal tidak mengenal karakter khusus (baris baru, tab) dan tidak

    melakukan ekspansi variabel

    3.3.1.4.3.Heredoc

    Sintak heredoc memperlakukan string seperti double quote, hanya saja menggunakan

    delimiter yang berbeda, yaitu deretan karakter alpahanumeric atau garis bawah, yang dimulai

    hanya dengan karakter non digit atau garis bawah. Contoh:

    'otomatisasi sysadmin',

      'c' => 'aplikasi system',

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 17

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    31/130

      'ruby' => 'aplikasi web',

      'java' => 'aplikasi enterprise'

    );

    echo 'php tepat untuk ' , $a['php'],"\n";

    echo 'python cocok untuk ' , $a['python'],"\n";

    Array ber-indeks integer juga dapat dibuat dengan constructor array yang sama:

    $b = array('php','python','perl','c','ruby','java');

    echo $b[0],”\n” # php

    echo $b[1],”\n” # python

    echo $b[4],”\n” # ruby

    3.3.2.2.Objek

    Tipe data ini menyimpan referensi ke instance class. Tipe data objek dibuat menggunakan

    constructor class. Pembahasan selengkapnya ada di bagian Class.

    3.3.3.Tipe Khusus

    3.3.3.1.Resource

    Resource adalah tipe khusus yang menyimpan referensi ke resource eksternal.

    3.3.3.2.NULLMenyatakan ketiadaan nilai, tipe data ini hanya memiliki satu nilai: NULL

    3.3.4.Konversi ke boolean

    PHP melakukan konversi dari tipe data lain ke boolean dalam konteks yang memerlukan tipe

    boolean berdasarkan aturan yang jelas.

    Salah satu konteks yang memerlukan tipe boolean adalah statemen kondisional (misal: if).

    Semua nilai berikut ini akan dianggap FALSE oleh PHP:

    1 boolean FALSE1 integer 0 (nol)

    1 float 0.0 (zero)

    1 string kosong, dan string "0"

    1 array yang tidak mempunyai elemen.

    1 object yang tidak mempuyai variabel member (PHP4)

    1 tipe khusus NULL

    1 semua variabel yang di-unset

    18 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    32/130

    3.4.Variabel

    Variabel digunakan untuk menyimpan data, selanjutnya data dimanipulasi melalui variabel.

    3.4.1.Assignment

    Variabel diberi nilai (= data) melalui assignment.

    Variabel tidak perlu dideklarasikan sebelum diberi nilai.

    $a = 1000;

    $b = 'ini adalah string';

    $c = “string ini bergabung dengan '$b' “;

    Jika ekspresi mengacu ke variabel yang belum didefinisikan tidak menyebabkan error.

    echo $a, $b, $c, “\n”;

    Assignment ke variabel dapat menghasilkan data baru (dengan nilai yang sama), atau tidak

    menghasilkan data baru tapi hanya menghasilkan referensi baru.

    $a = 1234;

    $b = $a; # $b berisi sama dengan a

    Pada PHP 5, assignment dari variabel (yang di-assign ke) objek ke variabel lain, tidak

    menyebabkan adanya data baru, tapi hanya menghasilkan referensi baru.

    1. /* REQUIRE PHP 5 */

    2. class Koordinat

    3. {

    4. function Koordinat($x, $y) {

    5. $this->X = $x;

    6. $this->Y = $y;

    7. }

    8. }

    9. $k1 = new Koordinat(5,5);

    10.$k2 = $k1;

    11. $k2->X += 222; # X di $k2 diubah = 227

    12.echo $k1->X ,"\n"; # X $k1 juga berubah = 227

    Untuk mendapatkan hasil yang sama di PHP 4, perlu menggunakan reference assignment =&,

    baris 10 ditulis sbb:

    $k2 =& $k1;

    Reference assignment =&, juga dapat digunakan untuk variabel primitif:

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 19

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    33/130

    $x = 200;

    $y =& $x;

    $y += 300;

    echo $x ,”\n”; # 500

    3.5.Ekspresi dan Operator

    Ekspresi adalah segala sesuatu yang memiliki nilai.

    Ekspresi meliputi nilai literal, pemanggilan fungsi yang mengembalikan nilai, hasil operasi,

    termasuk assignment.

    Assignment dalam PHP memiliki nilai dan adalah ekspresi juga. Hal ini dapat menjadi

    sumber error yang tidak mudah ditemukan, ketika yang ingin dilakukan adalah uji kesamaan(equality ==) :

    # program berikut ini contoh penggunaan ekspresi yang SALAH

    $a = 123;

    if ($a = 1000) { # selalu TRUE, seharusnya $a == 1000

    echo “$a sama dengan 1000\n”;

    }

    $b = 0;

    if ($b = 0

    ) { # selalu FALSE seharusnya $b == 0

    echo “$b sama dengan 0\n”;

    }

    Pada bagian berikutnya dibahas berbagai operator, setiap penjelasan langsung menggunakan

    contoh.

    3.5.1.Operator aritmetika

    Berlaku untuk tipe data bilangan.

    penjumlahan, perkalian, pembagian, pengurangan, modulus.

    $a = 10; $b = 20;

    $c = $a + $b; // penjumlahan , hasil 30

    $c = $a - $b; // pengurangan , hasil -10

    $c = $a * $b; // perkalian , hasil 200

    $c = $a / $b; // pembagian , hasil 0.5

    $c = $a % $b; // modulus, hasil 10

    20 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    34/130

    3.5.2.Operator incrementing/decrementing

    Menambah atau mengurangi bilangan dengan 1, terdiri atas:

    post-increment, pre-increment, post-decrement, pre-decrement.

    $a = 10;

    $b = $a++; // post-increment

    echo "b == $b , a == $a \n"; // b == 10 , a == 11

    $b = ++$a; // pre-increment

    echo "b == $b , a == $a \n"; // b == 12 , a == 12

    $b = $a--; // post-decrement

    echo "b == $b , a == $a \n"; // b == 12 , a == 11

    $b = --$a; // pre-decrement

    echo "b == $b , a == $a \n"; // b == 10 , a == 10

    3.5.3.Operator assignment

    Assignment menghasilkan nilai baru sesuai nilai expresi disebelah kanan operator =.

    $a = 10;

    $c = ($b = 10) + $a; // $c == 20, $b == 10

    $a += 10; // $a == 20

    $c = ($b += 10) + $a; // $c == 40, $b == 20, $c == 20

    3.5.4.Operator Perbandingan

    Membandingkan antara 2 nilai. Berikut ini operasi dan contohnya:

    3.5.4.1.Ternary

    ekspresi1 ? ekspresi2 : ekspresi3

    Operator '?' ini mengembalikan nilai ekspresi2 jika ekspresi1 bernilai TRUE dan

    mengembalikan nilai ekspresi3 jika ekspresi1 bernilai FALSE.

    // ternary

    $hasil = true ? 'benar':'salah';

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 21

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    35/130

    echo $hasil , "\n"; // benar

    $hasil = false ? 'benar':'salah';

    echo $hasil , "\n"; // salah

    3.5.4.2.Equal

    ekspresi1 == ekspresi2

    Operator '==' ini hanya menghasilkan nilai TRUE jika nilai ekspresi1 samadengan nilai

    ekspresi2, jika tipe data kedua ekspresi berbeda maka sebelum operasi dijalankan ekspresi2

    dikonversikan tipe datanya ke tipe data ekspresi1.

    // equal

    $a = 10; $b = '10';

    echo $a == $b ? 'true':'false' , "\n"; // true

    3.5.4.3.Identical

    ekspresi1 === ekspresi2

    Operator '===' ini hanya menghasilkan nilai TRUE jika nilai ekspresi1 samadengan nilai

    ekspresi2 dan tipe data kedua nilai ekspresi sama.

    // identical

    $a = 10; $b = '10'; $c = 10;

    echo $a === $b ? 'true':'false' , "\n"; // false

    echo $a === $c ? 'true':'false' , "\n"; // true

    3.5.4.4.Not Equal

    ekspresi1 != ekspresi2

    ekspresi1 ekspresi2

    Operator '!=' dan '' ini hanya menghasilkan nilai TRUE jika nilai ekspresi1 tidak

    samadengan nilai ekspresi2, jika tipe data kedua ekspresi berbeda maka sebelum operasi

    dijalankan ekspresi2 dikonversikan tipe datanya ke tipe data ekspresi1.// not equal

    $a = 10; $b = '10'; $c =11;

    echo $a != $b ? 'true':'false' , "\n"; // false

    echo $a != $c ? 'true':'false' , "\n"; // true

    // not equal

    $a = 10; $b = '10'; $c =11;

    echo $a $b ? 'true':'false' , "\n"; // false

    22 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    36/130

    echo $a $c ? 'true':'false' , "\n"; // true

    3.5.4.5.Not Identical

    ekspresi1 !== ekspresi2

    Operator '!==' hanya menghasilkan nilai TRUE jika nilai ekspresi1 tidak samadengan nilaiekspresi2 dan tipe data kedua nilai ekspresi sama.

    // not identical

    $a = 10; $b = '10'; $c = 10;

    echo $a !== $b ? 'true':'false' , "\n"; // true

    echo $a !== $c ? 'true':'false' , "\n"; // false

    Operator greater than(>), smaller than(=), smaller equals ( ekspresi2

    ekspresi1 < ekspresi2

    ekspresi1 = ekspresi2

    Keempat operator ini membandingkan nilai ekspresi1 dan ekspresi2, operasi baru dijalankan

    setelah melakukan konversi tipe jika ekspresi2 berbeda tipedata dengan ekspresi1

    $a = 10; $b = 11; $c = 10;

    echo $a > $b ? 'true':'false' ,"\n"; // false

    echo $a < $b ? 'true':'false' ,"\n"; // true

    echo $a = $c ? 'true':'false' ,"\n"; // true

    3.5.5.Operator Logika

    3.5.5.1.Logical AND

    ekspresi1 and ekspresi2

    Menghasilkan nilai TRUE jika ekspresi1 dan ekspresi2 keduanya bernilai TRUE.

    //and

    echo (true and true)?'true':'false',"\n"; // TRUE

    echo (true and false)?'true':'false',"\n"; // FALSE

    echo (false and false)?'true':'false',"\n"; // FALSE

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 23

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    37/130

    3.5.5.2.Logical OR

    ekspresi1 or ekspresi2

    Operator OR menghasilkan nilai TRUE jika ada salah satu dari ekspresi1 dan ekspresi2

    bernilai TRUE.

    // or

    echo (true or true)?'true':'false',"\n"; // TRUE

    echo (true or false)?'true':'false',"\n"; // TRUE

    echo (false or false)?'true':'false',"\n"; // FALSE

    3.5.5.3.Logical XOR

    ekspresi1 xor ekspresi2

    Operator XOR menghasilkan nilai TRUE jika salah satu dari ekspresi1 dan ekspresi2 bernilai

    TRUE, tapi tidak kedua-duanya.

    // xor

    echo (true xor true)?'true':'false',"\n"; // FALSE

    echo (true xor false)?'true':'false',"\n"; // TRUE

    echo (false xor false)?'true':'false',"\n"; // FALSE

    3.5.5.4.Logical NOT

    ! ekspresi1

    Operator NOT menghasilkan nilai TRUE jika ekspresi1 bernilai FALSE, dan menghasilkan

    nilai FALSE jika ekspresi1 bernilai TRUE.

    3.5.5.5.Logical AND (&&)

    Samadengan operator AND sebelumnya tapi precedence nya lebih tinggi,

    // &&

    echo (true && true)?'true':'false',"\n"; // TRUE

    echo (true && false)?'true':'false',"\n"; // FALSE

    echo (false && false)?'true':'false',"\n"; // FALSE

    3.5.5.6.Logical OR (||)

    Samadengan operator OR sebelumnya tapi precedence nya lebih tinggi.

    // ||

    echo (true || true)?'true':'false',"\n"; // TRUE

    24 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    38/130

    echo (true || false)?'true':'false',"\n"; // TRUE

    echo (false || false)?'true':'false',"\n"; // FALSE

    Operatir || lebih tinggi precedencenya dari or

    echo (true xor false || true) ? 'true':'false',"\n"; // FALSE

    echo (true xor false or true) ? 'true':'false',"\n"; // TRUE

    PHP melakukan optimasi pada ekspresi yang menggunakan operator logika. Contoh:

    ekspresi1 && ekspresi2 && ekspresi3

    Pada ekspresi tersebut jika ekspresi1 bernilai FALSE maka ekspresi2 dan ekspresi3 tidak

    akan dieksekusi. Begitu juga pada contoh berikut:

    ekspresi1 || ekspresi2 || ekspresi3

    Pada ekspresi tersebut jika ekspresi1 bernilai TRUE maka ekspresi2 dan ekspresi3 tidak akan

    dieksekusi.

    3.5.6.Operator bit

    Operator ini berlaku untuk integer dan karakter ASCII.

    3.5.6.1.Bitwise AND

    b1 & b2

    Menghasilkan bit yang di-set jika bit1 dan bit2 juga di-set.

    // 9 = 1001

    // 10 = 1010

    echo 9 & 10,"\n"; // 8 = 1000

    3.5.6.2.Bitwise OR

    b1 | b2

    Menghasilkan bit yang di-set jika salah satu dari bit1 dan bit2 di-set

    echo 9 | 10,"\n"; // 11 = 1011

    3.5.6.3.Bitwise XOR

    b1 ^ b2

    Menghasilkan bit yang di-set jika salah satu dari bit1 dan bit2 di-set, tapi tidak keduanya.

    echo 9 ^ 10,"\n"; // 3 = 0011

    Bitwise NOT

    ~b1

    Menghasilkan bit yang di-set jika b1 tidak di-set, dan kebalikannya

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 25

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    39/130

    Shift left (geser bit ke kiri)

    b1 n

    Menggeser bit b1 sebanyak n ke kanan.

    Setiap pergeseran satu bit sama dengan “bagi dengan 2”

    echo 10 >> 1, "\n"; // 5 = 0101

    3.5.7.Operator String

    Operator dot (titik) digunakan untuk menggabungkan string dengan string atau tipe data

    lainnya.

    Contoh:

    $a = 'saya...';

    $b = 'belajar php';

    $c = $a . $b; // 'saya...belajar php'

    3.6.Kendali Alur Program

    3.6.1.Conditional

    Statemen if elseif else digunakan untuk menguji beberapa kondisi.

    Berikut ini contoh program membaca bilangan dari stdin (keyboard), lalu membandingkan

    dengan yang ada di program:

    $ditebak = 123;

    echo "ayo tebak: ";

    $tebak = chop(fgets(STDIN));

    if($tebak == '') {

      echo("kosong!\n");

    } elseif($tebak < $ditebak) {

      echo("terlalu kecil\n");

    } elseif ($tebak > $ditebak) {

      echo("terlalu besar\n");

    26 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    40/130

    } else {

      echo 'benar...',"\n";

    }

    3.6.2.switch

    Switch dapat digunakan sebagaimana if elseif else, tapi lebih tepat lagi digunakan untuk

    mengevaluasi sebuah kondisi lalu membandingkan hasil evaluasi tersebut dengan literal

    integer atau string.

    Perhatikan setelah switch digunakan statemen break untuk mencegah statemen berikutnya

    dalam blok switch dieksekusi:

    echo "3 rasa es krim:\n\t1)moka\n\t2)stroberi\n\t3)mengkudu\n";

    echo "pilih: ";

    $pilih = chop(fgets(STDIN));

    switch($pilih) {

      case 1:

    echo "yum yum yum\n";

      break;

      case 2:

    echo "slurp..slurp..\n";

      break;

      case 3:

    echo "yaak.. bleek..\n";

      break;

      default:

      echo 'tidak ada',"\n";

    }

    3.6.3.Struktur loop

    Struktur loop adalah struktur untuk melakukan iterasi atau pengulangan eksekusi satu atau

    beberapa statement.

    PHP memiliki beberapa struktur loop: for, while, do while, foreach.

    for

    Menggunakan 3 blok ekspresi yang dieksekusi secara berbeda:

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 27

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    41/130

    1. satu kali di awal eksekusi statemen for

    2. setiap kali di awal loop di evaluasi nilainya untuk menentukan apakah eksekusi loop

    berikutnya akan dilakukan

    3. setiap kali di akhir loop

    1. echo "hitung faktorial dari :";

    2. $n = chop(fgets(STDIN));

    3. $faktorial = 1;

    4. for($a = $n; $a > 0; $a--)

    5. {

    6. $faktorial *= $a;

    7. }

    8. echo "$faktorial \n";

    Statement for dieksekusi dengan langkah-langkah sebagai berikut :

    1. Pada awal eksekusi statemen for nilai $a di set sama dengan $n (baris 4), langkah ini

    hanya dilakukan satu kali saja.

    2. Masih di baris 4: diperiksa apakah $a masih lebih besar dari 0, jika benar maka blok

    for mulai di-eksekusi (antara baris 5 dan 7), jika tidak benar maka eksekusi statemen

    for berakhir.

    3. Sebelum mengulang eksekusi loop, nilai $a dikurangi 1

    4. Kembali ke langkah 2.

    Ketiga blok dapat terdiri lebih dari satu ekspresi, yang dipisahkan oleh koma (,). Jika blok

    kedua terdiri lebih dari satu ekpresi maka blok ekspresi tersebut diperlakukan seperti halnya

     jika koma diganti dengan operator || (logical operator or).

    # pembangkit fibonacci

    echo "hitung fibonacci sampai: ";

    $maks = chop(fgets(STDIN));

    for($a = 0, $b = 1; $b < $maks; $tmp=$a, $a = $b, $b += $tmp) {

    echo $b," ";

    }

    Jika ekspresi blok kedua adalah kosong, maka loop for akan dieksekusi tanpa berhenti, dan

    hanya dapat keluar dari dalam blok dengan statemen break.

    3.6.3.1.while

    Statemen while digunakan untuk menjalankan pengulangan selama ekspresi dalam while

    adalah TRUE.

    28 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    42/130

    Contoh pada penghitung faktorial jika menggunakan while:

    echo "hitung faktorial dari :";

    $a = chop(fgets(STDIN));

    $faktorial = 1;

    while($a > 0)

    {

      $faktorial *= $a;

      $a--;

    }

    echo "$faktorial \n";

    Pembangkit deret fibonacci menggunakan statement while:

    # pembangkit fibonacci

    echo "hitung fibonacci sampai :";

    $maks = chop(fgets(STDIN));

    $a = 0; $b = 1;

    while($b < $maks) {

      echo $b," ";

      $tmp=$a; $a = $b; $b += $tmp;

    }

    3.6.3.2.do while

    Loop do-while dieksekusi minimum satu kali. Blok dalam loop akan dieksekusi selama

    ekspresi yang diuji dalam while bernilai TRUE.

    $ditebak = 123;

    do {

      echo "ayo tebak: ";

      $tebak = chop(fgets(STDIN));

      if($tebak == '') {

      echo("kosong!\n");

      } elseif($tebak < $ditebak) {

      echo("terlalu kecil\n");

      } elseif ($tebak > $ditebak) {

      echo("terlalu besar\n");

      } else {

      echo 'benar...',"\n";

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 29

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    43/130

      }

    } while($tebak != $ditebak)

    3.6.3.3.break

    Statement break digunakan di dalam loop untuk mengubah alur eksekusi sehingga keluar dari

    loop tersebut. Tapi jika loop tersebut ada di dalam loop yang lain, maka eksekusi beralih ke

    loop luar, tepat setelah akhir loop dalam tersebut.

    1. $ditebak = 123;

    2. while(true) { # loop 1

    3. while(true) { # loop 2

    4. echo "ayo tebak: ";

    5. $tebak = chop(fgets(STDIN));

    6. if($tebak == '') {

    7. echo("kosong!\n");

    8. } elseif($tebak < $ditebak) {

    9. echo("terlalu kecil\n");

    10. } elseif ($tebak > $ditebak) {

    11. echo("terlalu besar\n");

    12. } else {

    13. echo 'benar...',"\n";

    14. break;

    15. }

    16. } # akhir loop 2

    17. echo "lanjut? ";

    18. ya = chop(fgets(STDIN));

    19. if($ya == 'n') break;

    20.} # akhir loop 1

    Perhatikan pada contoh ada 2 loop (dimulai dari baris 2 dan 3) .

    Perintah break pada baris 14 hanya mengalihkan eksekusi dari loop2 ke loop 1, tapi tidak

    mengeluarkan dari loop 1. Diperlukan statemen break (baris 19) dari loop 1 untuk dapat

    keluar dari loop tersebut.

    3.6.3.4.continue

    Statemen continue digunakan untuk mengubah alur eksekusi program agar segera

    30 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    44/130

    menjalankan iterasi berikutnya sehingga statemen-statemen di bawah statemen continue ini

    tidak dieksekusi.

    $ditebak = 123;

    $min_coba = 3;

    $coba = 0;

    while(true) {

      $coba++;

      echo "ayo tebak: ";

      $tebak = chop(fgets(STDIN));

      if($tebak == '') {

      echo("kosong!\n");

      } elseif($tebak < $ditebak) {

      echo("terlalu kecil\n");

      } elseif ($tebak > $ditebak) {

      echo("terlalu besar\n");

      } else {

      echo 'benar...',"\n";

      break;

      }

      if($coba < $min_coba) continue;

      echo "menyerah?[y/n] : ";

      $insap = chop(fgets(STDIN));

      if($insap == 'y')

      break;

      else

      $coba = 0;

    }

    3.6.3.5.foreach

    Statement foreach digunakan khusus untuk mengiterasi array, ada 2 bentuk

    untuk array dengan indeks integer mulai dari 0:

    $array = array(10,20,30,40,50);

    foreach($array as $value) {

      echo $value , "\n";

    }

    Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source 31

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    45/130

    untuk array asosiatif:

    $hash = array('kode'=> 'A123', 'nama'=> 'susu sapi', 'harga'=>

    12000, 'satuan'=> 'liter');

    foreach($hash as $key => $value) {

      echo $key , ' => ', $value , "\n";

    }

    3.6.3.6.return

    Mengubah alur eksekusi sehingga baris-baris berikutnya tidak dijalankan lagi.

    Jika digunakan dalam fungsi statemen return dapat digunakan untuk mengembalikan nilai ke

    pemanggil fungsi.

    3.6.3.7.ExceptionException adalah object yang digunakan untuk mengubah ekselusi program ketika terjadi

    kesalahan (error).

    Untuk menangani exception digunakan konstruksi blok try dan catch.

    Konstruksi blok try{} berisi statemen yang dapat mengakibatkan terjadinya exception,

    konstruksi catch terdiri atas bagian deklarasi object exception yang ditangani dan bagian blok

    statemen yang menangani objek exception tersebut.

    Untuk mengakibatkan exception program menggunakan statement throw, yang menjadi

    parameter dari throw adalah objek Exception.

    Exception baru dikenal pada PHP 5.

    Contoh:

    try {

      echo 'baris berikutnya akan menghasilkan exception',"\n";

      throw new Exception('error yg disengaja');

      echo 'baris ini akan diabaikan',"\n";

    } catch (Exception $e) {

      echo 'ada exception.. ',$e,"\n";

    }

    Melalui penggunaan exception secara tepat, dapat memudahkan penanganan error.

    Exception adalah cara alternatif untuk pen-signal-an error yang lebih baik dari cara

    konvensional menggunakan return value. Return value seharusnya hanya digunakan untuk

    mengembalikan hasil komputasi, dan tidak pernah mengembalikan signal (kode) error.

    32 Panduan Pendayagunaan Open Source Software: Bahasa Pemrograman Open Source

  • 8/17/2019 Panduan Pendayagunaan Open Source Software- Bahasa Pemrograman Open Source.pdf

    46/130

    3.7.Fungsi

    PHP mengenal 3 jenis fungsi:

    1. Fungsi yang merupakan bagian dari PHP (bult-in)

    Fungsi ini selalu tersedia untuk digunakan.

    2. Fungsi yang disediakan oleh extension module.

    Fungsi jenis ini baru tersedia setelah user menginstal extension module tertentu.

    3. Fungsi yang didefinisikan oleh pengguna bahasa PHP (user defined function)

    Fungsi jenis ini dibuat sendiri oleh pengguna bahasa PHP, baru tersedia jika definisi

    fungsi dimasukkan ke dalam scope program melalui statement : require, include, dan

    sejenisnya,

    Fungsi yang dibahas pada bagian ini adalah yang terakhir.

    3.7.1.Mendefinisikan Fungsi

    Fungsi didefinisikan menggunakan keyword function, diikuti nama fungsi.

    Fungsi dapat menerima nol atau lebih parameter fungsi dan dapat menghasilkan nilai

    keluaran