Monday, December 26, 2016

Bab 1. PHP/MySQL Untuk Programer


Menciptakan Halaman PHP






Menulis Program PHP Pertama

Ini merupakan program PHP paling sederhana. Statemen PHP, echo, merupakan salah satu fungsi PHP yang paling umum digunakan. Fungsi ini dipakai untuk mengirimkan teks (atau nilai variabel atau lainnya) ke penjelajah web (web browser).

Contoh
Menggunakan echo
Cobalah fungsi echo berikut untuk melihat hasilnya.
1.     Masukkan program berikut dalam editor teks favorit Anda (Notepad, Simple Text, Notepad++, atau lainnya), dan simpan dengan nama programpertama.php.

<html>
  <head>
    <title> Program PHP Paling Sederhana </title>
  </head>
  <body>
<?php
echo "Saya, adalah sahabat Anda.";
?>
  </body>
</html>

2.    Buka program ini menggunakan browser Anda. Di layar, akan ditampilkan seperti ini:



3.    Sekarang buka kode HTML kembali, sehingga Anda dapat melihat apa yang terjadi dengan potongan kode PHP. Seperti yang dapat Anda lihat, potongan kode PHP telah hilang, seperti tampak berikut:



4.    Sekarang, tambahkan baris yang disoroti berikut, sehingga Anda dapat mengamati bagaimana kode PHP Anda bekerja.

<html>
  <head>
    <title> Program PHP Paling Sederhana </title>
  </head>
  <body>
<?php
echo "Saya, adalah sahabat Anda.";
echo 'Dan kita akan belajar hari Ju\'mat.';
?>
  </body>
</html>




Menggunakan HTML Untuk Memperkaya Halaman Web
Seperti Anda perhatikan pada contoh sebelumnya, penggunaan kode PHP untuk menampilkan teks menghasilkan halaman yang tampak kaku. Anda dapat membuatnya lebih profesional dengan menambahkan beberapa kode HTML. HTML disisipkan di dalam blok PHP Anda menggunakan statemen echo.

Contoh
Menggunakan HTML di dalam blok PHP
1.     Modifikasilah baris-baris yang disoroti pada programpertama.php:

<html>
  <head>
    <title> Program PHP Paling Sederhana </title>
  </head>
  <body>
<?php
echo "<h1>Saya, adalah sahabat Anda. </h1>";
echo '<h2>Dan kita akan belajar hari Ju\'mat. </h2>';
?>
  </body>
</html>

2.    Simpanlah file Anda, dan tampilkan kembali pada browser. Layar Anda akan tampak menjadi seperti berikut:




Menggunakan Konstanta
Anda dapat mendefinisikan sebuah nilai yang akan ditugaskan kepada suatu konstanta menggunakan fungsi PHP define(). Begitu Anda mendefinisikan sebuah konstanta, kontanta tersebut tidak dapat diubah.

Contoh
Menggunakan konstanta

1.     Buka editor teks Anda, dan ketikkan program berikut:

<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
define ('FILMFAV', 'Maleficient');
echo 'Film Favorit saya adalah ';
echo FILMFAV;
?>
  </body>
</html>

2.    Simpan file ini dengan nama situsfilm.php, dan buka dengan browser. Anda akan melihat tampilan berikut:




Menggunakan Variabel
Variabel dinotasikan dengan tanda dollar ($) dan bersifat case-sensitive (dengan kata lain, $datasatu dan $Datasatu diperlakukan sebagai variabel yang berbeda). Huruf pertama dalam variabel haruslah tanda garis-bawah (underscore) atau huruf, dan tidak bisa berupa angka.

Contoh
Menggunakan variabel
1.     Bukalah editor teks Anda, dan lakukan beberapa perubahan pada file situsfilm.php (ditandai dengan sorotan) berikut:

<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
define ('FILMFAV', 'Maleficient');
echo 'Film Favorit saya adalah ';
echo FILMFAV;
echo '<br/>';
$ratingfilm = 5;
echo 'Rating yang saya berikut untuk film ini adalah: ';
echo $ratingfilm;
?>
  </body>
</html>
2.    Simpan file tersebut dan akses lewat browser Anda. Pada layar, akan ditampilkan berikut:




Contoh lain penggunaan variabel diberikan oleh kode berikut:

<?php
$ratingfilmku = 5;
$ratingfilmmu= 7;
$ratingfilmnya = 2;
$ratingfilmdia = 1;
$reratarating = (($ratingfilmku + $ratingfilmmu + $ratingfilmnya
                + $ratingfilmdia) / 4);
echo ‘Rerata rating film untuk film ini adalah: ‘;
echo $reratarating;
?>

PHP juga memiliki sejumlah fungsi pustaka (built-in) yang bisa dipakai untuk variabel, seperti:
D        rand($min, $max): Menghasilkan sebuah angka acak.
D        ceil($value): Menghasilkan integer terdekat dengan melakukan pembulatan ke atas.
D        floor($value): Menghasilkan integer terdekat dengan melakukan pembulatan ke bawah.


Melewatkan Variabel Antar Halaman Web
Metode pertama dalam melewatkan variabel antar halaman adalah melalui URL halaman. Anda tentu telah melihat URL semacam ini:

http://www.domainku.com/berita/artikel/politik.php?id=12345

Ini merupakan sebuah contoh pelewatan variabel melalui URL. Hal ini menandakan bahwa artikel dnegan nomor ID “12345” dipilih untuk program politik.php. Teks yang berada setelah URL dinamakan dnegan query string.

Anda dapat pula menggabungkan beberapa variabel di dalam suatu URL menggunakan operator ampersand (&), seperti pada contoh berikut:

http://www.domainku.com/berita/artikel/politik.php?id=12345&lang=en

Ini akan meminta file dengan ID “12345” dan bahasa (language) yang diminta sama dengan “en” untuk english.

Ada beberapa kekurangan dalam melakukan pelewatan variabel melalui sebuah URL:
D        Setiap pihak dapat melihat nilai-nilai variabel, sehingga informasi sensitif menjadi tidak aman.
D        Pengguna dapat mengubah nilai variabel dalam URL dan mencoba beberapa kombinasi. Hal ini menyebabkan situs web Anda berpotensi untuk digunakan untuk kepentingan lain.
D        Pengguna juga bisa mengambil informasi lama menggunakan URL dengan variabel-variabel yang tertanam di dalamnya.

Contoh
Menggunakan variabel URL
1.     Modifikasilah file situsfilm.php Anda sebagai berikut (perubahan ditandai dengan sorotan):

<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
//hapus baris ini define ('FILMFAV', 'Maleficient');
echo 'Film Favorit saya adalah ';
echo $_GET['filmfav'];
echo '<br/>';
$ratingfilm = 5;
echo 'Rating yang saya berikut untuk film ini adalah: ';
echo $ratingfilm;
?>
  </body>
</html>

2.    Simpan file situsfilm.php Anda, dan buka suatu dokumen baru pada editor teks.
3.    Ketikkan kode berikut:

<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php
echo '<a href="situsfilm.php?filmfav=Maleficient">';
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  </body>
</html>

4.    Simpan file ini dengan namafilm1.php, dan buka file tersebut dengan browser. Pada layar Anda, akan ditampilkan berikut:



5.    Sekarang klik link tersebut dan amati apa yang terjadi.




Karakter Spesial dalam URL
Pelewatan variabel melalui sebuah URL memiliki situasi khusus jika terdapat spasi, ampersand, atau karakter spesial lain pada nilai variabel. Untungnya, terdapat fungsi khusus untuk mempertahankan integritas nilai variabel. Fungsi tersebut adalah urlencode() untuk digunakan ketika pelewatan nilai variabel melalui sebuah URL. Jika Anda ingin mengubah film favorit Anda dari “Maleficient” menjadi “Fast and Furious”, maka Anda akan menggunakan urlencode() untuk mengkodekan nilai dan menyisipkan karakter spesial HTML yang tepat. Untuk mencobanya, lakukan langkah-langkah berikut:

1.     Lakukan beberapa perubahan pada file film1.php seperti terlihat pada baris-baris tersorot:

<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php
//tambahkan baris ini:
$filmfavku = urlencode('Fast and Furious');

//ubah baris ini:
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  </body>
</html>

2.    Simpan file tersebut, dan buka kembali dengan browser Anda. Sekarang klik link untuk menampilkan halaman seperti ditampilkan berikut:




Melewatkan Variabel dengan Sesi
Sesi pada dasarnya merupakan sekelompok variabel temporer yang eksistensinya dipertahankan sampai browser ditutup. Informasi sesi mencakup ID sesi dan mencakup informasi apakah pengguna yang memiliki otorisasi log in ke situs atau tidak. Informasi ini disimpan secara temporer untuk program PHP Anda ketika Anda ingin menengok ke belakang.

Setiap sesi ditugasi sebuah ID sesi yang unik, yang mengikat informasi secara bersama-sama. ID sesi Anda dapat dilewatkan melalui URL atau melalui penggunaan cookie. Meskipun, dengan alasan keamanan, direkomendasikan agar melewatan ID sesi melalui sebuah cookie sehingga tersembunyi dari mata manusia, jika cookie tidak diaktifkan, maka metode pendukung yang bisa dilakukan adalah melalui URL.

Pengaturan ini ditentukan dalam file php.ini. Jika Anda ingin memaksa pengguna untuk melewatkan variabel melalui cookie, maka Anda perlu menetapkan baris berikut:

session.use_only_cookies = 1

Selain itu, Anda perlu memastikan sebelum menggunakan sesi bahwa php.ini telah dimodifikasi untuk menunjukkan path yang valid untuk session.save_path.

Selanjutnya, yang perlu Anda lakukan untuk memulai sebuah sesi dalam PHP adalah memanggil fungsi session_start(). Tetapi pertama-tama, Anda perlu memutuskan informasi apa yang akan disimpan dalam sesi Anda. Segala sesuatu yang telah disimpan dalam database dapat diambil/dibaca dan disimpan secara temporer bersama dengan informasi sesi Anda. Biasanya, informasi tersebut berupa nama pengguna dan informasi login. Pengenal sesi dapat pula disimpan di dalam array variabel.

Contoh
Melewatkan nama pengunjung web

Ikuti langkah-langkah berikut:
1.     Ubahlah file film1.php untuk mencantumkan baris-baris tersorot berikut:

<?php
session_start();
$_SESSION['username'] = 'rismon12345';
$_SESSION['authuser'] = 1;
?>

<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  </body>
</html>

2.    Simpan file film1.php Anda.
3.    Buka file situsfilm.php untuk melakukan beberapa perubahan pada baris-baris tersorot berikut:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>

<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
echo 'Selamat datang ke situs kami, ';
echo $_SESSION['username'];
echo '! <br/>';
echo 'Film Favorit saya adalah ';
echo $_GET['filmfav'];
echo '<br/>';
$ratingfilm = 5;
echo 'Rating yang saya berikut untuk film ini adalah: ';
echo $ratingfilm;
?>
  </body>
</html>

4.    Klik link pada film1.php, dan Anda akan melihat teks untuk situsfilm.php seperti ditampilkan berikut:




Melewatkan Variabel dengan Cookie
Cookie merupakan beberapa bit informasi yang disimpan pada komputer dari pengunjung situs web Anda. Memang ada kekhawatiran tentang penggunaan cookie. Dalam teori, cookie dapat dipakai untuk mendapatkan informasi seperti alamat IP dan sistem operasi seseorang, tetapi cookie utamanya digunakan hanya untuk menyimpan informasi. Beberapa perusahaan periklanan online telah mengembangkan teknologi untuk menggunakan cookie dalam menjejak kebiasaan penjelajahan browser Anda, dan banyak orang memandang hal ini sebagai serangan terhadap privasi, jadi cukup banyak orang memilih untuk tidak mengaktifkan fitur ini pada web browser mereka. Selain itu, karena cookie disimpan pada sebuah direktori bernama, seseorang dengan akses ke komputer orang lain (baik melalui mekanisme hack atau melalui hubungan fisikal langsung) dapat membuka file-file cookie dan informasi seputar pemiliki komputer tersebut. Oleh karena itu, bukanlah ide yang baik untuk menyimpan informasi pribadi pada sebuah komputer.

Karena pengunjung situs Anda bisa saja menon-aktifkan atau secara sengaja menghapus file-file cookie dari komputernya, mengandalkan informasi cookie bukanlah ide yang terbaik dalam sudut pandang pengembangan web.

Jadi mengapa pengembang web menggunakan cookie? Keuntungan dalam menyimpan informasi pada cookie jauh lebih banyak daripada penggunaan sesi. Sesi sendiri tidak dapat mempertahankan informasi melebihi panjang waktu jendela browser dibuka.

Begitu jendela browser ditutup, sesi akan kehilangan semua informasi yang dikandungnya. Cookie, di sisi lain, dapat berada di dalam komputer seseorang sesuai dengan pengaturan yang dilakukan oleh pengembang. Dengan menggunakan cookie, pengguna tidak perlu mengetik-ulang informasi yang diperlukan untuk mengunjungi situs Anda.

Disebutkan sebelumnya bahwa sesi sendiri tidak dapat menyimpan informasi untuk waktu yang lama. Namun, Anda dapat mengubah keterbatasan ini jika Anda menggunakan sesi bersamaan dengan cookie. Jika sesi Anda melewatkan variabel menggunakan cookie, maka Anda dapat menetapkan rentang hidup cookie tersebut menjadi lebih lama dari rentang hidup browser, menggunakan konfigurasi session.cookie_lifetime pada file php.ini Anda.

Untuk mengatur sebuah cookie, Anda dapat menggunakan fungsi setcookie(). Dengan mengatur sebuah cookie, Anda dapat menentukan informasi berikut:
D        Nama cookie.
D        Nilai cookie (seperti nama pengguna).
D        Waktu dalam satuan detik untuk menentukan kapan rentang hidup cookie berakhir. (Waktu ini didasarkan pada UNIX timestamp, tetapi Anda dapat menetapkannya menggunakan sintaks time()+60*60*24*365, yang menetapkan rentang hidup cookie selama setahun. Informasi ini bersifat opsional, bila tidak diatur, rentang hidup cookie berakhir ketika jendela browser ditutup).
D        Path (direktori dimana cookie akan disimpan). Ini juga bersifat opsional.
D        Domain (domain yang dapat mengakses cookie ini). Ini juga bersifat opsional.
D        Bendere untuk menentukan apakah sebuah cookie perlu memiliki koneksi HTTPS yang aman atau tidak (nilai default adalah 0; untuk mengaktifkan fitur ini, ditetapkan nilai 1).

Anda dapat menetapkan setiap pengaturan ini sebagai berikut:

setcookie ($name[, $value[, $expire[, $path[, $domain[, $secure]]]]])

Contoh
Mengatur Cookie
Pada latihan ini, Anda akan memiliki sebuah situs web yang mengatur komputer rismon sehingga ia tidak perlu lagi mengetikkan namanya (rismon12345) setiap kali ia mengunjungi situs web tersebut. Untuk melakukannya, ikuti langkah-langkah berikut:
1.     Modifikasilah file film1.php Anda seperti ditunjukkan berikut:

<?php
setcookie('username', 'Rismon', time() + 60);
session_start();
//hapus baris ini: $_SESSION['username'] = 'rismon12345';
$_SESSION['authuser'] = 1;
?>

<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  </body>
</html>

2.    Simpan file tersebut.
3.    Lakukan perubahan pada file situsfilm.php Anda:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>
<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
echo 'Selamat datang ke situs kami, ';
echo $_COOKIE['username'];
echo '! <br/>';
echo 'Film Favorit saya adalah ';
echo $_GET['filmfav'];
echo '<br/>';
$ratingfilm = 5;
echo 'Rating yang saya berikut untuk film ini adalah: ';
echo $ratingfilm;
?>
  </body>
</html>

4.    Simpan file tersebut.
5.    Tutup jendela browser Anda dan buka jendela browser yang baru (untuk mengantisipasi bila Anda memiliki informasi sesi lain dari contoh sebelumnya). Kemudian buka file film1.php. Klik link dan layar Anda akan menampilkan berikut:




Melewatkan Informasi dengan Form
Form membuat situs web Anda menjadi benar-benar interaktif; form mengambil data dari pengguna dan mengirimkannya ke suatu tempat untuk disimpan, dimanipulasi, dan kemudian hasilnya dikirimkan kembali ke pengguna.

Bila Anda tidak familiar dengan sintaks form, atau jika Anda memerlukan referensi cepat, berikut diberikan diskusi singkat mengenai form. Form dikodekan dalam HTML. Form memuat empat komponen, yaitu:
D        Tag line pembuka: Diindikasikan oleh <form>. Tag line ini  mencakup sebuah atribut action dan sebuah atribut method. Sebuah aksi memberikan form suatu URL atau path ke program lain yang akan mengambil data dalam form. Sebuah metode (GET atau POST) memberitahu form bagaimana data akan dibawa. (POST merupakan metode yang umum digunakan karena lebih aman; metode ini tidak melewatkan informasi dalam URL).

D        Isi form, termasuk bidang-bidang masukan: Bidang masukan merupakan tempat di mana pengguna mengetikkan informasi (atau memilih pada kasus kotak periksa (check box) atau tombol radio (radio button)). Bidang masukan harus memuat atribut type dan name, dan dapat pula memuat atribut lain seperti maxlength. Tipe dari sebuah bidang masukan umumnya adalah:

D        Teks: Digunakan untuk memuat 2 sampai 2000 karakter. Parameter yang dipakai untuk membatasi jumlah karakter yang bisa diterima pada sebuah bidang masukan adalah maxlength. Untuk memuat jumlah karakter yang lebih besar, Anda bisa menggunakan bidang masukan textarea menggantikan text.

D        Kotak periksa (Check box): Dipakai agar pengguna dapat membuat satu atau lebih pilihan dari sejumlah pilihan yang ada. Pilihan diindikasikan dengan atribut value.

D        Tombol radio (radio button): Dipakai agar pengguna dari memilih dari suatu daftar pilihan, tetapi hanya dibolehkan satu pilihan. Pilihan diindikasikan dengan atribut value.

D        Seleksi: Juga dikenal dengan drop-down box. Dipakai agar pengguna dari memilih dari suatu daftar pilihan.  Pilihan diindikasikan dengan pasangan option/value.

D        Password: Menyembunyikan yang diketikkan oleh pengguna di balik karakter-karakter asterisk.
D        Beberapa tombol yang dibuat oleh pengguna: Tombol-tombol tersebut biasanya dinamai dengan submit atau reset atau lainnya.
D        Tag line penutup: Diindikasikan dengan tag </form>.

Contoh
Menggunakan form untuk mendapatkan informasi

Karena program Anda secara lambat laun membesar (memanjang), untuk latihan ini, penulis merekomendasikan agar Anda menggunakan editor teks yang memiliki nomor baris pada dokumen Anda. Hal ini semata-mata untuk memudahkan Anda dalam mengidentifikasi perubahan pada kode yang diberikan.
1.     Buka file film1.php dan lakukan beberapa perubahan berikut:

<?php
//hapus baris ini: setcookie('username', 'Rismon', time() + 60);
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;

//memeriksa informasi username dan password
if (($_SESSION['username'] == 'Rismon') and
   ($_SESSION['userpass'] == '12345')) {
    $_SESSION['authuser'] = 1;
} else {
    echo 'Maaf, Anda tidak diijinkan untuk membaca halaman ini';
    exit();
}
?>
<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  </body>
</html>

2.    Sekarang lakukan beberapa perubahan pada file situsfilm.php berikut:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>
<html>
  <head>
      <title> Situs Film Favorit </title>
  </head>
  <body>
<?php
echo 'Selamat datang ke situs kami, ';
//hapus baris ini: echo $_COOKIE['username'];
echo $_SESSION['username'];
echo '! <br/>';
echo 'Film Favorit saya adalah ';
echo $_GET['filmfav'];
echo '<br/>';
$ratingfilm = 5;
echo 'Rating yang saya berikut untuk film ini adalah: ';
echo $ratingfilm;
?>
  </body>
</html>

3.    Tulis sebuah file baru:

<?php
session_unset();
?>
<html>
  <head>
    <title> Silahkan Log In </title>
  </head>
  <body>
    <form method="post" action="film1.php">
      <p> Masukan username Anda:
        <input type="text" name="user"/>
      </p>
      <p> Masukkan password Anda:
        <input type="password" name="pass"/>
      </p>
      <p>
        <input type="submit"” name="submit" value="Submit"/>
      </p>
    </form>
  </body>
</html>

4.    Simpan file ini dengan nama login.php.
5.    Buka file tersebut pada jendela browser Anda. Layar Anda akan menampilkan berikut:




6.    Log in dengan username Rismon dan password 12345. Layar Anda akan menampilkan berikut:


7.    Jika username atau password salah, maka layar Anda akan menampilkan berikut:




Menggunakan if/else
Anda telah melihat bagaimana menugaskan pelbagai nilai kepada variabel. Pada titik tertentu pada skript Anda, Anda perlu melakukan aksi tertentu berdasarkan nilai dari sebuah variabel. Sebagai contoh, perhatikan variabel $password. Jika pengguna memberikan password yang tepat, maka Anda memberikannya akses ke situs. Jika sebaliknya pengguna memberikan password yang salah, maka Anda akan memintanya untuk mencoba lagi atau tidak memberikannya ijin sama sekali. Anda dapat menggunakan statemen if untuk menentukan aksi yang akan diambil skript Anda berdasarkan nilai dari suatu variabel. Dan jika Anda menambahkan statemen else pada suatu if, Anda akan membuka peluang untuk terjadinya aksi lain.


Menggunakan Statemen if
Sintaks untuk statemen if adalah sebagai berikut:

if(kondisi) aksi yang akan diambil jika kondisi bernilai true;

Seperti pada contoh:

if($pasarsaham > 10000) echo ‘Horeee! Ekonomi membaik!’;

Jika aksi yang akan dilakukan lebih panjang dari suatu statemen sederhana, maka Anda perlu menggunakan kurung kurawal ({ dan }) untuk mengapit aksi tersebut:

if($pasarsaham > 10000) {
    echo ‘Horeee! Ekonomi membaik!’;
    $perasaan = ‘bahagia’;
    $pensiun = ‘semakin besar’;
}

Operator
Operator-operator yang dipakai untuk membandingkan dua nilai sama dengan yang digunakan pada matematika dasar. Berikut diberikan operator-operator yang dipakai pada PHP:

Operator
Sintaks
Sama dengan
==
Tidak sama dengan
!= atau <>
Lebih besar dari
> 
Lebih kecil dari
< 
Lebih besar atau sama dengan
>=
Lebih kecil atau sama dengan
<=
Sama dengan, kecocokan tipe data AND (kedua operand integer atau kedua operand string)
===
Tidak sama dengan, ketidak-cocok-an tipe data OR
!==

Contoh
Menggunakan if
1.     Bukalah editor teks Anda, dan ketikkan program berikut:

<html>
  <head>
    <title> Berapa banyak hari pada bulan ini? </title>
  </head>
  <body>
<?php
date_default_timezone_set('Singapore');
$bulan = date('n');
if ($bulan == 1) { echo '31'; }
if ($bulan == 2) { echo '28 (Kecuali jika tahun leap)'; }
if ($bulan == 3) { echo '31'; }
if ($bulan == 4) { echo '30'; }
if ($bulan == 5) { echo '31'; }
if ($bulan == 6) { echo '30'; }
if ($bulan == 7) { echo '31'; }
if ($bulan == 8) { echo '31'; }
if ($bulan == 9) { echo '30'; }
if ($bulan == 10) { echo '31'; }
if ($bulan == 11) { echo '30'; }
if ($bulan == 12) { echo '31'; }
?>
  </body>
</html>

2.    Simpan file tersebut dengan nama tanggal.php. Anda kemudian menjalankannya pada browser untuk mendapatkan tampilan berikut:



Contoh
Menggunakan if/else
1.     Bukalah editor teks Anda, dan ketikkan program berikut:

<html>
  <head>
    <title> Apakah tahun ini tahun leap? </title>
  </head>
  <body>
<?php
date_default_timezone_set('Singapore');
$tahunleap = date('L');
if ($tahunleap == 1) {
    echo 'Horee...! Ini merupakan tahun leap';
}
else {
    echo 'Maaf, ini bukan tahun leap.';
}
?>
  </body>
</html>

2.    Simpan file tersebut dengan nama tahunleap.php. Anda kemudian menjalankannya pada browser untuk mendapatkan tampilan berikut:



Menggunakan include untuk Menjadikan Kode Efisien
Apakah Anda bosan mengetikkan hal yang sama berulang-ulang? Pembuat PHP telah menyediakan fungsi include agar Anda terhindar dari kebosanan ini.

Contoh
Menambahkan pesan selamat datang
1.     Buka editor teks Anda, dan ketikkan kode berikut:

<div style="text-align: center">
  <p> Selamat datang ke situs kami! <br/>
<?php
date_default_timezone_set('Singapore');
echo 'Hari ini ';
echo date('F d');
echo ', ';
echo date('Y');
?>
<br/>
</div>

2.    Simpan file ini dengan nama header.php.
3.    Untuk menyertakan file ini dalam ketiga file situs web film, tambahkan baris berikut, tepat setelah tag <body>, pada  file login.php, film1.php, dan situsfilm.php:

<?php include 'header.php'; ?>

4.    Simpan semua file tersebut.
5.    Jika Anda membuka file login.php, Anda akan melihat layar seperti berikut:




Menggunakan Fungsi untuk Menjadikan Kode Efisien
Sama seperti include, fungsi juga dapat menjadikan kode Anda lebih efisien dan lebih mudah didebug. Fungsi adalah blok kode yang dapat dipanggil di sembarang tempat di dalam program Anda. Fungsi memampukan Anda untuk mengeksekusi baris-baris kode tanpa perlu mengetik-ulangnya setiap kali Anda menggunakannya. Fungsi dapat dipakai untuk menetapkan dan memperbarui nilai variabel. Anda juga dapat memakai fungsi untuk dieksekusi bila kriteria tertentu terpenuhi.

Contoh
Bekerja dengan fungsi
1.     Buka file film1.php Anda, dan modifikasilah seperti ditunjukkan pada teks yang disorot berikut:

<?php
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;

//memeriksa informasi username dan password
if (($_SESSION['username'] == 'Rismon') and
   ($_SESSION['userpass'] == '12345')) {
    $_SESSION['authuser'] = 1;
} else {
    echo 'Maaf, Anda tidak diijinkan untuk membaca halaman ini';
    exit();
}
?>
<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  <br/>
  <a href="situsfilm.php?jumlahfilm=5"> Klik di sini untuk melihat 5 film terbaik. </a>
  <br/>
  <a href="situsfilm.php?jumlahfilm=10"> Klik di sini untuk melihat 10 film terbaik. </a>
  </body>
</html>

2.    Sekarang, modifikasilah file situsfilm.php seperti ditunjukkan berikut:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>
<html>
  <head>
    <title>
<?php
if (isset($_GET['filmfav'])) {
  echo ' - ';
  echo $_GET['filmfav'];
}
?>
    </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
function daftarfilm_1() {
    echo '1. Maleficient <br/>';
    echo '2. Fast and Furious <br/>';
    echo '3. The Holy Grail <br/>';
    echo '4. Die Hard <br/>';
    echo '5. Matrix <br/>';
}

function daftarfilm_2() {
    echo '6. Terminator 2 <br/>';
    echo '7. Star Trek <br/>';
    echo '8. Battle Ship <br/>';
    echo '9. Godfather <br/>';
    echo '10. Mummy <br/>';
}

if (isset($_GET['filmfav'])) {
    echo 'Selamat datang ke situs kami, ';
    echo $_SESSION['username'];
    echo '! <br/>';
    echo 'Film Favorit saya adalah ';
    echo $_GET['filmfav'];
    echo '<br/>';
    $ratingfilm = 5;
    echo 'Rating yang saya berikut untuk film ini adalah: ';
    echo $ratingfilm;
}
else {
   echo 'Daftar ';
    echo $_GET['jumlahfilm'];
    echo ' film terbaikku adalah: ';
    echo ' <br/>';

   daftarfilm_1();
    if ($_GET['jumlahfilm'] == 10) {
        daftarfilm_2();
    }
}
?>
  </body>
</html>

3.    Sekarang, Anda perlu mengisi form pada file login.php sebelum Anda bisa melihat perubahan yang ada. Anda kemudian log in sebagai Rismon dan menggunakan password 12345. File film1.php Anda akan tampak sebagai berikut:


4.    Anda bisa mengklik link 5 film terbaik. Layar Anda akan menampilkan berikut:


5.    Anda bisa mengklik link 10 film terbaik. Layar Anda akan menampilkan berikut:



Tentang Array
Anda telah belajar tentang variabel dan bagaimana ia digunakan, tetapi bagaimana jika Anda memerlukan lebih dari satu nilai yang akan ditugaskan pada variabel itu? Hal ini diselesaikan dengan array. Array tidak lain merupakan suatu daftar informasi yang dipetakan dengan kunci-kunci dan disimpan dalam satu nama variabel.

Perhatikan informasi berikut:


Nama Depan
Nama Belakang
Usia
Suami
Albert
Einstein
58
Istri
Mileva
Einstein
54

Jadi, array hanyalah suatu baris informasi, dan kunci-kuncinya merupakan kepala-kepala kolom. Kunci adalah pengenal yang dipakai untuk mengorganisasi informasi dan untuk kemudahan akses.

Dengan array, Anda dapat menyimpan pelbagai informasi yang berelasi dalam satu nama variabel, seperti ini:

<?php
$suami = array(‘namadepan’ => ’Albert’,
               ‘namabelakang’ => ’Einstein’,
               ‘usia’ => ’58’);
echo $suami[‘namadepan’];
?>

Perhatikan bagaimana Anda menggunakan =>, bukan =, untuk menugaskan nilai kepada kunci array. Semua informasi Albert disimpan dalam nama variabel suami. Dengan menggunakan kunci “namadepan”, Anda dapat membaca atau mengetahui nama depannya.

Anda tidak harus menyimpan semua nilai pada saat bersamaan, seperti pada contoh sebelumnya. Anda dapat menugaskan setiap anggota array secara langsung, mengakses kuncinya dengan cara berikut:

<?php
$suami[‘namadepan’] = ‘Albert’;
$suami[‘namabelakang’] = ‘Einstein’;
$suami[‘usia’] = 58;
? >

Hal ini akan memberikan efek yang sama dengan contoh sebelumnya.

Anda juga dapat memiliki array di dalam array (dikenal pula dengan array multidimensi). Pada contoh sebelumnya, Anda memiliki dua orang pada satu tabel. Perhatikan kode berikut:

<?php
$table[1] = array(‘suami’ = > array(‘namadepan’ => ‘Albert’,
                                    ‘namabelakang’ => ‘Einstein’,
                                    ‘usia’ = > 58),
                  ‘istri’ = > array(‘namadepan’ => ‘Mileva’,
                                    ‘namabelakang’ => ‘Einstein’,
                                    ‘usia’ => 54));
?>


Dan jika seseorang bertanya pada Anda, “Hei, siapakah nama kedua orang yang diduduk di satu meja tersebut?” Anda akan dengan mudah menampilkan informasi tersebut dengan beberapa statemen echo sederhana.

<?php
echo $table[1][‘suami’][‘namadepan’];
echo ‘ dan ‘;
echo $table[1][‘istri’][‘namadepan’];
?>

Skript ini akan menghasilkan keluaran “Albert dan Mileva”.

Jika Anda ingin menyimpan suatu daftar informasi dan tidak memedulikan urutan penyimpanannya, maka Anda tidak perlu secara eksplisit memberikan kunci; PHP dapat secara otomatis menugaskan kunci-kunci numerik yang diawali dengan integer 0. Perhatikan kode berikut:

<?php
$rasa[] = ‘mangga’;
$rasa[] = ‘durian’;
$rasa[] = ‘nanas’;
?>

Array ini dapat diakses seperti ini:

<?php
echo $rasa[0]; //menampilkan “mangga”
echo $rasa[1]; //menampilkan “durian”
echo $rasa[2]; //menampilkan “nanas”
?>

Mengurutkan Array
Salah satu pekerjaan yang akan sering Anda lakukan pada array adalah mengurutkan nilai-nilainya. PHP menyediakan banyak fungsi yang mengurutkan nilai-nilai array dengan mudah. Berikut merupakan beberapa fungsi pengurutan array:
D        sort($array): Mengurutkan sebuah array dengan tatanan nilai menaik.
D        rsort($array): Mengurutkan sebuah array dengan tatanan nilai menurun.
D        asort($array): Mengurutkan sebuah array dengan tatanan nilai menaik dengan tetap mempertahankan hubungan kunci/nilai.
D        arsort($array): Mengurutkan sebuah array dengan tatanan nilai menurun dengan tetap mempertahankan hubungan kunci/nilai.

Contoh
Mengurutkan array
Sebelum dilanjutkan, Anda akan melihat bagaimana pengurutan array dilakukan PHP. Ketikkan program berikut pada editor teks Anda, dan simpan dengan nama pengurutan.php.

<?php
$rasa[] = 'mangga';
$rasa[] = 'durian';
$rasa[] = 'nanas';

sort($rasa);
print_r($rasa);
?>

Keluaran akan tampak seperti ini:



Perintah foreach
PHP juga menyediakan perintah foreach yang dapat diterapkan pada setiap nilai dalam sebuah array. Sintaks untuk perintah foreach seperti ini:

<?php
$rasa[] = 'mangga';
$rasa[] = 'durian';
$rasa[] = 'nanas';

echo ‘Rasa favoritku adalah: <br/>’;
foreach ($rasa as $rasaku) {
    //baris kode ini akan dieksekusi sepanjang masih ada nilai dalam $rasa
    echo $rasaku ‘<br/>’;
}
?>

Contoh
Menjumlahkan array
1.     Lakukan beberapa perubahan pada file situsfilm.php berikut:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>
<html>
  <head>
    <title>
<?php
if (isset($_GET['filmfav'])) {
  echo ' - ';
  echo $_GET['filmfav'];
}
?>
    </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
$arrayfilmfav = array('Maleficient',
                      'Fast and Furious',
                      'The Holy Grail',
                      'Die Hard',
                      'Matrix',
                      'Terminator 2',
                      'Star Trek',
                      'Battle Ship',
                      'Godfather',
                      'Mummy');
                                
//hapus baris-baris ini
function daftarfilm_1() {
    echo '1. Maleficient <br/>';
    echo '2. Fast and Furious <br/>';
    echo '3. The Holy Grail <br/>';
    echo '4. Die Hard <br/>';
    echo '5. Matrix <br/>';
}

function daftarfilm_2() {
    echo '6. Terminator 2 <br/>';
    echo '7. Star Trek <br/>';
    echo '8. Battle Ship <br/>';
    echo '9. Godfather <br/>';
    echo '10. Mummy <br/>';
}
//akhir baris-baris yang dihapus

if (isset($_GET['filmfav'])) {
    echo 'Selamat datang ke situs kami, ';
    echo $_SESSION['username'];
    echo '! <br/>';
    echo 'Film Favorit saya adalah ';
    echo $_GET['filmfav'];
    echo '<br/>';
    $ratingfilm = 5;
    echo 'Rating yang saya berikut untuk film ini adalah: ';
    echo $ratingfilm;
}
else {
   echo 'Daftar 10 film terbaikku adalah: <br/>';
  
    if (isset($_GET['sorted'])) {
        sort($arrayfilmfav);
    }
  
   echo '<ol>';
    foreach ($arrayfilmfav as $film) {
        echo '<li>';
        echo $film;
        echo '</li>';
    }
    echo '</ol>';

    //hapus baris-baris ini
    echo 'Daftar ';
    echo $_GET['jumlahfilm'];
    echo ' film terbaikku adalah: ';
    echo ' <br/>';

   daftarfilm_1();
    if ($_GET['jumlahfilm'] == 10) {
        daftarfilm_2();
    }
    //akhir baris yang dihapus
}
?>
  </body>
</html>
2.    Ubahlah file film1.php seperti berikut:

<?php
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;

//memeriksa informasi username dan password
if (($_SESSION['username'] == 'Rismon') and
   ($_SESSION['userpass'] == '12345')) {
    $_SESSION['authuser'] = 1;
} else {
    echo 'Maaf, Anda tidak diijinkan untuk membaca halaman ini';
    exit();
}
?>
<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  <br/>
  <!--hapus baris-baris berikut
  <a href="situsfilm.php?jumlahfilm=5"> Klik di sini untuk melihat 5 film terbaik. </a>
  <br/>
  <a href="situsfilm.php?jumlahfilm=10"> Klik di sini untuk melihat 10 film terbaik. </a>
  akhir baris yang dihapus-->
 
  <a href="situsfilm.php"> Klik di sini untuk melihat 10 film favoritku. </a>
  <br/>
  <a href="situsfilm.php?sorted=true"> Klik di sini untuk
  melihat 10 film favoritku yang terurut secara alfabetik. </a>

  </body>
</html>

3.    Sekarang Anda log in dengan file login.php (dengan nama Rismon dan password 12345), dan ketika Anda mengklik daftar 10 film, Anda akan melihat tampilan berikut:


4.    Ketika Anda mengklik daftar 10 film, Anda akan melihat tampilan berikut:




Perintah while
Berikut merupakan sebuah contoh bagaimana Anda dapat menggunakan perintah while. Kode ini menghitung dari 1 sampai 5 dan menampilkan setiap angka pada baris yang terpisah. Pertama-tama, sebuah variabel $angka ditetapkan menjadi 0. Variabel ini kemudian ditambah 1 setiap kali loop beriterasi. Perintah while memeriksa apakah nilai dari $angka kurang dari 5. Setelah lima kali iterasi, nilai dari $angka adalah 6, sehingga loop berhenti.

<?php
$angka = 0;
while ($angka < 5) {
    $angka = $angka + 1;
    echo $angka;
    echo ‘<br/>’;
}
?>

Kode berikut melakukan hal yang sama, tetapi menggunakan loop do/while. Kode ini bekerja persis sama, kecuali bahwa kondisi diperiksa di akhir loop. Dengan loop while, ada kemungkinan bahwa kondisi bernilai false dan kode di dalam tubuh while tidak pernah dieksekusi. Tetapi dengan pemeriksaan di akhir loop, seperti loop do/while, kode di dalam loop tersebut akan selalui dieksekusi sedikitnya sekali.

<?php
$angka = 0;
do {
    $angka = $angka + 1;
    echo $angka;
    echo ‘<br/> ’;
} while ($angka < 5);
?>

Contoh
Menggunakan fungsi while
1.     Lakukanlah beberapa perubahan pada program film1.php seperti berikut:

<?php
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;

//memeriksa informasi username dan password
if (($_SESSION['username'] == 'Rismon') and
   ($_SESSION['userpass'] == '12345')) {
    $_SESSION['authuser'] = 1;
} else {
    echo 'Maaf, Anda tidak diijinkan untuk membaca halaman ini';
    exit();
}
?>
<html>
  <head>
    <title> Cari Film Favoritku! </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
$filmfavku = urlencode('Fast and Furious');
echo "<a href=\"situsfilm.php?filmfav=$filmfavku\">";
echo 'Klik di sini untuk melihat informasi film favoritku!';
echo '</a>';
?>
  <br/>
  <!-- hapus baris-baris berikut
  <a href="situsfilm.php"> Klik di sini untuk melihat 10 film favoritku. </a>
  <br/>
  <a href="situsfilm.php?sorted=true"> Klik di sini untuk
   melihat 10 film favoritku yang terurut secara alfabetik. </a>
   akhir baris yang dihapus -->

  <br/>
  Atau pilih berapa banyak film yang Anda suka:
  <br/>
  <form method="post" action="situsfilm.php">
    <p> Masukkan jumlah film (sampai dengan 10):
      <input type="text" name="jum" maxlength="2" size="2"/>
      <br/>
      Centang untuk mengurutkan secara alfabetik:
      <input type="checkbox" name="sorted"/>
    </p>
    <input type="submit" name="submit" value="Submit"/ >
  </form >
 
  </body>
</html>

2.    Lakukanlah beberapa perubahan pada program situsfilm.php seperti berikut:

<?php
session_start();
//memeriksa apakah pengguna telah login dengan password yang valid
if ($_SESSION['authuser'] != 1) {
    echo 'Maaf, tetapi Anda tidak memiliki ijin untuk melihat halaman ini!';
    exit();
}
?>
<html>
  <head>
    <title>
<?php
if (isset($_GET['filmfav'])) {
  echo ' - ';
  echo $_GET['filmfav'];
}
?>
    </title>
  </head>
  <body>
<?php include 'header.php'; ?>
<?php
$arrayfilmfav = array('Maleficient',
                      'Fast and Furious',
                      'The Holy Grail',
                      'Die Hard',
                      'Matrix',
                      'Terminator 2',
                      'Star Trek',
                      'Battle Ship',
                      'Godfather',
                      'Mummy');

if (isset($_GET['filmfav'])) {
    echo 'Selamat datang ke situs kami, ';
    echo $_SESSION['username'];
    echo '! <br/>';
    echo 'Film Favorit saya adalah ';
    echo $_GET['filmfav'];
    echo '<br/>';
    $ratingfilm = 5;
    echo 'Rating yang saya berikut untuk film ini adalah: ';
    echo $ratingfilm;
}
else {
   echo 'Daftar ' . $_POST['jum'] . ' film favoritku ';
    if (isset($_POST['sorted'])) {
        sort($arrayfilmfav);
        echo '(terurut secara alfabetik)';
    }
    echo ' adalah: <br/>';
  
   // hapus baris-baris berikut
   echo '<ol>';
    foreach ($arrayfilmfav as $film) {
        echo '<li>';
        echo $film;
        echo '</li>';
    }
    echo '</ol>';
   // akhir baris yang dihapus
  
   $jumdaftar = 0;
    echo '<ol>';
    while ($jumdaftar < $_POST['jum']) {
        echo '<li>';
        echo $arrayfilmfav[$jumdaftar];
        echo '</li>';
        $jumdaftar = $jumdaftar + 1;
    }
    echo '</ol>';
}
?>
  </body>
</html>

3.    Sekarang Anda log in dengan file login.php (dengan nama Rismon dan password 12345), masukkan jumlah film yang Anda inginkan. Anda juga bisa mencentang kotak periksa yang disediakan untuk mengurutkan array. Pada layar akan ditampilkan berikut:



















No comments:

Post a Comment