Tutorial Lengkap Pemrograman PHP dan Database

php-logoBelajar pemrograman PHP memang gampang gampang susah. Gampangnya karena PHP sudah menyediakan banyak fitur termasuk koneksi database yang lengkap dan fungsi fungsi seperti mysql_query() atau mysql_fetch_array() adalah dua fungsi database yang paling sering kita temui di aplikasi PHP MySQL.

Walaupun fungsi PHP cukup lengkap untuk membuat aplikasi database, namun banyaknya jenis database yang berbeda juga memerlukan cara dan fungsi yang berbeda. Hal lain yang bikin ribet adalah perbedaan versi PHP serta fitur yang disertakan dalam seitap bundle PHP berbeda (misalkan antara XAMPP dan Wamp). Secara default bundle XAMPP atau sejenisnya juga hanya mengaktfikan dukungan ke satu database saja. Ditambah lagi level error reporting yagn berbeda beda juga membuat file php bisa berjalan lancar di satu server dan kadang error di server yang lain.

Masalah lain yang dihadapi bagi pemula di pHP adalah gaya koding PHP yang berbeda beda antar programer dan antar framework. Ini juga menyulitkan proses belajar bagi pemula. Hal ini belum ditambah lagi dengan kombinasi javacript dan jQuery kedalam aplikasi. Melihat permasalahan diatas, maka saya berencana membuat 11 tutorial yang terbagimenjadi dua bagian yaitu pemrograman database dengan PHP dan berbagai teknik pemrogramannya.

Teknik CRUD database di PHP

  1. Teknik CRUD php dengan MySQL
  2. Pemrograman PHP dengan MySQLi
  3. pemrograman database PHP dengan PDO
  4. Pemrograman database dengan ORM

Sementara itu, untuk teknik pemrogramannya adalah sebagai berikut

Teknik pemrograman di PHP

Teknik pemrograman struktural

Teknik ini mengacarkan teknik dasar pemrograman php yang sudah dilakukan selama tahun tahun. Teknik ini adalah teknik paling dasar dari PHP

Teknik pemrograman Prosedural

Teknik pemrograman dengan menyusun kode kedalam fungsi fungsi,  kemudian fungsi yang dibuat dipanggil di halaman yang membutuhkannnya. Teknik ini sedikit lebih baik daripada teknik struktural karena sudah mengenal prinsip guna ulang.

teknik pemrogaman OOP

Pemrograman berbasis Object. Teknik ini akan mengajarkan teknik membuat program PHP dengan menggunakan Class yang sangat berbeda dengan pendekatan struktural. OOP ini adalah basis dari semua library dan Framework PHP. Artinya, jika anda menguasai OOP maka mempelajari framework harusnya jauh lebih mudah.

teknik pemrograman MVC

MVC adalah model pemrograman yang memisahkan antara model (sumber data/struktur data), view( Tampilan/thema/visual) dan conroller( logika program). Jika anda memakai COdeIgniter, anda sudah memakai teknik ini.

Teknik pemrograman HMVC

Teknik ini adalah kelanjutan dari teknik MVC, pada teknik HMVC, modul dibuat dalam satu folder, berbeda dengan MVC murni yang justru meletakan kode program berdasarkan strukturnya , HMVC meletakan modul/komponen folder kedalam satu folder sehingga modul tersebut bisa dipakai di aplikasi lain dengan mudah.

Persiapan

Karena ini adalah pemrograman web,maka diharapkan anda sudah paham dengan HTML,CSS dan javascript. Selain itu diharapkan anda sudah menginstall XAMPP atau paket Apache, PHP dan MySQL.

Saya sendiri memakai OS Windows 8.1, XAMPP 1.8.3,editor Notepad++, IDE Aptana dan Interface aplikasi menggunakan twitter bootstrap 3. Namun demikian, anda tidak perlu sama persis seperti konfigurasi dikomputer saya. Jika script tidak berjalan, maka yang perlu anda perhatikan adalah konfigurasi php.ini. Materi konfigurasi php.ini bisa anda baca disini.

Perintah Dasar CRUD MongoDB

Di tutorial ini, saya mengasumsikan anda sudah menginstall MongoDB server dan sudah menjalankannya. perintah ini hanyalah perintah dasar dari MongoDB mengingat query di MongoDB bisa sangat komplek.Jika anda belum menginstall mongodb di komputer, silahkan langsung saja buka try.mongodb.org> Untuk tutorial ini, ceritanya kita akan membuat database kampus dan tabel mahasiswa.

Membuat dan menghapus database

membuat database

use kampus;

Menghapus database

db.dropDatabase();

Membuat dan tabel Mahasiswa

membuat tabel mahasiswa

use kampus; 
db.createCollections("mahasiswa");

Menghapus tabel mahasiswa

db.mahasiswa.drop();

Perintah CRUD

buat kembali database kampus dan tabel/collection mahasiswa

use kampus;
db.createCollections("mahasiswa");

Insert data

> db.mahasiswa.insert(
{
nama:"Candra adi putra", 
ipk:3.3,
jurusan:"TI"
}
)

> db.mahasiswa.insert({nama:"Adi Nur Wibowo"});
> db.mahasiswa.insert({nama:"Sundari",jurusan:"Ekonomi"});

Dalam contoh diatas, saya menginsert 3 data. Perhatikan bahwa tidak ada istilah kolom dalam database MongoDB. Anda bebas menginsert data, entah cuma nama, nama dan jurusan atau nama, jurusan dan ipk. Jika anda butuh kolom tambahan, tidak ada perubahan schema didatabase, cukup insert dengan pola diatas. Sekali lagi, MongoDB bersifat Dynamic Schema, tidak ada namanya alter tabel add kolom atau alter tabel drop colom.

Melihat data 

> db.mahasiswa.find()
{ "_id" : ObjectId("53130eaa999a7b243bad3b59"), "nama" : "Candra Adi putra", "
k" : 3.3 }
{ "_id" : ObjectId("53130eca999a7b243bad3b5a"), "nama" : "Adi Nur Wibowo" }
{ "_id" : ObjectId("53130ee0999a7b243bad3b5b"), "nama" : "Sundari", "jurusan"
"Ekonomi" }
> db.mahasiswa.find().pretty()
{
        "_id" : ObjectId("53130eaa999a7b243bad3b59"),
        "nama" : "Candra Adi putra",
        "ipk" : 3.3
}
{ "_id" : ObjectId("53130eca999a7b243bad3b5a"), "nama" : "Adi Nur Wibowo" }
{
        "_id" : ObjectId("53130ee0999a7b243bad3b5b"),
        "nama" : "Sundari",
        "jurusan" : "Ekonomi"
}

Perhatikan field _id, ini adalah primar key di tabel mongoDB. Primarykey selalu menggunakan kolom _id dan isinya dibuat secara otomatis, user tidak bisa membuat primary key sendiri.
Menampilkan kolom tertentu

 db.mahasiswa.find({},{"nama":1})
 "_id" : ObjectId("53130eaa999a7b243bad3b59"), "nama" : "Candra Adi putra" }
 "_id" : ObjectId("53130eca999a7b243bad3b5a"), "nama" : "Adi Nur Wibowo" }
 "_id" : ObjectId("53130ee0999a7b243bad3b5b"), "nama" : "Sundari" }

Menyembunyikan kolom _id dari hasil

> db.mahasiswa.find({},{"nama":1,_id:0})
{ "nama" : "Candra Adi putra" }
{ "nama" : "Adi Nur Wibowo" }
{ "nama" : "Sundari" }

Pencarian data
Mencari nama siswa

> db.mahasiswa.find({nama:"Sundari"}).pretty();
{
        "_id" : ObjectId("53130ee0999a7b243bad3b5b"),
        "nama" : "Sundari",
        "jurusan" : "Ekonomi"
}

Mengupdate data
Mengupdate ip sundari ipk:3.5

> db.mahasiswa.update({nama:"Sundari"},{$set:{ipk:3.5}})
> db.mahasiswa.find({nama:"Sundari"}).pretty();
{
        "_id" : ObjectId("53130ee0999a7b243bad3b5b"),
        "ipk" : 3.5,
        "jurusan" : "Ekonomi",
        "nama" : "Sundari"
}

Menghapus data
Menghapus mahasiswa yang bernama sundari

 db.mahasiswa.remove({nama:"Sundari"})

Tutorial yang lebih lengkap bisa anda baca di http://www.tutorialspoint.com/mongodb/index.htm
Referensi lengkap perintah mongodb bisa anda download dalam format PDF di website resmi mongodb.

Setelah belajar tutorial dasar MongoDB, terasa banget kan syntaxnya agak ribet. Bagi yang terbiasa dengan MySQL juga harus belajar lagi karena sytle syntaxnya beda 100%. Terus ada tidak cara yang lebih mudah untuk mengelola data, misal yang berbasis GUI? Ada dong. Untuk tutorialnya akan saya bahas di artikel selanjutnya.