BAB V PENUTUP
5.2 Saran
5.2 Saran
Berdasarkan masalah diatas setelah program diimplementasikan berikut saran-saran yang diberikan :
1. Sistem ini di perlukan perluasan jaringan untuk mempercepat dan mempermudah calon siswa dalam mengaksesnya.
72
DAFTAR PUSTAKA
[1] A. Susanto, 2013, Sistem Informasi Akuntansi, Bandung: Lingga Jaya. [2] Steinbart, B. Marshall, Romney och P. John, 2015, Sistem Informasi
Akuntansi Edisi 13, Jakarta: Salemba Empat.
[3] Mulyadi, 2016, Sistem Informasi Akuntansi, jakarta: Salemba Empat
[4] Hartono, 2013, Sistem Informasi Manajemen Berbasis Komputer, jakarta: Rineka Cipta.
[5] A. Kadir, 2014, Pengenalan Sistem Informasi Edisi Revisi, Yogyakarta: Andi.
[6] Supono och P. Virdiandry, 2016, Pemrograman Web dengan Menggunakan PHP dan Framework Codeigniter, Supono.
[7] A. Supriyanto, 2005, Pengantar teknologi Informasi Edisi Pertama, Jakarta: Salemba Empat.
[8] A. Rosa och M. Shalahuddin, 2014, Rekayasa Perangkat Lunak Struktur dan Berorientasi Objek, Bandung: Informatika.
[9] J. K. Kawistara och P. Hidayatullah, 2015, Pemrograman Web, Bandung: Informatika.
[10] T. e. a. Suryana, 2014, Aplikasi Internet Menggunakan HTML, CSS, & JavaScript, Jakarta: PT Elex Media Komputindo.
[11] Hidayatullah, Priyanto och K. K. Jauhari, 2017, Pemrograman WEB, Bandung: Informatika Bandung.
[12] Sibero och F. Alexander, 2014, Web Programming Power Pack, Yogyakarta: Mediakom.
[13] Pressman, 2015, Rekayasa Perangkat Lunak: Praktisi buku I, Yogyakarta: Andi,
[14] i. Supriyanto., 2005, Pengantar Teknologi Informasi Edisi Pertama, Jakarta: Salemba Empat.
LAMPIRAN
Lampiran 1 Biodata Peneliti
1. Data Pribadi
• Nama : Fuad Hariri
• Tempat, Tgl Lahir : Bekasi, 12 Juni 1995 • Jenis Kelamin : Laki-laki
• Kewarganegaraan : Indonesia
• Status : Belum kawin
• Alamat Sekarang : Kp. Cibuntu Rt.01 Rw.06 Kec.cibitung Kab.Bekasi
• Telephone : 087741458706
• Email : fuadhariri0@gmail.com
2. Pendidikan
• SD Negeri Cibuntu 01 2001 – 2007
• SMP Negeri 2 Tambun Selatan 2007 – 2010
• SMK Bina Prestasi 2010 – 2013
Bekasi, 29 Agustus 2019
74
LAMPIRAN
Lampiran 2 Kode Program Sistem Berbasis Web Di SMK Bina Prestasi
1. Login.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access
allowed');
class Login extends CI_Controller{ function __construct(){
parent::__construct();
date_default_timezone_set('Asia/Jakarta'); $this->expiration = 120;
}
function index($notice = FALSE, $url = FALSE){ if(is_login()) redirect ('a/home/index');
////////////////////// START CAPCAY //////////////////////
$this->load->helper('captcha'); $vals = array(
'font_path' => './psb-content/fonts/texb.ttf', 'img_path' => './psb-content/captcha/',
'img_url' => base_url().'psb-content/captcha/', 'img_width' => 145,
'img_height' =>30,
'expiration' => $this->expiration
);
$cap = create_captcha($vals); $data = array(
'captcha_time' => $cap['time'],
'ip_address' => $this->input->ip_address(), 'word' => strtolower($cap['word'])
);
$query = $this->db->insert_string('captcha', $data); $this->db->query($query);
$this->db->query("DELETE FROM captcha WHERE captcha_time <
".(time()-($this->expiration))); //hapus capcay expired
////////////////////// END CAPCAY //////////////////////
$data['url'] = array('a', __CLASS__, __FUNCTION__); $data['judul'] = 'Halaman Login';
$data['notice'] = array('', '');
$data['post'] = 'a/login/index/'.$notice.'/'.$url;
$this->form_validation->set_rules('data_username', 'Username',
'trim|required|max_length[128]|alpha_dash|xss_clean');
$this->form_validation->set_rules('data_password', 'Password',
'trim|required|min_length[5]|max_length[128]|xss_clean');
$cek_capcay = $this->form_validation->set_rules('data_capcay',
'Captcha',
'trim|required|max_length[8]|xss_clean|callback_cek_capcay'); if($this->form_validation->run()){
$user_username = $this->input->post('data_username', TRUE); $user_password = md5(sha1($this->input
->post('data_password', TRUE)));
if(login($user_username, $user_password) AND $cek_capcay){ if(strlen(decode($url)) > 0) redirect(decode($url)); else redirect('a/home/index');
}
else {$data['notice'] = array('red', 'ERROR : Data tidak lengkap');}
} else{
if(css_notice(validation_errors())) $data['notice'] =
array('red', 'ERROR : Data tidak lengkap!');
elseif($notice == 'logouttrue') $data['notice'] =
array('yellow', 'NOTICE : Sekarang anda keluar!');
elseif($notice == 'loginfalse') $data['notice'] =
array('yellow', 'NOTICE : Saat ini anda tidak login!');
elseif($notice == 'email') $data['notice'] = array('green',
'SUCCESS : Silahkan cek email untuk mereset password!'); elseif($notice == 'resettrue') $data['notice'] =
76
login!'); }
$this->load->view(view('login', 'view_login'), $data); }
function cek_capcay(){
$user_expiration = time()-($this->expiration);
$user_capcay = strtolower($this->input->post('data_capcay',
TRUE));
if (capcay($user_expiration, $user_capcay)) { return TRUE;
} else{
$this->form_validation->set_message('cek_capcay', 'SALAH'); return FALSE;
} }
function logout(){
if(!is_login()) redirect('a/login/index/loginfalse'); if(logout()) redirect('a/login/index/logouttrue'); }
function forgot($notice = FALSE){
if(is_login()) redirect ('a/home/index'); $this->load->model('a/model_login');
$data['url'] = array('a', __CLASS__, __FUNCTION__); $data['judul'] = 'Lupa Password';
$data['notice'] = array('', ''); $data['post'] = 'a/login/forgot/';
$this->form_validation->set_rules('data_username_email', ' ',
'trim|required|max_length[128]|alpha_dash|xss_clean'); if($this->form_validation->run()){
$user_username_email = $this->input ->post('data_username_email', TRUE);
$query = $this->model_login ->forgot(array($user_username_email)); if($query->num_rows() == 1){ $query = $query->row_array();
$reset_users = $query['user_id']; $reset_link =
encode(encode(sha1(encode(md5(encode($query['user_id']. '-'.time()))))));
$reset_input = date('Y-m-d H:i:s', time()); //hari ini
$reset_expired = date('Y-m-d H:i:s', time() + (1 * 24 *
60 * 60)); //1hari
$add_reset_pass = $this->model_login
->add_reset_pass(array($reset_users, $reset_link, $reset_input,
$reset_expired));
// kirim email
$this->load->library('email');
$this->email->from(setting('sekolah_email'),
setting('sekolah_nama'));
$this->email->to($query['user_email']); $this->email->subject(setting('web_judul')); $this->email->message('Reset Password = '.base_url().'a/login/reset/'.$reset_link);
$this->email->send(); //echo $this->email->print_debugger();
redirect('a/login/index/email'); }
else $data['notice'] = array('yellow', 'NOTICE : Username tidak ditemukan!');
} else{
if(css_notice(validation_errors())) $data['notice'] =
array('red', 'ERROR : Data tidak lengkap!'); }
$this->load->view(view('login', 'view_forgot'), $data); }
function reset($id = FALSE){
if(is_login()) redirect ('a/home/index'); $this->load->model('a/model_login');
$query = $this->model_login->cek_reset_pass(array($id)); $query = $query->row_array();
78
if(count($query) == 0) show_404(); else{
$reset_input = strtotime($query['reset_input']); $reset_now = time();
$reset_expired = strtotime($query['reset_expired']); if($reset_input <= $reset_now AND $reset_now <=
$reset_expired) $data['link'] = TRUE; else $data['link'] = FALSE; }
$data['url'] = array('a', __CLASS__, __FUNCTION__); $data['judul'] = 'Update Password';
$data['notice'] = array('', ''); $data['post'] = 'a/login/reset/'.$id;
$this->form_validation->set_rules('data_password', ' ',
'trim|required|min_length[5]|max_length[128]|xss_clean'); $this->form_validation->set_rules('data_passconf', ' ',
'trim|required|matches[data_password]|xss_clean');
if($this->form_validation->run() AND $data['link']){ $user_password = md5(sha1($this->input
->post('data_password', TRUE)));
$this->model_login->edit_reset(array($user_password,
$query['reset_users'])); $this->model_login
->delete_reset(array($query['reset_users'])); redirect('a/login/index/resettrue'); }
else{
if(css_notice(validation_errors())) $data['notice'] =
array('red', 'ERROR : ERROR : Data tidak lengkap!'); }
$this->load->view(view('login', 'view_reset'), $data); }
2. Home.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access
allowed');
class Home extends CI_Controller{ function __construct(){
parent::__construct(); if(!is_login())
redirect('a/login/index/loginfalse/'.encode(uri_string())); date_default_timezone_set('Asia/Jakarta');
$this->load->model('a/model_home'); }
function index(){
$data['url'] = array('a', __CLASS__, __FUNCTION__); $data['notice'] = array('', '');
$data['judul'] = 'Beranda'; //pie
$data['pie_series'] = 'Hasil Seleksi'; $data['pie_satuan'] = 'orang';
$cek_gel_max = $this->model_home->cek_gel_max(); $cek_gel_max = $cek_gel_max->row_array();
$data['pie_judul'] = '<b>Statistik Hasil Seleksi
('.$cek_gel_max['gel_ta'].' - '.$cek_gel_max['gel_nama'].') :</b>'; $pie_pilihan_status = $this->model_home
->pie_pilihan_status(array($cek_gel_max['gel_id']));
$pie_pilihan_status = $pie_pilihan_status->result_array(); foreach ($pie_pilihan_status as $key=>$row)
$pie_pilihan_status[$key]['pilihan_status'] =
ucfirst($row['pilihan_status']);
$data['pie_pilihan_status'] = $pie_pilihan_status; //gel tahun terakhir
$cek_gel_ta_max = $this->model_home->cek_gel_ta_max(); $data['cek_gel_ta_max'] = $cek_gel_ta_max->result_array(); //kuota gel terkahir
80
$data['cek_kuota_gel_max'] = $cek_kuota_gel_max ->result_array();
//jurusan
$cek_jur = $this->model_home->cek_jur(); $data['cek_jur'] = $cek_jur->result_array(); //mapel
$cek_mapel = $this->model_home->cek_mapel(); $data['cek_mapel'] = $cek_mapel->result_array(); //user
$cek_users = $this->model_home->cek_users(); $data['cek_users'] = $cek_users->result_array(); $this->load->view(view('a', 'view_home'), $data); }
}
3. Siswa.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access
allowed');
class Siswa extends CI_Controller{ function __construct(){
parent::__construct(); if(!is_login())
redirect('a/login/index/loginfalse/'.encode(uri_string())); date_default_timezone_set('Asia/Jakarta');
$this->load->model('a/model_siswa'); }
function index($notice = FALSE, $gel_id = FALSE, $hapus_cari =
FALSE, $status = FALSE, $cari = FALSE){ //destroy session
if(strtolower($hapus_cari) == 'do'){
$this->session->unset_userdata('a_siswa_index_status'); $this->session->unset_userdata('a_siswa_index_cari');
}
if($gel_id === FALSE OR decode($gel_id) != $this->session ->userdata('a_siswa_index_gelombang')){
$this->session->unset_userdata('a_siswa_index_gelombang'); $this->session->unset_userdata('a_siswa_index_status'); $this->session->unset_userdata('a_siswa_index_cari'); }
// gelombang
if($gel_id === FALSE){
$cek_gel_max = $this->model_siswa->cek_gel_max(); $cek_gel_max = $cek_gel_max->row_array();
$gel_id = $cek_gel_max['gel_id']; // jika parameter kosong maka ambil gel_id paling akhir
}
else $gel_id = (int) decode($gel_id); //daftar gelombang tahun max
$cek_gel_ta = $this->model_siswa->cek_gel_ta(); // gelombang tahun max
$cek_gel_ta_max = $cek_gel_ta->row_array(); $cek_gel_ta = $cek_gel_ta->result_array();
if($gel_id == 0) $link_text = '<b><u>'.'Semua'.'</u></b>'; else $link_text = 'Semua';
//judul
$data['url'] = array('a', __CLASS__, __FUNCTION__);
$data['judul'] = 'Semua Siswa - '.$cek_gel_ta_max['gel_ta']; $data['notice'] = array('', '');
$data['filter_gel'][0] =
anchor('a/siswa/index/false/'.encode(0).'/do', $link_text); foreach ($cek_gel_ta as $row){
if($gel_id == $row['gel_id']) $link_text =
'<b><u>'.$row['gel_nama'].'</u></b>';
else $link_text = $row['gel_nama'];
$data['filter_gel'][$row['gel_id']] = ' |
'.anchor('a/siswa/index/false/'.encode($row['gel_id']).'/do',
82
}
// input
$this->form_validation->set_rules('data_status', ' ',
'trim|required|xss_clean|decode[]|is_equal[semua, sdh_dicek, blm_dicek]');
$this->form_validation->set_rules('data_cari', ' ',
'xss_clean');
if($this->form_validation->run()){
$status = $this->input->post('data_status', TRUE); $cari = $this->input->post('data_cari', TRUE); $this->session
->set_userdata(array('a_siswa_index_gelombang'=>$gel_id,
'a_siswa_index_status'=>$status, 'a_siswa_index_cari'=>$cari)); }
else{
if(css_notice(validation_errors())) $data['notice'] =
array('red', 'ERROR : Data tidak lengkap'); }
// status
if($status === FALSE){
if($this->session->userdata('a_siswa_index_status'))
$status = $this->session->userdata('a_siswa_index_status'); else $status = 'semua';
}
$data['status'] = $status;
$data['pilih_status']['semua'] = FALSE; $data['pilih_status']['sdh_dicek'] = FALSE; $data['pilih_status']['blm_dicek'] = FALSE;
if($status == 'semua') $data['pilih_status']['semua'] = TRUE; elseif($status == 'sdh_dicek')
$data['pilih_status']['sdh_dicek'] = TRUE; elseif($status == 'blm_dicek')
$data['pilih_status']['blm_dicek'] = TRUE;
$data['post'] = 'a/siswa/index/false/'.encode($gel_id); // search
get
if($this->session->userdata('a_siswa_index_cari')) $cari =
$this->session->userdata('a_siswa_index_cari'); else $cari = '';
}
else $cari = trim($cari);
$data['post_cari'] = 'a/siswa/index/false/'.encode($gel_id); $data['data_cari'] = $cari;
$query = $this->model_siswa->index(array($gel_id, $status,
$cari));
//cek kuota
$cek_jur = $this->model_siswa->cek_jur(); $cek_jur = $cek_jur->result_array();
if($query->num_rows == 0 AND strlen($cari) > 0)
$data['notice'] = array('yellow', 'NOTICE : Hasil pencarian untuk
<b>"'.$cari.'"</b> tidak ditemukan!');
elseif(count($cek_jur) == 0) $data['notice'] = array('red',
'ERROR : Jurusan belum memiliki kuota! '.anchor('a/kuota/add',
'Tambah Kuota'));
elseif($query->num_rows == 0) $data['notice'] =
array('yellow', 'NOTICE : Data siswa belum ada! '.anchor('a/siswa/add', 'Tambah Siswa'));
$data['query'] = $query->result_array();
if($notice == 'deletetrue') $data['notice'] = array('green',
'SUCCES : Hapus data berhasil!');
elseif($notice == 'edittrue') $data['notice'] = array('green',
'SUCCES : Edit data berhasil!');
elseif($notice == 'editfalse') $data['notice'] =
array('yellow', 'NOTICE : Data tidak berubah!');
elseif($notice == 'addtrue') $data['notice'] = array('green',
'SUCCES : Berhasil menambah data!');
elseif($notice == 'none') $data['notice'] = array('yellow',
'NOTICE : Data tidak ada!');
$this->load->view(view('a', 'view_siswa'), $data); }
84
= back setelah berhasil delete
$kelas = explode ('/', decode($url));
$data['url'] = array('a', strtolower($kelas[1]), 'index'); $data['judul'] = 'Hapus Siswa';
$data['notice'] = array('', '');
$data['get'] = 'a/siswa/delete/'.$siswa_id.'/'.$url.'/'.'do'; $data['back'] = decode($url);
$query = $this->model_siswa
->cek_siswa_id(array(decode($siswa_id)));
if($query->num_rows() == 0) redirect('a/siswa/index/none'); $query = $query->row_array();
$data['msg'] = 'Hapus Siswa "'.$query['siswa_nama'].'"?'; if($do == 'do'){
$hapus = $this->model_siswa ->delete(array($query['siswa_id'])); // start of hasil //
#######################################################
$this->load->helper('hasil'); //load helper
generate($query['siswa_gel']); // generate hasil
// end of hasil //
#########################################################
if($hapus){
$url = explode ('/', decode($url));
if(count($url) >= 3) $url[3] = 'deletetrue'; $url = implode('/', $url);
redirect($url); }
}
$this->load->view(view('a', 'view_/view_delete'), $data); }
function add($notice = FALSE){ $data['doOnLoad'] = TRUE;
$data['url'] = array('a', __CLASS__, __FUNCTION__); //$data['judul'] = 'Tambah Siswa'; // pindah bawah
$data['notice'] = array('', ''); $data['post'] = 'a/siswa/add';
$data['simpan'] = 'Simpan'; $data['back'] = 'a/siswa/index';
$cek_agama = $this->model_siswa->cek_agama(); $cek_agama = $cek_agama->result_array(); $cek_prov = $this->model_siswa->cek_prov(); $cek_prov = $cek_prov->result_array(); $cek_pend = $this->model_siswa->cek_pend(); $cek_pend = $cek_pend->result_array(); $cek_pek = $this->model_siswa->cek_pek(); $cek_pek = $cek_pek->result_array();
$cek_gel_max = $this->model_siswa->cek_gel_max(); $cek_gel_max = $cek_gel_max->row_array();
$cek_mapel = $this->model_siswa->cek_mapel(); $cek_mapel = $cek_mapel->result_array();
$cek_jentest = $this->model_siswa->cek_jentest(); $cek_jentest = $cek_jentest->result_array(); $cek_jur = $this->model_siswa->cek_jur(); $cek_jur = $cek_jur->result_array();
if(count($cek_jur) == 0) $data['notice'] = array('red', 'ERROR : Jurusan belum memiliki kuota! '.anchor('a/kuota/add', 'Tambah Kuota'));
// judul
$data['judul'] = 'Tambah Siswa - '.$cek_gel_max['gel_ta'].' - '.$cek_gel_max['gel_nama'];
// data siswa
$data['data_nama'] = '';
$data['data_nama_panggilan'] = ''; $data['data_jenis_kelamin_l'] = TRUE; $data['data_jenis_kelamin_p'] = FALSE; $data['data_tempat_lahir'] = '';
$data['data_tanggal_lahir'] = date('d-m-Y', time() - (16 * 360
* 86400));
$data['data_agama'] = $cek_agama; $data['pilih_agama'] = 1;
$data['data_sekolah_asal'] = ''; $data['data_sekolah_alamat'] = '';
86 $data['data_suku'] = ''; $data['data_anak_ke'] = ''; $data['data_jumlah_saudara'] = ''; $data['data_kecamatan'] = ''; $data['data_kabupaten'] = ''; $data['data_prov'] = $cek_prov; $data['pilih_prov'] = 1; $data['data_kode_pos'] = ''; $data['data_alamat'] = ''; $data['data_alamat_pos'] = ''; $data['data_telepon'] = ''; $data['data_hp'] = ''; $data['data_email'] = '';
$data['data_gol_darah_none'] = TRUE; $data['data_gol_darah_a'] = FALSE; $data['data_gol_darah_b'] = FALSE; $data['data_gol_darah_o'] = FALSE; $data['data_gol_darah_ab'] = FALSE; $data['data_tinggi_badan'] = ''; $data['data_berat_badan'] = ''; $data['data_penyakit'] = ''; $data['data_keterangan'] = '';
$data['data_status_sdh_dicek'] = TRUE; $data['data_status_blm_dicek'] = FALSE; // orang tua
$data['ot_nama_ayah'] = ''; // ayah
$data['ot_pend_ayah'] = $cek_pend; $data['pilih_pend_ayah'] = 2; $data['ot_pek_ayah'] = $cek_pek; $data['pilih_pek_ayah'] = 1; $data['ot_gaji_ayah'] = ''; $data['ot_hp_ayah'] = '';
$data['ot_nama_ibu'] = ''; //ibu
$data['ot_pend_ibu'] = $cek_pend; $data['pilih_pend_ibu'] = 2; $data['ot_pek_ibu'] = $cek_pek;
$data['pilih_pek_ibu'] = 1; $data['ot_gaji_ibu'] = ''; $data['ot_hp_ibu'] = ''; $data['ot_alamat_ortu'] = ''; $data['ot_nama_wali'] = ''; //wali
$data['ot_pend_wali'] = $cek_pend; $data['pilih_pend_wali'] = 2; $data['ot_pek_wali'] = $cek_pek; $data['pilih_pek_wali'] = 1; $data['ot_gaji_wali'] = ''; $data['ot_hp_wali'] = ''; $data['ot_alamat_wali'] = '';
$data['ot_status_asuh_ortu'] = TRUE; $data['ot_status_asuh_wali'] = FALSE; // nilai uan
$data['nilai_mapel'] = $cek_mapel; // nilai prestasi
$data['nilai_prestasi'] = ''; // nilai test
$data['test_jentest'] = $cek_jentest; // pilih jurusan
$data['pilihan_jumlah_pilihan'] =
$cek_gel_max['gel_jumlah_pilihan'];
$data['pilihan_jur'] = $cek_jur;
foreach ($cek_jur as $key => $row) $data['pilih_pilihan'][$key
+ 1] = $row['jur_id']; // data siswa
$this->form_validation->set_rules('data_nama', ' ',
'trim|required|max_length[128]|xss_clean');
$this->form_validation->set_rules('data_nama_panggilan', ' ',
'trim|max_length[32]|xss_clean');
$this->form_validation->set_rules('data_jenis_kelamin', ' ',
'trim|xss_clean|decode[]|is_equal[l, p]');
$this->form_validation->set_rules('data_tempat_lahir', ' ',
'trim|required|max_length[64]|xss_clean');
88
'trim|required|max_length[10]|xss_clean|is_date');
$this->form_validation->set_rules('data_sekolah_asal', ' ',
'trim|required|max_length[128]|xss_clean');
$this->form_validation->set_rules('data_sekolah_alamat', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('data_agama', ' ',
'trim|xss_clean|decode[]|is_in[agama.agama_id]');
$this->form_validation->set_rules('data_suku', ' ',
'trim|max_length[64]|xss_clean');
$this->form_validation->set_rules('data_anak_ke', ' ',
'trim|numeric|max_length[2]|less_than[99]|xss_clean');//
$this->form_validation->set_rules('data_jumlah_saudara', ' ',
'trim|numeric|max_length[2]|less_than[99]|xss_clean');//
$this->form_validation->set_rules('data_alamat', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('data_prov', ' ',
'trim|xss_clean|decode[]|is_in[provinsi.prov_id]');
$this->form_validation->set_rules('data_kabupaten', ' ',
'trim|max_length[64]|xss_clean');
$this->form_validation->set_rules('data_kecamatan', ' ',
'trim|max_length[64]|xss_clean');
$this->form_validation->set_rules('data_kode_pos', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('data_alamat_pos', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('data_telepon', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('data_hp', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('data_email', ' ',
'trim|valid_email|max_length[128]|xss_clean');
$this->form_validation->set_rules('data_gol_darah', ' ',
'trim|xss_clean|decode[]|is_equal[a, b, ab, o, none]');
$this->form_validation->set_rules('data_tinggi_badan', ' ',
'trim|max_length[16]|xss_clean');//
'trim|max_length[16]|xss_clean');//
$this->form_validation->set_rules('data_penyakit', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('data_keterangan', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('data_status', ' ',
'trim|xss_clean|decode[]|is_equal[sdh_dicek, blm_dicek]'); // orang tua
$this->form_validation->set_rules('ot_status_asuh', ' ',
'trim|xss_clean|decode[]|is_equal[ortu, wali]');
$this->form_validation->set_rules('ot_nama_ayah', ' ',
'trim|max_length[255]|xss_clean'); // ayah
$this->form_validation->set_rules('ot_pend_ayah', ' ',
'trim|xss_clean|decode[]|is_in[pendidikan.pend_id]');
$this->form_validation->set_rules('ot_pek_ayah', ' ',
'trim|xss_clean|decode[]|is_in[pekerjaan.pek_id]');
$this->form_validation->set_rules('ot_gaji_ayah', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_hp_ayah', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_nama_ibu', ' ',
'trim|max_length[255]|xss_clean'); // ibu
$this->form_validation->set_rules('ot_pend_ibu', ' ',
'trim|xss_clean|decode[]|is_in[pendidikan.pend_id]'); $this->form_validation->set_rules('ot_pek_ibu', ' ',
'trim|xss_clean|decode[]|is_in[pekerjaan.pek_id]');
$this->form_validation->set_rules('ot_gaji_ibu', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_hp_ibu', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_alamat_ortu', ' ',
'trim|max_length[255]|xss_clean');
$this->form_validation->set_rules('ot_nama_wali', ' ',
'trim|max_length[255]|xss_clean'); // wali
$this->form_validation->set_rules('ot_pend_wali', ' ',
90
$this->form_validation->set_rules('ot_pek_wali', ' ',
'trim|xss_clean|decode[]|is_in[pekerjaan.pek_id]');
$this->form_validation->set_rules('ot_gaji_wali', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_hp_wali', ' ',
'trim|max_length[16]|xss_clean');
$this->form_validation->set_rules('ot_alamat_wali', ' ',
'trim|max_length[255]|xss_clean'); // nilai uan
foreach($cek_mapel as $row) { $this->form_validation
->set_rules('nilai_mapel['.$row['mapel_id'].']', ' ',
'trim|required|is_nilai|xss_clean');
$jumlah_mapel = @$jumlah_mapel + 1; }
//nilai prestasi
$this->form_validation->set_rules('nilai_prestasi', ' ',
'trim|is_nilai|xss_clean'); // nilai test
foreach($cek_jentest as $row) $this->form_validation ->set_rules('test_jentest['.$row['jentest_id'].']', ' ',
'trim|is_nilai['.$jumlah_mapel.']|xss_clean'); // pilih jurusan
for($i = 1; $i <= $cek_gel_max['gel_jumlah_pilihan'];
$i++)$this->form_validation->set_rules('pilihan_jur['.$i.']', ' ',
'trim|required|xss_clean|decode[]|is_in[jurusan.jur_id]'); if($this->form_validation->run()){
$siswa_gel = $cek_gel_max['gel_id'];
$cek_siswa_max = $this->model_siswa->cek_siswa_max();
if($cek_siswa_max->num_rows() == 0) $siswa_no_pendaftaran = ($cek_gel_max['gel_kode'] * 10000) + 1;
else{
$cek_siswa_max = $cek_siswa_max->row_array();
$siswa_no_pendaftaran = ($cek_gel_max['gel_kode'] *
10000) + (substr($cek_siswa_max['siswa_no_pendaftaran'], 4, 4) + 1);
// siswa
$siswa_nama = $this->input->post('data_nama', TRUE); $siswa_nama_panggilan = $this->input
->post('data_nama_panggilan', TRUE);
$siswa_jenis_kelamin = $this->input ->post('data_jenis_kelamin', TRUE);
$siswa_tempat_lahir = $this->input ->post('data_tempat_lahir', TRUE);
$siswa_tanggal_lahir = date('Y-m-d', strtotime($this ->input->post('data_tanggal_lahir', TRUE)));
$siswa_sekolah_asal = $this->input ->post('data_sekolah_asal', TRUE);
$siswa_sekolah_alamat = $this->input ->post('data_sekolah_alamat', TRUE);
$siswa_agama = $this->input->post('data_agama', TRUE); $siswa_suku = $this->input->post('data_suku', TRUE);
$siswa_anak_ke = $this->input->post('data_anak_ke', TRUE); $siswa_jumlah_saudara = $this->input
->post('data_jumlah_saudara', TRUE);
$siswa_alamat = $this->input->post('data_alamat', TRUE); $siswa_prov = $this->input->post('data_prov', TRUE); $siswa_kabupaten = $this->input->post('data_kabupaten',
TRUE);
$siswa_kecamatan = $this->input->post('data_kecamatan',
TRUE);
$siswa_kode_pos = $this->input->post('data_kode_pos',
TRUE);
$siswa_alamat_pos = $this->input->post('data_alamat_pos',
TRUE);
$siswa_telepon = $this->input->post('data_telepon', TRUE); $siswa_hp = $this->input->post('data_hp', TRUE);
$siswa_email = $this->input->post('data_email', TRUE); $siswa_gol_darah = $this->input->post('data_gol_darah',
TRUE);
$siswa_tinggi_badan = $this->input ->post('data_tinggi_badan', TRUE);
92
$siswa_berat_badan = $this->input->post('data_berat_badan',
TRUE);
$siswa_penyakit = $this->input->post('data_penyakit',
TRUE);
$siswa_tanggal_daftar = date('Y-m-d'); $siswa_tanggal_ulang = NULL;
$siswa_status = $this->input->post('data_status', TRUE); $siswa_keterangan = $this->input->post('data_keterangan',
TRUE);
$query_siswa = $this->model_siswa
->add_siswa(array($siswa_gel, $siswa_no_pendaftaran, $siswa_nama,
$siswa_nama_panggilan, $siswa_jenis_kelamin, $siswa_tempat_lahir,
$siswa_tanggal_lahir, $siswa_sekolah_asal, $siswa_sekolah_alamat,
$siswa_agama, $siswa_suku, $siswa_anak_ke, $siswa_jumlah_saudara,
$siswa_alamat, $siswa_prov, $siswa_kabupaten, $siswa_kecamatan,
$siswa_kode_pos, $siswa_alamat_pos, $siswa_telepon, $siswa_hp,
$siswa_email, $siswa_gol_darah, $siswa_tinggi_badan,
$siswa_berat_badan, $siswa_penyakit, $siswa_tanggal_daftar,
$siswa_tanggal_ulang, $siswa_status, $siswa_keterangan));
$siswa_id = $this->db->insert_id(); // orang tua
$ot_nama_ayah = $this->input->post('ot_nama_ayah', TRUE); $ot_pend_ayah = $this->input->post('ot_pend_ayah', TRUE); $ot_pek_ayah = $this->input->post('ot_pek_ayah', TRUE); $ot_gaji_ayah = $this->input->post('ot_gaji_ayah', TRUE); $ot_hp_ayah = $this->input->post('ot_hp_ayah', TRUE); $ot_nama_ibu = $this->input->post('ot_nama_ibu', TRUE); $ot_pend_ibu = $this->input->post('ot_pend_ibu', TRUE); $ot_pek_ibu = $this->input->post('ot_pek_ibu', TRUE); $ot_gaji_ibu = $this->input->post('ot_gaji_ibu', TRUE); $ot_hp_ibu = $this->input->post('ot_hp_ibu', TRUE); $ot_alamat_ortu = $this->input->post('ot_alamat_ortu',
TRUE);
$ot_nama_wali = $this->input->post('ot_nama_wali', TRUE); $ot_pend_wali = $this->input->post('ot_pend_wali', TRUE); $ot_pek_wali = $this->input->post('ot_pek_wali', TRUE);
$ot_gaji_wali = $this->input->post('ot_gaji_wali', TRUE); $ot_hp_wali = $this->input->post('ot_hp_wali', TRUE); $ot_alamat_wali = $this->input->post('ot_alamat_wali',
TRUE);
$ot_status_asuh = $this->input->post('ot_status_asuh',
TRUE);
$query_ot = $this->model_siswa
->add_orang_tua(array($siswa_id, $ot_nama_ayah, $ot_pend_ayah,
$ot_pek_ayah, $ot_gaji_ayah, $ot_hp_ayah, $ot_nama_ibu,
$ot_pend_ibu, $ot_pek_ibu, $ot_gaji_ibu, $ot_hp_ibu,$ot_alamat_ortu,
$ot_nama_wali, $ot_pend_wali, $ot_pek_wali, $ot_gaji_wali,
$ot_hp_wali, $ot_alamat_wali, $ot_status_asuh));
// nilai
$nilai_mapel = $this->input->post('nilai_mapel', TRUE); foreach($cek_mapel as $row) $query_nilai = $this
->model_siswa->add_nilai(array($siswa_id, $row['mapel_id'],