Selasa, 20 Juni 2017

UAS Pemrograman SQL

Nama Kelompok: Achmad Rizal H                    (201553019)
                             Dessy Muharfianti Putri         (201553022)
Kelas                  : A

Aplikasi KRS Sederhana
tapi saya membuat databasenya memakai sql php myadmin
Databases
CREATE TABLE `matakuliah` (
`id_matkul` int(3) NOT NULL auto_increment,
`kode_matkul` varchar(10) NOT NULL,
`nama_matkul` varchar(50) NOT NULL,
`sks` int(2) NOT NULL,
UNIQUE KEY `kode` (`kode_matkul`),
PRIMARY KEY (`id_matkul`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Insert data for table `matakuliah`
INSERT INTO `matakuliah` (`kode_matkul`, `nama_matkul`, `sks`) VALUES
('TI001', 'Pengantar Algoritma 1', 2),
('TI002', 'Analisa Numerik', 3),
('TI003', 'Pengantar Bahasa C++', 3),
('TI004', 'Pengantar Ilmu Komputer', 2),
('TI005', 'Algoritma 2', 2),
('TI006', 'Pengantar Visual Basic', 2),
('TI007', 'Kalkulus', 2),
('TI008', 'Pengantar Data Base', 2),
('TI009', 'Pemograman Berorientasi Objek', 3),
('TI010', 'Pengantar Bahasa Java', 3),
('TI011', 'Struktur Database', 2),
('TI012', 'Bahasa C++ Lanjutan', 2),
('TI013', 'Visual Basic Lanjutan', 2),
('TI014', 'Pengantar Internet', 2);

CREATE TABLE `mahasiswa` (
`npm` char(8) NOT NULL,
`nama` varchar(30) NOT NULL,
UNIQUE KEY `npm` (`npm`)
);
INSERT INTO `mahasiswa` (`npm`, `nama`) VALUES
('30101111', 'Achmad Zacky'),
('30101112', 'Ayu Putri Damayanti'),
('30101113', 'Edi Kusnaedi'),
('30101114', 'Firmansyah'),
('30101115', 'Herdian Ananta'),
('30101116', 'Ika Setiowati'),
('30101117', 'Reza Andreawan'),
('30101118', 'Siswo Pranoto'),
('30101119', 'Taufik Ismail'),
('30101120', 'Willy Kristianto');

CREATE TABLE `krs` (
`nomor` int(4) NOT NULL auto_increment,
`npm` varchar(15) NOT NULL,
`kodekuliah` varchar(10) NOT NULL,
`semester` varchar(15) NOT NULL,
`tahun` int(5) NOT NULL,
PRIMARY KEY (`nomor`)
);

Source code aplikasi
index.php
<html>
<head>
<title>KRS Online</title>
<style>
body{margin:0;padding:0;font:16px sans-serif,Verdana;}
input,button{border:1px solid #999;}
#wrapper{background:#9900cc;width:800px;height:650px;margin:0 auto;}
#form_npm{background:#999999; width:200px; margin:0 auto; }
</style>
</head>
<body>
<div id="wrapper">
<p>&nbsp;<p>
<p>&nbsp;<p>
<p>&nbsp;<p>
<p>&nbsp;<p>
<p>&nbsp;<p>
<p>&nbsp;<p>
<div id="form_npm">
<form name="form_npm" method="post" action="inputkrs.php">
<table border="0" width="200" height="100" cellpadding="0" cellspacing="1">
<tr>
<td align="center">Masukan NPM</td>
</tr>
<tr>
<td align="center"><input type="text" maxlength="8" size="10" name="npm" style="text-align:center;"/></td>
</tr>
<tr>
<td align="center"><input type="submit" value="Submit" style="cursor:pointer;"></td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>


inputkrs.php
<html>
<head>
<title>Input KRS</title>
<style>
body { margin:0; padding:0; font-family:sans-serif; }
#wrapper { background:#9900cc; width:795px; height:650px; margin:0 auto; text-align:center; padding-top:5px; }
#tabel_matkul { background:#ffffff; width:500px; margin:0 auto; }
</style>
<?php
mysql_connect("localhost","root","");
mysql_select_db("belajar");

$npm = $_POST['npm'];
$sqlmhs = mysql_query("SELECT * FROM mahasiswa WHERE npm='$npm'");

//cek npm
if(mysql_num_rows($sqlmhs)==0){
?>
<script>
javascript:history.back(-1);
</script>
<?php
}

$mhs = mysql_fetch_array($sqlmhs);

//melakukan query ke database
$sqlmatkul = mysql_query("SELECT * FROM matakuliah");
while($k = mysql_fetch_array($sqlmatkul)){
$kode_matkul[] = $k['kode_matkul'];
$nama_matkul[] = $k['nama_matkul'];
$sks[] = $k['sks'];
}
?>
<script>
<?php
echo "var jumlah = ".count($kode_matkul).";\n";
echo "var sks = new Array();\n";
//mengambil sks matakuliah dan memasukkan ke array javascript
for($j=0; $j<count($kode_matkul); $j++){
echo "sks['".$kode_matkul[$j]."'] = ".$sks[$j].";\n";
}
?>
function hitungtotal(){
jum = 0;
for(i=0;i<jumlah;i++){
id = "mk"+i;
td1 = "k1"+i;
td2 = "k2"+i;
td3 = "k3"+i;
td4 = "k4"+i;
if(document.getElementById(id).checked){
kode_matkul = document.getElementById(id).value
jum = jum + sks[kode_matkul];
//untuk mengubah warna latar tabel apabila diceklist
document.getElementById(td1).style.backgroundColor = "lightblue";
document.getElementById(td2).style.backgroundColor = "lightblue";
document.getElementById(td3).style.backgroundColor = "lightblue";
document.getElementById(td4).style.backgroundColor = "lightblue";
}else {
document.getElementById(td1).style.backgroundColor = "white";
document.getElementById(td2).style.backgroundColor = "white";
document.getElementById(td3).style.backgroundColor = "white";
document.getElementById(td4).style.backgroundColor = "white";
}
}
//menampilkan total jumlah SKS yang diambil
document.getElementById("jsks").value = jum;
}
</script>
</head>
<body>
<div id="wrapper">
<h1>Input KRS</h1>
<span style="color:#fff; font-weight:bold;">Nama : <?=$mhs['nama'];?></span>
<div id="tabel_matkul">
<form name="inputkrs" method="post" action="outputkrs.php">
<input type="hidden" name="npm" value="<?=$mhs['npm'];?>">
<table border="1" width="500" cellpadding="1" cellspacing="1">
<tr align="center" style="background:#9966FF">
<th height="25" width="100">Kode Mata Kuliah</th>
<th>Nama Mata Kuliah</th>
<th>SKS</th>
<th>Ambil</th>
</tr>
<?php
//menampilkan matakuliah ke dalam tabel
for($i=0; $i<count($kode_matkul); $i++){
?>
<tr>
<td id="k1<?=$i;?>"><?=$kode_matkul[$i];?></td>
<td id="k2<?=$i;?>"><?=$nama_matkul[$i];?></td>
<td id="k3<?=$i;?>" align="center"><?=$sks[$i];?></td>
<td id="k4<?=$i;?>" align="center"><input type="checkbox" name="mk[]" onclick="hitungtotal()" value="<?=$kode_matkul[$i];?>" id="mk<?=$i;?>">
</tr>
<?php
}
?>
<tr>
<td colspan="3"><b>JUMLAH YANG DIAMBIL</b></td>
<td align="center"><input type="text" name="totalsks" size="3" maxlength="3" id="jsks" readonly="readonly" style="text-align:center; color:red;"></td>
</tr>
<tr><td colspan="4" align="center"><input type="submit" value="Proses" style="cursor:pointer;"></td></tr>
</table>
</form>
</div>
</div>
</body>
</html>




outputkrs.php

<html>
<head>
<title>Output KRS</title>
<style>
body { margin:0; padding:0; font-family:sans-serif; }
#wrapper { background:#9900cc; width:795px; height:650px; margin:0 auto; text-align:center; padding-top:5px; }
#tabel_krs { background:#ffffff; width:700px; margin:0 auto; text-align:left; }
</style>
<?php
mysql_connect("localhost","root","");
mysql_select_db("belajar");

/* Start = menentukan semester ganjil/genap */
$nama_bulan = array('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember');
$bulan = date('n') - 1;
$bulan_ini = $nama_bulan[$bulan];
$data_arr = array(0 => array("semester" => 0, "month" => "Agustus September Oktober November Desember"),
1 => array("semester" => 1, "month" => "Januari Februari Maret April Mei Juni Juli")
);
for ($i=0; $i<count($data_arr); $i++) {
if ($bulan_ini == $data_arr[$i]['month']){
$bulan_ini = 'Ganjil';
}
else {
$bulan_ini = 'Genap';
}
}
$semester = $bulan_ini;
/* End = menentukan semester ganjil/genap */

/* Start = menentukan tahun ajaran sekarang */
$tahun_ini = date('Y');
$tahun_kemarin = $tahun_ini - 1;
$tahun = $tahun_kemarin."/".$tahun_ini;
/* Start = menentukan tahun ajaran sekarang */

$npm = $_POST['npm'];
$mk = $_POST['mk'];

//cek apakah mahasiswa sudah pernah isi KRS di semester sekarang atau belum
$cek = mysql_query("SELECT * FROM krs WHERE npm='$npm' AND semester='$semester' AND tahun='$tahun'");
if(mysql_num_rows($cek) > 0){
?>
<script>
alert("No NPM <?=$npm;?> sudah pernah mengisi KRS pada semester ini");
window.close();
if (window.close){
window.location = "index.php"
}
</script>
<?php
}
else {
foreach($mk as $value){
$input = mysql_query("INSERT INTO krs (npm, kode_matkul, semester, tahun) VALUES('$npm', '$value', '$semester', '$tahun')");
}
?>
<script>
alert("Data berhasil dimasuka ke database");
</script>
<?php
}
?>
</head>
<body>
<div id="wrapper">
<h2>Berikut KRS yang anda ambil :</h2>
<div id="tabel_krs">
<table border="1" width="100%" cellpadding="1" cellspacing="1">
<tr align="center" style="background:#9966FF">
<th height="25">No.</th>
<th>Kode Mata Kuliah</th>
<th>Nama Mata Kuliah</th>
<th>Semester</th>
<th>Tahun</th>
<th>SKS</th>
</tr>
<?php
$krs = mysql_query("SELECT a.kode_matkul, a.semester, a.tahun, b.nama_matkul, b.sks FROM krs a LEFT JOIN matakuliah b ON b.kode_matkul = a.kode_matkul WHERE a.npm='$npm' AND a.semester='$semester' AND a.tahun='$tahun'");
$jum = 0;
$i = 1;
while($k = mysql_fetch_array($krs)){
?>
<tr>
<td><?=$i;?></td>
<td><?=$k['kode_matkul'];?></td>
<td><?=$k['nama_matkul'];?></td>
<td align="center"><?=$k['semester'];?></td>
<td align="center"><?=$k['tahun'];?></td>
<td align="center"><?=$k['sks'];?></td>
</tr>
<?php
$jum = $jum + $k['sks'];
$i++;
}
?>
<tr><td colspan="5"><b>JUMLAH SKS</b></td><td align="center"><b><?=$jum;?></b></td></tr>
</table>
<p>
<center><input type="button" value="Cetak" onclick="window.print();" style="cursor:pointer;" /></center>
</div>
</div>
</body>
</html>


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivyiLV-KuxZhLbX1nTFX2lBuJtki8Opr5p_affz5wF5NTLGp0-bJ8RpjfoH8PlIqZs5tYnQBTMgr9PpX5vFGFfXr4XQ-6qGg5-VT6LPB8EMsLU1A-x3XE6iR2v_I1E81yQ5abdhEVneTE/s1600/output_krs.jpg 


Sekian dari saya kalau ada kekurangan dari pembuatan aplikasi ini mohon maaf 😊