Latest Post



Apa itu Gammu ? Gammu adalah sebuah project , program atau aplikasi yang memuat script dan driver yang dapat mengatur beberapa fungsi telepon seluler atau sejenisnya. Gammu juga bekerja di dalam command line atau sebagai daemon tools. Oleh karena itu gammu harus di install terlebih dahulu. Berikut Tutorial Install Gammu . 


Download Gammu

Untuk mendapatkan file atau master instalasi kita bisa mendapatkan gammu secara gratis di web resminya . Silahkan download file master installasi gammu yang dipakai pada tutorial ini. Install Gammu .



Yang Harus Disiapkan Untuk Install Gammu
1. Modem yang support gammu. Daftar modem yang support gammu bisa dilihat di http://wammu.eu/phones.
2. XAMPP ( atau sejenisnya)
3. Gammu yang sudah didownload di atas.
4. Text Editor

Tutorial Install Gammu
1. Install driver modem terlebih dahulu .
2. Install XAMPP dan install text editor (Notepad ++  atau Sublime )
3. Ekstak file gammu yang sudah didownload . Copy ke drive c:\
4. Rename folder gammu yang sudah dicopy menjadi c:\gammu
5. Langkah berikutnya yaitu melakukan konfigurasi file gammurc dan smsdrc. Masuk ke direktori C:\gammu\share\doc\gammu\examples\config . Copy kedua file tersebut ke C:\gammu\bin .
6. Pertama kita konfigurasi gammurc-nya. Untuk membuka file ini gunakan aplikasi text editor (notepad++ atau Sublime). Untuk gammurc kita hanya mengubah konfigurasi pada bagian device dan connection. 
Konfigurasi Devie Gammu - Install Gammu
device kita sesuaikan dengan port modem pada komputer. Untuk melihat port modem, masuk ke Device Manager
Device Modem - Install Gammu
Untuk connection silahkan sesuaikan dengan modemnya masing masing . Bisa dilihat di http://wammu.eu/phones .
7. Langkah berikutnya kita melakukan pengecekan apakah konfigurasi modem sudah sesuai. Jalankan Command Prompt (Run As Administrator), kemudian ketikkan perintah berikut untuk masuk ke direktori C:\gammu\bin

cd c:\gammu\bin
Selanjutnya
gammu --identify

Jika Konfigurasinya berhasil akan menampilkan hasil seperti ini .
Idintify Device Modem - Install Gammu
8. Setelah modem sudah terkoneksi, maka selanjutnya tahap menyambungkan dengan database.

Buat database baru di localhost/phpmyadmin, Untuk contoh kali ini buat database dengan nama �gammu� .
Kemudian import database mysql.sql dari folder C:\gammu\share\doc\gammu\examples\sql
Dabatabase - Install Gammu
9. Selanjutnya kita lakukan konfigurasi pada file smsdrc. Jangan lupa hilangkan tanda # pada bagian yang dikofigurasi . Berikut konvigurasi device dan connection pada smsdrc gammu .
Konfigurasti smsdrc - Install gammu

Konfigurasi database di smsdrc gammu

Konfigurasi Database smsdrc - Install Gammu

10. Setelah konfigurasi smsdrc, selanjutnya install service gammu, bukan Command Promt lalu ketik: 

gammu-smsd �i �c smsdrc �n gammuSMSD

jika berhasil maka akan tampil pesan seperti berikut
Install Service - Install Gammu

Kemudian jalankan service gammu dengan perintah

gammu-smsd �s �c smsdrc �n gammuSMSD


jika berhasil maka akan tampil pesan seperti berikut

Start Service - Install Gammu

11. Setelah semuanya dilakukan, cobalah mengirim SMS ke nomor yang ada pada modem. Jika konfigurasi benar maka pesan atau SMS akan masuk ke database dan berada di tabel inbox.

Sekian tutorial Install Gammu. Semoga bisa diterapkan dan bisa bermanfaat. Terima kasih . 

Sistem Operasi Android adalah salah satu sistem operasi yang diperuntukkan perangkat mobile phone (Smarth Phone). Kemampuan yang dimiliki oleh android yang mutakhir dan juga harga pemasaran yang terjangkau membuat jutaan manusia terpikat olehnya.





Sistem Operasi Android dirilis pada tahun 2007 yang lalu dengan versi pertamanya yaitu Android 1.0 (Appel Pie)
Urutan Nama Nama Versi Android Dari A Sampai Sekarang
Android telah membuat inovasi yang signifikan dalam perubahan sistem operasinya sejak pertama kalinya dirilis. Kepopuleran Android bahkan dapat mengimbangi persaingan antar pengembang sistem operasi mobile phone yang dulunya dikuasai oleh pendahulunya yaitu Blackberry OS.


Pernah tidak dalam benak sobat bertanya tanya tentang logo Android tersebut ? Logo si robot hijau yang mungkin setiap hari sobat pakai ini telah di update oleh banyak orang mengenai informasi asal usul logo android tersebut. Namun pihak Android Developer sendiri belum pernah mengumumkan informasi resmi mengenai asal usul logo android tersebut.

Ada beberapa sumber yang menyebutkan tentang teori-teori yang mengungkapkan asal usul terlahirkannya si robot hijau Android seperti yang dibahas di bawah ini :


Sumber yang pertama menyebutkan bahwa logo Android ini diambil dari sebuah karakter yang berada dalam game "Gauntlet : The Third Encounter" yang merupakan game besutan Atari.

Kesamaan Logo Android

Dalam game tersebut terdapat sebuah karakter bernama android, yap dari namanya saja sudah ketahuan kalo karakter ini sama dengan logo Android. Tidak hanya sama dalam nama, namun desain bentuk dari karakter game ini hampir atau bahkan mungkin sama persis dengan logo android saat ini. Memiliki kesamaan mata yang berbentuk bulatan kecil dan sepasang antena tak heran jika ada beberapa pihak mengklaim atas penjiplakan atau plagiat logo android kepada karakter tersebut.


Namun ada juga sumber yang mengatakan bahwa logo android tercipta tanpa adanya unsur plagiat. Menurut sumber yang satu ini logo Android terlahir atas inspirasi Irina dari sebuah simbol manusia yang terdapat pada pintu toilet umum. Tim desainer Irina tersebut kemudian memodifikasi bentuk manusia menjadi bentuk robot berbadan sedikil elips  dengan kepala yang mirip seperti mangkuk yang dibalik.

Demikianlah pembahasan mengenai Asal Usul Maskot Robot Hijau Logo Android , saya sampaikan terima kasih karena sudah berkunjung di blog saya dan semoga postingan saya bermanfaat bagi sobat semuanya.



Login facebook dengan PHP , kita dapat menggunakan facebook login pada website kita dengan menggunakan akun facebook pengguna untuk login ke website kita. Jadi kita kita tidak haru memmbutuhkan form resgistrasi dan manajemen pengguna pada web kita. Cukup kita memanfaatkan facebook login yang bisa di pantau pada halaman aplikasi facebook.

Pada tutorial kali ini cumacoder.com akan membahas bagaimana mengintegrasikan facebook login ke website kita dengan menggunakan Facebook PHP SDK , tutorial ini dilengkapi full source code yang bisa didownload pada akhir tutorial ini.

Membuat Facebook APP ID dan APP Secret.
Langkah Ke - 1 � Kunjungi https://developers.facebook.com/apps/ dan klik Tambahkan Sebuah Aplikasi Baru 
� Pilih Website
� Isi Nama Aplikasi Yang Akan Dibuat dan klik Create New Facebook App ID 
� Pilih kategori aplikasi dan klik Buat ID Aplikasi
� Dan Klik Skip Quick Start

Tutorial Membuat Login Facebook Dengan PHP


Tutorial Membuat Login Facebook Dengan PHP


Tutorial Membuat Login Facebook Dengan PHP

Langkah Ke - 2 � Pada menu Pengaturan, Kita isi form Domain Aplikasi ( Ex:www.cumacoder.com )  dan Email Kontak Selanjutnya klik Tambah Platform .
Tutorial Membuat Login Facebook Dengan PHP

Untuk Url Situs Silahkan Di isi Atau Boleh Dikosongkan
Tutorial Membuat Login Facebook Dengan PHP

Step 3 � Untuk Mengaktifkan Aplikasi silahkan klik Tinjauan Aplikasi, Dan klik tombol untuk mengaktifkan aplikasi .

Source Code File fbconfig.php

Step 4 � Silahkan download source code disini, Facebook Login PHP .


Step 5 � Silahkan buka file fbconfig.php dan masukan APP ID , Secret ID dan ubah nama domain. Seperti dibawah ini.


// init app with app id and secret
FacebookSession::setDefaultApplication( 'Your APP ID','Your APP Secret' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://www.cumacoder.com/fbconfig.php' );

Your APP ID & Your Secret APP Secret : Ganti sesuai dengan aplikasi yang sudah kita buat di facebook .
Step 6 � Full Source Code File fbconfig.php. Silahkan baca baris komentar untuk info lebih detail.
<?php
session_start();
// added in v4.0.0
require_once 'autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// init app with app id and secret
FacebookSession::setDefaultApplication( 'Your APP ID','Your APP Secret' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://www.cumacoder.com/fbconfig.php' );
try {
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
// When Facebook returns an error
} catch( Exception $ex ) {
// When validation fails or other local issues
}
// see if we have a session
if ( isset( $session ) ) {
// graph api request for user data
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // To Get Facebook ID
$fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
$femail = $graphObject->getProperty('email'); // To Get Facebook email ID
/* ---- Session Variables -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $femail;
/* ---- header location after session ----*/
header("Location: index.php");
} else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
?>
Source Code File logout.php
file Logout.php digunakan untuk mengahpus sesi login Facebook dan meneruskannya ke halaman utama website kita


Step 7 � Silahkan input halaman utama setelah 
<?php 
session_start();
session_unset();
$_SESSION['FBID'] = NULL;
$_SESSION['FULLNAME'] = NULL;
$_SESSION['EMAIL'] = NULL;
header("Location: index.php"); // you can enter home page here ( Eg : header("Location: " ."http://www.cumacoder.com");
?>

Source Code File index.php

Step 8 � Pada halaman index ini kita bisa mengatur apa yang akan tampil setelah login dengan facebook dan sebelum login dengan facebook .
Full Source Code index.php .
<?php
session_start();
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Login with Facebook</title>
<link href="http://www.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body>
<?php if ($_SESSION['FBID']): ?> <!-- After user login -->
<div class="container">
<div class="hero-unit">
<h1>Hello <?php echo $_SESSION['USERNAME']; ?></h1>
<p>Welcome to "facebook login" tutorial</p>
</div>
<div class="span4">
<ul class="nav nav-list">
<li class="nav-header">Image</li>
<li><img src="https://graph.facebook.com/<?php echo $_SESSION['FBID']; ?>/picture"></li>
<li class="nav-header">Facebook ID</li>
<li><?php echo $_SESSION['FBID']; ?></li>
<li class="nav-header">Facebook fullname</li>
<li><?php echo $_SESSION['FULLNAME']; ?></li>
<li class="nav-header">Facebook Email</li>
<li><?php echo $_SESSION['EMAIL']; ?></li>
<div><a href="logout.php">Logout</a></div>
</ul></div></div>
<?php else: ?> <!-- Before login -->
<div class="container">
<h1>Login with Facebook</h1>
Not Connected
<div>
<a href="fbconfig.php">Login with Facebook</a></div>
</div>
<?php endif ?>
</body>
</html>

Menyimpan Data User
� Kita Bisa menyimpan data user ke dalam database. Untuk itu silahkan buat struktur tabel seperti berikut: .
CREATE TABLE IF NOT EXISTS `Users` (
`UID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Fuid` varchar(100) NOT NULL,
`Ffname` varchar(60) NOT NULL,
`Femail` varchar(60) DEFAULT NULL,
PRIMARY KEY (`UID`)
);

� Buka dbconfig.php dan sesuaikan dengan settingan database kita.
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root'); // DB username
define('DB_PASSWORD', ''); // DB password
define('DB_DATABASE', 'fblogin'); // DB name
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die( "Unable to connect");
$database = mysql_select_db(DB_DATABASE) or die( "Unable to select database");
?>

� File functions.php merupakan fungsi yang bertugas untuk menyimpan data user ke database.
<?php
require 'dbconfig.php';
function checkuser($fuid,$ffname,$femail){
$check = mysql_query("select * from Users where Fuid='$fuid'");
$check = mysql_num_rows($check);
if (empty($check)) { // if new user . Insert a new record
$query = "INSERT INTO Users (Fuid,Ffname,Femail) VALUES ('$fuid','$ffname','$femail')";
mysql_query($query);
} else { // If Returned user . update the user record
$query = "UPDATE Users SET Ffname='$ffname', Femail='$femail' where Fuid='$fuid'";
mysql_query($query);
}
}?>

Untuk Source Code Dan Database, Silahkan Download dibawah ini . Semoga Tutorial Ini bisa bermanfaat .

Tutorial CodeIgniter 3 : Membuat Tampilan Codeigniter Dengan Bootstrap


Kali ini Cuma Coder akan membahasa tutorial Membuat Tampilan Codeigniter Dengan Bootstrap . Untuk yang belum tahu apa itu Bootstap, Bootstrap adalah front-end framework yang  bagus dan luar biasa yang mengedapankan tampilan untuk mobile device (Handphone, smartphone dll.) guna mempercepat dan mempermudah pengembangan website. Bootstrap menyediakan HTML, CSS dan Javascript siap pakai dan mudah untuk dikembangkan.

Dengan bootstap kita dapan membangun web dengan tampilan responsif. Sehingga web yang kita buat dengan bootstap bisa menyesuaikan secara otomatis dengan layar gadget. Untuk membuat tampilan codeigniter dengan bootstap sangatlah mudah. Yang kita butuhkan hanyalah CSS dan Jquery Bootstap yang dapat didownload langsung di web resminya Bootstrap .


Dalam tutorial ini kita sebaiknya mengatur url codeigniter seperti yang ada di artikel cuma coder yang berjudul Tutorial CodeIgniter 3 : Menghilangkan Index.php Pada URL (Mempercantik URL Pada CodeIgniter 3) . 

Untuk membuat tampilan codeigniter dengan bootstap kita hanya meload css beserta javascript bootstrap yang telah kita download. Untuk peletakan file css dan javascript bootstrap bisa kita buat didalam folder assets pada folder project codeigniter kita. contohnya seperti skema dibawah ini.

ci_bootstrap/
|-- application/
|-- assets/
|---- css/
|------ bootstrap.min.css
|------ style.css
|---- js/
|------ bootstrap.min.js
|------ jquery.min.js
|---- fonts/
|------ glyphicons-halflings-regular.eot
|------ glyphicons-halflings-regular.svg
|------ glyphicons-halflings-regular.ttf
|------ glyphicons-halflings-regular.woff
|------ glyphicons-halflings-regular.woff2
|-- system/
|-- index.php
|-- .htaccess


Untuk template bisa kita gunakan contoh yang ada di http://getbootstrap.com/getting-started/#examples . Untuk tampilan bootstrap kita akan membuat tiga buah file view yaitu 
1. home.php ( Tampilan untuk isi konten )
2. header.php ( Tampilan untuk header dan juga untuk meload css beserta javascript bootstrap)
3. footer.php ( Tampilan footer)

Silahkan buat juga controller home dengan source code seperti dibawah ini :


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller
{
public function __construct()
{
parent::__construct();
}


/**
* Cotoh penggunaan bootstrap pada codeigniter::index()
*/
public function index()
{
$this->load->view('home');
}
}

# nama file home.php
# folder apllication/controller/

Source code home.php :


<? $this->load->view('header');?>

<div class="container">

<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<h1>Membuat Tampilan CodeIgniter Dengan Bootstrap</h1>
<p></p>
<p></p>
<p>
<a class="btn btn-lg btn-primary" href="../../components/#navbar" role="button">View navbar docs &raquo;</a>
</p>
</div>

</div> <!-- /container -->
<? $this->load->view('footer');?>

Source code header.php :


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="FaberNainggolan">
<title>CodeIgniter dengan Bootstrap</title>
<!-- Bootstrap core CSS -->
<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="<?=base_url()?>assets/css/style.css" rel="stylesheet">
</head>

<body>
<!-- Static navbar -->
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Cuma Coder</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#"><i class="glyphicon glyphicon-home"></i> Home</a></li>
<li><a href="#about"><i class="glyphicon glyphicon-info-sign"></i> About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="../navbar/">Default</a></li>
<li class="active"><a href="./">Static top <span class="sr-only">(current)</span></a></li>
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>

Source code footer.php :

<!-- Bootstrap core and JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="<?=base_url()?>assets/js/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/bootstrap.min.js"></script>
</body>
</html>
Jadi kesimpulannya kita hanya meload css dan javascript bootstrap untuk membuat tampilan codeigniter dengan bootstrap. Semoga tutorial ini bermanfaat.

Tutorial Membuat Statistik Pengunjung (Visitor Counter) Dengan PHP dan MySQLi

Salam hangat untuk pembaca blog Cuma Coder. Kali ini saya akan membagikan Tutorial Membuat Statistik Pengunjung dengan PHP. Statistik pengunjung sangatlah berguna bagi blog atau website. Fungsinya sangat jelas, dengan statistik pengunjung kita dapat mengetahui jumlah pengunjung ke website kita dan juga berasal dari mana pengunjung website atau blog kita. Bahkan dengan statistik pengunjung kita bisa melihat konten apa saja yang disukai pengunjung. 

Statistik pengunjung sudah saya terapkan sendiri pada Aplikasi Penerimaan Siswa Baru ( PSB) Online yang pernah saya buat. Dalam tutorial ini kita akan membuat halaman counter sistem menggunakan PHP dan MySQLi . Untuk membuat counter sistem kita akan membuat sebuah file PHP untuk tampilan halaman Counter sistem dan tampilan halaman Total tampilan/pageview.

Membuat Database Statistik Pengunjung
Untuk menyimpan statistik pengunjung dengan PHP kita akan menyimpannya dalam sebuah database. Dalam hal ini kita akan membuat database statistik pengunjung dengan dengan 2 tabel yaitu tabel pageview dan totalview.

1. Membuat Tabel pageview
Tabel pageview ini kita akan menyimpan data berupa ip pengunjung dan halaman apa yang dikunjunginya. untuk membuat tabel pageview silahkan jalankan code ini di comand console :

CREATE TABLE `pageview` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`page` text NOT NULL,
`userip` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

2. Membuat Tabel totalview
Tabel totalview ini merupakan tabel yang akan menyimpan total keseluruhan jumlah pengunjung per halaman yang dikunjunginya. Silahkan buat tabel totalview dengan code dibawah ini :

CREATE TABLE `totalview` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`page` text NOT NULL,
`totalvisit` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

Membuat Tampilan pageview.php Untuk Statistik Pengunjung
Dengan pageview.php kita akan menggunakan ip address pengunjung sebagai nilai untuk statistik pengunjung web kita. Jadi dengan menggunakan ip address pengunjung, kita akan mengecek ke database web kita. Apakah pengunjung dengan ip address tersebut sudah mengunjungi halaman web kita atau belum. Jika belum , maka kita akan dilakukan penjumlahan ke dalam database. Untuk source code pageview.php yang digunakan sebagai statistik pengunjung silahkan contoh source code dibawah ini :
 


<?php
$mysqli = new mysqli("localhost", "root", "", "db_statistik");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

// ambul ip address user
$user_ip=$_SERVER['REMOTE_ADDR'];

//cek apakah sudah dikunjungi oleh ip address diatas
$check_ip = $mysqli->query("select userip from pageview where page='yourpage' and userip='$user_ip'");
if($check_ip->num_rows>=1)
{
}
else
{
//jika belum dikunjungi oleh ip address user diatas akan melakukan perhitungan
$mysqli->query("insert into pageview values('','yourpage','$user_ip')");
$mysqli->query("update totalview set totalvisit = totalvisit+1 where page='yourpage' ");
}
?>

<html>
<head>
</head>

<body>
<?php
//menampilkan statistik pengunjung
$stmt = $mysqli->query("select totalvisit from totalview where page='yourpage' ");
?>

<p>Ip Address Anda <?php echo $user_ip=$_SERVER['REMOTE_ADDR'];;?></p>

<p>Halaman ini telah dikunjungi sebangak <?php echo $stmt->num_rows;?> kali.</p>

</body>
</html>
Hasil tampilan statistik pengunjung dengan sourcecode pageview.php diatas seperti dibawah berikut ini. Untuk source code dan database statistik pengunjung dengan PHP dan MySQLi bisa di download di akhir tutorial ini. Jika ada pertanyaan, kritik dan saran mengenai tutorial membuat statistik pengunjung dengan PHP bisa anda tuliskan dikolom komentar dibawah. Terima kasih telah membaca tutorial ini, semoga bermanfaat .

Tutorial Membuat Statistik Pengunjung (Visitor Counter) Dengan PHP dan MySQLi

Upload Gambar (Image), Rename dan Resize dengan MySQLi + Bootstrap Full Source Code

Halo ! Cuma Coder kali ini akan membagikan tutorial mengenai Upload Gambar (Image) pada framework CodeIgniter 3. Tutorial ini selain membahas tentang Upload Gambar kita akan sekaligus membahas mengenai fungsi rename (mengubah nama file gambar) dan resize (merubah ukuran gambar ) setelah kira melakukan upload. 
Di dalam framework CodeIgniter sendiri juga sudah disediakan library upload dan image_lib (library untuk manipulasi gambar) . Pastikan kedua library tersebut sudah ada pada folder library CodeIgniter 3. Biasanya sih sudah ada kalau kita mendownload CodeIgniter dari web resminya.
Oke langsung saja kira masuk ke Tutorial CodeIgniter 3 :  Upload Image, Rename dan Resize.

1 . Setting Dan Database

  1. Karena kita menggunakan Bootstrap silahkan Download Bootstrap dan letakan di folder assets
  2. Setting default controller menjadi upload di config/routes.php
  3. Karena kita menggunakan library upload dan library image_lib serta penyimpanan data kedatabase. maka kita load libray tersebut secara otomatis di config/autoload.php
  4. Sebaiknya kita menghilangkan index.php pada url untuk mepercantik url. Silahkan Baca Tutorial CodeIgniter 3 : Menghilangkan Index.php Pada URL (Mempercantik URL Pada CodeIgniter 3)
Dalam tutorial kali ini kita menggunakan database driver MySQLi jadi kita set dulu database driver nya di file database.php yang berada pafa folder /application/config/ . Untuk pengaturannya bisa di sesuaikan. 

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'img_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Selanjutnya kita buat database dan tabelnya . Untuk tabelnya bisa dengan menjalankan script dibawah ini di comand console.

CREATE TABLE `upload_img` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`namafile` varchar(35) DEFAULT NULL,
`type` varchar(10) DEFAULT NULL,
`keterangan` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
2. Controller
Untuk controllernya kita menggunakan satu controller yang memiliki beberapa fungsi antara lain :
  1. Function Index (Fungsi untuk menampilkan halaman home yang berisi file yang telah di upload)
  2. Function Add ( Fungsi untuk menampilkan form upload gambar)
  3. Function Insert ( Fungsi untuk upload gambar , rename , dan resize. Serta menyimpan ke database )

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Upload extends CI_Controller {

var $limit=10;
var $offset=10;

public function __construct() {
parent::__construct();
$this->load->model('model_upldgbr'); //load model model_upldgbr yang berada di folder model
$this->load->helper(array('url')); //load helper url
}

public function index($page=NULL,$offset='',$key=NULL)
{
$data['query'] = $this->model_upldgbr->get_allimage(); //query dari model

$this->load->view('home',$data); //tampilan awal ketika controller upload di akses
}

public function add() {
//view yang tampil jika fungsi add diakses pada url
$this->load->view('fupload');

}
public function insert(){
$this->load->library('upload');
$nmfile = "file_".time(); //nama file + fungsi time
$config['upload_path'] = './assets/uploads/'; //Folder untuk menyimpan hasil upload
$config['allowed_types'] = 'gif|jpg|png|jpeg|bmp'; //type yang dapat diakses bisa anda sesuaikan
$config['max_size'] = '3072'; //maksimum besar file 3M
$config['max_width'] = '5000'; //lebar maksimum 5000 px
$config['max_height'] = '5000'; //tinggi maksimu 5000 px
$config['file_name'] = $nmfile; //nama yang terupload nantinya

$this->upload->initialize($config);

if($_FILES['filefoto']['name'])
{
if ($this->upload->do_upload('filefoto'))
{
$gbr = $this->upload->data();
$data = array(
'namafile' =>$gbr['file_name'],
'type' =>$gbr['file_type'],
'keterangan' =>$this->input->post('textket')

);

$this->model_upldgbr->get_insert($data); //akses model untuk menyimpan ke database
//dibawah ini merupakan code untuk resize
$config2['image_library'] = 'gd2';
$config2['source_image'] = $this->upload->upload_path.$this->upload->file_name;
$config2['new_image'] = './assets/hasil_resize/'; // folder tempat menyimpan hasil resize
$config2['maintain_ratio'] = TRUE;
$config2['width'] = 100; //lebar setelah resize menjadi 100 px
$config2['height'] = 100; //lebar setelah resize menjadi 100 px
$this->load->library('image_lib',$config2);

//pesan yang muncul jika resize error dimasukkan pada session flashdata
if ( !$this->image_lib->resize()){
$this->session->set_flashdata('errors', $this->image_lib->display_errors('', ''));
}
//pesan yang muncul jika berhasil diupload pada session flashdata
$this->session->set_flashdata("pesan", "<div class=\"col-md-12\"><div class=\"alert alert-success\" id=\"alert\">Upload gambar berhasil !!</div></div>");
redirect('upload'); //jika berhasil maka akan ditampilkan view upload
}else{
//pesan yang muncul jika terdapat error dimasukkan pada session flashdata
$this->session->set_flashdata("pesan", "<div class=\"col-md-12\"><div class=\"alert alert-danger\" id=\"alert\">Gagal upload gambar !!</div></div>");
redirect('upload/add'); //jika gagal maka akan ditampilkan form upload
}
}
}
}
3. Views
Dalam tutorial ini kita akan membuat 2 view . View yang pertama yang berfungsi untuk menampilkan daftar gambar yang telah di upload. View pertama kita beri nama home.php . File home,php ini akan menampilkan berupa gambar yang ada di folder /assets/hasil_resize yaitu gambar yang hasil upload yang telah di resize sebagai thumbnailnya. Untuk tampilan dan source code home.php bisa anda tiru source code dibawah ini.
<head>
<title>Upload Gambar (Image), Rename dan Resize</title> <!-- variabel diambil dari controller -->

<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet"> <!-- Bootstrap core CSS -->
<link href="<?=base_url()?>assets/css/style.css" rel="stylesheet"> <!-- Custom styles for this template -->
<style>

body{
margin:20px 10%;
}
</style>
</head>

<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="panel panel-default">
<div class="panel-heading"><b> Daftar File IMage</b></div>
<div class="panel-body">

<?=$this->session->flashdata('pesan')?>
<p>
<a href="<?=base_url()?>upload/add" class="btn btn-success">Tambah</a>
</p>
<table class="table table-bordered table-striped">
<tr>
<th>Nama File</th>
<th>Tipe File</th>
<th>Gambar File</th>
<th>Keterangan</th>
</tr>
<? foreach ($query as $row)
{
?>
<tr>
<td><?=$row->namafile;?></td>
<td><?=$row->type;?></td>
<td><img src="<?=base_url()?>assets/hasil_resize/<?=$row->namafile;?>"></td>
<td><?=$row->keterangan;?></td>
</tr>
<?php } ?>
</table>

</div>
</div>
</div>
Tampilan view home dengan source code seperti diatas akan menampilakan seperti gambar dibawah ini.


Selanjutnya view kedua merupakan tampilan untuk form upload yang berfungsi sebagai input gambar yang akan di upload. View kedua ini kita beri nama fupload.php. Untuk source code nya seperti dibawah ini.

<head>
<title>Upload Gambar (Image), Rename dan Resize</title>

<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet"> <!-- Bootstrap core CSS -->
<link href="<?=base_url()?>assets/css/style.css" rel="stylesheet"> <!-- Custom styles for this template -->
<style>

body{
margin:20px 10%;
}
</style>
</head>

<div class="container">
<!-- Main component for a primary marketing message or call to action -->
<div class="panel panel-default">
<div class="panel-heading"><b>Form Upload Image</b></div>
<div class="panel-body">
<?=$this->session->flashdata('pesan')?>
<form action="<?=base_url()?>upload/insert" method="post" enctype="multipart/form-data">
<table class="table table-striped">

<tr>
<td style="width:15%;">File Foto</td>
<td>
<div class="col-sm-6">
<input type="file" name="filefoto" class="form-control">
</div>
</td>
</tr>
<tr>
<td style="width:15%;">Keterangan Foto</td>
<td>
<div class="col-sm-10">
<textarea name="textket" class="form-control"></textarea>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" class="btn btn-success" value="Simpan">
<button type="reset" class="btn btn-default">Batal</button>
</td>
</tr>
</table>
</form>
</div>
</div> <!-- /panel -->

</div> <!-- /container -->
4. Modal
Untuk menghubungkan kedatabase tentunya kita menggunakan modal. untuk modalnya kita beri nama model_upldgbr.php . Dalam modal ini terdapat 2 query , antara lain :

  1. function get_allimage ( fungsi untuk menampilkan semua data dari tabel)
  2. function get_insert ( fungsi untuk menyimpan data gambar ke database pada saat proses upload)
Source code model_upldgbr.php seperti dibawah ini :

<?php
class model_upldgbr extends CI_Model {

var $tabel = 'upload_img';

function __construct() {
parent::__construct();
}

//fungsi untuk menampilkan semua data dari tabel database
function get_allimage() {
$this->db->from($this->tabel);
$query = $this->db->get();
return $query->result();
}

//fungsi insert ke database
function get_insert($data){
$this->db->insert($this->tabel, $data);
return TRUE;
}

}

?>
Untuk contoh source code yang sudah jadi silahkan anda download source code dan database dibawah ini. Semoga tutorial ini bisa bermanfaat. Untuk pertanyaan, kritik dan saran. silahkan dituangkan di form komentar di akhir poStingan ini .

Menghilangkan Index.php Pda URL CodeIgniter

Saat kita mengakses url/project CodeIgniter kita ,pasti kita melihat index.php seperti pada url http://localhost/project/index.php/home/. index.php pada codeigniter dapat kita hilangkan dengan mudah sehingga kita tidak perlu lagi menggunakan index.php pada url project codeigniter kita. Jika index.php di hilangkan maka hasilnya akan seperti url berikut ini http://localhost/project/home/ . Jadi url codeigniter kita terlihat rapi dan cantik.

Jadi untuk menghilangkan index.php pada Codeigniter kita ikuti tutorial dibawah ini :

Menghilangkan index.php
Kita hanya mengedit sedikit file /application/config/condig.php. Buka file tersebut, dan cari index_page seperti dibawah ini :

$config['index_page'] = 'index.php';
Dan edit menjadi seperti dibawah ini, atau lebih tepatnya hapus index.php

$config['index_page'] = '';

Setelah melakukan langkah diatas. Sekarang kita buat file .htaccess pada direktori root project CodeIgniter kita. Untuk isi file .htaccess nya seperti dibawah ini.

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]

Untuk mencoba hasil dari menghilangkan index.php pada codeigniter silahkan akses url pada project codeigniter tanpa index.php . Biasanya kita mengakses dengan url http://localhost/project/index.php/home/ maka silahkan akses dengan url http://localhost/project/home/ . Jika hasil yang ditampilkan dari kedua url tersebut sama maka anda berhasil Mempercantik URL dengan menghilangkan index.php pada CodeIgniter. 

Author Name

Formulir Kontak

Nama

Email *

Pesan *

Diberdayakan oleh Blogger.