Cara Posting Source Code di Blog

15 September 2017

Membuat tulisan berupa tutorial pemrograman tentunya terasa kurang bila tidak diberikan contoh kode sumbernya (source codenya). Kode Sumber suatu program biasanya akan rusak atau jadi susah dimengerti pembaca saat diposting di blogger. Terlebih lagi bila contoh kode sumbernya berupa html, javascript, php ataupun bahasa lain yang biasa dijalankan di browser.

Agar kode anda tetap dapat dibaca dengan baik, anda perlu melakukan perubahan pada kode sumber tersebut. Perubahan tersebut dengan maksud agar kode tetap dapat ditampilkan dengan baik di browser sesuai dengan kode yang ingin anda tampilkan dan tidak dijalankan. Jadi kode tetap tampil sebagai kode bukan sebagai interpretasi browser.
Cara Posting Source Code di Blog

Agar kode anda tetap ditampilkan sebagai kode maka anda dapat menggunakan bantuan dari situs yang dapat membuat postingan kode anda tetap dapat dibaca dengan baik. Diantara situs-situs yang mampu membuat kode terlihat baik adalah :
hilite.me
Kelebihan:

  • Bisa menampilkan nomor baris kode
  • Kode dapat tampil sesuai yang anda pastekan, bila kode panjang kekanan akan ditambahkan scrollbar

Cara Posting Source Code di Blogspot

markup.su/highlighter
Kelebihan:

  • Dapat mendeteksi kode program secara otomatis
  • Ukuran kode baru yang dihasilkan hanya bertambah sedikit dari kode yang anda pastekan

Cara Posting Source Code di Blogspot

Cara Penggunaan
Cara penggunaan kedua situs diatas cukup sederhana. Terlebih dahulu anda perlu mempersiapkan dengan menulis kode program yang ingin anda posting ke blogger. Setelah itu anda dapat membuka salah satu situs diatas.

  1. Copy kode sumber yang ingin anda posting ke blogger, kemudian paste ke kotak souce code yang telah disediakan disitus yang telah anda pilih
  2. Pilih languange untuk menentukan bahasa pemrograman apa yang anda tulis dari source code anda. Untuk markup langsung otomatis terpilih
  3. Pilih style untuk menentukan tampilan menggunakan tema 
  4. Tekan tombol Highlight untuk segera mengkonversi souce code menjadi kode yang bisa di posting dengan baik di blogger.
  5. Kode akan diubah menjadi HTML yang siap diposting di blogger atau blogspot

Cara Posting Source Code di Blogspot

  1. Untuk menempatkan kode di blogspot anda tinggal copy dari kotak HTML Code yang dihasilkan dari situs yang anda pilih diatas
  2. Buka blogger dan buat posting baru, lalu pilih tab HTML
    Cara Posting Source Code di Blogspot
  3. Pastekan kode yang telah anda copy dari situs pilihan anda.
  4. Publish source postingan anda agar dapat ditampilkan di browser.
Hasilnya kurang lebih seperti ini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<html>
<head></head>
<body>
<script>
alert("tes");
console.log(1+1);
function testing(){
    console.log("coba bro!");
}
</script>
</body>
</html>

Itulah tadi cara posting kode di blog agar tampil tetap bagus dan mudah dimengerti. Demikian tulisan kali ini Semoga bermanfaat.

PHP Saat Ini

2 Oktober 2016

PHP adalah bahasa skrip yang sangat sesuai digunakan untuk pengembangan Web. PHP merupakan Hypertext Prepocessor yang ditemukan oleh Rasmus Lerdorf dengan bahasa c sebagai basisnya.

Bahasa skrip merupakan bahasa pemrograman yang telah menyediakan fasilitas deskripsi dan enkripsi kode dalam satu proses rangkaian, dengan cara ini membuat kode dapat langsung dijalankan tanpa perlu diubah menjadi bentuk lain. Selain PHP bahasa skrip yang saat ini banyak digunakan antara lain Javascript dan perl.
php

Untuk dapat memulai php, anda perlu menggunakan server web dan php. Di internet telah banyak dikembangkan paket web server dengan php yang dapat anda gunakan. Paket tersebut antara lain:

  • AMPPS
  • XAMPP (untuk windows, Mac OS dan Linux)
  • WAMPP (untuk windows)
  • LAMP (untuk Linux)
  • MAMP (untuk Mac OS)
  • WampServer (untuk windows)
  • easyPHP (untuk windows)
  • USBWebserver
  • OpenServer (untuk windows)
  • PHPStudy (untuk windows)
  • WPN-XM (untuk windows)


Sejak versi 5.4.0 server php dapat dijalankan melalui command prompt dengan perintah:
php -S Localhost:8000
Setelah perintah diatas dijalankan, server akan menyiapkan port 8000 sebagai direktory yang bekerja sebagai root.

Versi PHP saat ini dapat diupdate dengan cara migrasi berikut versi yang dapat dimigrasi ke versi diatasnya:
5.2.x ke 5.3.x
5.3.x ke 5.4.x
5.4.x ke 5.5.x
5.5.x ke 5.6.x
5.6.x ke 7.0.x

Pada 30 July 2014 disepakati untuk melompati versi 6 untuk menghindari kebingungan. PHP6 dianggap spesial terlebih karena mendukung unicode. Unicode adalah tehnik mengatur kode biner untuk text dan bentuk tulisan lainnya. Tehnik ini dibuat untuk menjembatani karakter yang berbeda dengan karakter tulisan latin. Telan ada rilis resmi terkait PHP 6, banyak buku dan artikel yang telah menulis mengenai versi ini.

Contoh penulisan Skript PHP
Skript berikut menampilkan Hello World! pada layar.
<?php
echo 'Hello World!';
?>
Agar skrip dapat dijalankan anda perlu menyimpan kode tersebut dalam file hello.php pada direktori kerja server anda. Kemudian melalui command prompt dapat dijalankan dengan perintah php hello.php

Untuk menampilkan Informasi Pengaturan
Anda dapat membaca informasi pengaturan dengan skript sebagai berikut:
<?php
phpinfo();
?>
Simpan file dalam file phpinfo.php kemudian tempatkan dalam folder root server anda. Anda dapat memanggil melalui browser dengan alamat: 
http://localhost/phpinfo.php
Jangan lupa menghapus file tersebut untuk keamanan server anda.

Database yang Mendukung

Banyak Jenis database yang mendukung php baik relational dan non relational. Biasanya PHP dipaket dengan MySQL, Namun PHP sebenarnya juga sesuai bila dipasangkan dengan database yang lain seperti: PostgreSQL, SQLite, MicrosoftSQLServer, Oracle, IBM DB2 &Cloudscape, Apache Derby bahkan ODBC.

Versi PHP modern sudah mendukung PDO, Dan yangterbaru telah dilengkapi dengan PECL ekstensi sehingga memungkinkan untuk digunakan dengan NoSQL Database. Seperti dengan Apache Thirft untuk Apache Cassandra, MongoDB, Redis dan lainnya.

Dukungan SAPI

Seperti banyak aplikasi yang lainnya, WebServer menyediakan API (Application Programming Intervace) untuk dikembangkan menggunakan pihak ketiga. PHP dapat dijadikan modul untuk ditempel di suatu web server. Tidak semua web server menyediakan slot untuk ditambahkan modul. Server Slot yang disediakan oleh web server dikenal dengan SAPI (Server API). Dengan SAPI, php dapat berjalan pada Web Server yang berbeda layaknya bahasa server scripting yang digunakan saat ini. List web Server yang mendukung SAPI antara lain:

  • Apache HTTP Server (versi 1.3x, 2.x)
  • Microsoft IIS
  • thttpd (tiny/turbo/throttling HTTP server)
  • Caudium
  • AOLServer 3.1 
  • Netscape Enterprise Web Server

dan lain-lain


Framework

PHP memiliki banyak macam Objek Oriented Web Application Framework yang telah mendukung berbagai fungsi Aplikasi web modern. Beberapa framework tersebut diantaranya:

  • Agavi
  • Aura
  • CakePHP
  • CodeIgniter
  • Fat-Free
  • Flow3
  • FuelPHP
  • Kohana
  • Laravel
  • Limonade
  • Lithium
  • Nette
  • Phalcon
  • Symfony
  • xAjax
  • Yii
  • Zend Framewok
  • Zeta

dan masih banyak lagi


Content Management System (CMS)

Selain framework, PHP juga memiliki banyak CMS  yang dapat digunakan orang awam (bukan programmer). Beberapa dari CMS tersebut merupakan produk Sumber terbuka (Open Source) dan sebagian yang lain proprietary. Diantara CMS tersebut antara lain:

  • CMS Made Simple
  • Drupal
  • Joomla
  • WordPress
  • OpenCart
  • Magento

dan masih banyak lagi


Object Relational Mapping (ORM)

ORM merupakan salah satu cara untuk menjembatani perbedaan objek dengan struktur tabel di database dan bisnis objek di applikasi. Beberapa ORM di PHP antara lain:

  • Doctrine
  • Eloquent
  • Propel
  • Redbean

dan masih banyak lagi yang lain.
Bagaimana? anda tertarik belajar PHP?

Status CodeIgniter Sekarang

8 Agustus 2016

Sekarang code igniter sudah mencapai versi ke 3.1.0. Codeigniter versi terbaru memiliki  paket yang lebih ringkas dari pada versi pendahulunya. Versi terbaru memiliki ukuran paket file 2 Mb dan sudah termasuk user guidenya. Ukuran yang ideal untuk framework php dengan segala kelebihannya termasuk kecepatannya yang stabil. 

Baik versi 2.x.x maupun sampai versi 3.10 ini, CodeIgniter support dengan HMVC. Dan sudah saya coba dengan migrasi versi CodeIgniter menggunakan HMVC hasilnya mulus tanpa rintangan yang berarti. Ada perbedaan sedikit dengan codeigniter versi 2.xx namun pada tulisan kali ini tidak membahas perbedaan tersebut. Kali ini tentang status codeigniter. Setelah Ellislab mengumumkan melepas CodeIgniter untuk berganti pemilik ada sedikit rasa was-was bagi pengembang sofware yang terlanjur jatuh cinta pada codeigniter.

CodeIgniter sekarang telah dimiliki oleh British Columbia Institute of Technology dan hasilnya CodeIgniter masih dikembangkan. Mungkin ada yang belum tahu bila CodeIgniter sebenarnya beberapa kali berganti tipe lisensi. Yaitu pertama tipe OSL Open Software License yang menimbulkan kontroversi berbagai kalangan komunitas pengembang. Kemudian berganti GPL lalu sekarang berlisensi MIT.
codeigniter

Lalu Apa Bedanya lisensi-lisensi Tersebut?
GPL
pengguna boleh menggunakan untuk tujuan komersil, memodifikasi dan menggunakan paten tanpa harus mendistribusi ulang hasil yang dibuat dengan software lisensi ini. Namun penguna harus menyertakan library asli tidak seluruhnya, menyertakan lisensi si pembuat, serta menyertakan apa saja yang sudah dimodifikasi. Namun pengguna tidak boleh menuntut pembuat bila ada kekurangan ataupun kesalahan. Perlu diketahui bila menggunakan lisensi GPL maka pengguna boleh memodifikasi dan menjualnya.

MIT 
pada lisensi ini pengguna dapat melakukan apapun pada kode program. Namun pada lisensi ini pengguna diwajibkan mencantumkan lisensi dan copyright pembuat. Pada lisensi ini pengguna juga tidak boleh menuntut apabila ada kekurangan maupun kesalahan. Pada lisensi ini kita boleh memodifikasi sehingga menjadi aplikasi tertutup misalkan dengan melakukan enkripsi pada bagian tertentu. Yang tetap terbuka adalah core intinya.

Jadi dengan CodeIgniter anda dapat membuat perangkat lunak yang dapat anda proteksi sourcecodenya dengan pengamanan milik anda Sendiri. Jadi CodeIgniter mendukung untuk pembuatan aplikasi yang dapat dijual lagi tanpa membuka seluruh kode yang telah dibuat. 
Berikut ini ringkasan tabel lisensi dan  jenis penggunaanya:
code igniter


Cara memperbaiki Undefined Variable dan Undefined Index PHP Error

30 Juli 2016

Membuat website ataupun aplikasi berbasis web menggunakan php pasti tidak akan melewatkan yang namanya variable. Namun setelah program dicoba dirunning di browser terkadang menampilkan error. Ketika menjalankan kode php terkadang ada tampilan pemberitahuan error seperti dibawah ini:

Notice: Undefined variable: nama_variable in c:\xampp\htdocs\contoh\index.php on line 10
atau
Notice: Undefined index: nama_index c:\xampp\htdocs\contoh\index.php on line 11
pada baris tersebut dituliskan skrip seperti berikut:
echo "variabel saya adalah: ". $nama_variable;
echo "index value adalah: ". $array_contoh["nama_index"];

Apa eror tersebut dan mengapa ditampilkan eror tersebut padahal dijalankan dengan versi php sebelumnya dan xampp versi sebelumnya tidak masalah? dan bagaimana cara memperbaiki eror tersebut?

a PHP error was encountered 

handling undefined index error

Undefined Variable

Pada server-server versi lawas biasanya setting php.ini mengindahkan adanya varibel yang belum didefinisikan. Dengan begitu error tidak akan muncul. Penggunaan nilai default secara langsung pada setting server pada versi-versi sebelumnya menjadi suatu masalah ketika diakses pada file-file yang lain dengan nama variabel sama. Selain itu penggunaan nilai default menjadi masalah yang serius pada keamanan dengan setting php.ini register_globals on. Eror notice akan bekerja memberikan sebuah peringatan apabila ada varibel yang belum didefinisikan nilainya. Untuk melakukan pemeriksaan apakah sebuah variable ataupun array sudah didefiniskan atau belum dapat menggunakan fungsi isset().

Walaupun sejatinya PHP tidak mengharuskan deklarasi variabel, namun disarankan untuk melakukan pengisian variabel awal walaupun hanya berupa nilai nol (0) ataupun string kosong (""). Hal ini perlu dilakukan untuk menghindari resiko celah keamanan atau bug pada program yang disusun dari banyaknya logika pada file saling berhubungan. 

Cara untuk menangani masalah undefined variable ini antara lain:
Disarankan:
1.Mendeklarasikan variabel. contohnya ketika anda ingin mengirim string dari sebuah form maka bila isian masih kosong anda dapat dengan mudah melakukan pengecekan.
Contoh:
$value = "";
// pemeriksaan menggunakan fungsi isset()
$value = isset($_POST['value']) ? $_POST['value'] : '';
// pemeriksaan menggunakan fungsi empty()
$value = !empty($_POST['value']) ? $_POST['value'] : '';
2. Melakukan setting custom error handler pada E_NOTICE dan meredirect pesan dari pesan default
set_error_handler('myHandlerForMinorErrors',E_NOTICE | E_STRICT)
3. Menonaktifkan E_NOTICE dengan cara berikut:
error_reporting(error_reporting() & ~E_NOTICE)
4. Melewatkan error dengan @operator
5. Pada codeIgniter setting environment = "PRODUCTION"

Catatan: sangat disarankan untuk memilih opsi nomor satu

Undefined Index

Pesan ini akan muncul apabila anda mencoba untuk mengakses variabel array yang belum diberikan index. Agar anda dapat melakukan pemeriksaan pada array dapat dilakukan dengan pemeriksaan sebelum array digunakan. Contohnya sebagai berikut:
Cek index sudah ada sebelum anda menggunakan. Silahkan menggunakan fungsi isset() atau array_key_exists();
$nilai = isset ($array['index_array']) ? $array['index_array']:'';
$nilai = array_key_exists ($array['index_array']) ? $array['index_array']:'';

Sebagaimana kita ketahui bahwa $_POST / $_GET / $_SESSION akan dikenal sebagai array.  Untuk $_POST dan $_GET anda harus memeriksa apakah index sudah ada atau belum sebelum anda menggunakannya. Untuk $_SESSION anda harus yakin bahwa session sudah didahului dengan skrip session_start() dan index sudah didefinisikan.

CodeIgniter - Only variable references should be returned by reference

21 Juli 2016

Perkembangan server web yang dibundling dengan database misalkan kasus upgrade produk Xampp terkadang menyebabkan aplikasi php yang telah kita bangun sebelumnya menjadi error. Pada CodeIgniter versi 2.1.4  terkadang ditemui adanya error pada server xampp baru seperti 5.6.8 keatas. Eror tersebut tampil dengan mode development pada konstanta Environment. Bunyi erornya yaitu: 

A PHP Error was encountered

Severity: Notice

Message: Only variable references should be returned by reference

Filename: core/common.php

Line Number: 257

Untuk mengatasi eror ini dapat dilakukan dengan mengubah baris 257 pada file core/Common.php, yang aslinya:

return $_config[0] =& $config;


diubah menjadi seperti berikut:
$_config[0] =& $config;
return $_config[0];
only variable references should be returned by reference

Sebaiknya bila server diupdate CodeIgniter juga diupdate ke versi yang sesuai, sehingga keamanan, kecepatan dan performanya lebih baik. 

Menonaktifkan Windows 7 Counterfiltering

3 Mei 2016

Ketika menggunakan windows 7 yang belum diaktifkan serial number yang sesuai seringkali anda akan mendapatkan pesan dari windows berupa counter filtering. Kasus seperti ini seringkali terjadi bila anda menginstall software OS Windows yang bajakan atau salah dalam memasukkan serial number. Namun windows 7 masih memperbolehkan penggunanya untuk melakukan proses komputasi walaupun dengan seringkali diberikan peringatan dan juga layar hitam dibagian wallpaper. 
windows counterfiltering

Untuk mengatasi hal tersebut diatas, ada beberapa cara yang dapat dilakukan tanpa harus melakukan crack ataupun memasukkan serial number hasil generate dari software generator. Caranya adalah dengan mematikan kinerja aplikasi pemberi peringatan yaitu pada WgaTray.exe and WgaTray.dll.
Caranya antara lain sebagai berikut:
Cara 1 dengan perintah sederhana

  1. panggil command prompt bisa dari search ataupun klik pada start menu>accessories>cmd lalu run as administrator
  2. ketikkan perintah SLMGR/REARM tunggu sebentar setelah itu windows akan menampilkan pesan sukses
  3. Restart


Cara 2 dengan perintah agak panjang
panggil command prompt seperti diatas yaitu sebagai administrator
masuk ke c:/Windows/System32/

  1. hentikan proses dengan mengetikkan taskkill -im wgtray.exe
  2. hapus file dengan perintah del wgtray.exe
  3. hapus dll file dengan del wgalogon.old


PHP Programmer Mengatasi SQL Injection

8 April 2016

PHP merupakan Hypertext Prepocesor yang banyak digunakan untuk membuat website lengkap dengan databasenya. Dalam membuat website banyak masalah yang sering muncul. Salah satu masalah website yang sudah online adalah serangan dari luar sistem. Penyerang dapat menyerang melalui berbagai cara, salah satu cara yang sering digunakan adalah SQL Injection.

Banyaknya website yang menuliskan sql injection tutorial juga menjadi pemicu orang untuk mencoba melakukan serangan. Walaupun seringkali bukan untuk merusak, tetapi hanya untuk menguji cara yang telah dituliskan di sql injection tutorial tersebut. Seiring dengan naiknya traffick pengunjung website, seringkali intensitas serangan juga semakin meningkat.

Agar dapat mengatasi sql injection maka programmer php harus mengetahui cara yang tepat agar mampu melindungi website yang sudah dibangun dengan susah payah agar tidak mudah diretas. Bila kita teliti lebih dalam, sql injection dapat dilakukan melalui parameter yang dikirim kemudian ditangkap dan kemudian query sql yang akan menjalankannya. Bila parameter tidak cocok dengan query yang menangkapnya, maka sql injection akan susah dilakukan.
php programmer - sql injection

Cara agar website tidak mudah diserang menggunakan SQL Injection antara lain menggunakan parameter query dan prepare steatments. Alasannya karena dua cara tersebut di parsing oleh database dengan cara yang terpisah, sehingga tidak memungkin bagi penyerang menjalankan SQL Injection. Keuntungan menggunakan prepare steatments ada dua yaitu:
  1. Query yang disiapkan (diparsing) sekali tetapi dapat digunakan berkali-kali
  2. Lebih aman terhadap SQL Injection
Prepare Statement dan parameter query pada umumnya bisa digunakan dalam dua kondisi, yaitu:
Menggunakan PDO (PHP Data Objects)
PDO merupakan cara yang ramping (simple) untuk mengakses database. PDO memberikan kemudahan pada programmer untuk menuliskan kode lebih hemat dan praktis. PDO juga dapat digunakan pada banyak jenis database selain MySQL. Sebelum digunakan PDO perlu diaktifkan. Dengan menggunakan PDO programmer php dapat menggunakan prepare steatmen untuk mengirim parameter kedalam SQL. Contoh penggunaanya sebagai berikut:
<?php
$stmt=$dbh->prepare("INSERT INTO REGISTRY(name, value) VALUES(:name,:value)");

$stmt->bindParam(':name'$name);$stmt->bindParam(':value'$value);
?>

Menggunakan MySQLi
Berbeda dengan PDO yang dapat digunakan pada berbagai macam database, MySQLi khusus untuk database MySQL. Contoh penggunaan sebagai berikut:
<?php
if (!($stmt $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
    echo 
"Prepare failed: (" $mysqli->errno ") " $mysqli->error;
}
?>