SOAL UJIAN TENGAH SEMESTER T.A. 2012/2013 MATA UJIAN PROGRAM STUDI WAKTU SIFAT DOSEN TANGGAL : PEMROGRAMAN WEB LANJUT : S1 TEKNIK INFORMATIKA : 94.9 Menit : Buku Terbuka : Rajif Agung Yunmar, S.Kom : 08 November 2012 Catatan 1. Mahasiswa dilarang untuk menggunakan laptop, HP dan perangkat elektronik lainnya. 2. Boleh mengerjakan soal bonus; Jika benar nilai ujian ditambah 25 point, tapi jika salah nilai ujian dikurangi 25 point. Soal 1. Mengapa PHP digolongkan sebagai bahasa pemrograman server side scripting? Jelaskan! 2. Untuk mengirimkan data, sebuah web form menggunakan metode GET dan POST. Apa perbedaan mendasar antara keduanya? Jelaskan! 3. Buah nangka diatas pohon, buatlah sebuah fungsi yang digunakan untuk menghitung energi potensial (Joule) dari buah nangka tersebut jika diketahui : • Massa benda = 5 Kg • Konstanta Percepatan gravitasi = 10 meter / second2 • Ketinggian = 15 meter • Rumus energi potensial = Massa * Percepatan gravitasi * Ketinggian 4. Diketahui struktur tabel buku sebagai berikut: +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | isbn | int(8) | NO | PRI | NULL | | | judul_buku | varchar(125) | NO | | NULL | | | pengarang | varchar(55) | NO | | NULL | | +------------+--------------+------+-----+---------+-------+ Buatlah program dengan menggunakan PHP untuk menampilkan semua data buku dengan nama pengarang “Rajif Agung Yunmar”. 5. Apa perbedaan mendasar dari session dan cookies. Jika digunakan dalam aplikasi keranjang belanja, mana yang anda pilih? Mengapa? Jelaskan jawaban anda! Soal Bonus 6. Diketahui array sebagai berikut: <?php $nama = array("Yuli","Ismail","Elizabeth","Gombloh"); $posisi = array("Staf","Direktur","Manager","Staf"); ?> Dengan menggunakan perulangan, susunlah array tersebut sehingga menjadi gambar seperti dibawah ini: Kunci Jawaban 1. Karena skrip program PHP diolah disisi server. Client hanya menerima hasil pengolahan dalam bentuk HTML. 2. Metode GET mengirimkan data melalui URI atau yang juga disebut sebagai variable GET. Sehingga user dapat melihat bahkan memodifikasi data tersebut. Sedangkan metode POST membungkus dan mengirimkan data tersebut dibalik layar. 3. <?php function EnergiPotensial($massa,$ketinggian){ define("percepatan_gravitasi",10); $ep = $massa * percepatan_gravitasi * $ketinggian; return $ep; } echo "Energi Potensial = ".EnergiPotensial(5,15)." Joule"; ?> 4. <?php include("koneksi.php"); $sql = "SELECT isbn,judul_buku,pengarang FROM buku "; $sql.= "WHERE pengarang='Rajif Agung Yunmar'"; $hasil = mysql_query($sql) or exit("Error query : ".$sql); while($data = mysql_fetch_assoc($hasil)){ echo "ISBN : ".$data['isbn']; echo "<br />"; echo "Judul Buku : ".$data['judul_buku']; echo "<br />"; echo "Pengarang : ".$data['pengarang']; } ?> 5. Keduanya mempunyai kegunaan yang sama, yaitu bagaimana caranya sebuah nilai dapat dikenali dan dioperasikan dibanyak halaman. Session menyimpan nilai tersebut pada sisi server, sedangkan cookies pada browser pengguna. Jika diterapkan pada aplikasi keranjang belanja sebaiknya menggunakan session. Akan berbahaya apabila data belanja disimpan di client menggunakan cookies. Karena bisa saja mereka mengubah data-data belanja tersebut. Misalnya: mengubah total harga menjadi 0, padahal mereka membeli banyak item belanja. Dengan menggunakan session, diharapkan keamanan data lebih terjamin, sehingga dapat menghidari kerugian pada pihak penjual. Alasan selanjutnya kenapa tidak menggunakan cookies, yaitu karena tempat penyimpanannya cookies itu sendiri. Agar dikenali dan dioperasikan server, cookies yang disimpan di client perlu dikirimkan ulang ke server. Jika data cookies sudah terlampau banyak, maka proses pengiriman cookies tersebut akan memakan waktu dan bandwitdh, hal ini berdampak pada performa aplikasi web. Pada server, session dikelola sebagai file temporary (bukan disimpan pada memori). Session dipanggil hanya pada saat diperlukan (ada request) saja, sehingga penggunaannya bisa lebih efektif dan efisien. 6. <?php $nama = array("Yuli","Ismail","Elizabeth","Gombloh"); $posisi = array("Staf","Direktur","Manager","Staf"); ?> <html> <head> <style type="text/css"> table { border:1px solid #000;border-collapse:collapse; } table tr th { background:#666666;color:#fff; } </style> </head> <body> <table width="400px"> <tr bgcolor="brown"> <th width="10%">No.</th> <th width="50%">Nama</th> <th>Posisi</th> </tr> <?php foreach($nama as $index => $jeneng){ ?> <tr <?php if($index % 2 == 0){ echo 'bgcolor="silver"'; } ?>> <td align="center"><?php echo $index+1;?></td> <td><?php echo $nama[$index];?></td> <td><?php echo $posisi[$index]; ?></td> </tr> <?php } ?> </table> <body> </html>