Skip to main content

Gimana Caranya Membuat Rekap Data Absensi perSiswa

October 9, 2011 by Ariyawan

Ariyawan's picture

Salam,
Mohon bantuannya mas..
saya ingin membuat rekap data absensi persiswa saja. Saya udah berkali2 mencoba tetep gak muncul tampilan bahkan kadang2 malah error pada script d controller n models. :-)
Di kirim ke alamat e-mail saja.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

bisa tunjukin coding dan

October 11, 2011 by kento, 2 days 20 hours ago
Comment: 9152

kento's picture

bisa tunjukin coding dan DBnya gak?
Mungkin ane bisa bantu, walaupun ane juga nubie di CI.
Hehehe...

ini yg d controller SMA N 1

October 12, 2011 by Ariyawan, 1 day 1 hour ago
Comment: 9162

Ariyawan's picture

ini yg d controller

SMA N 1 Minggir

class Rekap extends Controller {
	/**
	 * Constructor
	 */
	function Rekap()
	{
		parent::Controller();
		$this->load->model('Rekap_model', '', TRUE);
		$this->load->model('Semester_model', '', TRUE);
		$this->load->model('Siswa_model', '', TRUE);
		$this->load->model('Mapel_model', '', TRUE);
		$this->load->model('Kelas_model', '', TRUE);
 
		// Load to_excel_pi plugins
		$this->load->plugin('to_excel');
	}
 
	var $title = 'rekap';
 
	/**
	 * Memeriksa user state, jika dalam keadaan login akan menjalankan fungsi main()
	 * jika tidak akan meredirect ke halaman login
	 */
	function index()
	{
		if ($this->session->userdata('login') == TRUE)
		{
			$this->main();
		}
		else
		{
			redirect('login');
		}
	}
 
	// Menampilkan halaman utama rekap nilai
	function main()
	{
		$data['title'] = $this->title;
		$data['h2_title'] = 'Rekap';
		$data['main_view'] = 'rekap/rekap';
		$data['form_action'] = site_url('rekap/get_rekap');
 
		// data kelas untuk dropdown menu
		$query_kelas = $this->Kelas_model->get_kelas();
		$kelas = $query_kelas->result();
		$num_rows = $query_kelas->num_rows();
 
		if ($num_rows > 0)
		{		
			foreach($kelas as $row)
			{
				$data['options_kelas'][$row->id_kelas] = $row->kelas;
			}
		}
		else
		{
			$data['options_kelas'][''] = '';
		}
 
		// data semester yang aktif
		$id_semester = $this->Semester_model->get_active_semester()->result();
		foreach($id_semester as $row)
		{
			$this->session->set_userdata('id_semester', $row->id_semester);
		}
 
		// data siswa yang dipilih
		$this->load->view('template', $data);
	}
 
	/**
	 * Mendapatkan data rekap nilai dari database, kemudian menampilkan di halaman
	 */
	function get_rekap($id_semester = 0, $id_kelas = 0, $nis=0, $tahun_ajaran=0)
	{		
		$data['title'] = $this->title;
		$data['h2_title'] = 'Rekap';
		$data['main_view'] = 'rekap/rekap';
		$data['form_action'] = site_url('rekap/get_rekap');
 
		// data kelas untuk dropdown menu
		$kelas = $this->Kelas_model->get_kelas()->result();
		foreach($kelas as $row)
		{
			$data['options_kelas'][$row->id_kelas] = $row->kelas;
		}
 
		// untuk kelas dan semester yang terpilih
		$data['default']['id_kelas'] = $id_kelas;
 
		// cek input parameter fungsi get_rekap()
		if ( ! ($id_semester == 0) && ! ($id_kelas == 0) && ! ($nis == 0) && ! ($tahun_ajaran == 0))
		{
			// data kelas, untuk kelas terpilih
			$kls = $this->Kelas_model->get_kelas_by_id($id_kelas);
			$data['active_class'] = $kls->kelas;
 
			// semester yang dipilih
			$data['semester'] = $id_semester;
 
			// nis siswa yang dipilih
			$data['default']['siswa'] = $nis;
			$data['default']['tahun_ajaran'] = $tahun_ajaran;
 
			// load data from database
			$nilai 		= $this->Rekap_model->get_rekap($nis, $id_semester, $id_kelas, $tahun_ajaran)->result();
			$num_rows 	= $this->Rekap_model->get_rekap($nis, $id_semester, $id_kelas, $tahun_ajaran)->num_rows();
 
			// jika query > 0
			if ($num_rows > 0)
			{
				// set table template for zebra row
				$tmpl = array('table_open'=>'<table border="0" cellpadding="0" cellspacing="0">',
							  'row_alt_start'=>'<tr class="zebra">',
							  'row_alt_end'=>'</tr>'
							  );
				$this->table->set_template($tmpl);
 
				// set table header
				$this->table->set_empty("&nbsp;");
				$this->table->set_heading('No', 'Kode Mapel', 'Nama Mapel', 'UTS', 'UAS', 'UKK', 'NilaiRapor', 'Deskripsi');
				$i = 0;
 
				foreach ($nilai as $row)
				{
					$this->table->add_row(++$i, $row->mapel, $uts, $uas, $ukk, $row->nilai, $row->deskripsi);
				}
 
				$data['table'] = $this->table->generate();
				$data['link'] = array('link_add' => anchor("rekap/download/$id_semester/$id_kelas/$nis/$tahun_ajaran/",'download', array('class' => 'excel'))
								);
 
				// Load view
				$this->load->view('template', $data);
			}
			// jika query < 0
			else
			{
				$this->session->set_flashdata('message', 'Data tidak ditemukan!');
				redirect('rekap');
			}
		}
		else
		{
			$id_semester = $this->session->userdata('id_semester');
			$id_kelas = $this->input->post('id_kelas');
			$nis = $this->input->post('nis');
			$tahun_ajaran = $this->input->post('tahun_ajaran');
			if ( ! ($id_semester == 0) && ! ($id_kelas == 0) && ! ($nis == 0) && ! ($tahun_ajaran == 0))
			{
				redirect("rekap/get_rekap/$id_semester/$id_kelas/$nis/$tahun_ajaran/");
			}
			else
			{
				redirect('rekap');
			}
		}
 
	}
 
 
	// Download excel
	function download($id_semester, $id_kelas, $nis, $tahun_ajaran)
	{
		$file_name = 'rekap';
		$query = $this->Rekap_model->get_rekap($id_semester, $id_kelas, $nis, $tahun_ajaran);
		to_excel($query, $file_name);
	}
}
// END Rekap Class
 
/* End of file rekap.php */
/* Location: ./system/application/controllers/rekap.php */

Ini yg d Model

SMA N 1 Minggir

class Rekap_model extends Model {
	/**
	 * Constructor
	 */
	function Rekap_model()
	{
		parent::Model();
	}
 
	// Inisialisasi nama tabel nilai
	var $table = 'nilai';
 
	/**
	 * Proses rekap data absensi dengan kriteria semester, nis dan kelas tertentu
	 */
	function get_rekap($id_semester, $id_kelas, $nis, $tahun_ajaran)
	{
		$sql = "SELECT siswa.nis, siswa.nama,
				(SELECT FROM nilai
				WHERE nilai.kode_mapel = 'Kode Mapel'
				WHERE nilai.uts = 'UTS'
				WHERE nilai.uas = 'UAS'
				WHERE nilai.ukk = 'UKK'
				WHERE nilai.nilai = 'NILAIRAPOR'
				WHERE nilai.deskripsi = 'Deskripsi'
				AND nilai.id_semester = '$id_semester'
				AND nilai.nis = siswa.nis
				AND nilai.nis IN (SELECT siswa.nis
						FROM siswa
						WHERE siswa.id_kelas = 'id_kelas'
						ORDER BY siswa.nis ASC)
						GROUP BY nilai.nis
						ORDER BY nilai.nis ASC)
				FROM siswa
				WHERE siswa.id_kelas = 'id_kelas'
				GROUP BY siswa.nis
				ORDER BY siswa.nis ASC;";
		return $this->db->query($sql);
	}
}
// END Nilai_model Class
 
/* End of file rekap_model.php */
/* Location: ./system/application/models/rekap_model.php */

mohon bntuan.y

??

October 10, 2011 by rhyw, 3 days 12 hours ago
Comment: 9145

rhyw's picture

wew??

?????????

October 9, 2011 by purandi, 4 days 41 min ago
Comment: 9138

purandi's picture

?????????

Premium Drupal Themes by Adaptivethemes