Example #1
0
function Isinya($p)
{
    $lbr = 190;
    $t = 5;
    JudulKolomnya($p);
    $s = "select p.*,\r\n      left(m.Nama, 28) as Mhsw,\r\n      m.TahunID, date_format(p.TglMulai, '%d-%m-%y') as _TglMulai,\r\n\t  date_format(p.TglSelesai, '%d-%m-%y') as _TglSelesai,\r\n      left(d.Nama, 28) as DSN, d.Gelar\r\n    from praktekkerja p\r\n      left outer join mhsw m on m.MhswID = p.MhswID and m.KodeID = '" . KodeID . "'\r\n      left outer join dosen d on d.Login = p.Pembimbing and d.KodeID = '" . KodeID . "'\r\n    where p.KodeID = '" . KodeID . "'\r\n      and p.TahunID = '{$_SESSION['TahunID']}'\r\n    order by m.ProdiID, m.MhswID";
    $r = _query($s);
    $n = 0;
    while ($w = _fetch_array($r)) {
        $n++;
        $p->SetFont('Helvetica', '', 8);
        $p->Cell(70, $t, '', 0, 0);
        $p->Cell(120, $t, $w['NamaPekerjaan'], 0, 0);
        $p->Ln($t / 2);
        $p->Cell(5, $t, $n, 0, 0);
        $p->Cell(20, $t, $w['MhswID'], 0, 0);
        $p->Cell(45, $t, $w['Mhsw'], 0, 0);
        $p->Cell(120, $t, '', 0, 0);
        $p->Cell(50, $t, $w['DSN'] . ', ' . $w['Gelar'], 0, 0);
        $p->Cell(18, $t, $w['_TglMulai'], 0, 0, 'C');
        $p->Cell(18, $t, $w['_TglSelesai'], 0, 0, 'C');
        $p->Ln($t / 2);
        $NamaPerusahaan = $w['NamaPerusahaan'] . ' - ' . $w['AlamatPerusahaan'] . ', ' . $w['KotaPerusahaan'];
        $p->SetFont('Helvetica', 'I', 8);
        $p->Cell(75, $t, '', 'B', 0);
        $p->Cell(115, $t, $NamaPerusahaan, 'B', 0);
        $p->Cell(86, $t, '', 'B', 0);
        $p->Ln($t);
    }
}
function Isinya($MhswID, $p)
{
    $lbr = 190;
    $t = 5;
    BuatHeadernya($MhswID, $p);
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 9);
    $s = "select k.*\r\n    from krs k\r\n      left outer join khs h on h.KHSID = k.KHSID and h.KodeID = '" . KodeID . "'\r\n      left outer join nilai n on k.GradeNilai=n.Nama and h.ProdiID=n.ProdiID and n.KodeID = '" . KodeID . "'\r\n\twhere k.MhswID = '{$MhswID}'\r\n\t\tand n.Lulus = 'N'\r\n    order by k.TahunID, k.MKKode";
    $r = _query($s);
    $n = 0;
    $_thn = "02n4lajwnrfvnaw34";
    while ($w = _fetch_array($r)) {
        if ($_thn != $w['TahunID']) {
            $p->Ln($t);
            $p->SetFont('Helvetica', 'B', 10);
            $p->Cell(0, $t, $w['TahunID'], 'B', 1);
            $n = 0;
            $p->SetFont('Helvetica', '', 9);
            $_thn = $w['TahunID'];
        }
        $n++;
        $p->Cell(8, $t, $n, 0, 0);
        $p->Cell(25, $t, $w['MKKode'], 0, 0, 'C');
        $p->Cell(100, $t, $w['Nama'], 0, 0);
        $p->Cell(15, $t, $w['SKS'], 0, 0, 'C');
        $p->Cell(15, $t, $w['GradeNilai'], 0, 0, 'C');
        $p->Cell(15, $t, $w['BobotNilai'], 0, 0, 'C');
        $p->Ln($t);
    }
}
function Isinya($Tanggal, $Kampus, $p)
{
    $lbr = 290;
    $t = 6;
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 10);
    $PilihanKompre = GetaField('prodi', "ProdiID='{$_SESSION['ProdiID']}' and KodeID", KodeID, 'PilihanKompre');
    if ($PilihanKompre == 'Y') {
        $s = "select kd.*, m.MhswID,left(m.Nama, 28) as Mhsw,m.KelasID, d.Nama as _DosenPenguji, kmu.Nama as _NamaMataUji,\r\n\t\t\tdate_format(kd.Tanggal, '%a') as _Hari, LEFT(kd.JamMulai, 5) as _JamUjian, LEFT(kd.JamSelesai, 5) as _JamSelesai, pa.Nama as _DosenPA\r\n\t\t\tfrom kompredosen kd \r\n\t\t\t\tleft outer join kompre k on kd.KompreID=k.KompreID and k.KodeID='" . KodeID . "'\r\n\t\t\t\tleft outer join mhsw m on m.MhswID = k.MhswID and m.KodeID = '" . KodeID . "'\r\n\t\t\t\tleft outer join dosen pa on pa.Login = m.PenasehatAkademik\r\n\t\t\t\tleft outer join dosen d on d.Login = kd.DosenID\r\n\t\t\t\tleft outer join komprematauji kmu on kmu.KompreMataUjiID=kd.KompreMataUjiID and kmu.KodeID='" . KodeID . "'\r\n\t\t\twhere kd.KodeID = '" . KodeID . "'\r\n\t\t  and k.Lulus = 'N'\r\n\t\t  and kd.Tanggal = '{$Tanggal}'\r\n\t\t  and kd.NA = 'N'\r\n\t\tgroup by k.MhswID\r\n\t\torder by kd.Tanggal";
    } else {
        $s = "select k.*, m.MhswID,left(m.Nama, 28) as Mhsw,m.KelasID, d.Nama as _DosenPenguji, \r\n\t\t\tdate_format(k.TanggalUjian, '%a') as _Hari, LEFT(k.JamMulai, 5) as _JamUjian, LEFT(k.JamSelesai, 5) as _JamSelesai, pa.Nama as _DosenPA\r\n\t\t\tfrom kompre k \r\n\t\t\t\tleft outer join mhsw m on m.MhswID = k.MhswID and m.KodeID = '" . KodeID . "'\r\n\t\t\t\tleft outer join dosen pa on pa.Login = m.PenasehatAkademik\r\n\t\t\t\tleft outer join dosen d on d.Login = k.DosenID\r\n\t\t\twhere k.KodeID = '" . KodeID . "'\r\n\t\t  and k.Lulus = 'N'\r\n\t\t  and k.TanggalUjian = '{$Tanggal}'\r\n\t\t  and k.NA = 'N'\r\n\t\tgroup by k.MhswID\r\n\t\torder by k.TanggalUjian";
    }
    $r = _query($s);
    $n = 0;
    $jum = _num_rows($r);
    while ($w = _fetch_array($r)) {
        $n++;
        $MataUji = $PilihanKompre == 'Y' ? ' (' . $w['_NamaMataUji'] . ')' : '';
        $p->Cell(8, $t, $n, 1, 0, 'C');
        $p->Cell(30, $t, $w['MhswID'], 1, 0, 'C');
        $p->Cell(60, $t, $w['Mhsw'], 1, 0);
        $p->Cell(50, $t, $w['_DosenPA'], 1, 0);
        $p->Cell(50, $t, $w['_DosenPenguji'] . $MataUji, 1, 0);
        $p->Cell(55, $t, $w['_JamUjian'] . ' - ' . $w['_JamSelesai'] . ' WIB', 1, 0, 'C');
        $p->Cell(20, $t, $w['RuangID'], 1, 0, 'C');
    }
}
function Isinya($MhswID, $KHSID, $p)
{
    $lbr = 190;
    $t = 5;
    BuatHeadernya($MhswID, $p);
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 9);
    $_Sesi = GetaField('khs', "KHSID='{$KHSID}' and KodeID", KodeID, 'Sesi') + 0;
    $s = "select bm.*\r\n    from bipotmhsw bm\r\n\t\tleft outer join khs k on bm.TahunID=k.TahunID and bm.MhswID=k.MhswID and k.KodeID='" . KodeID . "'\r\n\twhere bm.KodeID='" . KodeID . "' \r\n\t\tand bm.MhswID = '{$MhswID}'\r\n\t\tand k.Sesi <= {$_Sesi}\r\n\t\tand bm.TrxID = '-1'\r\n\t\tand bm.Besar > 0\r\n    order by k.TahunID";
    $r = _query($s);
    $n = 0;
    $ttl = 0;
    $ttlsemua = 0;
    $_thn = "02n4lajwnrfvnaw34";
    while ($w = _fetch_array($r)) {
        if ($_thn != $w['TahunID']) {
            if ($_thn != "02n4lajwnrfvnaw34") {
                $p->SetFont('Helvetica', 'B', 9);
                $p->Cell(8, $t, '', 'T', 0);
                $p->Cell(80, $t, "Total Beasiswa Tahun {$_thn}", 'T', 0);
                $p->Cell(0, $t, number_format($ttl, 0, ',', '.'), 'T', 0, 'R');
                $p->Ln(2 * $t);
            }
            $p->SetFont('Helvetica', 'B', 10);
            $p->Cell(0, $t, $w['TahunID'], 'TB', 1);
            $p->SetFont('Helvetica', '', 9);
            $_thn = $w['TahunID'];
            $n = 0;
            $ttl = 0;
        }
        $n++;
        $p->Cell(8, $t, $n . '.', 0, 0, 'R');
        $p->Cell(101, $t, $w['Nama'] . (empty($w['TambahanNama']) ? "" : '(' . $w['TambahanNama'] . ')'), 0, 0);
        $p->Cell(27, $t, number_format($w['Jumlah'], 0, ',', '.'), 0, 0, 'R');
        $p->Cell(27, $t, number_format($w['Besar'], 0, ',', '.'), 0, 0, 'R');
        $p->Cell(27, $t, number_format($w['Jumlah'] * $w['Besar'], 0, ',', '.'), 0, 0, 'R');
        $p->Ln($t);
        $ttl += $w['Jumlah'] * $w['Besar'];
        $ttlsemua += $w['Jumlah'] * $w['Besar'];
    }
    $p->SetFont('Helvetica', 'B', 9);
    $p->Cell(8, $t, '', 'T', 0);
    $p->Cell(80, $t, "Total Beasiswa ", 'T', 0);
    $p->Cell(0, $t, number_format($ttl, 0, ',', '.'), 'T', 0, 'R');
    $p->Ln(2 * $t);
    $p->Ln($t);
    $t = 6;
    $p->SetFont('Helvetica', 'B', 11);
    $p->Cell(130, $t, '', 0, 0);
    $p->Cell(35, $t, "Total Beasiswa:", 1, 0);
    $p->Cell(25, $t, number_format($ttlsemua, 0, ',', '.'), 1, 0, 'R');
}
Example #5
0
function Isinya($p)
{
    $lbr = 190;
    $t = 5;
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 8);
    $s = "select t.*, left(t.Judul, 75) as JDL,\r\n      left(m.Nama, 28) as Mhsw,\r\n      m.TahunID, date_format(t.TglMulai, '%d-%m-%y') as _TglMulai,\r\n\t  date_format(t.TglSelesai, '%d-%m-%y') as _TglSelesai,\r\n      left(d.Nama, 28) as DSN, d.Gelar\r\n    from ta t\r\n      left outer join mhsw m on m.MhswID = t.MhswID and m.KodeID = '" . KodeID . "'\r\n      left outer join dosen d on d.Login = t.Pembimbing and d.KodeID = '" . KodeID . "'\r\n    where t.KodeID = '" . KodeID . "'\r\n      and t.TahunID = '{$_SESSION['TahunID']}'\r\n    order by m.ProdiID, m.MhswID";
    $r = _query($s);
    $n = 0;
    while ($w = _fetch_array($r)) {
        $n++;
        $Judul = $w['Judul'];
        $JudulArr = array();
        if (strlen($Judul) < 76) {
            $JudulArr[] = $Judul;
        } else {
            $_Judul = $Judul;
            while (strlen($_Judul) > 0) {
                if (strlen($_Judul) > 76) {
                    $partialstring = substr($_Judul, 0, 76);
                    $temppos = strrpos($partialstring, ' ');
                    $partialstring = substr($_Judul, 0, $temppos);
                    $JudulArr[] = $partialstring;
                    $_Judul = substr($_Judul, $temppos + 1);
                } else {
                    $JudulArr[] = $_Judul;
                    $_Judul = '';
                }
            }
        }
        $partcount = 0;
        foreach ($JudulArr as $partial) {
            $p->Cell(70, $t, '', 0, 0);
            $p->Cell(120, $t, $partial, 0, 0);
            $p->Ln($t);
            $partcount++;
        }
        $p->SetY($p->GetY() - ($partcount + 1) * $t / 2);
        $p->Cell(5, $t, $n, 0, 0);
        $p->Cell(20, $t, $w['MhswID'], 0, 0);
        $p->Cell(45, $t, $w['Mhsw'], 0, 0);
        $p->Cell(120, $t, '', 0, 0);
        $p->Cell(50, $t, $w['DSN'] . ', ' . $w['Gelar'], 0, 0);
        $p->Cell(18, $t, $w['_TglMulai'], 0, 0, 'C');
        $p->Cell(18, $t, $w['_TglSelesai'], 0, 0, 'C');
        $p->SetY($p->GetY() + ($partcount - 1) * $t / 2);
        $p->Cell(276, $t, '', 'B', 0);
        $p->Ln($t);
    }
}
function Isinya($p)
{
    $lbr = 190;
    $t = 5;
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 7);
    $s = "select d.Nama, d.Login, d.NamaBank, d.NamaAkun, d.NomerAkun  \n    from dosen d\n    where d.NA='N'\n    order by d.Nama";
    $r = _query($s);
    $n = 0;
    while ($w = _fetch_array($r)) {
        $n++;
        $p->Cell(8, $t, $n, 1, 0);
        $p->Cell(25, $t, $w['Login'], 1, 0, 'C');
        $p->Cell(50, $t, $w['Nama'], 1, 0);
        $p->Cell(2, $t, '', 1, 0);
        $p->Cell(30, $t, $w['NamaBank'], 1, 0);
        $p->Cell(50, $t, $w['NamaAkun'], 1, 0);
        $p->Cell(25, $t, $w['NomerAkun'], 1, 0, 'R');
        $p->Ln($t);
    }
}
function Isinya($p)
{
    $lbr = 290;
    $t = 5;
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 8);
    $s = "select k.*, m.MhswID,left(m.Nama, 28) as Mhsw,m.KelasID\r\n  \t\tfrom kompre k\r\n      left outer join mhsw m on m.MhswID = k.MhswID and m.KodeID = '" . KodeID . "'\r\n\twhere k.KodeID = '" . KodeID . "'\r\n      and k.TahunID = '{$_SESSION['TahunID']}'\r\n\t  and k.Lulus = 'N'\r\n\t  and k.NA = 'N'\r\n    Group by k.MhswID";
    $r = _query($s);
    $n = 0;
    $jum = _num_rows($r);
    while ($w = _fetch_array($r)) {
        $hari = AmbilHari($w[_Hari]);
        $n++;
        $ss = "select k.*, LEFT(k.JamMulai, 5) as JM, LEFT(k.JamSelesai, 5) as JS, d.Nama as _Dosen\r\n\t\tfrom kompredosen k left outer join dosen d on k.DosenID=d.Login \r\n\t\twhere k.KompreID = '{$w['KompreID']}' and k.NA = 'N'\r\n\t\torder by k.Tanggal, k.JamMulai, k.JamSelesai";
        $qq = _query($ss);
        $nn = _num_rows($qq);
        $tt = $nn * $t;
        $p->Cell(5, $tt, '', '', 0);
        $p->Cell(8, $tt, $n, 1, 0);
        $p->Cell(20, $tt, $w['MhswID'], 1, 0);
        $p->Cell(60, $tt, $w['Mhsw'], 1, 0);
        while ($ww = _fetch_array($qq)) {
            $p->Cell(40, $t, $ww['_Dosen'], 1, 0);
            $p->Cell(55, $t, GetDateInWords($ww['Tanggal']) . " / " . $ww['JM'] . " - " . $ww['JS'] . " / " . $ww['RuangID'], 1, 1);
            $p->Cell(93);
        }
        //$p->Cell(55, $t, '', 'T', 0);
        $p->SetX(10);
    }
    $bulan = AmbilBulan(date('m'));
    $p->Ln($t);
    $identitas = GetFields('identitas', 'Kode', KodeID, "*");
    $pejabat = GetFields('pejabat', "KodeJabatan='KABAA' and KodeID", KodeID, 'Nama, Jabatan');
    $p->Cell(5, $t, '', '', 0);
    $p->Cell(50, $t, $identitas['Kota'] . ', ' . date('d') . " " . $bulan . " " . date('Y'), '', 0, 'C');
    $p->Ln($t * 4);
    $p->Cell(50, $t, $pejabat[Nama], 0, 0, 'C');
    $p->Ln($t);
    $p->Cell(50, $t, $pejabat[Jabatan], 0, 0, 'C');
}
function Isinya($TAID, $p)
{
    $lbr = 190;
    $t = 5;
    BuatHeadernya($TAID, $p);
    JudulKolomnya($p);
    $p->SetFont('Helvetica', '', 10);
    $s = "select tb.Catatan, \n\t  date_format(tb.TglBimbingan, '%d-%m-%y') as _TglBimbingan\n    from tabimbingan tb\n    where tb.TAID = '{$TAID}'\n    order by tb.TglBimbingan";
    $r = _query($s);
    $n = 0;
    while ($w = _fetch_array($r)) {
        $n++;
        $length = 80;
        $Judul = $w['Catatan'];
        $JudulArr = array();
        if (strlen($Judul) < $length) {
            $JudulArr[] = $Judul;
        } else {
            $_Judul = $Judul;
            while (strlen($_Judul) > 0) {
                if (strlen($_Judul) > $length) {
                    $partialstring = substr($_Judul, 0, $length);
                    $temppos = strrpos($partialstring, ' ');
                    $partialstring = substr($_Judul, 0, $temppos);
                    $JudulArr[] = $partialstring;
                    $_Judul = substr($_Judul, $temppos + 1);
                } else {
                    $JudulArr[] = $_Judul;
                    $_Judul = '';
                }
            }
        }
        $partcount = 0;
        foreach ($JudulArr as $partial) {
            $p->Cell(8, $t, '', 'L', 0);
            $p->Cell(30, $t, '', 'L', 0);
            $p->Cell(160, $t, $partial, 'L', 0);
            $p->Cell(0, $t, '', 'R', 0);
            $p->Ln($t);
            $partcount++;
        }
        $p->SetY($p->GetY() - ($partcount + 1) * $t / 2);
        $p->Cell(8, $t, $n, 0, 0);
        $p->Cell(30, $t, $w['_TglBimbingan'], 0, 0, 'C');
        $p->Cell(120, $t, '', 0, 0);
        $p->SetY($p->GetY() + ($partcount - 1) * $t / 2);
        $p->Cell(0, $t, '', 'B', 0);
        $p->Ln($t);
    }
    while ($n < 16) {
        $n++;
        $p->Cell(8, $t, '', 'LT', 0);
        $p->Cell(30, $t, '', 'LT', 0);
        $p->Cell(0, $t, '', 'LTR', 0);
        $p->Ln($t / 2);
        $p->Cell(5, $t, $n, 0, 0);
        $p->Ln($t / 2);
        $p->Cell(8, $t, '', 'LB', 0);
        $p->Cell(30, $t, '', 'LB', 0, 'C');
        $p->Cell(0, $t, '', 'LBR', 0);
        $p->Ln($t);
    }
}
Example #9
0
function BuatIsiTranskrip0($mhsw, $p)
{
    JudulKolomnya($p);
    // Reset nilai tertinggi
    ResetNilaiTertinggi($mhsw);
    BuatNilaiTertinggi($mhsw);
    // Tampilkan isinya
    $s = "select k.KRSID, k.MKKode, k.Nama, k.BobotNilai, k.GradeNilai, k.SKS, k.Tinggi, k.VoidOnTranskripBAA\r\n    from krs k left outer join jadwal j on k.JadwalID=j.JadwalID\r\n    where k.KodeID = '" . KodeID . "'\r\n      and k.MhswID = '{$mhsw['MhswID']}'\r\n      and k.Tinggi = '*'\r\n\t\t\tand k.SKS > 0\r\n\t\t\tand k.NA = 'N'\r\n\t\t\tand k.VoidOnTranskripBAA = 'N'\r\n    order by k.MKKode";
    $r = _query($s);
    $n = 0;
    $p->SetFont('Helvetica', '', 5);
    $t = 5;
    $_sks = 0;
    $_nxk = 0;
    $maxDataPstart = 41;
    // maksimum jml data di page pertama
    $maxDataPend = 41;
    // maksimum jml data di page terakhir
    $maxDataPbetw = 48;
    // maksimum jml data di page antara
    $counterData = 1;
    $xxx = 1;
    // faktor pengali duplikasi data untuk simulasi
    $jmlData = GetaField('krs k left outer join jadwal j on k.JadwalID=j.JadwalID', "k.MhswID = '{$mhsw['MhswID']}' and k.Tinggi = '*' and k.SKS > 0 and VoidOnTranskripBAA = 'N' and k.NA = 'N' and k.KodeID", KodeID, "count(k.MKKode)") + 0;
    // jumlah data yang diload
    $jmlData = $jmlData * $xxx;
    $jmlDataSelisih = $jmlData % 2;
    $jmlDataTengah = ($jmlData - $jmlDataSelisih) / 2;
    // + $jmlDataSelisih;
    $batasMinDataPend = 5;
    // banyaknya data di page terakhir yg apabila < 5 maka sisanya ambil dari page sebelumnya
    // Mengecek cases jml page satu per satu
    if ($jmlData <= 1 * 41) {
        // 1 page
        $jmlDataPend = ($jmlData - $maxDataPstart) % $maxDataPbetw;
        // menghitung banyaknya data di page terakhir
        if ($jmlDataPend > 0) {
            // ada >= 1 data di page terakhir => $jmlDataPend tidak pernah lebih besar dari 0 jadi tidak akan masuk ke if ini
        } else {
            // cek apakah footer menggantung di page terakhir
            if ($jmlDataPend == 0) {
                // page sebelum page terakhir banyak datanya ngepas mengisi page tsb, maka harus dipotong 5 data
                $faktorPenggeser = $batasMinDataPend;
                $posStartGeserPbef_end = $jmlData - $faktorPenggeser;
            } elseif ($jmlDataPend < 0) {
                // cek apakah footer masih menggantung
                if (abs($jmlData - $maxDataPstart) <= $batasMinDataPend + 3) {
                    // masih menggantung
                    $faktorPenggeser = $batasMinDataPend + (abs($jmlDataPend) - 1);
                    $posStartGeserPbef_end = $jmlData - $faktorPenggeser + (abs($jmlDataPend) - 1);
                } else {
                    $faktorPenggeser = 0;
                    $posStartGeserPbef_end = 0;
                }
            }
        }
    } elseif ($jmlData <= 2 * 41 && $jmlData > 1 * 41) {
        // 2 page
        $maxDataPbetw = 41;
        $jmlDataPend = ($jmlData - $maxDataPstart) % $maxDataPbetw;
        // menghitung banyaknya data di page terakhir
        if ($jmlDataPend > 0) {
            // ada >= 1 data di page terakhir maka ambil sisanya dari page 1
            if ($jmlDataPend < $batasMinDataPend) {
                // data di page terakhir kurang dari 5, faktor penggeser diisi sisanya dari page 1
                $faktorPenggeser = $batasMinDataPend - $jmlDataPend;
            } else {
                // data di page terakhir normal atau >= 5
                $faktorPenggeser = 0;
            }
            $posStartGeserPbef_end = $jmlData - $faktorPenggeser - $jmlDataPend;
        } else {
            // genap 2*41, $jmlDataPend akan = 0
            $faktorPenggeser = $batasMinDataPend * 2 + 1;
            $posStartGeserPbef_end = $jmlData - ($faktorPenggeser - 1) / 2;
        }
    } elseif ($jmlData >= 3 * 41) {
        // >= 3 page
        $jmlDataPend = ($jmlData - $maxDataPstart) % $maxDataPbetw;
        // menghitung banyaknya data di page terakhir
        if ($jmlDataPend > 0) {
            // ada >= 1 data di page terakhir
            if ($jmlDataPend < $batasMinDataPend) {
                // data di page terakhir kurang dari 5, faktor penggeser diisi sisanya
                $faktorPenggeser = $batasMinDataPend;
                $posStartGeserPbef_end = $jmlData - $faktorPenggeser;
            } else {
                // data di page terakhir normal atau >= 5, cek apakah footer menggantung
                if ($maxDataPbetw - $jmlDataPend <= $batasMinDataPend) {
                    // menggantung, geser 5
                    $faktorPenggeser = $batasMinDataPend + 1;
                    $posStartGeserPbef_end = $jmlData - $faktorPenggeser + 1;
                } else {
                    $faktorPenggeser = 0;
                    $posStartGeserPbef_end = 0;
                }
            }
        } else {
            // tidak ada data di page terakhir
            // cek apakah footer menggantung di page terakhir
            if ($jmlDataPend == 0) {
                // page sebelum page terakhir banyak datanya ngepas mengisi page tsb, maka harus dipotong 5 data
                $faktorPenggeser = $batasMinDataPend;
                $posStartGeserPbef_end = $jmlData - $faktorPenggeser;
                //$posStartGeserPbef_end = ($jmlData - $maxDataPend) - $faktorPenggeser;
            } elseif ($jmlDataPend < 0) {
                if (abs($jmlData - $maxDataPstart) <= $batasMinDataPend + 3) {
                    // masih menggantung
                    $faktorPenggeser = $batasMinDataPend + (abs($jmlDataPend) - 1);
                    $posStartGeserPbef_end = $jmlData - $faktorPenggeser + (abs($jmlDataPend) - 1);
                }
            }
        }
    }
    $p->SetFont('Helvetica', '', 5);
    $jmlCol = 1;
    while ($w = _fetch_array($r)) {
        for ($xx = 1; $xx <= $xxx; $xx++) {
            if ($counterData == 83) {
                // mencapai end of page 1, (83 = 2*41 + 1)
                JudulKolomnya($p);
                //Save ordinate
                $p->y0 = $p->GetY() - $t;
            }
            //else if ($counterData == 83) {}
            $p->SetFont('Helvetica', '', 5);
            /*if ($faktorPenggeser > 0) {
            			//if ($jmlDataPend < $batasMinDataPend) { // ada pergeseran dapat diketahui dengan membandingkan jmlDataPend dengan batasMinDataPend
            				if ($counterData == $posStartGeserPbef_end+1) { // +1 untuk Jumlah
            					for ($kaliGeser=1; $kaliGeser<=$faktorPenggeser+1; $kaliGeser++) { // +1 faktorPenggeser untuk Jumlah
            						$p->Cell(6, $t, '', 0, 0, 'C');
            						$p->Cell(12, $t, '', 0, 0);
            						$p->Cell(60, $t, '', 0, 0);
            						$p->Cell(8, $t, '', 0, 0, 'C');
            						$p->Cell(8, $t, '', 0, 0, 'C');
            						//$p->Cell(15, $t, '', 0, 0, 'C');
            						//$p->Cell(15, $t, '', 0, 0, 'C');
            						$p->Ln($t);
            					}
            				} 
            			//}
            		}	*/
            $n++;
            $mutu = $w['SKS'] * $w['BobotNilai'];
            $_nxk += $mutu;
            $_sks += $w['SKS'];
            if ($counterData <= $jmlDataTengah) {
                $p->Cell(6, $t, $n, 1, 0, 'C');
                $p->Cell(12, $t, $w['MKKode'], 1, 0, 'C');
                $p->Cell(60, $t, $w['Nama'], 1, 0);
                $p->Cell(8, $t, $w['SKS'], 1, 0, 'C');
                $p->Cell(8, $t, $w['GradeNilai'], 1, 0, 'C');
                //$p->Cell(15, $t, $w['BobotNilai'], 1, 0, 'C');
                //$p->Cell(15, $t, $mutu, 1, 0, 'C');
                $p->Ln($t);
            } else {
                if ($counterData == $jmlDataTengah + 1) {
                    $p->SetY(63);
                    $jmlCol++;
                    // Judul tabel
                    $p->SetX(108);
                    $t = 6;
                    $p->SetFont('Helvetica', 'B', 6);
                    $p->Cell(6, $t, '#', 1, 0, 'C');
                    $p->Cell(12, $t, 'Kode MK', 1, 0, 'C');
                    $p->Cell(60, $t, 'Nama Mata Kuliah', 1, 0, 'C');
                    $p->Cell(8, $t, 'SKS', 1, 0, 'C');
                    $p->Cell(8, $t, 'Nilai', 1, 0, 'C');
                    //$p->Cell(15, $t, 'Bobot', 1, 0, 'C');
                    //$p->Cell(15, $t, 'Mutu', 1, 0, 'C');
                    $p->Ln($t);
                }
                $p->SetX(108);
                // Data
                $t = 5;
                //$p->SetY(63);
                //$p->SetX(108);
                $p->SetFont('Helvetica', '', 5);
                $p->Cell(6, $t, $n, 1, 0, 'C');
                $p->Cell(12, $t, $w['MKKode'], 1, 0, 'C');
                $p->Cell(60, $t, $w['Nama'], 1, 0);
                $p->Cell(8, $t, $w['SKS'], 1, 0, 'C');
                $p->Cell(8, $t, $w['GradeNilai'], 1, 0, 'C');
                //$p->Cell(15, $t, $w['BobotNilai'], 1, 0, 'C');
                //$p->Cell(15, $t, $mutu, 1, 0, 'C');
                $p->Ln($t);
            }
            $counterData++;
        }
    }
    if ($jmlCol == 2) {
        $p->SetX(108);
    } else {
        $p->SetY($p->GetY() + 6);
    }
    // Tampilkan jumlahnya
    $p->SetFont('Helvetica', 'B', 6);
    $p->Cell(70, $t, 'JUMLAH:', '', 0, 'R');
    $p->Cell(24, $t, $_sks, '', 0, 'C');
    //$p->Cell(0, $t, '', 'BR', 0);
    //$p->Cell(1, $t, $_nxk, 'BR', 0, 'C');
    $p->Ln($t);
    $p->Ln(2);
}