CETAK ALL XII

69
` 1 Database MySQL atabase adalah tempat dimana kita akan “menyimpan” data yang dibutuhkan website. Mengapa harus menggunakan database? Bukankah lebih mudah dalam bentuk file seperti Anda biasa menyimpan data dokumen MS Word dalam sebuah file .doc? Untuk menjawabnya, Anda harus membaca dan mecobanya (baca : benar-benar mempraktekkannya) sampai tuntas. Lain ladang lain belalang, lain data lain pula databasenya. Suatu sistem manajemen database menyimpan, mencari, dan mengelola data. Suatu database adalah kumpulan data. Penyimpanan data bisa merupakan suatu masukan, atau baris yang menyusun daftar query. Database juga mampu menampung berjuta-juta record yang dapat menguraikan katalog, pembelian, pesanan dan berbagai jenis transaksi serta komunikasi data yang lain. Untuk data yang teramat besar dan kompleks, biasa digunakan Oracle, IBM DB2, PostgreSQL. Sedang untuk alasan kecepatan dan kesederhanaan, tetapi masih D Setelah membaca standar kompetensi ini, Anda diharapkan mampu : Memahami tentang database MySQL Memahami Bagaimana MySQL bekerja Memahami Tipe data dalam MySQL Menguji database MySQL Top Secret

Transcript of CETAK ALL XII

`

1

Database MySQL

atabase adalah tempat dimana kita akan “menyimpan” data yang dibutuhkan website. Mengapa harus menggunakan database? Bukankah lebih mudah dalam bentuk file seperti Anda biasa menyimpan data dokumen MS Word dalam sebuah file .doc? Untuk menjawabnya, Anda

harus membaca dan mecobanya (baca : benar-benar mempraktekkannya) sampai tuntas. Lain ladang lain belalang, lain data lain pula databasenya.

Suatu sistem manajemen database menyimpan, mencari, dan mengelola data. Suatu database adalah kumpulan data. Penyimpanan data bisa merupakan suatu masukan, atau baris yang menyusun daftar query. Database juga mampu menampung berjuta-juta record yang dapat menguraikan katalog, pembelian, pesanan dan berbagai jenis transaksi serta komunikasi data yang lain.

Untuk data yang teramat besar dan kompleks, biasa digunakan Oracle, IBM DB2, PostgreSQL. Sedang untuk alasan kecepatan dan kesederhanaan, tetapi masih

D

Setelah membaca standar kompetensi ini, Anda diharapkan mampu :

Memahami tentang database MySQL

Memahami Bagaimana MySQL bekerja

Memahami Tipe data dalam MySQL

Menguji database MySQL

Top S

ecret

Halaman 2 dari 69

mendukung data yang relatif besar, MySQL lah jawabannya. MySQL bisa didapatkan secara gratis di www.mysql.com baik untuk keperluan pribadi, maupun komersial. MySQL merupakan salah satu DBMS open source yang paling populer pada saat ini. Meskipun dahulu MySQL pernah dikritisi karena tidak memiliki beberapa fitur yang ada dalam DBMS pada umumnya, namun saat ini MySQL sudah banyak dikembangkan.

DATABASE MYSQL Pemilihan database MySQL bisa dikatakan tepat sebagai pilihan bagi yang membutuhkan tingkat keamanan tinggi dan low cost bahkan gratis. MySQL adalah cepat, mudah digunakan dan sebagai sistem manajemen database relasional (RDBMS) yang digunakan untuk database di beberapa website. MySQL adalah lebih mudah dalam instalasi dan penggunaannya dibanding pesaing komersialnya. Dari segi harga MySQL benar-benar murah. MySQL dikembangkan, dijual, dipasarkan dan didukung oleh MySQL AB, suatu perusahaan di Swedia. Lisensi dari perusahaan memiliki dua cara :

1. Open source software, MySQL tersedia via GNU GPL (General Public License) untuk versi gratisan. Siapa saja yang akan menggunakannya dapat mengembangkan software ini secara Cuma-Cuma.

2. Commercial license, MySQL tersedia dengan lisensi komersial bagi siapa saja yang menyukai GPL. Jika pengembang ingin menggunakan MySQL sebagai bagian dari software produk baru dan ingin menjual produk, dibanding melepasnya di bawah GPL, pengembang harus membeli lisensi komersial.

KEUNGGULAN MYSQL MySQL adalah suatu database yang sangat populer banyak dipilih oleh pengembang web. Kecepatan dan ukuran kecil membuatnya ideal untuk website. Ditambah lagi dengan fakta bahwa MySQL adalah open source yang berarti gratis. Dibawah ini beberapa keuntungannya adalah sebagai berikut :

¡ Cepat, tujuan utama dari pengembangan MySQL adalah kecepatan, sebagai konsekuensi software yang dirancang dari awal untuk kecepatan.

¡ Tidak mahal, MySQL adalah Cuma-Cuma dibawah lisensi GPL open source, sementara pembiayaan untuk lisensi komersialnya memiliki fitur keamanan tingkat tinggi.

¡ Mudah digunakan, Anda dapat membangun dan berinteraksi dengan database MySQL hanya dengan menggunakan sedikit pernyataan (statement) sederhana di dalam bahasa SQL, yang menjadi bahasa standar untuk komunikasi dengan RDBMS.

¡ Dapat berjalan di beberapas sistem operasi, MySQL dapat berjalan pada sistem operasi beragam, seperti Windows, Linux, Mac OS, kebanyakan beberapa variasi Linux (Solaris, AIX, dan DEC), FreeBSD, OS/2, dan lain sebagainya.

¡ Dukungan teknis secara luas tersedia, MySQL menyediakan dukungan Cuma-Cuma untuk pengguna via mailing list. Anda juga dapat membeli dukungan teknis dari MySQL AB.

Top S

ecret

Halaman 3 dari 69

¡ Aman, MySQL adalah sistem otorisasi fleksibel yang mengijinkan beberapa atau semua priviledge database ( hak akses untuk mencitpakan atau menghapus data) dalam pengguna khusus atau kelompok pengguna.

¡ Mendukung database yang besar, MySQL menangani database sampai 50 juta baris bahkan lebih. Batasan ukuran file secara default untuk tabel adalah sebesar 4GB, tetapi Anda dapat menaikkannya hingga 8TB.

¡ Customizable, lisensi GPL open source mengijinkan programer untuk memodifikasi software MySQL untuk menyesuaikan dengan lingkungan tertentu.

KONEKSI PHP KE MYSQL Sebelum Anda melakukan koneksi ke MySQL ada beberapa parameter yang harus kita ketahui terlebih dahulu. Untuk melakukan koneksi, dibutuhkan :

¡ Server name, merupakan nama server atau no. IP server dimana MySQL tersebut diinstall.

¡ Username, merupakan nama user yang diberikan wewenang untuk mengakses database dalam MySQL.

¡ Password, merupakan password yang dimiliki username dalam rangka autentifikasi.

¡ Database name, merupakan nama database dalam MySQL yang ingin kita akses.

Beberapa alasan yang menjadikan MySQL sangat populer adalah :

¡ Bersifat free dan open source (FOSS).

¡ Banyak digunakan di web hosting dengan paket yang sangat ekonomis.

¡ Mendukung berbagai storage engine yang bisa kita ganti pada level table.

¡ Memiliki komunitas pengguna yang luas dan saling membantu.

¡ Besar dan luasnya komunitas pengembang / developer MySQL.

¡ Waktu yang relatif singkat dalam siklus pengembangan dan perbaikan kesalahan.

¡ Arsitektur yang sangat baik dengan pilihan berbagai storage engine.

¡ Kaya akan fitur dan utilitas baik dari komunitas maupun korporasi.

¡ Memiliki support berbayar untuk pelanggan korporasi (corporate customers) sehingga terjamin.

MENGELOLA DATABASE Pengelolaan database mencakup query yang bertujuan untuk kepentingan organisasi database seperti misalnya :

¡ Melihat database yang ada

¡ Membuat database

¡ Menghapus database

¡ Membuat tabel

¡ Melihat isi tabel

¡ Memodifikasi tabel

Top S

ecret

Halaman 4 dari 69

¡ Menghapus tabel

¡ Menambah user

¡ Mengatur permission

¡ Menghapus user

MELAKUKAN CHECKING DATABASE MYSQL Untuk melihat database yang ada pada MySQL melalui command prompt dapat diketahui dengan mengetikkan perintah berikut : "SHOW DATABASES;" yang akan menampilkan database yang ada di dalam sistem MySQL. mysql> show databases ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | ---------------------+ 3 rows in set (0.00 sec)

Istilah database perlu dipahami dengan baik. Database di dalam MySQL adalah sekumpulan tabel-tabel. Jumlah tabel minimal satu buah, dan maksimalnya tidak terbatas. Semakin banyak tabel, maka akan semakin besar ukuran database Anda. Yang membatasi besarnya database adalah kemampuan sistem operasi kita, dan juga jumlah kapasitas ruang dalam haarddisk dan memori komputer Anda. Keterangan selengkapnya mengenai hal ini dapat dilihat pada situs MySQL (http://www.mysql.com).

Note

MEMBUAT DATABASE BARU Sudah ada 3 buah database di dalam sistem MySQL seperti pada contoh diatas. Sekarang buat sebuah database untuk latihan. Gunakan perintah "CREATE DATABASE" untuk membuat sebuah database. mysql> create database latihan1 ; Query OK, 1 row affected (0.02 sec) Anda perhatikan dari dua perintah MySQL di atas, bahwa setiap perintah selalu diakhiri dengan tanda ";" (titik-koma). Memang pada umumnya perintah-perintah MySQL diakhiri oleh tanda ";" ini. Perhatikan perintah dibawah ini bila ditulis tanpa tanda titik-koma ";'. mysql> create database latihan2 -> Sistem MySQL akan menampilkan tanda panah '->' yang menyatakan bahwa perintah MySQL tersebut dianggap belum selesai (karena belum diakhiri dengan tanda titik-koma ';'). Sekarang lengkapi perintah sebelumnya dengan tanda titik-koma ';'.

Top S

ecret

Halaman 5 dari 69

mysql> create database latihan2 -> ; Query OK, 1 row affected (0.02 sec) Maka akan kembali seperti perintah yang seharusnya digunakan. Sekarang periksa lagi hasil dari perintah di atas dengan "SHOW DATABASE". mysql> show databases ; +--------------------+ | Database | +--------------------+ | information_schema | | latihan1 | | latihan2 | | mysql | | test | +--------------------+ 5 rows in set (0.00 sec)

MENGHAPUS DATABASE Misalkan Anda tidak memerlukan database latihan2, maka Anda dapat menghapusnya dengan perintah DROP DATABASE. Hati-hati dalam menggunakan perintah DROP DATABASE ini, karena database beserta seluruh isinya akan lenyap tanpa bisa dikembaklikan lagi. Parahnya lagi, sistem MySQL tidak memberikan pertanyaan konfirmasi kepada Anda sebelum melakukan proses penghapusan database ini. mysql> drop database latihan2 ; Query OK, 0 row affected (0.02 sec) Anda bisa memeriksanya lagi hasil dari perintah di atas dengan "SHOW DATABASE". mysql> show databases ; +--------------------+ | Database | +--------------------+ | information_schema | | latihan1 | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec) Anda perhatikan, database latihan2 sudah menghilang. Sekali lagi, hati-hati dalam menggunakan perintah DROP DATABASE.

MEMILIH DAN MEMBUKA SEBUAH DATABASE Sekarang Anda pilih database "latihan1" dan buka dengan perintah "USE". mysql> use latihan1 ; Database changed

Top S

ecret

Halaman 6 dari 69

MELIHAT ISI SEBUAH DATABASE Untuk melihat apa isi dari sebuah database, kita gunakan perintah "SHOW TABLES". Mari coba. mysql> show tables ; Empty set (0.00 sec) Hasil dari perintah SHOW TABLES diatas adalah "Empty Set", yang berarti belum ada tabel apapun didalam database latihan1.

MEMBUAT TABEL BARU Kita akan membuat sebuah tabel baru dengan menggunakan perintah "CREATE TABLE". Contohnya sebagai berikut. mysql> create table karyawan ; ERROR 1113 (42000): A table must have at least 1 column Ternyata ada kesalahan yang terjadi. Untuk membuat sebuah tabel di MySQL, Anda harus menentukan minimal satu buah field/kolom di dalamnya. Sekarang ubah perintah di atas menjadi sebagai berikut. mysql> create table karyawan -> (nopeg INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -> nama VARCHAR(50) NOT NULL) -> ; Query OK, 0 rows affected (0.14 sec) Cukup panjang ya perubahan perintahnya. Mungkin sintaks perintahnya agak membingungkan pada awalnya. Tidak apa-apa, nanti akan dibahas artinya. Secara umum, Anda akan membuat sebuah tabel Karyawan dengan 2 buah kolom/field. Kolom pertama adalah NOPEG dengan jenis data bilangan bulat (INTeger), tanpa tanda negatif (UNSIGNED), yang akan bertambah nilainya secara otomatis (AUTO_INCREMENT), dan kolom NOPEG adalah kolom utama (PRIMARY KEY). Kemudian pada kolom kedua, NAMA akan menampung nama karyawan, dengan jenis data VARiabel CHARacter, lebar datanya dapat menampung maksimal 50 karakter, dan tidak boleh dikosongkan (NOT NULL). Kurang lebih seperti itulah ceritanya. Anda lihat kembali apa isi dari database latihan1 : mysql> show tables ; +--------------------+ | Tables_in_latihan1 | +--------------------+ | karyawan | +--------------------+ 1 row in set (0.00 sec) Dari hasil perintah di atas, dapat dilihat bahwa database latihan1 telah memiliki sebuah tabel yang bernama karyawan. Selanjutnya Anda akan lihat apa struktur dari tabel karyawan tersebut.

Top S

ecret

Halaman 7 dari 69

MELIHAT STRUKTUR TABEL Untuk melihat struktur sebuah tabel dapat menggunakan perintah "DESCRIBE" atau bisa juga menggunakan perintah "SHOW COLUMNS FROM". Contohnya berikut ini.

Atau menggunakan perintah "SHOW COLUMNS FROM..."

Tidak ada perbedaan hasil dari dua perintah di atas, bukan?. Sekarang Anda buat sebuah tabel baru lagi, namakan saja tabel contoh1. mysql> create table contoh1 -> (noid INT) -> ; Query OK, 0 rows affected (0.13 sec) Sekarang kita lihat berapa tabel yang ada di dalam database latihan1 mysql> show tables ; +--------------------+ | Tables_in_latihan1 | +--------------------+ | contoh1 | | karyawan | +--------------------+ 2 rows in set (0.00 sec)

MENGHAPUS TABEL Tabel contoh1 yang baru saja kita buat ini akan kita hapus kembali. Perintah untuk menghapus sebuah tabel dalam MySQL adalah "DROP TABLE". Cukup mirip dengan perintah menghapus database, bukan? Kita harus menggunakan perintah "DROP" ini dengan kehati-hatian yang tinggi. Sistem MySQL tidak akan memberikan peringatan awal atau konfirmasi untuk proses penghapusan tabel. Dan bila sudah dihapus, maka tabel tersebut tidak bisa lagi Anda kembalikan. Maka, berhatihatilah. mysql> drop table contoh1 ; Query OK, 0 rows affected (0.03 sec)

Top S

ecret

Halaman 8 dari 69

Anda lihat lagi tabel yang ada di dalam database latihan1 mysql> show tables ; +--------------------+ | Tables_in_latihan1 | +--------------------+ | karyawan | +--------------------+ 1 rows in set (0.00 sec)

MENGUBAH STRUKTUR SEBUAH TABEL Ada saatnya perlu mengubah struktur tabel yang pernah Anda buat sebelumnya. Pengubahan struktur bisa dalam hal penambahan kolom (ADD), pengubahan lebar dan jenis kolom (MODIFY), atau bisa saja penghapusan kolom dan indeks (DROP), penggantian nama kolom (CHANGE), pengantian nama tabel (RENAME), dan sebagainya. Apa pun juga yang Anda lakukan pada kolom tersebut tentu akan mempunyai dampak langsung pada data-data yang sudah ada. Nah, sekarang Anda perlu menambahkan beberapa kolom baru, yaitu kolom jenis kelamin, kota, tanggal lahir dan kodepos pada tabel karyawan. Perintah untuk mengubah struktur tabel adalah "ALTER TABLE". mysql> alter table karyawan -> ADD jenkelamin CHAR(2) NOT NULL, -> ADD kota VARCHAR(25) NOT NULL, -> ADD kodepos CHAR(5) NOT NULL, -> ADD tgllahir DATE -> ; Query OK, 0 rows affected (0.20 sec) Records: 0 Duplicates: 0 Warnings: 0 Sekarang Anda lihat hasilnya:

Mungkin ada baiknya kalau nama kolom nopeg Anda ubah aja menjadi noid. Begitupun dengan nama kolom jenkelamin, Anda ubah namanya menjadi jenkel saja. Dalam pengubahan kolom ini sebaiknya 'sifat-sifat' kolom yang asli tetap ditulis ulang. Misal bila kolom nopeg memiliki sifat 'auto_increment', maka selama sifat itu tetap dipertahankan, maka dia (auto_increment) harus ditulis ulang. Begini caranya, Mengubah kolom jenkelamin menjadi jenkel, sekaligus mengubah jenis datanya dari CHAR(2) menjadi CHAR(1). mysql> alter table karyawan -> change jenkelamin jenkel char(1) ; Query OK, 0 rows affected (0.24 sec) Records: 0 Duplicates: 0 Warnings: 0

Top S

ecret

Halaman 9 dari 69

Mengubah kolom nopeg menjadi noid, tanpa mengubah jenis datanya (tetap INT(10), dan tetap auto_increment): mysql> alter table karyawan -> change nopeg noid int(10) auto_increment -> ; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0 Sekarang lihat struktur tabel setelah pengubahan

Bagaimana, sudah sesuai dengan perubahan struktur yang Anda inginkan, bukan? Nah, sekarang bagaimana kalau Anda ingin mengubah nama tabel karyawan menjadi tabel pegawai. Silakan dicoba dibawah ini : mysql> alter table karyawan -> rename pegawai ; Query OK, 0 rows affected (0.09 sec) Anda lihat lagi hasilnya : mysql> show tables ; +--------------------+ | Tables_in_latihan1 | +--------------------+ | pegawai | +--------------------+ 1 row in set (0.00 sec) Sekarang kita kembalikan lagi nama tabel pegawai menjadi karyawan. Tetapi dengan perintah yang berbeda, yaitu "RENAME TABLE". mysql> rename table pegawai -> to karyawan -> ; Query OK, 0 rows affected (0.06 sec)

Top S

ecret

Halaman 10 dari 69

Jangan lupa untuk memeriksa hasilnya : mysql> show tables ; +--------------------+ | Tables_in_latihan1 | +--------------------+ | karyawan | +--------------------+ 1 row in set (0.00 sec) Nah, sampai sejauh ini tidak sulit kan untuk mempelajari MySQL? Sekarang mari lanjutkan dengan cara-cara pengisian data.

MENGISI DATA KE DALAM TABEL Kita akan mulai mengisi data karyawan ke dalam tabel. Perintah yang digunakan adalah "INSERT INTO". Caranya sebagai berikut : mysql> insert into karyawan -> (nama, jenkel, kota, kodepos, tgllahir) -> values -> ("Ahmad Zobari", "L", "Bandung","41011","1977-10-02") -> ; Query OK, 1 row affected (0.17 sec) Anda perhatikan bahwa dalam pemasukkan data yang berjenis karakter, selalu diapit dengan tanda kutip ganda ("). Bisa juga digunakan tanda kutip tunggal ('). Tetapi jangan dicampur dengan tanda kutip ganda dan tanda kutip tunggal, misal: "Ahmad Sobari'. Perhatikan juga pada penulisan tanggal lahir, menggunakan format "tahun-bulan-tanggal". Memang agak janggal. Tapi begitulah memang standar MySQL untuk format penulisan tanggal. Kalau Anda perhatikan lebih teliti, mengapa tidak memasukkan data untuk kolom "noid". Ini karena sifat kolom noid yang auto_increment, sehingga dia akan secara otomatis berisi dengan angka 1, dan terus bertambah 1, seiring dengan penambahan data. Nah, kita akan masukkan 4 buah record lagi dengan cara :

Sekarang Anda coba memasukkan data dengan cara yang lain lagi : mysql> insert into karyawan -> set nama="Mawar", -> jenkel="P", -> kota="Bogor", -> kodepos="12345", -> tgllahir="1985-07-07" -> ; Query OK, 1 row affected (0.05 sec)

Top S

ecret

Halaman 11 dari 69

Anda sudah memasukkan beberapa data. Bagaimana untuk melihat data-data yang sudah dimasukkan tadi.

MELIHAT DATA PADA TABEL Anda bisa melihat data yang ada di dalam tabel dengan menggunakan perintah "SELECT". Perintah SELECT adalah perintah yang akan sering Anda gunakan nantinya. Anda mulai dengan cara yang paling sederhana terlebih dahulu.

Perintah di atas menampilkan seluruh data yang ada di dalam tabel karyawan, karena menggunakan tanda asterik "*" di dalam perintah SELECT. Bagaimana kalau Anda hanya mau menampilkan kolom nama dan jenis kelamin saja. mysql> select nama, jenkel from karyawan -> ; +--------------+--------+ | nama | jenkel | +--------------+--------+ | Ahmad Sobari | L | | Sundariwati | P | | Ryan Cakep | L | | Zukarman | L | | Yuliawati | P | | Mawar | P | +--------------+--------+ 6 rows in set (0.00 sec) Kalau Anda hanya mau menampilkan data-data karyawan yang berjenis kelamin perempuan saja, bagaimana caranya. Cukup dengan menambahkan perintah "WHERE" pada "SELECT". mysql> select nama, jenkel from karyawan -> where jenkel="P" -> ; +-------------+--------+ | nama | jenkel | +-------------+--------+ | Sundariwati | P | | Yuliawati | P | | Mawar | P | +-------------+--------+ 3 rows in set (0.00 sec)

Top S

ecret

Halaman 12 dari 69

Anda tampilkan data berdasarkan urutan nama karyawan dengan menambahkan perintah "ORDER BY" pada "SELECT" :

Atau diurut berdasarkan kota :

Atau diurut berdasarkan tanggal lahir :

Nah kalo yang sekarang diurut berdasarkan nama, tetapi dengan urutan terbalik (descending). Cukup dengan menambahkan perintah "DESC" pada SELECT :

Top S

ecret

Halaman 13 dari 69

Bisa juga kalau yang diurutnya adalah tanggal lahir secara urutan terbalik (descending):

Ternyata Anda perlu menambahkan sebuah kolom field lagi, yaitu kolom gaji. Kolom Gaji merupakan kolom numerik yang menampung data gaji pokok karyawan per bulannya. Jadi, yang kita perlukan adalah jenis data INTeger dengan lebar data 12 digit. Penerapannya sebagai berikut dengan menggunakan perintah ALTER. mysql> alter table karyawan -> ADD gaji INT(12) NOT NULL default 0 -> ; Query OK, 6 rows affected (0.25 sec) Records: 6 Duplicates: 0 Warnings: 0 Anda periksa struktur tabelnya dulu :

Top S

ecret

Halaman 14 dari 69

Ya, kolom gaji sudah ditambahkan ke dalam tabel karyawan. Sekarang akan ditambahkan data gaji kepada tiap-tiap karyawan yang ada. Untuk memudahkan, kita tampilkan dulu semua data yang ada di tabel karyawan :

MENG-UPDATE DATA PADA TABEL Sekarang kita masukkan data gaji masing-masing karyawan dengan menggunakan perintah UPDATE. Kita mulai dari Ahmad Sobari, dengan noid=1 : mysql> update karyawan -> set gaji=1000000 -> where noid=1 ; Query OK, 1 row affected (0.09 sec) Rows matched: 1 Changed: 1 Warnings: 0 Periksa dulu hasilnya :

Top S

ecret

Halaman 15 dari 69

2

Database MySQL GUI

Atabase Mysql adalah salah satu dari banyak database yang beredar sekarang ini. Meskipun memiliki populeritas dan dapat diakatakan memiliki tingkat keamanan yang dapat Anda andalkan. Merupakan software sistem manajemen basis data SQL (bahasa Inggris: database

management system) atau DBMS yang multithread dan multi-user. MySQL AB membuat MySQL tersedia sebagai software gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

D

Setelah membaca standar kompetensi ini, Anda diharapkan mampu :

Memahami tentang database MySQL GUI

Memahami Bagaimana MySQL GUI bekerja

Memahami Tipe data dalam MySQL GUI

Menguji database MySQL GUI

Top S

ecret

Halaman 16 dari 69

MENJALANKAN MYSQL DI KOMPUTER ANDA Jika Anda menggunakan MS Windows 95/98/Me/2000/XP, MySQL for Windows dapat Anda download di www.mysql.com, dan kemudian install-lah seperti meng-install program pada umumnya. Karena MySQL telah umum digunakan untuk membuat web dengan dukungan PHP dan Web Server Apache, Anda dapat menginstall ke-TIGA software tersebut secara langsung dan mudah menggunakan PHPTriad yang dapat anda download di http://sourceforge.net/projects/phptriad/.

MYSQL SERVER Jika Anda membayangkan MySQL Server adalah sebuah aplikasi dengan mouse seperti aplikasi Windows pada umumnya, Anda sebaiknya memahami benar apa MySQL itu dan mencoba mempraktekkannya. MySQL server adalah sebuah daemon (program tersembunyi / service). Untuk menjalankan MySQL Server, jika Anda menggunakan PHPTriad, jalankan MYSQL-D (untuk MS Windows 9x/ME) atau MYSQL-D NT (untuk MS Windows NT/2000/XP) dari START MENU, melalui langkah sebagai berikut : Anda jalankan terlebih dahulu program Apache, untuk dapat menjalankan server PHP dan MySQL. Start – All Programs – AppServ – Control by Service – Apache Start

Gambar 2.1 Menjalankan Apache melalui start menu

Jika Anda sudah menjalankan program Apache melalui start menu, sekarang saatnya Anda jalankan MySQL melalui tab menu yang sama. Start – All Programs – AppServ – Control by Service – MySQL Start

Gambar 2.2 Menjalankan MySQL melalui start menu

Top S

ecret

Halaman 17 dari 69

Anda dapat melihat database melalui alamat root c:\AppServ\MySQL\data), seluruh folder yang terdapat pada direktori data adalah nama dari database. Sekarang Anda beralih ke browser dan ketikkan alamat url sebagai berikut : http://localhost/phpMyAdmin/

Gambar 2.3 Menjalankan MySQL melalui browser

MEMBUAT DATABASE Setelah Anda masuk ke halaman database MySQL, sekarang saatnya Anda membuat database. Masuk ke dalam halaman sebelah kanan didalam kolom Localhost.

Gambar 2.4 Membuat database baru

Sekarang Anda akan membuat database baru

Gambar 2.5 Membuat database baru Latihan 1

Gambar 2.6 Database baru yang sudah dibuat

NAMA DATABASE

Top S

ecret

Halaman 18 dari 69

Jika telah sukses maka pada kolom sebelah kanan akan terdapat dabatase Latihan 1 (0).

MEMBUAT TABEL Jika Anda telah membuat dabatase, sekarang saatnya mengisikan database dengan tabel.

M MMM

Gambar 2.7 Membuat tabel dalam database Berikan nama Tabel 1 dan 5 untuk Number of fields.

Mengisikan Field pada Tabel Seperti pada mengisikan tabel melalui command prompt, terdapat beberapa aturan dalam mengisikan tabel melalui browser. Saat ini akan diberikan contoh dimana isi dari salah satu tabel adalah akan muncul secara otomatis jika terjadi penambahan data di dalam tabel. Yaitu dengan memanfaatkan auto_increment.

Gambar 2.8 Memberikan field otomatis dalam tabel

Top S

ecret

Halaman 19 dari 69

Gambar 2.9 Memberikan field dalam tabel

Keterangan dari gambar diatas adalah pada bagian Type merupakan tipe data yang akan digunakan, Length/Values adalah panjang karakter yang akan Anda masukkan, pada bagian Null Anda pilih not null artinya tidak boleh dikosongi. Jika tidak ada penambahan field baru maka Anda dapat memilih tombol Save, jika dikehendaki penambahan field baru maka Anda dapat memilih tombol Go. Maka akan muncul seperti pada gambar dibawah.

Gambar 2.10 Tabel baru dengan field

Dapat Anda perhatikan pada bagian field noid, tercetak garis bawah dan pada bagian Extra terdapat tanda auto_increment. Hal tersebut menandakan bahwa nantinya field tersebut tidak membutuhkan inputan data karena field akan otomatis terisi sehingga ditetapkan sebagai primary key sebagai identitas yang tidak ada atribut yang sama.

INPUT DATA DALAM TABEL Setelah Anda selesai membuat tabel, tentu database yang sekarang ini masih kosong. sekarang saatnya mengisikan tabel tersebut dengan inputan melalui menu INSERT.

Gambar 2.11 Link Insert Field

Kemudian akan muncul menu inputan field, terdapat dua buah metode inputan yang akan digunakan untuk memasukkan data adalah pada bagian atas

Top S

ecret

Halaman 20 dari 69

Gambar 2.12 Menu Insert Field

Perlu Anda ketahui pada baris noid, tidak perlu Anda berikan inputan. Perhatikan gambar 2.13 berikut.

Gambar 2.13 Metode pengisian data dalam Field Anda abaikan tabel di bagian bawah, jika hanya untuk inputan data tidak dibutuhkan.

Jika Anda telah selesai mengisikan field tersebut sekarang giliran melakukan validasi. Jika dikehendaki penambahan field maka Anda pilih Insert another new row. Maka akan tetap pada halaman Insert Field. Anda isikan lagi selanjutnya hingga field yang Anda kehendaki sudah tercapai.

Gambar 2.14 Penambahan row dalam pengisian Field

Jika proses pengisian selesai maka akan muncul SQL query, seperti gambar 2.15.

Top S

ecret

Halaman 21 dari 69

Gambar 2.15 Proses pengisian field berhasil

Keterangan gambar adalah terdapat INSERT INTO ‘Latihan 1’.’tabel 1’, memiliki arti data akan dimasukkan ke datbase latihan 1 dalam tabel tabel 1. Values karakter yang dimasukkan dalam field dan NULL B berarti seluruh kolom field telah diisi.

Tugas : isikan sebanyak 5 buah inputan dalam field

note

MELIHAT ISI TABEL Setelah Anda selesai mengisikan field, sekarang saatnya melihat, pada link menu Anda pilih Browse.

Gambar 2.16 Link menu preview data

Maka seluruh inputan yang Anda masukkan akan dapat dilihat.

Gambar 2.17 Tabel yang telah diisikan data

Terdapat tanda gambar pensil artinya adalah Anda dapat melakukan editing dari data yang dimasukkan, kemudian gambar silang Anda akan menghapus data.

Untuk selanjutnya Anda akan menginputkan data menggunakan script PHP.

Top S

ecret

Halaman 22 dari 69

3

Koneksi PHP dan MySQL

eperti telah diutarakan sebelumnya bahwa pengoperasian data dengan menggunakan database seperti yang pemrograman basis data pada umumnya, mengikuti pola yang sama yaitu melalui urutan langkah sebagai

berikut :

¡ Membuka jalur koneksi antara apliaksi dengan database server.

¡ Memilih dan membuka database yang diinginkan, sekaligus mengaktifkan tabel yang dipilih.

¡ Mengirim perintah untuk mengambil, mengubah, dan atau menghapus data yang dibuat dalam bentuk query.

¡ Mengakses hasil pengambilan data dengan query yang telah dibuat.

¡ Mengakhiri sambungan.

s

Setelah membaca standar kompetensi ini, Anda diharapkan mampu :

Memahami proses koneksi PHP ke MySQL

Membuat script input data ke MySQL

Membuat script menampilkan data dari MySQL

Menguji database MySQL GUI

Top S

ecret

Halaman 23 dari 69

PENGUJIAN KONEKSI Untuk membuka sambungan antara script PHP dengan MySQL, dibutuhkan alamat server serta username dan password untuk database.

Sebagai catatan, untuk melihat password database yang ada, langkahnya adalah sebagai berikut :

use mysql;

show tables;

select user,password from user

akan muncul daftar user denga password yang dimilikinya, atau Anda dapat melihatnya melalui PHPMyAdmin pada database MySQL dengan menggunakan tabel user.

Gambar 3.1 Browse User pada Database MySQL

Hasilnya, dapat Anda lihat pada bagian user name dan password dari database yang akan diakses.

Gambar 3.2 Host, User, dan Password

Setelah mengetahui host, user dan password akan dibuka sambungan dengan menggunakan database, dengan menggunakan script berikut :

$dbServer = "localhost";

$dbUser = "root";

$dbPass = "123456";

$dbKoneksi = mysql_connect($dbServer, $dbUser, $dbPass);

Pada perintah diatas digunakan “root” dengan password, sesuai yang ada pada Gambar 3.2.

Top S

ecret

Halaman 24 dari 69

Selanjutnya dari contoh diatas bisa diketahui juga bahwa sambungan dengan database disimpan dalam variabel $dbKoneksi. Penyimpanan ke dalam variabel tersebut dimaksudkan agar dapat langsung digunakan pada langkah-langkah selanjutnya.

Untuk validasi koneksi, Anda apat melengkapi script diatas dengan perintah validasi koneksi sebagai berikut :

<?

$dbServer = "localhost";

$dbUser = "root";

$dbPass = "123456";

$dbKoneksi = mysql_connect($dbServer, $dbUser, $dbPass);

if ($dbKoneksi)

{ echo ("Koneksi Berhasil"); }

else

{ echo ("Koneksi Guagal"); }

?>

Gambar 3.3 Check Koneksi

Tampilan pada gambar diatas berarti bahwa koneksi yang dilakukan telah berhasil, dalam artian telah terjadi korelasi antara script PHP dan database MySQL.

MELAKUKAN ORGANISASI DATA Perintah untuk memasukkan data dibuat dengan menggunakan aturan SQL. Query (perintah) untuk memasukkan data adalah :

INSERT INTO Daftartamu VALUES(

'Joko Riyanto',

'Kendal',

'[email protected]',

'Keren sekali' );

Perintah diatas berarti akan memasukkan data-data nama, alamat, email dan pesan ke dalam tabel yang dibuat pada database. Selanjutnya perintah tersebut dapat dieksekusi secara lengkap di dalam script PHP sebagai berikut :

<?

// Mendefinisikan koneksi

$dbServer = "localhost";

$dbUser = "root";

$dbPass = "123456";

$dbKoneksi = mysql_connect($dbServer, $dbUser, $dbPass);

Top S

ecret

Halaman 25 dari 69

// Pengecekan dan validasi Koneksi

if ($dbKoneksi)

{ echo ("Koneksi Berhasil"); }

else

{ echo ("Koneksi Guagal"); }

// Memilih database

$dbName = "latihan1";

mysql_select_db($dbName);

// Mendefinisikan Query

$query = "INSERT INTO tabel1 (nama,alamat,kelas,sekolah,email) VALUES ('Joko Riyanto','Kendal','XII','SMK Nusaputera 1','[email protected]');";

// Hasil eksekusi query

$hasil = mysql_query($query);

if($hasil)

{

echo "<br>";

echo(mysql_affected_rows(). "nama ditambahkan ke sistem");

}

?>

Setelah Anda selesai menulis script diatas, Anda buat database dengan nama latihan1 kemudian buat tabel dengan nama tabel1 seperti pada gambar 3.4.

Gambar 3.4 Daftar setelah modifikasi dalam tabel1

Sebelum script dijalankan, lakukan pengecekan terlebih dahulu isi tabel 1.

Gambar 3.5 Daftar data sebelum ditambah dalam tabel1

Anda jalankan script diatas kemudian jika sukses maka pada browser akan muncul tampilan seperti pada gambar 3.6.

Top S

ecret

Halaman 26 dari 69

Gambar 3.6 Input data berhasil

Selanjutnya setelah script dijalankan, akan muncul data tambahan seperti berikut.

Gambar 3.7 Input data dalam Tabel Database

MEMBUAT COUNTER Counter merupakan sarana yang digunakan untuk melakukan penghitungan berapa kali halaman situs web yang Anda buat diakses atau dilihat oleh pengunjung.

Berikut akan dijelaskan dengan sederhana untuk membuat counter :

MEMBUAT DATABASE DAN TABEL langkah awal adalah membuat sebuah database dengan nama Pengunjung, dengan tabel didalamnya adalah sebuat tabel Counter sebagai berikut :

Gambar 3.8 Database dan Tabel untuk Counter

Tabel Counter dalam database Pengunjung digunakan untuk menyimpan data angka counter. Hanya ada satu field dengan nama id dan memiliki tipe data integer (10).

MEMBUAT SCRIPT COUNTER Langkah selanjutnya adalah membuat script PHP untuk menghitung counter. Perhatikan susunan source program di bawah ini.

<?

// buka koneksi ke database server

$database="Pengunjung";

$hostname="";

$username="root";

Top S

ecret

Halaman 27 dari 69

$password="123456";

if (!$dbh=mysql_connect($hostname,$username,$password))

{

echo mysql_error();

exit;

}

// select default database

mysql_select_db($database, $dbh);

$query="select id from counter";

$result=mysql_query($query);

$tcount=mysql_fetch_array($result);

if (!$tcount["id"]){

$result=mysql_query("insert into counter values (1)");

}

$tcount=$tcount["id"]+1;

$query1="update counter SET id=$tcount";

$result1=mysql_query($query1);

echo "<p align=center><font face=verdana size=2>".

"Terima kasih anda adalah pengunjung ke :".$tcount;echo "</font>";

?>

Jika script diatas dijalankan dengan akses database sudah sesuai maka akan muncul tampilan seperti berikut.

Gambar 3.9 Tampilan Counter

APLIKASI DATA BARANG Beberapa langkah yang harus disiapkan dalam membuat sebuah aplikasi penyimpanan data barang, antara lain adalah seperti berikut :

1. Membuat database dan tabel yang diperlukan.

2. Membuat form input data barang.

3. Membuat program untuk penyimpanan data dari form ke tabel.

Top S

ecret

Halaman 28 dari 69

4. Membuat program untuk membaca data dari tabel ke bentuk tampilan pada website.

MEMBUAT DATABASE DAN TABEL Anda buat database dalam MySQL buat database dengan nama data_barang dan tabel tabel_barang seperti pada gambar dibawah ini.

Gambar 3.10 Database data_barang

Tabel barang seperti pada gambar diatas memiliki struktur tabel atau field-field didalamnya sebagai berikut :

¡ Nomor – Integer (3)

¡ Kode – Integer (6)

¡ Nama – Varchar (10)

¡ Harga – Varchar (10)

¡ Satuan – Varchar (10)

MEMBUAT FORM INPUT DATA BARANG Setelah selesai membuat tabel, selanjutnya akan dibuat program dengan nama index.html. Sebagai form interface untuk memasukkan data barang.

Program atau script HTML, yang digunakan untuk ini adalah :

Simpan : index.htm

<html>

<head>

<title>Input Data Barang ke Database>></title>

<body>

<b>Silahkan isi Daftar Barang di bawah ini</b><BR><BR>

<form name="MyForm" method="post" action="KirimBarang.php">

Input Kode Barang <BR>

<input type="text" name="Kode" maxlength="30" size="40"> <BR>

Masukkan Nama Barang <BR>

<input type="text" name="Nama" size="40"> <BR>

Masukkan Harga Barang <BR>

<input type="text" name="Harga" size="40"> <BR>

Masukkan Satuan <BR>

<input type="text" name="Satuan" size="40"> <BR>

Top S

ecret

Halaman 29 dari 69

<BR> <BR>

<input type="submit" value="Simpan" name="B1" >

<input type="reset" value="Batal" name="B2" ><BR><BR>

<a href="LihatBarang.php"> Lihat Daftar Barang Yang ada </a>

</form>

</body>

</html>

Gambar 3.11 Form Input Barang

MEMBUAT PROGRAM PROCESSING MENYIMPAN DATA Setelah selesai membuat form input data barang, langkah selanjutnya adalah membuat program simpan barang. Setelah membuat halaman InputDataBarang.htm, sekarang anda masuk kedalam langkah processing. Jika pada halaman htm, target form adalah menuju ke KirimBarang.php. maka sekarang saatnya Anda membuat halaman tersebut, supaya transfer data dapat direalisasikan.

<?

//Mendefinisikan koneksi

$user="root";

$password="123456";

$db="data_barang";

// cek data kosong

if (!$Kode || !$Nama || !$Harga || !$Satuan)

{

echo("semua form harus diisi !!! <br>");

echo("<input type=button value=Back

onclick=\"self.history.back();\">");

}

else

{

Top S

ecret

Halaman 30 dari 69

mysql_connect('localhost',$user,$password);

mysql_select_db("$db") or die ("database tidak ditemukan");

mysql_query("insert into tabel_barang (Nomor,Kode,Nama,Harga,Satuan) values

('Nomor','$Kode','$Nama','$Harga','$Satuan')");

echo("Data berhasil dimasukkan !!! <br>");

echo("<a href='LihatBarang.php'> Chek Daftar Barang ");

}

?>

Simpan : KirimBarang.php

MEMBUAT SCRIPT SHOW DATABASE Untuk mengetahui hasil script yang dibuat, form input barang Anda isikan field tidak lengkap kemudian tekan tombol simpan, maka akan muncul tampilan seperti berikut.

Gambar 3.12 Pesan kesalahan input

Tekan tombol back untuk kembali.

Sekarang Anda akan kembali ke halaman index.html, masukkan lagi data yang akan Anda kirimkan ke database. Jika sukses maka akan muncul tampilan seperti berikut.

Gambar 3.13 Pesan Masuk Data Jika pesan diatas muncul, maka data sudah berhasil masuk ke dalam tabel di database.

<?

//Mendefinisikan Data pada MYSQL

$dbServer = "localhost";

$dbUser = "root";

$dbPass = "123456";

$koneksi = mysql_connect($dbServer, $dbUser, $dbPass);

//Chek Koneksi

if ($koneksi)

{ echo ("Koneksi Berhasil <BR>"); }

else

{ echo ("Koneksi Guagal"); }

Top S

ecret

Halaman 31 dari 69

//Buka database

$dbName = "data_barang";

//Chek Database

mysql_select_db($dbName) or die("Database no ketemu");

// membuat query

$query = "SELECT * FROM tabel_barang";

// mengeksekusi query

$hasil = mysql_query($query);

// mengakses hasil

$jumlahHasil = mysql_num_rows($hasil);

if ($jumlahHasil < 1)

{ echo("Data tidak ada dalam database <br>");}

else

{ echo("Data ada dalam database<br>");

// $data = mysql_fetch_array($hasil);

$passwordAsli = $data["password"];

if($password == $passwordAsli)

{echo("Password untuk user benar<br>"); }

else

{echo("Password untuk user salah<br>"); }

}

// Menampilkan hasil

echo "Tabelnya adalah sebagai berikut <br><br>";

if ($hasil==0)

{

echo "Error ".mysql_errno().":".mysql_error()."<br>";

}

else

echo "<table border=1><thead><tr>";

{

// Membuat Kolom

for ($i=0;$i<mysql_num_fields($hasil);$i++)

{ echo "<th>".mysql_field_name($hasil,$i)."</th>"; }

Top S

ecret

Halaman 32 dari 69

echo "</tr></thead><tbody>";

// Menampilkan hasil

for ($i=0;$i<mysql_num_rows($hasil);$i++)

{

echo "<tr>";

$row_array=mysql_fetch_row($hasil);

for ($j=0;$j<mysql_num_fields($hasil);$j++)

{

echo "<td>".$row_array[$j]."</td>";

}

echo "</tr>";

}

}

echo "<tbody></table>";

?>

<a href="Index.htm"> Kembali Ke Menu Input Data </a>

Simpan : LihatBarang.php

Langkah terakhir anda tinggal membuat halaman untuk menampilkan hasil inputan atau menampilkan data yang sudah masuk ke dalam tabelbarang. Dalam php script yang digunakan adalah mysql_fetch_row.

Gambar 3.14 Data barang masuk

INPUT DATA MENGGUNAKAN KOMPONEN FORM Metode input – proses – output dengan menggunakan HTML sebagai halaman interfacenya, PHP sebagai halaman PROCCESING dan konektivitas antara PHP & MySQL sebagai input data dan show data dalam database. Sebelumnya buatlah terlebih dahulu database MySQL dengan ketentuan sebagai berikut :

Nama database = Anda, nama tabel Biodata.

Top S

ecret

Halaman 33 dari 69

Gambar 3.15 Database Anda

FORM INPUT DATA Halaman interface dengan menggunakan script html digunakan untuk membuat tampilan menu untuk menginputkan data. Pembuatan form ini bisa Anda buat melalui design ataupun code.

<html>

<head>

<title>Input Data Barang ke Database>></title>

<body>

<b>Silahkan isi Daftar Barang di bawah ini</b><BR><BR>

<form name="MyForm" method="post" action="Kirim_Biodata.php ">

Jenis Kelamin<br>

<input name="Kelamin" type="radio" value="Cowok">Cowok

<input name="Kelamin" type="radio" value="Cewek">Cewek

<input name="Kelamin" type="radio" value="Bingung">Bingung ? <BR>

Artis Favorit Anda ? <BR>

<input type="checkbox" name="Artis" value="Mamik">Mamik

<input type="checkbox" name="Artis" value="Gogon">Gogon

<input type="checkbox" name="Artis" value="Parto">Parto<BR>

Anda dilahirkan oleh siapa ??<BR>

<select name="Lahir">

<option>--Oleh Siapa--</option>

<option value="Bapak">Bapak</option>

<option value="Ibu">Ibu</option>

<option value="Paman">Paman</option>

<option value="Tante">Tante</option>

</select><br>

Jelaskan mengenai diri Anda ? <BR>

<textarea name="Pesan" cols="30" rows="5"></textarea><BR><BR>

<input type="submit" value="Simpan" name="B1" >

<input type="reset" value="Batal" name="B2" ><BR><BR>

<a href=" Lihat_Biodata.php"> Lihat Daftar Biodata Yang ada

Top S

ecret

Halaman 34 dari 69

</form>

</body>

</html>

simpan = Biodata.htm

Gambar 3.16 Menu Form

SCRIPT PROCESSING INPUT DATA <?

//Mendefinisikan koneksi

$user="root";

$password="123456";

$db="Anda";

// cek data kosong

if (!$Kelamin || !$Artis || !$Lahir || !$Pesan)

{

echo("semua form harus diisi !!! <br>");

echo("<input type=button value=Back onclick=\"self.history.back();\">");

}

else

{

mysql_connect('localhost',$user,$password);

mysql_select_db("$db") or die ("database tidak ditemukan");

mysql_query("insert into biodata (Nomor,Kelamin,Artis,Lahir,Pesan) values ('Nomor','$Kelamin','$Artis','$Lahir','$Pesan')");

echo("Data berhasil dimasukkan !!! <br>");

echo("<a href=' Lihat_Biodata.php ‘> Chek Daftar Biodata");

}

?>

Simpan = Kirim_Biodata.php

Top S

ecret

Halaman 35 dari 69

SCRIPT TAMPIL DATA <?

//Mendefinisikan Data pada MYSQL

$dbServer = "localhost";

$dbUser = "root";

$dbPass = "123456";

$koneksi = mysql_connect($dbServer, $dbUser, $dbPass);

//Chek Koneksi

if ($koneksi)

{ echo ("Koneksi Berhasil <BR>"); }

else

{ echo ("Koneksi Guagal"); }

//Buka database

$dbName = "Anda";

//Chek Database

mysql_select_db($dbName) or die("Database no ketemu");

// membuat query

$query = "SELECT * FROM biodata";

// mengeksekusi query

$hasil = mysql_query($query);

// mengakses hasil

$jumlahHasil = mysql_num_rows($hasil);

if ($jumlahHasil < 1)

{ echo("Data tidak ada dalam database <br>");}

else

{ echo("Data ada dalam database<br>");

// $data = mysql_fetch_array($hasil);

$passwordAsli = $data["password"];

if($password == $passwordAsli)

{echo("Password untuk user benar<br>"); }

else

{echo("Password untuk user salah<br>"); }

}

// Menampilkan hasil

Top S

ecret

Halaman 36 dari 69

echo "Tabelnya adalah sebagai berikut <br><br>";

if ($hasil==0)

{

echo "Error ".mysql_errno().":".mysql_error()."<br>";

}

else

echo "<table border=1><thead><tr>";

{

// Membuat Kolom

for ($i=0;$i<mysql_num_fields($hasil);$i++)

{ echo "<th>".mysql_field_name($hasil,$i)."</th>"; }

echo "</tr></thead><tbody>";

// Menampilkan hasil

for ($i=0;$i<mysql_num_rows($hasil);$i++)

{

echo "<tr>";

$row_array=mysql_fetch_row($hasil);

for ($j=0;$j<mysql_num_fields($hasil);$j++)

{

echo "<td>".$row_array[$j]."</td>";

}

echo "</tr>";

}

}

echo "<tbody></table>";

?>

<a href="Biodata.htm"> Kembali Ke Menu Input Data </a>

Simpan = Lihat_Biodata.php

IKLAN <?php $md=md5("JOKOriyanto"); print "HASIL HASH MD5 DARI 'JOKOriyanto' adalah $md"; ?> Dalam PHP terdapat salah satu fitur keamanan yaitu dengan menggunakan md5. Yaitu konversi huruf, angka atau simbol kemudian oleh PHP akan dijadikan kombinasi huruf dan angka.

Top S

ecret

Halaman 37 dari 69

Gambar 3.17 Tampilan View Database

MEMBUAT SURAT DENGAN PHP Seperti halnya beberapa program dengan memanfaatkan database sebagai penampung datanya, dan beberapa software report yang digunakan. PHP dapat memanfaatkan program atau aplikasi bawaan OS seperti halnya Notepad. Namun kali ini Anda akan menggunakan MS Word untuk menampilkan hasil inputan.

FORM UNDANGAN <h1>Buat Surat Undangan</h1>

<form method="post" action="surat.php">

<table>

<tr><td>Nama Penerima Surat</td><td><input type="text" name="nama"></td></tr>

<tr><td>Alamat Penerima Surat</td><td><input type="text" name="alamat"></td></tr>

<tr><td>Tanggal Acara</td><td><input type="text" name="tanggal"></td></tr>

<tr><td>Tempat Acara</td><td><input type="text" name="tempat"></td></tr>

<tr><td>Waktu Acara</td><td><input type="text" name="waktu"></td></tr>

<tr><td></td><td><input type="submit" name="submit" value="Submit"></td></tr>

</table>

</form> Simpan = surat.htm

Gambar 3.18 Form Undangan

Top S

ecret

Halaman 38 dari 69

SCRIPT PROCESSING DATA <?php

$nama = $_POST['nama'];

$alamat = $_POST['alamat'];

$tanggal = $_POST['tanggal'];

$tempat = $_POST['tempat'];

$waktu = $_POST['waktu'];

$document = file_get_contents("surat.rtf");

$document = str_replace("%%NAMA%%", $nama, $document);

$document = str_replace("%%ALAMAT%%", $alamat, $document);

$document = str_replace("%%TGL%%", $tanggal, $document);

$document = str_replace("%%TEMPAT%%", $tempat, $document);

$document = str_replace("%%WAKTU%%", $waktu, $document);

header("Content-type: application/msword");

header("Content-disposition: inline; filename=undangan.rtf");

header("Content-length: " . strlen($document));

echo $document;

?>

Simpan = surat.php Script diatas jika dijalkankan maka akan muncul kotak dialog File Download. Anda pilih open untuk melihat hasil input yang sudah Anda masukkan dalam form undangan tadi.

Gambar 3.19 Kotak Dialog File Download

MEMBUAT VIEW DATA DALAM MS. WORD Sekarang Anda buat dalam MS. Word atau Wordpad untuk meletakkan hasil inputan yang Anda masukkan pada Form Undangan. Kemudian simpan dokumen tersebut denghan nama surat.rtf.

Top S

ecret

Halaman 39 dari 69

Gambar 3.20 Form Undangan

MEMBUAT POLLING DENGAN PHP Salah satu fasilitas yang ada di beberapa situs adalah digunakannya poling atau angket untuk mengetahui pendapat dari pengunjung situsnya. Hal ini sangat diperlukan untuk mengetahui kualitas atau mendapatkan korespondensi dari pengunjung situs.

Mari kita mulai membuat polling. Siapkan 4 file berikut : 1. ‘asp.txt’ lalu ketikkan angka 0 di dalamnya. 2. ‘php.txt’ lalu ketikkan angka 0 di dalamnya. Ingat.. . Jangan lupa ketikkan angka 0 pada 'asp.txt' dan 'php.txt'. INGAT ANGKA NOL bukan huruf O.

3. File gambar ‘poll.jpg’ dengan ukuran 100x10px. Ini untuk membuat persentase polling.

Yang ini juga penting. Buat gambar 'poll.jpg' dengan photoshop/paint atau software pengolah gambar lainnya. Yang penting bernama ‘poll.jpg’. Pada gambar tersebut berikan warna pada gambar tersebut.

4. ‘index.php’ lalu ketikkan script berikut :

<title>Polling dengan operasi file</title>

<style type="text/css">

<!--

.style1 {font-size: 24px}

.style2 {color: #0000FF}

-->

</style>

<form name="form1" method="post" action="index.php?isi=polling">

<p>

<label><span class="style1">Polling</span></label>

</p>

<p>

Top S

ecret

Halaman 40 dari 69

<label>Bahasa pemrograman web apa yang anda suka ? </label>

</p>

<p>

<label>

<input type="radio" name="vote" value="php">

PHP</label>

<br>

<label>

<input type="radio" name="vote" value="asp">

ASP</label>

</p>

<p>

<label>

<input type="submit" name="Submit" value="Submit">

</label>

<br>

</p>

</form>

<?php

if(@$_GET['isi'])

{

$vote = $_POST['vote'];

if ($vote == "") // jika belum menentukan pilihan

{

print "<font color=red>Anda belum mengisi polling</font>";

exit;

}

if($vote == "php") // menambah 1 untuk pilihan php

{

$buka = fopen("php.txt","r");

$baca = fgets($buka,65535);

fclose($buka);

$buka = fopen("php.txt","w");

$baca++;

fwrite($buka,$baca);

fclose($buka);

}

if($vote == "asp") //menambah 1 untuk pilihan asp

Top S

ecret

Halaman 41 dari 69

{

$buka = fopen("asp.txt","r");

$baca = fgets($buka,65535);

fclose($buka);

$buka = fopen("asp.txt","w");

$baca++;

fwrite($buka,$baca);

fclose($buka);

}$buka_php = fopen("php.txt","r");

$bacaphp = fgets($buka_php,65535); //membaca nilai php yang telah di vote

fclose($buka_php);

$buka_asp = fopen("asp.txt","r");

$bacaasp = fgets($buka_asp,65535); //membaca nilai asp yang telah di vote

fclose($buka_asp);

$total_pemilih = $bacaphp+$bacaasp; //jumlah pemilih

$persentase_php = ($bacaphp/$total_pemilih)*100;

$persentase_asp = ($bacaasp/$total_pemilih*100);

print "Total pemilih : $total_pemilih <br><br>";

print "PHP : "; printf ("%1.0f","$persentase_php"); print " % <img src=poll.jpg

width=$persentase_php height=10> $bacaphp pemilih<br>";

print "ASP : "; printf ("%1.0f","$persentase_asp"); print " % <img src=poll.jpg

width=$persentase_asp height=10> $bacaasp pemilih<br>";

}

?>

Gambar 3.21 Halaman Polling

Top S

ecret

Halaman 42 dari 69

POLLING TANPA MY SQL Selain memanfaatkan database PHP juga dapat berintegrasi dengan aplikasi lain non basis data. Salah satunya adalah Notepad. Penggunaan Notepad disini adalah untuk menampung hasil inputan dari script PHP yang dijalankan pada browser.

SCRIPT PHP FORM POLLING <?php

if(file_exists("polling.txt")) {

echo "<form method=post action=\"polling1.php\">";

$file = fopen("polling.txt",'r');

$poll = fgets($file,4000);

fclose($file);

$data = explode("+",$poll);

echo $data[0]."<br>";

$pilihan = explode(";",$data[1]);

for($i = 0;$i < count($pilihan);$i++){

if($i == 0){

echo "<input type=radio name=opt value=$i checked>$pilihan[$i] <br>";

}else{

echo "<input type=radio name=opt value=$i>$pilihan[$i]<br>";

}

}

echo "<input type=submit value=Vote>";

echo "</form>";

} else {

echo "Tidak ada polling";

}

?>

Simpan = polling.php

SCRIPT VIEW POLLING PHP <?php

session_start();

if(file_exists("polling.txt")) {

$file = fopen("polling.txt",'r');

$poll = fgets($file,4000);

fclose($file);

Top S

ecret

Halaman 43 dari 69

$data = explode("+",$poll);

$pilihan = explode(";",$data[1]);

$counter = explode(";",$data[2]);

if (!$_SESSION['status']) {

$_SESSION['status']="pilih";

$counter[$opt]++;

$file = fopen("polling.txt",'w');

$poll = $data[0]."+".$data[1]."+";

for($i = 0;$i < count($pilihan);$i++) {

$poll .= $counter[$i].";";

}

fputs($file,$poll);

fclose($file);

}

echo $data[0],"<br>Pilihan anda $pilihan[$opt]<br>";

for($i = 0;$i < count($pilihan); $i++){

$jml=$jml+$counter[$i];

}

echo "<table>

<tr>

<th>Jawaban</th>

<th>Persentase</th>

<th></th>

<th>Vote</th>

</tr>";

for($i = 0;$i < count($pilihan); $i++){

if($jml==0){

$j=1;

}else{

$j=$jml;

}

$hasil_vote=sprintf("%01.1f",(($counter[$i]/$j)*100));

echo "<tr>

<td>$pilihan[$i]</td>

<td>

<table>

Top S

ecret

Halaman 44 dari 69

<tr>

<td bgcolor=\"$pilihan[$i]\" width=$hasil_vote>&nbsp;</td>

</tr>

</table>

</td>

<td>$hasil_vote %</td>

<td align=center>$counter[$i]</td>

</tr>";

}

}

?>

Simpan = polling1.php

NOTEPAD SEBAGAI PENAMPUNGAN DATA Kemudian Anda gunakan Notepad untuk menampung data, dalam aplikasi Notepad tersebut Anda ketikkan mendatar sebagai berikut :

Apa pendapat Anda mengenai buku ini? + Bagus;Lumayan;Biasa aja;Kurang

+1;2;0;0;

Setelah itu Anda simpan dengan nama polling.txt.

Gambar 3.22 Halaman Polling

Gambar 3.23 Halaman Hasil Polling

Top S

ecret

Halaman 45 dari 69

MULTI LANGUAGE SITE Dalam suatu situs biasanya terdapat fasilitas pilihan bahasa yang bertujuan untuk mempermudah para pengunjung situs dalam mengunjungi situs tersebut mudah dalam memahami isi web tersebut. Berikut akan Anda pelajari tentang bagaimana membuat multi language pada suatu web site.

SCRIPT MENU BAHASA PHP <?php

session_start();

$_SESSION['bhs'] = $a;

?>

<script language="JavaScript" type="text/JavaScript">

<!--

function MM_jumpMenu(targ,selObj,restore){ //v3.0

eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

if (restore) selObj.selectedIndex=0;

}

//-->

</script>

<form name="form" method="post" action="?bhs=">

Pilih Bahasa :

<select name="menu" onChange="MM_jumpMenu('parent',this,0)">

<?php

if(($_GET['bhs'] == "indonesian") || (empty($_GET['bhs']))) {

?>

<option value="?bhs=indonesian" selected>Indonesian</option>

<option value="?bhs=djawa">Djawa</option>

<?php

} else {

?>

<option value="?bhs=indonesian">Indonesian</option>

<option value="?bhs=djawa" selected>Djawa</option>

<?php

} // end else

?>

</select>

</form>

<p>

<?php

Top S

ecret

Halaman 46 dari 69

if($_GET['bhs'] == "djawa") {

$a = include "language/djawa.php";

} else if ($_GET['bhs'] == "indonesian") {

$a = include "language/indonesian.php";

} else {

$a = include "language/indonesian.php";

}

echo "$language $welcome<br>$question<br>$home";

?>

Simpan = Bahasa.php

SCRIPT BAHASA JAWA PHP <?php

$welcome = "Sugeng Rawuh";

$question = "Monggo Ngaturaken Badhe Tanglet";

$home = "Dalem";

?>

Simpan = djawa.php

Gambar 3.24 Pilihan Bahasa Jawa

SCRIPT BAHASA INDONESIA PHP <?php

$welcome = "Selamat Datang";

$question = "Silakan Mengajukan Pertanyaan";

$home = "Tampilan Utama";

?>

Simpan = indonesia.php

Top S

ecret

Halaman 47 dari 69

Gambar 3.25 Pilihan Bahasa Indonesia

VARIABEL DARI FORM HTML Untuk mengirimkan variabel dari satu halaman ke halaman lainnya atau kehalaman itu sendiri biasa digunakan form HTML. Form HTML akan mengirimkan variabel ke webserver, sehingga di webserver variabel tersebut menjadi input yang akan diolah oleh script PHP yang anda buat. Berikut adalah contoh penggunaan variabel dalam form :

<?

if ($submit){

echo "Nama : $nama <br/>";

echo "Email : $email<br/>";

echo "Alamat : $alamat<br/>";

echo "Pesan: <br/> $pesan<br/>";

echo "<hr/>";

}

?>

<html>

<head>

<title>Variabel dari Form</title>

</head>

<body>

<form action="form_variabel.php" method="post">

<pre>

Nama : <input name="nama" type="text">

Email : <input type="text" name="email">

Alamat : <input type="text" name="alamat">

Pesan :

<textarea name="pesan" cols="20" rows="5"></textarea>

<input type="submit" name="submit" value="Submit"> <input type="reset" name="Submit2" value="Reset">

</pre>

</form>

Top S

ecret

Halaman 48 dari 69

</body>

</html>

Gambar 3.26 Pemanggilan Variabel menggunakan Form

MEMBUAT FORM LOGIN Website atau suatu program dapat dikatakan multiuser atau bisa digunakan oleh lebih dari satu pengguna, biasanya terdapat hak akses atas halaman yang dapat dikunjungi. Dengan menggunakan PHP Anda dapat membuat halaman form login yang digunakan sebagai membedakan hak akses antara pengunjung tamu dan admin.

INTERFACE FORM LOGIN Simpan = Login.html

<html>

<head>

<title>Halaman Login ... </title>

</head>

<body>

<table border=1 align=center>

<form method="post" action="cek.php

<tr><td>username</td><td><input type=text name=username></tr>

<tr><td>password</td><td><input type=password name=password></tr>

<tr><td></td><td>

<input type=submit name=submit value=Enter></tr>

</form>

</table>

</body>

</html>

Top S

ecret

Halaman 49 dari 69

Gambar 3.27 Halaman Form Login

SCRIPT PHP PROCESSING Simpan = config.php

<?php

$host = "localhost";

$username = "root";

$password = "123456";

$dbname = "userdb";

$connection = mysql_connect($host, $username, $password) or die("Kesalahan Koneksi ... !!");

mysql_select_db($dbname, $connection) or die("Databasenya Error");

?>

Simpan = cek.php <?php

session_start();

include "config.php";

$username = $_POST['username'];

$password = $_POST['password'];

//$passwordhash = md5($password); // mengenkripsikannya untuk dicocokan dengan database

$perintahnya = "SELECT username, password FROM tbl_user WHERE username = '$username'";

$jalankanperintahnya = mysql_query($perintahnya);

$ada_apa_enggak = mysql_num_rows($jalankanperintahnya);

if ($ada_apa_enggak >= 1 ) {

$_SESSION['username'] = $username ;

header("location: main.php"); }

Else

header("location: login.html");

?>

Top S

ecret

Halaman 50 dari 69

Simpan = main.php <style type="text/css">

<!--

body {

background-color: #00FF00;

}

-->

</style>

<?php

echo "SELAMAT DATANG, USERNAME DAN PASSWORD ANDA SANGAT TEPAT SEKALI";

print "<br><a href=logout.php?maukeluar=iya>logout</a>";

?>

Simpan = logout.php <?php

session_start();

if ($REQUEST['maukeluar'] == "iya")

{

if(ISSET($_SESSION['username']))

{

UNSET($_SESSION['username']);

}

}

header("location: login.html");

session_destroy();

?>

Gambar 3.28 Halaman validasi login

Top S

ecret

Halaman 51 dari 69

4

Manipulasi data MySQL

P hp seperti kita ketahui ialah bahasa pemrograman berbasis web. Bahasa ini

mempunyai kelebihan yaitu kompabilitasnya dengan berbagai macam jenis database , dukungan dengan berbagai macam jenis sistem operasi. Php lebih cocok dan umum digunakan jika di gabungkan dengan database mysql. Mysql dengan Php seakan-akan dua hal yang tidak dapat dipisahkan. Tentunya untuk dapat menggunakan keduanya dibutuhkan tingkat kemampuan programming tertentu. Tulisan ini ditujukan bagi anda yang ingin mulai menyentuh dan mengembangkan aplikasi berbasis Php mysql. Syarat yang harus dikuasai terlebih dahulu ialah anda harus memahai benar-benar HTML.

Setelah membaca standar kompetensi ini, Anda diharapkan mampu :

Memahami proses view data Memahami proses insert data Memahami proses update data Memahami proses delete data Memahami proses searching data

Top S

ecret

Halaman 52 dari 69

MANIPULASI DATABASE MYSQL DENGAN PHP

Materi artikel :

• Membuat database mysql dengan PhpMyadmin

• View

• Insert

• Edit

• Delete

• Searching

• Membuat Hitcounter dengan file teks

Php seperti kita ketahui ialah bahasa pemrograman berbasis web. Bahasa ini mempunyai kelebihan yaitu kompabilitasnya dengan berbagai macam jenis database, dukungan dengan berbagai macam jenis sistem operasi. Php lebih cocok dan umum digunakan jika di gabungkan dengan database mysql. Mysql dengan Php seakan-akan dua hal yang tidak dapat dipisahkan. Tentunya untuk dapat menggunakan keduanya dibutuhkan tingkat kemampuan programming tertentu. Tulisan ini ditujukan bagi anda yang ingin mulai menyentuh dan mengembangkan aplikasi berbasis Php mysql. Syarat yang harus dikuasai terlebih dahulu ialah anda harus memahai benar-benar HTML. Diasumsikan bahwa php sudah dapat berjalan di browser dan juga anda sudah menginstall MySql. Sekarang buat direktori di folder C:\apache\htdocs, buat direktori dengan nama ikc; sehingga direktorinya c:\apache\htdocs\ikc\. Untuk mengaksesnya anda dapat membuka browser dan mengetikkan http://localhost/ikc/ Tutorial ini akan membahas php dan mysql dimana akan dicontohkan bagaimana menghubungkan antara database mysql dengan php, bagaimana menampilkan isi database, update database, hapus database, search database serta berbagai bentuk aplikasi lainnya seperti membuat login dengan php dengan mysql, chat, polling.

MEMBUAT DATABASE MYSQL DENGAN PHPMYADMIN Pertama kita akan membuat database di mysql dan menampilkannya di browser tentunya masih menggunakan Php. Untuk membuat database di mysql sebaiknya gunakan PhpMyadmin. Jika anda menggunakan phptriad untuk mengakses phpmyadmin, pada browser ketikkan http://localhost/phpmyadmin/.

Pertama kali buat database mysql dengan phpmyadmin. Beri nama databasenya ikc.

Gambar 4.1 Database Baru

Setelah itu klik create. Database baru sudah terbentuk, sekarang kita tinggal membuat tabelnya. Contoh pertama kita buat tabel sederhana yaitu tabel pengunjung pada sebuah halaman web.

Top S

ecret

Halaman 53 dari 69

Gambar 4.2 Tabel Pengunjung

Karena kita akan membuat tabel dengan nama pengunjung yang mempunyai field sejumlah 4 yaitu : id, nama, email dan situs. Maka masukkan pengunjung pada dan 4 pada fields. Klik Go.

Gambar 4.3 Membuat field pd database

Selanjutnya ialah mengisi field pada database. Field pertama masukkan id, Tabel 1: Field pada tabel pengunjung

Gambar 4.4 id di set auto_increement dan primary

Jangan lupa bahwa php case sensitif jadi sebaiknya isikan semua field dengan huruf kecil termasuk id. Pada gambar 4 id di setting auto_increement dan

Top S

ecret

Halaman 54 dari 69

Primary. Auto_increement artinya setiap pengisian record (data ) otomatis nilai id akan di naikkan. Primary artinya memberi kunci yang unik yang dapat di jadikan pengenal dalam tabel (dalam hal ini tabel pengunjung). Angka lebih baik di jadikan kunci utama dari sebuah tabel. Karena angka itu unik dan penggunaannya pun bisa di urutkan sehingga tidak akan ada duplikasi data. Dengan kata lain hanya dengan id kita nantinya akan dapat melakukan editing, deleteing, update pada record. Jika sudah klik save. Nantinya hasil tabel pengunjung seperti gambar 4.5 :

Gambar 4.5 Tabel pengunjung

Browse untuk melihat isi table (record) Insert untuk mengisi table Drop Menghapus field Primary, Index, Unique Menjadikan primary, index atau unique Isi database tersebut dengan beberapa records, klik Insert untuk mengisinya :

Gambar 4.6 Isi Tabel

Karena id auto_increment maka id tidak perlu diisi. Jika sudah kli Save. Untuk melihat record klik Browse :

Gambar 4.7 Browse tabel

Apabila anda tidak menggunakan PhpMyadmin untuk administrasi database MySql maka script yang dapat anda ketikkan di mysql atau paste di jendela query : CREATE TABLE `pengunjung` (`id` INT(5) not null AUTO_INCREMENT, `nama` VARCHAR(75) not null, `email` VARCHAR(75) not null, `situs` VARCHAR(75) not null , PRIMARY KEY (`id`))

Top S

ecret

Halaman 55 dari 69

VIEW Database sudah terbentuk, sekarang kita akan mulai bagaimana caranya menampilkan isi tabel tersebut pada browser yang tentunya menggunakan Php. Pertama jangan lupa start dulu apache dan mysql anda. view.php

<?

$host = localhost;// alamat atau host

$user = root; // username

$pass = "123456"; // password

$koneksi = mysql_connect("$host","user",$pass);

mysql_select_db("ikc",$koneksi);

$query = mysql_query("select * from pengunjung",$koneksi);

$jumlah = mysql_num_rows($query);

echo "<center>Daftar Pengunjung</center>";

echo "Jumlah pengunjung : $jumlah";

while($baris =mysql_fetch_array($query))

{

echo "<br>";

echo $baris[0];

echo "<br>";

echo "Nama : ";

echo $baris[1];

echo "<br>";

echo "Email : ";

echo $baris[2];

echo "<br>";

echo "Homepage :";

echo $baris[3];

}

?> Penjelasan : ¡ 1. Php selalu di awali oleh tag <? Dan di akhiri tag ?>. Seperti pada baris ke 1

dan baris ke 32. ¡ 2. Baris ke 7, merupakan cara untuk melakukan koneksi ke mysql. Syarat

koneksi ke Mysql ialah memasukkan nama host / IP, username dan tentunya

Top S

ecret

Halaman 56 dari 69

password. Secata default koneksi ke mysql seperti script diatas (baris 7) dengan host = localhost, user = root, dan password di kosongi. Ringkasnya sintak baris 7 dapat di tulis : $koneksi = mysql_connect("localhost","root","");

¡ 3. Setelah terhubung dengan mysql langkah selanjutnya ialah memilih database yang akan digunakan. Pada contoh ini database yang digunakan bernama ikc. Baris 9 merupakan sintak bagaimana memilih database.

¡ 4. Setelah memilih database ikc, maka kita dapat melakukan query. Dengan sintak seperti baris 11 maka kita akan mengambil semua record yang terdapat pada tabel pengunjung.

¡ 5. Setelah melakukan query maka kita perlu juga menghitung banyaknya record yang terdapat pada tabel. Baris 13 adalah cara untuk menghitung seluruh isi tabel.

¡ 6. Langkah utama ialah bagaimana menampilkan isi tabel ke dalam browser. Baris 17 memasukkan semua isi hasil dari query ke dalam variable $baris. Di dalam $baris inilah semua isi tabel (record) di tampung. Pada contoh diatas untuk menampilkan setiap urutannya menggunakan urutan dari field yang ada di tabel. $baris[0] artinya menampilkan isi field id. Cara ini sama dengan $baris[“id”]. Dan seterusnya. Urutan pertama dimulai dengan angka 0 (nol).

Di browser hasilnya :

Gambar 4.8 View.php

Kesimpulan : Untuk menampilkan database mysql di Browser dengan Php langkah-langkahnya : • Hubungkan dulu Php dengan mysql (menggunakan fungsi mysql_connect()) • Pilih database (menggunakan fungsi mysql_select_db) • Query (menggunakan fungsi mysql_query()) • Tampilkan (menggunakan fungsi mysql_fetch_array)

INSERT File view.php tidak memungkinkan untuk seseorang memasukkan record dikarenakan file tersebut hanya menampilkan record. Untuk dapat membuat sebuah halaman yang dapat memasukkan sebuah inputan maka perlu dibentuk sebuah form. Form tersebut memuat variabel-variabel yang dibutuhkan yang kemudian setelah di submit akan di proses dan dimasukkan dalam database. Maka dibutuhkanlah dua file yaitu input.htm dan file pemroses input.php

Top S

ecret

Halaman 57 dari 69

input.htm <html>

<head></head>

<body>

<form method="post" action="input.php">

<pre>

Nama : <input type="text" name="nama">

Email: <input type="text" name="email">

Situs: <input type="text" name="situs">

<input type="submit" name="submit" value="kirim"><input type="reset"

name="reset" value="reset">

</pre>

</form>

</body>

</html>

Keterangan :

<input type="text" name="nama">

name="nama" artinya bahwa apapun yang di inputkan dalam text box tersebut menjadi variable nama.

Gambar 4.9 input.htm

Tabel 4: Source code input.php input.php

<?

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc", $koneksi);

mysql_query("insert into pengunjung (nama, email, situs)

values ('$nama', '$email', '$situs')",$koneksi);

echo "Data telah dimasukkan";

?>

Pada source code input.htm terdapat 3 variabel yaitu nama, email dan situs. Ketiga variable tersebut nantinya akan diproses dalam file input.php. Cara pemrosesan atau pemasukan data dalam database mysql ialah menggunakan perintah mysql yaitu perintah insert.

Top S

ecret

Halaman 58 dari 69

mysql_query("insert into pengunjung (nama, email, situs) values ('$nama', '$email', '$situs')",$koneksi); Sintak tersebut memasukkan data yang terdapat pada variable nama, variable email, variable situs untuk di masukkan ke dalam tabel pengunjung dengan urutan field nya nama, email dan situs. Id tidak dimasukkan karena sudah auto_increement. Memasukkan dalam database harus urut dengan fieldnya. Pada tabel pengunjung urutannya id, nama, email, situs. Maka pada pengisiannya harus di urutkan.

Gambar 10: Urutan pemasukan data

Pengunjung (nama, email, situs) = nama field dalam tabel pengunjung. Sekarang akan kita coba memasukkan data. Buka file input.htm di browser :

Gambar 11: Input data

Klik kirimi, maka selanjutnya akan diproses di input.php

Gambar 12: Input.php

Untuk melihat data buka lagi file view.php

Top S

ecret

Halaman 59 dari 69

Gambar 4.13 Tambahan record

Bisa anda lihat bahwa sekarang jumlah record ada 3. id yang tidak kita isikan dan masukkan dalam input.php maka di isi otomatis dan nilainya di naikkan satu (+1) menjadi 3. Inilah yang dinamakan auto_increement. Dari sini anda bisa membuat sebuah form untuk input data. Program diatas juga dapat anda tambahkan yaitu : jika ada nama atau email atau situs yang dikosongi maka data tidak dapat di masukkan ke dalam database karena kosong. Modifikasi input.php menjadi : input.php

<?

if(($nama!="") or ($email!="") or ($situs!=""))

{

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc", $koneksi);

mysql_query("insert into pengunjung (nama, email, situs)

values ('$nama', '$email’, '$situs')",$koneksi);

echo "Data telah dimasukkan";

}

else

echo "Cek kembali form anda";

?> Baris 2 akan menyeleksi jika variable nama, email, situs tidak kosong maka masukkan data (jalankan baris 4-9) namun jika kosong maka jalankan baris 11.

EDIT Sebuah database tentunya terdapat revisi-revisi atau perubahan isi tabel atau record. Maka harusnya terdapat sebuah form yang mampu mengedit isi yang terdapat dalam database. Jika pada file input.php kita sudah dapat memasukkan data ke dalam database maka kali ini kita akan mengedit data yang telah di masukkan. Langkah pertama kita harus memodifikasi file view.php agar dapat mempunyai link untuk

Top S

ecret

Halaman 60 dari 69

menuju sebuah form peng-editan yang selanjutnya dengan form tersebut akan di proses dan di update ke dalam database. view.php

<?

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc",$koneksi);

$query = mysql_query("select * from pengunjung",$koneksi);

$jumlah = mysql_num_rows($query);

echo "<center>Daftar Pengunjung</center>";

echo "<br>";

echo "Jumlah pengunjung : $jumlah";

while($baris = mysql_fetch_array($query))

{

echo "<br>";

echo $baris[0];

echo "<br>";

echo "Nama : ";

echo $baris[1];

echo "<br>";

echo "Email : ";

echo $baris[2];

echo "<br>";

echo "Homepage :";

echo $baris[3];

echo "<br><a href=edit.php?id=$baris[0]>edit</a>";

}

?> Script view.php mendapat tambahan pada baris 28. Dimana dibuat sebuah link yang memanfaatkan variable id untuk di proses pada tahap selanjutnya.

Top S

ecret

Halaman 61 dari 69

Gambar 4.14 View.php

Jika cursor diarahkan pada link edit maka link tersebut akan menggunakan id dari record untuk dijadikan sebagai variable pemroses di file edit.php. Ketika cursor diarahkan pada record pertama maka link mempunyai nilai id=1. Nilai 1 diambil dari hasil query dari $baris[0]. Begitu seterusnya. Sehingga dengan mengambil nilai dari id maka pada file edit.php nilai id tersebut akan di jadikan alat bantu untuk editing. Kenapa harus menggunakan id ? karena id telah di set primary yang artinya tidak ada redundancy id. File edit.php membawa sebuah variable id. Dengan variable ini akan di lakukan query yaitu memilih semua field yang mempunyai id = 1 (nilai 1 diambil dari edit.php?id=1); dalam hal ini di contohkan id=1. edit.php

<?

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc",$koneksi);

$query = mysql_query("select * from pengunjung where

id='$id'",$koneksi);

while ($baris = mysql_fetch_array($query))

{

echo "<form method=\"post\"

action=\"update.php\">";

echo "Nama : <input type=\"text\" name=\"nama\" value=\"$baris[1]\">";

echo "<br>";

echo "Email : <input type=\"text\" name=\"email\" value=\"$baris[2]\">";

echo "<br>";

echo "Situs : <input type=\"text\" name=\"situs\" value=\"$baris[3]\">";

echo "<br>";

Top S

ecret

Halaman 62 dari 69

echo "<input type=\"submit\" name=\"submit\" value=\"update\">";

echo "<input type=\"hidden\" name=\"id\" value=\"$baris[0]\">";

echo "</form>";

}

?>

Penjelasan : Inti dari edit.php yaitu dia membawa sebuah variable id yang nilainya diambil dari view.php. Variable tersebut ditampung dalam variable $id diambil dari edit.php?id=1. Pada baris 6 dilakukan query untuk mengambil seluruh record yang id-nya sama dengan $id (dalam contoh id=1). Baris 18 digunakan sebagai pengendali proses agar jika form diatas di submit maka variable id tetap dapat digunakan pada file update.php atau jika ingin sebuah variable dapat di ‘tangkap’ untuk diproses maka ketikkan perintah seperti pada baris 18 dan yang penting harus tetap di antara tag <form> dan </form>

Gambar 4.15 edit.php?id=1

Bisa anda lihat bahwa dengan modal variable id saja record tersebut dapat di edit. Logika dari edit.php ialah hasil query di tampung dalam text box. Sehingga nilai (value) yang ada dalam text box hasil query. Silahkan merubah nya jika sudah klik update. update.php

<?

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc",$koneksi);

$query = mysql_query("update pengunjung set id='$id',

nama='$nama', email='$email', situs = '$situs' where id='$id'");

echo "Data dengan id = $id telah di update";

?>

Penjelasan : Baris 6 mengupdate record dimana id yang ingin diupdate sama dengan variable id yang di ‘bawa’ oleh file update.php. Jika pada file edit.php baris 18 di hapus makaquery tidak dapat dilaksanakan karena nilai variable id tidak dapat di akses.

Gambar 4.16 Update.php

Proses update telah selesai. Anda bisa meliha isi data pada file view.php.

Data dengan id = 1 telah diupdate

Top S

ecret

Halaman 63 dari 69

DELETE Record tidak selamanya akan disimpan jika database yang digunakan bersifat dinamis. Dimana setiap waktu atau detik database akan di perbaharui dan data-data lama juga nantinya akan di hapus jikalau sudah tidak sesuai dengan fakta yang ada. Memang seharusnya data-data lama menjadi arsip tapi data-data lama yang ternyata sudah tidak sesuai dengan kebijakan yang baru inilah yang akan di hapus.

Menghapus database MySql dengan php tentunya sangat mudah. Logika bekerjanya sama dengan edit.php dimana mengambil variable id dan di proses di file delete.php. Perintah yang digunakan untuk menghapus adalah perintah MySql yaitu delete. File view.php harus kita modifikasi terlebih dahulu.

view.php <?

$koneksi = mysql_connect("localhost","root","");

mysql_select_db("ikc",$koneksi);

$query = mysql_query("select * from pengunjung",$koneksi);

$jumlah = mysql_num_rows($query);

echo "<center>Daftar Pengunjung</center>";

echo "<br>";

echo "Jumlah pengunjung : $jumlah";

while($baris = mysql_fetch_array($query))

{

echo "<br>";

echo $baris[0];

echo "<br>";

echo "Nama : ";

echo $baris[1];

echo "<br>";

echo "Email : ";

echo $baris[2];

echo "<br>";

echo "Homepage :";

echo $baris[3];

echo "<br>[<a href=edit.php?id=$baris[0]>edit</a>]

[<a href=delete.php?id=$baris[0]>delete</a>]";

}

?>

Top S

ecret

Halaman 64 dari 69

Penjelasan : Untuk mengambil variable id ditambahkan perintah seperti pada baris 29. Variable id akan di proses pada file delete.php.

Gambar 4.17 view.php dengan delete

delete.php

<?

$koneksi = mysql_connect(“localhost”,”root”,””);

mysql_select_db(“ikc”,$koneksi);

mysql_query(“delete from pengunjung where id=’$id’”,

$koneksi);

echo “Data dengan id = $id telah dihapus”;

?>

Kiranya tidak perlu di jelaskan lagi, cara kerjanya sama dengan update.php.

SEARCHING

Database yang besar yang tentunya mempunyai record ribuan atau bahkan ratusan ribu yang seharusnya mempunyai fasilitas pencarian data atau searching. Pencarian ini bersifat fleksibel dimana dapat mencari berdasarkan field yang ada dalam tabel. Pada contoh tabel pengunjung, pencarian dapat di customize-kan berdasarkan id, nama, email dan situs. Untuk membuat form pencarian menggunakan html sedangkan pemrosesan variable menggunakan php. cari.htm

<html>

<head><title>Cari database</title>

</head>

<body>

Top S

ecret

Halaman 65 dari 69

<center>

<form name methode="post" action="cari. php">

<select name="kolom">

<option value="id">id</option>

<option value="nama">nama</option>

<option value="email">email</option>

<option value="situs">situs</option>

</select>

Masukkan kata yang anda cari <input type="text" type ="text" name="cari">

<input type ="submit" value="cari">

</form>

</center>

</body>

</html>

Penjelasan : ¡ Baris 8-11 menyatakan variable untuk masing-masing field yang terdapat

dalam tabel pengunjung. ¡ Baris 13 menyatakan kata / keyword yang di cari.

Gambar 4.18 Cari.htm cari.php

<?

$koneksi = mysql_connect("localhost","root","") ;

mysql_select_db("ikc",$koneksi) ;

$query = mysql_query("select * from pengunjung where $kolom like '%$cari%' ",$koneksi);

$jumlah = mysql_num_rows($query);

echo "<br>";

echo "Ditemukan: $jumlah";

while($baris = mysql_fetch_array($query))

{

echo "<br>";

echo $baris[0];

echo "<br>";

echo "Nama : ";

Top S

ecret

Halaman 66 dari 69

echo $baris[1];

echo "<br>";

echo "Email : ";

echo $baris[2];

echo "<br>";

echo "Homepage :";

echo $baris[3];

}

?>

Penjelasan : Inti dari script.php ialah pada baris 7. Secara umum query akan melakukan pencarian kata ($cari) dalam sebuah field ($kolom) jika cocok akan ditampilkan. Penggunakan like di maksudkan untuk mengambil kata / keyword yang terdapat dalam field yang sepenggal katanya atau huruf sama dengan keyword yang di masukkan. Contoh mencari pengunjung dengan nama syafii maka jika menggunakan like akan di tampilkan data M Syafii, Syafii Maarif, dll. Sepanjangan kata atau kalimat cocok dengan keyword meskipun satu huruf .

Gambar 4.19 Hasil pencarian keyword 3

Pada contoh diatas mencari pada kolom (field) id dengan keyword 3. Hasilnya ditampilkan id : 13, 3 .

MEMBUAT HIT COUNTER Melihat sebuah situs itu bagus atau tidak bisa juga di ukur dari banyaknya pengunjung. Ukuran ramai sebuah situs di karenakan karena design situs yang menarik dan juga materi situs yang sangat inovatif dan selalu update. Nah oleh karena itu diperlukan hit counter untuk melihat statistik sebuah situs. Hit counter ini dapat berupa file ataupun database mysql. Pertama kita akan membuat hitcounter dengan menggunakan file teks. Cara kerjanya ialah setiap pengunjung yang membuka situs kita, nilai counter akan di naikkan satu tentunya sudah di inisialisasi bahwa nilai awal ialah 0 (nol). Berikut source code dari counter.php

Top S

ecret

Halaman 67 dari 69

counter.php <?

$log="counter.txt";

$open=fopen($log,'r+');

$counter=fread($open,filesize($log));

fclose($open);

$counter++;

$write=fopen($log,'w');

fputs($write,$counter);

fclose($write);

echo "Anda pengunjung ke : $counter";

?>

Penjelasan : ¡ Buat dulu file counter.txt ¡ Baris 3 membuka file counter.txt untuk di baca dan di rubah. ¡ Baris 6 menaikkan counter yang kemudian di simpan dalam counter.txt. ¡ Baris 7-8 menulisnya ke dalam file counter.php yang otomatis di naikkan 1.

Gambar 20: Counter.php

MENGGUNAKAN MYSQL Prinsip kerjanya yaitu setiap halaman web di buka php akan memasukkan data ke dalam mysql. Setiap halaman di buka maka nilai yang ada di database mysql di update dinaikkan 1 (+ 1). Untuk lebih jelasnya lihat contoh berikut :

CREATE TABLE counter (

counter int(5) NOT NULL default '0'

) TYPE=MyISAM; Buat tabel dengan sintak seperti diatas, atau anda dapat membuatnya dengan phpmyadmin masih dalam database ikc , buat tabel bernama counter dengan mempunyai satu field bernama counter. Isikan angka 0 pada field counter.

Anda pengunjung yang ke : 10

Top S

ecret

Halaman 68 dari 69

Gambar 21: Tabel counter

Nilai default 0 (nol) sebagai nilai inisialisasi. counter.php

<?

$koneksi = mysql_connect("localhost", "root", "123456"); mysql_select_db("ikc", $koneksi);

mysql_query("update counter set counter = counter + 1", $koneksi);

$query = mysql_query("select counter from counter", $koneksi);

$row = mysql_fetch_array($query);

echo "Anda pengunjung ke :";

echo $row[0];

?> Penjelasan : ¡ Baris 4 mengupdate data counter yang semula di isi 0 (nol; lihat gambar 19)

untuk di tambah 1 nilainya. Jadi nilai counter sekarang ialah 1. Jika ada yang pengunjung lagi maka nilai 1 akan ditambah 1 sehingga menjadi 2 dan seterusnya.

¡ Baris 4-8 pastinya anda sudah tahu bahwa perintah tersebut untuk menampilkan data.

Gambar 22: Preview counter.php

Anda pengunjung yang ke : 2

Source : www.ilmukomputer.com

Top S

ecret

Halaman 69 dari 69

Pem

rogr

aman

Web

dan

Dat

aaba

se

Mod

ul K

elas

XII

SMK Nusaputera 1 berharap akan mampu memberikan Solusi secara menyeluruh untuk segala permasalahan yang berhubungan dengan teknologi komputer mulai dari aspek hardware, software, brainware, hingga integrasi sistemnya, sehingga pada akhirnya akan mampu berperan banyak dalam memperlancar bergulirnya era globalisasi dan informasi di Indonesia. Didasari dengan misi dan visi yang jelas, SMK Nusaputera 1 berharap dapat membantu para peminat, pengguna, praktisi di bidang teknologi informasi untuk mendapatkan solusi dan informasi yang menyeluruh dan profesional, termasuk juga Anda para pembaca buku ini.Walaupun dalam menyusun modul ini kami telah melakukan pengkajian dan penelitian yang mendalam serta berusaha untuk menyampaikan materi secara lengkap dan terstruktur, tetapi tentunya setiap karya tidaklah ada yang benar-benar sempurna sehingga mungkin modul ini kurang dapat memenuhi kebutuhan para pembaca, atau mungkin para pembaca masih mengalami kesulitan atau masalah setelah mempelajari modul ini. Untuk itu SMK Nusaputera 1 membuka lebar-lebar kesempatan bagi para pembaca pada khususnya dan masyarakat pengguna komputer pada umumnya untuk melakukan konsultasi mengenai berbagai kesulitan yang dihadapi khususnya mengenai apa yang telah dijelaskan di dalam modul ini melalui situs web kami atau via pos, fax, ataupun e-mail. Cheff Joko Riyanto, S. Kom_Online : joko_5310

SMK Nusaputera 1 Jl. Karanganyar 574 Semarang 50136

Phone (024) 70798879 Fax. (024) 3565315

Top S

ecret