Friday, December 18, 2015

Jepretcode: 2015

Cara Menampilkan Google reCAPTCHA di Halaman Login

Google reCAPTCHA di Halaman Register
Google reCAPTCHA Register Customer

Cara menampilkan Google reCaptcha di halaman login, halaman register halaman checkout resgiter maupun untuk halaman affliate  login dan affiliate register toko online opencart khususnya versi 2.1.0.1, Kenapa harus menggunakan google reCaptcha ini, adalah untuk menghindari blog atau website toko online opecart yang kita kelola dari spam salah satunya adalah dengan menambahkan captcha, namun sebelum kita menambahkan google recaptcha ini maka kita harus setting dahulu cara menambahkan basic_captcha di opencart 2.1.0.1 agar saat menambahkan google reCaptcha tampil di setiap halaman,

lihat videonya disini untuk menambah basic_captcha di opencart 2.1.0.1


Setelah Anda melihat dan melakukan hal sesuai video di atas maka sekarang kita menambahkan atau menampilkan Google reCaptcha di halaman register, halaman login, halaman checkout register maupun halaman affilate login dan affiliate register disini saya menggunakan opencart v.2.1.0.1

1. Buka admin area
2. pilih tab extention
3. Pilih Captcha
4. Install Google reCAPTCHA
5. Pilih edit
6. Isi site key dan secret key google reCAPTCHA dan cara mendapatkan key lihat disini https://www.google.com/recaptcha/intro/index.html
7. Setelah mengisi site key dan secret key setelah itu pilih enable dan klik save.
8. Masuk ke setting pilih edit
9. Masuk ke tab Option dan paling bawah
10. Pada captcha pilih Google reCAPTCHA
11. Aktifkan atau centang register pada captcha page dan save
11. Buka file google_captcha.tpl yang ada di dalam folder catalog/view/.../template/captcha/
12.Hapus kode yang ada di dalam file google_captcha.tpl dan ganti dengan kode dibawah ini

<script src="//www.google.com/recaptcha/api.js" type="text/javascript"></script>
<fieldset>
  <legend><?php echo $heading_title; ?></legend>
  <div class="form-group required">
    <?php if (substr($route, 0, 9) == 'checkout/') { ?>
    <label class="control-label" for="input-payment-captcha"><?php echo $entry_captcha; ?></label>
    <div id="input-payment-captcha" class="g-recaptcha" data-sitekey="<?php echo $site_key; ?>"></div>
    <?php if ($error_captcha) { ?>
    <div class="text-danger"><?php echo $error_captcha; ?></div>
    <?php } ?>
    <?php } else { ?>
    <label class="col-sm-2 control-label"><?php echo $entry_captcha; ?></label>
    <div class="col-sm-10">
      <div class="g-recaptcha" data-sitekey="<?php echo $site_key; ?>"></div>
      <?php if ($error_captcha) { ?>
      <div class="text-danger"><?php echo $error_captcha; ?></div>
      <?php } ?>
    </div>
    <?php } ?>
  </div>
</fieldset>

Sumber : https://github.com/opencart/opencart/commit/577754ad9af63cb3ad81160c8abee185fb45ba01

13. setelah di ganti kemudian save dan silahkan di coba.

Jadi intinya lakukan pengaturan untuk menampilkan basic_captcha seperti petunjuk sehingga dalam menampilkan google reCAPTCHA tidak ada tempat yang tidak tampil seperti saat konsumen register saat checkout, dan menampilkannya di halaman login baik untuk login konsumen maupun untuk login affiliate

google reCAPTCHA di halaman Login Affiliate

Gambar di atas menampilkan google reCAPTCHA di halaman Login Affiliate

google reCAPTCHA di halaman Register Affiliate

Gambar diatas adalah menampilkan Google reCAPTCHA di halaman Register Affiliate

google reCAPTCHA di halaman Register Saat Checout

Gambar diatas saat konsumen belanja dahulu kemudian ingin checkout dan register disana maka kita bisa menambahkan google reCAPTCHA di halaman ini

google reCAPTCHA di halaman Guest Checkout

Gambar di atas untuk menampilkan saat konsumen belanja ketika memilih guest, jadi kita bisa menampilkan Google reCAPTCHA di halaman Guest Checkout

google reCAPTCHA di halaman Login Customer

Gambar diatas untuk menampilkan Google reCAPTCHA di halaman Login jadi, pada saat Customer Login maka kita bisa menambahkan captcha disini.

Sunday, November 15, 2015

Jepretcode: 2015

Blogspot Saat Google Structured Data Testing Tool

Blogspot saat google structured data testing toolCara yang benar dalam mengatasi permasalahan dan kesalahan yang terjadi saat blogspot kita di Testing Tools di Google structured Data, mungkin bagi kita yang pernah mencoba salah satu tools yang disediakan oleh google untuk menguji stuktur data sebuah website baik itu blogspot maupun yang lainnya, nah disini saya akan mencoba berbagi cara mengatasinya, karena ada beberapa permasalahan yang terjadi ketika blogspot kita di test di tools ini.
Untuk mengujinya kita bisa lakukan di tempat ini Google Structured Data Testing Tool dan coba uji struktur data web kamu disini, dan saya sekarang khusus menceritakan tentang blogger atau blog dari blogspot. setelah Anda coba halaman web utama dan adakah yang mendapatkan masalah seperti gambar dibawah ini?
Cara mengatasi google structured data testing tool image url
Coba kita lihat pada gambar di atas terlihat ada 4 kesalahan, sekarang yang kita atasi adalah image_url dan image (Properti image_url tidak dikenali oleh google untuk objek dengan jenis BlogPosting / Untuk !image: ada pesan Nilai untuk bidang image diwajibkan diwajibkan oleh !cuplikan Kaya) untuk mengatasi adalah buka template Anda cari kode berikut : "itemprop='image_url'" untuk mengatasinya adalah hilangkan tulisan _url pada image sehingga menjadi "itemprop=;image'" tanpa tanda kutip dua, setelah itu simpan template dan coba lagi test struktur datanya, 
cara_mengatasi_google_structured_data_testing_tool_image_url(2)
Lihat gambar diatas maka permasalahan image_url dan image di atas sudah teratasi, namun itu untuk halaman utama, lalu bagaimana jika ulr postingan kita atau url artikel yang kita testing tools google data sekarang, dan lihat apa yang terjadi. jika saya test pada postingan atau artikel maka hasilnya adalah seperti dibawah ini: 
cara_mengatasi_google_structured_data_testing_tool_image
Ada 3 kesalahan di ketemukan dan image masih bermasalah pada postingan, lalu bagaimana mengatasinya, sebelumnya cari kode berikut pada template blog :

<b:if cond='data:post.thumbnailUrl'>
      <meta expr:content='data:post.thumbnailUrl' itemprop='image'/>
    </b:if>


Nah berikut kode nya Anda copy dan paste dan himpit kode diatas dengan kode dibawah ini, cara ini sekaligus mengatasi kesalahan Headline seperti gambar di atas berikut kodenya:

<b:if cond='data:post.thumbnailUrl'>
   <h2 itemprop='headline'><data:blog.pageTitle/></h2>
      <meta expr:content='data:post.thumbnailUrl' itemprop='image'/>
 <b:else/>
   <meta content='masukkan url gambar yang diinginkan' itemprop='image'/>
   <h2 itemprop='headline'><data:blog.pageTitle/></h2>
 </b:if>


pada kode diatas masukkan url photo yang Anda inginkan. Setelah di copy dan himpit beberapa kode seperti diatas, sekarang coba lakukan lagu testing google dan hasilnya apakah seperti dibawah ini
dan sekarang headline dan image sudah teratasi, nah sekarang masih ada satu kesalahan lagi yaitu datePublished tidak ada dan diwajibkan atau Nilai untuk bidang datePublished diwajibkan, bagaimana cara untuk mengatasinya, yaitu Anda cari kata "timestamp" pada kode dibawah ini.

<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>

Maka tulisan "timestamp" diganti dengan "dateHeader" seperti berikut :

<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.dateHeader/></abbr></a>

Setelah di coba ulang dan hasilnya seperti diatas masih ada kesalahan karena setelan bahasa dan pemformatan coba ganti bahasa blog Anda dengan bahasa Inggris (Amerika Serikat) - English(United States). jika tidak ingin ganti bahasa coba Format Header Tanggal saja diganti lihat gambar dibawah ini dan setelah itu coba dicek kembali:


Lihat dan masalah datepublished sudah teratasi, namun sebelum itu setting seperti berikut Mengonfigurasi Posting Blog.

Mengonfigurasi Posting Blog

Kemudian permasalahan properti !articleBody/aiaBlogId: tidak dikenali oleh google untuk objek dengan jenis Person seperti gambar diatas, maka untuk mengatasinya adalah dengan cara menghapus tulisan tersebut di dalam template blog lihat kode berikut di dalam template

<meta expr:content='data:blog.blogId' itemprop='articleBody/aiaBlogId'/>
<meta expr:content='data:post.id' itemprop='articleBody/aiaPostId'/>

Maka tulisan 'articleBopdy/aiaBlogId' dan articleBody/aiaPostId' dihapus saja tanda kutip satunya jangan. dan jika ada juga seperti kode berikut maka yang dihapus adalah tulisan BlogId dan PostId saja.

<meta expr:content='data:blog.blogId' itemprop='blogId'/>
<meta expr:content='data:post.id' itemprop='postId'/>

Dua hal di atas terjadi mungkin karena plugin yang menggunakan ID seperti facebook fb admin, dan lainnya.

Untuk selengkapnya dan selanjtunya dapat lihat pada video cara mengatasi kesalahan saat testing tools google structured data :

Wednesday, July 8, 2015

Jepretcode: 2015

Membuat Toko Online di Wordpress

Untuk dapat merubah wordpress kita menjadi toko online maka kita bisa lakukan dengan cara mengintall plugin seperti WooCommerce, seperti yang kita ketahui bahwa wordpress dan plugin WooCommerce dapat kita gunakan secara gratis. sehingga kita hanya membutuhkan nama domain dan sewa hostingnya saja jika kita mampu setting wordpress dijadikan toko online dengan menggunakan plugin woocommerce.

Berapa biaya saya jika saya ingin membuat sebuah toko online? :
  1. Yang pertama yang harus Anda lakukan adalah membeli sebuah nama domain toko online Anda
  2. Menyewa hosting tempat domain kita disimpan agar orang lain bisa mengaksesnya.
Untuk membeli nama domain dan sewa hosting atau server toko online kita Anda bisa cek harga di penyedia jasa penjualan nama domain dan sewa hosting, mungkin Anda bisa cek di google, Anda bisa menentukan mana yang baik diantara semuanya dan apakah menggunakan hosting luar negeri atau dalam negeri. Saran saya pelajari dahulu di berbagai forum masing-masing kualitas penyedia jasa hosting sehingga Anda tidak kecewa nantinya.

Pilihan manakah yang harus saya jalankan jika saya ingin membuat sebuah toko online dengan wordpress? :
  1. Jika Anda menyewa jasa orang lain tentu biayanya akan berbeda jika kita membuat sendiri
  2. Jika Anda ikut kursus dulu atau workshop toko online, tentu biaya kursus atau workshop saja sudah besar.
  3. Belajar sendiri (Apa bisa, sementara kita nggak tau apa-apa tentang program).
Nah dari 3 pilihan diatas jika kita punya uang yang sangat terbatas, maka pilihannya tidak lain adalah sedikit berusaha belajar bagaimana cara membangun sebuah toko online di wordpress, bahkan jika Anda ingin tidak perlu uang untuk sekedar belajar. Anda bisa menggunakan komputer Anda menjadi sebuah server lokal yang lebih dikenal denga nama localhost(cari digoogle bagaimana cara membuat komputer kita menjadi localhost). jadi jika Anda memilih pilihan no 3 diatas karena alasan tertentu seperti uang, maka Anda adalah termasuk orang yang mau belajar dan betul-betul ingin membangun sebuah toko online. di google sekarang banyak sekali orang memberikan cara-cara melakukan itu semua bahkan ada yang menyajikan dalam bentuk video dan mereka upload video mereka di Youtube, sehingga yang melihat dan belajar lebih mudah dipahami, karena tinggal ikuti cara-cara yang disajikan melalui video dan gambarannya pun lebih jelas.
Mungkin Anda bisa lihat dibawah ini video cara membuat toko online di wordpress menggunakan plugin WooCommerce, disana dijelaskan secara step by step dan dengan durasi yang tidak panjang, dan di jadikan beberapa video agar tidak ribet dalam belajar. Bahkan jika anda ikuti caranya seorang yang tidak paham atau pandai dalam program akan bisa membangun sebuah toko online dengan wordpress.


Jepretcode: 2015

Cari Uang di Youtube

Cari Uang di Youtube? Kok bisa? gimana caranya? Pernah terlintas oleh Anda kenapa orang-orang mau upload video mereka di youtube bahkan sampai video seperti lagu lagu yang ada hak ciptanya saja banyak di youtube, kok bisa?. apa mereka dapat uang? padahal youtube adalah media berbagi video yang gratis ditonton oleh penggunanya. lalu dari mana datangnya uang?.
Mungkin gambarannya seperti ini. Anda pernah lihat iklan yang tampil pada video ketika kita melihat video yang ada di youtube?. kalau Anda sering nonton di youtube pasti Anda bilang ya. nah dari situlah datangnya uang di youtube untuk kita. Jadi logikanya Adalah ketika ada orang yang pasang iklan di youtube lalu youtube menempatkan iklan tersebut di video yang kita upload. jadi youtube mendapatkan bayaran dari yang memasang iklan dan youtube membayar kita dari uang orang yang memasang iklan karena iklan mereka ditampilkan divideo yang kita upload, simple kan.
Lalu bagaimana sebenarnya nilai hitungannya?. Ada yang bilang per 1000 views kita mendapatkan $1-$5. Namun itu tidak jadi patokan karena banyak hal lain yang mempengaruhi nilai yang didapat. Seperti ada 2 video yang hampir sama topiknya, dan salah satu video mempunyai views hingga 15 ribu perhari dan satunya lagi cuma 500 views perhari. tentu berbeda yang dihasilkan. Untuk viewsnya saja sudah tentu yang 15 ribu lebih banyak iklan yang tampil, namun yang 500 views bisa saja lebih besar dari 15 ribu karena beberapa hal, misalnya kata kunci yang tepat dan sesuai dengan iklan, kemudian lamanya orang melihat iklan saat tampil selain itu yang menonton video lebih cenderung menghabiskan videonya untuk ditonton hingga akhir video dan itu tentu berbeda dari yang cuma buka kemudian baru 1/4 video langsung close videonya. Jadi banyak faktor yang mempengaruhi nilai iklan yang tampil di video kita di youtube.
Mungkin Anda ingin juga mencoba mendapatkan uang di youtube?. karena youtube tidaklah dibatasi kalau hanya orang-orang tertentu saja, namun semua orang yang ada didunia ini bisa mendapatkan uang di youtube, termasuk Anda. Lalu bagaimana caranya mendapatkan uang di youtube?. Ada beberapa hal yang perlu dilakukan yang terpenting adalah kita memiliki akun di youtube dan tentunya bisa upload video yang kita punya. namun ada beberapa acuan kita belajar di youtube cara menghasilkan uang namun saya sarankan dari channel Cari Uang di Youtube karena dichannel ini atau saluran ini, kita diajarkan dari awal bagaimana caranya mendapatkan uang di youtube, dan videonya juga nggak terlalu panjang dan mengurangi kebosanan dalam menonton video dan kalau untuk belajar mendingan kita mendapatkan ilmu sedikit-sedikit namun paham, sementara ada saluran lain juga yang menjadi tambahan ilmu.
Mungkin Anda bisa lihat video bagaimana cara cari uang di youtube dibawah ini.

Disana ada beberapa video didaftar putarnya dan dijelaskan secara step by step, semoga membantu Anda dalam usaha mencoba mendapatkan uang di youtube.
Namun Anda juga pelajari apa-apa saja yang tidak boleh Anda lakukan di youtube sehingga Akun Anda aman dari banned youtube.

Sunday, July 5, 2015

Jepretcode: 2015

JNE Reguler Opencart

Bagaimana cara setting JNE pada opencart, karena JNE adalah salah satu penyedia jasa pengiriman atau shipping yang ada di Indonesia dan pada setiap toko online yang ada di Indonesia menggunakan jasa JNE ini pada toko online mereka, lalu bagaimana jika kita menggunakan Opencart sebagai website toko online yang kita punya dan ingin menggunakan JNE sebagai salah satu jasa pengiriman bagi konsumen yang berbelanja pada produk yang mereka beli.
Sementara jika kita install opencart secara default tidak ada JNE nya dan jika kita ingin menambahkan JNE pada shipping di opencart maka harus melakukan beberapa tahap, dan cara yang saya lakukan berdasarkan dan beberapa file yang saya dapatkan dari pijaronline.com yang saya coba pasangkan pada opencart 2.0.3.1 dan dirubah sedikit agar tampilannya disesuaikan pada opencart terbaru ini.
Jika anda ingin mencoba dapat mengikuti beberapa cara dibawah ini:
  • Silahkan download update JNE reguler yang saya sediakan disini dan setelah download silahkan upload di cpanel toko online anda dan extract file tersebut dan didalamnya ada contoh biaya atau tarif JNE reguler silahkan ikuti video dibawah ini bagaimana cara memasukkan tarif JNE pada opencart.
  • Simak Video bagaimana mengatur JNE pada Opencart dibawah ini.

Untuk melakukan langkah diatas maka Anda harus melakukan langkah untuk membuat database kota-kota yang ada di indonesia terlebih dahulu lihat disini cara membuat auto select city opencart 2.0.3.1, karena memudahkan pelanggan Anda untuk input kota

Jepretcode: 2015

Auto Select City Opencart

Bagaimana mengatur auto select city atau kota pada opencart, karena ketika kita install opencart maka untuk city atau kota untuk pertama kali maka kita harus mengetik nama kota atau city, lalu bagaimana caranya agar city atau kota tersebut menjadi dropdown menu sehingga kita bisa select atau pilih kota-kota yang sudah tampil secara otomatis dan sesuai dengan nama provinsi yang dipilih diatasnya, misal kita ingin memilih jakarta, maka akan tampil kota-kota yang ada di jakarta, atau jika kita memilih provinsi Jawa Timur misalnya maka yang tampil di menu dropdown auto select city adalah kota-kota yang ada di Jawa Timur.
Mengapa kita harus mencoba auto select city pada opencart, karena ketika kita akan menggunakan JNE sebagai shipping di opencart maka kota atau city adalah salah satu cara untuk mendapatkan berapa nilai berapa biaya pengiriman barang ke kota tertentu. karena di kota ada kode kota yang mengatur biaya tersebut.
menu dropdown city indonesia
Seperti gambar diatas bisa kita lihat bahwa sebelumnya city ditulis dan setelahnya ada menu dropdwon untuk auto select city setelah kita memilih provinsi yang kita inginkan. Ok untuk menjadikan opencart kita seperti itu maka yang harus kita lakukan adalah:
  • Download update dari saya disini dengan nama auto_select_city_indonesia dan silahkan update opencart (saya menggunakan opencart 2.0.3.1)
  • Lihat video panduan membuat auto select city atau kota dengan menu dropdown saya dibawah ini.
  • Lakukan sesuai dengan panduan video yang ada.

Setelah kita membuat dropdown auto select city opencart 2.0.3.1 maka lihat juga disini cara setting JNE Reguler untuk opencart 2.0.3.1

Monday, June 22, 2015

Jepretcode: 2015

Sukses Punya Toko Online Sendiri dengan Opencart

Sementara kita tidak punya uang yang cukup untuk ikut workshop untuk membangun toko online, namun ada keinginan untuk membangun toko online?. ikutilah beberapa cara yang saya berikan dibawah ini dan lihat video panduan untuk membuat toko online.

Sedikit ulasan : Saya punya toko konvensional apakah bisa jual secara online, tentu saja bisa, Jika Anda mempunyai toko konvensional sendiri dan apa yang Anda jual di toko konvensional tersebut dapat dijual secara online, jangan hanya untuk kalangan atau kumpulan sekitar Anda saja, bahwa kita dapat mengejar konsumen yang jauh, bahkan di seluruh Indonesia.
Jika Anda ingin memiliki toko online sendiri tidaklah sulit bahkan orang yang tidak tau dengan bahasa pemograman ataupun coding mereka bisa membuat toko online sendiri yaitu dengan menggunakan website aplikasi untuk toko online seperti opencart, wordpress dan lainnya, namun disini saya menceritakan membuat toko online dengan opencart, karena opencart bisa kita gunakan secara gratis tanpa biaya. Apakah ada biaya lainnya, tentu saja ada yaitu, menyewa hosting dan membeli nama domain untuk toko online kita, namun itu tidaklah mahal hanya dengan modal sekitar Rp. 300 ribu rupiah kita bisa mendapatkan sewa hosting 1 tahun dan membeli nama domain untuk toko kita. ikutilah langkah langkah berikut jika ingin mempunyai toko online sendiri menggunakan opencart, karena Anda yang tidak pahampun akan bisa membuat toko online sendiri.

Apakah perlu kursus atau ikut workshop untuk membuat toko online? jika kita ingin ikut kursus atau workshop maka ada biaya namun jika Anda tidak memiliki biaya cukup untuk kursus maka lakukan apa yang saya berikan untuk Anda bahwa kita sementara tidak perlu kursus dulu atau ikut workshop. namun tidak menutup kemungkinan jika Anda memiliki biaya lebih untuk ikut kursus atau workshop kenapa tidak, karena dengan mengikuti kursus atau workshop maka Anda akan mendapatkan ilmu rahasia yang tidak ada dan tidak diberikan secara gratis oleh penyelenggara workshop, 
Namun jika Anda belum percaya dengan Ilmu yang diberikan oleh kursus atau workshop toko online yang ada, maka jangan patah semangat kalau Anda tidak bisa membuat toko online sendiri, oleh karena itu untuk sementara Anda bisa dengan hanya modal nama domain dan sewa server(hosting).
Yang terpenting adalah apakah Anda mau belajar untuk membuat toko online sendiri tanpa harus ikut workshop.
Lalu apa yang dilakukan?.

  • Yang pertama adalah membeli nama domain dan menyewa hosting (lebih kurang Rp. 300 ribu)
  • Ikutilah tutorial video gratis panduan membuat toko online sendiri dengan opencart yang saya sediakan dibawah ini dan ikuti semua petunjuk dan video lainnya agar kita mengerti.
Untuk tempat menyewa hosting Anda bisa cari google dan cari tau mana yang bagus dan recomended dari pengguna online lainnya. agar website toko online yang kita punya tidak sering ada masalah.

Baiklah untuk tidak berbelit belit berikut video tutorial bagaimana membangun toko online sendiri dengan opencart secara gratis, lihat diatas.

Thursday, April 2, 2015

Jepretcode: 2015

Install Wordpress Tanpa Softaculous atau Fantastico

Install Wordpress diCpanel Tanpa App Softaculous
Install wordpress tanpa app softaculous atau fantastico, pernahkan Anda mencoba install wordpress di cpanel tanpa app diatas, jika kita mencoba tentu ada hal yang yang harus diperhatikan dan beberapa langkah yang dilakukan sebelum install wordpress, karena kalau langsung diinstall tanpa membuat database dan username database tentu tidak akan jalan, coba perhatikan gambar diatas!.
Gambar diatas adalah salah satu tampilan ketika kita install wordpress, dan disana kalau kita perhatikan bahwa instal wp meminta Database Name, Username, Password berikut keterangannya
  1. Datasabe name adalah database yang kita buat untuk menyimpan data, lalu dimana cara membuat database di cPanel perhatikan gambar dibawah ini dan lihat ada MySQL Database, apa yang perlu dilakukan:
Membuat Database di cPanel

  • Masuklah kedalam MySQL Database dan tampilan ada seperti dibawah ini dan buatlah database dengan nama yang Anda inginkan, kalau diperhatikan ada kata "user_" sebelum mengisi database name, ini adalah user cPanel Anda dan itu menjadi acuan untuk melakukan tindakan-tindakan di dalam cpanel


  • Contoh anda menulis di kolom adalah "datawp" maka database name Anda menjadi "user_datawp", maka setelah Anda yakin dengan nama database ini maka, tinggal klik Create Database, dan Anda berhasil dibuat lihat gambar dibawah ini

2. Menurut gambar paling atas sekali ketika install wordpress kita diminta memasukkan password, Apakah password yang dimaksud pada waktu install wordpress?. password yang diminta adalah password user yang bisa mengakses database yang kita buat seperti contoh diatas "user_datawp", maka disini kita harus membuat user untuk bisa mengaskses database "user_datawp" ini. lalu bagaimanakah cara membuat user database di cPanel, berikut caranya:
  • Masuk kembali ke MySQL Database di cPanel dan tampilannya seperti dibawah ini, dan buatlah user baru agar bisa nanti kita hubungkan dengan database diatas. contoh kita buat dengan username "jepret" maka username akan menjadi "user_jepret", nah itulah username yang dimaksud dalam install WP diatas, setelah membuat user masukkan password yang Anda inginkan dan jangan sampai lupa, kombinasikan dengan huruf, angka, maupun kode string lainnya, agar tidak mudah ditebak, misal password "user#jepret" maka simpan semua yang di notepad berikut
  • Database Name : user_datawp
  • Username  : user_jepret
  • Password : user#jepret
Membuat User Database di cPanel


3. Langkah selanjutnya adalah menghubungkan username database ke database yang kita buat tadi yaitu, menghubungkan username "user_jepret" ke database "user_datawp" bagaimana caranya:

Menghubungkan user ke database

Perhatikan gambar diatas maka untuk menambah user ke database cukup memanggil user yang kita buat tadi dan memanggil database yang kita buat tadi juga, gambar sudah menunjukkan. setelah itu klik add, maka akan tampil ke gambar berikut setelah di klik add.

Mengubungkan Username ke Database

gambar diatas memberikan keleluasaan terhadap user untuk mengolah database dan bisa juga dibatasi, namun disini kita mencoba mencentang semuanya dengan mengklik ALL PRIVILEGES, setelah itu klik "Make Changes" maka akan tampil pemberitahuan You have succesfully granted privileges on the database "user_datawp to the MySQL user "user_jepret", maka Anda telah menghubungkan user ke database yang ingin anda gunakan, dan instal wordpress siap dilakukan

Untuk lebih jelas dan sampai selesai install wordpress lihat video install wordpress di cpanel tanpa softaculous ataupun fantastico berikut ini:

Saturday, March 28, 2015

Jepretcode: 2015

Wordpress - Menyembunyikan Author dan Tanggal

Menyembunyikan Author dan tanggal postingan, didalam wordpress setiap postingan yang kita buat kadang ada theme yang mengatur tentang author yang memposting artikel dan ada tanggal postingan kapan artikel itu dibuat. kenapa penting adanya author dan tanggal postingan ini?.
Karena ada orang yang ingin mencari info rentan tanggal tertentu di search engine dan itu menjadi acuan untuk membuat tanggal karena search engine juga akan membantu untuk memberikan artikel kita kepada pencari di search engine berdasarkan tanggal. dan ada juga sebuah artikel menjadi suatu hal yang sangat ingin dilihat karena seorang Author, kenapa demikian?. bayangkan ketika seorang terkenal didunia maya membuat sebuah artikel dan di artikel tersebut dibuat atau ditulis oleh seseorang yang terkenal didunia maya dan sangat menguntungkan sekali artikel tersebut karena akan sangat banyak dilihat hanya karena Anda adalah seorang Author terkenal didunia maya baik di google+, facebook, twitter, dan sosial media lainnya, contoh (hanya contoh): seorang motivator terkenal "Mario Teguh" membuat sebuah artikel disebuah website, bayangkan hanya karena seorang author maka artikel yang ditulis begitu banyaknya pengunjung yang ingin melihatnya. Itulah salah satu keuntungan jika kita menggunakan author, untuk menjadi seorang auhtor yang disukai orang lain perlu melakukan atau menulis yang disukai dan sering memberikan suatu hal terbaik seperti di sosial media.
Menurut analisa diatas maka, seharusnya tidak perlu menghapus Author yang ada di dalam sebuah postingan, dan hanya mengembangkan seorang author, salah satunya adalah melalui media sosial. dan didalam search engine menyukai adanya auhtor atau siapa yang menulis sebuah artikel di dalam blog dan termasuk juga ada tanggal postingan, dan oleh karena itulah rata-rata semua theme wordpress(khususnya) menempatkan kode untuk auhtor pada sebuah blog.

Kadang kita juga lihat sebuah blog tidak menampilkan author dan tanggal di halaman preview atau front end. namun juga bahwa didalam artikel itu masih ada author dan tanggal postingan artikel tersebut, lalu bagaimana caranya? :

Baiklah biar nggak banya cerita berikut bagaimana cara menyembunyikan author dan tanggal disebuah blog wordpress:

Coba perhatikan theme standar dari wordpress saat kita mengintall, theme Twenty Fifteen/twentyfifteen2 dan lihatlah single.php yang ada di theme tersebut  dan lihatlah kalau single.php memanggil content.php dengan kode "get_template_part('content, get_post_format());" dan coba buka file content.php disana kalau dilihat tampilan artikel kita maka ada tanggal, auhtor dan lainnya seperti tags dan comment, kenapa muncul ?, karena di theme ada kode seperti ini:

<span class="entry-footer"

Lalu bagaimana menyembunyikan author dan tanggal di theme wordpress ini?, silahkan buka edit css jika ada atau buka style.css lalu tambahkan kode dibawah ini coba tempatkan di akhir agar mudah memantaunya:

.entry-footer {
 display: none;
}

Dari kode diatas menjelaskan bahwa class"entry-footer" tidak ditampilkan di halaman front end atau tampilannya silahkan dicoba, kalau berhasil semua baris yang ada tidak akan ditampilkan. Lalu bagaimana jika hanya menghilangkan tanggal dan authornya saja tanpa menghilangkan baris kategori, tags dan edit? kalau diperhatikan didalam content.php ada script dibawah ini

<?php twentyfifteen_entry_meta(); ?>

Kode diatas memanggil function twentyfifteen_entry_meta. coba kita cari semua file php dimanakah diletakkan kata "twentyfifteen_entry_meta" bisa Anda menggunakan software FileSeek silahkan dicari dan downloa. dari hasil yang saya cari maka dapatlah kode function tersebut didalam file template-tags.php dan silahkan dibuka maka ada kode seperti dibawah ini:

function twentyfifteen_entry_meta() {

.....................
.....................

$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';

.....................

printf( '<span class="byline"><span class="author vcard"><span class="screen-reader-text">%1$s </span>

Perhatikan kode diatas dan coba lihat class="entry-date dan class="byline", maka jikan hanya ingin hide the author dan tanggal maka code yang ditambakan di style.css atau edit css adalah:

.entry-date {
 display: none;
}

.byline {
 display: none;
}

Maka dengan menambahkan kode diatas maka entry-date dan byline tidak ditampilkan di postingan atau artikel yang menggunakan theme twentyfifteen, begitu juga jika ingin menyembunyikan tampilan kategori dan tags.

Perlu diperhatikan bahwa setiap theme berbeda2 pengaturan dan class yang digunakan jangan hanya karena melihat artikel orang lain lantas dicoba dan tidak berhasil lalu pusing sendiri. lalu bagaimana cara melihatnya di theme kita?

perhatikan setiap themes mungkin ada file single.php lihat dulu isinya karena bisa saja pembuat theme mengatur lagi atau memanggil fungsi yang ada di file lain untuk menjalankannya seperti themes twentyfifteen diatas untuk class="entry-footer" digunakan untuk semuanya yaitu ada tanggal, author, kategori, tags, maupun edit di front end. maka jika kita berhenti hanya sampai langkah menghilangkan .entry-footer display none maka yang terjadi " Kok Hilang Semua". hehehe pengalaman saya gitu juga.

Wednesday, March 25, 2015

Jepretcode: 2015

Wordpress - Your IP has been flagged for potential security violations

Plugin Jetpact terbaru menambah fitur baru untuk melindungi keamanan website dari serangan yaitu tidak bisa mengakses admin area jika IP address yang tidak terdaftar. Hari ini membuat blog baru dengan menggunakan wordpress, semua berjalan lancar termasuk menginstall plugin jetpack. namun setelah keluar dan mencoba login kembali tanpa diduga keluar pesan seperti gambar dibawah ini


Your IP has been flagged for potential security violations, find out more...
Saya tidak bisa masuk ke admin area, sepertinya plugin jetpack dengan fitur baru memblock ip yang belum didaftarkan. Kalau Anda masih dalam member area dan tidak ingin terjadi seperti saya ketika login kembali dan Anda masih belum keluar dan memiliki plugin ini silahkan masukke jetpack-settings-protect-configure & Whitelist Your I.P
dan isikan IP address yang ingin didaftarkan.

Lalu bagaimana kalau saya sudah terlanjur keluar dan tidak bisa login, bagaimana caranya?
  • Login ke FTP Anda melalui FileZilla atau cPanel website Anda
  • Buka file wp_config.php yang ada do folder utama
  • Tambahkan kode dibawah ini dan ganti xxx dengan IP Anda dengan cara IP Anda gunakan saat ini melalui website ini ip.co.id
  • define('JETPACK_IP_ADDRESS_OK', 'x.x.x.x');
Lalu silahkan dicoba lagi... dan kalau sudah bisa masuk silahkan pergi ke

  • Jetpack
  • Settings
  • Protect
  • configure
  • dan isikan IP address Anda di Whitelist Your IP

Friday, January 23, 2015

Jepretcode: 2015

Codeigniter Menghitung Jumlah Record dan Row Tiga Tabel

Codeigniter bagaimana cara menghitung jumlah record dan row pada satu atau 2 atau 3 tabel. Sebagai contoh data sebuah provinsi lalu bagaimana menghitung jumlah kabupaten, jumlah kecamatan dan jumlah kelurahan didalam suatu provinsi tersebut, menghitung jumlah row atau record pada suatu tabel diperlukan untuk sebuah laporan tabel yang dikombinasikan dengan pagination. Seperti yang dilihat digambar menjelaskan bahwa terdapat 2 kabupaten dan 3 kecamatan serta 4 kelurahan yang ada didalam provinsi Riau

Berikut saya memberikan beberapa penjelasan dengan mengikuti dahulu contoh yang saya buat dibawah ini, dengan mengikuti contoh yang saya buat dibawah ini akan memberikan petunjuk penggunaan seperti menghitung record dari satu, dua, dan tiga tabel sekaligus dan dapat digunakan dalam keperluan laporan tabel yang akan anda buat sehingga Anda dapat memahaminya. Lalu apa saja yang ada didalam contoh yang dibuat dibawah ini.
  1. Codeiginter - Menghitung jumlah record atau row kabupaten, kecamatan dan kelurahan dalam suatu tabel provinsi
  2. Codeigniter - Cara Input, Edit, dan Hapus data provinsi, kabupaten, kecamatan, dan kelurahan
  3. Codeigniter - Mengambil id tertinggi atau max_id atau max_kode baik dari provinsi, kabupaten, kecamatan dan kelurahan.
  4. Codeigniter - Membuat Pagination untuk memudahkan dalam tampilan sehingga tidak memanjang kebawah.
  5. dan beberapa petunjuk lainnya yang dapat digunakan untuk keperluan database anda seperti menghitung jumlah mahasiswa yang masuk pada tahun sebelumnya.
Baiklah untuk melihat hasil yang saya buat sebagai contoh lakukan langkah-langkah membuat atau menghitung jumlah record dan row pada suatu tabel dan beberapa tabel, berikut ini:

- Langkah Pertama

Buatlah sebuah database dengan nama db_provinsi dan buatlah tabel didalam database dengan nama berikut dan untuk isi masing-masing tabel lihat kode dibawahnya.
  • Tabel provinsi,
  • Tabel kabupaten,
  • Tabel kecamatan,
  • Tabel kelurahan.
CREATE TABLE IF NOT EXISTS `provinsi` (
  `id_provinsi` varchar(6) NOT NULL,
  `nama_provinsi` varchar(25) NOT NULL,
  `ibukota_prov` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kabupaten` (
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kabupaten` varchar(100) NOT NULL,
  `pusat_pemerintahan` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kecamatan` (
  `id_kecamatan` varchar(8) NOT NULL,
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kecamatan` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `kelurahan` (
  `id_kelurahan` varchar(10) NOT NULL,
  `id_kecamatan` varchar(8) NOT NULL,
  `id_kab` varchar(7) NOT NULL,
  `id_prov` varchar(6) NOT NULL,
  `nama_kelurahan` varchar(100) NOT NULL,
  `kode_pos_kel` int(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

- Langkah kedua

Download codeigniter ver 2.2.0 karena saya menggunakannya versi yang itu, dan aktifkan dilocalhost Anda, dan buatlah folder dengan nama indonesia, saya juga menganggap anda sudah mengerti penempatan dan membuat folder didalam localhost.

- Langkah ketiga

Sebelum melakukan langkah ketiga ini bukalah database.php yang ada didalam folder application\config\ dan isilah username dan password mysql anda dan isilah database sesuai dengan nama database yang kita buat tadi yaitu db_provinsi.

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = '';

Menjadi

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'mysql';
$db['default']['database'] = 'db_provinsi';


Buatlah sebuah controller dengan nama wilayah.php didalam folder application\controllers\ lalu isi kode berikut dan copy kedalam file wilayah.php

<?php

class Wilayah extends CI_Controller{
 
 public function __construct(){
  parent::__construct();
  $this->load->model('model_wilayah');
 }
 
 public function index(){
  redirect('wilayah/provinsi');
 }
 
 //MODUL PROVINSI
 public function provinsi(){  
  if($this->uri->segment(3)==""){
   $offset=0;
  }else{
   $offset=$this->uri->segment(3);
  }
  $limit = 10;
  $data['provinsi'] = $this->model_wilayah->Lihat_Provinsi($offset, $limit);
  $data['jumlah_provinsi'] = $this->model_wilayah->jumlah_Provinsi(); 
  $data['jumlah_kabupaten'] = $this->model_wilayah->jumlah_Kabupaten();
  $data['jumlah_kecamatan'] = $this->model_wilayah->jumlah_Kecamatan();
  $data['jumlah_kelurahan'] = $this->model_wilayah->jumlah_Kelurahan();
  $config = array();
  $config['base_url'] = base_url(). 'wilayah/provinsi/';
  $config['per_page'] = $limit;
  $config['uri_segment'] = 3;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['jumlah_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(3));
   $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function tambah_provinsi(){
  $data['kode_provinsi'] = $this->model_wilayah->Ambil_Kode_provinsi();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/tambah_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_tambah_provinsi(){ 
 $data['kode_provinsi'] = $this->model_wilayah->Ambil_Kode_provinsi();
 $this->form_validation->set_rules('nama_provinsi','Nama Provinsi', 'required|xss_clean|max_length[100]|trim|strip_tags');
 $this->form_validation->set_rules('ibukota_provinsi','Ibukota Provinsi', 'required|xss_clean|trim|strip_tags');
 if($this->form_validation->run() == TRUE){
   $input_id_provinsi = $this->input->post('id_provinsi');
   $input_nama_provinsi = $this->input->post('nama_provinsi');
   $input_ibukota_provinsi = $this->input->post('ibukota_provinsi');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_provinsi = str_replace($ganti, $oleh, $input_id_provinsi);
   $nama_provinsi = str_replace($ganti, $oleh, $input_nama_provinsi);
   $ibukota_provinsi = str_replace($ganti, $oleh, $input_ibukota_provinsi);
   $this->model_wilayah->Tambah_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi);   
   $this->session->set_flashdata('info', "Provinsi berhasil ditambahkan.");
   redirect('wilayah/provinsi');
 }
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/tambah_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function edit_provinsi($id_provinsi){
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/edit_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_provinsi(){
 $this->form_validation->set_rules('id_provinsi','Kode Provinsi');
 $this->form_validation->set_rules('nama_provinsi','Nama Provinsi', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_provinsi= $this->input->post('id_provinsi');
   $input_nama_provinsi= $this->input->post('nama_provinsi');
   $input_ibukota_prov= $this->input->post('ibukota_prov');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_provinsi = str_replace($ganti, $oleh, $input_id_provinsi);
   $nama_provinsi = str_replace($ganti, $oleh, $input_nama_provinsi);
   $ibukota_provinsi = str_replace($ganti, $oleh, $input_ibukota_prov);
   $this->model_wilayah->update_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi);   
   $this->session->set_flashdata('info', "Provinsi berhasil diubah, gambar diubah.");
   redirect('wilayah/provinsi');   
  }  
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/provinsi/edit_provinsi', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_provinsi($id_provinsi){
  //$query = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();      
  $this->model_wilayah->hapus_provinsi($id_provinsi);
  $this->session->set_flashdata('info', "Provinsi berhasil dihapus.");
  redirect('wilayah/provinsi');
 }
 
 public function hapus_contact($id){
  $this->modeladmin->hapus_contact($id);
  $this->session->set_flashdata('info', "Contact berhasil dihapus.");
  redirect('administrator/contact_us');
 }
 
 //END MODUL PROVINSI 
 
 //MODUL KABUPATEN 
 
 public function lihat_kabupaten($id_provinsi, $offset=0, $limit = 10) {
 $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['hitung_kabupaten_provinsi'] = $this->model_wilayah->Hitung_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi);
 $data['daftar_kabupaten'] = $this->model_wilayah->Ambil_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kabupaten/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kabupaten_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/lihat_kabupaten', $data);
  $this->load->view('template/admin/footer');
  }
 
 public function tambah_kabupaten($id_provinsi){
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $data['kode_kab'] = $this->model_wilayah->Ambil_Kode_Kabupaten();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/tambah_kabupaten', $data);
  $this->load->view('template/admin/footer');
 } 
 
 public function submit_tambah_kabupaten(){ 
 $this->form_validation->set_rules('id_provinsi','Kode Provinsi');
 $data['kode_kab'] = $this->model_wilayah->Ambil_Kode_Kabupaten();
 $this->form_validation->set_rules('nama_kabupaten','Nama Kabupaten', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){    
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kabupaten= $this->input->post('nama_kabupaten');
   $input_pusat_pemerintahan= $this->input->post('pusat_pemerintahan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kabupaten = str_replace($ganti, $oleh, $input_nama_kabupaten);
   $pusat_pemerintahan = str_replace($ganti, $oleh, $input_pusat_pemerintahan);   
   $this->model_wilayah->Input_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan);   
   $this->session->set_flashdata('info', "Kabupaten berhasil ditambahkan.");
   redirect('wilayah/lihat_kabupaten/'.$id_prov);
  }  
  $id_provinsi = $this->input->post('id_prov');
  $data['edit_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/tambah_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }

 public function edit_kabupaten($id_kab){
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/edit_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kabupaten(){
 $id_kab = $this->input->post('id_kab');
 $this->form_validation->set_rules('id_kab','Kode Kabupaten');
 $this->form_validation->set_rules('nama_kabupaten','Nama Kabupaten', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kabupaten= $this->input->post('nama_kabupaten');
   $input_pusat_pemerintahan= $this->input->post('pusat_pemerintahan');
   $input_kode_pos_kab= $this->input->post('kode_pos_kab');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kabupaten = str_replace($ganti, $oleh, $input_nama_kabupaten);
   $pusat_pemerintahan = str_replace($ganti, $oleh, $input_pusat_pemerintahan);
   $kode_pos_kab = str_replace($ganti, $oleh, $input_kode_pos_kab);   
   $this->model_wilayah->Update_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan);   
   $this->session->set_flashdata('info', "Kabupaten berhasil diubah, gambar diubah.");
   redirect('wilayah/lihat_kabupaten/'.$id_prov);
  }  
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['judul'] = "Tambah Kabupaten | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kabupaten/edit_kabupaten', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kabupaten($id_kab){
  $query = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();      
  $this->model_wilayah->Hapus_Kabupaten($id_kab);
  $this->session->set_flashdata('info', "Kabupaten berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 }
 
 //END MODUL Kabupaten 
 
 //MODUL KECAMATAN 
 
 public function lihat_kecamatan($id_provinsi, $offset=0, $limit = 10) { 
 $data['nama_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['id_provinsi'] = $this->model_wilayah->Ambil_Kecamatan_By_Provinsi($id_provinsi)->row();
 $data['hitung_kecamatan'] = $this->model_wilayah->Hitung_Kecamatan_Provinsi($id_provinsi);
 $data['lihat_kecamatan'] = $this->model_wilayah->Lihat_Kecamatan_By_Id_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kecamatan/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kecamatan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/lihat_kecamatan', $data);
  $this->load->view('template/admin/footer');
  }  
 
 public function tambah_kecamatan($id_kab){
  $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['kode_kec'] = $this->model_wilayah->Ambil_Kode_Kecamatan();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/tambah_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_tambah_kecamatan(){
 $id_kab = $this->input->post('id_kab');
 $id_prov = $this->input->post('id_prov');
 $this->form_validation->set_rules('id_kab','Kode Kabupaten');
 $data['kode_kec'] = $this->model_wilayah->Ambil_Kode_Kecamatan();
 $this->form_validation->set_rules('nama_kecamatan','Nama Kecamatan', 'required|xss_clean|max_length[100]|trim|strip_tags'); 
 if($this->form_validation->run() == TRUE){    
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kecamatan= $this->input->post('nama_kecamatan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kecamatan = str_replace($ganti, $oleh, $input_nama_kecamatan);   
   $this->model_wilayah->Input_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan);   
   $this->session->set_flashdata('info', "Kecamatan berhasil ditambahkan.");
   redirect('wilayah/lihat_kecamatan_kabupaten/'.$id_kab); 
 }
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/tambah_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function lihat_kecamatan_kabupaten($id_kab, $offset=0, $limit = 10) {
 $data['edit_kabupaten'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
 $data['Hitung_Kecamatan'] = $this->model_wilayah->Hitung_Kecamatan_Berdasarkan_Kabupaten($id_kab);
 $data['kecamatan'] = $this->model_wilayah->Lihat_Kecamatan_By_Id_Kabupaten($id_kab, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kecamatan_kabupaten/'.$id_kab.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['Hitung_Kecamatan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/lihat_kecamatan_kabupaten', $data);
  $this->load->view('template/admin/footer');
  }

 public function edit_kecamatan($id_kecamatan){
  $data['edit_kecamatan'] = $this->model_wilayah->Edit_Kecamatan_By_Kecamatan($id_kecamatan)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/edit_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kecamatan(){
 $this->form_validation->set_rules('id_kecamatan','Kode Kecamatan');
 $this->form_validation->set_rules('nama_kecamatan','Nama Kecamatan', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kecamatan= $this->input->post('nama_kecamatan');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kecamatan= str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kecamatan = str_replace($ganti, $oleh, $input_nama_kecamatan);   
   $this->model_wilayah->Update_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan);   
   $this->session->set_flashdata('info', "Kecamatan berhasil diubah.");
   redirect('wilayah/lihat_kecamatan_kabupaten/'.$id_kab);   
  }  
  $data['edit_kecamatan'] = $this->model_wilayah->getEditKecamatan($id_kecamatan)->row();
  $data['judul'] = "Tambah Kecamatan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kecamatan/edit_kecamatan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kecamatan($id_kecamatan){
  $query = $this->model_wilayah->Edit_Kecamatan_By_Kecamatan($id_kecamatan)->row();      
  $this->model_wilayah->hapus_kecamatan($id_kecamatan);
  $this->session->set_flashdata('info', "Kecamatan berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 } 
 
 //END MODUL KECAMATAN
 
 //MODUL KELURAHAN 
 
 public function lihat_kelurahan($id_provinsi, $offset=0, $limit = 10) {  
 $data['nama_provinsi'] = $this->model_wilayah->Ambil_Id_Provinsi($id_provinsi)->row();
 $data['edit_kecamatan'] = $this->model_wilayah->Edit_Kecamatan_by_Provinsi($id_provinsi)->row();
 $data['hitung_kelurahan_berdasarkan_provinsi'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Provinsi($id_provinsi);
 $data['lihat_kelurahan_menurut_provinsi'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Provinsi($id_provinsi, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan/'.$id_provinsi.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan_berdasarkan_provinsi'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan', $data);
  $this->load->view('template/admin/footer');
  }
  
 public function lihat_kelurahan_kab($id_kab, $offset=0, $limit = 10) {
  $data['provinsi'] = $this->model_wilayah->Edit_Kabupaten($id_kab)->row();
  $data['kecamatan'] = $this->model_wilayah->Edit_Kecamatan_by_Kabupaten($id_kab)->row();
  $data['hitung_kelurahan_berdasarkan_kabupaten'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Kabupaten($id_kab);
  $data['lihat_kelurahan_berdasarkan_kabupaten'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Kabupaten($id_kab, $offset, $limit);
  $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan_kab/'.$id_kab.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan_berdasarkan_kabupaten'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan_kab', $data);
  $this->load->view('template/admin/footer');
  }
 
 public function lihat_kelurahan_kec($id_kecamatan, $offset=0, $limit = 10) {
 $data['provinsi'] = $this->model_wilayah->Edit_Kelurahan_By_Kecamatan($id_kecamatan)->row();
 $data['hitung_kelurahan'] = $this->model_wilayah->Hitung_Kelurahan_Berdasarkan_Kecamatan($id_kecamatan);
 $data['lihat_kelurahan_berdasarkan_kecamatan'] = $this->model_wilayah->Lihat_Semua_Kelurahan_By_Kecamatan($id_kecamatan, $offset, $limit);
 $config = array();
  $config['base_url'] = base_url(). 'wilayah/lihat_kelurahan_kec/'.$id_kecamatan.'/';
  $config['per_page'] = $limit;
  $offset = $this->uri->segment(4, 0);
  $config['uri_segment'] = 4;
  $config['num_links'] = 5;  
  $config['first_tag_open'] = '<li>';
  $config['first_link'] = 'First';
  $config['first_tag_close'] = '</li>';
  $config['prev_link'] = 'Prev';
  $config['prev_tag_open'] = '<li>';
  $config['prev_tag_close'] = '</li>';
  $config['cur_tag_open'] = '<li class="active"><a href>';
  $config['cur_tag_close'] = '</a></li>';
  $config['next_link'] = 'Next';
  $config['next_tag_open'] = '<li>';
  $config['next_tag_close'] = '</li>';
  $config['num_tag_open'] = '<li>';
  $config['num_tag_close'] = '</li>';
  $config['last_tag_open'] = '<li>';
  $config['last_link'] = 'Last';
  $config['last_tag_close'] = '</li>';
  $config['total_rows'] = $data['hitung_kelurahan'];
  $this->pagination->initialize($config);
  $this->session->set_userdata('row', $this->uri->segment(4));
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/lihat_kelurahan_kec', $data);
  $this->load->view('template/admin/footer');
  }
  
 public function tambah_kelurahan($id_kecamatan){
  $data['provinsi'] = $this->model_wilayah->Edit_Kelurahan_By_Kecamatan($id_kecamatan)->row();
  $data['kode_kel'] = $this->model_wilayah->Ambil_Kode_Kelurahan();
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/tambah_kelurahan', $data);
  $this->load->view('template/admin/footer');
 } 
 
 public function submit_tambah_kelurahan(){
 $id_kab = $this->input->post('id_kab');
 $id_prov = $this->input->post('id_prov');
 $id_kecamatan = $this->input->post('id_kecamatan');
 $this->form_validation->set_rules('id_kecamatan','Kode Kecamatan');
 $data['kode_kel'] = $this->model_wilayah->Ambil_Kode_Kelurahan();
 $this->form_validation->set_rules('nama_kelurahan','Nama Kelurahan', 'required|xss_clean|max_length[100]|trim|strip_tags'); 
 if($this->form_validation->run() == TRUE){    
   $input_id_kelurahan= $this->input->post('id_kelurahan');
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_id_kab= $this->input->post('id_kab');
   $input_id_prov= $this->input->post('id_prov');
   $input_nama_kelurahan= $this->input->post('nama_kelurahan');
   $input_kode_pos_kel= $this->input->post('kode_pos_kel');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kelurahan = str_replace($ganti, $oleh, $input_id_kelurahan);
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $id_kab = str_replace($ganti, $oleh, $input_id_kab);
   $id_prov = str_replace($ganti, $oleh, $input_id_prov);
   $nama_kelurahan = str_replace($ganti, $oleh, $input_nama_kelurahan);
   $kode_pos_kel = str_replace($ganti, $oleh, $input_kode_pos_kel);   
   $this->model_wilayah->Input_Kelurahan($id_kelurahan, $id_kecamatan, $id_kab, $id_prov, $nama_kelurahan, $kode_pos_kel);   
   $this->session->set_flashdata('info', "Kelurahan berhasil ditambahkan.");
   redirect('wilayah/lihat_kelurahan_kec/'.$id_kecamatan);
  }  
  $data['error'] = "";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/tambah_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function edit_kelurahan($id_kelurahan){
  $data['edit_kelurahan'] = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();
  $data['judul'] = "Tambah Kelurahan | Wilayah";
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/edit_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function submit_edit_kelurahan(){ 
 $id_prov = $this->input->post('id_provinsi');
 $this->form_validation->set_rules('id_kelurahan','Kode Kelurahan');
 $this->form_validation->set_rules('nama_kelurahan','Nama Kelurahan', 'required|xss_clean|max_length[255]|trim|strip_tags');
 if($this->form_validation->run() == TRUE){     
   $input_id_kelurahan= $this->input->post('id_kelurahan');
   $input_id_kecamatan= $this->input->post('id_kecamatan');
   $input_nama_kelurahan= $this->input->post('nama_kelurahan');
   $input_kode_pos_kel= $this->input->post('kode_pos_kel');
   $ganti = array("'");
   $oleh = "&#039;";
   $id_kelurahan= str_replace($ganti, $oleh, $input_id_kelurahan);
   $id_kecamatan = str_replace($ganti, $oleh, $input_id_kecamatan);
   $nama_kelurahan = str_replace($ganti, $oleh, $input_nama_kelurahan);
   $kode_pos_kel = str_replace($ganti, $oleh, $input_kode_pos_kel);   
   $this->model_wilayah->Update_Kelurahan($id_kelurahan, $id_kecamatan, $nama_kelurahan, $kode_pos_kel);   
   $this->session->set_flashdata('info', "Kelurahan berhasil diubah, gambar diubah.");
   redirect('wilayah/lihat_kelurahan/'.$id_prov);
  }  
  $data['edit_kelurahan'] = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();
  $this->load->view('template/admin/header', $data);
  $this->load->view('admin/kelurahan/edit_kelurahan', $data);
  $this->load->view('template/admin/footer');
 }
 
 public function hapus_kelurahan($id_kelurahan){
  $query = $this->model_wilayah->Edit_Kelurahan($id_kelurahan)->row();      
  $this->model_wilayah->hapus_kelurahan($id_kelurahan);
  $this->session->set_flashdata('info', "Kelurahan berhasil dihapus.");
  redirect($_SERVER['HTTP_REFERER']);
 }
 
 //END KELURAHAN
}


- Langkah ke empat

Buka routes.php yang ada didalam folder application\config\ dan rubah welcome menjadi wilayah karena kita akan memanggil controller wilayah.php sebagai default controllernya

$route['default_controller'] = "welcome";

Menjadi

$route['default_controller'] = "wilayah";


- Langkah ke lima

Buatlah sebuah model dengan nama model_wilayah.php didalam folder application\models\ dan sesuaikan isi model_wilayah.php dengan kode berikut:

<?php 

class Model_wilayah extends CI_Model{
 
 public function __construct(){
  parent::__construct();
 }
 
 public function Lihat_Provinsi($offset, $limit){
  $query = $this->db->query("SELECT
      p.*, x.total_kabupaten, y.total_kecamatan, k.total_kelurahan
     FROM provinsi p

     LEFT OUTER JOIN (SELECT s.*, COUNT(s.id_prov) AS total_kabupaten
     FROM kabupaten s
     GROUP BY s.id_prov) x ON x.id_prov = p.id_provinsi

     LEFT OUTER JOIN (SELECT e.*, COUNT(e.id_prov) AS total_kecamatan
     FROM kecamatan e
     GROUP BY e.id_prov) y ON y.id_prov = p.id_provinsi

     LEFT OUTER JOIN (SELECT k.*, COUNT(k.id_prov) AS total_kelurahan
     FROM kelurahan k
     GROUP BY k.id_prov) k ON k.id_prov = p.id_provinsi
     
     LIMIT $offset, $limit");
     return $query;
 } 
 // ---------------------------------------------------------------------------
 public function jumlah_Provinsi(){
  $query = $this->db->query("
   SELECT * FROM provinsi
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kabupaten(){
  $query = $this->db->query("
   SELECT * FROM kabupaten
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kecamatan(){
  $query = $this->db->query("
   SELECT * FROM kecamatan
  ");
  return $query->num_rows();
 }
 
 public function jumlah_Kelurahan(){
  $query = $this->db->query("
   SELECT * FROM kelurahan
  ");
  return $query->num_rows();
 }
 // ---------------------------------------------------------------------------
 public function Hitung_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kabupaten WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kecamatan_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kecamatan_Berdasarkan_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_kab = '$id_kab'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_prov = '$id_provinsi'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kab = '$id_kab'");
  return $query->num_rows();
 }
 
 public function Hitung_Kelurahan_Berdasarkan_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kecamatan = '$id_kecamatan'");
  return $query->num_rows();
 }
 // ---------------------------------------------------------------------------
 
 public function Ambil_Kode_provinsi() {
  $query = $this->db->query("SELECT MAX(id_provinsi) as max_id FROM provinsi"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,2);
  $mkode_prov = $max_id2 +1;
  $maxkode_prov = 'PRO-'.sprintf("%02s",$mkode_prov);
  return $maxkode_prov;
 }
 
 public function Ambil_Kode_Kabupaten() {
  $query = $this->db->query("SELECT MAX(id_kab) as max_id FROM kabupaten"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,3);
  $mkode_kab = $max_id2 +1;
  $maxkode_kab = 'KAB-'.sprintf("%03s",$mkode_kab);
  return $maxkode_kab;
 }
 
 public function Ambil_Kode_Kecamatan() {
  $query = $this->db->query("SELECT MAX(id_kecamatan) as max_id FROM kecamatan"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,4);
  $mkode_kec = $max_id2 +1;
  $maxkode_kec = 'KEC-'.sprintf("%04s",$mkode_kec);
  return $maxkode_kec;
 }
 
 public function Ambil_Kode_Kelurahan() {
  $query = $this->db->query("SELECT MAX(id_kelurahan) as max_id FROM kelurahan"); 
  $row = $query->row_array();
  $max_id = $row['max_id']; 
  $max_id2 =(int) substr($max_id,4,5);
  $mkode_kel = $max_id2 +1;
  $maxkode_kel = 'KEL-'.sprintf("%05s",$mkode_kel);
  return $maxkode_kel;
 }

 // ---------------------------------------------------------------------------
 public function Tambah_Provinsi($id_provinsi, $nama_provinsi, $ibukota_provinsi){
  $query = $this->db->query("INSERT INTO provinsi VALUES('$id_provinsi', '$nama_provinsi', '$ibukota_provinsi')");
 }
 
 public function Input_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan){
  $query = $this->db->query("INSERT INTO kabupaten VALUES('$id_kab', '$id_prov', '$nama_kabupaten', '$pusat_pemerintahan')");
 }
 
 public function Input_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan){
  $query = $this->db->query("INSERT INTO kecamatan VALUES('$id_kecamatan', '$id_kab', '$id_prov', '$nama_kecamatan')");
 }
 
 public function Input_Kelurahan($id_kelurahan, $id_kecamatan, $id_kab, $id_prov, $nama_kelurahan, $kode_pos_kel){
  $query = $this->db->query("INSERT INTO kelurahan VALUES('$id_kelurahan', '$id_kecamatan', '$id_kab', '$id_prov', '$nama_kelurahan', '$kode_pos_kel')");
 }
 // ---------------------------------------------------------------------------
 
 public function Ambil_Id_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM provinsi WHERE id_provinsi = '$id_provinsi'");
  return $query;
 }
 
 
 // ---------------------------------------------------------------------------
 public function update_Provinsi($id_provinsi, $nama_provinsi, $ibukota_prov){
  $query = $this->db->query("UPDATE provinsi 
         SET id_provinsi = '$id_provinsi',
         nama_provinsi = '$nama_provinsi',
         ibukota_prov = '$ibukota_prov'
         WHERE id_provinsi = '$id_provinsi'
        ");
 }
 
 public function Update_Kabupaten($id_kab, $id_prov, $nama_kabupaten, $pusat_pemerintahan){
  $query = $this->db->query("UPDATE kabupaten 
         SET id_kab = '$id_kab',
         id_prov = '$id_prov',
         nama_kabupaten = '$nama_kabupaten',
         pusat_pemerintahan = '$pusat_pemerintahan'
         WHERE id_kab = '$id_kab'
        ");
 }
 
 public function Update_Kecamatan($id_kecamatan, $id_kab, $id_prov, $nama_kecamatan){
  $query = $this->db->query("UPDATE kecamatan 
         SET id_kecamatan = '$id_kecamatan',
         id_kab = '$id_kab', 
         id_prov = '$id_prov',
         nama_kecamatan = '$nama_kecamatan'    
         WHERE id_kecamatan = '$id_kecamatan'
        ");
 }
 
 public function Update_Kelurahan($id_kelurahan, $id_kecamatan, $nama_kelurahan, $kode_pos_kel){
  $query = $this->db->query("UPDATE kelurahan
         SET id_kelurahan = '$id_kelurahan',
         id_kecamatan = '$id_kecamatan',         
         nama_kelurahan = '$nama_kelurahan',
         kode_pos_kel = '$kode_pos_kel'         
         WHERE id_kelurahan = '$id_kelurahan'
        ");
 }
 // ---------------------------------------------------------------------------
 
 
 public function hapus_provinsi($id_provinsi){
  $this->db->query("DELETE FROM provinsi WHERE id_provinsi = '$id_provinsi' ");
 }
 
 public function Ambil_Kabupaten_Berdasarkan_Id_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT 
  
     x.*, y.total_kecamatan, k.total_kelurahan
     FROM kabupaten x

     LEFT OUTER JOIN (SELECT e.*, COUNT(e.id_kab) AS total_kecamatan
     FROM kecamatan e
     GROUP BY e.id_kab) y ON y.id_kab = x.id_kab

     LEFT OUTER JOIN (SELECT k.*, COUNT(k.id_kab) AS total_kelurahan
     FROM kelurahan k
     GROUP BY k.id_kab) k ON k.id_kab = x.id_kab
     WHERE x.id_prov = '$id_provinsi'
     LIMIT $offset, $limit");
     
  return $query;
 }
 // ---------------------------------------------------------------------------
 public function Edit_Kabupaten($id_kab){
  $query = $this->db->query("SELECT kab.*, pro.id_provinsi, pro.nama_provinsi FROM kabupaten as kab, provinsi as pro
         WHERE id_kab = '$id_kab' AND id_prov = id_provinsi");
  return $query;
 }
 
 public function Edit_Kecamatan_By_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT kec.*, kab.id_kab, kab.nama_kabupaten FROM kecamatan as kec, kabupaten as kab 
         WHERE kec.id_kecamatan = '$id_kecamatan' AND kec.id_kab = kab.id_kab");
  return $query;
 }
 
 public function Edit_Kecamatan_by_Provinsi($id_provinsi){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_prov = '$id_provinsi'");
  return $query;
 }
 
 public function Edit_Kecamatan_by_Kabupaten($id_kab){
  $query = $this->db->query("SELECT * FROM kecamatan WHERE id_kab = '$id_kab'");
  return $query;
 } 
 
 public function Edit_Kelurahan_By_Kecamatan($id_kecamatan){
  $query = $this->db->query("SELECT kec.*, pro.id_provinsi, pro.nama_provinsi, kab.id_kab, kab.nama_kabupaten 
         FROM kecamatan as kec, provinsi as pro, kabupaten as kab
         WHERE id_kecamatan = '$id_kecamatan' AND kec.id_prov = pro.id_provinsi AND kec.id_kab = kab.id_kab");
  return $query;
 }
 
 public function Edit_Kelurahan($id_kelurahan){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kelurahan = '$id_kelurahan'");
  return $query;
 }
 // ---------------------------------------------------------------------------
  
 public function Hapus_Kabupaten($id_kab){
  $this->db->query("DELETE FROM kabupaten WHERE id_kab = '$id_kab' ");
 }
 
 public function Ambil_Kecamatan_By_Provinsi($id_provinsi){
  if($id = $id_provinsi){
  $query = $this->db->query("SELECT * FROM kabupaten WHERE id_prov = '$id_provinsi'");
  return $query;
  }
  if($id = $id_kab){
   $query = $this->db->query("SELECT * FROM kabupaten WHERE id_kab = '$id_kab'");
   return $query;
  }
  else {
   return FALSE;
  }
 } 
 
 public function Lihat_Kecamatan_By_Id_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT 
         kecamatan.id_kecamatan,
         kecamatan.id_kab,
         kecamatan.id_prov,
         kecamatan.nama_kecamatan,         
         count(kelurahan.id_kecamatan) as total_kelurahan
         FROM kecamatan
         LEFT JOIN kelurahan
         ON kelurahan.id_kecamatan = kecamatan.id_kecamatan
         WHERE kecamatan.id_prov = '$id_provinsi'
         GROUP BY kecamatan.id_kecamatan 
         ASC LIMIT $offset, $limit");
  return $query;
 }

 public function Lihat_Kecamatan_By_Id_Kabupaten($id_kab, $offset, $limit){
  $query = $this->db->query("SELECT 
         kecamatan.id_kecamatan,
         kecamatan.id_kab,
         kecamatan.id_prov,
         kecamatan.nama_kecamatan,         
         count(kelurahan.id_kecamatan) as total_kelurahan
         FROM kecamatan
         LEFT JOIN kelurahan
         ON kelurahan.id_kecamatan = kecamatan.id_kecamatan
         WHERE kecamatan.id_kab = '$id_kab'
         GROUP BY kecamatan.id_kecamatan
         ASC LIMIT $offset, $limit");
  return $query;
 }
 
 // ---------------------------------------------------------------------------
 public function Lihat_Semua_Kelurahan_By_Provinsi($id_provinsi, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_prov = '$id_provinsi'
         ORDER BY id_kecamatan ASC LIMIT $offset, $limit");        
  return $query;
 }
 
 public function Lihat_Semua_Kelurahan_By_Kabupaten($id_kab, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kab = '$id_kab'
         ORDER BY id_kecamatan ASC LIMIT $offset, $limit");        
  return $query;
 }
 
 public function Lihat_Semua_Kelurahan_By_Kecamatan($id_kecamatan, $offset, $limit){
  $query = $this->db->query("SELECT * FROM kelurahan WHERE id_kecamatan = '$id_kecamatan'
         ORDER BY id_kelurahan ASC LIMIT $offset, $limit");        
  return $query;
 }
 // ---------------------------------------------------------------------------
 
 public function hapus_kecamatan($id_kecamatan){
  $this->db->query("DELETE FROM kecamatan WHERE id_kecamatan = '$id_kecamatan' ");
 }
 
 public function hapus_kelurahan($id_kelurahan){
  $this->db->query("DELETE FROM kelurahan WHERE id_kelurahan = '$id_kelurahan' ");
 }
 
}


- Langkah ke enam

Langkah untuk membuat view yaitu buatlah file dengan nama provinsi.php yang ada didalam folder application\views\ admin\provinsi\ dan isi kode seperti dibawah ini didalam provinsi.php.

<div class="container">
  <div class="row">
   <div class="span12">
    <h1>Daftar Wilayah</h1><br />
    <div class="row">
     <!--sidebar menu -->
     <?php echo $this->load->view('template/admin/sidebar'); ?>
     <!--end sidebar menu -->
     <!-- table, content, etc -->
     <div class="span9">
      <div class=""><!-- basic tabs menu -->
      <?php if($this->session->flashdata('info')) { ?>
       <div class="alert alert-info">  
         <a class="close" data-dismiss="alert">x</a>  
         <strong>Info! </strong><?php echo $this->session->flashdata('info'); ?>  
       </div>
      <?php } ?>
       <ul class="nav nav-tabs">
        <li class="active"><a href="<?php echo base_url(); ?>wilayah/provinsi/">Provinsi</a></li>
        <li><a href="<?php echo base_url(); ?>wilayah/tambah_provinsi/">Tambah Provinsi</a></li>
       </ul>
      </div><!-- basic tabs menu -->
      <h5>Semua wilayah berjumlah sebanyak :<br>
      Provinsi : <?php echo $jumlah_provinsi; ?><br>
      Kabupaten : <?php echo $jumlah_kabupaten; ?><br> 
      Kecamatan : <?php echo $jumlah_kecamatan; ?><br>
      Kelurahan : <?php echo $jumlah_kelurahan; ?></h5><br />
       <table class="table table-striped table-bordered"><!-- table default style -->
        <thead>
         <th>No</th>
         <th>Nama Provinsi</th>
         <th>Ibukota Provinsi</th>
         <th>Kabupaten</th>
         <th>Kecamatan</th>
         <th>Kelurahan</th>
         <th colspan="2">Aksi</th>
        </thead>
        <tr>
        <?php $no=1; 
         foreach($provinsi->result() as $row){ 
        ?>
         <td><?php echo $this->session->userdata('row')+$no; ?></td>
         <td><?php echo ucwords($row->nama_provinsi); ?></td>
         <td><?php echo ucwords($row->ibukota_prov); ?></td>
         
         <td><a title="Lihat Kabupaten Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kabupaten/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kabupaten); ?>
         </a></td>
         
         <td><a title="Lihat Kecamatan Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kecamatan/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kecamatan); ?>
         </a></td>
         
         <td><a title="Lihat Kelurahan Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/lihat_kelurahan/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> <?php echo ucwords($row->total_kelurahan); ?>
         </a></td>
         
         <td border="0">
          <a title="Edit Provinsi <?php echo $row->nama_provinsi; ?>" href="<?php echo base_url(); ?>wilayah/edit_provinsi/<?php echo $row->id_provinsi; ?>">
           <i class="icon-edit"></i> Edit 
          </a> | <a href="#" onClick="if(confirm('Anda yakin HAPUS data ini? ')){document.location='<?php echo base_url()?>wilayah/hapus_provinsi/<?php echo $row->id_provinsi; ?>'}" title="Hapus Provinsi <?php echo $row->nama_provinsi; ?>" >
           <i class="icon-trash"></i> Hapus
          </a>
         </td>
        </tr>
       <?php 
        $no++;
        } 
       ?>
       </table><!-- table default style -->
       <div class="pagination">
        <ul>
         <?php echo $this->pagination->create_links(); ?>
        </ul>
       </div>
     </div>
     <!-- table, content, etc -->
    </div>
    <div class="row">
    </div>
   </div>
  </div>


Untuk mencobanya silahkan refresh localhost dan panggil folder indonesia. apakah yang terjadi? terjadi kesalahan:

  • Fatal error: Call to undefined function redirect()
  • A PHP Error was encountered Message: Undefined property: Wilayah::$db
  • Message: Undefined Property: Wilayah::$pagination
  • Message: Undefined Property: Wilayah::$session
  • An Error Was Encountered In order to use the Session class you are required to set an encryption key in your config file

Untuk kesalahan diatas coba lihat mengatasi kesalahan-kesalahan didalam codeigniter dalam mengatasi contoh yang sedang kita buat ini.

- Langkah ke tujuh

Menghilangkan index.php pada codeigniter dengan mengikuti petunjuk ini

- Langkah ke delapan

Untuk lengkapnya file views silahkan download dan lihat isinya disini , saya menggunakan Twitter Bootstrap sebagai template adminnya.

- Langkah ke Sembilan

Coba refresh lagi dilocalhost dan lihat kesalahan yang terjadi
  • Fatal error: Call to undefined function form_error()
Untuk kesalahan ini silahkan buka file autoload.php yang ada didalam folder application\config\ dan rubahlah kode seperti dibawah ini:

$autoload['libraries'] = array();

$autoload['helper'] = array();

Menjadi

$autoload['libraries'] = array('database','session','form_validation','image_lib','upload','pagination');

$autoload['helper'] = array('file','html','form','url');

Bagaimana apakah sudah jalan contoh yang diberikan, bisa diperhatikan disana terdapat beberapa cara untuk membuat count atau menghitung jumlah row atau record seperti yang sudah dilakukan pada contoh.
Silahkan lihat video tutorial meghitung jumlah record atau row dengan tiga tabel.