Membuat Aplikasi Chating Sederhana dengan Jquery, Codeigniter dan Bootsrap

Membuat Aplikasi Chating Sederhana dengan Jquery, Codeigniter dan Bootsrap

 

Jumpa lagi dengan saya disini yang tetap tampil sederhana. Karena sebelumnya saya menuliskan cara membuat sistem keranjang dan pertemanan yang sederhana. Sekarang juga saya akan tetap sederhana dengan topik artikel ini. Sambil menunggu buka puasa di warung makan sederhana. Saya jadi menuliskan rangkaian kata sederhana ini, sudahlah…..

Oke para warga jagocoding sekalian. Kali saya akan menjelaskan cara pembuatan aplikasi chating sederhana dengan paduan tiga teknologi termuktahir saat ini. (gayanya muktahir). Iya dong, kenapa saya bilang muktahir karena kita akan menggunakan tiga framework termuktahir dalam pembuatan aplikasi website. Apa saja itu, berikut adalah kanidatnya.

  • Alasan pakai Boostrap

Ini jagonya framework untuk CSS. Dengan bootstrap kita bisa membuat desain web dengan mudah dan cepat. Tak hanya itu, layout web yang kita buat akan responsive menyesuaikan ukuran layar. Jadi aplikasi web kita bisa tampil mantap di layar mobile seperti Hp atau tablet. Kurang bagus apa lagi coba?

 

  • Alasan pakai Jquery

Kalau yang ini jagonya framework untuk javascript. Dahulu kala kalau kita mau menulis kode javascript super ribet nan repot. Sekarang bersyukurlah sudah datang mukzizat dari atas dengan kedatangan jquery (weleh). Dengan framework ini kita bisa menulis kode jquery dengan lebih singkat dan simpel.

 

  • Alasan Pakai Codeigniter

Nah inilah favorit framework PHP abad ini. Sampai-sampai si empu PHP-nya (Rasmus Lerdorf) bilang ini framework paling tercepat di jagat raya. Framework ini juga begitu terkenal di toko buku. Sudah banyak panduan Codeigniter sehingga kita tidak sulit jika ingin mencari referensi tambahan. Jadi gak salahkan kalau saya memilih Codeigniter untuk tutorial kali ini. Selain itu, jika nanti aplikasi Chating ini ingin dikembangkan lebih lanjut akan lebih mudah karena Codeigniter sudah menganut OOP.

Satu lagi, alasan saya yang paling mendasar menggunakan ketiga framework diatas karena GRATIS. Hehe, jangan salah paham dulu. Bukan berarti ane tampang orang pelit dengan kantong melilit. Tapi karena dengan memaksimalkan yang gratis kita bisa menjadi orang kreatif. ingat yah, orang pelit hanya menggunakan yang gratis. Tapi orang kreatif bisa memaksimalkan yang gratis.

Sebelum mengikuti turorial ini diharapkan Anda sudah mengerti dasar-dasar tentang ketiga framework diatas. Karena saya tidak akan menjelaskan tentang pengkonfigrasian dasar tentang codeigniter. Saya akan bahas langsung ke inti pemograman saja. Jika belum paham mengenai ketiga framework diatas silahkan mencari referensi dahulu di luar.

Nah lanjut lagi nih, sistem chating yang akan saya tunjukan adalah dasar dari segala dasar sistem chating. Jadi disini Anda jangan berharap sistem chating nan canggih kayak di facebook dulu. Tapi setidaknya kalau Anda sudah paham alur kerja dari sistem chating ini, diharapkan Anda akan mudah untuk mengembangkan menjadi lebih bagus.

Oke, langsung kita praktik. Pertama-tama kita buat dahulu databasenya. Adapun struktur dari databasenya sebagai berikut

 

dbcichat

 

Karena ini sistem masih sederhana, kita buat database bernama cichat dengan satu tabel bernama chat. untuk field waktu kita gunakan jenis timestamp agar jika ada data masuk secara otomatis terisi dengan waktu saat data itu masuk.

Selanjutnya silahkan siapkan file-file codeigniter dan tempatkan pada localhost masing-masing. Buat folder ci-chat didalam folder htdocs (jika pakai xammp) dan paste file-file codeigniter didalam situ. Lalu didalam folder ci-chat  buat lagi folder asset yang nantinya untuk menyimpan file dari boostrap dan jquery. Sehingga struktur direktori folder ci-chat akan terlihat seperti ini.

dir

 

Lalu siapkan file bootsrap dan jquerynya masukan ke dalam folder asset yang baru saja kita buat. Sehingga struktur folder asset akan menjadi seperti ini

dir-asset

 

Selanjutny lakukan penyesuaiann pada file config.php yang berada pada folder aplication/config. Pada baris ke 17 pengaturan base url sesuaikan kodenya menjadi seperti ini

1
$config['base_url'] = 'http://localhost/ci-chat/';

masih dalam file config.php sesuaikan baris ke-344 menjadi seperti ini

1
$config['rewrite_short_tags'] = TRUE;

pengaturan diatas untuk menyingkat penulisan tag. Misalnya pada php biasa kita biasa menggunakan perintah <?php echo “hai”; ?>  maka dengan pengaturan diatas akan disingkat menjadi <?=hai;?>

buka file database.php yang masih berada pada satu folder dengan config.php. lalu pada baris ke-51-54 sesuaikan kodenya menjadi

1
2
3
4
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'cichat';

Selanjutnya buka file autoload.php yang masih berada pada satu folder dengan config.php. lalu pada baris ke-55 sesuaikan kodenya menjadi

1
$autoload['libraries'] = array('database');

pada baris ke-67 sesuaikan menjadi

1
$autoload['helper'] = array('url','form');

 

Lanjut lagi, buka file routes.php yang masih satu folder dengan file diatas. Lalu sesuaikan baris-41 menjadi

1
$route['default_controller'] = "C_chat";

 

Selanjutnya buat file controler baru bernama C_chat.php di folder application/controler dengan source kode sebagai berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class C_chat extends CI_Controller {
 
    public function index()
    {
        $this->load->view('V_chat');
    }
    
    public function kirim_chat()
    {
        $user=$this->input->post("user");
        $pesan=$this->input->post("pesan");
        
        mysql_query("insert into chat (user,pesan) VALUES ('$user','$pesan')");
        redirect ("C_chat/ambil_pesan");
    }
    
    public function ambil_pesan()
    {
        $tampil=mysql_query("select * from chat order by waktu desc");
        while($r=mysql_fetch_array($tampil)){
        echo "<li><b>$r[user]</b> : $r[pesan] (<i>$r[waktu]</i>)</li>";
        }
    }
}

FIle diatas berguna sebagai controler untuk sistem aplikasi chating ini. Sudah paham konsep MVC kan? Nah file C_chat.php inilah yang bertugas mengatur arah program berjalan. Ibarat kapten kapal yang memandu kapalnya. hehe. Namun perlu diingat yah disini kita belum sampai membuat file yang bertugas sebagai model. Karena sistem ini masih sederhana. Namun Anda nantinya dapat mengembangkan sendiri kedepannya. Saya buat dua file dulu agar Anda dapat lebih mudah mempelajarinya.

Pada file diatas terdapat tiga fungsi yaitu index, kirim_chat, dan ambil_pesan. 

Fungsi index adalah fungsi yang pertama kali di eksekusi ketika program di jalankan. Di mana fungsi ini akan memuat file V_chat.php yang akan kita bahas nanti.

Fungsi kirim_chat  bertugas untuk mengirim pesan ke database, terlihat disitu ada beberapa perintah sql insert. Jadi ketika tombol kirim nanti di klik. Fungsi inilah yang akan menerima respon dari inputan user. Lalu ketika proses pemasukan data selesai akan dialihkan ke fungsi ambil_pesan

Fungsi ambil_pesan bertugas untuk mengambil seluruh data dari tabel chat. Inilah fungsi yang membuat kita bisa melihat pesan yang sudah kita inputkan maupun pesan orang lain di kotak pernyataan.

Lanjut kita buat file view baru bernama V_chat.php tempatkan pada folder aplication/views/, berikut adalah source kodenya

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Aplikasi Chatting Sederhana</title>
    <link rel="stylesheet" href="<?=base_url('asset/bootstrap/css/bootstrap.min.css');?>">
    <script src="<?=base_url('asset/bootstrap/js/bootstrap.min.js');?>"></script>
    <script src="<?=base_url('asset/jquery.js');?>"></script>
    <script>   
        $(document).ready(function(){
        
        function tampildata(){
           $.ajax({
            type:"POST",
            url:"<?=site_url('C_chat/ambil_pesan');?>",   
            success: function(data){                
                     $('#isi_chat').html(data);
            
           });
        }
  
  
         $('#kirim').click(function(){
           var pesan = $('#pesan').val();
           var user = $('#user').val();
           $.ajax({
            type:"POST",
            url:"<?=site_url('C_chat/kirim_chat');?>",   
            data: 'pesan=' + pesan + '&user=' + user,       
            success: function(data){                
              $('#isi_chat').html(data);
            
           });
          });
          
          
          setInterval(function(){
                     tampildata();},1000);
        });
    </script>
    <style>
      #isi_chat{height:400px;}
    </style>
</head>
 
<body>
 
<div id="container">
    <h1>Aplikasi Chating Codeigniter, Bootstrap & Jquery</h1>
 
    <div class="col-md-12">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h3 class="panel-title">Kotak Percakapan</h3>
            </div>
            <div class="panel-body" >
             <ul id="isi_chat"> <ul>
            </div>
          </div>
          
          <div class="col-md-2">
              <input placeholder="nama" type="text" id="user" class="form-control">
          </div>
          
          <div class="col-md-8">
              <input placeholder="pesan" type="text" id="pesan" class="form-control">
          </div>
          <div class="col-md-2">
          <input type="button" value="kirim" id="kirim" class="btn btn-md btn-warning">
          </div>
    </div>
</div>
</body>
</html>

 

Nah, pada file diataslah framework bootstrap dan jquery telah unjuk gigi. Pertama kita load dulu file jquery dan bootsrap, pemuatan dilakukan dari baris 6-8 dimana kita memuat file css dan javascript dari bootsrap serta file utama jquery. Lalu pada baris ke-9-40 adalah kode inti dari jquery. Kita menggunakan fitur jquery ajax untuk proses pengiriman datanya. Inilah yang menyebabkan ketika kita klik tombol kirim tidak akan terjadi loading pada aplikasi berkat fitur ajax ini. Selain itu pada baris ke 37 kita menggunakan perintah set-interval. Fungsi sama dengan tombol refresh browser untuk memperbarui tampilan data, cuma tidak menyebabkan loading.

Lalu pada bagian inti terdapat penerapan fitur grid layouting kepunyaan twitter bootstrap. Bagi Anda yang sudah familiar tentang bootsrap tentu sudah tak asing lagi kenapa saya memasukan class col-md-mdean pada masing-masing div elemen, hehe.

Terdapat 2 field inputan, yaitu nama user dan pesan. Ketika kita mengklik tombol kirim data inputan akan masuk ke kotak percakapan.

Tampilan dari file V_chat.php akan terlihat seperti ini

depan

 

Demikianlah tutorial kali ini. Saya harap Anda sekarang mengerti alur kerja dari aplikasi chating dengan tiga framework diatas.

 

referensi[:]

Related Posts
Leave a reply