Script Kode KRS Online Sederhana

-- Table structure for table `matakuliah`
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);


-- Table structure for table `mahasiswa`
CREATE TABLE `mahasiswa` (
`npm` char(8) NOT NULL,
`nama` varchar(30) NOT NULL,
UNIQUE KEY `npm` (`npm`)
);


-- Insert data for table `mahasiswa`
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');


-- Table structure for table `krs`
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`)
);


Setelah itu buat file index.php nya

<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>

indexkrs




Selanjutnya buat file inputkrs.php
Dimana pada halaman ini kita akan menginput mata kuliah apa saja yang diambil oleh mahasiswa.

<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>
alert("NPM Anda belum terdaftar di Kampus ini");
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>

inputkrs



Dan yang terakhir, menampilkan mata kuliah yg diambil oleh mahasiswa.
Script untuk 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>

outputkrs




Sederhanakan?
Aplikasi ini masih bisa dikembangkan, seperti contoh: sudah berapa semester mahasiswa berkuliah di kampus tersebut dan masih banyak lagi deh..
  1. maaf mau nanya koding: misal di browser hasil koding krs yang sudah jadi kemudian ketika mau diinsert baru tapi nggak tampil di browser namun tampilnya hanya di data base aja.intinya koding hapus tabel krs yang ada di browser tanpa menghapus msqlnya...

    ReplyDelete
  2. kok pada inputan krs malah object not found yah?

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete