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
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 © 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!!
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 © 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
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 😀
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:
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 buat8. 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
“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:
- http://www.duniailkom.com/ adalah situs belajar membuat website berbahasa Indonesia, lengkap beserta ebook-nya. Beli broo, nggak gratis.
- 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:
- http://www.w3schools.com/ merupakan situs yang up-to-date tentang pemrogaman web, kalian akan diajarkan mulai dari akar hingga pucuk pohon (Sumpah deh).
- 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).
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:
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.
3. Lalu pada folder induk (crud-pdo-oop) tepatnya pada file index.php buatlah sorce code seperti berikut ini:
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:
Happy Coding. J.
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
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:
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:
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:
-
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?”
- 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/














