Web Programming masaboe
Arsitektur Client Server Aplikasi web adalah jenis aplikasi yang menggunakan arsitektur client-server. Pada jenis arsitektur ini, sebuah program client terhubung pada sebuah server untuk informasi yang dibutuhkan untuk melengkapi tugas-tugas yang telah diset oleh user.
Web client Tugas browser adalah menyediakan user sebuah interface dimana akan meminta server dan menampilkan respon dari server. Ketika user meminta server (sebagai contoh, mendapatkan dokumen, atau mungkin mengirim (submit) sebuah form), browserlah yang memformat permintaan tersebut ke dalam sesuatu yang server dapat mengerti. Begitu server telah selesai memproses permintaan dan kemudian mengirim respon, browser mengambil data yang diperlukan dari respon yang diberikan server dan kemudian merendernya untuk ditampilkan ke user.
HTTP Protocol Salah satu yang paling terkenal dan populer protokol di web adalah HyperText Transfer Protocol (HTTP). Hypertext dokumen berisi link yang menghubungkan ke dokumen lain atau file. Pengguna dapat mengaktifkan link (melalui klik tombol mouse, misalnya) dan target dokumen kemudian akan ditransfer ke mesin klien dan jika itu adalah halaman web, akan ditampilkan dalam browser.
Konsep Pemrograman Web Pemrograman web: membuat aplikasi berbasis web Aplikasi berbasis web: Aplikasi yang dibuat dengan memanfaatkan mekanisme dan aplikasi yang sudah ada pada sistem web (WWW) Sistem web sebenarnya merupakan aplikasi yang: Berarsitektur client-server Software web browser di sisi client Software web server di sisi server Menggunakan protokol HTTP dalam komunikasi antara client dan server Mempunyai fungsi utk mengambil/menjalankan isi file dokumen web di server &menampilkannya di sisi client
Membuat aplikasi berbasis web berarti: Memperkaya fungsi web server dengan cara menambahkan program pada dokumen web yang akan dieksekusi oleh server ketika file dokumen web tersebut diakses oleh web server Misalnya, program yang mengambil data ke basis data untuk ditampilkan ke web browser Memperkaya interaktivitas dokumen dengan cara menambahkan program pada dokumen web yang akan dieksekusi oleh web browser ketika file dokumen tersebut ditampilkan oleh web browser Misalnya, program yang memvalidasi data masukan pada form sebelum disubmit ke web server
Yang perlu dipelajari untuk membuat aplikasi berbasis web Di sisi client: Sintaks pembuatan dokumen web (HTML & CSS) Client side scripting (JavaScript) •Di sisi server Mekanisme pemanggilan program dan pengambilan output program oleh web server (CGI) Server side scripting (PHP, JSP, ASP, dll. Untuk contoh: PHP) Penghubung Sintaks pengalamatan dokumen web (URL) Protokol komunikasi (HTTP)
Mekanisme CGI (Common Gateway Interface) Jika dokumen web yang diminta oleh web browser merupakan file program atau file HTML yang disisipi program, maka web server akan menjalankan (run) file tersebut dengan bantuan interpreter atau sistem operasi Informasi yang diberikan oleh web server kepada program: Server variables : berbagai informasi yang ada pada HTTP requestyang sedang diterima, nama dan path file program, kapabilitas web server, dll Environment variables : informasi yang telah diset (mungkin oleh aplikasi lain) pada lingkungan sistem operasi Cookie : isi cookie yang disimpan di web browser Request parameter : input dari user yang dikirimkan bersamaan dengan HTTP requestoleh web browser Hasil output program ke standard output(screen) akan diambil oleh web server untuk dikirimkan kepada web browser sebagai HTTP response
Informasi yang diberikan oleh web server kepada program Server variables : berbagai informasi yang ada pada HTTP requestyang sedang diterima, nama dan path file program, kapabilitas web server, dll Environment variables : informasi yang telah diset (mungkin oleh aplikasi lain) pada lingkungan sistem operasi Cookie : isi cookie yang disimpan di web browser Request parameter : input dari user yang dikirimkan bersamaan dengan HTTP requestoleh web browser
Server variables diletakkan pada predefined variable $_SERVER •$_SERVER[“PHP_SELF”] = path dan nama file yang sedang dieksekusi •$_SERVER[“SERVER_NAME”] = nama host/server •$_SERVER[“REQUEST_METHOD”] = jenis metode request •$_SERVER[“HTTP_USER_AGENT”] = identitas web browser yang melakukan request •$_SERVER[“REMOTE_ADDR”] = nomor IP user •dll
Environment variables diletakkan pada predefined variable $_ENV Contoh $_ENV[“HOSTNAME”] $_ENV[“COMPUTERNAME”]
Cookie isi cookie yang disimpan di web browser setcookie(name, value, expire, path, domain); Contoh : <?php $expire=time()+60*60*24*30; setcookie("user", "Alex Porter", $expire); ?>
Request parameter input dari user yang dikirimkan bersamaan dengan HTTP request oleh web browser, Request parameter diletakkan pada predefined variable Contoh : $_GET, $_POST, $_FILES.
Konsep “task” dalam aplikasi berbasis web Aplikasi mempunyai sejumlah fitur/fungsi yang memungkinkan user untuk melakukan sejumlah task Untuk memenuhi suatu task, dapat digunakan satu atau lebih halaman web sebagai antarmuka Contoh task yang menggunakan satu halaman web: Membaca artikel nomor tertentu Menambahkan entry baru pada guest book
Contoh task yang menggunakan lebih dari satu halaman web: Membeli barang secara online halaman 1: menampilkan daftar barang yang ada untuk dipilih halaman 2: mengisi alamat pengiriman halaman 3: menampilkan informasi transaksi yang baru saja dilakukan Antara halaman web yang satu dengan yang lain harus ada komunikasi mengenai statedari task (misalnya, halaman 3 butuh informasi mengenai barang yang telah dipilih pada halaman 1)
Stateless HTTP
Message Passing via URL
Message Passing via Form
Cookie
Session
PHP PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side. Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. PHP, 'PHP: Hypertext Preprocessor', merupakan bahasa pemrograman web dinamis layaknya ASP, JSP, Perl dan sebagainya. Lalu mengapa harus menggunakan bahasa pemrograman, apa HTML saja tidak cukup ? Ya, tentu saja HTML tidak cukup, salah satunya adalah karena sifat HTML yang statis. HTML hanya berguna untuk desain, saat kita browsing, maka yang kita lihat itu sebenarnya adalah interprestasi dari HTML. Sebagai contoh saat kita menggunakan YahooMail untuk mengirim email, maka tampilan yang dapat kita lihat tersebut merupakan interprestasi dari HTML, sedangkan untuk dapat mengirim email, digunakan bahasa pemrograman web seperti PHP.
Variabel PHP Dalam PHP setiap nama variable diawali tanda dollar ($). Misalnya nama variable a dalam PHP ditulis dengan $a. Jenis suatu variable ditentukan pada saat jalannya program dan tergantung pada konteks yang digunakan. Contoh <?php $a=”5”; $b=”2”; $hasil=$a+$b; echo($hasil); ?>
STRUKTUR KONTROL IF if (syarat) { statement } atau else statement lain
atau: if (syarat pertama) { statement pertama } elseif (syarat kedua) statement kedua } else statement lain
Contoh IF <?php $a=4; $b=9; if ($a>$b){ echo(“a lebih besar dari pada b”); }elseif ($a<$b){ echo(“a lebih kecil b”); }else{ echo(“a sama dengan b”); } ?>
WHILE Bentuk dasar dari statement While adalah sebagai berikut: while (syarat) { statement } Contoh : <?php $a=1; while ($a<10){ echo($a); $a++; } ?>
FOR Cara penulisan statement FOR adalah sebagai berikut: for (ekspresi1; ekspresi2 ; ekspresi3) Statement ekspresi1 menunjukkan nilai awal untuk suatu variable ekspresi2 menunjukkan syarat yang harus terpenuhi untuk menjalankan statemant ekspresi3 menunjukkan pertambahan nilai untuk suatu variable
Contoh <?php for ($a=0;$a<10;$a++) { echo(“Nilai A = ”); echo(“$a”); echo(“<br>”); } ?>
SWITCH Statement SWITCH digunakan untuk membandingkan suatu variable dengan beberapa nilai serta menjalankan statement tertentu jika nilai variable sama dengan nilai yang dibandingkan. Struktur Switch adalah sebagai berikut: switch (variable) case nilai: statement statemant
Contoh <?php $a=2; switch($a) { case 1: echo(“Nilai variable a adalah satu”); break; case 2: echo(“Nilai variable a adalah dua”); case 3: echo(“Nilai variable a adalah tiga”); } ?>
Latihan Nilai Rata-Rata: UTS+TM+UAS/3 Grade: 90- : A 80-89: B 70-79: C Hasil: A-C: Lulus D: Tidak Lulus
Array Array di PHP adalah tipe variabel spesial, karena dengan array kita dapat mengakses sekumpulan nilai dengan menggunakan satu nama variabel. Mekanisme pengaksesan ini diatur dalam bentuk pemetaan (mapping) dari sekumpulan nilai (values) ke sekumpulan kunci (keys) atau indeks. Contoh :
<?php $hacker[1] = "Eric S Raymond"; $hacker[2] = "Richard Stallman"; $hacker[3] = "Bruce Perens"; $hacker[4] = ”Junior Bruce Perens"; for ($k=0;$k<4;$k++) { print"Nama hacker ke $k: $hacker[$k] <br>"; } ?> Jalankakn dan Lihat Hasilny?
Inisialisasi dan modifikasi Array $hacker = array("Eric S Raymond", "Richard Stallman", "Bruce Perens"); $hacker = array ( 0 => "Eric S Raymond", 1 => "Richard Stallman", 3 => "Bruce Perens"); $hacker = array("Eric S Raymond", "Richard Stallman", 3 => "Bruce Perens");
Array Asosiatif $hacker = array( "Pennsylvania" => "Eric S Raymond", "Manhattan" => "Richard Stallman", "Daly City" => "Rasmus Lerdorf", "Berkeley" => "Bruce Perens" ); Tampilkan : foreach ($hacker as $kota=>$nama) { print "$nama tinggal di kota $kota"; }
Multidimensional Array $hacker = array( array( "nama" => "Eric S Raymond", "kota" => "Pennsylvania", "url" => "http://www.tuxedo.org/~esr"), array( "nama" => "Richard Stallman", "kota" => "Manhattan", "url" => "http://www.stallman.org"), array( "nama" => "Bruce Perens", "kota" => "Berkeley", "url" => "http://www.perens.com"), array( "nama" => "Rasmus Lerdorf", "kota" => "Daly City", "url" => "http://lerdorf.com"));
Tampilkan : $pjg_array = count($hacker); for ($k=0;$k<$pjg_array;$k++) { print "<a href=\"{$hacker[$k]['url']}\">", $hacker[$k]['nama'], "</a> tinggal di kota {$hacker[$k]['kota']}"; }
Latihan :
Output
Fungsi Built in PHP Fungsi built in atau sering disebut fungsi internal adalah satu fungsi yang secara default telah disediakan oleh PHP. Dengan fungsi internal ini, kita tidak perlu lagi mendeklarasikan fungsi, karena sudah disediakan dalam support PHP, sehingga kita tinggal menggunakan atau memanggil fungsi tersebut untuk aplikasi penulisan script PHP. Fungsi-fungsi built in atau fungsi internal tersebut antara lain: Contoh : Fungsi Array, Fungsi Class/Object, Fungsi Database, Fungsi Pengolah PDF, Fungsi Pengolah File, Fungsi Pengolah Gambar, Fungsi Matematika, Fungsi String, Fungsi Tanggal dan Waktu, Fungsi Reguler Ekspresi, Fungsi Variabel.
UDF Fungsi yang dibuat sendiri oleh pemrogram. Dapat diletakkan dimana saja dalam script PHP, tapi sebaiknya diletakkan paling atas agar memudahkan dalam proses debugging dalam tahap pembuatan dan pengembangan program. Deklarasi UDF : function namafungsi([parameter]) { Statement; .… {
Fungsi External Daftar fungsi yang belum diaktifkan dalam keseluruhan modul PHP, untuk mengaktifkannya secara otomatis dengan meregistrasikan pada file PHP.INI.
MODULARISASI Modularisasi dalam pemrograman umum dilakukan dan sangat diperlukan untuk mempermudah debugging dan pengembangan program. Modularisasi berarti melakukan pembuatan program berdasarkan modul-modul. Setiap modul dikembangkan untuk tujuan atau fungsi khusus. Modul dibuat secara general (umum). Modul dapat berupa fungsi atau prosedur
Require Statement Require digunakan untuk membaca nilai variable dan fungsi-fungsi dari sebuah file lain. Cara penulisan statement Require adalah: require(namafile); Teknik ini cocok untuk membuat template (pola) yang memudahkan proses pengembangan aplikasi dengan menggunakan pola tampilan. Misal dalam membuat design web yang dilakukan dengan kerja tim, pola dan gambar-gambar yang dibutuhkan dapat dibuat dengan teknik ini. Statement Require ini tidak dapat dimasukkan diadalam suatu struktur looping misalnya while atau for. Karena hanya memperbolehkan pemangggilan file yang sama tersebut hanya sekali saja.
Include Statement Include akan menyertakan isi suatu file tertentu. Include dapat diletakkan di dalam suatu looping misalkan dalam statement for atau while. Syntak penulisan : include (namafile);
Latihan-latihan… Kerjakan latihan-latihan di bawah simpan dalam folder latihan.
Menampilkan Array dengan foreach <?php $anak[0] = "Faruq"; $anak[1] = "Alya"; $anak[2] = "Zahro"; foreach ($anak as $value) { echo "Nama anak : $value"; echo "<br>"; { ?>
Pemakaian Fungsi Built-in : Matematika <?php $a = pow(2,10); //Fungsi perpangkatan $b = sqrt(100); //Fungsi akar $c = ceil(4.25); //Pembulatan keatas $d = floor(4.25); //Pembulatan kebawah echo "2 pangkat 10 = $a <br>"; echo "akar 100 = $b <br>"; echo "ceil(4.25) = $c <br>"; echo "floor(4.25) = $d <br>"; ?>
Pemakaian Fungsi Built-in : Date & Time <?php $skr = date("d/m/Y"); echo "Sekarang adalah $skr <br>"; $waktu = date("h:i:s A"); //A menunjukkan AM atau PM echo "Jam menunjukkan pukul : $waktu"; ?>
Pemakaian Fungsi Built-in : String <?php $str = "Belajar PHP ternyata Menyenangkan"; echo strtolower($str); //Ubah huruf ke kecil semua echo "<br>"; echo strtoupper($str); //Ubah huruf ke besar semua echo str_replace("Menyenangkan","mudah lho",$str); //Mengganti string ?>
Pemakaian Fungsi UDF : Tanpa Nilai Balik <?php function psgpjg ($pjg, $lbr) { $luas = $pjg * $lbr; echo "$luas <br>"; { $bil1 = 5; $bil2 = 3; echo "Luas persegi panjang dengan pjg 5 dan lebar 3 ="; psgpjg($bil1,$bil2); ?>
Pemakaian Fungsi UDF : Berisi Nilai Balik -> menggunakan return <?php function psgpjg ($pjg, $lbr) { $luas = $pjg * $lbr; return $luas; { $bil1 = 5; $bil2 = 3; echo "Luas persegi panjang dengan pjg 5 dan lebar 3 ="; echo psgpjg($bil1,$bil2); ?>
Pemakaian Fungsi : Tanpa nilai parameter <?php function garis() { echo "<hr>"; { echo "Ini contoh fungsi yang tanpa parameter <br>"; garis(); echo "Lihat perbedaan dengan fungsi yang dengan parameter <br>"; ?>
Modularisasi menggunakan require Simpan file berikut dengan nama : contoh_require.php <?php $a="Saya sedang belajar PHP"; function tulistebal($teks) } echo "<b>$teks</b>"; { <?
Buat file untuk memanggil file php diatas. < Buat file untuk memanggil file php diatas. <?php require("contoh_require.php"); //Akan dipanggil 1x saja //dalam file php ini tulistebal("Ini adalah tulisan tebal"); echo "<br>"; echo $a; //Mengambil nilai dari require <?
Modularisasi menggunakan include Simpan file berikut dengan nama : contoh_include.php <?php echo("--------------------------------------<br>"); echo("Lab. Komunikasi Digital PENS ITS <br>"); echo("<br>"); ?>
Buat file untuk memanggil file diatas : < Buat file untuk memanggil file diatas : <?php for ($b=1; $b<5; $b++) } include("contoh_include.php"); //Include bisa dipanggil lbh dari 1x { <?
http://dinus.net/~masaboe/array.php
Bersambung ke : PHP MySQL...