Friday, May 13, 2016

CI dengan Grocery Crud

Setelah kemarin sudah mencoba membuat web dengan Code Igniter, sekarang kita akan menggunakan plugin bernama Grocery Crud.

1. Pertama, download Grocery Crud di sini http://www.grocerycrud.com/downloads
pilih yang latest version saja.
Kemudian pindahkan satu-satu filenya sesuai dengan foldernya ke dalam folder web localhost yang diinginkan.

website_folder/ 
–––– application/ 
–––––––– config/ 
–––––––––––– autoload.php 
–––––––––––– ... 
–––––––––––– doctypes.php 
–––––––––––– foreign_chars.php 
–––––––––––– grocery_crud.php 
–––––––––––– ... 
–––––––– controllers/ 
–––––––––––– examples.php 
–––––––––––– index.html 
–––––––––––– welcome.php 
–––––––– libraries/ 
–––––––––––– grocery_crud.php 
–––––––––––– index.html 
–––––––– models/ 
–––––––––––– grocery_crud_model.php 
–––––––––––– index.html 
–––––––– views/ 
–––––––––––– example.php 
–––––––––––– index.html 
–––––––––––– welcome_message.php 
–––– assets/ 
–––––––– grocery_crud/ 
–––––––––––– css/ 
–––––––––––– js/ 
–––––––––––– texteditor/ 
–––––––––––– themes/ 
–––––––– uploads/ 
–––––––– index.html 

–––– system/ 
–––– user_guide/ 
–––– change_log.txt 
–––– example_database.sql 
–––– index.php 
–––– licence-grocery-crud.txt 
–––– license.txt

2. lalu pada database.php ubahlah sesuai nama dbms
 
$active_group = 'default';  
 $query_builder = TRUE;  
 $db['default'] = array(  
      'dsn'     => '',  
      'hostname' => 'localhost',  
      'username' => 'root',  
      'password' => '',  
      'database' => 'employees',  
      '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  

3. lalu buat controller baru pada folder controller
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');  
 class Main extends CI_Controller {  
   function __construct()  
   {  
     parent::__construct();  
     $this->load->database();  
   }  
   public function index()  
   {  
     echo "<h1>Hello World</h1>";  
     die();  
   }  
 }>

Nanti hasilnya akan keluar tulisan Hello World pada layar localhost

4.Kemudian buat tabel pada database
CREATE TABLE IF NOT EXISTS `employees` (  
  `employeeNumber` int(11) NOT NULL AUTO_INCREMENT,  
  `lastName` varchar(50) NOT NULL,  
  `firstName` varchar(50) NOT NULL,  
  `extension` varchar(10) NOT NULL,  
  `email` varchar(100) NOT NULL,  
  `officeCode` varchar(10) NOT NULL,  
  `file_url` varchar(250) CHARACTER SET utf8 NOT NULL,  
  `jobTitle` varchar(50) NOT NULL,  
  PRIMARY KEY (`employeeNumber`)  
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1703 ;  
 INSERT INTO `employees` (`employeeNumber`, `lastName`, `firstName`, `extension`, `email`, `officeCode`, `file_url`, `jobTitle`) VALUES  
 (1002, 'Murphy', 'Diane', 'x5800', 'dmurphy@classicmodelcars.com', '1', '', 'President'),  
 (1056, 'Patterson', 'Mary', 'x4611', 'mpatterso@classicmodelcars.com', '1', '', 'VP Sales'),  
 (1076, 'Firrelli', 'Jeff', 'x9273', 'jfirrelli@classicmodelcars.com', '1', '', 'VP Marketing'),  
 (1088, 'Patterson', 'William', 'x4871', 'wpatterson@classicmodelcars.com', '6', '', 'Sales Manager (APAC)'),  
 (1102, 'Bondur', 'Gerard', 'x5408', 'gbondur@classicmodelcars.com', '4', 'pdftest.pdf', 'Sale Manager (EMEA)'),  
 (1143, 'Bow', 'Anthony', 'x5428', 'abow@classicmodelcars.com', '1', '', 'Sales Manager (NA)'),  
 (1165, 'Jennings', 'Leslie', 'x3291', 'ljennings@classicmodelcars.com', '1', '', 'Sales Rep'),  
 (1166, 'Thompson', 'Leslie', 'x4065', 'lthompson@classicmodelcars.com', '1', '', 'Sales Rep'),  
 (1188, 'Firrelli', 'Julie', 'x2173', 'jfirrelli@classicmodelcars.com', '2', 'test-2.pdf', 'Sales Rep'),  
 (1216, 'Patterson', 'Steve', 'x4334', 'spatterson@classicmodelcars.com', '2', '', 'Sales Rep'),  
 (1286, 'Tseng', 'Foon Yue', 'x2248', 'ftseng@classicmodelcars.com', '3', '', 'Sales Rep'),  
 (1323, 'Vanauf', 'George', 'x4102', 'gvanauf@classicmodelcars.com', '3', '', 'Sales Rep'),  
 (1337, 'Bondur', 'Loui', 'x6493', 'lbondur@classicmodelcars.com', '4', '', 'Sales Rep'),  
 (1370, 'Hernandez', 'Gerard', 'x2028', 'ghernande@classicmodelcars.com', '4', '', 'Sales Rep'),  
 (1401, 'Castillo', 'Pamela', 'x2759', 'pcastillo@classicmodelcars.com', '4', '', 'Sales Rep'),  
 (1501, 'Bott', 'Larry', 'x2311', 'lbott@classicmodelcars.com', '7', '', 'Sales Rep'),  
 (1504, 'Jones', 'Barry', 'x102', 'bjones@classicmodelcars.com', '7', '', 'Sales Rep'),  
 (1611, 'Fixter', 'Andy', 'x101', 'afixter@classicmodelcars.com', '6', '', 'Sales Rep'),  
 (1612, 'Marsh', 'Peter', 'x102', 'pmarsh@classicmodelcars.com', '6', '', 'Sales Rep'),  
 (1619, 'King', 'Tom', 'x103', 'tking@classicmodelcars.com', '6', '', 'Sales Rep'),  
 (1621, 'Nishi', 'Mami', 'x101', 'mnishi@classicmodelcars.com', '5', '', 'Sales Rep'),  
 (1625, 'Kato', 'Yoshimi', 'x102', 'ykato@classicmodelcars.com', '5', '', 'Sales Rep'),  
 (1702, 'Gerard', 'Martin', 'x2312', 'mgerard@classicmodelcars.com', '4', '', 'Sales Rep');  

5.Lalu controller tadi yang sudah kita buat, tambahkan lagi datanya menjadi seperti ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');  
 class Main extends CI_Controller {  
   function __construct()  
   {  
     parent::__construct();  
     /* Standard Libraries of codeigniter are required */  
     $this->load->database();  
     $this->load->helper('url');  
     /* ------------------ */   
     $this->load->library('grocery_CRUD');  
   }  
   public function index()  
   {  
     echo "<h1>Hello World</h1>";  
     die();  
   }  
   public function employees()  
   {  
     $this->grocery_crud->set_table('employees');  
     $output = $this->grocery_crud->render();  
     echo "<pre>";  
     print_r($output);  
     echo "</pre>";  
     die();  
   }  
 }  

6.Kemudian, pada folder views tambahkan file ini
<!DOCTYPE html>  
 <html lang="en">  
 <head>  
   <meta charset="utf-8" />  
 <?php   
 foreach($css_files as $file): ?>  
   <link type="text/css" rel="stylesheet" href="<?php echo $file; ?>" />  
 <?php endforeach; ?>  
 <?php foreach($js_files as $file): ?>  
   <script src="<?php echo $file; ?>"></script>  
 <?php endforeach; ?>  
 <style type='text/css'>  
 body  
 {  
   font-family: Arial;  
   font-size: 14px;  
 }  
 a {  
   color: blue;  
   text-decoration: none;  
   font-size: 14px;  
 }  
 a:hover  
 {  
   text-decoration: underline;  
 }  
 </style>  
 </head>  
 <body>  
 <!-- Beginning header -->  
   <div>  
     <a href='<?php echo site_url('examples/offices_management')?>'>Offices</a> |   
     <a href='<?php echo site_url('examples/employees_management')?>'>Employees</a> |  
     <a href='<?php echo site_url('examples/customers_management')?>'>Customers</a> |  
     <a href='<?php echo site_url('examples/orders_management')?>'>Orders</a> |  
     <a href='<?php echo site_url('examples/products_management')?>'>Products</a> |   
     <a href='<?php echo site_url('examples/film_management')?>'>Films</a>  
   </div>  
 <!-- End of header-->  
   <div style='height:20px;'></div>   
   <div>  
     <?php echo $output; ?>  
   </div>  
 <!-- Beginning footer -->  
 <div>Footer</div>  
 <!-- End of Footer -->  
 </body>  
 </html>  


7.Pada file controller tadi, tambahkan ini
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');  
 class Main extends CI_Controller {  
   function __construct()  
   {  
     parent::__construct();  
     /* Standard Libraries of codeigniter are required */  
     $this->load->database();  
     $this->load->helper('url');  
     /* ------------------ */   
     $this->load->library('grocery_CRUD');  
   }  
   public function index()  
   {  
     echo "<h1>Welcome to the world of Codeigniter</h1>";//Just an example to ensure that we get into the function  
         die();  
   }  
   public function employees()  
   {  
     $this->grocery_crud->set_table('employees');  
     $output = $this->grocery_crud->render();  
     $this->_example_output($output);      
   }  
   function _example_output($output = null)  
   {  
     $this->load->view('our_template.php',$output);    
   }  
 }  


8.Kemudian, bukalah localhost tersebut maka tampilannya akan seperti ini


Thursday, April 7, 2016

Belajar dengan CodeIgniter [CI]

Langkah Instalasi

1.  Download CodeIgniter di : https://www.codeigniter.com/download
    (Saya menggunakan CodeIgniter 3)
2. Extract CodeIgniter-3.0.6 ke dalam folder C:/xampp/htdocs

Langkah Inisiasi untuk membuat "Hello World" dan Tabel Phonebook

1. Buka folder CodeIgniter dengan text editor (saya menggunakan Sublime Text 3), Inisiasi dilakukan dengan membuat kerangka/template web
2. Pada application/controllers ,buatlah file baru dengan nama pages.php yang berisi
<?php
class Pages extends CI_Controller {

        public function view($page = 'home')
        {
        }
}
3. Kemudian, pada application/views buatlah folder baru bernama templates. Lalu di dalam folder template buatlah file baru bernama header.php (file ini berisi header dari web)
<html>
        <head>
                <title>CodeIgniter Tutorial</title>
        </head>
        <body>

                <h1><?php echo $title; ?></h1>

4. Buat juga footer.php di dalam folder templates tadi
 <em>&copy; 2016</em>
        </body>
</html>
5. Lalu, di bagian views buatlah folder baru bernama pages yang nantinya digunakan untuk menyimpan file page-page yang ingin ditampilkan dalam web. Buatlah suatu file di dalamnya, misalnya home.php. Isilah dengan "HELLO WORLD"

6. Kemudian pada bagian routes.php ubah default_controllernya mengarah ke folder pages
$route['default_controller'] = 'pages';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
7. Kemudian buatlah database di phpmyadmin untuk membuat web phonebook

8. Kembali lagi ke sublime text 3, pada bagian autoload.php , tambahkan 'database' di dalam array berikut
$autoload['libraries'] = array('database', 'session');

9. Pada database.php, editlah bagian di bawah ini
'hostname' => 'localhost',
 'username' => 'root',
 'password' => '',
 'database' => 'phonebook',

localhost adalah server kita, usernamenya root dan password defaultnya tidak ada. kemudia database adalah nama database kita di phpmyadmin

10. Pada bagian views/pages buatlah file baru di dalamnya misalnya namanya tabel.php yang berisi tabel untuk menampilkan data dari database

<table border="1"> <thead> <tr> <th>Nama</th> <th>Alamat</th> <th>HP</th> <th>Email</th> <th>Kelas</th> </tr> <?php foreach($phone as $row) { ?> <tr> <td><?php echo $row->nama;?></td> <td><?php echo $row->alamat;?></td> <td><?php echo $row->hp;?></td> <td><?php echo $row->email;?></td> <td><?php echo $row->kelas;?></td> </tr> <?php } ?> </table>

11.  Untuk bagian query pada back end nya, di bagian models buatlah file baru misal namanya phonebook.php
<?php

class Phonebook extends CI_Model {

 function view()
 {
  $query = "SELECT * FROM MAHASISWA";
  
  $hasil = $this->db->query($query);

  return $hasil->result();
 }
}

12. Kemudian pada bagian controller, buatlah file bernama pages.php yang berfungsi untuk menghubungkan view dengan model

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

class Pages extends CI_Controller {

 function __construct()
 {
  parent::__construct();
  $this->load->model('phonebook');
 } 
 public function index()
 {
  $data['phone'] = $this->phonebook->view();
  $this->load->view('pages/home');
  $this->load->view('pages/tabel', $data);
 }
}
13.Sebelum selesai mengkoding dan melihat isi halaman web, tambahkan kode ini ke dalam pages.php yang gunanya untuk load halaman web
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Pages extends CI_Controller {

 function __construct()
 {
  parent::__construct();
  $this->load->model('phonebook');
 } 
 public function index()
 {
  $data['phone'] = $this->phonebook->view();
  $this->load->view('pages/home');
  $this->load->view('pages/tabel', $data);
 }
}
14.Kemudian tes untuk membuka isi web yang sudah kita buat.


Friday, April 1, 2016

UTS PWEB

SOAL 1

Link : http://kathotel.com

Biaya yang dikeluarkan sekitar Rp396.000 untuk domain dan hosting

Langkah-langkah mengerjakan :
1. membuat database di localhost, atau langsung di phpmyadmin dari cpanel


2. membuat interfacenya lewat localhost


3. memasukkan data interface localhost melalui cpanel
  -buka cpanel lalu cari bagian File

-pilih upload untuk upload file localhost 



-lalu bisa dibuka melalui domain



Fitur yang tersedia

1.Mencari hotel,apartemen,dan homestay yang tersedia berdasarkan kategori dan tanggal check in check outnya (database masih dalam proses)


2.Login member area (database masih dalam proses)

3.Contact us beserta map



SOAL 2

1) config.php

<?php
 
$dbhost = 'localhost'; 
$dbuser = 'root';     // ini berlaku di xampp
$dbpass = '';         // ini berlaku di xampp
$dbname = 'utspweb';
 
// melakukan koneksi ke database
$connect = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
 
// cek koneksi yang kita lakukan berhasil atau tidak
if ($connect->connect_error) {
   // jika terjadi error, matikan proses dengan die() atau exit();
   die('Maaf koneksi gagal: '. $connect->connect_error);
}
?>


2) login.php
<pre><code>?php  
  include 'configi.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">  
   <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->  
   <title>UTS Pweb</title>  
   <!-- Bootstrap -->  
     <link href="css/bootstrap.min.css" rel="stylesheet">  
  </head>  
 <div class="col-sm-3" padding-top:10px">  
   <form action="login_auth.php" method="POST">  
 <div class="contact-bottom">  
     <label>Username : </label>  
     <input name="nama_user" type="text" placeholder="Username" />  
     <label>Password : </label>  
     <input name="password_user" type="password" placeholder="Password" />  
 <div class="submit-btn">  
      <input type="Submit" value="Login">  
 </div>  
 </div>  
   </form>  
 </div>  
 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->  
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>  
   <!-- Include all compiled plugins (below), or include individual files as needed -->  
   <script src="js/bootstrap.min.js"></script>  
  </body>  
 </html></code></pre>  







3) tampilkandata.php


 <pre><code><?php   
  include'config.php';  
 $i=1;  
 echo '  
 <table border="1" style="background-color:yellow">  
 <thead>  
 <td> No.</td>  
 <td>Kode</td>  
 <td>Mata Praktikum</td>  
 <td> Jumlah Praktikan</td>  
 </thead>  
 <tbody>';  
 echo '  
 <h1>Data Mata Praktikum dan Jumlah Praktikan</h1>  
 ';  
 if($resultc = $connect->query("SELECT * FROM `praktikum`")){  
         while($rowc = $resultc->fetch_assoc()) {  
            echo '  
 <tr>';  
             echo '  
 <td>', $i++,'</td>  
 ';  
             echo '  
 <td>', $rowc['kode_mk'],'</td>  
 ';  
             echo '  
 <td>', $rowc['nama_mk'],'</td>  
 ';  
             echo '  
 <td>', $rowc['jumlah_praktikum'],'</td>  
 ';  
           echo '</tr>  
 ';  
           }  
         $resultc->free();  
 }  
 echo '</tbody>  
 </table>  
 ';  
 echo '  
 <div style="text-align:center"><button > Tambah Data MK</button></div>  
 ';  
 ?></code></pre>  

























Thursday, March 10, 2016

10k line of code

Kali ini saya akan menjelaskan tentang pemrograman PHP tingkat awal, yaitu mencoba connect dengan database dan mencoba beberapa kodingan dasar dalam bahasa pemrograman PHP.
Sebenarnya bahasa pemrograman PHP tidak jauh beda dengan bahasa C, jadi kalau sudah pernah belajar bahasa C pasti tidak akan kesulitan lagi untuk belajar bahasa pemrograman PHP.

P.S: File .php dapat membaca <html> , sedangkan file dengan ekstensi .html tidak dapat membaca <php>

Aplikasi yang saya gunakan adalah Sublime Text 3 untuk text editornya dan XAMPP Control Panel untuk webservernya. Pertama-tama buka dulu aplikasi XAMPP Control Panel, aktifkan mysql dan apache


Kemudian, setelah running maka buka sublime dan mulai membuat kodingan untuk connect ke database
kodingannya :
<?php $servername = "localhost";$username = "";$password = ""; $conn = mysqli_connect($servername, $username, $password);if (!$conn) { die("connection failed:" . mysqli_connect_error());}echo "Connection successfully";?>


hasilnya


--------------------------------------------------------------------------------------------------------------------------

Berikut contoh beberapa kodingan bahasa pemrograman yang saya coba

PEMROGRAMAN ARRAY
Contoh 1 :


 kodingan:
<html>
<head>
<Title> Pemograman PHP dengan Array </title>
</head>
<body>
<?php
$sapaan[]="Halo";
$sapaan[]="Selamat Pagi";
echo "$nickname[0] $nickname[1]";
echo "<br>";
$nama[1]="Kania";
$nama[2]="Amalia";
echo "Nama saya $nama[1] $nama[2]";
echo "<br>";
$kampus[1]="ITS";
$kampus[2]="Surabaya";
echo "Saya kuliah di adalah $kampus[1] $kampus[2]";
echo "<br>";
$jurusan[1]="Teknik";
$jurusan[2]="Informatika";
echo " Jurusan saya yakni $jurusan[1] $jurusan[2]";
?>
</body>
</head>
</html>
hasilnya


 Contoh 2 :
kodingannya :
<html>
<head>
<title> Coba Variabel </title>
</head>
<body>
<?php
$kata[]="Coba";
$kata[]="belajar";
$kata[]="menghitung !";
echo "$kata[0] $kata[1] $kata[2]";
echo "<br>";
$nilai_1 = 10;
$nilai_2 = 4;
$nilai_3 = 2 * $nilai_1 + 7 * $nilai_2;
$jumlah=$nilai_1+$nilai_2;
$bagi=$nilai_1/$nilai_2;
$kurang=$nilai_1-$nilai_2;
echo"--------------------------------------<br>";
echo "nilai pertama = $nilai_1 <br>";
echo "nilai kedua = $nilai_2 <br><br>";
echo "pertanyaan pertama : <br>";
echo "hasil penjumlahan dari 2 dikali nilai pertama ditambahkan dgn
7 dikali nilai kedua? <br>";
echo "jawab : <br> hasil dari (2 * $nilai_1) + (7 * $nilai_2) = $nilai_3 <br><br>";
echo "pertanyaan kedua : <br>";
echo "hasil penjumlahan dari kedua nilai ? <br>";
echo "jawab : <br> hasil dari $nilai_1 + $nilai_2 adalah : $jumlah <br><br>";
echo "pertanyaan ketiga : <br>";
echo "hasil pembagian dari kedua nilai ? <br>";
echo "jawab : <br> hasil dari $nilai_1 / $nilai_2 adalah : $bagi <br><br>";
echo "pertanyaan ketiga : <br>";
echo "hasil pengurangan dari kedua nilai ? <br>";
echo "jawab : <br> hasil dari $nilai_1 - $nilai_2 adalah : $kurang <br><br>";
?>
</body>
</html> 

-------------------------------------------------------------------------------------------------------------------------
IF ELSE
Contoh :

kodingannya :
<html>
<head>
<title> Fungsi IF ELSE </title>
</head>
<body>
<?php
$bil = 10;
if($bil%2==0)
echo "Bilangan $bil merupakan bilangan genap";
else
echo "Bilangan $bil merupakan bilangan ganjil";
?>
</body>
</html>

hasilnya 

--------------------------------------------------------------------------------------------------------------------------
FUNGSI SWITCH
Contoh :
hasilnya

 kodingannya :
<html>
<body>
<?php
$jurusan = "TI";
switch($jurusan)
{
case "KA":
echo "$jurusan = Komputerisasi Akuntansi";
break;
case "TI":
echo "$jurusan = Teknik Infomatika";
break;
case "MI":
echo "$jurusan = Manajemen Informatika ";
break;
case "SI":
echo "$jurusan = Sistem Informasi";
break;
default:
echo "$jurusan tidak terdaftar";
}
?>
</body>
</html>

Fractal Tree