Menambah Jalur Pendaftaran di Aplikasi PPDB 5 Pro
Aplikasi PPDB 5 Pro memiliki teknik pengkodean OOP yang sederhana sehingga mudah untuk dikembangkan oleh siapapun. Dalam kesempatan kali ini saya ingin menjelaskan tentang bagaimana menambah atau membuat modul baru pada aplikasi ppdb 5 pro khususnya modul untuk manajemen jalur pendaftaran. Jalur Pendaftaran ini nantinya akan menjadi bagian dari komponen pendukung untuk pilihan caln peserta didik
Dalam contoh modul ini, kode nantinya akan terbagi menjadi dua sisi/bagian dimana kita akan mengatur untuk interface administartor untuk proses manajemen data jalur pendaftarannya, lalu jika sudah selesai maka Jalur Pendaftaran tersebut akan tersedia didalam pilihan saaat pertama kali calon peserta didik mendaftar
Berikut ini adalah Menambah Jalur Pendaftaran di Aplikasi PPDB 5 Pro
#CRUD Jalur Pendaftaran Admin
1. Siapkan Database
Silahkan jalankan query berikut pada MySQL/MariaDB Anda
CREATE TABLE `komponen_jalur` (
`id_jalur` smallint(5) UNSIGNED NOT NULL,
`nama_jalur` varchar(65) DEFAULT NULL,
`status_jalur` tinyint(1) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Dumping data for table `komponen_jalur`
--
INSERT INTO `komponen_jalur` (`id_jalur`, `nama_jalur`, `status_jalur`) VALUES
(5, 'Gelombang I', 1),
(6, 'Gelombang II', 1),
(7, 'Gelombang III', 1),
(8, 'Reguler', 0);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `komponen_jalur`
--
ALTER TABLE `komponen_jalur`
ADD PRIMARY KEY (`id_jalur`),
ADD KEY `id_jalur` (`id_jalur`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `komponen_jalur`
--
ALTER TABLE `komponen_jalur`
MODIFY `id_jalur` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
COMMIT;
ALTER TABLE `field_siswa` ADD `jalur_pendaftaran` SMALLINT(5) UNSIGNED NULL DEFAULT NULL AFTER `jurusan_kedua`;
ALTER TABLE `field_siswa` ADD INDEX(`jalur_pendaftaran`);
ALTER TABLE `field_siswa` ADD CONSTRAINT `jalur_pendaftaran` FOREIGN KEY (`jalur_pendaftaran`) REFERENCES `komponen_jalur`(`id_jalur`) ON DELETE SET NULL ON UPDATE RESTRICT;
2. Buat File Jalurpendaftaran.php
Selanjutnya buat file baru misal dengan nama Jalurpendaftaran.php dan simpan didalam folder load seperti berikut
3. Tambahkan ke Autoload
Buka file Splautoload.php lalu tambahkan variabel $jalur dibawah $penghasilan seperti berikut
4. Kemudian dibawahnya tambahkan juga variabel $jalur nya seperti berikut
5. Kemudian buka file Moduleload.php kemudian tambakan baris seperti berikut
6. Tambahkan nilai jalur
Sisanya didalam constructor/dibawah script diatas tambahkan juga nilai jalur nya seperti contoh – contoh yang terdapat dibarisan script disana
7. Tambahkan ke fungsi apprun_admin
Selanjutnya bagian fungsi apprun_admin pada file moduleload.php, panggil modulenya seperti berikut
6. Terakhir buka file template.php lalu dibawah komponen tambahkan menunya seperti berikut
Jika berhasil nanti Akan ada interface dari administrator untuk menambah/mengelola jalur pendaftaran seperti berikut ini
# Menampilkan Pilihan Jalur di Pendaftar.
Selanjutnya jika interface untuk mengelola jalur pendaftaran sudah berhasil dibuat, maka kita perlu menampilkan pilihannya pada halaman pendaftaran
- Buka file Datasiswa.php, lalu pada function siswa_create tambahkan variabel $jalur dibawah $jur seperti berikut :
$jur1 = $this->app->post('jurusan_pertama'); $jur2 = $this->app->post('jurusan_kedua'); $jalur = $this->app->post('jalur_pendaftaran');
- Kemudian dibawahnya tepatnya pada fungsi InsertTable, tambahkan baris kolom jalurnya seperti berikut
if($this->obj->insertTable('field_siswa','uid,no_nik,no_kk,nisn,nama_siswa,jl,tempat_lahir, tanggal_lahir, agama, gol_darah, tinggi_badan, berat_badan, riwayat_penyakit, status_keluarga, ank_ke, jml_saudara, mode_trans, tempat_tinggal, jarak_rumah, titik_koordinat, hobi, prestasi, al_lengkap, al_desa, al_kec, al_kab, al_prov, al_pos, kontak_siswa, kelas, jurusan_pertama, jurusan_kedua, jalur_pendaftaran, tgl_pendaftaran, tgl_masuk, tahun_masuk, no_kks, no_pkh, no_kip, status_pembayaran, kode_pendaftaran', ':uid,:no_nik,:no_kk,:nisn,:nama_siswa,:jl,:tempat_lahir,:tanggal_lahir,:agama,:gol_darah,:tinggi_badan,:berat_badan,:riwayat_penyakit,:status_keluarga,:ank_ke,:jml_saudara,:mode_trans,:tempat_tinggal,:jarak_rumah,:titik_koordinat,:hobi,:prestasi,:al_lengkap,:al_desa,:al_kec,:al_kab, :al_prov, :al_pos, :kontak_siswa,:kelas, :jurusan_pertama, :jurusan_kedua, :jalur_pendaftaran, :tgl_pendaftaran, :tgl_masuk, :tahun_masuk,:no_kks,:no_pkh,:no_kip, :status_pembayaran, :kode_pendaftaran', array ( ":uid"=>$uid, ":no_nik"=>$no_nik, ":no_kk"=>$no_kk, ":nisn"=>$user['name'], ":nama_siswa"=>$nama_siswa, ":jl"=>$jl, ":tempat_lahir"=>$tempat_lahir, ":tanggal_lahir"=>$tanggal_lahir, ":agama"=>$agama, ":gol_darah"=>$gol_darah, ":tinggi_badan"=>$tinggi_badan, ":berat_badan"=>$berat_badan, ":riwayat_penyakit"=>$riwayat_penyakit, ":status_keluarga"=>$status_keluarga, ":ank_ke"=>$anak_ke, ":jml_saudara"=>$jml_saudara, ":mode_trans"=>$mode_trans, ":tempat_tinggal"=>$tempat_tinggal, ":jarak_rumah"=>$jarak_rumah, ":titik_koordinat"=>$titik_koordinat, ":hobi"=>$hobi, ":prestasi"=>$prestasi, ":al_lengkap"=>$alamat_lengkap, ":al_desa"=>$desa, ":al_kec"=>$kec, ":al_kab"=>$kab, ":al_prov"=>$prov, ":al_pos"=>$pos, ":kontak_siswa"=>$kontak, ":kelas"=>$kel, ":jurusan_pertama"=>$jur1, ":jurusan_kedua"=>$jur2, ":jalur_pendaftaran"=>$jalur, ":tgl_pendaftaran"=>$tgl_pendaftaran, ":tgl_masuk"=>$tgl_masuk, ":tahun_masuk"=>$tahun_masuk, ":no_kks"=>$no_kks, ":no_pkh"=>$no_pkh, ":no_kip"=>$no_kip, ":status_pembayaran"=>$status_pembayaran, ":kode_pendaftaran"=>$kode_pendaftaran ) )): $success = $this->app->alert('alert-success','Data Anda berhasil disimpan'); $this->app->reload(3,'?page=data pribadi'); else: $success = $this->app->alert('alert-danger','Terjadi kesalahan. Gagal menambahkan data'); endif;
- Selanjutnya masih pada fungsi yang sama tambahkan html untuk pilih jalur pendaftaranya seperti berikut
<div class="row"> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Jalur Pendaftaran</label> <select class="form-control select2" name="jalur_pendaftaran"> <?php $jalur = $this->obj->selectTable('komponen_jalur','status_jalur=1','ORDER by id_jalur'); $jalur->execute(); if($jalur->rowCount() > 0) { while($jalur_daftar = $jalur->fetch(PDO::FETCH_ASSOC)) { echo '<option value='.$jalur_daftar['id_jalur'].'>'.$jalur_daftar['nama_jalur'].'</option>'; } } ?> </select> </div> </div> <?php if($this->jurusan['jurusan_status']==1) { ?> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Pilih jurusan I</label> <select class="form-control select2 txt-dark" name="jurusan_pertama"> <?php $jurusan = $this->obj->selectTable('field_jurusan_pertama',NULL,'ORDER by id_jurusan'); if($jurusan->rowCount() > 0) { while($rowJ = $jurusan->fetch(PDO::FETCH_ASSOC)) { echo '<option value='.$rowJ['id_jurusan'].'>'.$rowJ['nama_jurusan'].'</option>'; } } ?> </select> </div> </div> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Pilih jurusan II</label> <select class="form-control select2" name="jurusan_kedua"> <?php $jurusan = $this->obj->selectTable('field_jurusan_kedua',NULL,'ORDER by id_jurusan'); if($jurusan->rowCount() > 0) { while($rowJ = $jurusan->fetch(PDO::FETCH_ASSOC)) { echo '<option value='.$rowJ['id_jurusan'].'>'.$rowJ['nama_jurusan'].'</option>'; } } ?> </select> </div> </div> <?php }else{ ?> <input type="hidden" name="jurusan_pertama" value=""> <input type="hidden" name="jurusan_kedua" value=""> <?php }?> </div>
- Lalu masih pada file yang sama namun function yang berbeda
- Lihat bagian function siswa_data_pribadi($user)
<div class="row"> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Jalur Pendaftaran</label> <fieldset disabled> <input class="form-control" value="<?=$row['nama_jalur']?>"> </fieldset> </div> </div> <?php if($this->jurusan['jurusan_status']==1) { ?> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Pilih jurusan I</label> <fieldset disabled> <input class="form-control" value="<?=$row['jurusan_pertama']?>"> </fieldset> </div> </div> <div class="col-md-4"> <div class="form-group"> <label class="control-label mb-10">Pilih jurusan II</label> <fieldset disabled> <input class="form-control" value="<?=$row['jurusan_kedua']?>"> </fieldset> </div> </div> <?php }?> </div>
- Disana kita disabled pilihannya karena baik jurusan atau jalur pendaftaran hanya bisa dipilih sekali
- Selanjutnya buka file Appcostum.php, tambahkan komponen_jalur ke fungsi leftJoin dan leftJoin_printsiswa sehingga menjadi seperti berikut
public function leftJoin($uid) { try { $sql="SELECT *,field_jurusan_pertama.nama_jurusan AS jurusan_pertama, field_jurusan_kedua.nama_jurusan AS jurusan_kedua FROM field_siswa LEFT JOIN user_profile ON field_siswa.uid=user_profile.uid LEFT JOIN field_jurusan_pertama ON field_jurusan_pertama.id_jurusan=field_siswa.jurusan_pertama LEFT JOIN field_jurusan_kedua ON field_jurusan_kedua.id_jurusan=field_siswa.jurusan_kedua LEFT JOIN komponen_jalur ON komponen_jalur.id_jalur=field_siswa.jalur_pendaftaran WHERE field_siswa.uid='$uid' "; $stmt = $this->link->prepare($sql); $stmt->execute(); return $stmt; } catch(PDOException $e) { echo $e->getMessage(); } } public function leftJoin_printSiswa($uid) { /**$sql="SELECT * FROM field_siswa INNER JOIN user_profile ON field_siswa.uid=user_profile.uid INNER JOIN users ON field_siswa.uid=users.uid WHERE field_siswa.uid='$uid' "; $stmt = $this->link->prepare($sql); $stmt->execute(); return $stmt;**/ try { $sql="SELECT *,field_jurusan.nama_jurusan AS jurusan, field_jurusan.id_jurusan AS id_jurusan, field_jurusan.nama_jurusan AS jurusan,field_jurusan_pertama.nama_jurusan AS jurusan_pertama, field_jurusan_kedua.nama_jurusan AS jurusan_kedua, field_kelas.nama_kelas AS nama_kelas FROM field_siswa LEFT JOIN user_profile ON field_siswa.uid=user_profile.uid LEFT JOIN users ON field_siswa.uid=users.uid LEFT JOIN field_jurusan ON field_jurusan.id_jurusan=field_siswa.jurusan LEFT JOIN field_jurusan_pertama ON field_jurusan_pertama.id_jurusan=field_siswa.jurusan_pertama LEFT JOIN field_jurusan_kedua ON field_jurusan_kedua.id_jurusan=field_siswa.jurusan_kedua LEFT JOIN field_kelas ON field_kelas.id_kelas=field_siswa.kelas LEFT JOIN komponen_jalur ON komponen_jalur.id_jalur=field_siswa.jalur_pendaftaran WHERE field_siswa.uid='$uid' "; $stmt = $this->link->prepare($sql); $stmt->execute(); return $stmt; } catch(PDOException $e) { echo $e->getMessage(); } }
- Sampai disini proses selesai, Nanti jika berhasil akan ada pilihan jalur pendaftaran dan jika sudah dpilih maka nanti form akan disabled seperti berikut
- Jika misal hasil pilihan tersebut ingin ditampilkan pada hasil cetak pdf siswa, maka Anda bisa membuka file Printdata.php lalu pada function print_pdf_siswa_content($data) dan print_pdf_kartu_pendaftaran($data,$qrpath) Anda panggil variabelnya seperti berikut : $data['nama_jalur']
Jadi kurang lebih seperti itu tentang bagaimana Menambah Jalur Pendaftaran di Aplikasi PPDB 5 Pro
0 Response to "Menambah Jalur Pendaftaran di Aplikasi PPDB 5 Pro"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin