Berikut materi soal dan pembahasan UAS 2017 Semester 1 SkillPro Programming kelas X dan XI di SMA Pro An-Nizhomiyah..
Soal:
Pembahasan soal: (Asumsi dijawab menjawab menggunakan OS linux dengan akses database lewat terminal linux)
- Buat folder kerja di htdocs dengan nama UAS2017namakamu dan buat folder didalamnya dengan nama css, gambar, js, include dan database. Buat pula folder siswa dan guru didalam folder gambar – (5 point)
Jawab:
Buat database dengan nama uas2017 dengan 4 tabel, yaitu siswa, guru, kelas dan mapel dengan rincian sebagai berikut – database uas2017 (10 point)
buka terminal, lalu berikan perintah:$ mysql -uroot -p
masukan password database
MariaDB [(none)]> CREATE DATABASE uas2017;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> USE uas2017
Database changed
MariaDB [uas2017]> CREATE TABLE siswa ( nis varchar(9), nama varchar(50), kelas varchar(15), jk enum(‘L’,’P’), alamat varchar(255), hp varchar(15), email varchar(25), foto varchar(50), PRIMARY KEY (nis));
Query OK, 0 rows affected (0.28 sec)
MariaDB [uas2017]> CREATE TABLE kelas ( idkelas int(5) NOT NULL AUTO_INCREMENT, kelas varchar(15), jumlah int(2), PRIMARY KEY (idkelas));
Query OK, 0 rows affected (0.35 sec)MariaDB [uas2017]> CREATE TABLE guru ( nig varchar(7), nama varchar(50), mengajar varchar(30), jk enum(‘L’,’P’), alamat varchar(255), hp varchar(15), email varchar(25), foto varchar(50), PRIMARY KEY (nig));
Query OK, 0 rows affected (0.32 sec)MariaDB [uas2017]> CREATE TABLE mapel ( idmapel int(5) NOT NULL AUTO_INCREMENT, mapel varchar(50), sks int(2), PRIMARY KEY (idmapel));
Query OK, 0 rows affected (0.27 sec)Selesai, atau mau import langsung menggunakan phpMyAdmin? Silahkan download database disini
Buat file koneksi.php dan letakan difolder include dengan menggunakan mysqli_connect, dengan nama variabel $sambung=mysqli_connect(……) hanya 1 file koneksi dan tidak boleh lebih – (5 point)
Buka folder include lalu buat text file dan berikan nama koneksi.php, isi dengan<?php
$host=”localhost”;
$userdb=”root”;
$passdb=”sesuaikan”;
$namadb=”uas2017″;
$koneksi=mysqli_connect($host,$userdb,$passdb,$namadb);
?>Buat tampilan depan seindah dan sebagus mungkin dan boleh menggunakan template admin bootstrap – (10 point)
ini mengggunakan materi web statis<!DOCTYPE html>
<html lang=”en”>
<head>
<title>Ujian Programming</title>
<link rel=”stylesheet” href=”css/WebStatis.css”/>
<link rel=”shortcut icon” href=”gambar/logo_centos.png”/>
</head>
<body>
<header class=”web” id=”judul”>
<img src=”gambar/avatar.png” alt=”Ini Logo” title=”Logo SMA PRO” id=”logo”/>
<h1>Ujian CRUD</h1>
<h2>Create, Read, Update, Delete</h2>
</header>
<nav class=”web”>
<ul>
<li><a href=”siswa/”>Siswa</a></li>
<li><a href=”kelas/”>Kelas</a></li>
</ul>
</nav>
<section class=”web” id=”utama”>
<section id=”konten”>
<article>
<header>
<h1>Skill PRO Programming</h1></br>
</header>
<p><img src=”gambar/index.jpg”>
Sedang Ujian materi CRUD 2017 di SMA PRO An-Nizhomiyah
</p><br/>
<p>
<b> Skill PRO Programming</b>
</p>
</article>
</section>
</section>
<footer class=”web” id=”bawah”>Ujian CRUD
<br/>dibuat oleh Naufal Mumtaz Ramadhan
</br>copy@ :2017
</footer>
</body>
</html>Buat CRUD untuk 2 tabel saja (siswa dan kelas atau guru dan mapel) dengan rincian point yang didapat sebagai berikut: – (60 point)
◦ Tampil (Read) – 5 point
◦ Hapus (Delete) – 5 point
◦ Form Tambah (Create) – 5 point
◦ Simpan – 5 point
◦ Form Ubah (Update) – 5 point
◦ Update – 5 point
◦ Untuk form tambah dan ubah, gunakan jenis masukan seperti yang tertulis di keterangan, seperti jk gunakan radio button.
Jawab:
Buat folder siswa di dalam folder UAS2017namakamu, lalu kerjakan tampil (read) berinama index.php dan isi dengan<!DOCTYPE html>
<html>
<head>
<title>Ujian 2017, Data Siswa</title>
</head>
<body>
<h2>Skill PRO Programming, Data Siswa</h2>
<a href=”../”>Beranda</a> | <a href=”tampil.php”>Beranda Siswa</a> | <a href=”tambah.php”>Tambah Siswa</a>
<h3>Data Siswa</h3>
<table cellpadding=”5″ cellspacing=”0″ border=”1″>
<tr bgcolor=”#CCCCCC”>
<th>No</th>
<th>NIS</th>
<th>Nama</th>
<th>Kelas</th>
<th>Jk</th>
<th>Alamat</th>
<th>No. HP</th>
<th>Email</th>
<th>Opsi</th>
</tr>
<tbody>
<?php
include “../include/koneksi.php”;
$sql=”SELECT * FROM siswa ORDER BY nis”;
$query=mysqli_query($sambung,$sql);
if(mysqli_num_rows($query)==0){
echo “<td colspan=’6′>Data Masih Kosong..</td>”;
}else{
$no=1;
while($r=mysqli_fetch_assoc($query)){
echo “<tr>”;
echo “<td>$no</td>”;
echo “<td>”.$r[‘nis’].”</td>”;
echo “<td>”.$r[‘nama’].”</td>”;
echo “<td>”.$r[‘kelas’].”</td>”;
echo “<td>”.$r[‘jk’].”</td>”;
echo “<td>”.$r[‘alamat’].”</td>”;
echo “<td>”.$r[‘hp’].”</td>”;
echo “<td>”.$r[‘email’].”</td>”;
echo ‘<td><a href=”edit.php?nis=’.$r[‘nis’].'”>Edit</a> | <a href=”hapus.php?nis=’.$r [‘nis’].'” onclick=”return confirm(\’Yakin akan dihapus?\’)”>Hapus</a></a></td>’;
echo “</tr>”;
$no++;
}
}
?>
</tbody>
<tfoot>
<tr bgcolor=”#CCCCCC”>
<th>No</th>
<th>NIS</th>
<th>Nama</th>
<th>Kelas</th>
<th>Jk</th>
<th>Alamat</th>
<th>No. HP</th>
<th>Email</th>
<th>Opsi</th>
</tr>
</tfoot>
</table>
</div><!– /.box-body –>
</div><!– /.box –></div><!– /.col –>
</div><!– /.row –>
</section><!– /.content –>