Soal dan Pembahasan UAS 2017 Semester 1 SkillPro Programming

By | Mei 11, 2018

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)

  1. 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:
    folderBuat 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”>&nbsp;
    Sedang Ujian materi CRUD 2017 di SMA PRO &nbsp;&nbsp;&nbsp;&nbsp;An-Nizhomiyah
    </p><br/>
    <p>
    <b> &nbsp;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> &nbsp;|&nbsp; <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 –>

     

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.