soal ujian tengah semester ta 2012/2013 - E

advertisement
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>
Download