PHP Codeigniter and MongoDB Basic – Installation & Example

PHP Codeigniter and MongoDB Basic – Installation & Example

Mungkin anda sudah terbiasa mendengar istilah PHP MySQL, ya PHP memang selalu dikaitkan dengan MySQL sebagai databasenya, ya istilahnya sudah kayak pasangan yang tidak terpisahkan. MySQL adalah salah satu RDBMS yang paling sering digunakan karena kecepatan dan kehandalannya serta berbagai macam keunggulan lainnya.  Selengkapnya tentang MySQL bisa dibaca di situs resminya www.mysql.com

Selain MySQL ada banyak database yang sifatnya Relasional database (RDMS) seperti Postgresql, Maria DB, Oracle, MS SQL Server dan lain lain. Namun pada kesempatan ini kita akan bahas salah satu database NOSQL (Not Only SQL) yaitu MongoDB. MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009.  penjelasan lengkap mengenai mongodb dapat dibaca di www.mongodb.com

Lalu pertanyaannya apakah MongoDB dapat digunakan untuk menggantikan mysql untuk digunakan bersama-sama dengan PHP dalam mengenmbangkan sebuah aplikasi ataupun sistem? jawabanya adalah YES. ya mongoDB dapat dikolaborasikan dengan bahasa pemrograman PHP maupun bahasa pemrograman lainnya yang sudah didukung.

Kali ini  kita akan coba untuk mengkolaborasikan penggunaan PHP dan juga MongoDB, check this out.

Download dan Install Codeigniter

Oh iya sebelum mulai pastikan bahwa versi PHP yang digunakan minimal adalah versi 5.3, dan sudah terinstall apache server, penulis menggunakan WAMP dalam hal ini, XAMPP juga dapat anda gunakan,tinggal menyesuaikan dengan kebutuhan anda. untuk PHP sendiri kita akan menggunakan Codeigniter sebagai framework, silahkan download terlebih dahulu codeigniter lewat github atau situs resminya disini www.codeigniter.com

6

Installasi MongoDB

setelah download & install codeigniter langkah selanjutnya adalah installasi mongoDB, anda perlu mendownload mongoDB terlebihdahulu di www.mongodb.com sesuaikan dengan sistem operasi yang anda gunakan dalam hal ini penulis mengunakan sistem operasi windows dan mongodb community server

 7

setelah selesai download lanjutkan dengan proses installasi mongoDB di lokal komputer anda

8

ikuti langkah-langkah instalasinya hingga selesai dan jangan lupa untuk mengingat lokasi anda menginstall mongoDB tersebut. dalam hal ini penulis menginstallnya di C:\Program Files\

9

saat anda sampai ditahap pada seperti gambar diatas klik finish dan yeaaayy.. mongoDB telah terinstall di lokal server anda. Tapi itu belum selesai selanjutnya anda perlu membuat folder untuk menyimpan database anda secara default mongoDB menyimpan database di C:\data\db tapi sayangnya folder tersebut belum ada sehingga anda perlu membuat folder tersebut terlebih dahulu.

selanjutnya anda perlu menambahkan C:\Program Files\MongoDB\Server\3.4\bin kedalam path dari environtment windows, disesuaikan dengan lokasi anda menginstall mongoDB, tujuannya adalah agar anda tidak perlu masuk ke directory tersebut setiap kali akan melakukan command via terminal atau command prompt windows anda. Sekarang kita akan menguji apakah mongoDB kita sudah bisa running atau belum.

buka command prompt anda dan ketikkan mongod ini adalah perintah untuk menjalankan server mongodb hasilnya seharusnya seperti berikut.

apabila hasilnya seperti gambar diatas maka mongoDB anda telah berjalan dan siap untuk digunakan. Horeee. Oke sampe disini lumayanlah ya.. selanjutnya untuk membuat kita lebih mudah untuk memonitor database dan isi database mongoDBnya kita dapat menggunakan Robomongo community version. download lalu install RoboMongo.

ikuti langkah instalasinya hingga selesai. Apabila telah selesai start RoboMongo dan Create New Connection untuk membuat koneksi MongoDB yang baru.

dan setelah itu anda bisa membuat database baru dan collection atau tabel baru. yang selanjutnya akan diisi data.

Menggunakan MongoDB untuk PHP 

Nah. selanjutnya adalah mengenai bagaimana cara kita untuk menghubungkan antara PHP dan MongoDB.  Ya jawabannya adalah dengan menggunakan extension, anda bisa download extensionnya disini silahkan download sesuai dengan versi PHP anda

setelah download selanjutnya anda perlu menginstall ekstensionnya sehingga dapat digunakan oleh PHP. apabila extensionnya sudah berhasil terinstall cek php info anda dan akan menemukan blok seperti gambar dibawah ini.

 Oke done.  artinya PHP & MongoDB sudah siap digunakan bersama-sama.

Contoh Implementasi PHP & MongoDB

Berikutnya kita akan membuat contoh sederhana dari penggunaan PHP & MongoDB ini. simpelnya kita akan coba operasi Create, Read, Update & Delete data. Ya ini cuma basic. So mari kita mulai.

sebelum mulai perlu diketahui kita akan menggunakan library dari intekhabrizvi  library ini cukup mudah digunakan dan sangat simpel menurut penulis download dan integrasikan kedalam folder codeigniter anda.

Buka file mongo_db.php yang ada didalam folder config dan ubah sesuai dengan settingan database mongoDB anda, pada contoh dibawah ini no_auth nya penulis setting jadi TRUE sehingga tidak memerlukan username & password, silahkan dibuat FALSE jika mongoDB ada sudah dipassword. begitu juga dengan database yg akan digunakan serta hostname silahkan disesuaikan. Ada satu lagi keunggulan library ini yaitu kita dapat membuat multi koneksi ke beberapa database mongoDB sekaligus.

$config['mongo_db']['active'] = 'default';

$config['mongo_db']['default']['no_auth'] = TRUE;
$config['mongo_db']['default']['hostname'] = 'cendana-PC';
$config['mongo_db']['default']['port'] = '27017';
$config['mongo_db']['default']['username'] = '';
$config['mongo_db']['default']['password'] = '';
$config['mongo_db']['default']['database'] = 'coba';
$config['mongo_db']['default']['db_debug'] = TRUE;
$config['mongo_db']['default']['return_as'] = 'array';
$config['mongo_db']['default']['write_concerns'] = (int)1;
$config['mongo_db']['default']['journal'] = TRUE;
$config['mongo_db']['default']['read_preference'] = NULL;
$config['mongo_db']['default']['read_preference_tags'] = NULL;

$config['mongo_db']['test']['no_auth'] = FALSE;
$config['mongo_db']['test']['hostname'] = 'localhost';
$config['mongo_db']['test']['port'] = '27017';
$config['mongo_db']['test']['username'] = 'username';
$config['mongo_db']['test']['password'] = 'password';
$config['mongo_db']['test']['database'] = 'database';
$config['mongo_db']['test']['db_debug'] = TRUE;
$config['mongo_db']['test']['return_as'] = 'array';
$config['mongo_db']['test']['write_concerns'] = (int)1;
$config['mongo_db']['test']['journal'] = TRUE;
$config['mongo_db']['test']['read_preference'] = NULL;
$config['mongo_db']['test']['read_preference_tags'] = NULL;

setelah setting database selesai Mari kita lanjut dengan operasi pertama yaitu create data

Create Data

kita hanya akan menggunakan tampilan sederhana yg merupakan bawaan dari instalasi Codeigniter sedari awal. buka controller Welcome.php dan tambahkan fungsi insertUser seperti code berikut ini.

<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model("usersmodel");
	}

	public function index() {	
	
		$this->load->view('welcome_message');
	}

	public function insertUser() {

		$this->load->view('insertusers');
	}

	public function insertProcess() {

		$this->usersmodel->insertusers();
		$this->session->set_flashdata('notif','successfully insert new data');
		redirect('welcome','refresh');

	}

}

Selanjutnya buat file insertUsers.php dan simpan didalam view isi codenya sebagai berikut.


<div id="container">

<h1>Welcome to CodeIgniter & MongoDB!</h1>

	<center>
	<a href="<?php echo site_url('welcome')?>">View User</a>
	</center>
	

<form action="<?php echo base_url('welcome/insertProcess')?>" method="post">

<table style="margin:20px auto;">

<tr>

<td>Username</td>


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

			</tr>


<tr>

<td>Phone</td>


<td><input type="text" name="phone"></td>

			</tr>


<tr>

<td>Unique Id</td>


<td><input type="text" name="unik"></td>

			</tr>


<tr>

<td><button type="submit">Insert</button></td>

			</tr>

			
		</table>


	</form>

	



Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?>

</div>

tampilannya akan seperti gambar dibawah ini

Setelah itu buat file Usersmodel.php dan simpan di dalam folder model codenya sebagai berikut.

<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Usersmodel extends CI_Model { function insertUsers() { $data = array( 'username' => $this->input->post('username'), 
					'phone' 	=> $this->input->post('phone'),
					'unik'		=> $this->input->post('unik') 
					);

		$this->mongo_db->insert('users', $data);
		return true; 

	}

}

/* End of file usersmodel.php */
/* Location: ./application/models/usersmodel.php */

silahkan coba untuk input data dan hasilnya data didatabase akan bertambah seperti gambar berikut

13
dan apabila dilihat dengan RoboMongo hasilnya adalah sebagai berikut

14

ya.. create atau insert datanya sudah selesai. untuk Read atau view data, update data maupun delete data dapat dilihat melalui source code yang telah penulis push ke github sehingga dapat dipelajari bersama. Silahkan donwload atau clone reponya di github.com/HalimZamal/ci-mongodb jika ada kesulitan silahkan sampaikan lewat issue di repo github tersebut. Sekian semoga bermanfaat. Bye

Halim Zamal

Related Posts
Comments ( 2 )
  1. Irene
    April 24, 2018 at 5:22 am
    Reply

    Apprecate the recommendation. Will try it out.

    • sw
      May 14, 2020 at 4:46 pm
      Reply

      mas, kayaknya scrolling di blognya agak mengganggu

Leave a reply