PHP Talk: CRUD Part 3

Pada PHP Talk: CRUD Part 2, kita telah membahas tuntas tentang proses Create pada aplikasi berbasis CRUD. Kali ini saya akan meneruskan pembahasan CRUD ini ke proses Update. Jika anda belum mengikuti tutorial yang sebelumnya, silahkan ikuti terlebih dahulu. Berikut permalink dari rentetan tutorial ini:

Jika teman-teman sudah mengikutinya dan sukses, mari kita lanjutkan tutorialnya…

1. Starter

Untuk mengedit/update data yang berada dalam database, kita memerlukan form tambahan dimana kita akan mengganti value dari setiap fieldnya. Maka buatlah folder “edit” pada folder C:\xampp\htdocs\tutorialphp.  Jika sudah buatlah 2 file .php dengan nama masing-masing:

  1. index.php, digunakan untuk mendisplay dan memasukan data yang baru.
  2. edit.php, digunakan untuk menangkap data hasil masukan user dan meng-update sebuah baris pada database sesuai dengan datakey-nya.

2. Mengubah Halaman utama.

Continue reading

MySQL Talk: Password Encryption and Hashing


Di dalam ilmu Cryptography(Ilmu dan seni untuk menyembunyikan informasi), encryption adalah suatu proses transformasi informasi dengan menggunakan algoritma tertentu untuk membuat informasi tersebut menjadi tidak dapat dibaca oleh siapapun kecuali oleh mereka yang memiliki algoritma dibalik proses enkripsi tersebut. Dalam banyak konteks, proses enkripsi secara implisit mengacu pada proses kebalikannya, dekripsi(decryption), yang akan membuat informasi terenkripsi dapat dibaca kembali. Proses enkripsi selalu menghasilkan informasi yang terenkripsi dengan panjangnya tidak tentu. Berbeda dengan proses Hashing.

Secara pengertian, proses hashing adalah sama dengan proses encryption. Hanya saja proses hashing menghasilkan sebuah checksum. Checksum atau Hash sum adalah sebuah data dengan panjang selalu tetap(bergantung pada method yang digunakan) dan dihasilkan oleh sebuah prosedur checksum function atau checksum algorithm. Checksum ini tidak dapat dikembalikan ke argument aslinya. Jika dilihat dari segi keamanan, Hashing lebih menjanjikan dibanding Encryption.

Pada kesempatan kali ini saya akan mencoba menunjukkan implementasi Hashing di MySQL. Terdapat 2 method Hashing yang dapat dipakai dalam MySQL, yaitu MD5() dan SHA1(). MD5() mengkalkulasi 128-bit Checksum dan menghasilkan binary string dengan panjang 32 bilangan hexa atau NULL jika argument yang diberikan adalah NULL. Sedangkan SHA1() mengkalkulasi 160-bit Checksum dan menghasilkan binary string dengan panjang 40 bilangan hexa atau NULL jika argument yang diberikan adalah NULL.

Jika anda belum mengikuti dua tutorial dibawah ini, mohon ikuti terlebih dahulu. Kenapa? karena semua file dan database yang dibuat disana akan digunakan kembali ditutorial ini.

Jika anda sudah mengikutinya, pastikan bahwa semua data dalam database tidak ada yang berubah. Oke, mari kita mulai tutorialnya.

1. Mengubah plain password menjadi sebuah Checksum dalam database.

Continue reading

AJAX Talk: Simple XML HTTP Request Object Implementation

Ini adalah kesempatan saya yang pertama untuk memberikan sedikit pengenalan kepada anda tentang AJAX(Asynchronous JavaScript and XML). AJAX bukanlah sebuah teknologi, melainkan sebuah teknik yang mendeskripsikan bagaimana JavaScript dapat digunakan untuk mengambil data dari server dengan menggunakan XML HTTP Request Object dan kemudian data tersebut dimasukan kedalam website dengan menggunakan DOM(Document Object Model). Semua ini bekerja secara asinkron(Asynchronous) dan dapat diselesaikan tanpa me-refresh page. AJAX merupakan teknik yang tepat untuk membuat suatu website yang dimanis.

Banyak implementasi dari AJAX ini. Namun kali ini saya akan mulai memperkenalkan AJAX dari Simple XML HTTP Request Object. Sudahkah anda siap untuk menyambut AJAX? Klo sudah mari kita mulai..

1. Starter

Tutorial ini saya buat mengharuskan anda untuk membuat webserver local. Jika anda belum menginstalnya silahkan instal terlebih dahulu. Saya anjurkan anda menggunakan XAMPP. Silahkan lihat tutorialnya disini XAMPP Talk: How to instal XAMPP. Jika sudah menginstal, buatlah folder tutorialajax pada c:\xampp\htdocs. Buatlah juga beberapa file berikut:

  1. index.html digunakan sebagai homepage. Dimana kita akan membuat halaman ini sebagai halaman utama.
  2. requestme.php file ini akan kita gunakan sebagai target file yang akan kita load secara asynchronous ke halaman utama.
  3. jquery.js ini adalah jQuery library yang kita gunakan untuk memberikan sedikit animasi pada website.

2.  Download jQuery Library

Jika anda belum mempunyai jQuery Library, silahkan download disini. Copy semua scriptnya dan paste pada file jquery.js. Jangan lupa untuk menyimpan file tersebut.

3. HTML Coding time

Continue reading

PHP Talk: Session Management Part 2

Kali ini kita akan membahas bagaimana cara logout dari session yang telah kita buat. Jika teman-teman belum mengikuti tutorial PHP Talk: Session Management Part 1, silahkan ikuti dulu. Kenapa? karena semua file-file yang telah dibuat disana, akan digunakan kembali di tutorial ini. Jika sudah membaca, baik kita mulai saja ya..

1. Ubah script index.php menjadi seperti ini.

<?php

session_start();

if (!isset($_SESSION[‘username’])) {

echo “Anda belum login. Silahkan login di <a href=’loginpage.php’>sini..</a>”;

}else{

echo “You’re login as “.$_SESSION[‘username’].”, <a href=’logout.php’>Logout?</a>”;

}

?>

Komposisi script diatas sebenarnya hampir sama dengan script index.php yang lama. Hanya disini page tidak akan menredirect langsung page anda ke loginpage.php. Melainkan menyediakan link untuk menuju ke page login. Jika variable username pada session sudah ada isinya, maka page ini akan memberikan pilihan untuk logout.

2. Logout

Continue reading

jQuery Talk: Menu Highlighter

Kali ini saya akan mencoba untuk memberikan pencerahan tentang teknik memperindah tampilan halaman web dengan jQuery. jQuery kali ini saya namakan dengan Menu Highlighter. Dimana menu yang akan kita buat ini akan memberikan highlight bukan hanya sekedar title default dari browser anda, tapi title dengan sedikit animasi. (Lihat screen shot-nya dibawah ini) Ok, mari kita langsung saja ke tutorialnya.

1. Starter

Buatlah folder dengan nama tutorial-highlight dan buatlah 5 file dengan nama masing-masing:

  1. index.html digunakan untuk pengkodean html
  2. style.css digunakan untuk memberikan style pada html yang kita buat
  3. js-style.js digunakan untuk menampung code javascript.
  4. hover.png dapat di download disamping ini
  5. jquery.js ini adalah jQuery library yang kita gunakan untuk memberikan sedikit animasi pada website.

2.  Download jQuery Library

Jika anda belum mempunyai jQuery Library, silahkan download disini. Copy semua scriptnya dan paste pada file jquery.js. Jangan lupa untuk menyimpan file tersebut.

3. HTML coding time

Continue reading

PHP Talk: CRUD Part 2

Pada PHP Talk: CRUD Part 1 telah dibahas 2 proses management database yaitu Create dan Read, namun Create disana dilakukan secara manual dari SQL compiler. Oleh karena itu, pada kesempatan kali ini saya akan meneruskan pembahasan proses management database terutama pada proses Create. Langkah awal pembangunan proses Create ini secara garis bersar sama seperti tutorial yang pertama, yaitu kita harus melakukan koneksi ke server MySQL dimana table yang akan kita isikan data terletak. Setelah koneksi ini terbentuk, maka barulah kita dapat memanipulasi data didalamnya dengan menggunakan MySQL query melalui PHP.

Jika teman-teman belum megikuti tutorial PHP Talk: CRUD Part 1, silahkan ikuti terlebih dahulu. Kenapa? Karna database dan file-file php yang dibuat disana akan digunakan kembali di tutorial ini. Ok.. jika teman-teman sudah mengikuti, mari kita muali saja tutorialnya..

1. Starter

Buatlah folder “insert” didalam folder “tutorialphp” pada C:\xampp\htdocs\tutorialphp. Jika sudah, buatlah 2 file php dan namakan masing-masing filenya dengan insert.php dan index.php

  • index.php adalah halaman utama untuk menginsertkan data mahasiswa diman dihalaman ini terdapat form tempat memasukan data mahasiswa
  • insert.php digunakan untuk menangkap hasil form yang masukan user pada index.php lalu memasukannya ke dalam database.

2. Ubah file index.php di folder tutorialphp

Continue reading

PHP Talk: Session Management Part 1

Session adalah semi permanen pertukaran data interaktif yang berada di antara dua device yang sedang berkomunikasi. Session biasanya dipakai untuk mengetahui informasi pengunjung pada suatu website. Session yang digunakan untuk login dan exist sampai user yang bersangkutan logout disebut Login Session.

Kali ini saya akan mencoba memberikan sedikit pencerahan tentang penggunaan Session dalam PHP khususnya Login Session. Untuk dapat melakukan login kita memerlukan database dimana terdapat data username dan password yang diperlukan untuk login.

1. Membuat database untuk member

Buatlah database dengan nama session. Jika anda belum menerti cara pembuatan database, silahkan kunjungi artikel berikut XAMPP Talk: How To Make A Database and Table on MySQL. Setelah itu, copykan query SQL berikut kedalam phpmyadmin SQL Compiler.

CREATE TABLE IF NOT EXISTS `member` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `username` varchar(50) NOT NULL,  `password` varchar(32) NOT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `member` (`id`, `username`, `password`) VALUES(1, 'guest', 'secret');

Query diatas digunakan untuk membuat table member dengan field(id, username dan password), setelah itu memasukan data dengan nilai id = 1, username = guest, password = secret. Sudah? ok mari lanjut.

2. Membuat folder simulasi website

Continue reading