Kamis, 03 Agustus 2017

Senin, 10 Juli 2017

Free Download Aplikasi Sederhana CRUD Dengan Menggunakan PHP OOP

Hallo pembaca setia Oimtrust??

Ups... kok oimtrust?? Yups, sebelumnya kan Otrust jadi sekarang pake nama asli aja. panggil aja oim atau saya sendiri akan memanggil oimtrust. Saya?? Haha.... ah udahlah nggak usah di bahas.

Sudah lama oimtrust nggak nulis nih. Kalian pada kangen yah? Apa, nggak?? Makasih dah udah jujur. Tapi nggak apa-apa oimtrust sendiri juga ikhlas menerimanya. wkwkwkw.

Sesuai dengan judul yang oimtrust tulis, karena belum sempat memposting tutorial akhirnya mau nggak mau lebih baik posting source code gratis. Nah, source code yang oimtrust bagikan kali ini adalah aplikasi CRUD sederhana. Aplikasi ini menggunakan Framework CSS Materializecss yang teman-teman bisa download disini, dan memanfaatkan icon dari Material Design Icon yang bisa di download disini. Supaya terlihat cantik validasi form-nya saya menggunakan Sweet Alert, download aja disini.

Nah, untuk menjalankan aplikasi ini ada beberapa hal yang perlu diperhatikan. Pada file app.php di direktori crud-oop-mysqli/apps/config pada variabel $baseUrl silahkan teman-teman sesuaikan dengan alamat host masing-masing. Dan karena untuk tampilannya saya menggunakan CDN (Content Delivery Network) Maka untuk pertama kali menjalankan aplikasi ini harus online.

Untuk Screenshot tampilannya seperti ini:

1. Halaman Home

2. Halaman Artikel

Untuk halaman selanjutnya silahkan jalankan di PC kalian aja ya guys. Hehee... Nah, untuk download source code cukup klik aja link disini.

Jangan lupa untuk komentar dan share blog oimtrust ke teman-teman kalian ya guys. Dan bantu oimtrust untuk memberikan kritik dan saran atau masukan judul untuk menulis tutorial/artikel selanjutnya. Trims's and happy coding.

Senin, 16 Januari 2017

PHP - Membuat Dynamix Selectbox Dan Inputbox dengan Ajax dan MySQL

Hallo pembaca setia Otrust?
Otrust kali ini akan membahas tentang dynamix selectbox. Sebenarnya sudah banyak sih tutorial tentang ini, namun menurut Otrust masih banyak yang kurang (Eits… Tulisan Otrust juga banyak yang kurang kok :-D). Setidaknya disini Otrust akan memberikan tutorial dynamix selectbox beserta inputbox. Nah, jadi ilustrasinya seperti gambar berikut:
Dimana ketika kita memilih selectbox1 maka secara otomatis pada textbox akan terisi data dan pada selectbox2 akan muncul pilihan data, begitu selanjutnya pada selectbox3. Tentu dalam pembuatan ini Otrust menggunakan MySQL dan AJAX. Penasaran bagaimana cara membuatnya? Simak langkah-langkah berikut ini:

1. Langkah pertama adalah menyiapkan folder dan file yang dibutuhkan. Buatlah folder dan file mengikuti struktur projek seperti berikut ini: 

2. Buatlah database beserta tabel seperti source code berikut ini menggunakan sql :

--
-- Database: `blogger`
--
CREATE DATABASE blogger;
USE blogger;
--
-- Table structure for table `tbl_class`
--
CREATE TABLE `tbl_class` (
  `id_class` int(11) NOT NULL,
  `class_name` varchar(50) NOT NULL,
  `price` int(10) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_class`
--
INSERT INTO `tbl_class` (`id_class`, `class_name`, `price`) VALUES
(1, 'Standard', 250000),
(2, 'Mewah', 400000),
(3, 'Super Mewah', 500000),
(4, 'Medium', 300000),
(5, 'VIP', 600000);
--
-- Table structure for table `tbl_renter`
--
CREATE TABLE `tbl_renter` (
  `id_renter` int(11) NOT NULL,
  `fullname` varchar(75) NOT NULL,
  `id_room` int(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_renter`
--
INSERT INTO `tbl_renter` (`id_renter`, `fullname`, `id_room`) VALUES
(1, 'Faris Jourdy', 4),
(2, 'Fathur Rohim', 4),
(3, 'Faisal Amri', 3),
(4, 'Faris Jourdy', 3),
(5, 'Fanani', 2),
(6, 'Ivan', 1);
--
-- Table structure for table `tbl_rooms`
--
CREATE TABLE `tbl_rooms` (
  `id_room` int(10) NOT NULL,
  `room_name` varchar(50) NOT NULL,
  `id_class` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_rooms`
--
INSERT INTO `tbl_rooms` (`id_room`, `room_name`, `id_class`) VALUES
(1, 'Kamar 1', 1),
(2, 'Kamar 2', 2),
(3, 'Kamar 3', 2),
(4, 'Kamar 4', 3);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_class`
--
ALTER TABLE `tbl_class`
  ADD PRIMARY KEY (`id_class`);
--
-- Indexes for table `tbl_renter`
--
ALTER TABLE `tbl_renter`
  ADD PRIMARY KEY (`id_renter`),
  ADD KEY `id_room` (`id_room`);
--
-- Indexes for table `tbl_rooms`
--
ALTER TABLE `tbl_rooms`
  ADD PRIMARY KEY (`id_room`),
  ADD KEY `id_class` (`id_class`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_class`
--
ALTER TABLE `tbl_class`
  MODIFY `id_class` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `tbl_renter`
--
ALTER TABLE `tbl_renter`
  MODIFY `id_renter` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT for table `tbl_rooms`
--
ALTER TABLE `tbl_rooms`
  MODIFY `id_room` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

3. Lalu pada file database.php aturlah source code-nya seperti ini:

<?php 
 /**
 * Database Class
 */
 class Database
 {
 private $hostname = "localhost";
 private $dbname = "blogger";
 private $username = "root";
 private $password = "";
 public $conn;


function dbConnection()
 {
 $this->conn = null;
 try {
 $this->conn = new PDO("mysql:host=" . $this->hostname . ";dbname=" . $this->dbname, $this->username, $this->password);
 $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 } catch (PDOException $exception) {
 echo "Connection error: " . $exception->getMessage();
 }
 return $this->conn; 
 }
 }
 ?>




4. Setelah itu pada file class.dynamix.php tulislah kode seperti berikut ini:

<?php 
 require_once 'database.php';


/**
 * Dynamix Class
 */
 class DYNAMIX
 {
 private $conn;
 function __construct()
 {
 $database = new Database();
 $db = $database->dbConnection();
 $this->conn = $db;
 }


public function runQuery($sql)
 {
 $stmt = $this->conn->prepare($sql);
 return $stmt;
 }
 }
 ?>



5. Apabila telah selesai kita atur untuk koneksi database seperti langkah-langkah sebelumnya. Maka, sekarang kita akan mengatur tampilannya. Pada header.blade.php aturlah source code seperti berikut ini:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>Biodata</title>


<!-- Bootstrap CSS -->
 <link rel="stylesheet" href="asset/css/bootstrap.min.css">
 <link rel="stylesheet" href="asset/css/bootstrap-theme.min.css">


<!-- Jquery JS -->
 <script src="asset/js/jquery.js"></script>
 
 <!-- Bootstrap JS -->
 <script src="asset/js/bootstrap.min.js"></script>


<!-- Dynamix JS -->
 <script type="text/javascript">
 $(document).ready(function(argument) {
 //untuk dynamix room
 $('#id_class').change(function() {
 var id = $(this).val();
 var dataString = 'id=' + id;


$.ajax
 ({
 type : "POST",
 url : "dynamix-room.php",
 data : dataString,
 dataType: 'JSON',
 cache : false,
 success : function(responses)
 {
 //untuk mengisi data kelas
 $('#price').val(responses.price)


//untuk isi selectbox room
 $('#id_room').find('option').remove();
 $('#id_room').append('<option selected="selected">--Pilih Kamar--</option>');
 $.each(responses.room_name, function(key, val){
 $('#id_room').append('<option value="'+ val.id_room +'">'+ val.room_name +'</option>');
 });
 }
 });
 });


$("#id_room").change(function()
 {
 var id = $(this).val();
 var dataString = 'id_room=' + id;


$.ajax
 ({
 type : "POST",
 url : "dynamix-renter.php",
 data : dataString,
 cache : false,
 success : function(html)
 {
 $('#id_renter').html(html);
 }
 });
 });
 })
 </script>


</head>
<body>




Lalu perhatikan kode tersebut. Terdapat Dynamix JS dimana perintah tersebut adalah memanggil setiap ID dari field yang ada di form yang akan di eksekusi. Nah, pada perintah untuk memunculkan data dari id_class tersebut menggunakan JSON. Dikarenakan data outputnya nanti ada 2, yaitu muncul di textbox dan di selectbox2. Selanjutnya pada file dynamix-room.php tulislah kode seperti ini:

<?php 
 require_once 'app/model/class.dynamix.php';


$dynamix = new DYNAMIX();


if ($_POST['id']) {
 $iclass = $_POST['id'];
 $stmt = $dynamix->runQuery("SELECT * FROM tbl_rooms WHERE id_room=:id");
 $stmt->execute(array(':id' => $iclass));
 $dataRoom = [];


while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
 $room = [];
 $room['id_room'] = $row['id_room'];
 $room['room_name'] = $row['room_name'];


$dataRoom[] = $room;
 }


$stmt = $dynamix->runQuery("SELECT cls.price FROM tbl_class AS cls WHERE id_class=:id");
 $stmt->execute(array(':id' => $iclass));


$getPrice = [];


$row = $stmt->fetch(PDO::FETCH_ASSOC);
 $getPrice = $row['price'];


$returnData = [
 'price' => $getPrice,
 'room_name' => $dataRoom
 ];
 echo json_encode($returnData);
 }
 ?>




Lalu selanjutnya adalah ketika kita memilih selectbox2 maka pada selectbox3 akan muncul data untuk dipilih. Tulislah source code pada file dynamix-renter.php seperti ini:

<?php 
 require_once 'app/model/class.dynamix.php';


$dynamix = new DYNAMIX();


if ($_POST['id_room']) {
 $iroom = $_POST['id_room'];
 $stmt = $dynamix->runQuery("SELECT * FROM tbl_renter WHERE id_room=:iroom");
 $stmt->execute(array(':iroom' => $iroom));
 ?>


<option selected="selected">--Pilih Pemesan--</option>
 <?php
 while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ?>
 <option value="<?php echo $row['id_renter']; ?>"><?php echo $row['fullname']; ?></option>
 <?php
 }
 }
 ?>




6. Untuk perintah ajax telah selesai kita buat pada file header.blade.php. Selanjutnya pada file index.blade.php tulislah kode seperti berikut ini:

<div class="container">
 <div class="row">
 <div class="col-lg-12">
 <h1 class="page-header"></h1>
 <h1 class="page-header">Dynamix</h1>
 <ol class="breadcrumb">
 <li class="active">Home</li>
 </ol>
 </div>
 </div>


<div class="row">
 <div class="col-md-12">
 <div class="col-lg-12">
 <!-- Data is here -->
 <form method="post" role="form" action="" name="paymentForm">
 <div class="col-md-4">
 <div class="control-group form-group">
 <div class="controls">
 <label>Jenis Kelas:</label>
 <select name="id_class" id="id_class" class="form-control">
 <option selected="selected">--Pilih Kelas--</option>
 <?php echo $iclass; ?>
 </select>
 </div>
 </div>


<div class="control-group form-group">
 <div class="controls">
 <label>Harga:</label>
 <div class="input-group">
 <span class="input-group-addon">Rp.</span>
 <input type="number" name="price" id="price" class="form-control" required readonly="readonly">
 </div>
 </div>
 </div>


<div class="control-group form-group">
 <div class="controls">
 <label>Nama Kamar:</label>
 <select id="id_room" name="id_room" class="form-control">
 <option selected="selected">--Pilih Kamar--</option>
 </select>
 </div>
 </div>


<div class="control-group form-group">
 <div class="controls">
 <label>Nama Pemesan:</label>
 <select id="id_renter" name="id_renter" class="form-control">
 <option selected="selected">--Pilih Pemesan--</option>
 </select>
 </div>
 </div>
 </div>
 </form>
 </div>
 </div>
 </div>
</div>


<br>




7. Pada bagian menunya jangan lupa, file menu.blade.php tulislah seperti berikut:

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
 <div class="container">
 <div class="navbar-header">
 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navcollapse">
 <span class="sr-only">Toggle navigation</span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 <span class="icon-bar"></span>
 </button>
 <a href="index.php" class="navbar-brand">Dynamix</a>
 </div>
 <div class="collapse navbar-collapse" id="navcollapse">
 <ul class="nav navbar-nav navbar-right">
 <li><a href="#">Link Tutorial</a></li>
 <li><a href="https://www.facebook.com/otrusttutorial/" target="blank">Facebook</a></li>
 </ul>
 </div>
 </div>
</nav>

Dan pada footer.blade.php tulislah seperti ini:

<!-- Footer -->
 <div class="container">
 <div class="row">
 <div class="col-lg-12">
 <div class="navbar-fixed-bottom">
 <p>Copyright &copy; otrust.blogspot.com 2017</p>
 </div>
 </div> 
 </div>
 </div>
</body>
</html>



8. Sesi terakhir adalah pada file index.php. Tulislah source code seperti ini:

<?php 
 require_once 'app/model/class.dynamix.php';


$dynamix = new DYNAMIX();


$iclass = '';
 $stmt = $dynamix->runQuery("SELECT * FROM tbl_class");
 $stmt->execute();


while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
 $iclass .= "<option value='".$row['id_class']."'>".$row['class_name']."</option>";
 }


include 'app/view/header.blade.php';
 include 'app/view/menu.blade.php';
 include 'app/view/index.blade.php';
 include 'app/view/footer.blade.php';
 ?>




Tadaaa.... telah selesai guys. Eitz... ada yang lupa nih. Pada folder asset teman-teman harus mendownload file bootstrap dan jquery lalu folder css, fonts, dan js pindahkan ke folder asset. Untuk mendownload file bootstrap disini dan untuk jquery disini. Dan pada file .htaccess tulislah kode seperti ini:

Deny From All


Lalu jalankan, nanti hasilnya seperti ini:

Happy coding guys! dan selamat mengerjakan. Apabila masih kebingungan jangan sungkan-sungkan untuk bertanya di kolom komentar. Terima kasih. :-)

Minggu, 08 Januari 2017

PHP - Membuat Pagination dengan PHP MySQL Menggunakan PDO Berbasis OOP


Hallo pembaca setia Otrust!!

Kita telah belajar membuat CRUD di tutorial sebelumnya. Di tutorial yang Otrust buat adalah melakukan insert data dan ditampilkan didalam tabel. Namun, ada beberapa yang perlu kaliah ketahui, yaitu ketika data mulai banyak maka otomatis data yang ditampilkan di tabel tersebut akan ke bawah hingga batas terakhir data yang ada. Nah, kendalanya adalah ketika kita membuat website seperti itu, website kita tidaklah efisien. Lalu, bagaimana cara mengatasinya? Tentu kita harus membuat page perhalaman atau kita sebut istilahnya dengan pagination.

Nah, dari masalah tersebut Otrust telah selesai nih menulis tutorial pagination. Silahkan disimak dibawah ini yah guys.

1. Seperti halnya di tutorial sebelumnya, kita membuat struktur folder dan file-nya seperti berikut ini: 

Tidak jauh berbeda dengan tutorial sebelumnya, pada file .htaccess silahkan ditulis “Deny from all” tanpa tanda petik. Dan pada folder asset silahkan mendownload framework css dari Bootstrap disini dan file javascript dari jquery disini.

2. Buatlah database dan tabelnya seperti berikut ini:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE DATABASE blogger;

CREATE TABLE `biodata` (
`id_bio` int(11) NOT NULL,
`nama` varchar(50) NOT NULL,
`phone` varchar(14) NOT NULL,
`alamat` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `biodata` (`id_bio`, `nama`, `phone`, `alamat`) VALUES
(1, 'Otrust', '097878787', 'Bengkulu'),
(2, 'Tutorial', '0878667675888', 'Malang'),
(5, 'Otrust Tutorial', '089787788', 'Kangean'),
(6, 'Otrust Tutorial', '089787788', 'Malang'),
(7, 'Otrust Tutorial', '089787788', 'Malang'),
(8, 'Otrust Tutorial', '089787788', 'Malang'),
(9, 'Otrust Tutorial', '089787788', 'Malang'),
(10, 'Otrust Tutorial', '089787788', 'Malang'),
(11, 'Otrust Tutorial', '089787788', 'Malang'),
(12, 'Otrust Tutorial', '089787788', 'Malang'),
(13, 'Otrust Tutorial', '089787788', 'Malang'),
(14, 'Otrust Tutorial', '089787788', 'Malang'),
(15, 'Otrust Tutorial', '089787788', 'Malang'),
(16, 'Otrust Tutorial', '089787788', 'Malang'),
(17, 'Otrust Tutorial', '089787788', 'Malang'),
(18, 'Otrust Tutorial', '089787788', 'Malang'),
(19, 'Otrust Tutorial', '089787788', 'Malang'),
(20, 'Otrust Tutorial', '089787788', 'Malang'),
(21, 'Otrust Tutorial', '089787788', 'Malang'),
(22, 'Otrust Tutorial', '089787788', 'Malang'),
(23, 'Otrust Tutorial', '089787788', 'Malang'),
(24, 'Otrust Tutorial', '089787788', 'Malang'),
(25, 'Otrust Tutorial', '089787788', 'Malang');

ALTER TABLE `biodata`
ADD PRIMARY KEY (`id_bio`);

ALTER TABLE `biodata`
MODIFY `id_bio` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;

3. Selanjutnya pada file database.php tulislah kode seperti berikut ini:


<?php 
 /**
 * Database Class
 */
 class Database
 {
  private $hostname  = "localhost";
  private $dbname  = "blogger";
  private $username = "root";
  private $password = "";
  public $conn;

  function dbConnection()
  {
   $this->conn  = null;
         try {
          $this->conn = new PDO("mysql:host=" . $this->hostname . ";dbname=" . $this->dbname, $this->username, $this->password);
          $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         } catch (PDOException $exception) {
          echo "Connection error: " . $exception->getMessage();
         }
         return $this->conn; 
  }
 }
?>

4. Pada file class.pagination.php tulislah kode seperti berikut:

<?php 
 require_once 'database.php';
 $db  = new Database();
 $conn  = $db->dbConnection();
 $start    = 0;
 $page_counter  = 0;
 $per_page  = 5;
 $next   = $page_counter + 1;
 $previous  = $page_counter - 1;
 if (isset($_GET['start'])) {
  $start    = $_GET['start'];
  $page_counter = $_GET['start'];
  $start   = $start * $per_page;
  $next    = $page_counter + 1;
  $previous  = $page_counter - 1;
 }

 $sql = "SELECT * FROM biodata LIMIT $start, $per_page";
 $query = $conn->prepare($sql);
 $query->execute();
 $result = null;
 if ($query->rowCount() == 0) {
 }
 else {
  while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
   $result[] = "<td>".$row['nama']."</td><td>".$row['phone']."</td><td>".$row['alamat']."</td>";
  }
 }
 $count_query = "SELECT * FROM biodata";
 $query    = $conn->prepare($count_query);
 $query->execute();
 $count    = $num_rows = $query->rowCount();
 $paginations = ceil($count / $per_page);
 ?>

5. Sekarang kita berfokus pada folder view yang mana tugasnya adalah sebagai tempat file-file yang menampilkan interface dari website kita. Pada file header.blade.php tulislah kode berikut:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>Biodata</title>
 <!-- Bootstrap CSS -->
 <link rel="stylesheet" href="asset/css/bootstrap.min.css">
 <link rel="stylesheet" href="asset/css/bootstrap-theme.min.css">
 <!-- Jquery JS -->
 <script src="asset/js/jquery.js"></script> 
 <!-- Bootstrap JS -->
 <script src="asset/js/bootstrap.min.js"></script>
</head>
<body>

Kode pada file menu.blade.php seperti ini:

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
 <div class="container">
  <div class="navbar-header">
   <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navcollapse">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
   </button>
   <a href="index.php" class="navbar-brand">Biodata</a>
  </div>
  <div class="collapse navbar-collapse" id="navcollapse">
   <ul class="nav navbar-nav navbar-right">
    <li><a href="https://otrust.blogspot.co.id/2017/01/php-membuat-pagination-dengan-php-mysql.html">Link Tutorial</a></li>
    <li><a href="https://www.facebook.com/otrusttutorial/" target="blank">Facebook</a></li>
   </ul>
  </div>
 </div>
</nav>

Pada file index.blade.php seperti ini:

<div class="container">
 <div class="row">
  <div class="col-lg-12">
   <h1 class="page-header"></h1>
   <h1 class="page-header">Biodata</h1>
   <ol class="breadcrumb">
    <li class="active">Home</li>
   </ol>
  </div>
 </div>

 <div class="row">
  <div class="col-md-12">
   <div class="page-header"></div>
   <div class="col-lg-12">
    <div class="table-responsive">
     <table id="data" class="table table-striped table-bordered table-hover">
      <thead>
       <tr bgcolor="#607D8B">
        <th>No.</th>
        <th>Nama</th>
        <th>Telepon</th>
        <th>Alamat</th>
       </tr>
      </thead>
      <tbody>
       <?php $no = 1; ?>
       <tr>
        <?php for ($i=0; $i < count($result); $i++) { 
         echo "<td>".$no++."</td>";
         echo $result[$i]."</tr>";
        } 
        ?>
       </tr>
      </tbody>
     </table>
    </div>

    <nav aria-label="...">
     <ul class="pagination pagination-lg">
      <?php 
       if ($page_counter == 0) {
        echo "<li><a href=?start='0' class='active'>0</a></li>";
        for ($j=1; $j < $paginations; $j++) { 
         echo "<li><a href=?start=$j>".$j."</a></li>";
        }
       }
       else{
        echo "<li><a href=?start=$previous>Previous</a></li>";
        for ($j=0; $j < $paginations; $j++) { 
         if ($j == $page_counter) {
          echo "<li><a href=?start=$j class='active'>".$j."</a></li>";
         }
         else {
          echo "<li><a href=?start=$j>".$j."</a></li>";
         }
        }
        if ($j != $page_counter + 1) {
         echo "<li><a href=?start=$next>Next</a></li>";
        }
       }
       ?>
     </ul>
    </nav>
   </div>
  </div>
 </div>
</div>

<br>


Dan terakhir pada file footer.blade.php seperti berikut ini:

<!-- Footer -->
 <footer>
  <div class="row">
   <div class="col-lg-12">
    <p>Copyright &copy; otrust.blogspot.com 2017</p>
   </div>
  </div>
 </footer>
</body>
</html>

6. Terakhir buatlah perintah source code pada file index.php seperti berikut ini lalu jalankan:

<?php
 //Menampilkan pagination
 require_once 'app/model/class.pagination.php';

 //Menampilkan view 
 include 'app/view/header.blade.php';
 include 'app/view/menu.blade.php';
 include 'app/view/index.blade.php';
 include 'app/view/footer.blade.php';
 ?>

Ketika dijalankan nanti hasilnya akan seperti ini: 
Selamat mencoba dan Happy Codiiiiinggg!!! 😀 Jangan lupa like and share on facebook.

Senin, 02 Januari 2017

PHP - CRUD Berbasis OOP Menggunakan PDO dan Bootstrap Versi 2


Hallo pembaca setia Otrust!!
Selamat Tahun Baru 2017 guys? Semoga hari ini baik-baik saja dan sehat selalu. Melanjutkan tutorial yang saya tulis kemarin. Ini adalah tutorial versi ke-dua dari Otrust. Sebenarnya sama sih dengan yang kemarin bedanya kita akan melakukan perintah CRUD dengan penambahan file berupa foto. Jadi hanya sedikit yang berbeda.
Baiklah, mari kita kembali ke laptop dan ikutilah langkah-langkah dibawah ini:

1. Buatlah folder dan file seperti gambar berikut (Folder Database tidak perlu dibuat): 

Nah, silahkan perhatikan dari gambar tersebut:
  • Folder induk (crud-image-pdo-oop) memiliki 3 folder (folder database hanya digunakan sebagai tempat backup database bila perlu) yaitu, app, asset dan photo.
  • Folder app memiliki 2 folder(model dan view) dan 1 file .htaccess. Didalam folder model digunakan untuk melakukan perintah connection database dan execution of crud. Yang mana connection terletak pada file database.php dan execution of crud dimiliki file class.profile.php. Sedangkan folder view ditempati file-file yang mana Otrust beri index .blade (Mengikuti aturan dari laravel) untuk mengindikasikan bahwa file-file ini hubungannya hanya sebatas tampilan front-end nya saja. Dan file .htaccess digunakan sebagai perintah hak akses-nya. Untuk memahami tentang .htaccess bisa dibaca disini. Untuk file .htaccess silahkan tulis source berikut ini:

Deny From All

         Gunanya adalah untuk mencegah seseorang yang ingin mengakses file yang ada di folder app.

  • Didalam folder asset terdapat 3 folder. Sebenarnya folder tersebut tidak perlu dibuat, karena kita akan mengambil-nya dari website officialnya bootstrap. Untuk framework css bootstrap silahkan download disini. Lalu folder css, font dan js silahkan di copy dan paste didalam folder asset. Selanjutnya download file jquery disini. Dan letakkan didalam folder js lalu rename nama file menjadi jquery sehingga nanti hasilnya jquery.js.
  • Folder photo digunakan sebagai tempat penyimpanan file-file berupa foto yang akan kita upload.
Nah, demikian penjelasan dari folder tersebut. Apabila ada pertanyaan silahkan ajukan dikolom komentar, terima kasih.

2. Dalam tahap ini kita akan menyiapkan databasenya, silahkan buat databasenya dengan source code berikut ini:

3. Pada file database.php tulislah kode seperti berikut ini:

Source code didalam file database.php digunakan untuk melakukan koneksi database. Otrust yakin teman-teman paham tentang ini 😊.

4. Selanjutnya kita akan membuat eksekusi perintah CRUD, tepatnya pada file class.profile.php. berikut source code-nya:


5. Mengkoneksikan database dan perintah CRUD telah kita buat. Sekarang perhatikan pada folder view, kita akan membuat tampilan website dengan memanfaatkan bootstrap. Pertama kita akan menulis source code pada file header.blade.php:


kode menu.blade.php disini:


kode index.blade.php disini:


kode footer.blade.php disini:


6. Langkah-langkah nomor 5 telah kita tulis selanjutnya pada file index.php kita tulis seperti berikut ini:


Perhatikan pada source code tersebut, terdapat perintah untuk menghapus (delete) data. Jadi disini kita sudah membuat eksekusi untuk menghapus data. Selanjutnya nanti kita akan membuat perintah Insert dan Update.

7. Selanjutnya kita akan membuat form untuk menambahkan data. Tulislah source code pada file profile-add.blade.php:


Lalu tulislah source code berikut didalam file profile-add.php:


Apabila selesai coba jalankan dan lakukan insert data. Semoga berhasil 😀


Perhatian: Untuk melakukan penyimpanan data dengan file, cantumkan enctype="multipart/form-data" pada form. Perhatikan pada source code tampilan yang Otrust buat
8. Proses insert data selesai kita buat, selanjutnya kita akan membuat eksekusi perintah untuk Update data. Tulislah source code berikut pada file profile-edit.blade.php:


Lalu pada file profile-edit.php tulislah kode berikut:


Langkah-langkah CRUD pada tutorial ini telah selesai kita buat dan jalankan pada browser kalian. Apabila berhasil tampilannya akan menjadi seperti ini: 

Sekian tutorial dari Otrust, apabila ingin source code-nya cukup like fanspage facebook Otrust Tutorial disini. Lalu share postingan ini di facebook kalian. Otrust akan mengirimkan link source code ke inbox kalian. Apabila dalam waktu 24 jam belum dikirim silahkan inbox Otrust Tutorial yaah. Namanya juga manusia, pasti lupa atau mungkin Otrust belum cek pemberitahuan 😂.

Maaf guys! Selain promosi fanspage, alasan Otrust tidak mencamtumkan link secara langsung adalah supaya teman-teman mau membaca. Tidak hanya copas dan atau Cuma download-download saja. Terima Kasih dan Happy Coding😇.

Jumat, 30 Desember 2016

Jadilah Pemula Yang Bijak


Hallo pembaca setia Otrust!!

Kali ini Otrust akan membahas mengenai seorang Newbie atau Pemula dalam dunia IT. Belakangan ini, Otrust seringkali melihat pertanyaan di grup FB dan grup yang lain-lain (Tapi kebanyakan dari FB sih kasusnya) dari seorang newbie. Pertanyaanya lumayan baguslah, bagus untuk di BULLY. Wooowwww….
“Kok bisa yah? Emang apa sih mas pertanyaanya?”
Yah, pertanyaanya sih banyak lah. Banyak pertanyaan untuk kebanyakan pemula. Namun, sebenarnya pertanyaan itu cukup mudah dijawab oleh Mbah Google. Eitz, jangan berprasangka buruk dulu, ini hanya untuk kebanyakan pemula. Bukan semua pemula. Otrust juga pernah kok jadi pemula. Hehe…😅 (“Nggak lucu mas”).
“Lalu, pertanyaan seperti apa sih mas yang menyebabkan pem-bully-an?”
Yah itu tadi yang Otrust kasih tahu sebelumnya, “Pertanyaan sederhana yang mudah dijawab oleh Mbah Google”. Harusnya, sebagai seorang pemula kalau mau Tanya-tanya di sebuah grup, sebaiknya dibaca dulu aturan-aturan(rules) di grup seperti apa. Namun, tanpa ada aturan se-enggaknya sudah harus memahami diri sendiri untuk belajar MENCARI dengan inisiatif melalui Mesin Pencari. Karena pertanyaan yang tidak berkualitas malah menjerumuskan diri sendiri ke lubang sumur pembully-an. Wakaka…. 😈

Sebagai seorang yang mengaku dirinya NEWBIE atau PEMULA cobalah untuk belajar mandiri jangan Manja (Manusia Janc**’i) – sensor broo. Jadilah seorang newbie yang bijak, mau belajar sendiri mencari ilmu dan sungguh-sungguh mencari ilmu. Yah memang benar bertanya di grup atau sebuah forum, namun disebuah forum pastinya memiliki aturan dalam mengajukan pertanyaan-pertanyaan dan pastinya pertanyaan itu adalah pertanyaan yang berkualitas yang tidak menjadi sampah dalam beranda sebuah forum.

Kalau anda merasa sebagai pemula, cobalah bertanya pada Mbah Google dengan keyword yang anda maksud. Apabila anda bingung keyword apa yang akan anda tulis belajarlah memahami Bahasa Manusia yang sering kita dengar dengan 5W-1H (Who, Why, When, What, Where - How) –Kayaknya sih gitu 😆. Lalu cobalah terus mencari dengan sungguh-sungguh dan pastinya akan ketemu suatu permasalahan yang anda maksud.

Jangan karena anda seorang pemula terus dengan seenaknya bertanya tanpa usaha. Justru usaha itu lebih penting, baru ketika mentok anda bertanya. Dari usaha anda yang mencapai batas (mentok) itulah yang akan menentukan pola pikir anda untuk menemukan titik permasalahan yang mengakibatkan anda mulai bertanya dengan pertanyaan yang professional dan bijak, tentunya pertanyaan berkualitas.

Nah, dari pembahasan diatas apakah masih belum jelas? Apabila belum silahkan komentar dikolom komentar yang disediakan. Asseh… 😃. Kalau memang ingin belajar mulailah mencari situs-situs kursus yang memang ingin dibutuhkan. Nah, daripada Otrust disini Cuma OMDO mendingan sedikit Otrust bantuin nyari, disimak dibawah ini yaah:

  1. http://www.duniailkom.com/ adalah situs belajar membuat website berbahasa Indonesia, lengkap beserta ebook-nya. Beli broo, nggak gratis.
  2. http://www.okedroid.com/ merupakan situs yang menyajikan tutorial seputar android dan java dengan berbahasa Indonesia.
Nah, diatas adalah salah satu website penyedia tutorial berbahasa Indonesia, sebenarnya masih banyak Cuma kalau ada yang berkenan silahkan menambahkan di kolom komentar (Alamaak, komentar lagi. wkwkwk).

Selanjutnya, pengen yang lebih lengkap namun menggunakan bahasa inggris, simak dibawah ini:
  1. http://www.w3schools.com/ merupakan situs yang up-to-date tentang pemrogaman web, kalian akan diajarkan mulai dari akar hingga pucuk pohon (Sumpah deh).
  2. Bosen sama situs hanya fokus ke satu permasalahan pemrogaman? http://tutorialspoint.com/ jawabannya, tidak hanya menyajikan pemrogaman web saja. Tetapi, juga pemrogaman yang lain seperti java, android, c++ dan lain sebagainya.
Diatas adalah website penyedia tutorial, lalu kalian butuh kursus-nya? https://www.udacity.com/ dan https://www.udemy.com/ adalah salah satu situs website penyedia kursus online. Ada yang gratis dan ada juga yang berbayar. Masalah kualitas jangan khawatir, kualitas terjamin (Om Mantab Om) – Otrust kale 😏.
“Mas? Kenapa semuanya harus bahasa inggris paling banyak? Bahasa Indonesia sedikit. Saya kan nggak paham bahasa inggris, Cuma bisa sedikit-sedikit”
Heloooooooo!!!! Mau pake alasan apalagi vrooh? Kan udah ada https://translate.google.com/. Tinggal kamu ketik aja tuh apa yang kamu pelajari. Beres kan? Gitu aja kok repot.

Kalau memang seorang pemula, bukan berarti malas-malasan karena kebanyakan tutorial berbahasa inggris. Karena, pada dasarnya selain Bahasa Inggris itu penting, justru dengan begitu bisa melatih kalian untuk berbahasa inggris. Karena semakin kalian belajar ke jenjang yang lebih tinggi Bahasa Inggris tetap dipakai – Namanya juga bahasa Internasional vroh.
“Mas? Saya sudah membuat aplikasi dan mengalami error. Tanya di grup nggak dijawab-jawab. Sudah ada yang menjawab tetapi masih belum nemu permasalahannya. Gimana dong? Ada solusi nggak?”
Tenang, kan masih ada Mbah Google toh? Hehe. Ups, jangan hanya mengandalkan harapan dari satu atau dua grup kalau memang belum menemukan jawaban. Masih ada forum yang menyediakan berbagai permasalahan seputar pemrogaman atau apapun yang berhubungan dengan IT, sebut saja http://stackoverflow.com/ sebagai website terbesar dan terindah (CMIWIW) yang siap menjawab pertanyaan anda sebagai pemula, dan tidak hanya pemula melainkan bagi seorang senior developer juga sih. Selain itu juga ada https://www.sitepoint.com/community/ sebagai situs komunitas yang siap membantu keluhan kamu. Tentunya masih banyak situs-situs yang menjawab permasalahan bagi seorang pemula.

Ingat nasehat Otrust!! Jadilah Pemula Yang Bijak, belajarlah dari permasalahan yang kamu hadapi, cobalah selesaikan permasalahanmu hingga mencapai puncak dimana kamu tidak sanggup menyelesaikannya. Barulah bertanya setelah kamu berusaha. Jangan bertanya tanpa adanya usaha (Khusus di forum sih). Jangan karena Pemula kamu jadikan alasan Tidak Tahu Apa-Apa tetapi jadikan alasan Mencari Apa-Apa. Ingat, di dunia ini tidak ada permasalahan yang tidak bisa dihadapi, semua pasti bisa. Jangan takut dengan permasalahan yang ada dalam dunia pemrogaman, permasalahan itu dihadapi bukan dihindari. Okeey!!!

Itu saja sih kata-kata dari Otrust, kalau ada masukan, kritik dan saran…. Monggo komentar di kolom yang telah disediakan dibawah. Wkwkwk…😇

Happy coding 😇

Rabu, 28 Desember 2016

PHP - CRUD Berbasis OOP Menggunakan PDO dan Bootstrap Versi 1

Hallo pembaca setia Otrust!!
Sekarang lagi ramai-ramainya Om Telolet Om, hehe…. Ups. Tapi, sekarang yang Otrust bahas bukan Om Telolet Om. Tapi, Om PDO Om, Om OOP Om, Om Bootstrap Om. Wkwkwk. Udah… udah…. Sekarang kita kembali ke topik.

Sekarang ini perusahaan selalu melampirkan pengumuman lowongan kerja bagi seorang developer untuk memahami OOP. Bahkan, begitu pentingnya OOP menuntut kita untuk terus belajar dan belajar (Namanya juga dunia teknologi ya harus update:-D). Lalu, OOP itu apa sih? OOP (Object Oriented Progamming) adalah suatu metode pemrogaman yang berorientasi kepada object. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan progam dengan cara mengikuti model yang telah ada dikehidupan sehari-hari (Sumber: fatihamaliah.wordpress.com).

Nah, itu adalah cuplikan tentang OOP. Namun, kali ini Otrust bukan bermaksud menjelaskan lebih detail apa itu OOP, PDO, dan Bootstrap. Namun, Otrust akan memberikan tutorial CRUD (Create, Read, Update, Delete) dengan menggunakan PDO dan Bootrstrap berbasis OOP.


1. Buatlah struktur folder dan file php seperti pada gambar berikut ini:


Untuk folder database tidak perlu dibuat juga tidak apa-apa karena tidak kita gunakan. Sekarang silahkan kalian perhatikan pada folder app dimana didalam folder tersebut memiliki 2 Folder dan 1 File .htaccess. Folder yang pertama yaitu model yang memiliki 2 file: class.bio.php dan database.php sedangkan pada view memiliki 6 file php yang mana didalam folder view itu hanya desain tampilan saja yang akan muncul ketika web kita jalankan di browser.

Pada file .htaccess silahkan kalian tulis ‘Deny from all’ tanpa tanda petik. Gunanya dari perintah ini adalah supaya file-file php yang ada didalam folder app tidak bisa diakses dari browser.

2. Download framework css bootstrap di website resminya disini. Otrust sendiri menggunakan bootstrap versi 3.3.7 lalu copy dan paste di folder asset seperti gambar berikut ini:



3. Lalu pada folder induk (crud-pdo-oop) tepatnya pada file index.php buatlah sorce code seperti berikut ini:


lalu coba jalankan. Nah, jangan kaget apabila belum ada tampilan yang diharapkan yah :-D. Karena itu Cuma memanggil aja. Selanjutnya kita akan membuat tampilan dari website kita.

Bukalah folder view dan ikutilah perintah dibawah ini:

4. Tulislah source code pada file header.php seperti ini:


5. Berikut source code pada file menu.php:


6. Aturlah file index.php (Ingat!! Didalam folder view bukan folder induk) seperti berikut ini:


7. Pada file terakhir yaitu footer.php buatlah seperti ini:

Selanjutnya silahkan jalankan aplikasinya sehingga tampilannya seperti ini: 
Apabila muncul keterangan error:

           “Notice: Undefined variable: result in C:\xampp\htdocs\blogger\crud-pdo-oop\app\view\index.php on line”

Abaikan saja. Karena data pada tabel belum kita buat. Sampai sini fokus kita pada folder view.

8. Selanjutnya kita akan membuat eksekusi perintah CRUD. Sebelum itu silahkan buat database terlebih dahulu. Silahkan membuat melalui localhost/phpyadmin dengan nama database blog_bio dan buatlah tabel seperti berikut ini:


9. Selesai kita buat database, selanjutnya pada folder model aturlah source code pada file database.php seperti berikut ini:

pada file database.php tersebut kita membuat Class Database yang mana itu nanti akan kita panggil untuk melakukan eksekusi CRUD.

10. Selanjutnya kita akan membuat perintah INSERT, UPDATE, dan DELETE. Aturlah source code pada file class.bio.php seperti berikut ini:

perhatikan pada method __construct(), kita memanggil Class Database yang sebelumnya telah kita buat dan kita panggil disini untuk melakukan eksekusi INSERT, UPDATE, DELETE. Dan pada method runQuery() kita gunakan untuk menjalankan perintah SQL yang nanti akan kita gunakan. Dan method terakhir yaitu redirect() ini hanya digunakan untuk memanggil url yang dituju. Method-method yang lain saya kira kalian sudah paham semua apabila belum silahkan Tanya-tanya dikolom komentar yah.. :-D (Peace).

11. Selanjutnya kita kembali lagi ke folder induk tepatnya  pada file index.php berilah perintah source code dibawah ini tepatnya diatas source code sebelumnya (So, kode untuk menampilkan view terletak dibawah yah. Jangan lupa):

Apabila ada datanya maka tampilannya akan seperti berikut ini: 

12. Kembali lagi ke folder view tepatnya pada file bio-add.blade.php aturlah source code seperti berikut ini:

lalu pada folder induk, file bio-add.php aturlah source code seperti berikut ini:

Proses insert data sudah selesai dan coba jalankan. Seharusnya proses insert data berhasil apabila kalian mengalami error silahkan googling atau tanyakan ke kolom komentar. Otrust siap membantu. J

13. Selanjutnya kita akan membuat form tampilan untuk editing. Bukalah kembali folder view dan pada file bio-edit.blade.php aturlah source code seperti berikut ini:

Apabila telah selesai kalian tulis source code diatas maka pada file bio-edit.php aturlah seperti ini:

Aplikasi selesai kita buat. Dan untuk proses delete juga telah kita buat sebelumnya pada file index.php pada folder induk. Silahkan teman-teman jalankan, In Syaa Allah 100% berhasil J.

 “Mas? Minta dong source codenya. Saya download buat belajar.”
Nah, sengaja tidak Otrust cantumkan download source codenya disini. Otrust hanya ingin teman-teman membaca dan memahami dulu tutorial yang Otrust tulis disini. Apabila butuh source code-nya silahkan LIKE Fanspage Facebook Otrust disamping kanan blog. Lalu share tutorial ini. Otrust akan kirim link download ke inbox facebook teman-teman. Apabila dalam waktu 24 jam silahkan kirim pesan ke saya di facebook, siapa tau saya lupa. :-D.

“Ribet amat sih mas? Pelit deh…” 
Kalau Otrust pelit buat apa dunk nulis tutorialnya? :-D. wkwkwk…. Sempatkan Membaca dan Memahami supaya melatih kodingan kalian dan tidak asal Copas. Okey guys… Apabila ada masukan ataupun kritikan silahkan tulis di kolom komentar. Selanjutnya Otrust akan bikin tutorial tentang insert Image melanjutkan tutorial ini, ditunggu aja yaa J

Happy Coding. J. 

Senin, 28 November 2016

Android - Membuat Aplikasi Cuaca Memanfaatkan Weather Yahoo



Hallo pembaca setia Otrust!!
Aku mau curhat nih, bulan November ini di malang hujan terus. Setiap mau keluar selalu aja hujan. Disaat nggak keluar eh malah nggak hujan. Nyebelin kan yaa? Jadi terpaksa deh Otrust manfaatin aplikasi Weather bawaan Hp buat ngeliat cuaca. Ups, by the way ketahuan deh kalau Otrust tinggal di Kota Malang. Hehee… Temen-temen kalau ke malang mampir yah?
Oke deh. Sampai situ aja curhat-nya. Nah, daripada Otrust manfaatin aplikasi Weather bawaan Hp. Kenapa nggak bikin sendiri coba, iya kan guys? Otrust udah cari tutorial-nya kemana-mana ternyata sudah banyak yang menulis tentang tutorial membuat aplikasi cuaca dengan memanfaatkan https://openweathermap.org/.
Lalu, percuma dong kalau Otrust nulis lagi dengan tutorial yang sama? Apalagi blog Otrust ini kan blog gratisan. Duh Ala Emaaaak ;-(… Sedih deh.
Eh tunggu dulu, ternyata ada yang belum, yah sebenernya sih ada Cuma masih jarang. Yaitu membuat Aplikasi cuaca memanfaatkan YAHOO. Kesempatan nih buat Otrust nulis. Hehe…
            “Kak? Buruan dong kasih tutorialnya. Capek dengerin kakak ngoceh mulu.”
Waduh, sabar-sabar. Jangan ngambek, ini nih Otrust Kasih tutorialnya. Check this out!!! (Bener nggak yee B. imggrisnyee.?).


  • Sebelum memulai project baru download-lah icon atau logo-logo cuaca disini (Ketika selesai di extract setiap file kalian tambahkan icon_ jadi nanti hasilnya: icon_0, icon_1, dst). Dan bukalah situs Yahoo Developer disini. Kita akan memanfaatkan situs tersebut untuk membuat aplikasi cuaca.
  • Lalu buatlah project baru di Android Studio, pada AndroidManifest.xml tambahkan kode permission seperti ini


dan pada layout main_activity.xml silahkan kalian atur seperti ini:



sehingga nanti tampilannya seperti ini: 

  • Selanjut-nya buatlah 2 Package dengan nama data dan service seperti gambar dibawah ini:
  • ·         Selanjutnya pada package data buatlah lima (5) Class yaitu:
                -          Channel
    -          Condition
    -          Item
    -          JSONPopulator
    -          Units
               Sehingga tampilan-nya seperti ini:



Lalu mungkin kalian bertanya-tanya mengapa nama-nama kelas seperti itu. Nah, jawabannya ada pada link yang kalian jalankan dari https://developer.yahoo.com/weather/. Copas kode yang ada digambar ini dan jalankan pada tab browser yang baru.




Untuk menjalankannya pada google chrome silahkan di install extensi JSONView dan apabila menggunakan Mozilla … emz, ya maaf saya tidak tahu. Hee… tapi kode tampilannya silahkan di copy dan paste di http://jsonlint.com/ apabila tampilannya berantakan seperti gambar berikut ini:





  • Selanjutnya pada package service tambahkan Class YahooWeatherService dan Class Interface WeatherServiceCallback sehingga tampilannya seperti gambar berikut ini: 
  • Pada Class Interface WeatherServiceCallback buatlah source seperti ini:


  • Dan pada Class YahooWeatherService buatlah source code seperti berikut ini:

  • Apabila selesai melakukan codingan seperti diatas bukalah Class MainActivity dan modifikasilah hingga seperti berikut ini:

  • Selanjutnya kita akan memodifikasi Class Channel.java yang mana kita akan mengambil 2 data yaitu units dan item (dimana units dan item tersebut diambil dari link json yang diambil dari Endpoint yahoo). Berikut source code dari Channel.java:

  • Nah, kita sudah memodifikasi Class Channel dan selanjutnya kita akan memodifikasi Class Condition.java. Sebelum itu dipahami dulu bahwa induk dari JSON yang dipakai tadi adalah Channel seperti gambar berikut ini: 
“Kak? Kenapa bisa jadi induk sih Channel tersebut?”

Nah, itu memang ada penjelasannya. Kalau dijelaskan poin dari tutorial ini nggak selesai-selesai ntar. Jadi cukup baca disini aja yaa. Lalu pada Class Condition.java tulislah source code seperti berikut ini:


  • Class Condition.java telah selesai kita buat. Baru item didalam kondisi tersebut akan kita ambil untuk dijalankan pada proses Weather nanti. Berarti sekarang kita akan mengatur perintah source code pada Class Item.java dan modifikasilah seperti berikut ini:

  • Data-data telah selesai kita buat. Dan karena yang namanya aplikasi cuaca. Berarti kita membutuhkan sebuah informasi seputar cuaca yang akan kita tampilkan. Lalu, informasi apakah yang akan ditampilkan? Dalam hal ini Otrust sendiri mengambil temperature dari JSON Yahoo yang disediakan dan Otrust mengatur source code-nya pada Class Units.java sehingga pada Class Unit kode-nya seperti ini:

  • Apabila kodingan yang diatas mengalami masalah maka aturlah Class JSONPopulator.java menjadi interface. Dan source code-nya seperti berikut ini:

Nah, apabila telah selesai semuanya dikerjakan (Walaupun bisa di copas source code di atas saran saya jangan main copas untuk memudahkan teman-teman belajar memahami) silahkan dijalankan. Apabila berhasil nanti tampilannya seperti ini: 

Nah, sekian tutorial dari saya dan selamat mencoba. Apabila butuh aplikasinya untuk di download silahkan komentar dibawah ya guys…


Sumber Referensi:

https://www.digitalphantom.net/