| 12 Juli 2013 | 1 Comment |

Jawaban UAS Pemrograman Berbasis Web 2012/2013

Tags: , , , , , , , , , , , ,

Category: Kuliah, Pemrograman, Software

webBerikut adalah jawaban untuk soal UAS Pemrograman Berbasis Web yang kemarin (11 Juli 2013) saya berikan kepada mahasiswa yang mengambil matakuliah tersebut. Soal ini tidak sulit dan cenderung sangat mudah πŸ™‚ (beneran lho)

Dari 2 kelas matakuliah tersebut, hanya ada 1 orang dari 108 orang yang terdaftar dalam DPNA yang berhasil mengerjakannya secara baik πŸ™ . Masalah yang saya lihat ketika mahasiswa mengerjakan UAS tersebut adalah terlalu banyak ‘diskusi dengan tetangga’ sehingga tidak fokus dalam menyelesaikan soal.

Kembali ke soal, silahkan lihat di sini untuk soal, di bawah akan saya tampilkan jawabannya yang sangat sederhana πŸ™‚ dan sudah pernah saya sampaikan saat perkuliahan.

Sesuai dengan soal, nama databasenya adalah ‘uasweb‘.

Adapun untuk tabel ‘bagian‘ dan isinya silahkan jalankan perintah SQL berikut pada phpmyadmin:

CREATE TABLE `bagian` (
  `id_bag` int(11) NOT NULL auto_increment COMMENT 'id bagian (PK)',
  `nama_bag` varchar(20) NOT NULL COMMENT 'nama bagian',
  PRIMARY KEY  (`id_bag`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO `bagian` VALUES (1, 'Adminsitrasi Umum');
INSERT INTO `bagian` VALUES (2, 'Akademik');
INSERT INTO `bagian` VALUES (3, 'Laboratorium');

Sedangkan tabel ‘karyawan‘ dan isinya silahkan jalankan perintah SQL ini pada phpmyadmin:

CREATE TABLE `karyawan` (
  `nik` varchar(5) NOT NULL COMMENT 'NIK (PK)',
  `nama` varchar(20) NOT NULL COMMENT 'nama karyawan',
  `alamat` varchar(40) NOT NULL COMMENT 'alamat rumah',
  `id_bag` int(1) NOT NULL COMMENT 'id bagian (FK)',
  `telepon` varchar(12) NOT NULL COMMENT 'nomor telepon',
  `email` varchar(40) NOT NULL COMMENT 'alamat email',
  PRIMARY KEY  (`nik`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `karyawan` VALUES ('10283', 'Erfan M.', 'Jl. Cendrawasih', 2, '080988998899', 'muhammad651@gmail.com');
INSERT INTO `karyawan` VALUES ('11284', 'Rommi', 'Jl A. Yani', 3, '123455556543', 'nama@domain.com');
INSERT INTO `karyawan` VALUES ('09221', 'Martha FT.', 'Jl. Rajawali', 2, '111122223333', 'rahasia@terserah.dia');
INSERT INTO `karyawan` VALUES ('10202', 'Aan FW.', 'Kelampangan', 1, '999988887777', 'kelampangan@jauh.bgt');
INSERT INTO `karyawan` VALUES ('12297', 'Heri Setiawan', 'Jl. G. Obos', 3, '777766665555', 'heri@setiawan.net');

Selanjutnya untuk kode program file pertama (uas-1.php) adalah sebagai berikut:

<?
//koneksi
$koneksi=mysql_connect("localhost","root","1234");
mysql_select_db("uasweb", $koneksi);
?>
<html>
<head>
	<title>UAS Pemrograman Berbasis Web - SI - 6 - 20122</title>
</head>

<body>
<h2>Data Karyawan</h2>

<!--form tambah data karyawan mulai dari sini-->
<form action="uas-2.php" method="post">
<table border=0>
	<tr>
		<td align=right>NIK</td>
		<td><input type=text name=nik size=7></td>
	</tr>
	<tr>
		<td align=right>Nama</td>
		<td><input type=text name=nama size=15></td>
	</tr>
	<tr>
		<td align=right>Alamat</td>
		<td><input type=text name=alamat size=30></td>
	</tr>
	<tr>
		<td align=right>Bagian</td>
		<td>
			<select name=id_bag>
				<option value="">--pilih--</option>
				<?
				//untuk membaca dan menampilkan nama bagian pada list (combo)
				$bacaBagian=mysql_query("SELECT * FROM bagian");
				while($hasilBagian=mysql_fetch_array($bacaBagian))
				{
					echo "<option value='$hasilBagian[id_bag]'>$hasilBagian[nama_bag]</option>";
				}
				?>
			</select>
		</td>
	</tr>
	<tr>
		<td align=right>Telepon</td>
		<td><input type=text name=telepon size=10></td>
	</tr>
	<tr>
		<td align=right>Email</td>
		<td><input type=text name=email size=30></td>
	</tr>
	<tr>
		<td></td>
		<td><input type=submit value="Simpan"></td>
	</tr>
</form>
<!--form tambah data karyawan sampai sini-->

<!--tabel data karyawan mulai dari sini-->
<table border=1>
	<tr bgcolor=orange>
		<th>NIK</th>
		<th>Nama</th>
		<th>Alamat</th>
		<th>Bagian</th>
		<th>Telepon</th>
		<th>Email</th>
	</tr>
	<?
	//apabila tanpa nama bagian gunakan query satu baris di bawah ini
	//$bacaKaryawan=mysql_query("SELECT * FROM karyawan ORDER BY nama ASC");

	//apabila mau pakai nama bagian gunakan query baris ini (gabungan 2 tabel)
	$bacaKaryawan=mysql_query("SELECT * FROM karyawan,bagian WHERE karyawan.id_bag=bagian.id_bag");
	while($hasilKaryawan=mysql_fetch_array($bacaKaryawan))
	{
		echo "<tr>
		<td>$hasilKaryawan[nik]</td>
		<td>$hasilKaryawan[nama]</td>
		<td>$hasilKaryawan[alamat]</td>
		<td>$hasilKaryawan[id_bag] $hasilKaryawan[nama_bag]</td>
		<td>$hasilKaryawan[telepon]</td>
		<td>$hasilKaryawan[email]</td>
	</tr>";
	}
	?>
</table>
<!--tabel data karyawan sampai sini-->

</body>
</html>

Tampilannya kira-kira seperti berikut.

amazinglight.info-20122-uasweb-1

File kedua (uas-2.php) berisi kode program sebagai berikut:

<?
//koneksi
$koneksi=mysql_connect("localhost","root","1234");
mysql_select_db("uasweb", $koneksi);

//menangkap kiriman dari file uas-1.php
$nik=$_POST['nik'];
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
$id_bag=$_POST['id_bag'];
$telepon=$_POST['telepon'];
$email=$_POST['email'];
?>
<html>
<head>
	<title>UAS Pemrograman Berbasis Web - SI - 6 - 20122</title>
</head>

<body>
<h2>Data Karyawan</h2>

<?
//periksa apakah ada NIK yang sama
$bacaKaryawan=mysql_query("SELECT nama FROM karyawan WHERE nik='$nik'");
$jumlahKaryawan=mysql_num_rows($bacaKaryawan);//untuk mengetahui jumlah data yang ditemukan
$hasilKaryawan=mysql_fetch_array($bacaKaryawan);

if ($jumlahKaryawan == 0) //jika tidak ditemukan NIK yang sama
{
	//jika isian tidak lengkap
	if ((empty($nik)) OR (empty($nama)) OR (empty($alamat)) OR (empty($id_bag)) OR (empty($telepon)) OR (empty($email)))
	{
		echo "Masih ada yang belum diisi atau dipilih, <a href='uas-1.php'>silahkan kembali</a>";
	}
	else //jika semua lengkap
	{
		mysql_query("INSERT INTO karyawan VALUES ('$nik','$nama','$alamat','$id_bag','$telepon','$email')");
		echo "Data karyawan baru sudah disimpan, <a href='uas-1.php'>lihat daftar karyawan</a>";
	}
}
else //jika ditemukan NIK yang sama dalam tabel
{
	echo "NIK sudah terdaftar, <a href='uas-1.php'>silahkan coba yang lain</a>";
}
?>
</body>
</html>

Tampilannya adalah:

amazinglight.info-20122-uasweb-2

Bagaimana?? Memang tidak sulit kan????? :-p

File lengkap beserta folder database silahkan download di sini untuk dipelajari lagi πŸ˜€



Comments (1)

Trackback URL | Comments RSS Feed

  1. rommi berkata:

    kalo yang pake generate dari dreamweavernya mana pak jawabannya πŸ™‚

    Admin:
    Kalo yang di-generate langsung oleh Dreamweaver tidak saya ajarkan, karena itu terlalu mudah dan mahasiswa jadi tidak paham alur program πŸ˜‰

Leave a Reply