• Tidak ada hasil yang ditemukan

Kombinasi PHP dan MySQL

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kombinasi PHP dan MySQL"

Copied!
6
0
0

Teks penuh

(1)

Kombinasi PHP dan MySQL

www.komputerinside.blogspot.com

Si Bona yang baru belajar Internet sedang gemar gemarnya berselancar di dunia maya, setiap malam hingga pagi hari dihabiskan Bona di sebuah warnet yang memberikan diskon khusus bagi pengunjung yang datang pada jam 12 malam ke atas. Alangkah kagetnya Bona pagi ini saat menemukan sebuah website berisi company profi le tetangga di kampungnya, Si Rongrong yang membuka toko kelontong.

Keheranan Si Bona semakin bertambah ketika menemukan website milik Mak Jerot, tetangga ahli urut yang terkenal di kampungnya. Sementara orang tua Bona yang membuka jasa IT Consultant belum memiliki website apapun. Dengan motivasi berbakti pada orangtua, Bona bertekad membuat sebuah situs yang inovatif untuk orang tuanya. Memang tidak dapat dipungkiri lagi, Internet telah menjadi sumber informasi yang luar biasa lengkap dan mudah didapat. Tidak hanya sekadar latah mejeng , aplikasi web berlomba lomba memberikan fasilitas pada pengguna dengan menggunakan berbagai fi tur dan inovasi tanpa batas. Tentu tidak sedikit pemuda pemudi harapan bangsa seperti Si Bona yang memiliki motivasi besar membuat situs yang inovatif, tetapi tidak sedikit juga yang mengalami kebingungan untuk memulainya dikarenakan banyaknya pilihan teknologi yang tersedia. Jika pada artikel sebelumnya Anda telah mengenal pembuatan aplikasi n tier dengan ASP Active Server Pages , maka pada model pengembangan software open source, nama PHP dan MySQL merupakan sebuah kombinasi layaknya pasangan Romeo dan Juliet.

Arsitektur

Sebagaimana konsep yang telah kita kenal, halaman web yang Anda ciptakan dengan PHP dan MySQL juga memiliki arsitektur yang terdiri dari client dan server. Client pada halaman web berupa web browser. Web browser memberikan informasi kepada pengguna dalam bentuk HTML Hypertext Markup Language . Sementara aplikasi web itu sendiri terletak pada web server. Sebuah relational database server menyimpan informasi yang diperlukan oleh aplikasi, terdapat banyak pilihan RDBMS Relational Database Management System yang pada umumnya menggunakan Structured Query Language SQL .

MySQL merupakan salah satu RDBMS yang open source. Jika Anda telah mengenal ASP, maka PHP memiliki fungsi yang sama, yaitu sebagai bahasa pemrograman yang dikenal juga dengan middleware. PHP melakukan proses terhadap permintaan request dari client, serta berinteraksi dengan program lainnya pada server untuk memenuhi permintaan dari client. Kombinasi PHP dan MySQL harus didukung pula oleh web server. Dua pilihan web server yang populer adalah Apache yang tersedia secara open source dan Microsoft Internet Information Server IIS . Pilihan web server cenderung mengikuti operating system yang digunakan. Apache dikenal berjalan stabil pada operating system Unix Linux, tetapi jika Anda menggunakan platform Windows, penggunaan IIS lebih disarankan.

Sekilas tentang PHP

(2)

in pada PHP juga mempermudah Anda untuk membangun aplikasi web yang lengkap. Sebagai software open source, terdapat ribuan programer yang ikut serta mengembangkan PHP, yang hingga saat ini telah mencapai versi 5. Fitur fi tur yang didukung, antara lain:

1. Dukungan Object Oriented Programming OOP melalui PHP Data Objects.

2. Dukungan yang lebih baik pada MySQL, dikenal dengan extension.

3. Dukungan yang lebih baik pada XML, dan lain sebagainya.

Sekilas tentang MySQL

Pengembangan MySQL yang diucapkan dengan My Ess Queue Ell dan dikenal dengan logo ikan lumba lumba, tidaklah mulus pada awalnya. Berbagai kritik telah didapat sejak versi awal, tetapi waktu juga yang membuktikan bahwa MySQL dapat terus bertahan pada jajaran RDBMS berbasis open source. PHP telah mempersiapkan dukungan terhadap MySQL secara khusus, menjadikan kombinasi PHP dan MySQL merupakan tools yang saling mendukung untuk digunakan oleh programer web.

Untuk database kecil hingga menengah, MySQL memiliki kecepatan yang dapat diandalkan. Seperti juga PHP, MySQL terus dikembangkan dari waktu ke waktu oleh komunitas publik open source di mana hak cipta dimiliki oleh masing masing individu pembuat. Hingga rilis terakhir MySQL yang telah mencapai versi 5, MySQL telah memiliki fi tur cross platform, Stored Procedures, Triggers, Cursors, Views, dan lain sebagainya. Roadmap selanjutnya dari MySQL adalah dukungan terhadap Partitioning, Online Backup, Event Scheduling, dan lain lain. Kombinasi PHP dan MySQL memiliki sebuah nickname yang dikenal dengan Dynamic Duo .

Dynamic Duo

Pada bagian ini, kita akan membahas duet PHP dan MySQL secara lebih praktikal. Desain database merupakan hal awal yang harus dipersiapkan dalam membuat aplikasi web. Pada MySQL, Anda dapat melakukan administrasi database dengan menggunakan command line ataupun tools berbasis GUI seperti MySQL Administrator dan MySQL Query Browser. Pilihan lain yang popular adalah menggunakan aplikasi web bernama phpMyAdmin, yang ditulis dengan menggunakan PHP. Kegiatan menciptakan database, table, fi eld, mengeksekusi perintah SQL, hingga melakukan export database dapat Anda lakukan pada melalui phpMyAdmin yang memiliki tampilan web yang user friendly. Seperti pada software RDBMS lainnya, pada MySQL Anda dapat menggunakan perintah SQL untuk menciptakan table dan fi eld. Untuk tipe data text atau string pada fi eld, MySQL menyediakan tipe data sebagai berikut:

1. Char. Maksimum panjang karakter yang dapat ditampung tipe data char adalah sebesar 255 karakter. Tipe data ini merupakan tipe fi xed length, artinya jika nilai yang Anda masukkan kurang dari karakter maksimum, maka sisa karakter akan diisi dengan spasi. Walaupun demikian, sisa spasi tersebut akan dihilangkan pada saat pengambilan nilai fi eld dari table.

(3)

dari 30 karakter. Untuk kebutuhan ini, Anda dapat mendefi nisikan fi eld tersebut dengan varchar 30 . Berbeda jika ingin menyimpan sebuah fi eld berisi password, Anda dapat mendefinisikannya dengan char 10 untuk memberi maksimal 10 karakter sebagai password. Mengapa tidak menggunakan varchar 10 ? Pertimbangannya, MySQL akan melakukan pengecekan panjang fi eld setiap kali fi eld dengan tipe varchar di update. Dengan menggunakan char 10 , MySQL tidak perlu melakukan pengecekan jumlah karakter pada fi eld yang bersangkutan karena panjang karakter merupakan fi xed length.

3. Tinytext. Merupakan tipe data yang dikenal dengan BLOB. Tinytext memiliki maksimum sebanyak 255 karakter, Anda dapat menciptakan index pada seluruh fi eld tinytext.

4. Text. Dapat menampung maksimum 65,535 karakter. Index dapat diciptakan pada 255 karakter pertama.

5. Mediumtext. Dapat menampung maksimum 16,777,215 karakter. Index dapat diciptakan pada 255 karakter pertama.

6. Longtext. Dapat menampung maksimum 4,294,967,295 karakter. Index dapat diciptakan pada 255 karakter pertama.

7. Enum. Dengan tipe data enum, Anda dapat mendefi nisikan nilai fi eld terlebih dahulu. Misalnya untuk pilihan Ya dan Tidak . Tipe data enum dapat menampung hingga 65,535 nilai.

Untuk tipe data numerik, MySQL menyediakan tipe data int integer, tinyint, mediumint, bigint, float, double double precision real, dan decimal numeric. Sedikit berbeda antara MySQL dengan RDBMS lain adalah untuk penanganan tipe data date time. Tipe data yang dapat Anda gunakan adalah date, datetime, timestamp, phpMyAdmin sebagai pendukung administrasi database MySQL. time, dan year. Format yang digunakan oleh MySQL adalah YYYY MM DD, sehingga jika Anda ingin memberikan tanggal 30 November 2006, maka penulisannya adalah 2006 11 30. Dengan fleksibilitas yang tinggi, MySQL dapat menerima penulisan 06 11 30, 20061130, dan 061130 yang semuanya menunjukkan 30 November 2006. Baik MySQL maupun PHP memiliki banyak function untuk mengakomodasi penggunaan tipe data date time ini. Secara umum, penggunaan perintah SQL pada MySQL tidak jauh berbeda dengan perintah SQL pada umumnya, tetapi MySQL menyediakan beberapa perintah SQL tambahan. Salah satunya adalah perintah LIMIT, di mana Anda dapat membatasi jumlah baris yang diambil. Sebagai contoh, perintah SQL SELECT FROM Products LIMIT 0,5 memiliki arti bahwa Anda ingin mengambil 5 baris pertama dari table Products. Untuk mengambil 5 baris berikutnya, Anda dapat menggunakan perintah SELECT FROM Products LIMIT 5,5 .

Perintah LIMIT umum digunakan untuk menampilkan detail sebuah table pada halaman web secara paging atau memiliki navigasi nomor halaman untuk memudahkan pengguna dan tidak membebani jaringan, tentunya sangat merepotkan jika Anda memiliki ratusan ribu detail produk yang ditampilkan hanya pada satu halaman, bukan? Bisa jadi Anda hanya akan mendapatkan pesan request time out karena pengambilan data yang besar akan membebani jaringan Anda. Setelah sejenak membahas MySQL dari sisi back end, kini waktunya untuk membahas PHP untuk dapat membuat aplikasi web secara sempurna. Untuk mulai menuliskan kode PHP, Anda memerlukan sebuah text editor. Anda dapat menggunakan text editor seperti Notepad, tetapi untuk tampilan dan fi tur text editor yang lebih baik ataupun jika Anda terlalu malu untuk menggunakan Notepad , Anda dapat menggunakan software text editor seperti EditPlus, UltraEdit, dan lain sebagainya pada operating system Windows.

(4)

dilihat, sebagai tindakan berjaga jaga jika Anda harus melihat baca:menuliskan kode program PHP pada layar monitor selama berjam jam non stop. Sebelum Anda menuliskan Hello World pada halaman web dan memamerkannya sebagai halaman web PHP Anda yang pertama, Anda perlu mengetahui bahwa pada fi le PHP yang diketik pada text editor, dapat terdiri dari kombinasi tag HTML, Javascript, ataupun PHP. Agar engine PHP dapat membedakan baris kode mana yang merupakan perintah PHP, Anda perlu menuliskan kode PHP Anda di antara tag pembuka ?php dan tag penutup ? . Tag pembuka ? juga dapat digunakan selain menggunakan tag ?php. Karena pembahasan mengenai PHP pada artikel kali ini terbatas untuk diarahkan pada kombinasi penggunaan PHP dan MySQL yang mana mengarah pada pembuatan halaman web dinamis yang menggunakan database, maka hanya akan diberikan sekelumit pengantar mengenai dasar pemrograman PHP. PHP memiliki perintah perintah standar bahasa pemrograman seperti deklarasi variabel, pengolahan array, perulangan looping , operator logika, ataupun pembuatan function. Bagi Anda yang pernah mempelajari bahasa C atau PERL, akan menemui banyak kemiripan sintaks dan perintah. Pada sebuah halaman web, informasi dari client sering kali berasal dari form HTML. Contohnya pada sebuah halaman registrasi, buku tamu, ataupun forum. Informasi tersebut akan disubmit oleh pengguna dengan metode GET ataupun POST, untuk kemudian diproses oleh PHP. Informasi yang dimasukkan pengguna di dalam form dapat berupa textbox, radio button, combo box, text area, dan lain lain. Form tersebut merupakan terdiri dari tagtag HTML yang dapat Anda ketik pada text editor ataupun tools seperti Dreamweaver atau FrontPage.

Penggunaan array bisa jadi akan cukup sering Anda temui pada pemrograman PHP. Contoh penggunaan array adalah pada multiple combo box, yaitu pilihan yang dapat Anda pilih lebih dari satu item. Misalnya warna kesukaan, hobi, dan lain lain. Agar PHP mengetahui bahwa Anda ingin mengirimkan variabel array, Anda harus memberikan tanda kurung pada nama variabel tersebut. Contohnya pada tag HTML sebagai berikut: select name hobi size 5 multiple Tag HTML di atas mendefi nisikan sebuah multiple combo box dengan nama hobi, perhatikan bahwa pemberian nama hobi diikuti dengan buka dan tutup kurung siku yang menunjukkan array. PHP sendiri memiliki variabel built in, yaitu variabel yang diatur oleh web server dan environment PHP. Untuk melihat daftar variabel tersebut, Anda cukup memberikan sebuah perintah ajaib, yaitu phpinfo .

Function MySQL API

Bagaimana tepatnya sang Dynamic Duo PHP dan MySQL saling bekerja sama membentuk halaman web yang berfungsi baik? Tidak lain dan tidak bukan adalah melalui function function MySQL yang tersedia pada PHP. Function ini disebut dengan MySQL API. Function function yang sering digunakan adalah: 1. MYSQL CONNECT . Tanpa melakukan koneksi pada database MySQL, maka tidak ada yang dapat Anda lakukan untuk memproses data MySQL. Function mysql connect melakukan koneksi pada database dengan menggunakan username dan password yang telah Anda tentukan pada saat melakukan administrasi dan pembuatan database MySQL. 2. MYSQL PCONNECT .

(5)

yang ingin di query. 4. MYSQL QUERY . Function di mana Anda dapat mengirimkan query SQL pada table yang Anda inginkan. Perhatikan bahwa function ini tidak mengembalikan hasil query misalnya berupa recordset , tetapi hanya membuka kursor yang mengarah pada hasil query tersebut. Anda kemudian dapat mengambil record hasil query tersebut dengan menggunakan salah satu dari function mysql fetch row , mysql fetch array , ataupun mysql result . 5. MYSQL AFFECTED ROWS . Function mysql affected rows mengembalikan jumlah record hasil proses UPDATE, INSERT, ataupun DELETE. Function ini berguna untuk memeriksa apakah query Anda telah berjalan dengan sempurna. Masih terdapat beberapa function yang umum digunakan seperti mysql num rows , mysql insert id , mysql error , mysql result , dan lain lain yang dapat digunakan pada halaman web Anda.

Validasi

Tentu Anda mengharapkan pengunjung situs Anda datang berbondong bondong sebagai salah satu tanda suksesnya pekerjaan Anda. Tetapi, Anda juga tidak akan mengharapkan terjadi kesalahan input dari pengguna. Pengguna bukanlah orang yang harus disalahkan jika terjadi error pada sebuah aplikasi web, karena di sini benar benar berlaku pengunjung adalah raja, bahkan sering kali pengguna yang menemukan kesalahan secara sengaja maupun tidak sengaja pada suatu situs, dapat membanggakan diri PHP telah mempersiapkan seperangkat function untuk melakukan validasi.

Salah satu validasi yang wajib dilakukan adalah menghindari input karakter kutip satu single quote , kutip dua double quote , ataupun NULL karena akan membingungkan MySQL dimana karakter karakter tersebut memiliki arti khusus dalam perintah SQL. Function addslashes dapat digunakan untuk menanggulangi permasalahan ini. Kini mungkin Anda berpikir, berarti setiap informasi yang dikirimkan harus melalui function addslashes , bisa jadi seperti demikian, jika Anda tidak memiliki wewenang untuk mengubah konfi gurasi fi le php.ini yang mungkin telah ditentukan oleh provider hosting yang Anda gunakan.

Tetapi jika memiliki hak untuk mengubah php.ini, Anda dapat mengatur baris magic quotes gpc menjadi On, maka function addslashes tidak diperlukan lagi karena akan dilakukan secara otomatis dari server. Bagaimanapun, konfigurasi ini seharusnya bernilai On secara default, sebaiknya Anda memastikannya sebelum memutuskan untuk tidak menggunakan function addslashes . Beberapa kesalahan lain yang dapat timbul adalah jika pengguna memasukkan nilai string untuk fi eld yang seharusnya numerik, karakter yang diinput melewati batas panjang fi eld, dan lain sebagainya.

Walaupun Anda dapat menggunakan Javascript untuk validasi form, tetapi karena Javascript berjalan pada sisi client, maka Anda tidak dapat mencegah jika Javascript tidak berjalan pada browser yang digunakan ataupun script Anda dimanipulasi ingat bahwa kesalahan dapat dilakukan dengan sengaja dengan berbagai tujuan . Karena itu validasi ulang input form pada PHP dianjurkan jika Anda benar benar ingin menjaga halaman web Anda dari kesalahan input yang dapat mengakibatkan munculnya lubang keamanan yang dapat ditembus.

PHP untuk Programer

(6)

1. Include. Pada ASP, Anda dapat menyisipkan fi le ASP dengan perintah include fi le contoh.asp , sementara pada PHP Anda dapat menggunakan ? include contoh.php ; ? atau ? require contoh. php ; ? .

2. Page Time Out. Digunakan untuk mengatur jangka waktu response halaman web. Pada ASP Anda dapat menggunakan perintah Server.ScriptTimeOut 1000 , untuk PHP digunakan perintah set time limit 1000 .

3. Menghentikan proses. Ada kalanya Anda ingin menyisipkan perintah untuk menghentikan proses script untuk keperluan seperti melakukan debug program ataupun kondisi lain. Pada ASP Anda menggunakan perintah Response.end, sementara pada PHP Anda dapat menggunakan exit , die , ataupun die keterangan

4. Pindah Halaman. Salah satu perintah yang cukup sering digunakan programer adalah pindah antarhalaman web. Pada ASP, Anda menggunakan perintah Response. Redirect nextpage.asp , sementara pada PHP dapat digunakan perintah header location:nextpage.php .

Mana yang Lebih Baik?

Referensi

Dokumen terkait

Penelitian ini menunjukkan bahwa financial target x1, financial stability x2, ineffective monitoring x3, pergantian auditor x4, pergantian direksi x5, dan jumlah foto CEO x6

merupakan prasyarat untuk memahami konsep gerak parabola, maka siswa dituntut untuk memilki pemahaman konsep tersebut (Bektiarso,2012). Berdasarkan pariset pada tanggal 21 Maret

Blocher, Chen, dan Lin yang diterjemahkan oleh Ambarriani (2000) menyatakan, “ Cost driver adalah faktor-faktor yang menyebabkan perubahan biaya aktivitas, cost driver

Maka peranan notaris yang di maksudkan dalam akta kelahiran anak di luar kawin itu sendiri adalah suatu akta yang di buat oleh Notaris itu sendiri berupa Akta

[r]

Isolasi dan identifikasi bakteri termofilik penghasil kitinase dari sumber air panas Danau Ranau Suma- tera Selatan, diperoleh 2 isolat yang mampu meng- hasilkan kitinase dengan

Grafik Hasil Pengujian VIII RH - Meter Pada