membuat aplikasi input kartu rencana studi

7
Membuat Aplikasi Input Kartu Rencana Studi (KRS) Sederhana Liburan semester ganjil akhirnya tiba juga, walaupun bisa dibilang telat karena kampus-kampus yang lainnya sudah akan memulai semester genap. Yaw begitulah kampus saya, kebijakan yang dikeluarkan kadang aneh, kadang menguntungkan dan kadang merugikan (yang ini mah sering banget). Ngomong-ngomong soal kampus saya yang makin hari makin gak jelas aja, ditambah akan dimulainya perwalian semester genap bulan depan, ada berita bagus nih karena pak puket bagian “keduitan” lagi bingung bernegosiasi dengan orang-orang yang semester kemarin mengawal aplikasi SIAKAD. Orang-orang itu tidak lain dan tidak bukan, yaw saya sendiri bersama 5 rekan yang lainnya. Permasalahannya lumayan ruwet, intinya sih saya dan rekan-rekan yang lainnya sudah tidak mau lagi melanjutkan aplikasi SIAKAD. “Lho…Lho…Alasannya…????” Alasannya sangat-sangat sederhana, cuma pak puket aja yang bikin ribet. Saya dan rekan-rekan yang lainnya cuma minta dibayari seminar penelitian nasional saja, gak lebih dan gak kurang kok. Biayanya juga sangat- sangat murah (masih di kisaran angka belasan juta) jika dibandingkan dengan aplikasi SIAKAD yang kalo dijadikan proyek bisa sampai harga ratusan juta (-_-!). Pak puket malah gak mau untuk membiayai saya dan yang lainnya seminar penelitian nasional dan setelah saya selesai ikut seminar nasional barulah pak puket menawarkan kepada saya segepok duit. Ck…ck..ck..yaw telatlah pak. Ibarat, orangnya udah mati baru dikasi duit, pas mau operasi minta duit malah gak dikasi. Yaw sudahlah, gak ada gunanya juga kalo dibahas panjang-panjang, capek cong…. Lama rasanya saya tidak posting tentang tutorial CodeIgniter, karena saya sekarang lagi senang-senangnya belajar pemrograman di Android. Jadinya kemungkinan saya akan lebih sering posting tentang pengalaman saya belajar pemrograman di Android. Kembali ke topik SIAKAD, salah satu aplikasi SIAKAD yang terpenting dan kebetulan saya yang mengerjakannya, ialah aplikasi perwalian atau bahasa kerennya aplikasi KRS. Nah, pada postingan kali ini saya akan membahas cara pembuatan aplikasi input kartu rencana studi (KRS) sederhana dengan CodeIgniter. 1. Studi kasusnya saya ambil yang sederhana saja, yaitu KRS-nya dengan sistem paket. Kalau di kampus saya menggunakan sistem SKS, yang artinya mata kuliah yang disajikan mengacu ke mata kuliah yang telah

Upload: gunsbona

Post on 15-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

teknologi informasi

TRANSCRIPT

Page 1: Membuat Aplikasi Input Kartu Rencana Studi

Membuat Aplikasi Input Kartu Rencana Studi (KRS) Sederhana

Liburan semester ganjil akhirnya tiba juga, walaupun bisa dibilang telat karena kampus-kampus yang lainnya sudah akan memulai semester genap. Yaw begitulah kampus saya, kebijakan yang dikeluarkan kadang aneh, kadang menguntungkan dan kadang merugikan (yang ini mah sering banget). Ngomong-ngomong soal kampus saya yang makin hari makin gak jelas aja, ditambah akan dimulainya perwalian semester genap bulan depan, ada berita bagus nih karena pak puket bagian “keduitan” lagi bingung bernegosiasi dengan orang-orang yang semester kemarin mengawal aplikasi SIAKAD. Orang-orang itu tidak lain dan tidak bukan, yaw saya sendiri bersama 5 rekan yang lainnya. Permasalahannya lumayan ruwet, intinya sih saya dan rekan-rekan yang lainnya sudah tidak mau lagi melanjutkan aplikasi SIAKAD. “Lho…Lho…Alasannya…????” Alasannya sangat-sangat sederhana, cuma pak puket aja yang bikin ribet. Saya dan rekan-rekan yang lainnya cuma minta dibayari seminar penelitian nasional saja, gak lebih dan gak kurang kok. Biayanya juga sangat-sangat murah (masih di kisaran angka belasan juta) jika dibandingkan dengan aplikasi SIAKAD yang kalo dijadikan proyek bisa sampai harga ratusan juta (-_-!). Pak puket malah gak mau untuk membiayai saya dan yang lainnya seminar penelitian nasional dan setelah saya selesai ikut seminar nasional barulah pak puket menawarkan kepada saya segepok duit. Ck…ck..ck..yaw telatlah pak. Ibarat, orangnya udah mati baru dikasi duit, pas mau operasi minta duit malah gak dikasi. Yaw sudahlah, gak ada gunanya juga kalo dibahas panjang-panjang, capek cong….

Lama rasanya saya tidak posting tentang tutorial CodeIgniter, karena saya sekarang lagi senang-senangnya belajar pemrograman di Android. Jadinya kemungkinan saya akan lebih sering posting tentang pengalaman saya belajar pemrograman di Android. Kembali ke topik SIAKAD, salah satu aplikasi SIAKAD yang terpenting dan kebetulan saya yang mengerjakannya, ialah aplikasi perwalian atau bahasa kerennya aplikasi KRS. Nah, pada postingan kali ini saya akan membahas cara pembuatan aplikasi input kartu rencana studi (KRS) sederhana dengan CodeIgniter.

1. Studi kasusnya saya ambil yang sederhana saja, yaitu KRS-nya dengan sistem paket. Kalau di kampus saya menggunakan sistem SKS, yang artinya mata kuliah yang disajikan mengacu ke mata kuliah yang telah diambil sebagai prasyaratnya. Tujuannya yaw agar query databasenya gak ruwet-ruwet banget :D.

2. Kita siapkan dulu class Controller beserta fungsi-fungsinya, terdapat 3 fungsi yaitu index(), isi_krs(), dan simpan_krs().

Page 2: Membuat Aplikasi Input Kartu Rencana Studi

1 class Krs extends CI_Controller2 {

3     public function index()4     {5         $dt['siswa'] = $this->krs_model->baca_siswa();6         $this->load->view('krs/daftar_siswa',$dt);7     }8  9     public function isi_krs()10     {11         $kode='';

12         if ($this->uri->segment(3) === FALSE)13         {14                 $kode='';15                 $dt['jadwal'] = "";

16                 echo "akses error";17         }18         else19         {

20                 $kode = substr($this->uri->segment(3),2,2);21                 $dt['nim'] = $this->uri->segment(3);

22                 $detail = $this->krs_model->baca_detail_siswa($dt['nim']);23                 foreach($detail->result() as $d)24                 {25                     $dt["nama_mhs"] = $d->nama_mhs;26                 }

27                 $dt['jadwal'] = $this->krs_model->baca_jadwal($kode,"ganjil");

28         }29         $this->load->view('krs/isi_krs',$dt);30     }31  32     public function simpan_krs()33     {

34         $nim = $this->input->post('nim');35         $detail = $this->input->post('detailfrs');36         if($detail!="")37         {38             $pw_header=array(

39                 'nim' => $nim ,40                 'status' => "0");41             $temp=explode("|", $detail);

42             foreach($temp as $value)43             {44                 $pw=explode("+", $value);45                 $pw_detail[]=array(

Page 3: Membuat Aplikasi Input Kartu Rencana Studi

46                 'nim' => $nim ,47                 'kode_mk' => $pw[0],48                 'kode_dosen' => $pw[1],49                 'jadwal' => $pw[2]);50             }51             $this->krs_model->hapus_data_pw_lama($nim);52             $this->krs_model->simpan_krs($pw_header,$pw_detail);

53            echo "<div style='background-color:red; color:white; padding:5px; width:99%; text-align:center;'>Data Kartu Rencana Studi Tersimpan</div>";

54         }55     }56 }

3. Setelah itu, kita lanjutkan dengan membuat class Model. Class Model cukup sederhana, karena seperti yang sudah tuliskan di atas bahwa sistemnya menggunakan paketan. Query-nya jadi lebih sederhana, tinggal di seleksi berdasarkan semester saja.

1 class Krs_Model extends CI_Model2 {3  4     public function baca_siswa()5     {

6         $q = $this->db->query("select * from pw_mst_mahasiswa");7         return $q;8     }9  10     public function baca_detail_siswa($nim)11     {

12         $q = $this->db->query("select * from pw_mst_mahasiswa where nim='".$nim."'");

13         return $q;14     }15  16     public function baca_jadwal($nim,$status)17     {

18         $thn_skr = substr(date('Y'),2,2);19         $smt = "";20         if($status=="ganjil")21         {

22             $smt = (($thn_skr-$nim)*2)-1;23         }24         else25         {

Page 4: Membuat Aplikasi Input Kartu Rencana Studi

26             $smt = ($thn_skr-$nim)*2;27         }

28         $q = $this->db->query("select * from ja_tr_jadwal as a left join (ja_mst_mk,ja_mst_dosen ) on a.kode_mk=ja_mst_mk.kode_mk and

29         a.kode_dosen=ja_mst_dosen.kode_dosen where ja_mst_mk.semester=".$smt."");

30         return $q;31     }32  33     public function hapus_data_pw_lama($nim)34     {35         $this->db->trans_start();

36         $hapus_head ="(nim='".$nim."')";37         $hapus_detail ="(nim='".$nim."')";38         $this->db->delete('pw_tr_perwalian_header',$hapus_head);39         $this->db->delete('pw_tr_perwalian_detail',$hapus_detail);40         $this->db->trans_complete();

41         if ($this->db->trans_status() === FALSE)42         {

43             echo "Error";44         }45     }46  47     public function simpan_krs($data_head,$data_detail)48     {49         $this->db->trans_start();50         $this->db->insert('pw_tr_perwalian_header',$data_head);

51         foreach($data_detail as $value) {52             $this->db->insert('pw_tr_perwalian_detail',$value);53         }54         $this->db->trans_complete();

55         if ($this->db->trans_status() === FALSE)56         {

57             echo "Error";58         }59     }60 }

4. Dan bagian yang terakhir dan lumayan menantang, ialah pada bagian pembuatan View. Disini kita akan memainkan sedikit fungsi javascript untuk menyimpan variabel-variabel yang akan disimpan sebagai inputan kartu rencana studi ke dalam database. Saya tampilkan kode untuk menampilkan jadwalnya saja dulu yaw, javascriptnya lumayan panjang dan nanti bisa dilihat di source code lengkapnya.

Page 5: Membuat Aplikasi Input Kartu Rencana Studi

1 <?php

2     foreach($jadwal->result_array() as $d)

3     {

4        echo '<tr><td id="mk_'.$d['id_jadwal'].'">'.$d['kode_mk'].'</td><td>'.$d['nama_mk'].'</td><td>'.$d['nama_dosen'].'

5        </td><td id="dosen_'.$d['id_jadwal'].'">'.$d['kode_dosen'].'</td><td>'.$d['semester'].'</td>

6         <td id="'.$d['id_jadwal'].'">'.$d['jum_sks'].'</td><td id="jdw_'.$d['id_jadwal'].'">'.$d['jadwal'].'</td><td>

7         <input type="checkbox" name="chk_'.$d['id_jadwal'].'"onchange="javascript:pilih(this);"/>

8         </td></tr>';

9     }

10 ?>

5. Hasil akhirnya seperti gambar di bawah ini. Hampir sama dengan kartu hasil studi yang biasa kita terima di akhir semesteran, bedanya yaw gak ada nilainya :).

Page 6: Membuat Aplikasi Input Kartu Rencana Studi

Aplikasi input KRS ini sebenarnya belum jadi, masih ada yang perlu dikembangkan yaitu jika mahasiswa sudah pernah menyimpan kartu rencana studinya dan ketika membukanya kembali hanya untuk sekedar melihat atau mengubah jadwal yang dipilih, seharusnya mata kuliah yang dipilih sudah tercentang. Nah, itu tantangan untuk rekan-rekan yang mungkin kebetulan ingin mencobanya dengan gaya pemrogramannya sendiri-sendiri :D. OK deh, sekian dulu postingan saya kali ini. Semoga bisa bermanfaat untuk rekan-rekan yang mampir ke blog saya ini.