Selamat datang di warungbelajar, dalam tutorial kali ini kita akan melanjutkan pembahasan mengenai codeigniter, kali ini kita bahas mengenai query builder di codeigniter.

Query Builder adalah class yang disediakan oleh codeigniter, yang digunakan untuk berkomunikasi dengan database, dengan adanya query builder, anda dapat melakukan perintah seperti insert, select, update & delete, dengan perintah query yang lebih minimal.

Baik untuk belajar mengenai query builder, kita harus menyiapkan project codeigniter terlebih dahulu ya..

saya asumsikan teman – teman sudah menyiapkan project codeigniter, dalam contoh ini projectnya saya beri nama “belajardatabase“.

untuk tutorial instalasi bisa buka tutorial kita sebelumnya : Tutorial Instalasi Codeigniter

berikutnya silahkan gunakan perintah sql ini untuk membuat database :

jangan lupa untuk setting codeigniter agar dapat berkomunikasi dengan database, bisa membaca tutorial kita sebelumnya : cara menghubungkan codeigniter dengan database

baik saya asumsikan, teman – teman sudah install codeigniter, sudah import database, dan database sudah dikoneksikan di codeigniter.

berikutnya kita buat controller untuk bahan belajarnya, dalam contoh ini kita buat controller dengan nama Siswa.php, posisi dari file controller ada di folder application/controllers

kita buat function index, didalam controller Siswa, baik kita mulai belajar query builder.

 

Selecting Data

Untuk bagian awal, kita bahas bagaimana kita menampilkan data, perintahnya sebagai berikut, kita tuliskan di bagian function index di controller siswa.php

 

 

Menampilkan seluruh data pada tabel tertentu
Keterangan : 

perintah query builder :

perintah query diatas sama seperti perintah query sql

Untuk perintah di line 4 – 6 hanya digunakan untuk menampilkan data saja, perintah ini akan kita gunakan di beberapa perintah query builder lainnya, dan tidak akan kita jelaskan lagi ya teman – teman.

 

Untuk mencoba mengakses bisa menggunakan alamat: localhost/belajardatabase/index.php/siswa

 

 

Menampilkan data dengan batas limit

berikutnya kita akan contohkan menampilkan data dengan batas limit tertentu, perintahnya adalah seperti berikut ini :

Keterangan :

perintah query builder

memiliki arti menampilkan data di tabel siswa sebanyak 2 data, yang dan dimulai setelah data ke satu / pertama, jika dalam query sql biasa adalah seperti berikut ini :

 

 

Menampilkan data dengan pengecekan kondisi / where

Berikutnya kita akan bahas bagaimana menuliskan query untuk mendapatkan data berdasarkan kondisi tertentu, atau biasa kenal dengan perintah where

format perintahnya adalah seperti berikut ini :

sehingga jika diimplementasikan di kasus ini :

Keterangan :

perintah query builder diatas

memiliki arti untuk mencari data di tabel siswa, yang jenis_kelamin = pria, jika di perintah sql manual seperti berikut :

 

 

Menampilkan hanya beberapa kolom dari tabel

Berikutnya kita akan belajar untuk menuliskan query builder yang digunakan untuk menampilkan hanya beberapa kolom, format perintahnya adalah sebagai berikut :

Anda juga dapat menampilkan seluruh nilai pada kolom, dengan menuliskan karakter * didalam bagian select.

Jika diimplementasikan maka perintahnya adalah seperti berikut :

Keterangan :

dari perintah diatas maka hasilnya akan menampilkan kolom nama, alamat, tempat_lahir, dan tanggal lahir saja dari tabel siswa.

 

 

Menuliskan query manual dibagian select

Berikutnya kita akan belajar untuk membuat query manual dengan perintah select, sebagai contoh kita akan menuliskan query untuk menampilkan rata – rata tinggi badan siswa dengan jenis kelamin laki – laki, jika kita tuliskan query manual perintahnya adalah sebagai berikut :

baik jika dalam query builder, perintahnya adalah sebagai berikut :

Keterangan :

jika dijalankan akan menampilkan tulisan

, yang merupakan rata – rata tinggi badan siswa dengan jenis kelamin pria

pada perintah diatas, kita menuliskan perintah $query->row(); karena pengembalian datanya hanya satu sehingga perlu kita menuliskan perintah tersebut.

jika anda ingin menuliskan hasilnya saja bisa meggunakan perintah berikut ini :

Keterangan :

dengan perintah diatas akan menampilkan tulisan : 163.3333

line 3 kita menuliskan query builder dengan perintah select, perintah select memiliki 2 parameter :

  1. parameter pertama adalah query yang ditulis, dalam hal ini perintah untuk mencari rata – rata tinggi badan dari data di tabel siswa dengan jenis kelamin pria
  2. parameter kedua bersifat optional, bisa diisi oleh TRUE, ataupun FALSE, jika diisi dengan nilai FALSE, maka codeigniter akan akan membatasi nama dari tabel anda.

 

 

Menampilkan nilai tertinggi dengan perintah select_max

Berikutnya untuk menampilkan nilai tertinggi, bisa menggunakan perintah select_max, contoh format perintahnya adalah sebagai berikut :

Perintah diatas sama seperti perintah query manual :

selain format diatas, anda juga bisa menggunakan format yang menyebutkan alias dari nama kolom pada parameter kedua, contohnya  sebagai berikut :

perintah diatas sama seperti query manual seperti berikut ini :

 

 

Menampilkan nilai tertinggi dengan perintah select_min

Berikutnya kita akan membahas bagaimana cara menampilkan nilai terendah, dengan menggunakan perintah select_min, contoh formatnya adalah sebagai berikut :

perintah itu sama seperti query manual :

selain format diatas, anda juga bisa menggunakan format yang menyebutkan alias dari nama kolom para parameter kedua, contohnya  sebagai berikut :

perintah itu sama seperti query manual seperti :

 

 

Menampilkan nilai rata rata dengan menggunakan select_avg

berikutnya kita akan belajar untuk menampilkan nilai rata – rata dengan menggunakan perintah select_avg, contoh formatnya adalah sebagai berikut :

perintah diatas sama seperti perintah manual sql seperti berikut ini :

selain format diatas, anda juga bisa menggunakan format yang menyebutkan alias dari nama kolom para parameter kedua, contohnya  sebagai berikut :

perintah diatas sama seperti perintah manual sql sebagai berikut :

 

 

Menjumlahkan nilai kolom dengan menggunakan select_sum

berikutnya untuk menjumlahkan nilai dari kolom, anda bisa menggunakan perintah select_sum, berikut ini adalah contoh format perintahnya :

perintah diatas sama seperti perintah query manual seperti berikut ini :

selain format diatas, anda juga bisa menggunakan format yang menyebutkan alias dari nama kolom para parameter kedua, contohnya  sebagai berikut :

perintah diatas sama seperti perintah query manual seperti berikut ini :

 

 

Menggunakan perintah from untuk menentukan tabel yang datanya ditampilkan

Anda juga dapat menggunakan perintah from untuk menentukan tabel mana yang datanya akan ditampilkan, contoh format perintahnya adalah sebagai berikut :

perintah diatas sama dengan query manual seperti berikut ini :

 

 

Menggunakan Perintah Join di Query Builder

Berikutnya kita akan belajar bagaimana menggunakan perintah join di codeigniter, contoh format perintahnya adalah sebagai berikut ini :

Keterangan :

dalam contoh perintah diatas kita melakukan join dari tabel tb_siswa dengan tabel tb_kelas, dengan relasi di kolom kd_kelas, dan juga kita menampilkan seluruh kolom yang ada di 2 tabel tersebut

jika kita menuliskan dalam query manual kurang lebih seperti berikut ini :

 

 

Mencari spesifik data dengan menggunakan perintah where

Pada beberapa pembahasan sebelumnya kita sudah membahas bagaimana menuliskan perintah where dengan menggunakan query builder, dalam pembahasan kali ini kita akan belajar beberapa perintah yang bisa kita tuliskan untuk keperluan mencari data menggunakan where.

 

 

Mencari data dengan keyword sederhana.

Contohnya kita ingin mencari data siswa berdasarkan jenis_kelamin = pria, dan tempat_lahir adalah sidoarjo, anda bisa menggunakan perintah sebagai berikut :

Keterangan :

kita bisa menggunakan perintah

peritah tersebut sama dengan query manual seperti berikut :

 

 

Menggunakan Kustom dari bagian key / value

Semisal kita ingin mencari, data siswa yang memiliki tinggi badan, lebih dari 160, anda bisa menggunakan contoh perintah sebagai berikut :

Keterangan :

pada bagian where itu defaultnya adalah menggunakan operator =, jika anda menginginkan menggunakan operator lainnya, bisa anda tuliskan pada parameter pertama pada bagian perintah where seperti contoh diatas kita gunakan operator lebih besar dari sama dengan.

perintah diatas sama dengan query manual :

 

 

Menggunakan Associative array pada perintah where

Anda juga dapat menuliskan keyword dan value dibagian where dengan menggunakan associative array, jika memang anda membutuhkan beberapa perintah where.

baik dalam contoh ini kita akan coba mencari data di tabel tb_siswa yang jenis_kelamin=pria, dan tempat_lahir di sidoarjo, maka perintahnya adalah sebagai berikut :

Keterangan :

Anda tinggal tuliskan array, lalu pada bagian perintah where di parameter pertama tuliskan variabel yang berisi array, dalam contoh ini adalah search.

 

Anda juga bisa menggunakan custom operator dibagian where, contohnya kita mencari data siswa yang tinggi badannya adalah 150, dan berat badannya kurang dari 60, maka perintahnya adalah sebagai berikut :

 

 

Custom string di where

Berikutnya anda bisa menuliskan custom string untuk melakukan pencarian, contohnya anda ingin mencari data siswa yang jenis_kelamin ‘wanita’ dan tempat_lahir bukan di malang, contoh perintahnya adalah sebagai berikut ini :

Keterangan :

dalam contoh diatas kita membuat variabel $search yang berisi string pencarian yang ditulis secara custom, dan nantinya variabel $search kita tuliskan dibagian perintah where.

 

 

Menuliskan perintah or where di query builder

Berikutnya kita akan menuliskan perintah or_where, untuk menuliskan perintah or dibagian where di SQL, baik dalam contoh ini kita akan mencari data siswa yang jenis kelaminnya adalah wanita, atau tempat_lahirnya adalah surabaya, perintahnya adalah sebagai berikut :

Keterangan :

kita bisa menggunakan perintah or_where untuk membuat or dibagian where, perintah diatas sama dengan query manual SQL seperti berikut ini :

 

 

Menggunakan perintah where in di query builder

Berikutnya kita juga bisa menggunakan perintah where_in di query builder di codeigniter, contohnya kita akan mencari data siswa yang tempat_lahirnya adalah di sidoarjo, surabaya, dan malang, maka perintahnya adalah sebagai berikut :

Keterangan :

kita membuat variabel $search yang berisi array dengan value (‘sidoarjo’,’surabaya’,’malang’), berikutnya variabel ini kita gunakan di bagian perintah where_in.

perintah where_in untuk parameter pertama, adalah kolom yang akan dicari nilainya, dan parameter kedua berisi array yang nilainya akan dibandingkan dengan nilai di kolom yang kita tulis di parameter pertama, dalam contoh ini adalah variabel $search

 

 

Menggunakan perintah or_where_in di Query Builder

Berikutnya kita akan belajar untuk menggunakan perintah or_where_in, perintah ini adalah gabungan dari perintah or_where dan where_in, dalam contoh kita akan mencari data siswa yang memiliki tinggi badan > 150 , atau tempat_lahirnya di sidoarjo dan surabaya, maka perintahnya adalah sebagai berikut :

Keterangan :

Perintah diatas, kita menggunakan perintah or_where_in, dimana untuk bagian array pencarian kita sudah buat dibagian variabel $search.

Perintahnya query manual adalah sebagai berikut :

 

 

Menggunakan perintah where_not_in

Perintah ini merupakan gabungan dari perintah where_not dan where_in, sebagai contoh kita akan mencari data siswa yang tempat_lahirnya bukan di sidoarjo dan surabaya, contoh perintahnya adalah sebagai berikut :

Keterangan :

Jika dijalankan akan mencari data siswa yang tempat_lahirnya bukan di sidoarjo, dan disidoarjo, perintah diatas sama seperti query manualnya adalah sebagai berikut :

 

 

Perintah or_where_not_in

Perintah ini gabungan antara or_where, where_not_in, semisal kita ingin mencari data siswa yang tinggi badannya diatas > 160 atau tempat lahirnya bukan di sidoarjo dan surabaya, maka perintahnya adalah sebagai berikut :

Keterangan :

kita menggunakan perintah or_where_not_in, di parameter pertama merupakan nama kolomnya yaitu tempat_lahir, dan parameter kedua adalah array yang berisi data yang akan dicek di kolom pada parameter pertama, dalam contoh ini adalah variabel $search

query manual dari perintah diatas adalah sebagai berikut :

 

 

Menggunakan Perintah LIKE di Query Builder

Berikutnya kita akan bahas mengenai penggunaan perintah LIKE di query builder, seperti yang telah anda ketahui perintah LIKE digunakan untuk mencari data berdasarkan pola dari string yang anda inginkan, beberapa contoh penggunaan like di query builder antara lain.

 

 

Like dengan key / value sederhana

Semisal anda ingin mencari data di tabel tb_siswa yang alamatnya ada string ‘Gunung’, maka contoh perintah penggunaannya adalah sebagai berikut :

Perintah diatas, sama seperti query manual seperti berikut ini :

Beberapa pola like yang bisa anda gunakan antara lain adalah :

jadi anda bisa menuliskan dibagian parameter kedua, beberapa value yang bisa anda gunakan adalah :

  1. before
  2. after
  3. none
  4. both

 

 

Like dengan Associative Array

Anda bisa menuliskan beberapa nilai dibagian like dengan menggunakan associative array, contohnya penggunaannya adalah sebagai berikut :

Keterangan :

Perintah diatas digunakan untuk mencari data siswa yang alamatnya ada string ‘Gunung’ dan tempat_lahir ada string ‘sido’, polanya sama dengan bagian where, kita tinggal buat array yang nantinya digunakan dibagian perintah like.

perintah diatas sama seperti query manual seperti berikut ini :

 

 

Perintah or_like

perintah or_like digunakan untuk membuat perintah like dipadukan dengan perintah or, semisal perintahnya adalah sebagai berikut :

Keterangan

Perintah diatas digunakan untuk memadukan beberapa perintah like, dengan kondisi or

Perintah diatas jika sama seperti query manual seperti berikut :

 

 

Perintah Not Like

Perintah ini digunakan untuk membuat perintah not like di query builder, contoh perintahnya adalah sebagai berikut :

perintah diatas jika kita tuliskan dengan query SQL manual adalah sebagai berikut ini :

 

 

Perintah or_not_like

Berikutnya kita juga bisa menggunakan perintah or_not_like, ini adalah perintah yang menggabungkan antara or_like dan not_like, contoh perintahnya adalah sebagai berikut :

Perintah diatas sama seperti query SQL manual seperti berikut ini :

 

 

 

Perintah Group By di Query Builder

Berikutnya kita akan belajar mengenai bagaimana cara untuk membuat perintah group by di dalam Query Builder, dalam contoh ini kita akan mengelompokkan siswa berdasarkan jenis kelamin, untuk menghitung siswa dengan jenis kelamin pria dan wanita, perintah query buildernya adalah sebagai berikut :

Keterangan :

Perintah diatas menggunakan beberapa perintah, kita menuliskan custom query di bagian perintah $this->db->select, untuk menampilkan kolom jenis_kelamin, dan menghitung bagian kd_siswa dengan alias nama jumlah.

Nah Yang membedakan ini adalah dibagian perintah $this->db->group_by, kita menuliskan untuk melakukan group by berdasarkan jenis_kelamin.

Perintah diatas jika kita tulis secara manual query SQL adalah sebagai berikut :

 

 

Perintah Distinct di Query Builder

Berikutnya kita akan belajar mengenai cara penulisan perintah distinct didalam query builder, contohnya kita akan menampilkan tempat lahir siswa dengan perintah distinct, maka perintah dalam query builder adalah sebagai berikut :

Keterangan :

Perintah diatas digunakan untuk menampilkan kolom tempat_lahir, lalu berikutnya kita distinct berdasarkan kolom tempat_lahir, dan kita juga menuliskan mengambil data dari table tb_siswa

Perintah distinct tersebut sama seperti query manual SQL seperti berikut ini :

 

 

Order Data di Query Builder

Perintah Order data ini digunakan untuk mengurutkan data hasil query, anda bisa menuliskan perintah query ini didalam query builder, contohnya kita akan menampilkan data siswa dengan mengurutkan berdasarkan kolom tinggi badan DESC, maka perintah query buildernya adalah sebagai berikut :

Keterangan :

Perintah diatas akan menampilkan data di table tb_siswa, dengan mengurutkan berdasarkan tinggi badan secara desc, anda merubah parameter kedua menjadi ASC, tetapi jika anda ingin menggunakan pola ASC anda bisa mengkosongkan bagian parameter kedua dari perintah order_by.

Perintah diatas jika kita tuliskan dengan perintah query SQL manual adalah sebagai berikut :

 

Jika anda ingin menuliskan beberapa perintah order by anda bisa menuliskan seperti berikut :

 

Atau bisa juga menggunakan 2 perintah order by seperti berikut ini :

 

Anda juga mengisi parameter kedua pada perintah order by dengan perintah RANDOM, untuk melakukan random terhadap pengurutan data.

 

 

Perintah Limit di Query Builder

Anda bisa membatasi jumlah data yang ditampilkan, dengan perintah limit di query builder, contohnya anda hanya ingin menampilkan 2 data siswa dari tabel tb_siswa, maka perintahnya adalah sebagai berikut :

Keterangan :

Perintah diatas kita menuliskan $this->db->limit(‘2’) yang artinya akan membatasi untuk menampilkan data hanya 2 data saja.

Jika kita menggunakan query manual maka perintahnya adalah sebagai berikut :

 

Selain perintah limit anda juga mengatur dari urutan keberapa data ditampilkan, semisal kita ingin menampilkan 2 data, dan melewati 3 data sebelumnya, maka perintahnya adalah sebagai berikut :

Jika kita menggunakan perintah query SQL manual, maka sebagai berikut :

 

 

Couting Result di Query Builder

Dengan perintah ini, anda dapat menghitung berapa jumlah data hasil dari query, semisal anda ingin menghitung berapa sih jumlah data di tabel tb_siswa ? , anda bisa menggunakan perintah sebagai berikut :

 

atau anda ingin menghitung jumlah siswa yang berjenis kelamin pria saja, maka perintahnya adalah sebagai berikut :

 

Anda juga bisa menggunakan perintah count_all untuk mendapatkan jumlah seluruh data pada tabel tertentu, anda bisa menuliskan nama tabel di parameter pertama, contoh perintahnya adalah seperti berikut ini :

 

 

Perintah Insert Data di Query Builder

Pada perintah query builder anda juga dapat melakukan menambahkan / insert data ke tabel yang anda inginkan, contoh perintahnya adalah sebagai berikut :

Keterangan :

Jadi data yang akan ditambahkan harus dibuat berbentuk array, dimana key adalah nama kolom, dan value adalah nilai yang akan dimasukkan di kolom tersebut.

Setelah array kita tata dengan menyesuaikan nama kolom sebagai key, berikutnya kita dapat menggunakan perintah $this->db->insert dimana terdapat 2 parameter, antara lain :

  1. parameter pertama adalah nama tabel, dalam hal ini adalah tb_siswa
  2. parameter kedua adalah variable $data yang telah berisi array.

 

Anda juga bisa insert data lebih dari satu data, kita bisa menggunakan perintah insert_batch, baik contohnya kita akan insert 2 data sekaligus, perintahnya adalah sebagai berikut :

Keterangan  :

Kita perlu buat array multidimensi yang berisi data siswa yang akan diinsert kedalam tb_siswa.

 

 

Fitur Update data di Query Builder

Berikutnya kita akan membahas mengenai bagaima cara melakukan update data melalui query builder, beberapa bagian yang perlu kita persiapkan untuk update data melalui query builder antara lain :

  1. Data apa saja yang perlu diupdate, kita dapat membuat array dengan key adalah kolom, dan value adalah nilai yang akan diupdate.
  2. Kondisi data mana yang perlu diupdate, atau sederhanya adalah bagian where, anda bisa menggunakan array untuk menuliskan kondisi where disini
  3. Bagian terakhir adalah nama tabel tempat data yang akan diupdate

Baik berikutnya sebagai contoh kita akan merubah data siswa :

  • Nama : Dika Cahyadi
  • Alamat : Pucang
  • Tanggal Lahir : 1994-07-07

Untuk data siswa dengan kd_siswa = 4 di tabel tb_siswa, maka perintahnya adalah sebagai berikut :

Keterangan :

Perubah data kita sudah set dalam bentuk array pada variable $data.

Berikutnya kita gunakan perintah update, didalam perintah update ada 3 parameter yang digunakan yaitu :

  1. Parameter pertama adalah nama tabel dalam contoh ini adalah tb_siswa
  2. Parameter kedua adalah data yang akan diupdate, dalam hal ini adalah variable $data yang telah berisi array
  3. Parameter ketiga adalah kondisi data yang akan diupdate, dalam contoh ini kita gunakan array untuk menyebutkan bahwa kita akan merubah data yang kolom kd_siswa bernilai 4

Jika kita tulis query secara manual maka perintahnya adalah sebagai berikut :

 

 

Perintah Delete di Query Builder

Untuk melakukan delete data, anda bisa menggunakan perintah query builder, untuk menghapus data menggunakan query builder, anda perlu menuliskan 2 parameter antara lain :

  1. Parameter pertama adalah nama tabel dari data yang ingin dihapus
  2. Parameter kedua adalah kondisi data yang akan dihapus, sederhananya ini adalah bagian where, seperti bagian update, anda bisa menggunakan array dibagian parameter kedua ini

Baik sebagai contoh kita akan menghapus data siswa di tabel tb_siswa dengan kd_siswa =  9, maka perintahnya adalah seperti berikut ini :

Keterangan :

Kita bisa menggunakan perintah delete, dan menuliskan 2 parameter :

  1. Parameter pertama adalah nama tabel dalam hal ini adalah tb_siswa
  2. Parameter kedua adalah kondisi data mana yang akan dihapus, kita menuliskan array di parameter 2, dalam hal ini memiliki arti menghapus data di tabel tb_siswa yang kolom kd_siswa nilainya adalah 9

Jika kita menuliskan dengan query sql manual adalah sebagai berikut :

 

Jadi kurang lebih seperti itu teman – teman pembahasan mengenai query builder di dalam codeigniter, jika ada yang ingin didiskusikan silahkan di kolom komentar, sekian dulu tutorial kali ini, sampai jumpa di tutorial selanjutnya.


 

 


ANDA INGIN SERIUS BELAJAR FRAMEWORK CODEIGNITER ?

Seperti yang anda ketahui bahwa saat ini skill di bidang pemrograman sangatlah dibutuhkan, salah satunya adalah pemograman PHP.
Untuk anda yang ingin serius belajar pemrograman PHP, Khususnya menggunakan Framework PHP Codeigniter, Warung Belajar Memiliki Beberapa Paket Tutorial yang bisa membantu anda dalam belajar menggunakan Framework PHP Codeigniter, dari mulai step – step dasar hingga mampu membuat aplikasi berbasis web dengan menggunakan Framework PHP Codeigniter.

Paket Tutorial ini berisi video tutorial belajar pemrograman berbahasa indonesia, cocok sekali untuk anda yang sedang belajar Framework PHP Codeigniter, bahkan untuk orang awam sekalipun.

Paket Tutorial ini juga dilengkapi dengan study kasus yang akan mempermudah pemahaman anda dalam belajar pemrograman, Mari berinvestasi untuk menambah skill dalam menguasai Framework PHP Codeigniter