Penerapan Form Input Dinamis pada Pembuatan Transaksi Jurnal Umum Akuntansi
11 June 2017 | Tags: Form dinamis combobox, Form Dinamis Select Option, Form Dinamis untuk Akuntansi, Form dinamis untuk transaksi jurnal umum, Jurnal Umum Akuntnasi, Transkasi Jurnal Umum
Kali ini saya akan membahas tentang penerapan form input dinamis pada pembuatan transaksi jurnal umum akuntansi. Untuk form dinamis sendiri sudah pernah saya tulis pada artikel : Membuat Form Input Dinamis Dengan Jquery dan Proses Form Dinamis Dengan PHP MySQL. Konsep dari form dinamis adalah kita bisa menambahkan element html yang bisa berupa text, combobox, checkbox dan yang lainnya sejumlah yang kita inginkan secara dinamis. Dan artikel kali ini dalam pembuatan aplikasinya menggunakan framework CodeIginter dan Bootstrap.
Ok, sebelum memulai mari kita mulai dari pengertian Jurnal Umum. Jurnal Umum adalah buku untuk mencatat analisis tiap transaksi secara kronologis atau beraturan sesuai dengan tanggal kejadian [Badriyah Hurriyah: Praktis Menyusun Laporan Keuangan]. Jurnal umum dicatat dengan menyebutkan akun yang di Debet maupun yang di Kredit.
Jadi untuk memulai materi ini kami mengasumsikan bahwa pembaca sudah memahami konsep dasar akuntansi, jika belum silahkan cari artikel sederhana untuk memahaminya.
Diagram E-R(Entity Relationship Diagram) Jurnal Umum
Untuk penerapan jurnal umum sederhana ke dalam aplikasi, kita membutuhkan beberapa tabel sebagai berikut:
- tbl_periode: tabel untuk merekam periode
- tbl_ju_header: tabel untuk merekan master dari jurnal umum
- tbl_ju_detail: tabel untuk merekam rincian kode perkiraan dari jurnal umum
- tbl_perkiraan: tabel master untuk kode perkiraan atau disebut Chart of Accounts (COA).
- tbl_perkiraan_group: tabel untuk mengelompokkkan kode perkiraan.
Adapun diagram E-R nya adalah sebagai berikut:
Pembuatan Form Input Dinamis Pada Transaksi Jurnal Umum
Yang menjadi fokus pada artikel kali ini adalah penerapan Form Input Dinamis. Untuk konsep CRUD (Create, Read, Update, Delete) pada CodeIgniter bisa anda pelajari sendiri, karena begitu banyak contoh yang tersedia di Internet.
Pada transaksi Jurnal umum, satu transaksi bisa mempengaruhi minimal 2 (dua) perkiraan dimana jumlah total debet dan kredit harus sama.Sebagai contoh: Transaksi Pembelian Peralatan secara tunai akan mencatatkan kode perkiraan sebagai berikut:
- Pembelian Peralatan menyebabkan nilai peralatan bertambah sehingga kode perkiraan dicatat di kolom debet
- Pembelian peralatan secara tunai menyebabkan kas berkurang sejumlah nilai peralatan yang dibeli sehingga dicatat di kolom kredit.
Contoh kasus yang lain misalnya Transaksi Pembelian Perlengkapan seharga Rp. 1.000.000, dibayar dengan tunai Rp.400.000 dan hutang Rp. 600.000, maka pencatatannya adalah:
- Perlengkapan Bertambah dicatat di debet sebesar Rp. 1.000.000
- Kas Berkurang dicatat di kredit sebesar Rp.400.000
- Utang Usaha bertambah dicatat di kolom kredit sebesar Rp. 600.000
Nah dari kasus jurnal umum tersebut jika diterapkan ke dalam aplikasi, dalam kasus berbasis web, maka kita perlu menggunakan form input dinamis untuk mencatat rincian perkiraan akun yang terlibat.
Dalam contoh kasus diatas ketika kita menambah rincian, maka akan muncul rincian baru dengan kolom: kode perkiraan, kolom debet dan kolom kredit. Khusus pada kode perkiraan diambil dari tabel tbl_perkiraan.
Pembuatan Form Dinamis dengan Jquery/Javascript
Untuk membuat form dinamis kita perlu membuatkan fungsi yang disimpan pada file javascript: assets/js/arf.js
Adapun script nya adalah sebagai berikut:
function addRincian(sl_coa) { var idf = document.getElementById("idf").value; stre="<div class='form-group' id='srow" + idf + "'><div class='controls'>"; stre=stre+"<label for='NamaLengkap' class='control-label col-xs-2 ckeditor'></label>"; stre=stre+" <div class='col-xs-4'>"; stre=stre+sl_coa; stre=stre+"</div>"; stre=stre+" <div class='col-xs-2'>"; stre=stre+"<input placeholder='Debet' type='text' class='form-control input-sm' name='debet[]' />"; stre=stre+"</div>"; stre=stre+" <div class='col-xs-2'>"; stre=stre+"<input placeholder='Kredit' type='text' class='form-control input-sm' name='kredit[]' />"; stre=stre+"</div>"; stre=stre+"<div class='col-xs-1'> <button type='button' class='btn btn-danger btn-sm' title='Hapus Rincian !' onclick='removeFormField(\"#srow" + idf + "\"); return false;'><i class='glyphicon glyphicon-remove'></i></button></div> </div>"; $("#divAkun").append(stre); idf = (idf-1) + 2; document.getElementById("idf").value = idf; } function removeFormField(idf) { $(idf).remove(); }
Pada fungsi kita menyertakan parameter sl_coa yang berisi nilai element untuk menampilkan combobox/dropdown daftar kode perkiraan yang diambil dari tabel tbl_perkiraan.
Pemanggilan Fungsi
Kembali ke paramter sl_coa diatas, itu dibuat dengan query ke tbl_perkiraan sehingga daftar kode perkiraan disimpan pada sl_coa. Varibel sl_coa berisi perintah html untuk membuat element form select/combobox.
<?php $sl_coa="<select name=coa[] class=form-control input-sm>"; if(count($gp)>0) { foreach($gp as $rg)//fetch dari tbl_perkiraan_group { $kelompok=$rg->id; $sl_coa.="<option value=$kelompok disabled=disabled>".strtoupper($rg->nama_pg)."</option>"; $this->db->order_by('coa_perkiraan','ASC'); $perkiraan= $this->db->get_where('tbl_perkiraan',array('kelompok'=>$kelompok)); foreach ($perkiraan->result_array() as $data ) { $ip=$data['id_perkiraan']; $sl_coa.= "<option value=$ip> ".$data['coa_perkiraan']."-".$data['nama_perkiraan']."</option>"; } } } $sl_coa.="</select>"; ?>
Pemanggilan Lewat Button
<a class="btn btn-primary btn-sm" onclick="addRincian('<?php echo $sl_coa;?>'); return false;"><i class="glyphicon glyphicon-plus"></i> Tambah Rincian</a>
Proses Form Dinamis
Selanjutnya pada Controller tinggal melakukan proses untuk menyimpan form dinamis yang dengan menggunakan array.
//----------------INSERT DETAIL-------------------------------------- if($this->input->post('coa')) { $v1=$this->input->post('coa'); while(list($key,$value)=each($v1)) { $ca=$this->input->post("coa[$key]"); $debet=$this->input->post("debet[$key]")*1; $kredit=$this->input->post("kredit[$key]")*1; $data2=array('coa'=>$ca, 'header'=>$header, 'debet'=>$debet, 'kredit'=>$kredit); $this->db->insert('tbl_ju_detail',$data2); } }
Ok, demikian tutorial kali ini semoga bermanfaat dan bisa diterapkan.
Download Form Input Input Dinamis pada Transaksi Jurnal Umum
Share via Facebook / Twitter / Google + untuk Download
Komentar tentang Penerapan Form Input Dinamis pada Pembuatan Transaksi Jurnal Umum Akuntansi
Sorry gan, kenapa error di A PHP Error was encountered dan A Database Error Occurred???
Cek Konfigurasi database-nya di folder application-config-database.php. Sesuaikan nama database-nya.
Oke, Tks Gan
Gan Link download di mana ya?
Klink salah satu tombol sosial media dulu. Thanks
Ni saya proses input transaksi journal baru kok gak bisa ya gan. ‘ Tidak ada Periode aktif! Pastikan ada periode yang aktif ‘
Buka tabel tbl_periode, ubah nilai stt menjadi1
Mantabs. thanks gan
gan menggantinya di bagian databasenya?
mengganti apa ya maksudnya?
ini kenapa ya?
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)
Filename: mysqli/mysqli_driver.php
Line Number: 201
Backtrace:
File: C:\xampp\htdocs\simpak\index.php
Line: 315
Function: require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/xampp/htdocs/simpak/system/database/DB_driver.php
Line Number: 436
cek config database
Kodingannya rumit sekali ya kak. Bingung kalo mau pake buat belajar-belajar. Ada yang lebih simple gak kak tapi tampilannya sama seperti yang sekarang.. 😉
tinggal pelajari logikanya, dan buat yg lebih simpel
saya baru download lalu test, kok pas mau input gak ada periode yang aktif ya? db nya juga kosong. gimana nih solusinya mastah?
Lihat tabel tbl_periode, ubah nilai stt menjadi 1
Bli komang ini pake code igniter ya?kalo yang Php biasa g ada ?
Tinggal pelajari konsep-nya, terutama form dinamis-nya.
saya sudah klik tombol sosial media tapi kok belum muncul link safe gan?
coba ulangi lagi gan. Kombinasi pake FB atau Twitter.
maksudnya ganti nilai stt jadi 1 apa ya mas. saya ga ngerti. boleh dijelasin sedikit detail apa yang harus saya lakukan? terimakasih
1 berarti aktif, 2 tidak
gan kenapa link media sosialnya mati semua ya? ada link baru gak gan, mau belajar
sudah saya coba, tinggal tunggu sebentar muncul kok
Maaf mau nany nilai stt yang diubah menjadi 1 itu dibagian mana ya bli?soalnya saya sudah mencoba mengubah nilai 1 pada bawaan tapi tetap menampilkan tulisan tidak ada periode aktif. terimakasih sebelumnya
di tabel tbl_periode
iya di tbl_periode di kolom stt yg diganti menjadi 1 di nilai yg bawaan kah?
cara downloadnya gimana?
klik salah satu tombol sosial media.
ini kenapa ya kak?
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)
Filename: mysqli/mysqli_driver.php
Line Number: 201
Backtrace:
File: C:\xampp\htdocs\simpak\index.php
Line: 315
Function: require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:/xampp/htdocs/simpak/system/database/DB_driver.php
Line Number: 436
cek username dan password mysql.
met sore bang, mau tanya kalo penulisan coa berjenjang (intuk dan anak ) penulisan scripnya gimana ya bang, terima kasih
Rencanakan dulu konsep yang mau dibuat seperti apa. Nanti untuk konsep berjenjang pelajari caranya, banyak tutorial di internet.
A PHP Error was encountered
Severity: Notice
Message: Trying to access array offset on value of type null
Filename: jurnal/form.php
Line Number: 21
Backtrace:
File: C:\xampp\htdocs\simpak\application\views\transaksi\jurnal\form.php
Line: 21
Function: _error_handler
File: C:\xampp\htdocs\simpak\application\controllers\Transaksi.php
Line: 136
Function: view
File: C:\xampp\htdocs\simpak\index.php
Line: 315
Function: require_once
Itu notice error tapi tetap bisa jalan. Penyebabnya karena versi PHP atau Mysql yang dipakai terbaru. Solusinya bisa dengan non aktifkan pesan notice error, atau untuk form input dan edit dibuat terpisah.
maksudnya di stt di bagian mananya yg harus dirubah jadi 1 bli, maaf kurang jelas instruksinya
pada tabel tbl_periode
link download nya dimana ya? sudah di share ke media sosial
Di klik like atau tweet pada bagian paling bawah. Atau kalau ga bisa pakai yang ini.
https://drive.google.com/file/d/0Bz88DDzxXgk_Z0N4OGdRUFBpSW8/view?usp=sharing
Bang.. kalo pengganti each() apa ya? udah deprecated itu
while diganti dengan foreach.
foreach($array as $value) {
code to be executed;
}
gdrive minta akses gan. sorry
Sudah
minta akses gan
sudah
gan minta akses dong
sudah
Bli.,untuk membuat inout angka biar di denet kredit berformat ribuan/rupaih bagaimana ya?,.tks
untuk format angka, bisa pada saat tampilan saja. Pada saat input biarkan saja atau gunakan javascript.
drive minta akses ..kak
https://drive.google.com/file/d/0Bz88DDzxXgk_Z0N4OGdRUFBpSW8/view?usp=sharing
gan mintak akses dong
https://drive.google.com/file/d/0Bz88DDzxXgk_Z0N4OGdRUFBpSW8/view?usp=sharing