function daftar() { global $_lf; $Cekdl = GetaField("mhsw", "MhswID", $_SESSION['mhswid'], "MhswID"); if (empty($Cekdl) && empty($tahun)) { echo ErrorMsg("Mahasiswa Tidak Ditemukan", "Tidak ada mahasiswa dengan NPM: <b>{$_SESSION['mhswid']}</b>"); } else { $q = "SELECT mk.MKID, mk.MKKODE as mkkode, mk.Nama as mknama, mk.SKS as SKS, krs.GradeNilai as nilai, \r\n\t\t\t krs.TahunID as thnid, krs.BobotNilai\r\n\t\t\t from krs\r\n\t\t\t \tleft outer join mk on mk.MKID = krs.MKID\r\n\t\t\t\t left outer join mhsw on mhsw.MhswID = krs.MhswID\r\n\t\t\t where \r\n\t\t \t \tkrs.MhswID = '{$_SESSION['mhswid']}'\r\n\t\t \t \tand krs.tahunID < '{$_SESSION['tahun']}'\r\n\t\t \t \tand krs.BobotNilai >0\r\n order by mk.MKKode, krs.TahunID"; $hsl = _query($q); //buat file $maxcol = 160; $nmf = "tmp/{$_SESSION['_Login']}.dwoprn"; $f = fopen($nmf, 'w'); fwrite($f, chr(27) . chr(77) . chr(27) . chr(15) . $_lf); $div = str_pad('-', $maxcol, '-') . $_lf; // parameter2 $n = 0; $hal = 1; $brs = 0; $maxbrs = 48; $_Tgl = date("d-m-Y"); $JnsTahun = NamaTahun($_SESSION['tahun']); $FakNama = GetFields("mhsw left outer join prodi p on mhsw.ProdiId = p.ProdiID \r\n\t\t\t\t\tleft outer join fakultas f on f.FakultasID = p.FakultasID", "mhsw.MhswID", $_SESSION['mhswid'], "p.nama as pnama, f.nama as fnama"); $BatasStudi = GetaField("mhsw", "MhswID", $_SESSION['mhswid'], "BatasStudi"); $BatasStudi = NamaTahun($BatasStudi); $DtMhs = GetFields('mhsw', 'MhswID', $_SESSION['mhswid'], "Nama,IPK,TotalSKS"); $hdr = str_pad("*** Daftar Rekapitulasi Nilai dan Prasyarat ***", $maxcol, ' ', STR_PAD_BOTH) . $_lf; //$hdr .= str_pad("-----------------------------------------------",$maxcol,' ', STR_PAD_BOTH) . $_lf.$_lf; $hdr .= str_pad("NIM", 15, ' ') . str_pad(":", 2, ' ') . str_pad($_SESSION['mhswid'] . ' ' . $DtMhs['Nama'], 87, ' ', STR_PAD_RIGHT) . $_lf; $hdr .= str_pad("FAK/JUR", 15, ' ') . str_pad(":", 2, ' ') . str_pad($FakNama['pnama'] . '/' . $FakNama['fnama'], 87, ' ', STR_PAD_RIGHT) . $_lf; $hdr .= str_pad("SEMESTER", 15, ' ') . str_pad(":", 2, ' ') . str_pad($JnsTahun, 87, ' ', STR_PAD_RIGHT) . $_lf; $hdr .= str_pad("BATAS STUDI", 15, ' ') . str_pad(":", 2, ' ') . str_pad("Semester " . $BatasStudi, 87, ' ', STR_PAD_RIGHT) . $_lf; $hdr .= $div; $hdr .= "No. MATA KULIAH \t\t\t SKS NILAI SEM PRASYARAT" . $_lf . $div; fwrite($f, $hdr); //ISI $jumrec = _num_rows($hsl); $jumhal = ceil($jumrec / $maxbrs); while ($w = _fetch_array($hsl)) { $cekprodi = GetaField('mhsw', 'MhswID', $_SESSION['mhswid'], 'ProdiID'); $brs++; if ($brs > $maxbrs) { fwrite($f, $div); fwrite($f, str_pad("Halaman : " . $hal . '/' . $jumhal, 10, ' ') . $_lf); $hal++; $brs = 1; fwrite($f, chr(12)); fwrite($f, $hdr); } if ($cekprodi == "10") { $tdknilai = GetFields('nilai', "Nama", $w['nilai'], '*'); if ($tdknilai['HitungIPK'] == 'Y') { $bin = '*'; $_nilai = $w['nilai']; $nxk += $w['SKS'] * $w['BobotNilai']; $tSKS += $w['SKS']; } else { $bin = ''; $_nilai = '(' . $w['nilai'] . ')'; } } else { $_nilai = $w['nilai']; $nxk += $w['SKS'] * $w['BobotNilai']; //$ipk = $DtMhs['IPK']; $tSKS += $w['SKS']; } if ($kdmk != $w['mkkode']) { $kdmk = $w['mkkode']; $_kdmk = $kdmk; $_sks = $w['SKS']; $n++; } else { $_kdmk = ''; $_sks = ''; } if ($namamk != $w['mknama']) { $namamk = $w['mknama']; $_namamk = $namamk; } else { $_namamk = ''; } if ($n_ != $n) { $n_ = $n; $_n_ = $n_ . "."; $titik = "......"; } else { $_n_ = ''; } $pra_ = BuatNilai($w, $_SESSION['mhswid']); $isi = str_pad($_n_, 4, ' ') . ' ' . str_pad($_kdmk, 6) . ' ' . str_pad($_namamk, 46) . ' ' . str_pad($_sks, 7, ' ') . str_pad($_nilai, 4, ' ', STR_PAD_BOTH) . ' ' . str_pad($bin, 6, ' ') . str_pad($w['thnid'], 8, ' ') . ' ' . str_pad($pra_, 4, ' ') . ' ' . str_pad($w['pras'], 20) . $_lf; fwrite($f, $isi); } $ipk = $cekprodi == '10' ? $ipk = $nxk / $tSKS : $DtMhs; //fwrite($f, str_pad("Jumlah SKS : ",50, ' ',STR_PAD_LEFT).str_pad($JMLSKS,10,' ',STR_PAD_LEFT ).$_lf); fwrite($f, $div); fwrite($f, str_pad("IPK : " . number_format($DtMhs['IPK'], 2), 40, ' ', STR_PAD_LEFT) . str_pad("Total SKS : " . $DtMhs['TotalSKS'], 20, ' ', STR_PAD_LEFT) . $_lf); fwrite($f, $div); fwrite($f, str_pad("Halaman : " . $hal . '/' . $jumhal, 10, ' ') . $_lf); fwrite($f, str_pad("Dicetak oleh : " . $_SESSION['_Login'], 20, ' ') . str_pad("Dicetak Tgl : " . $_Tgl, 140, ' ', STR_PAD_LEFT) . $_lf . $_lf); fwrite($f, str_pad("Akhir laporan", 160, ' ', STR_PAD_LEFT)); fwrite($f, chr(12)); fclose($f); TampilkanFileDWOPRN($nmf, "akd.lap"); } }
function Cetak() { global $_lf; echo "<body bgcolor=#EEFFFF>"; // Parameters $pos = $_SESSION['BLANKO-POS']; $max = $_SESSION['BLANKO-MAX']; $nmf = $_SESSION['BLANKO-FILE']; $_khsid = $_SESSION['khsid']; $khsid = $_khsid[$pos]; if ($pos < $max) { $grs = str_pad("-", 150, '-') . $_lf; // Buat file $f = fopen($nmf, 'a'); $brs = 0; $maxbrs = 40; $hal = 1; fwrite($f, chr(27) . chr(77) . chr(15) . chr(27) . chr(108) . chr(8) . $_lf); $namathn = NamaTahun($_SESSION['tahun']); //$khsid = $_REQUEST['khsid']; $khs = GetFields('khs', 'KHSID', $khsid, '*'); $mhsw = GetFields("mhsw m\r\n left outer join program prg on m.ProgramID=prg.ProgramID\r\n left outer join prodi prd on m.ProdiID=prd.ProdiID", 'MhswID', $khs['MhswID'], "m.*, prg.Nama as PRG, prd.Nama as PRD"); $tahun = GetFields('tahun', "KodeID='{$khs['KodeID']}' and TahunID='{$khs['TahunID']}' and ProdiID", $khs['ProdiID'], '*'); $PA = GetaField('dosen', 'Login', $mhsw['PenasehatAkademik'], "concat(Nama, ', ', Gelar)"); if ($khs['Sesi'] > 1) { $ipslalu = GetIPSLalu($mhsw); } else { $ipslalu = 0; } $kecuali = KecualiMK($khs, $mhsw); $sqlkecuali = empty($kecuali) ? '' : "and not (j.MKKode in ({$kecuali}))"; $maxsks = GetaField("maxsks", "INSTR(ProdiID, '.{$mhsw['ProdiID']}.') > 0 and DariIP <= {$ipslalu} or SampaiIP >", $ipslalu, 'SKS'); $peringatan = " Anda masih memiliki utang semester lalu + denda 5% sebesar Rp.{$_bal}. {$_lf} \r\n Anda tidak akan mendapat KHS dan juga tidak dapat mendaftar KRS {$_lf}\r\n sebelum utang ini anda lunasi. {$_lf}\r\n Lakukan pembayaran di Bank sesuai dengan prosedur yang berlaku."; $hdr = str_pad("FORM LEMBAR RENCANA STUDI", 150, ' ', STR_PAD_BOTH) . $_lf . $_lf; $hdr .= str_pad($namathn, 150, ' ', STR_PAD_BOTH) . $_lf . $_lf; $hdr .= str_pad("NPM : {$mhsw['MhswID']}", 115, ' ') . $_lf; $hdr .= str_pad("Mahasiswa : {$mhsw['Nama']}", 115, ' ') . str_pad("SKS Maksimal : {$maxsks}", 18, ' ') . $_lf; $hdr .= str_pad("Program : {$mhsw['PRG']}", 115, ' ') . str_pad("IPS : {$ipslalu}", 18, ' ') . $_lf; $hdr .= str_pad("Prodi : {$mhsw['PRD']}", 115, ' ') . str_pad("Total SKS : {$mhsw['TotalSKS']}", 18, ' ') . $_lf; $hdr .= str_pad("P.A : {$PA}", 115, ' ') . str_pad("IPK : {$mhsw['IPK']}", 18, ' ') . $_lf; $hdr .= $grs . "NO. KODE MATA KULIAH SKS JEN KEL TAR ISI AMBIL HARI JAM PRASYARAT PARAF PA " . $_lf . $grs . $_lf; fwrite($f, $hdr); //$isi = GetIsiBlanko($khsid, $khs, $mhsw); $s = "select j.*, h.Nama as HR, time_format(j.JamMulai, '%H:%i') as JM,\r\n time_format(j.JamSelesai, '%H:%i') as JS, LEFT(j.Nama,45) as JNama, mod(mk.Sesi,2) as Sesi\r\n from jadwal j\r\n left outer join hari h on j.HariID=h.HariID\r\n\t left outer join mk on mk.MKID = j.MKID\r\n where j.KodeID='{$khs['KodeID']}'\r\n and j.TahunID='{$_SESSION['tahun']}'\r\n and INSTR(j.ProdiID, '.{$mhsw['ProdiID']}.')>0\r\n\t {$sqlkecuali}\r\n and j.JadwalSer=0\r\n order by j.MKKode"; //echo "<pre>$s</pre>"; //exit; $r = _query($s); $jumlahrec = _num_rows($r); $jumhal = ceil($jumlahrec / $maxbrs); $n = 0; //$isi = array(); //if (empty($bal)) { while ($w = _fetch_array($r)) { $brs++; if ($brs > $maxbrs) { $hal++; $brs = 1; fwrite($f, $grs); fwrite($f, str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf); fwrite($f, chr(12)); fwrite($f, $hdr); } if ($w['JumlahKelasSerial'] > 0) { $serial = GetSerial($w); } else { $serial = ''; } if ($kdmk != $w['MKKode']) { $kdmk = $w['MKKode']; $_kdmk = $kdmk; $n++; } else { $_kdmk = ''; } if ($n_ != $n) { $n_ = $n; $_n_ = $n_ . "."; $titik = "......"; } else { $_n_ = ''; $titik = ''; } $pra = BuatNilai($w, $mhsw); $arrPra = array(); $apa = array(); $apa2 = array(); $arrPra = explode(', ', $pra); if (Sizeof($arrPra) > 3) { for ($i = 0; $i < 3; $i++) { $apa[] = $arrPra[$i]; } for ($j = 3; $j < sizeof($arrPra); $j++) { $apa2[] = $arrPra[$j]; } } else { $__pra = $pra; } $__pra = empty($apa) ? $__pra : implode(", ", $apa); $_pra_ = empty($apa2) ? '' : implode(", ", $apa2); if ($mk != $w['JNama']) { $mk = $w['JNama']; $_mk = $mk; $_sks = $w['SKS']; $_pra = $__pra; $_pra2 = $_pra_; } else { $_mk = ''; $_sks = ''; $_pra = ''; $_pra2 = ''; } $_pra2_ = empty($_pra2) ? '' : str_pad(" ", 98, ' ') . str_pad($_pra2, 30, ' ') . $_lf; $as = $_n_ % 2 == 0 ? 11 : 18; $isi = str_pad($_n_, 4, ' ') . str_pad($_kdmk, 7) . str_pad($_mk, 41) . str_pad($_sks, 4, ' ', STR_PAD_Left) . str_pad($w['JenisJadwalID'], 2, ' ', STR_PAD_LEFT) . str_pad($w['NamaKelas'], 4, ' ', STR_PAD_LEFT) . str_pad($w['Kapasitas'], 6, ' ', STR_PAD_LEFT) . ' ' . str_pad($w['JumlahKRSMhsw'], 3, ' ', STR_PAD_LEFT) . ' ' . str_pad(".....", 4, ' ') . ' ' . str_pad($w['HR'], 7, ' ') . str_pad($w['JM'] . "-" . $w['JS'], 11, ' ') . ' ' . str_pad($_pra, 28, ' ') . str_pad($titik, $as, ' ', STR_PAD_LEFT) . $_lf . $_pra2_; fwrite($f, $isi); fwrite($f, $serial); //} //} else { //fwrite($f, $peringatan . $_lf); } $tgl = date('d-m-Y H:i'); $isi_ .= $grs; $isi_ .= str_pad("Jumlah", 139, ' ', STR_PAD_LEFT) . str_pad(":", 4, ' ') . str_pad(".......", 5, ' ') . $_lf . $grs; $isi_ .= str_pad("Hal. : " . $hal . '/' . $jumhal, $maxcol, ' ', STR_PAD_LEFT) . $_lf; $isi_ .= str_pad("Dicetak oleh : ", 4, ' ') . $_SESSION['_Login'] . ', ' . $tgl . $_lf; fwrite($f, $isi_); fwrite($f, chr(12) . $_lf); fclose($f); // refresh page echo "<p>Proses Lembar Rencana Studi: <font size=+2>{$pos}/{$max}</font><br />\r\n\t{$khsid} » {$khs['NamaMhsw']}</p>"; echo "<script type='text/javascript'>window.onload=setTimeout('window.location.reload()', 2);</script>"; } else { echo "<p>Pembuatan file Cetak Lembar Rencana Studi telah selesai.<br />\r\n\t Untuk memulai mencetak klik: <a href='{$nmf}'><img src='img/printer.gif' border=0></a></p>"; echo "<p>Untuk melihat preview klik <a href=blanko.preview.php?nmf={$nmf} target=_blank><img src='img/view.png' border=0></a></p>"; } $_SESSION['BLANKO-POS']++; }