Pemrograman Web (ACCT 07309)



SOLUSI
TYPE SOAL - B


1.      Asumsi:
Ada form web untuk mencari data siswa. Bentuk tampilan form tersebut sebagai berikut :


Soal : [score: 25]
Terlihat form ini ditampilkan dengan tag table HTML dengan border=1. Form  ini menggunakan method POST dan data form dikirim ke soal1.php. Pada header form ini terdapat tulisan ”CARI DATA TESTING MOTOR” dengan background hitam dan warna text putih dengan text rata tengah. Pilihan Merk terdiri dari SupraX, Tiger, MegraPro, dan SupraFit. Sedangkan input jarak testing terdiri dari jarak dari dan sampai dengan, dimana masing-masing memiliki ukuran size 10. Untuk pilihan kota berupa checkbox seperti terlihat diatas.

Coba buat HTML form ini dengan validasi input dengan menggunakan javascript, yaitu input jarak tidak boleh kosong ! (HTML dan JavaScript)

Bonus: [score: 3]
Tambahkan form ini dengan validasi input jarak harus berupa digit dengan menggunakan javascript !


Solusi :

  Solusi 1
 
    CARI DATA TESTING MOTOR
 
 
    Merk:
   
     
     
     
     
   
 
 
    Jarak Testing:
    dari
    s/d
   
 
 
   
 
 
    Kota Testing:
    Solo
    Semarang
    Yogya
  


2.      Asumsi:
Di PC server localhost terdapat database MySQL serta terdapat database MESIN dan didalamnya terdapat table TESTMOTOR. Struktur table TESTMOTOR sebagai berikut :
TESTMOTOR  -> MERK varchar (50),
                                -> KOTA varchar (30) ,
                                -> JARAK integer )
Table ini digunakan untuk menyimpan data test jarak tempuh sepeda motor dalam kilometer oleh sebuah pabrik perakitan sepeda motor yang dilakukan di setiap kota. Isi table TESTMOTOR sebagai berikut :

MERK
KOTA
JARAK
SupraX
Solo
20
Tiger
Solo
25
SupraX
Solo
15
MegaPro
Solo
5
SupraFit
Semarang
25
SupraX
Yogya
15
Tiger
Semarang
35
SupraFit
Yogya
8

Anda bisa menggunakan bantuan PHPmyadmin untuk mengerjakan soal ini !

Soal : [score: 25]
Tulislah semua jawaban berikut dalam bentuk bahasa SQL yang digunakan di MySQL !

a.       Coba tulis SQL untuk melakukan update penambahan data jarak tempuh test sepeda motor ke dalam table TESTMOTOR yang dilakukan di kota Solo untuk merk sepeda morot SupraX dan Tiger dimana masing-masing jarak tempuh ditambah 5 kilometer !
Solusi :
Update TESTMOTOR set JARAK = JARAK + 5 where KOTA = 'Solo' and (MERK = 'SupraX' or MERK = 'Tiger')

b.      Coba tulis SQL untuk menampilkan sepeda motor merk apa saja yang sudah di test di kota Solo atau Yogya, hasilnya ditampilkan dalam bentuk 1 kolom saja dan tidak boleh berulang serta ditampilkan secara berurut !
Solusi :
Select distinct MERK from TESTMOTOR where KOTA = 'Solo' or KOTA = 'Yogya' order by MERK asc

c.       Jika ada test jarak tempuh sepeda motor merk MegaPro yang jarak tempuhnya dibawah 10 kilometer, maka data ini harus dihapus. Coba buat SQL untuk menghapusnya !
Solusi :
Delete from TESTMOTOR where MERK = 'MegaPro' and JARAK < 10

d.      Coba buat SQL untuk menghitung total jarak tempuh yang dilakukan dalam test sepeda motor merk SupraX !
Solusi :
Select sum(JARAK) as TOTAL from TESTMOTOR where MERK = 'SupraX'

e.       Coba tulis SQL untuk menampilkan total jarak tempuh yang dilakukan dalam test sepeda motor untuk per kota dengan format kolom : MERK, KOTA, TOTAL JARAK, dengan diurutkan berdasarkan merk, kota, dan total jarak !
Solusi :
Select MERK, KOTA, sum(JARAK) as TOTAL from TESTMOTOR group by MERK, KOTA order by MERK, KOTA, TOTAL asc

Bonus: [score: 3]
Coba buat SQL untuk menampilkan merk sepeda motor yang total jarak tempuh dalam test sepeda motor ini diatas 50 kilometer !
Solusi :
Select MERK from TESTMOTOR group by MERK having sum(JARAK) >= 50


3.      Asumsi:
Terdapat variable array $hoby yang menyatakan data list hoby. Lihat script soal3.php dibawah ini :

Text Box: <?php
$hoby = array("Sepakbola", "Lari", "Renang", "Tenis", "Catur", 
                         "Bolavoly",  "Bersepada", "Golf" );
?>
<html><head><title>Soal 4</title></head>
<body>
<?php
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
?>
</body>
</html>

Soal : [score: 25]
Tampilkan array tersebut dengan menggunakan PHP dalam format tampilan sebagai berikut :

DAFTAR HOBY
NO
HOBY
1
Sepakbola
2
…..

Kolom NO adalah bilangan nomor urut yang dimulai dari angka 1.

Bonus: [score: 3]
Tampilkan untuk baris genap dan ganjil dengan warna dasar yang beda, yaitu baris genap dengan warna hijau (#00FF00) dan baris ganjil dengan warna biru (#0000FF). Misalkan bentuk tampilannya :

DAFTAR HOBY
NO
HOBY
1
Sepakbola
2
Lari
3
Renang

Solusi :

echo "";
echo " ";
echo "  DAFTAR HOBY";
echo "
";
echo " ";
echo "  NO";
echo "  HOBY";
echo "
";
$i = 1;
for ($i=0; $i
{
  if (($i % 2) == 0)
  {
    echo " ";
  }
  else
  {
    echo " ";
  }
  echo "  " . ($i+1) . "
";
  echo "  " . $hoby[$i] . "";
  echo "
";
}
echo "
";


4.      Asumsi :
Asumsi sama dengan soal no. 2

Soal : [score: 25]
Buat program dengan script PHP untuk menampilkan isi table TESTMOTOR dalam bentuk tag table HTML dengan border=1, dimana bentuk kolom tampilan sebagai berikut :

MERK
KOTA
JARAK

Dan data test motor yang ditampilkan hanya untuk kota tertentu, dimana mengikuti form berikut ini :

Text Box: <html><head><title> Soal 4 </title></head>
<body>
<form action="solusi4.php" method="post">
<b>Menampilkan Data Test Motor</b><br><br>
Kota : 
<select name="varKOTA">
<option value="Solo" selected>Solo</option>
<option value="Semarang">Semarang</option>
<option value="Yogya">Yogya</option>
</select><input name="SUBMIT" type="submit" value="SUBMIT">
</form>
</body></html>

Tampilan  :

Contoh hasil tampilan !

MERK
KOTA
JARAK
SupraX
Solo
20
Tiger
Solo
25

Coba selesaikan solusi4.php !

Bonus: [score: 3]
Coba tambah satu kolom “NOMOR URUT” disebelah paling kiri, yaitu dimulai dari 1,2,… dst. Formatnya sebagai berikut :
NO
MERK
KOTA
JARAK
1
SupraX
Solo
20
2
Tiger
Solo
25


Solusi :

Solusi soal 4
$link = mysql_connect("localhost", "root", "");
mysql_select_db("MESIN", $link);
$query = "select MERK, KOTA, JARAK from TESTMOTOR where KOTA = ' " . $_POST["varKOTA"] . " ' ";
$result = mysql_query($query, $link);
?>
            NO
            MERK
            KOTA
            JARAK
$i = 0;
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            $i++;
            echo " ";
            echo "$i.";
            echo "" . $row["MERK"] . "";
            echo "" . $row["KOTA"] . "";
            echo "" . $row["JARAK"] . "";
            echo "
";
}
?>

Tidak ada komentar:

Sumber: http://mahameruparabola.blogspot.com