Tutorial Membuat NavBar Menu Dinamis + CRUD di Codeigniter bagian2 ; CRUD Menu

CRUD ( Create Read Update dan Delete ) di Codeigniter
Di codeigniter menggunakan MVC (Model, View dan controller), dimana Model : untuk membuat query database, View : untuk menampilkan halaman yang kita buat, dan controller : yang menghubungkan antara model dan view. Untuk membuat form input, dan update di codeigniter yang pertama harus di buat dulu controllernya, kemudian views untuk menampilkan contentnya. 

Menampilkan data dari tabel menu
Langsung saja kembali ke topik awal kita buat controller terlebih dahulu;
application/controller/menu.php
copykan script di bawah ini;
class Menu extends CI_Controller{
   
    function __construct() {
        parent::__construct();
    }
   
    function index() {      
        $data['record']=  $this->db->get('tb_menu')->result();
        $this->template->display('menu/view',$data);
    }
}

Kemudian save dan buat views nya, application/views/menu/view.php, berikut view scriptnya

Membuat Menu dinamis di Codeigniter

Buka https://localhost/andrianext , masukan user login : andrianext , password : admin , setlah masuk ke halaman dashboard pilih menu admin - menu seting maka akan tampil data menu seperti berikut;

Membuat Menu dinamis di Codeigniter

Membuat form input data untuk tabel menu
Buat form input, buka controller menu ; application/controller/menu.php 
Tambahkan fungsi add/tambah di controller seperti script berikut;

function add() {
        if(isset($_POST['submit'])) {
            $data   =   array(  'nama_menu' =>  $_POST['nama'],
                                'link'      =>  $_POST['link'],
                                'icon'      =>  $_POST['icon'],
                                'kat_menu'  =>  $_POST['kat_menu']);
            $this->db->insert('tb_menu',$data);
            redirect('menu');
        }
        else {
            $data['record']=$this->db->get_where('tb_menu', array('kat_menu' =>0))->result();            
            $this->template->display('menu/tambah',$data);
        }
    }

Penjelasan singkat script diatas :
Baris pertama nama function tambah / add
Baris ke 2 s/d 8 pengecekan kondisi dimana ketika function add di panggil dan ifen $_POST[submit] di jalankan maka akan mengambil data di form input dan menyimpan ya ke tabel database
Baris 9 s/d 13 menampilkan form inputan yang masih kosong dan kemudian menampilkan dropdown menu dari tabel menu.


Kemudian buat form inputnya di application/views/menu/tambah.php;

Membuat Menu dinamis di Codeigniter

 Hasil form tambah dari script di atas;
Membuat Menu dinamis di Codeigniter



Membuat form edit data 
Buka application/controller/menu.php 
Tambahkan fungsi edit di controller seperti script berikut;

function edit()
    {
        if(isset($_POST['submit']))
        {
            $data   =   array(  'nama_menu' =>  $_POST['nama'],
                                'link'      =>  $_POST['link'],
                                'icon'      =>  $_POST['icon'],
                                'kat_menu'  =>  $_POST['kat_menu']);

            $this->db->where('id_menu',$_POST['id']);
            $this->db->update('tb_menu',$data);
            redirect('menu');
        }
        else {
            $id= $this->uri->segment(3);
            $data['record']=  $this->db->get_where('tb_menu',array('id_menu'=> $id))->row_array();
            $data['katmenu']=$this->db->get_where('tb_menu', array('kat_menu' =>0))->result(); 
            $this->template->display('menu/edit',$data);
        }
    }


Selanjutnya buat view form editnya;
application/views/menu/edittambah.php ;

Membuat Menu dinamis di Codeigniter

Membuat Menu dinamis di Codeigniter




Hasil form edit seperti berikut;
Membuat Menu dinamis di Codeigniter

Membuat function delete data
Buka kembali application/controller/menu.php , tamnahkan script berikut ini

function delete($id){
$this->db->where('id_menu',$id);
$this->db->delete('tb_menu');
        redirect('menu');
    }

Demikian tutotial membuat CRUD di codeigniter yang mungkin masih banyak kekurangan. dan semoga bisa membantu pembaca yang membutuhkan.
untuk lebih mudahnya berikut saya lampirkan source code  project lengkapnya di Download
dan untuk demo aplikasinya bisa anda buka di http://app.andrianext.web.id

Tutorial Membuat NavBar Menu Dinamis + CRUD di Codeigniter bagian1; Membuat NavBar Menu Dinamis

Membuat NavBar Menu Dinamis
Jumpa lagi dengan saya di andrianext.web.id, melanjutkan dari tutorial sebelumnya yaitu membuat login multi user di codeigniter  kali ini saya akan sharing bagaimana membuat Navbar Menu yang Dinamis. kenapa di sebut dinamis karena menu-menu yang akan di tampilkan berasal dari tabel database yang kita buat sendiri. Sebelumnya saya anggap anda sudah memiliki sebuah project/ folder di webserver local anda yang berisi source code codeigniter, dan untuk source code lengkapnya anda bisa download di tutorial saya sebelumnya/ langsung dari website resmi codeigniternya.
Dan langsung saja kita mulai dari membuat tabel databasenya di mysql ;
Buat tabel menu dengan nama tb_menu, disini saya menggunakan phpmyadmin untuk mempermudah management databasenya;
CREATE TABLE IF NOT EXISTS `tb_menu` (`id_menu` int(11) NOT NULL,  `nama_menu` varchar(50) NOT NULL,  `icon` varchar(20) NOT NULL,  `link` varchar(25) NOT NULL,  `kat_menu` int(11) NOT NULL) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;ALTER TABLE `tb_menu`ADD PRIMARY KEY (`id_menu`);
ALTER TABLE `tb_menu`MODIFY `id_menu` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=8;

Membuat table database Menu dinamis di Codeigniter


Isi tabelnya dengan data sample seperti beriku;
INSERT INTO `tb_menu` (`id_menu`, `nama_menu`, `icon`, `link`, `kat_menu`) VALUES(1, 'Dasboard', 'fa fa-dashboard', '#', 0),(2, 'Dasboard 1', 'fa fa-dashboard', 'dashboard', 1),(3, 'Dasboard 2', 'fa fa-dashboard', 'dashboard/2', 1),(4, 'Seting Menu', 'fa fa-gears', '#', 0),(6, 'menu admin', 'fa fa-gear', 'menu', 4),(7, 'Page', 'fa fa-folder', 'menu/page', 0);

Lakukan beberapa config di codeigniter anda seperti beriku;
application/config/config.php
$config['base_url'] = 'http://localhost/andrianext/';

application/config/database.php
$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';          
$db['default']['password'] = '';$db['default']['database'] = 'multilogin';  
$db['default']['dbdriver'] = 'mysql';
application/config/autoload.php
$autoload['libraries'] = array('database','session','form_validation','template');
$autoload['helper'] = array('url');

Selanjutnya kita akan menampilkan tabel menu tersebut ke dalam aplikasi web kita. Dan dalam tutorial kali ini saya menggunakan template Admin LTE yang sudah saya integrasikan dengan codeigniter, anda bisa anda download  source code yang sudah lengkap dengan template tersebut di tutorial saya sebelumnya membuat login multi user di codeigniter.
Masuk di application/views/template/sidebar.php
Cari dan delete code berikut :  
Copykan script berikut persis di script code yang anda delete di atas;
Membuat Menu dinamis di Codeigniter

Buka project anda di http://localhost/andrianext/dashboard, maka akan tampak hasilnya seperti berikut ini:
Membuat Menu dinamis di Codeigniter


Dalam menu sidebar di atas terlihat menu-menu yang berasal dari tabel menu yang kita buat sebelumnya.

Ok demikian untuk menampilkan menu dinamis dan selanjutnya kita akan membuta CRUD untuk menu dinamis tersebut. di  tutorial berikutnya.

Install Webmin dan Seting Modul Samba File Sharing untuk Samba4

Untuk menginstall webmin anda harus menginstall webserver terlebih dahulu sereprti yang sudah saya jelaskan di tutorial sebelumnya di Install Web Server di Ubuntu Server 14.04 dengan LAMP. Langsung saja berikut instalasinya;
Tambahkan repo webmin terlebih dahulu di sources.list server anda
# nano /etc/apt/sources.list
Tekan tombol CTRL+W kemudian CTRL+V supaya anda bisa langsung berada di akhir file tersebut, lalu tambahkan dua baris berikut ini :

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib


Simpan dengan CTRL+X dan Y,
Selanjutnya tambahkan Webmin GPG key kedalam apt dengan perintah : 
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add-

Sebelum anda install webmin, silahkan update terlebih dahulu : update server anda
# apt-get update
Selanjutnya Intall webmin
# apt-get install webmin –y
Setelah proses instalasi selesai, silahkan akses control panel webmin anda di URL https://192.168.10.100:10000 atau https://andrianext.web.iddomain:10000
Pada saat anda membuka URL tersebut di browser anda biasanya terjadi privacy error atau peringatan your server’s SSL certificate is not trusted. Hal ini terjadi karena secara default webmin telah membuat SSL certificate. Untuk menangani hal ini, jika anda menggunakan browser google chrome silahkan anda klik advanced, kemudian klik proceed to IP_address atau domain(unsafe). Sedangkan apabila anda menggunakan browser mozilla firefox silahkan anda klik I Understand the Risks, kemudian klik tombol Add Exception dan tombol Confirm Security Exception.
Selanjutnya anda masukan username dan password pada halaman login webmin seperti berikut ini :


Seting Samba Windows File Sharing di webmin untuk samba4
Default configurasi Samba Windows File Sharing di webmin menggunakan samba3 dan untuk mengubahnya ke samba4 anda harus seting di modul webmin terlebih dahulu.
Setelah anda login webmin modul windows file sharing bisanya belum terinstall untuk menginstallnya anda harus masuk ke menu – Un-used Modules, cari samba windows file sharing kemudian klik install modules.
Setelah modules samba windows file sharing terinstall maka di menu Servers akan muncul modul tersebut seperti ini;


Klik Module Config dan ubah confignya seperti beriku:

Klik save untuk melakukan perubahan. Demikian install dan seting samba4 di webmin.

Configurasi Windows Client untuk Join domain ke Server Samba4

Dari pembahasan sebelumnya yaitu membuat server AD/DC Samba4 di Ubuntu Server14.04, sekarang giliran kita seting windows client untuk join domain ke server yang telah kita seting sebelumnya. Berikut yang harus anda lakukan untuk join domain ke server;
Saya menggunkan windows 7 sebagai client untuk join domain ke server.

  1. Masuk ke Control Panel | Network and Internet connectins | Network and Shring Center
  2.  Double klik Local Area Connection | Pilih Properties
  3.  Double klik Internet Protocol (TCP/IP)
  4. Masukan IP Address yang digunakan beserta netmask dan gateway
  5. Set primary dns server dengan IP Address server domain / IP Addres router anda
  6. Klik OK
  7. Buka command prompt
  8. Start Menu | Run, ketik cmd
  9. Ketik ping domain server ( ping andrianext.web.id ), jika terdapat reply maka client bisa join domain ke server samba4 yang anda buat.


hasil test ping koneksi ke server andrianext.web.id/192.168.10.100

Join Domain

  1. Untuk join domain login pada windows sebagai administrator
  2. Klik kanan pada My Computer | Properties
  3. Pilih Computer Name, klik Change, pilih Domain kemudian masukan nama domain yang telah dibuat ( andrianext.web.id )
  4. Klik OK, masukan username administrator dan password pada saat seting Provisioning Samba4 (P@ssw0rdsamba)
  5. Klik OK, dan restart komputer anda
Jika berhasil join domain, maka akan muncul notifikasi seperti di atas. Demikian tutorial dari saya nantikan tutorial berikutnya tetap di andrianext.web.id 
Salam, Thank

Install NTP Server di Ubuntu Server14.04

Masih berhubungan dengan tutorial sebelumnya yang membahas Active Directory Samba4, sebagai optional saja yaitu instal NTP Server.
NTP Server di gunakan untuk Sinkronisai time/waktu di PC client pada LAN ( Local Area network).
langsung saja berikut cara install dan confignya:
# apt-get install ntp# nano /etc/ntp.conf
Ganti alamat server dengan ntp server di indonesia seperti pada gambar berikut ini;


Kemudian restart ntp server anda kemuidan jalankan perintah ntpq -p ;
# service ntp restart# ntpq –p
Jika check ntp dengan perintah ntpq –p pada bagian LOCAL ada tanda(*) berarti server ntp sudah sinkron, dan dapat di gunakan oleh client. Tanda asterik(*) biasanya membutuhkan beberapa menit untuk sinkronsinasinya.


Seting Time PC Client

untuk seting time di windows anda cukup double klik icon jam&tanggal di pojok bawah | change date and time | Internet Time, di kolom server ketikan dns server yang telah anda buat sperti berikut dan klik update;




Jika sukses maka akan muncul keterangan seperti diatas. Demikian untuk sinkronisasi time client di windows.


Install dan Configurasi Active directory Samba4 di Ubuntu Server14.04 bagian3 : Install DNS Server, setup Dynamic DNS & Kerberos

DNS server di sini digunkan untuk join Samba4 Active directory dari PC client windows, jadi DNS server digunakan untuk kounikasi antara server dengan PC client, berikut untuk instalasi DNS server menggunakan bind9.
# apt-get install bind9 bind9untils bind9-host

Samba4 yng dicompile dan install memiliki database DNS sendiri yang harus di masukan kedalam configurasi DNS server yang sudah ada agar samab4 berjalan dengan lancar.

Configurasi named.conf

Samba4 memiliki file named.conf sendiri untuk configurasi dns dengan metode DLZ  (Dynamically Loadable Zone). Tambahkan include “/usr/local/samba/private/named.conf”; di baris paling bawah pada named.conf
# nano /etc/bind/named.conf


Remove Apparmor

Apparmor ini merupakan firewall seperti halnya Selinux pada Redhat/CentOS. Agar DNS yang dikonfigurasi berjalan sesuai keinginan, maka kita harus membuang apparmor ini dari sistem. Selain Apparmor, package resolvconf juga harus dibuang agar kita dapat konfigurasi file resolv.conf secara manual
# apt-get remove –purge apparmor resolvconf
# apt-get remove
# apt-get autoremove

Setelah package diatas dibuang, restart terlebih dahulu sistem operasi Ubuntu yang digunakan agar melakukan apply

Configurasi named.conf samba4

Anda cek dulu versi bind9 yang di gunakan dengan perintah.
# dpkg -l bind9

Dari hasil perintah pengechekan bind9 diatas didapatkan bind9 versi 9.9.5 Hal ini menjadi penting karena terkait DLZ yang akan digunakan pada Samba4. Check database dlz agar menggunakan bind sesuai dengan versi yang dihasilkan dari perintah diatas
# cat /usr/local/samba/private/named.conf









Dari hasil pengecheckan diatas didapatkan bahwa by default Samba4 menggunakan DLZ untuk bind 9.9.x. Jika bind9 yang kita install merupakan versi 9.8.x, maka berikan tanda # pada database bind 9.8.x dan hilangkan tanda # pada database bind 9.9.x

Configurasi Resolv.conf

Masuk ke configurasi file /etc/resolv.conf berikut: 
# nano /etc/resolv.conf
Andrianext.web.id merupakan domain yang saya gunakan, IP Address 192.168.10.100 merupakan IP Address server samba4, dan 192.168.10.1 adalah gateway router untuk keneksi ke internet di jaringan local saya.

Test configurasi DNS Server

Setelah semua configurasi di sesuaikan, testing hasil konfigurasi DNS tersebut dengan perintah berikut :
# host -t SRV _ldap._tcp.andrianext.web.id.
# host -t SRV _kerberos._udp.andrianext.web.id.
# host -t A andrianext.web.id.






Configurasi Kerberos

Backup terlebih dahulu file /etc/krb5.conf, kemudian copykan file dari /usr/loacl/samba/private/krb5.conf ke /etc/krb5.conf
# cp /etc/krb5.conf /etc/krb5.conf_ori
cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Kemudian testing kerberos
# kinit administartor
# klist –e

Konfigurasi Kerberos Dns Dynamic Updates (Optional)

Konfigurasi Kerberos Dynamic DNS ini bersifat opsional, akan tetapi fungsi dari Dynamic DNS adalah menyimpan data record hostname dan ip address klien yang melakukan join pada Samba4. Tambahkan tkey-gssapi-keytab “/usr/local/samba/private/dns.keytab”; pada named.conf.options dan berada dalam konfigurasi options {…}.
# nano /etc/bind/named.conf.options





Setelah melakukan penambahan pada named.conf, ubah kepemilikannya
chgrp bind /usr/local/samba/private/dns.keytab
# chmod g+r /usr/local/samba/private/dns.keytab
cek apakah ada update terbaru mengenai dynamic DNS updates
/usr/local/samba/sbin/samba_dnsupdate –verbose


demikian tutorial active directory samba4 di ubuntu server 14.04, tahap selanjutnya adalah seting PC Client untuk join domain ke server samba4 dan seting folder sharing untuk client.




Install dan Configurasi Active directory Samba4 di Ubuntu Server14.04 bagian2 : Install dan Provisioning Samba4

Melanjutkan dari tutorial sebelumnya install dan configurasi active directory samba4 di ubuntu server14.04 bagian1, di bagian kedua ini adalah instalasi samba4 untuk instalnya anda bisa download samba4 versi terbaru di;  https://ftp.samba.org/pub/samba/stable/ saat tutorial ini di buat versi samba4 yang terbaru adalah versi 4-3.1. berikut cara download dan instal dari server ubuntu dengan wget downloader;

# cd /home/
# wget -c https://ftp.samba.org/pub/samba/stable/samba-4.3.1.tar.gz
# tar -zxvf samba-4.3.1.tar.gz
# cd samba-4.3.1
# ./configure.developer
# make
# make install

Setelah itu proses instalasi akan berjalan ± 30 menit dan sembari menunggu silahkan anda sambi ngopi dulu :D 


EDIT FSTAB

Lakukan perubahan pada file fstab agar menggunkan acl dan user_xattr 
# nano /etc/fstab

Dari gambar diatas, saya memasukkan acl dan user_xattr pada partisi root /. Simpan dan lakukan remounting untuk partisi root.
# mount -o remount/

PROVISIONING SAMBA4

Provisioning ini bisa dikatakan sebagai dcpromo-nya yang ada di MS Windows, untuk melakukan provisioning silahkan ketikan perintah berikut :
# /usr/local/samba/bin/samba-tool domain provision

Pada bagian Realm diisi dengan nama domain anda, yaitu ANDRIANEXT.WEB.ID dan pada bagian Domain di isi dengan nama domain tanpa TLD (Top Level Domain), yaitu ANDRIANEXT. Untuk Server Role diisi dengan dc dan DNS backend menggunakan BIND9_DLZ. Isian password minimal 8 karakter dan ada 1 huruf besar, 1 huruf kecil. Tunggu hingga proses provisioning selesai, jika tidak ada masalah maka hasil provisioning seperti berikut :




STARTING SAMBA 4
Untuk melakukan start, stop samba4 sedikit berbeda dengan samba3 karena samba4 berada di direktory yang berbeda dengan samba3, berikut perintahnya :
# /usr/local/samba/sbin/samba
Cek samba apakah sudah berjalan dengan perintah ps
# ps aux | grep samba
Untuk melakukan stop, dapat menggunkan perintah pkill
Selanjutnya kita buat script untuk menjalankan samba4 secara otomatis pada saat server booting awal, buka terminal server anda dan copykan scriptnya;
# nano /etc/init.d/samba4
Copykan script dibawah ini ke dalam /etc/init.id/samba4



Tekan CTRL+X,Y untuk menyimpan, kemudian set hak aksesnya.
# chmod +x /etc/init.d/samba4# update-rc.d samba4 defaults 98 02# /etc/init.d/samba4 start

Test masuk ke folder sharing dengan menjalankan perintah berikut;
# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator%P@ssw0rdsamba
P@ssw0rdsamba diatas adalah password administrator di buat pada saat provisioning, selanjutnya anda akan masuk ke prompt konsol :smb: \>:

Jika hasilnya persis seperti contoh diatas maka folder sharing samba4 anda sudak OK, ketik exit untuk keluar dari prompt.
Dan selanjutnya adalah seting Dynamic DNS & Kerberos untuk komunikasi server samba4 dengan PC Client. Tutorial selanjutnya di setup Dynamic DNS & Kerberos

Pemrograman

More »

Networking

More »