590 likes | 891 Views
Web Programming. masaboe. Arsitektur Client Server.
E N D
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 requestoleh 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 taskyang 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)
PHP • PHP adalahbahasa scripting yang menyatudengan HTML dandijalankanpadaserver side. Artinyasemuasintaks yang kitaberikanakansepenuhnyadijalankanpada server sedangkan yang dikirimkanke browser hanyahasilnyasaja. • PHP, 'PHP: Hypertext Preprocessor', merupakanbahasapemrograman web dinamislayaknya ASP, JSP, Perl dansebagainya. Lalumengapaharusmenggunakanbahasapemrograman, apa HTML sajatidakcukup ? Ya, tentusaja HTML tidakcukup, salahsatunyaadalahkarenasifat HTML yang statis. HTML hanyabergunauntukdesain, saatkita browsing, maka yang kitalihatitusebenarnyaadalahinterprestasidari HTML. SebagaicontohsaatkitamenggunakanYahooMailuntukmengirim email, makatampilan yang dapatkitalihattersebutmerupakaninterprestasidari HTML, sedangkanuntukdapatmengirim email, digunakanbahasapemrograman web seperti PHP.
Variabel PHP • Dalam PHP setiapnama variable diawalitanda dollar ($). Misalnyanama variable a dalam PHP ditulisdengan$a. Jenissuatu variable ditentukanpadasaatjalannyaprogram dantergantungpadakonteks yang digunakan. Contoh <?php $a=”5”; $b=”2”; $hasil=$a+$b; echo($hasil); ?>
STRUKTUR KONTROL • IF if (syarat) { statement } atau if (syarat) { statement } else { statement lain }
atau: if (syaratpertama) { statement pertama } elseif (syaratkedua) { statement kedua } else { statement lain }
Contoh IF <?php $a=4; $b=9; if ($a>$b){ echo(“a lebihbesardaripada b”); }elseif ($a<$b){ echo(“a lebihkecil b”); }else{ echo(“a sama dengan b”); } ?>
WHILE Bentukdasardari statement While adalahsebagaiberikut: 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 digunakanuntukmembandingkansuatu variable denganbeberapanilaisertamenjalankan statement tertentujikanilai variable samadengannilai yang dibandingkan. • Struktur Switch adalahsebagaiberikut: switch (variable) case nilai: statement case nilai: statemant case nilai: statement
Contoh <?php $a=2; switch($a) { case 1: echo(“Nilai variable a adalahsatu”); break; case 2: echo(“Nilai variable a adalahdua”); break; case 3: echo(“Nilai variable a adalahtiga”); break; } ?>
Latihan • Nilai Rata-Rata: UTS+TM+UAS/3 • Grade: • 90-: A • 80-89: B • 70-79: C • Hasil: • A-C: Lulus • D: TidakLulus
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" => "RasmusLerdorf", "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']}";}
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; 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 digunakanuntukmembacanilai variable danfungsi-fungsidarisebuah file lain. • Cara penulisan statement Require adalah: require(namafile); • Teknikinicocokuntukmembuat template (pola) yang memudahkanprosespengembanganaplikasidenganmenggunakanpolatampilan. Misaldalammembuat design web yang dilakukandengankerjatim, poladangambar-gambar yang dibutuhkandapatdibuatdenganteknikini. • Statement Require initidakdapatdimasukkandiadalamsuatustruktur looping misalnya while atau for. Karenahanyamemperbolehkanpemangggilan file yang samatersebuthanyasekalisaja.
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 denganforeach <?php $anak[0] = "Faruq"; $anak[1] = "Alya"; $anak[2] = "Zahro"; foreach ($anak as $value) { echo "Nama anak : $value"; echo "<br>"; { ?>
PemakaianFungsi Built-in : Matematika <?php $a = pow(2,10); //Fungsiperpangkatan $b = sqrt(100); //Fungsiakar $c = ceil(4.25); //Pembulatankeatas $d = floor(4.25); //Pembulatankebawah echo "2 pangkat 10 = $a <br>"; echo "akar 100 = $b <br>"; echo "ceil(4.25) = $c <br>"; echo "floor(4.25) = $d <br>"; ?>
PemakaianFungsi 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 "<br>"; echo str_replace("Menyenangkan","mudah lho",$str); //Mengganti string ?>