Blog Nur Akhwan

Blog Nur Akhwan - Blog tentang Pemrograman Web dengan Bahasa PHP, Download Gratis Aplikasi Web PHP

Eh, ada yang punya rumah baru, gaess. Sang Kode Pencerah (bukan judul filem) alias Codeigniter, sekarang telah berganti kepemilikan dan menempati rumah barunya. Eitss.. siapa si ndoro-nya atau pemilik Codeigniter yang baru..? The British Columbia Institute of Technology, yang berbasis di Vancouver, Kanada (Yogyakarta sebelah barat, ahahaha), adalah sekarang pemilik sah dan meyakinkan framework PHP Codeigniter tersebut. 




Setelah dilakukan pemilihan pemilik baru melalui proses yang sangat terstruktur, sistematif, masif, posesif, kompetitif dan berjalan dengan kondusif, pemilik awal Codeigniter, Ellislab, akhirnya memutuskan menjatuhkan pilihan The British Columbia Institute of Technology (yang pada kesempatan ini saya sebut BCIT), sebagai pemilik selanjutnya, dan meneruskan pengembangan dari framework Codeigniter ini. Terpilihnya BCIT ini tidak lepas dari dukungan dan kapabilitas BCIT sebagai sebuah kampus yang memiliki jumlah mahasiswa sebanyak 48.000 mahasiswa terdaftar, dan program setiap tahunya sekitar 350. Saya juga kurang begitu ngerti angka-angka yang dilansir di situs Ellislab-nya, kok rada janggal, yang jelas kalau benar segitu, pastinya sama dengan jumlah mahasiswa di kampus saya STMIK El Rahma, Yogyakarta,  tentunya 500 tahun kedepan. Ahaha.. Selain itu fasilitas-fasilitas pendukung untuk pengembangan projec Codeigniter di kampus ini, sangatlah mumpuni. 

Sedikit mengulang kembali kenangan saya dengan Codeigniter ini. Pertama kali kenalan sekitar tahun 2012 yang lalu saat mata kuliah Web Dinamis Lanjut. Awalnya saya kurang begitu tertarik dengan pemprograman model-model framework ini. Lebih suka yang PHP murni gitu. Maklum, kalau belum kenal, ya males buat belajarnya, apalagi istilah-istilah konsepnya yang asing, seperti controller, view, dan model. Namun, beberapa teman dan dosen-dosen di kampus kok berkata bahwa dengan menggunakan PHP framework yaitu Codeigniter, pekerjaan mengetik kode jauh lebih mudah dan cepat. Berbekal rasa penasaran tersebut, saya secing-secing di google tentang framework tersebut, dan ketemu dengan situs Mediatutorial.web.id. Di situ ada video tutorialnya, dan berbekal video tutorial tersebut saya belajar sedikit demi sedikit Codeigniter tersebut. Lama-kelamaan kok ternyata keenakan dengan framework tersebut. Filosofi ringan dan mudah dipelajari dari Codeigniter, ada benar-benar terbukti, oleh saya yang sangat newbie hanya modal keterampilan sedikit dasar-dasar pemrograman PHP. Alhamdulillah, sampai sekarang, masih bertahan dengan framework ini, walaupun gempuran-gempuran framework PHP baru seperti Laravel, Yii, Symphony dll yang sangat masif. Project pertama kali menggunakan Codeigniter adalah website SD sederhana dengan Codeigniter dan Twitter bootstrap, yang saya posting di blog ini dan bisa didownload di postingan ini. Selanjutnya, sebagai freelance perwebsite'an saya sepenuhnya mengandalkan Codeigniter ini. Terima kasih Codeigniter.

Sekarang, laman resmi Codeigniter telah berganti di alamat http://www.codeigniter.com/. Halaman github-nya yang mau nge-git, pun sekarang dipindakan ke alamat https://github.com/bcit-ci/CodeIgniter. Adapun versi terakhir dari Codeigniter yang dikembangkan oleh Ellislab adalah versi 2.2.0. Sedangkan versi yang akan dikembangkan oleh BCIT nantinya akan mempergunakan versi 3.x.x. Semoga, dengan berpindahnya kepemilikan ini, Codeigniter dapat berkembang lebih pesat, menyesuaikan dengan framework-framework lainnya dan tentunya tetap GRATISSSS, lisensinya.. Ahahaha..


*) PROMOSI JASA 
Jangan lupa klo membutuhkan website profil, website sekolah, sistem informasi, yang ada hubungannya dengan website, hubungi ane saja, gan. Respon cepat hubungi via Whatsapp : 085292747190. 

MIME merupakan kependekan dari Multipurpose Internet Mail Extension. Pengertiannya adalah sebuah mekanisme untuk mengirim berbagai macam file (seperti file teks, gambar, video, dll) agar browser dapat menterjemahkan isi file tersebut dengan benar. Sesuai namanya, MIME pada dasarnya digunakan pada pertukaran data file di email. Namun, sepertinya, dalam proses upload file di sebuah aplikasi berbasis web, penggunaan MIME ini juga diperlukan.




Permasalahan yang muncul adalah ada beberapa file yang belum/tidak ada/tidak dikenali oleh web server kita. Salah satunya adalah file .SQL. Kebetulan saya membuat sebuah aplikasi berbasis web dengan menggunakan framework Codeigniter, dimana dalam aplikasi tersebut ada fasilitas untuk mem-backup dan merestore database. Otomatis, saya menggunakan tipe file .SQL. Namun ternyata file tipe itu tidak dikenal oleh web server, sehingga setiap kali melakukan validasi upload, akan muncul error : 


The filetype you are attempting to upload is not allowed.

Akhirnya, setelah melakukan pencarian di sana sini tentang bagaimana  cara menambahkan MIME type untuk file .SQL di Codeigniter ini, akhirnya ditemukan solusi, yaitu dengan menambahkan mime type sendiri. Saya mencoba menambahkan di file "application/config/mimes.php" di baris terakhir. Saya menambahkan mimes type SQL pada baris terakhir, dengan cara berikut ini : 


Sebelum
'json' => array('application/json', 'text/json')
);
Sesudah
'json' => array('application/json', 'text/json'),
'sql' => 'application/octet-stream'
);
Dan akhirnya, tadaaaa... setelah dicoba kembali fasilitas restore database dapat berjalan kembali dengan normal.




*) PROMOSI JASA 
Jangan lupa klo membutuhkan website profil, website sekolah, sistem informasi, yang ada hubungannya dengan website, hubungi ane saja, gan. Respon cepat hubungi via Whatsapp : 085292747190. 

Kemajuan teknologi informasi, telah menuntut perpustakaan baik milik sekolah atau instansi untuk bertransformasi menjadi perpustakaan berbasis teknologi informasi dalam hal pelayanannya. Mau tidak mau, teknologi informasi harus diterapkan dalam semua proses bisnis pelayanan perpustakaan. Salah satu penggunaanya adalah dengan menerapkan Sistem Informasi Perpustakaan. Sistem Informasi Perpustakaan adalah sistem aplikasi/software yang digunakan dalam pengelolaan perpustakaan, seperti manajemen data buku, manajemen data anggota, manajemen data transaksi peminjaman, dan lain sebagainya. 


Sebelumnya, saya telah membuat postingan dengan judul Aplikasi Perpustakaan Gratis Berbasis Web. Alhamdulillah, responnya baik sekali dari para pengunjung blog. Namun sayangnya, masih terdapat banyak bug-bug/kesalahan program yang didapati oleh para pengunjung dan pengunduh skrip/source code aplikasi perpustakaan berbasis web tersebut. Fasilitas yang ditawarkan pun masih minim, dan dengan tampilan yang seadanya juga. Hingga beberapa kali saya melakukan perbaikan-perbaikan di segi bug-bug program, dan saya re-upload skripnya. Pada aplikasi perpustakaan tersebut saya masih menggunakan bahasa pemrograman PHP murni, tanpa framework.


Pada posting yang kedua ini, saya kembali lagi membuat sebuah Aplikasi Perpustakaan. Fasilitas yang ditawarkan lebih banyak, daripada aplikasi yang saya posting sebelumnya. Berikut fasilitasnya :

  1. Untuk program, masih dengan PHP tapi Aplikasi Perpustakaan ini menggunakan framework Codeigniter.
  2. Untuk desain tampilan program, Aplikasi Perpustakaan menggunakan Twitter Bootstraap yang lebih mudah penggunaanya, namun dengan tampilan tetap elegan.
  3. Menu data anggota, dengan wewenang akses Tambah, Edit, dan Hapus
  4. Menu data buku, dengan wewenang akses Tambah, Edit, dan Hapus
  5. Menu data transaksi, dengan satu anggota bisa meminjam buku sebanyak 2 buku, dalam satu kali transaksi.
  6. Menu peralatan (tools), yaitu backup, restore, dan optimize database
  7. Menu laporan pengunjung, laporan peminjaman, laporan buku, laporan anggota, laporan statistik terbanyak.
  8. Menu data referensi jenis pustaka, kelas pustaka, lokasi pustaka.
  9. Menu pengaturan, pengaturan nama perpustakaan, pengaturan hari libur, dan pengaturan peminjaman.
  10. Pada tampilan awal, akan ditampilkan halaman buku tamu pengunjung perpustakaan (seperti pada aplikasi perpustkaan berbasis web sebelumnya.

Screenshot halaman depan Aplikasi Perpustakaan

Untuk dapat melihat Demo Aplikasi Perpustakaan Berbasis Web dengan Codeigniter dan Twitter Bootstraap, anda dapat meng-klik tautan di bawah ini :

DEMO APLIKASI PERPUSTAKAAN 


Sementara untuk Link Download Aplikasi Perpustkaan Berbasis Web dengan Codeigniter dan Twitter Bootstraap, belum dapat kami publikasikan, karena saya masih saya perbaiki. Insha Alloh, dalam waktu dekat, akan segera saya upload di 4shared.com


DOWNLOAD APLIKASI PERPUSTAKAAN

  1. Download Database Aplikasi Perpustakaan Codeigniter
  2. Download Source Code Aplikasi Perpustakaan Codeigniter 
Perhatian, agar aplikasi dapat berjalan dengan normal : 

Konfigurasi :
  • Nama database : "db_simpustaka"
  • Hostname database : "localhost"
  • User database : "root"
  • Password database : <kosong>
  • Base URL : "http://localhost/simpustaka"
  • PHP short open tag : HARUS AKTIF
  • Apache Rewrite Module : HARUS AKTIF 

Aplikasi Perpustakaan Berbasis Web dengan Codeigniter dan Twitter Bootstraap ini saya bagikan secara Gratis, tanpa dipungut biaya. Bahkan Anda diperkenankan untuk mengubah source code di dalamnya. Namun, saya mohon pengertiannya, agar tetap mencantumkan sumbernya (jangan menghilangkan copyright, kecuali untuk keperluan kuliah), dan mempergunakannya dengan bijaksana, apalagi memperjual belikannya.

Namun begitu, jika dirasa Anda merasa terbantu dengan aplikasi ini, dan ingin memberikan donasi, kami menerimanya dengan tangan terbuka. Donasi dapat dikirimkan ke nomor rekening BRI : 693901006104530 atas nama Nur Akhwan. Berapapun donasi Anda, akan kami terima, dan diucapkan terima kasih yang sebesar-besarnya. Sebagian dari donasi, akan saya pergunakan untuk keperluan TPA (Taman Pendidikan Al-Quran) Al Huda II yang saya kelola di dusun saya, dan akan saya laporkan perkembangannya.





*) PROMOSI JASA 
Jangan lupa klo membutuhkan website profil, website sekolah, sistem informasi, yang ada hubungannya dengan website, hubungi ane saja, gan. Respon cepat hubungi via Whatsapp : 085292747190. 

Akhirnya, gan. selesai juga tutorial pembuatan website dengan tema website sekolah, dengan menggunakan PHP Framework Codeigniter, dan CSS Framework Codeigniter. Sumpah, ane sulit banget, ngembangin bahasa buat tutorial ini. Maaf, ya gan, pertama-tama emang mau niat buat tutorial yang sangat terstruktur, namun kenyataannya sulit sekali, harus mulai dari mana, dan kemana setelahnya dan setelahnya. Akhirnya, melalui posting ini, langsung saja, ane kasih link download skrip final pembuatan web profil sekolah dengan codeigniter dan twitter bootstraap seperti pada postingan pertama saya yang berjudul Website Profil Sekolah dengan Codeigniter dan Twitter Bootstrap (Bag 1)


Website sekolah dengan codeigniter


Langsung aja, ini link downloadnya, gan, via empat shared dot kom
1. Database : 
http://www.4shared.com/document/4wIGMjwoba/blog_web_sekolah.html

2. Source-code :
http://www.4shared.com/rar/XORbUBEWce/blog_web_sekolah.html

Sekian ya gan, mohon maaf, klo misalnya judul postnya di postingan pertama menipu, ane sadar, ane khilaf, mohon maaf yang sebesar-besarnya.. MERDEKAAAA... !!!! :D :D 



*) PROMOSI JASA 

Jangan lupa klo membutuhkan website profil, website sekolah, sistem informasi, yang ada hubungannya dengan website, hubungi ane saja, gan. Respon cepat hubungi via Whatsapp : 085292747190. 
Posting ini saya buat, semata-mata untuk memberikan pelayanan prima kepada pengunjung setia blog ini, khususnya pada posting Aplikasi Sederhana Manajemen Surat (ASAMURAT) berbasis web.  Halah... pelayanan prima koyo opo wae, bro.. Eh, iya ding, jadi teringat, bahwa ini merupakan salah satu mata diklat di tingkat SMK jurusan Administrasi Perkantoran saya dulu, kalau nggak salah P3 (Prosedur Pelayanan Prima) di SMK Negeri 1 Pengasih

Iya, setelah saya membuat posting tentang Aplikasi ASAMURAT, banyak yang sudah mendownload, banyak yang sudah saya kirimi via email. Dan setelah hampir gak tertangani bagi yang sudah merequest via email, saya sediakan link download via ziddu. Namun anehnya lagi, banyak yang nggak bisa terdownload via ziddu, akhir-akhirnya lagi saya buatkan link via empat-shared dot kom. 

Disamping kesulitan download, ada juga error-error yang ditemui. Ya, memang lingkungan aplikasi di tempat saya menguji program di tempat saya bisa saja sangat berbeda 450 derajat dengan di tempat pendownload. Beberapa di antaranya adalah sebagai berikut :

Berdasarkan dari masukan yang masuk ke saya, sebagian besar error adalah :

ERROR : Not found setelah klik login, solusinya :
Error ini kemungkinan besar disebabkan karena fitur dari Web Server (APACHE) yaitu "REWRITE_MODULE" belum aktif. Dalam aplikasi ASAMURAT ini saya menggunakan skrip HTACCESS untuk pembuatan URL SEO friendly, yang mengharuskan fitur "rewrite_module" apache harus aktif. Untuk mengaktifkannya secara umum (baik  untuk WAMP/XAMPP) adalah dengan membuka file "httpd.conf" dan mengedit isinya. File "httpd.conf" ini biasanya terletak di folder "apache/conf/httpd.conf". Berikut langkah-langkahnya : 

1. pertama, matikan service Apache-nya dulu, lewat Start > Control Panel > Administrative Tools > Services, berikut ini. Cari dari dalam list "Apache_xx" xx biasanya menunjukkan versi, klik dobel, akan muncul seperti priview di bawahnya, dan klik Stop  :

2. Buka file di folder "apache/conf/httpd.conf", kemudian buka dengan editor teks, seperti "Notepad++" berikut ini  : 


3. Shortcut Ctrl+F (Find), ketikkan kata kunci "rewrite_module", enter.

4. Cari kata : 
#LoadModule rewrite_module modules/mod_rewrite.so
5. Dan hilangkan tanda pagar "#" di depan kalimat tersebut, menjadi 

LoadModule rewrite_module modules/mod_rewrite.so

kemudian, jangan lupa tutup file "httpd.conf" tersebut.

6. Terakhir, masuk kembali ke Start > Control Panel > Administrative Tools > Services, pilih Apachexx, kemudian klik 2x, dan klik "Start"

7. Dan akhirnya, refresh kembali halamanya, jika berhasil, maka login akan berhasil dengan lancar tanpa terkendali, jika tidak, maka ya error... ulangi lagi, barangkali ada langkah-langkah yang belum dilaksanakan dengan baik.. :P


Muncul tulisan "<?=$this->session->flashdata...dst" atau tulisan-tulisan kode PHP di tempat yang tidak seharusnya, solusinya :
Assalamu'alaikum warah matullohi wabarakatuh. 

Alhamdulillah, segala puji bagi Alloh, karenaNya masih diberi kenikmatan kesehatan dan kekuatan untuk sampai pada (yang sangat tidak terasa) pertengahan bulan Ramadhan tahun ini. 

Bulan Ramadhan tahun ini merupakan bulan Ramadhan yang sangat spesial. Ada dua even besar yang sangat mengguncang Indonesia, khususnya, yaitu Piala Dunia dan Piala Presiden (eh, maksudnya Pemilu Presiden). Dua peristiwa besar tersebut, malah tidak menambah suasana khusuknya bulan Ramadhan, kan ya gan.. ? (padahal, tidak ada kedua acara tersebut, ane juga nggak menjamin, ane bisa khusyuk, gan.. :D, maklum newbie, urusan agama :D). Sebagai contoh, banyak kampanye-kampanye hitam sebelum Pilpres yang , yang tentunya itu merupakan sebuah perbuatan  dosa, karena menyebarkan keburukan orang lain. Apalagi disebarkan di media sosial, yang jangkauan penerima informasinya sangat luas, otomatis dosanya juga semakin tambah banyak, daripada jika kita ngomongnya sama temen sendiri, kan..? (coro bodon, orang jawa bilang). Terus kalau Piala Dunia, tu ya, rata-rata pas saur, nah kan, ane sering lebih suka nongkrongin TV, daripada nongkrong di masjid buat sholat subuh. Ya to gan. Sebagai warga negara yang baik, pada Pilpres ini, saya tidak golput. Kebetulan di TPS ane, TPS 9, dusun Sumoroto, Desa Sidoharjo, Kecamatan Samigaluh, Kulon Progo, Yogyakarta (lengkap, sesuai KTP), letaknya di pusat balai Desa Sidoharjo, jadi hansip yang ditugaskan di sini lebih banyak. Kalau gak salah, ada sekitar 3 hansip (yang ane temuin), dibantu 2 polisi dari polsek. Setelah mencoblos, ane langsung pulang, gan, takut dikejar awak media, padahal kebetulan tidak diliput media massa, jadi tidak masuk TV, takut riya .. :D. 

Hansip. Sumber : republika.co.id

Ok, skip, dulu gan, pengantarnya, malah ndak nyambung nanti. Ane mau share cerita di balik hingar bingar Pemilu, ada sesosok atau banyak sosok, yang seringkali luput dari perhatian kita. Dia adalah Pak atau Bu Hansip (emansipasi wanita, gan, soalnya banyak juga hansip yang wanita, loh). Sosok gagah pemberani, terdepan mengamankan. Sosok mereka sangat mudah kita kenali dari seragamnya yang khas, baju hijau, celana hijau, pake sepatu boot tentara, topi, dan tentunya juga Pentungan. Sekilas memang tampak serem memang gitu, gan. Tapi ya, namanya tuntutan peran, sebagai penjaga keamanan saat pemilu gitu, ya harus serem. Kalau gak serem namanya mau ngelawak, kali ya.. ? Ya, dunia perlawakan seringkali menampilkan sosok hansip ini, namun dengan gambaran yang kurang lebih “diremehkan”. Di dunia hiburan, sosok hansip sepertinya adalah seorang yang bertugas di pos ronda, tidur-tiduran, main skak, main kartu. Seringkali sebagai obyek kekesalan orang lain, dan lebih tepatnya hampir seperti pesuruh. Kejam sekali dunia hiburan itu menempatkan sosok hansip ini, jauh dari kesan mendidik bagaimana menghargai dan mengetahui lebih lanjut sosok hansip ini. Perannya sangat vital, hampir setiap perhelatan politik, semisal Pemilu Caleg, Pemilu Presiden, Pemilihan Bupati, (di Jogja yang ISTIMEWA, tidak ada pemilihan Gubernur, ya..) dan Pilihan Kepala Desa, sosok HANSIP ini tidak pernah absen, dan wajib ada. Selain itu di acara misalnya ada kunjungan orang penting ke desa, pak/bu HANSIP ini siap mengamankan situasi. Di tingkat dusun, semisal ada acara nikahan, rame-rame, mereka juga sering dimintai bantuan. 

Siangnya sekitar habis dhuhur, saya kembali ke TPS, untuk melihat penghitungan suara. Mereka sibuk, melihat perhitungan suara, saya memilih di luar TPS, tidak tertarik buat masuk, toh nantinya juga diumumkan. Saya memang sudah berniat dari rumah buat menggali lebih banyak informasi seputar hansip ini, atau istilahnya wawancara, gitu. Ada kursi kosong di pos hansip. Kebetulan beberapa hansip, saya sudah kenal baik, secara tetangga gan.. :D. Yang satu bernama Pak Jatun, dan Pak Jimat (duet J), dan satunya lagi Ibu siapa, ane kurang begitu tahu, karena tidak satu dusun. Dilihat dari usianya, sepertinya ketiganya tidak muda lagi, sekitar 50 tahunan. Secara, hampir sulit, pada dekade ini untuk menemui hansip yang masih muda-muda.

Suasana siang yang panas, ditambah bulan puasa, terbukti tidak menyurutkan semangat mereka untuk standby menjaga pelaksanaan pilpres di sini. Dari informasi yang saya gali, mereka bertugas dengan sistem shift, dimulai dari pagi hari, satu hari sebelum hari H pilpres, untuk mendampingi dan mengamankan proses distribusi surat suara. Kebetulan mereka bertiga mendapatkan jatah shif, pada hari H pilpres ini, sampai nanti maghrib. 

Lanjut mengorek informasi dari mereka, mereka rata-rata sudah bertugas menjadi hansip sejak puluhan tahun yang lalu. Bapak Jatun, menjadi hansip dimulai sekitar tahun 1965an. Berarti hampir setengah abad gan, mereka bertugas (muke gilee... ). Sementara Bapak Jimat, dimulai sekitar tahun 80an, atau sekitar 30 tahunan, ya. Dan ibu yang satunya (sumpah ane, belum sempat tanya namanya), dimulai dari tahun 90an. besar. Sepertinya mereka bertiga berbeda generasi. Pak Jatun, berarti bertugas sejak zaman PKI, yang artinya pada saat itu resiko gangguan keamanan lebih tinggi dibandingkan sekarang. Tapi beliau bersyukur, bisa bertahan menjadi hansip sampai saat ini, merupakan bukti bahwa Alloh SWT, masih memberikan rahmat dan kemudahan bagi beliau dalam bertugas menjadi hansip. Mengenai perekrutan menjadi Hansip, Pak Jatun, yang paling senior, mengatakan bahwa dulu, menjadi hansip kalau sekarang prosesnya mirip seperti mendaftar tentara. Harus diseleksi baik dari fisik maupun mental, dan hanya peserta seleksi yang memenuhi syarat, yang dapat menjadi hansip ini. Tesnya adalah dulu di kota kabupaten, yaitu di Wates, Kulon Progo. Kebetulan beliau terpilih menjadi hansip itu sebagai salah satu wakil dari Kecamatan Samigaluh. Ada beberapa temannya juga dari Samigaluh yang lolos saat itu. Nah, di tingkat kecamatan, beliau ini adalah sebagai pembina dari hansip hansip di tingkat desa seperti Pak Jimat dan lain-lain. Istilahnya kalau sekarang adalah seniornya, kalau di pramuka Kakak Pembina, kali ya.. ? Beliau pada saat itu bertugas, memberikan pelatihan-pelatihan seputar per-hansip-an kepada “junior-juniornya” di tingkat kecamatan.

Hansip yang sering kita sebut saat ini, dulu namanya bukan hansip. Banyak versi, namanya. Ada WANRA (Perlawanan Rakyat), kemudian KAMRA (Keamanan Rakyat).Yang Wanra yang membina adalah tentara, dan Kamra yang membina adalah polisi. Kemudian keduanya bersatu menjadi HANSIP seperti yang kita sebut selama ini, yang artinya Pertahanan Sipil, dan yang terbaru saat ini namanya adalah LINMAS (Perlindungan Masyarakat). Nah ini yang mungkin belum pada tahu, jangan sebut mereka Hansip, tapi Linmas.. Semuanya sama, bertugas melindungi masyarakat, di lingkup yang lebih kecil yaitu desa atau dusun. Nah, yang menjadi pertanyaan ane, dimana tugas polisi dan tentara, jika tugas menjaga keamanan dan ketertiban masyarakat di tingkat dusun sudah diambil alih oleh Linmas ini..? Padahal polisi dan tentara yang jelas-jelas sudah diakui oleh negara, dan pastinya digaji rutin oleh negara. 

Nah, ngomongin soal gaji rutin Bapak dan Ibu Linmas ini, ternyata kalau jaman dulu, menurut penuturan bapak Jatun tadi, tidak pernah digaji secara rutin oleh negara. Mereka hanya menerima bayaran jika mendapatkan tugas tugas seperti even pemilu ini sampai saat ini. Yang mereka dapatkan rutin adalah seragam, beserta perlengkapannya. Itupun kalau dulu, sampai 5 tahun, untuk mendapatkan “dun-dunan” baju dan perlengkapannya ini. Kalau sekarang, hampir setiap tahun selalu mendapatkan baju dan perlengkapannya dari pemerintah kabupaten. Dan juga setiap idul fitri mendapatkan bingkisan hari raya. 

Kesehariannya para hansip ini, mempunyai profesi utama. Nggak mungkin kan, kalau harus hidup dengan mengandalkan penghasilan dari menjadi Linmas ini, yang gajinya tidak tentu. Sama seperti warga desa kami secara umum, ketiganya berprofesi utama sebagai petani, sekaligus peternak dan pekebun. Yah memang banyak profesinya, tapi hasilnya, kalau dibandingkan dengan buruh, lebih sedikit gan. 

Ya, memang begitulah realitanya, gan. Dibalik gemerlapnya gedung DPR beserta anggota-anggota dewannya, ada cerita tentang dedikasi tanpa pamrih, saat proses pemilihan anggota legislatif ini, yang mungkin barangkali mereka tidak tahu, atau tidak pernah memikirkan nasib para LINMAS ini. 

Sekian dari ane, tambahan pengertian dari HANSIP menurut Wikipedia :


HansipDari Wikipedia bahasa Indonesia, ensiklopedia bebasHansip adalah satuan keamanan di Indonesia. Kata hansip sendiri adalah kependekan dari Pertahanan Sipil. Saat ini Hansip berubah menjadi Linmas.Pihak militer memberikan pelatihan bagi Hansip dan memberi mereka persenjataan. Pasukan Hansip dibentuk di setiap desa, anggotanya diangkat dari masyarakat. Sistem pertahanan dan keamanan nasional Indonesia diadasarkan atas prinsip "pertahanan dan keamanan secara menyeluruh" yang berarti bahwa Angkatan Bersenjata dan masyarakat Indonesia secara keseluruhan sama-sama bertanggung jawab dapat menjaga keamanan dan pertahanan negara. Organisasi Pertahanan oleh masyarakat sipil bertanggung jawab atas hal-hal yang terkait dengan keamanan dan keteraturan dan harus membantu rakyat di pedesaan dalam kondisi darurat. Hansip berada di bawah pengawasan Bupati dan Gubernur pemerintah daerah.
Dasar hukum dari pembentukan milisi sipil adalah Undang-undang No. 20/1982 mengenai Pokok-Pokok Keamanan dan Pertahanan Negara, yang mengakui hak setiap warga negara untuk membela negara.
Milisi-milisi bentukan pemerintahDi antara organisasi milisi yang dibentuk oleh pemerintah antara lain:1. Hansip (Pertahanan Sipil), di bawah Departmen Dalam Negeri untuk kepentingan "keamanan total"2. Wanra (Perlawanan Rakyat), di bawah komando militer dan khususnya untuk mengatasi "ancaman eksternal."3. Kamra (Keamanan Rakyat), berada di bawah komando polisi, khusus untuk menangani konflik dalam negeri4. Pam Swakarsa (Milisi beranggotakan masyarakat secara sukarela)5. Kotib (Kota Tertib), Banpol (Bantuan Polisi), dan Potmas (Potensi Masyarakat) yang dinaungi oleh polda Metro Jaya.  

Wassalam..

Assalamu'alaikum warah matullohi wabarakatuh..

Selamat pagi gan. gimana puasanya, lancar jaya ..? Menginjak puasa hari ketiga (yang mulai hari Sabtu), pastinya sudah merasakan suka dukanya berpuasa. Banyak godaan syetan yang terkutuk, mulai dari suntuk, kantuk, perut kemrucuk, senantiasa mendampingi langkah agan-agan semuanya dalam berpuasa. Oleh karena itu, kita wajib bisa menjaga puasa kita, dari hal-hal yang tidak berguna, yang hanya akan menghilangkan pahala dari puasa, menambahkan dosa kita, dan akhirnya kita cuma mendapatkan lapar dan dahaga saja .. hahahaha *latihan kayak abdur*

Anggap aja itu pengantar dan bab satu-nya gan, lanjut ke tinjauan pustaka, eh.. pembahasan masalah saja. (inget puasa tahun lalu, ane masih sibuk nyelesaiin laporan penggunaan dana RT, eh.. sekripsi).

Oke, gan, pada kesempatan kali ini, ane mau membagikan sekaligus mempromosikan salah beberapa potensi wisata di Kabupaten Kulon Progo, salah satu kabupaten di Daerah Istimewa Yogyakarta, yang berada di barat kali Progo (sampai ujung kulon masih Kulon Progo, lho gan... :ngakaks).

Minggu kemarin, 29 Maret 2014, kami sekelompok pemuda dusun Sumoroto, desa Sidoharjo, kecamatan Samigaluh, kabupaten Kulon Progo, merasa penasaran atas salah satu obyek wisata baru di Kecamatan Girimulyo, yaitu Embung Girimulyo, dan Grojogan Sewu. Kami ber-sembilan, satu dusun, berangkat dari rumah sehabis dhuhur gan, biar tenang di perjalanan karena udah shalat dhuhur.. :cool

Karena kami dari Samigaluh, kami menuju tekape, melewati rute jalan Samigaluh-Purworejo. Secara umum rute perjalanan adalah Samigaluh - Plono - Kaligesing - Pasar Pendhem - Tegalsari (Purwosari Girimulyo) - Goa Kiskendho - Pertigaan Jonggrangan - ambil kanan, jalan-satu-satunya ke Embung Girimulyo dan Grojogan Sewu.

Sampai di tekape yang pertama (Embung Girimulyo), lokasi emang masih belum banyak pepohonan, sehingga terkesan gersang. Menurut pengelola embung disana, ke depan embung Girimulyo ini akan dibuat dengan konsep kebuh buah, seperti embung yang sudah terkenal sebelumnya di Gunung Kidul : Embung Nglanggeran. Saat ini, masih dalam tahap penyemaian bibit-bibit pepohonan, yang akan memperindang lokasi kebuh buah. Kesan gersang dan panas, akan terhapus seketika, saat kita naik ke atas ke bibir embungnya. Ya, lokasi parkiran berada di bawah embung, dan kita harus naik ke atas mengitari embung. Subhanalloh, luar biasa. Lokasi embung yang berada di ketinggian, sehingga kita dapat melihat cakrawala nan jauh disana, landscape view dari kota Wates di sebelah selatan, kota Purworejo (klo gak salah) di sebelah barat, dan tentunya kota Yogyakarta di sebelah timur. Dan mungkin, jika waktunya tepat pada saat matahari terbit atau saat matahari terbenam, pasti lebih banyak keindahan ciptaan Gusti Alloh yang dapat kita saksikan. Betewe, kami sampi di lokasi jam 14an. 

Berikut skreenshut foto-foto di lokasi, mohon maaf, karena banyak gambar yang menunjukan kenarsisan manusia disini ..


kumpul dulu
di jalan
di jalan
sampai purwosari
kota jogja view
kota wates
nyampe tekape
foto bersama
nyoba self timer kemdig
nggaya

saya juga bisa nggaya

tampak embung

paling apek tek kiro

hamid

grojogan sewu

adi dan grojogan sewu
jepretane gita

grojogan sewu.
Itu gan, sekilas gambaran perjalanan kami, dalam rangka mengenal lebih jauh potensi wisata kabupaten Kulon Progo, Daerah Istimewa Yogyakarta, dan juga dalam rangka menyemarakkan program "bela beli Kulon Progo". Terima kasih... Wassalam....



Selamat malam pemiarsa. Kembali lagi saya menulis tentang pemrograman PHP lagi, di akhir bulan April 2014 ini. Kasusnya kali ini adalah membuat log akses user, baik dengan media penyimpanan log file .TXT ataupun dengan database. Coretan ini lahir, disebabkan karena pentingnya log user ini, bagi pengembangan sebuah aplikasi, dan disaat nanti ditemui error pada saat user menggunakan program aplikasi yang kita buat. Memang sih, biasanya webserver biasanya telah menyediakan log akses, namun sepanjang yang saya tahu hanya mencatat hal-hal umum, seperti error-error PHP, MySQL ataupun apachenya. Yang kita butuhkan adalah log akses user yang lebih spesifik atau sesuai dengan yang dibutuhkan oleh aplikasi kita. Bayangkan, misalkan aplikasi berbasis web kita disusupi oleh hekel, misalkan ia berhasil mengakses tabel daftar username dan password aplikasi kita, sehingga ia dapat leluasa membuat username baru beserta passwordnya. Kemudian ia login biasa melalui aplikasi yang kita buat. Hal tersebut pasti tidak tercatat di log user yang otomatis terbuat oleh error_log php. 

1. Langsung saja, tanpa cas cis cus, karena saya lebih suka cus cis cas, langkah pertama adalah copy master Codeigniter-nya ke folder webserver saya. Tempat saya di “www” (WAMP-lover, haha).
2. Buat folder baru sejajar folder “application”, dll, dengan nama “capedeh” (ini sebenarnya bebas, tapi agar sinkron dengan tutorial ini, disamain aja dah).
3. Selanjutnya, buat database “lab_”, kemudian buat sebuah tabel dengan nama “pengguna” untuk menyimpan data username dan password untuk login. Cepatnya, kopaskan skrip SQL berikut ini :


CREATE TABLE IF NOT EXISTS `pengguna` (  `id` int(5) NOT NULL AUTO_INCREMENT,  `nama` varchar(50) NOT NULL,  `username` varchar(15) NOT NULL,  `password` varchar(75) NOT NULL,  `tgl_aktif` datetime NOT NULL,  `status` enum('Y','N') NOT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- Dumping data untuk tabel `pengguna`
INSERT INTO `pengguna` (`id`, `nama`, `username`, `password`, `tgl_aktif`, `status`) VALUES(1, 'Admin Pusat', 'admin', '21232f297a57a5a743894a0e4a801fc3', '2014-04-28 16:58:30', 'Y');
4. Ubah pengaturan di “application/config/config.php”, baris 17, menjadi  :
$config['base_url'] = 'http://localhost/lab/log_akses/';
5. Ubah pengaturan di “application/config/database.php”, baris 51 – 54, menjadi :
$db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['default']['password'] = '';$db['default']['database'] = 'lab_';
6. Ubah pengaturan di “application/config/routes.php”, baris 41, menjadi : 
$route['default_controller'] = "apps";
7. Masuk ke folder “application/controllers/”, buat controller baru dengan nama “apps”, isinya sebagai berikut, saya copy pastekan ke pastebin aja, (apps.php) :



8. Buat view untuk login (login.php):


9. Buat view template halaman admin (aaa.php) :


10. Buat view halaman utama (d_amain.php) :

11. Buat view halaman daftar log akses (f_log_akses.php) :

12. Buat view untuk halaman ubah password (f_password.php) :


13. Terakhir, buat di folder "application/helper/" dengan nama file "my_helper.php" :


Sedikit penjelasan mengenai alur program yang saya tulis :
  1. untuk desain dalam tutorial ini adalah menggunakan framework CSS Twitter Bootstrap versi 2.3 (kalo gak salah, yang icon-iconnya udah pake font-awesome) dan file bootstrap.css-nya telah saya modifikasi.
  2. walaupun Codeigniter, merupakan framework berbasis MVC, namun dalam tutorial ini (dan juga semua program CI) saya hanya memakai VC-nya, M-nya tidak saya pakai, soalnya ribet, gan.. hahaha #myCode_myStyle :D :D jangan dibully, ya mastah..
  3. saya menggunakan helper "my_helper.php" dalam rangka mempersingkat proses tulis dan buat file log secara otomatis. ada 3 fungsi dalam "my_helper.php", yaitu _tulis_f($data, $file), untuk menuliskan log ke dalam file yang telah ditentukan, _buat_baru($user, $file), untuk membuat file log baru, jika ternyata file log yang ditentukan tidak ditemukan (sekaligus menghindari error Codeigniter), dan terakhir fungsi detect(), yang digunakan untuk mendeteksi nama browser, versi browser, dan operating system dari user yang sedang menggunakan aplikasi. Walupun sebenarnya CI udah menyediakan, tapi agak panjang2 nama variabelnya.

Untuk download script secara lengkap dapat didownload melalui link berikut ini :

Download skrip

Untuk melihat demo dapat dilihat pada link berikut ini :

Demo program 

Terim kasih.. :) #keep_Ngoding

Selamat pagi-siang-sore-malem-dinihari (tergantung suasana hati), pemiarsah. Hehe.. Ane muncul lagi di posting ke-empat pada bulan Januari 2014, seperti resolusi saya di tahun 2014 ini, yaitu minimal 4 postingan setiap hari. Yah, walaupun masih sebatas mentaati resolusi, tapi saya tetap berusaha untuk memposting ke blog ini lebih dari empat. Nah, kalau posting 1-3 gak ada sangkut pautnya sama pemrograman, maka di posting ini saya memposting tentang tips dan trik pemrograman PHP, yang nyatanya memang lebih mudah memposting tentang pemrograman PHP daripada artikel-artikel berjenis lainnya.

Ya, sesuai judulnya, saya akan membagikan sedikit tips dan trik saya seputar manajemen data (CRUD – Create, Read, Update, Delete), khususnya yang edit data. Posting saya kali ini, kasusnya kayak gini :

  1. Saat kita melakukan edit data, setelah klik link “edit”, maka akan dimunculkan form edit data. Kalau input-an yang dipakai adalah jenis “text” (<input type=”text” name=”xxx”>) itu sih masih mudah, hanya tinggal mengisikan value-nya : value=”<?php echo $data->nama; ?>” gitu sudah selesai, tapi bagaimana edit data dengan otomatis terisi pada input-an berjenis <select>, radio button, check box, tanggal dengan <select> ... ?
  2. Rata-rata dalam membuat form inputan “Tambah Data” ataupun “Edit Data” adalah membuat form input sendiri-sendiri, form “Tambah Data” sendiri, dan form “Edit Data” sendiri. Nah dalam postingan saya ini, saya akan berikan tips dan trik membuat form tambah dan edit data dalam 1 form. Jadi 1 form dapat digunakan untuk tambah data maupun edit data, sehingga lebih menghemat jumlah file, memudahkan modifikasi program.
Ok, langsung ke tekape, pertama dan utama adalah membuat database. Buat database dengan nama “lab”. Disini saya memakai 2 tabel, tabel data_kota_asal sebagai tabel referensi, dan data_mahasiswa sebagai data yang akan kita otak-atik. Skripnya :

CREATE TABLE IF NOT EXISTS `data_kota_asal` (
  `id` int(2) NOT NULL AUTO_INCREMENT,
  `nama` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
INSERT INTO `data_kota_asal` (`id`, `nama`) VALUES
(1, 'Yogyakarta'),
(2, 'Kulon Progo'),
(3, 'Bantul'),
(4, 'Sleman'),
(5, 'Gunung Kidul'),
(6, 'Klaten'),
(7, 'Magelang'),
(8, 'Purworejo'),
(9, 'Boyolali'),
(10, 'Kebumen');

CREATE TABLE IF NOT EXISTS `data_mahasiswa` (
  `id` int(2) NOT NULL AUTO_INCREMENT,
  `nama` varchar(30) NOT NULL,
  `jk` enum('Laki-Laki','Perempuan') NOT NULL,
  `tmp_lahir` varchar(30) NOT NULL,
  `tgl_lahir` date NOT NULL,
  `kota_asal` int(2) NOT NULL,
  `agama` enum('Islam','Kristen Katolik','Kristen Protestan','Hindu','Budha','Konghucu','Lainnya') NOT NULL,
  `hobi` varchar(150) NOT NULL,
  `foto` varchar(150) NOT NULL,
  `deskripsi` mediumtext NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

INSERT INTO `data_mahasiswa` (`id`, `nama`, `jk`, `tmp_lahir`, `tgl_lahir`, `kota_asal`, `agama`, `hobi`, `foto`, `deskripsi`) VALUES
(1, 'Nur Akhwan', 'Laki-Laki', 'Kulon Progo', '1990-03-26', 1, 'Islam', 'Futsal-Mancing-Mapala-SMSan-FBan-Twitteran', 'Koala.jpg', 'Nothing special'),
(2, 'Akhwan Nur', 'Laki-Laki', 'Kulon Progo', '1990-03-17', 2, 'Islam', 'Futsal-Mapala-Twitteran', 'Hydrangeas.jpg', 'Ya saya ini seperti saya..');

Pertama, adalah membuat file “koneksi.php” sebagai pengaturan koneksi program dengan database. Skripnya : 


<?php 
$koneksi  = mysql_connect("localhost", "root", "");
$db   = mysql_select_db("lab");
?> 

Tidak usah saya jelaskan, sudah menjadi rahasia umum :P

Kedua, buat file “index.php” untuk menampilkan data mahasiswa, skripnya :


<?php
include "koneksi.php";
$ambil_data  = mysql_query("SELECT data_mahasiswa.*, data_kota_asal.nama AS asal_kota FROM data_mahasiswa JOIN data_kota_asal ON data_mahasiswa.kota_asal = data_kota_asal.id");
?>
<h5>Data Mahasiswa</h5>
<a href="form.php?mode=add">Tambah</a><br>
<table width="100%" border="1">
 <tr>
  <th width="10%">Nama</th>
  <th width="10%">Jenis Kelamin</th>
  <th width="10%">Tempat, Tgl. Lahir</th>
  <th width="10%">Agama</th>
  <th width="10%">Hobi</th>
  <th width="10%">Kota Asal</th>
  <th width="10%">Deskripsi</th>
  <th width="10%">Aksi</th>
 </tr>
 
 <?php
 if (mysql_num_rows($ambil_data) < 1) {
 ?>
 <tr><th colspan="7">Belum ada Data</th></tr>
 <?php
 } else {
  while ($data = mysql_fetch_array($ambil_data)) {
 ?>
  <tr>
   <td><?php echo $data['nama']; ?></td>
   <td><?php echo $data['jk']; ?></td>
   <td><?php echo $data['tmp_lahir'].", ".$data['tgl_lahir']; ?></td>
   <td><?php echo $data['agama']; ?></td>
   <td><?php echo $data['hobi']; ?></td>
   <td><?php echo $data['asal_kota']; ?></td>
   <td><?php echo $data['deskripsi']; ?></td>
   <td><a href="form.php?mode=edit&id=<?php echo $data['id']; ?>">Edit</a></td>
  </tr>
 <?php 
  }
 }
 ?>
</table> 

Tidak akan saya jelaskan, karena umumnya sudah pada tahu, gitu ya..

Ketiga, membuat sebuah form yang kita namai dengan “form.php” yang akan kita gunakan baik untuk “Tambah Data” dan “Edit Data”. Skripnya :

<?php
include "koneksi.php";
// ambil file koneksi.php untuk koneksi database

Penjelasan 3 baris dibawah komentarr 
Array data, untuk pilihan pada inputan berjenis radio <select>, <input type=”radio”> dan <input type=”checkbox”>. Ini trik-nya, dimana biasanya kita kalau memberikan option untuk input type <select>, <input type=”radio”>, dan <input type=”checkbox”> dengan menuliskan satu persatu, dengan ini kita lebih sedikit menuliskan skripnya dan memudahkan jika akan menambahkan pilihannya. $pil_jk, untuk menampung data pilihan jenis kelamin, $pil_agama, untuk menampung pilihan data agama, dan $pil_hobi, untuk menampung pilihan jenis hobi
$pil_jk   = array('Laki-Laki','Perempuan');
$pil_agama  = array('Islam','Kristen Katolik','Kristen Protestan','Hindu','Budha','Konghucu','Lainnya');
$pil_hobi  = array('Futsal','Band','Mancing','Mapala','SMSan','FBan','Twitteran');

Penjelasan 2 baris dibawah komentarr 
Disini merupakan pendeklarasian variabel URL ($_GET) yang akan MENJADI DASAR penggunaan form, apakah untuk “Tambah Data” ataupun untuk “Edit Data”. $mode, adalah menangkap variabel URL ?mode=xxxx dan $id, untuk menangkap variabel &id=xxx Saya menggunakan skrip : isset($_GET[‘mode’]) ? $_GET[‘mode’] : “”; Sebenarnya untuk menanggulangi error “Undefined index ...” pada PHP versi terbaru. $mode = isset($_GET['mode']) ? $_GET['mode'] : "", jika diartikan dalam bahasa manusia adalah : variabel $mode akan terisi bilamana $_GET[‘mode’] sudah terdefinisi, maka akan diisikan dengan $_GET[‘mode’] tersebut, jika belum maka kosong. Ini merupakan penyederhanaan dari penulisan IF .. ELSE ...
$mode   = isset($_GET['mode']) ? $_GET['mode'] : "";
$id   = isset($_GET['id']) ? $_GET['id'] : "";

Penjelasan 14 baris dibawah komentarr
Nah disinilah kuncinya trik satu form untuk dua fungsi tambah dan edit. Prinsipnya adalah setiap inputan di form telah diisikan value-nya, berdasarkan isi variabel $mode yang dideklarasikan di atas. Misalnya inputan <input type=”text” name=”nama”>, akan kita tambahi “value=”<?php echo $nama; ?>”” , dimana variabel $nama akan kita deklarasikan di bawah ini. Untuk $mode yang isinya “add” atau “Tambah data”, maka semua isi variabel di form adalah “” atau kosong.
if ($mode == "add") {
 $id   = "";
 $nama   = "";
 $jk   = "";
 $tmp_lahir  = "";
 $tgl_lahir  = "";
 $tgl_lahir_tgl  = "";
 $tgl_lahir_bln  = "";
 $tgl_lahir_thn  = "";
 $kota_asal  = "";
 $agama  = "";
 $hobi   = "";
 $foto   = "";
 $deskripsi  = "";

Penjelasan 15 baris dibawah komentarr
 Jika variabel $mode berisi “edit”maka variabel value dari setiap inputan diambil dari database, berdasarkan data yang dipilih, yang querynya di skrip : $q_data_edit = mysql_query("SELECT * FROM data_mahasiswa WHERE id = '$id'"); $data_edit = mysql_fetch_array($q_data_edit); Untuk data tanggal lahir, data yang didapatkan adalah berbentuk “YYYY-MM-DD” sehingga karena di form ini menggunakan <select> maka harus dipecah-pecah YYYY, MM dan DD nya.
} else if ($mode == "edit") {
 $q_data_edit = mysql_query("SELECT * FROM data_mahasiswa WHERE id = '$id'");
 $data_edit = mysql_fetch_array($q_data_edit);
 $id  = $data_edit['id'];
 $nama  = $data_edit['nama'];
 $jk  = $data_edit['jk'];
 $tmp_lahir = $data_edit['tmp_lahir'];
 $tgl_lahir = explode("-",$data_edit['tgl_lahir']);
 $tgl_lahir_tgl = intval($tgl_lahir[2]);
 $tgl_lahir_bln = intval($tgl_lahir[1]);
 $tgl_lahir_thn = intval($tgl_lahir[0]);
 $kota_asal = $data_edit['kota_asal'];
 $agama = $data_edit['agama'];
 $hobi  = $data_edit['hobi'];
 $foto  = $data_edit['foto'];
 $deskripsi = $data_edit['deskripsi'];
}
?>


<h5>Form Mahasiswa</h5>
<a href="index.php">Kembali</a><br><br>

Penjelasan 2 baris dibawah komentarr
Action dari form ini adalah ke file “aksi.php” dimana akan ditambahi variabel URL mode, yang akan memberitahukan ke file “aksi.php” apakah aksi untuk edit_data atau aksi untuk tambah data : aksi.php?mode=<?php echo $mode; ?>, $mode didapatkan dari skrip diatas ini. Sedangkan skrip di bawahnya (<input type=”hidden”) adalah untuk memberi input hidden, id_data, untuk tambah data isinya kosong, dan untuk edit_data, isinya merupakan id_data yang dipilih
<form method="post" action="aksi.php?mode=<?php echo $mode; ?>" enctype="multipart/form-data">
<input type="hidden" name="id_data" value="<?php echo $id; ?>">


<table width="50%">

Penjelasan 1 baris dibawah komentarr 
Ini untuk inputan jenis “text” saya kira gampan, karena tinggal menambahkan “value=”<?php echo $nama; ?>”, dimana variabel $nama ada di deklarasi di atas. */
 <tr><td width="30%">Nama</td><td><input type="text" name="nama" autofocus required value="<?php echo $nama; ?>"></td></tr>

Penjelasan baris dibawah komentarr 
Ini untuk inputan jenis “radio”. Kita akan menggunakan variabel : $pil_jk = array('Laki-Laki','Perempuan'); Yang telah dideklarasikan di atas.
 <tr><td>Jenis Kelamin</td><td> 
 <?php 

Penjelasan baris dibawah komentarr 
Perulangan untuk menuliskan <input type=”radio” beserta labelnya, berdasarkan jumlah data dari variabel $pil_jk “sizeof($pil_jk)”.
 for ($a = 0; $a < sizeof($pil_jk); $a++) {
/*

Penjelasan baris dibawah komentarr 
Nah disini skrip untuk otomatis “terpilih” pada radio button. Logikanya jika $jk (terdeklarasi di atas) sama dengan isi dari $pil_jk[$a] (mengambil dari data array), MAKA akan otomatis ada tambahan “checked”.
  if ($jk == $pil_jk[$a]) {
   echo '<label style="width: 25px; display: inline"><input type="radio" name="jk" required value="'.$pil_jk[$a].'" checked> '.$pil_jk[$a].' </label>';
  } else {

Penjelasan baris dibawah komentarr
Ini jika tidak sama isi variabel $jk dengan $pil_jk[$a]
   echo '<label style="width: 25px; display: inline"><input type="radio" name="jk" required value="'.$pil_jk[$a].'"> '.$pil_jk[$a].' </label>';
  }
 }
 ?>
 </td></tr>
 
 <tr><td>Tempat, Tanggal Lahir</td><td>
 <input type="text" name="tmp_lahir" value="<?php echo $tmp_lahir; ?>" required>, &nbsp;

Penjelasan baris dibawah komentarr
Perulangan untuk menampilkan tanggal (sampai 31), bulan (sampai 12) dan tahun (1990 – 1999). Yang dilakukan perulangan adalah <option> atau pilihannya. Nah, akan terisi terseleksi otomatis (selected) jika sama antara value $b (1-31), $c (1-12), $d(1990-1999) dengan variabel yang telah terdefinisi di atas : $tgl_lahir = explode("-",$data_edit['tgl_lahir']); $tgl_lahir_tgl = intval($tgl_lahir[2]); $tgl_lahir_bln = intval($tgl_lahir[1]); $tgl_lahir_thn = intval($tgl_lahir[0]);
<select name="tgl" required><option value="">--</option>
 <?php 
 for ($b = 1; $b <= 31; $b++) {
  if ($b == $tgl_lahir_tgl) {
   echo '<option value="'.$b.'" selected>'.$b.'</option>';
  } else {
   echo '<option value="'.$b.'">'.$b.'</option>';
  }
 }
 ?></select> - <select name="bln" required><option value="">--</option>
 <?php 
 for ($c = 1; $c <= 12; $c++) {
  if ($c == $tgl_lahir_bln) {
   echo '<option value="'.$c.'" selected>'.$c.'</option>';
  } else {
   echo '<option value="'.$c.'">'.$c.'</option>';
  }
 }
 ?></select> - <select name="thn" required><option value="">--</option>
 <?php 
 for ($x = 1990; $x <= 1999; $x++) {
  if ($x == $tgl_lahir_thn) {
   echo '<option value="'.$x.'" selected>'.$x.'</option>';
  } else {
   echo '<option value="'.$x.'">'.$x.'</option>';
  }
 }
 ?></select>
 
 </td></tr>
 
 <tr><td>Kota Asal</td><td>
 <select name="kota_asal" required><option value="">--</option>

Penjelasan baris dibawah komentarr
Ini contoh dari otomatis terseleksi (selected) dari pilihan yang diambil dari database. $q_kota_asal = mysql_query("SELECT * FROM data_kota_asal"), adalah untuk mengambil dari tabel “data_kota_asal”. Akan terseleksi otomatis (selected) jika varabel $kota asal sama dengan $d_kota_asal[‘id’] hasil dari query ambil data kota. Data yang akan kita simpan adalah id_kotanya, bukan nama kotanya. */
 <?php 
 $q_kota_asal = mysql_query("SELECT * FROM data_kota_asal");
 
 while ($d_kota_asal = mysql_fetch_array($q_kota_asal)) {
  if ($kota_asal == $d_kota_asal['id']) {
   echo '<option value="'.$d_kota_asal['id'].'" selected>'.$d_kota_asal['nama'].'</option>';
  } else {
   echo '<option value="'.$d_kota_asal['id'].'">'.$d_kota_asal['nama'].'</option>';
  }
 }
 ?>
 </select>
 </td></tr>
 
 
 <tr><td>Agama</td><td>
 <select name="agama" required><option value="">--</option>
 <?php 

Penjelasan baris dibawah komentarr 
Ini contoh dari otomatis terseleksi (selected) dari pilihan yang diambil dari variabel $pil_agama. Mirip-mirip dengan pilihan jenis kelami di atas, namun ini diterapkan pada inputan jenis “<select>”. Akan terseleksi otomatis (selected) jika varabel $agama (di atas) sama dengan $pil_agama[$d] hasil perulangan array. */
  for ($d = 0; $d < sizeof($pil_agama); $d++) {
  if ($agama == $pil_agama[$d]) {
   echo '<option value="'.$pil_agama[$d].'" selected>'.$pil_agama[$d].'</option>';
  } else {
   echo '<option value="'.$pil_agama[$d].'">'.$pil_agama[$d].'</option>';
  }
 }
 ?>
 </select>
 </td></tr>
 
 <tr><td>Hobi</td><td>

 <?php

(adsbygoogle = window.adsbygoogle || []).push({});
Penjelasan baris dibawah komentarr
Ini contoh untuk inputan berjenis checkbox. Inputan jenis checkbox mempunyai sifat boleh dipilih lebih dari 1. Disini “name” dari inputan saya tambahkan _1, _2, _3 dst.. Variabel $hobi (diambil dari database) berformat “hobi1-hobi2-hobi3”. Sebagai contoh, jika $hobi berisi “Futsal-SMS-Fban”, maka akan dipecah, sehingga menjadi “Futsal”, “SMS”, dan “Fban” yang disimpan dalam variabel array $pc_hoby. Dengan fungsi in_array berfungsi untuk mengecek keberadaan data dalam suatu array, maka inputan akan otomati ter-checked, jika data hobi berada di dalam array $pc_hobi. */
 $pc_hobi = explode("-",$hobi);
 for ($e = 0; $e < sizeof($pil_hobi); $e++) {
  if (in_array($pil_hobi[$e], $pc_hobi)) { 
   echo '<label style="display: inline; width: 200px"><input type="checkbox" value="'.$pil_hobi[$e].'" name="hobi_'.$e.'" checked> '.$pil_hobi[$e].'</label>';
  } else {
   echo '<label style="display: inline; width: 200px"><input type="checkbox" value="'.$pil_hobi[$e].'" name="hobi_'.$e.'"> '.$pil_hobi[$e].'</label>';
  }
 }
  ?>
Penjelasan baris dibawah komentarr 
Ini untuk menyimpan jumlah hobi yang ada di dalam $pil_hoby. 
 <input type="hidden" name="jumlah_cek" value="<?php echo ($e-1); ?>">
 </td></tr>

Penjelasan baris dibawah komentarr
Ini untuk sebenarnya untuk menampilkan foto jika telah diupload data fotonya. Untuk menampilkan gambarnya menggunakan tag <img>. Jika tidak ada maka gambar fotonya akan not found. */
 <tr><td width="30%">Foto</td><td><input type="file" name="foto"><br>
 <img src="foto/<?php echo $foto; ?>" style="width: 150px; height: 130px"></td></tr>

Penjelasan baris dibawah komentarr 
Untuk menampilkan data otomatis pada teksarea. Variabel $deskripsi diletakkan diantara tag <textarea></textarea>, menjadi <textarea><?php echo $deskripsi; ?></textarea>
<tr><td width="30%">Deskripsikan</td><td><textarea name="deskripsi" rows="3" cols="40" required><?php echo $deskripsi; ?></textarea></td></tr>
 <tr><td width="30%"></td><td><input type="submit" value="Simpan"></td></tr>
</table>

</form>

Akan dilanjutkan ke Bagian Kedua