<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>php Archives - Mr Agus</title>
	<atom:link href="https://mragus.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://mragus.com/tag/php/</link>
	<description>Read, Learn and Share Ilmu yang Bermanfaat</description>
	<lastBuildDate>Sun, 11 Feb 2018 13:42:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.2</generator>

<image>
	<url>https://mragus.com/wp-content/uploads/2017/07/Fav-icon-untuk-mragus.com_-150x150.png</url>
	<title>php Archives - Mr Agus</title>
	<link>https://mragus.com/tag/php/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Cara Membuat Console Command di Framework Yii2</title>
		<link>https://mragus.com/cara-membuat-console-command-di-framework-yii2/</link>
					<comments>https://mragus.com/cara-membuat-console-command-di-framework-yii2/#respond</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 11 Feb 2018 13:32:23 +0000</pubDate>
				<category><![CDATA[Yii2 Framework]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yii2]]></category>
		<category><![CDATA[yii2command]]></category>
		<category><![CDATA[yii2console]]></category>
		<category><![CDATA[yii2framework]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3354</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, halo para pembaca yang budiman, pada kesempatan kali ini saya akan membagikan ilmu dan tutorial tentang Cara Membuat Console Command di Framework Yii2. Tak habis-habis rasanya terus mengulas fitur dan keunggulan dari Framework Yii2. Karena kelengkapan&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-membuat-console-command-di-framework-yii2/">Cara Membuat Console Command di Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, halo para pembaca yang budiman, pada kesempatan kali ini saya akan membagikan ilmu dan tutorial tentang Cara Membuat Console Command di Framework Yii2. Tak habis-habis rasanya terus mengulas fitur dan keunggulan dari Framework Yii2. Karena kelengkapan fitur yang dimiliki framework inilah yang membuat saya jatuh hati<span id="more-3354"></span>. Saya mempercayakan pengerjaan project-project yang saya handle selama 3 tahun menggunakan Framework Yii2 ini.</p>
<p>Salah satu fitur yang saya sukai dari Framework Yii2 adalah bisa menjalankan fungsi melalui console atau terminal. Biasanya fitur ini saya gunakan untuk mengecek atau mengupdate data secara otomatis atau berkala dan di padukan penggunaannya menggunakan <a href="https://mragus.com/mengenal-cron-job-di-linux/">CRON</a> di <em>Linux</em>. Oke, untuk lebih jelasnya kita mulai nyekrip.</p>
<h1>Cara Membuat Console Command di Framework Yii2</h1>
<p>Untuk membuat fungsi ini, kita perlu tahu terlebih dahulu dimana lokasi fungsi tersebut di tempatkan. Pada template Yii2 basic maupun advance, letak folder fungsi ini sedikit berbeda.</p>
<p>Jika anda menggunakan template basic, maka letak folder untuk menaruh fungsi console command berada di bawah folder <strong>root app</strong> dan berada di dalam folder <strong>commands/</strong> . Tetapi jika anda menggunakan template advance, maka letak folder untuk menaruh fungsi console command berada di bawah folder <strong>root app</strong> dan berada di dalam folder <strong>console/controllers/</strong> .</p>
<pre class="lang:default decode:true">Basic Template
root App/
commands/
    TesController.php

Advance Template
Root App/
console/
   controllers/
      TesController.php
</pre>
<h2>Contoh Pertama</h2>
<p>Berikut adalah contoh fungsi console command pada template Yii2 basic. Bisa kita lihat, untuk class HelloController akan meng <em>extends </em>class dari <a href="http://www.yiiframework.com/doc-2.0/yii-console-controller.html"><em>yii\console\Controller</em></a>.</p>
<pre class="lang:default decode:true ">&lt;?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\commands;

use yii\console\Controller;

/**
 * This command echoes the first argument that you have entered.
 *
 * This command is provided as an example for you to learn how to create console commands.
 *
 * @author Qiang Xue &lt;qiang.xue@gmail.com&gt;
 * @since 2.0
 */
class HelloController extends Controller
{
    /**
     * This command echoes what you have entered as the message.
     * @param string $message the message to be echoed.
     */
    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";
    }
}
</pre>
<p>Untuk mengeksekusi nya anda bisa lihat pada screenshot di bawah ini.</p>
<div id="attachment_3355" style="width: 571px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3355" decoding="async" class=" wp-image-3355" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_437.png" alt="Cara Membuat Console Command di Framework Yii2" width="561" height="410" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_437.png 1256w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_437-300x219.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_437-768x561.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_437-1024x748.png 1024w" sizes="(max-width: 561px) 100vw, 561px" /><p id="caption-attachment-3355" class="wp-caption-text">Cara Membuat Console Command di Framework Yii2</p></div>
<h2>Contoh Kedua</h2>
<p>Untuk contoh kedua ini saya akan membuat sebuah fungsi menggunakan console command yang memproses sebuah insert dan view data dari database. Saya akan menggunakan tabel post dengan struktur sebagai berikut.</p>
<pre class="lang:default decode:true ">+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| author_id   | int(11)      | NO   |     | NULL    |                |
| title       | varchar(255) | NO   |     | NULL    |                |
| description | varchar(500) | NO   |     | NULL    |                |
| content     | text         | NO   |     | NULL    |                |
| date        | date         | NO   |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
6 rows in set (0,00 sec)
</pre>
<p>Kemudian saya buat model dengan nama <strong>Posts </strong>dan terletak di <strong>app/models/Posts.php . </strong>Kemudian kita buat sebuah controller dengan nama <strong>TesController</strong> dan terletak di <strong>app/commands/TesController.php</strong> . Terdapat dua buah fungsi yaitu actionInsert &amp; actionView terhadap tabel <strong>Posts</strong>, dan penampakan skrip nya adalah sebagai berikut.</p>
<pre class="lang:default decode:true ">&lt;?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace app\commands;

use yii\console\Controller;
use app\models\Posts;
/**
 * This command echoes the first argument that you have entered.
 *
 * This command is provided as an example for you to learn how to create console commands.
 *
 * @author Qiang Xue &lt;qiang.xue@gmail.com&gt;
 * @since 2.0
 */
class TesController extends Controller
{
    /**
     * This command echoes what you have entered as the message.
     * @param string $message the message to be echoed.
     */
    public function actionInsert()
    {
      	$post = new Posts;
      	$post-&gt;author_id = 1;
      	$post-&gt;title = "Insert dari console";
      	$post-&gt;description = "Saya mencoba insert data ke database melalui console";
      	$post-&gt;content = "Mragus.com";
      	$post-&gt;date = date('Y-m-d');
      	if($post-&gt;save()){
      		echo "data berhasil disimpan";
      	}else{
      		echo "data gagal disimpan";
      	}
    }

    public function actionView($id){
    	$post = Posts::findOne($id);
    	echo $post-&gt;description;
    }
}
</pre>
<p>Untuk mengeksekusinya adalah seperti di bawah ini.</p>
<div id="attachment_3360" style="width: 545px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3360" decoding="async" loading="lazy" class=" wp-image-3360" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_438.png" alt="Contoh Ekseskusi Insert Data" width="535" height="339" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_438.png 1063w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_438-300x190.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_438-768x487.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_438-1024x649.png 1024w" sizes="(max-width: 535px) 100vw, 535px" /><p id="caption-attachment-3360" class="wp-caption-text">Contoh Ekseskusi Insert Data</p></div>
<p>Coba kita lihat hasilnya di database.</p>
<div id="attachment_3362" style="width: 572px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3362" decoding="async" loading="lazy" class=" wp-image-3362" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_439-1.png" alt="Data pada database hasil dari Insert melalui Console" width="562" height="194" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_439-1.png 1827w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_439-1-300x103.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_439-1-768x264.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_439-1-1024x352.png 1024w" sizes="(max-width: 562px) 100vw, 562px" /><p id="caption-attachment-3362" class="wp-caption-text">Data pada database hasil dari Insert melalui Console</p></div>
<p>Selanjutnya kita menguji action View nya dengan cara memanggil action tersebut dan menambahkan opsi parameter <em>ID </em>data 1001 pada tabel <strong>Posts</strong>.</p>
<div id="attachment_3364" style="width: 577px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3364" decoding="async" loading="lazy" class=" wp-image-3364" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_440.png" alt="Mengeksekusi action view pada console command" width="567" height="361" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_440.png 1057w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_440-300x191.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_440-768x488.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_440-1024x651.png 1024w" sizes="(max-width: 567px) 100vw, 567px" /><p id="caption-attachment-3364" class="wp-caption-text">Mengeksekusi action view pada console command</p></div>
<p>Cukup mudah bukan gan, selanjutnya anda bisa mengkreasikan sendiri fungsi tersebut sesuai dengan kebutuhan yang anda perlukan. Sekian tutorial dari saya ini, semoga dapat bermanfaat. Kritik dan sarannya saya tunggu untuk kesempurnaan tulisan ini dan masukan untuk saya pribadi.</p>
<p>Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-membuat-console-command-di-framework-yii2/">Cara Membuat Console Command di Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/cara-membuat-console-command-di-framework-yii2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cara Membuat Module di Framework Yii2</title>
		<link>https://mragus.com/cara-membuat-module-di-framework-yii2/</link>
					<comments>https://mragus.com/cara-membuat-module-di-framework-yii2/#respond</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 11 Feb 2018 04:13:35 +0000</pubDate>
				<category><![CDATA[Yii2 Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yii2]]></category>
		<category><![CDATA[yii2framework]]></category>
		<category><![CDATA[yii2module]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3342</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara membuat module di Framework Yii2. Module merupakan sebuah representasi untuk sub aplikasi yang dalamnya terdiri dan Model, View dan Controller. Yii2 menyediakan fitur untuk membuat module&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-membuat-module-di-framework-yii2/">Cara Membuat Module di Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara membuat module di Framework Yii2. Module merupakan sebuah representasi untuk sub aplikasi yang dalamnya terdiri dan<em> Model, View </em>dan<em> Controller</em>. Yii2 menyediakan fitur untuk membuat module secara instan dengan menggunakan Gii.<span id="more-3342"></span></p>
<p>Meskipun kita dengan secara mudah membuat module dengan menggunakan Gii, tapi kita juga harus mengerti lebih lanjut tentang struktur dari module dan konfigurasi apa saja yang dibutuhkan. Oke, langsung saja kita mulai untuk nyekrip nya.</p>
<h1>Cara Membuat Module di Framework Yii2</h1>
<p>Pada tutorial ini, saya menggunakan template <em>Basic</em> untuk Framework Yii2 nya. Langkah pertama kita masuk ke aplikasi dan kemudian masuk ke Gii. Selanjutnya kita pilih menu <em><strong>Module Generator</strong></em>.</p>
<div id="attachment_3346" style="width: 543px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3346" decoding="async" loading="lazy" class="wp-image-3346" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_433.png" alt="Cara Membuat Module di Framework Yii2" width="533" height="236" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_433.png 1891w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_433-300x133.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_433-768x340.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_433-1024x454.png 1024w" sizes="(max-width: 533px) 100vw, 533px" /><p id="caption-attachment-3346" class="wp-caption-text">Cara Membuat Module di Framework Yii2</p></div>
<p>Kemudian kita isikan nama <strong>module</strong> pada form yang tersedia, contohnya sebagai berikut.</p>
<div id="attachment_3348" style="width: 561px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3348" decoding="async" loading="lazy" class=" wp-image-3348" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_434-1.png" alt="Cara Membuat Module di Framework Yii2" width="551" height="426" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_434-1.png 1117w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_434-1-300x232.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_434-1-768x594.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_434-1-1024x792.png 1024w" sizes="(max-width: 551px) 100vw, 551px" /><p id="caption-attachment-3348" class="wp-caption-text">Cara Membuat Module di Framework Yii2</p></div>
<p>Setelah module sukses ter generate, maka akan muncul pesan berwarna <strong>hijau</strong> di bawah tombol preview yang berisi pesan untuk menambahkan skrip class module di dalam konfigurasi aplikasi kita. Untuk menambahkan skrip tersebut, kita buka file <em>config</em> di <strong>config/web.php</strong>, kemudian tambahkan skripnya. Contohnya sebagai berikut.</p>
<div id="attachment_3350" style="width: 560px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3350" decoding="async" loading="lazy" class="wp-image-3350" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_435.png" alt="Cara Membuat Module di Framework Yii2" width="550" height="513" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_435.png 997w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_435-300x279.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_435-768x715.png 768w" sizes="(max-width: 550px) 100vw, 550px" /><p id="caption-attachment-3350" class="wp-caption-text">Cara Membuat Module di Framework Yii2</p></div>
<p>Untuk mengakses module yang telah kita buat, arahkan url sesuai dengan nama module yang telah kita buat. Contohnya sebagai berikut.</p>
<div id="attachment_3351" style="width: 572px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3351" decoding="async" loading="lazy" class=" wp-image-3351" src="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_436.png" alt="Cara Membuat Module di Framework Yii2" width="562" height="267" srcset="https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_436.png 1706w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_436-300x142.png 300w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_436-768x364.png 768w, https://mragus.com/wp-content/uploads/2018/02/aguswijisuhariono_436-1024x486.png 1024w" sizes="(max-width: 562px) 100vw, 562px" /><p id="caption-attachment-3351" class="wp-caption-text">Cara Membuat Module di Framework Yii2</p></div>
<h2>Struktur</h2>
<p>Struktur module yang kita buat adalah sebagai berikut.</p>
<pre class="lang:default decode:true">modules/
   BelajarModule/                folder untuk module
      TesModule.php              file yang berisi class untuk module id
      controllers/               folder yang digunakan untuk menyimpan controller untuk module
        DefaultController.php    file yang berisi class DefaultController
    models/                      kita bisa menambahkan folder models untuk menyimpan class model
    views/                       folder yang digunakan untuk menyimpan view pada module
        default/                 folder yang digunakan untuk menyimpan view pada DefaultController
            index.php            file index untuk DefaultController</pre>
<p>Selanjutnya anda bisa mengembangkan sendiri dan menambahkan file sesuai dengan kebutuhan pada project yang agan-agan kerjakan. Sekian tutorial dari saya ini, semoga dapat bermanfaat. Kritik dan masukannya saya tunggu untuk kesempurnaan tulisan ini.</p>
<p>Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/cara-membuat-module-di-framework-yii2/">Cara Membuat Module di Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/cara-membuat-module-di-framework-yii2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat CRUD Native PHP dengan Mysqli</title>
		<link>https://mragus.com/membuat-crud-native-php-dengan-mysqli/</link>
					<comments>https://mragus.com/membuat-crud-native-php-dengan-mysqli/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 03 Dec 2017 11:19:41 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[crud]]></category>
		<category><![CDATA[mysqli]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3305</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara Membuat CRUD Native PHP dengan Mysqli dan database MySql. Pada tutorial di mragus.com yang lalu, pernah ada tutorial menampilkan data dengan menggunakan extensi php mysql query. Tetapi&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-crud-native-php-dengan-mysqli/">Membuat CRUD Native PHP dengan Mysqli</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara Membuat CRUD Native PHP dengan Mysqli dan database MySql. Pada tutorial di mragus.com yang lalu, pernah ada tutorial menampilkan data dengan menggunakan extensi php mysql query. Tetapi sejak versi PHP 5.5.0,<span id="more-3305"></span> ekstensi ini sudah <em>deprecated</em> dan pada PHP 7 ekstensi ini sudah di hapus.</p>
<p>Ekstensi Mysqli ini kurang lebih sama dengan mysql, cara penggunaan argumen dan pemanggilan fungsi nya hampir sama, hanya menambahkan akhiran i. Contoh nya <em>mysqli_query, mysqli_fetch_object </em>dan sebagainya. Penggunaan Mysqli ini ditujukan untuk versi Mysql Server 4.1 keatas. Terdapat dua jenis style yang bisa kita gunakan untuk menggunakan ektensi mysqli ini, yaitu <em>procedural style</em> dan <em>object oriented style</em>.</p>
<h2>Membuat CRUD Native PHP dengan Mysqli</h2>
<p>Pada tutorial kali ini, penulisan CRUD nya menggunakan style <em>object oriented.</em> Langsung saja kita mulai nyekrip untuk membuat CRUD dengan menggunakan mysqli ini. Tabel yang saya gunakan adalah <strong>tb_blog</strong> dengan struktur sebagai berikut.</p>
<pre class="lang:default decode:true ">+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| id_kategori | int(11)     | NO   |     | NULL    |                |
| tanggal     | date        | NO   |     | NULL    |                |
| judul       | varchar(50) | NO   |     | NULL    |                |
| isi         | text        | NO   |     | NULL    |                |
| status      | int(11)     | NO   |     | 0       |                |
+-------------+-------------+------+-----+---------+----------------+
6 rows in set (0,00 sec)
</pre>
<p>Untuk Struktur File pada project ini adalah sebagai berikut. Saya menggunakan bootstrap untuk mempercantik penampilannya, anda bisa menyesuaikan dengan Framework css yang anda sukai.</p>
<div id="attachment_3309" style="width: 224px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3309" decoding="async" loading="lazy" class="wp-image-3309" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_348.png" alt="Membuat CRUD Native PHP dengan Mysqli" width="214" height="293" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_348.png 422w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_348-219x300.png 219w" sizes="(max-width: 214px) 100vw, 214px" /><p id="caption-attachment-3309" class="wp-caption-text">Membuat CRUD Native PHP dengan Mysqli</p></div>
<p>Untuk skrip <strong>koneksi.php</strong> isinya adalah sebagai berikut.</p>
<pre class="lang:default decode:true">&lt;?php
$koneksi = new mysqli('localhost', 'root', 'password','nama database');
if ($koneksi-&gt;connect_error) {
    die("Koneksi Gagal: " . $koneksi-&gt;connect_error);
} 
?&gt;</pre>
<h2>Skrip CRUD</h2>
<p>Setelah kita membuat database dan koneksi ke database mysql server, langkah selanjutnya kita membuat file <strong>index.php </strong>yang digunakan untuk menampilkan list data dari <strong>tb_blog. </strong>Untuk skripnya adalah sebagai berikut.</p>
<pre class="lang:default decode:true ">&lt;?php
require_once('koneksi.php');

$query = "SELECT * FROM tb_blog";
$urlcrud = "index.php?page=crud/";
?&gt;
&lt;div class="row"&gt;
     &lt;div class="col-lg-12"&gt;
     &lt;a href="&lt;?= $urlcrud.'create' ?&gt;" class="btn btn-success btn-sm"&gt;&lt;span class="glyphicon glyphicon-plus"&gt;&lt;/span&gt; Tambah&lt;/a&gt;
     &lt;table class="table table-hover table-bordered" style="margin-top: 10px"&gt;
        &lt;tr class="success"&gt;
            &lt;th width="50px"&gt;No&lt;/th&gt;
            &lt;th&gt;id kategori&lt;/th&gt;
            &lt;th&gt;Tanggal&lt;/th&gt;
            &lt;th&gt;Judul&lt;/th&gt;
            &lt;th&gt;Isi&lt;/th&gt;
            &lt;th&gt;Status&lt;/th&gt;
            &lt;th style="text-align: center;"&gt;Actions&lt;/th&gt;
        &lt;/tr&gt;
     &lt;?php
     if($data=mysqli_query($koneksi,$query)){
        $a=1;
        while($obj=mysqli_fetch_object($data)){
     ?&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;?= $a ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?= $obj-&gt;id_kategori ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?= $obj-&gt;tanggal ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?= $obj-&gt;judul ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?= $obj-&gt;isi ?&gt;&lt;/td&gt;
            &lt;td&gt;&lt;?= $obj-&gt;status ?&gt;&lt;/td&gt;
            &lt;td style="text-align: center;"&gt;
                &lt;a onclick="return confirm('Apakah yakin data akan di hapus?')" href="&lt;?= $urlcrud.'hapus&amp;id='.$obj-&gt;id ?&gt;" class="btn btn-danger btn-sm"&gt;&lt;span class="glyphicon glyphicon-trash"&gt;&lt;/span&gt;&lt;/a&gt;
                &lt;a href="&lt;?= $urlcrud.'edit&amp;id='.$obj-&gt;id ?&gt;" class="btn btn-success btn-sm"&gt;&lt;span class="glyphicon glyphicon-edit"&gt;&lt;/span&gt;&lt;/a&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;?php
        $a++;
        }
     }
     ?&gt;
     &lt;/table&gt;
  &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Kemudian kita buat file <strong>create.php </strong>untuk menampilkan form create, dengan contoh skrip sebagai berikut. Untuk proses insertnya, saya juga menggunakan file ini. Bisa dilihat, pada saat method nya POST maka akan mengeksekusi proses insert, saya juga menggunakan try catch untuk proses insert data ini.</p>
<pre class="lang:default decode:true">&lt;?php
require_once('koneksi.php');
if($_POST){
    try {
       $sql = "INSERT INTO tb_blog (id_kategori,tanggal,judul,isi,status) VALUES ('".$_POST['id_kategori']."','".$_POST['tanggal']."','".$_POST['judul']."','".$_POST['isi']."','".$_POST['status']."')";
       if(!$koneksi-&gt;query($sql)){
          echo $koneksi-&gt;error;
          die();
        }
    } catch (Exception $e) {
      echo $e;
      die();
    }
    echo "&lt;script&gt;
         alert('Data berhasil di simpan');
         window.location.href='index.php?page=crud/index';
         &lt;/script&gt;";
}
?&gt;
&lt;div class="row"&gt;
     &lt;div class="col-lg-6"&gt;
         &lt;form action="" method="POST"&gt;
             &lt;div class="form-group"&gt;
                 &lt;label&gt;Kategori&lt;/label&gt;
                 &lt;input type="text" value="" class="form-control" name="id_kategori"&gt;
             &lt;/div&gt;
             &lt;div class="form-group"&gt;
                 &lt;label&gt;Tanggal&lt;/label&gt;
                 &lt;input type="text" value="" class="form-control" name="tanggal"&gt;
             &lt;/div&gt;
             &lt;div class="form-group"&gt;
                 &lt;label&gt;Judul&lt;/label&gt;
                 &lt;input type="text" value="" class="form-control" name="judul"&gt;
             &lt;/div&gt;
             &lt;div class="form-group"&gt;
                 &lt;label&gt;Isi&lt;/label&gt;
                 &lt;input type="text" value="" class="form-control" name="isi"&gt;
             &lt;/div&gt;
             &lt;div class="form-group"&gt;
                 &lt;label&gt;Status&lt;/label&gt;
                 &lt;input type="text" value="" class="form-control" name="status"&gt;
             &lt;/div&gt;
             &lt;input type="submit" class="btn btn-primary btn-sm" name="create" value="Create"&gt;
         &lt;/form&gt;
      &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Untuk Screenshot form create nya adalah sebagai berikut.</p>
<p><img decoding="async" loading="lazy" class=" wp-image-3312 aligncenter" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_349.png" alt="" width="520" height="434" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_349.png 949w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_349-300x250.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_349-768x641.png 768w" sizes="(max-width: 520px) 100vw, 520px" /></p>
<p>Selanjutnya kita buat file <strong>edit.php</strong> untuk menampilkan form edit data untuk tabel <strong>tb_blog</strong>. Berikut adalah contoh skripnya.</p>
<pre class="lang:default decode:true">&lt;?php
require_once('koneksi.php');
if($_POST){
        $sql = "UPDATE tb_blog SET id_kategori='".$_POST['id_kategori']."', tanggal='".$_POST['tanggal']."', judul='".$_POST['judul']."', isi='".$_POST['isi']."', status='".$_POST['status']."' WHERE id=".$_POST['id'];
        if ($koneksi-&gt;query($sql) === TRUE) {
           echo "&lt;script&gt;
           alert('Data berhasil di update');
           window.location.href='index.php?page=crud/index';
           &lt;/script&gt;";
        } else {
           echo "Gagal: " . $koneksi-&gt;error;
        }
        $koneksi-&gt;close();	
}else{
        $query = $koneksi-&gt;query("SELECT * FROM tb_blog WHERE id=".$_GET['id']);
        if($query-&gt;num_rows &gt; 0){
           $data = mysqli_fetch_object($query);
        }else{
           echo "data tidak tersedia";
           die();
        }
?&gt;
&lt;div class="row"&gt;
    &lt;div class="col-lg-6"&gt;
         &lt;form action="" method="POST"&gt;
         &lt;input type="hidden" name="id" value="&lt;?= $data-&gt;id ?&gt;"&gt;
         &lt;div class="form-group"&gt;
             &lt;label&gt;Kategori&lt;/label&gt;
             &lt;input type="text" value="&lt;?= $data-&gt;id_kategori ?&gt;" class="form-control" name="id_kategori"&gt;
         &lt;/div&gt;
         &lt;div class="form-group"&gt;
             &lt;label&gt;Tanggal&lt;/label&gt;
             &lt;input type="text" value="&lt;?= $data-&gt;tanggal ?&gt;" class="form-control" name="tanggal"&gt;
         &lt;/div&gt;
         &lt;div class="form-group"&gt;
             &lt;label&gt;Judul&lt;/label&gt;
             &lt;input type="text" value="&lt;?= $data-&gt;judul ?&gt;" class="form-control" name="judul"&gt;
         &lt;/div&gt;
         &lt;div class="form-group"&gt;
             &lt;label&gt;Isi&lt;/label&gt;
             &lt;input type="text" value="&lt;?= $data-&gt;isi ?&gt;" class="form-control" name="isi"&gt;
         &lt;/div&gt;
         &lt;div class="form-group"&gt;
             &lt;label&gt;Status&lt;/label&gt;
             &lt;input type="text" value="&lt;?= $data-&gt;status ?&gt;" class="form-control" name="status"&gt;
         &lt;/div&gt;
         &lt;input type="submit" class="btn btn-primary btn-sm" name="Update" value="Update"&gt;
         &lt;/form&gt;
      &lt;/div&gt;
&lt;/div&gt;
&lt;?php
}
mysqli_close($koneksi);
?&gt;</pre>
<p>Pada skrip di atas, bisa kita lihat terdapat kondisi jika method <strong>POST</strong>, maka akan melakukan proses update data pada <strong>tb_blog</strong>. Kemudian pada kondisi <strong>else</strong> nya, adalah menampilkan data pada form untuk data yang ingin di update.</p>
<p>Untuk proses delete, kita buat sebuah file dengan nama <strong>hapus.php </strong>dengan contoh skrip sebagai berikut. Jika data berhasil di hapus, maka file ini akan memunculkan alert dan otomatis redirect ke file <strong>index.php</strong>.</p>
<pre class="lang:default decode:true ">&lt;?php
require_once('koneksi.php');
try {
      $sql = "DELETE FROM tb_blog WHERE id=".$_GET['id'];
      $koneksi-&gt;query($sql);
} catch (Exception $e) {
      echo $e;
      die();
}
     echo "&lt;script&gt;
     alert('Data berhasil di hapus');
     window.location.href='index.php?page=crud/index';
     &lt;/script&gt;";
?&gt;</pre>
<h2>Uji Coba</h2>
<p>Setelah kita membuat skrip di atas, kita mulai uji coba project ini. Pertama kita buka file index dengan penampakan sebagai berikut.</p>
<div id="attachment_3306" style="width: 571px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3306" decoding="async" loading="lazy" class=" wp-image-3306" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_347.png" alt="Membuat CRUD Native PHP dengan Mysqli" width="561" height="276" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_347.png 1786w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_347-300x147.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_347-768x377.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_347-1024x503.png 1024w" sizes="(max-width: 561px) 100vw, 561px" /><p id="caption-attachment-3306" class="wp-caption-text">Membut CRUD Native PHP dMembuat CRUD Native PHP dengan Mysqliengan Mysqli</p></div>
<p>Selanjutnya kita akan menginsert data baru dengan mengakses tombol tambah.</p>
<div id="attachment_3318" style="width: 520px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3318" decoding="async" loading="lazy" class="wp-image-3318" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_352.png" alt="Form Create data Blog dengan Native PHP" width="510" height="312" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_352.png 1292w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_352-300x183.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_352-768x469.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_352-1024x625.png 1024w" sizes="(max-width: 510px) 100vw, 510px" /><p id="caption-attachment-3318" class="wp-caption-text">Form Create data Blog dengan Native PHP</p></div>
<p>Kemudian kita coba untuk mengakses form update data.</p>
<div id="attachment_3319" style="width: 525px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3319" decoding="async" loading="lazy" class="wp-image-3319" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_353.png" alt="Form Update data Blog dengan Native PHP " width="515" height="315" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_353.png 1293w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_353-300x183.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_353-768x469.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_353-1024x625.png 1024w" sizes="(max-width: 515px) 100vw, 515px" /><p id="caption-attachment-3319" class="wp-caption-text">Form Update data Blog dengan Native PHP</p></div>
<p>Selanjutnya kita bisa mengetes untuk menghapus data dengan mengklik tombol merah pada view index.</p>
<div id="attachment_3320" style="width: 534px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3320" decoding="async" loading="lazy" class="wp-image-3320" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_354.png" alt="Action Delete dengan menggunakan Native PHP" width="524" height="256" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_354.png 1247w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_354-300x147.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_354-768x375.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_354-1024x500.png 1024w" sizes="(max-width: 524px) 100vw, 524px" /><p id="caption-attachment-3320" class="wp-caption-text">Action Delete dengan menggunakan Native PHP</p></div>
<p>Sekian tutorial dari saya ini, semoga dapat bermanfaat. Selanjutnya anda bisa bereksperimen dengan menambahkan fitur sesuai dengan aplikasi yang anda buat. Untuk skrip lengkapnya anda bisa mendownload nya disini <a href="https://mragus.com/source-code/">https://mragus.com/source-code/</a>.</p>
<p>Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-crud-native-php-dengan-mysqli/">Membuat CRUD Native PHP dengan Mysqli</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-crud-native-php-dengan-mysqli/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Fungsi Terbilang Angka dengan PHP</title>
		<link>https://mragus.com/membuat-fungsi-terbilang-angka-dengan-php/</link>
					<comments>https://mragus.com/membuat-fungsi-terbilang-angka-dengan-php/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sat, 02 Dec 2017 14:36:31 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[angka]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[terbilang]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3297</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara Membuat Fungsi Terbilang Angka dengan PHP. Pada saat kita membuat sebuah aplikasi dengan menggunakan PHP, terkadang kita memerlukan fungsi untuk menyebutkan jumlah nilai sebuah angka atau uang&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-fungsi-terbilang-angka-dengan-php/">Membuat Fungsi Terbilang Angka dengan PHP</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tutorial tentang cara Membuat Fungsi Terbilang Angka dengan PHP. Pada saat kita membuat sebuah aplikasi dengan menggunakan PHP, terkadang kita memerlukan fungsi untuk menyebutkan jumlah nilai sebuah angka atau uang<span id="more-3297"></span> rupiah. Biasanya fungsi ini kita gunakan pada fitur laporan atau kuitansi yang terkait dengan keuangan.</p>
<p>Untuk membuat fungsi terbilang di PHP ini tidak begitu susah, kita hanya perlu menentukan nilai tersebut masuk pada kategori satuan, belasan, puluhan, ribuan dan sebagainya.</p>
<h2>Membuat Fungsi Terbilang Angka dengan PHP</h2>
<p>Pada fungsi ini, saya hanya akan memunculkan terbilang hanya sampai trilyun. Tanpa basa basi, berikut adalah contoh skrip nya.</p>
<pre class="lang:default decode:true">&lt;?php
function Terbilang($nilai) {
        $huruf = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas");
        if($nilai==0){
            return "Kosong";
        }elseif ($nilai &lt; 12&amp;$nilai!=0) {
            return "" . $huruf[$nilai];
        } elseif ($nilai &lt; 20) {
            return Terbilang($nilai - 10) . " Belas ";
        } elseif ($nilai &lt; 100) {
            return Terbilang($nilai / 10) . " Puluh " . Terbilang($nilai % 10);
        } elseif ($nilai &lt; 200) {
            return " Seratus " . Terbilang($nilai - 100);
        } elseif ($nilai &lt; 1000) {
            return Terbilang($nilai / 100) . " Ratus " . Terbilang($nilai % 100);
        } elseif ($nilai &lt; 2000) {
            return " Seribu " . Terbilang($nilai - 1000);
        } elseif ($nilai &lt; 1000000) {
            return Terbilang($nilai / 1000) . " Ribu " . Terbilang($nilai % 1000);
        } elseif ($nilai &lt; 1000000000) {
            return Terbilang($nilai / 1000000) . " Juta " . Terbilang($nilai % 1000000);
        }elseif ($nilai &lt; 1000000000000) {
            return Terbilang($nilai / 1000000000) . " Milyar " . Terbilang($nilai % 1000000000);
        }elseif ($nilai &lt; 100000000000000) {
            return Terbilang($nilai / 1000000000000) . " Trilyun " . Terbilang($nilai % 1000000000000);
        }elseif ($nilai &lt;= 100000000000000) {
            return "Maaf Tidak Dapat di Prose Karena Jumlah nilai Terlalu Besar ";
        }
    }
?&gt;</pre>
<h3>Penjelasan</h3>
<p>Fungsi di atas akan mencetak batas angka tertinggi sampai 99 trilyun. Kita buat dulu sebuah array yang digunakan untuk menyebutkan nilai angka. Kemudian Pada kondisi pertama, kita buat sebuah kondisi untuk menghandle nilai 0.</p>
<p>Pada kondisi kedua, digunakan untuk menyebutkan nilai mulai dari 1 sampai 11. Pada kondisi ketiga, digunakan untuk menyebutkan nilai mulai dari 12 sampai 19 dengan memanggil fungsi terbilang secara <em>recursive</em>.</p>
<p>Pada kondisi ke 4 dan seterusnya, digunakan untuk menyebutkan nilai mulai dari puluhan sampai dengan trilyun, dengan memanggil fungsi terbilang secara <em>recursive</em> 2 kali.</p>
<h3>Penggunaan</h3>
<p>Untuk menggunakannya cukup mudah, cukup panggil fungsi ini dengan memasukkan parameter angka yang ingin di konversi menjadi terbilang. Contoh.</p>
<pre class="lang:default decode:true ">Jumlah Angka : 99999999999999
Terbilang : &lt;?= Terbilang(99999999999999) ?&gt;</pre>
<p>Hasil nya adalah sebagai berikut.</p>
<p>Angka sampai dengan ratusan juta.</p>
<div id="attachment_3302" style="width: 572px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3302" decoding="async" loading="lazy" class="wp-image-3302 " src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_346.png" alt="Membuat Fungsi Terbilang Angka dengan PHP" width="562" height="148" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_346.png 1265w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_346-300x79.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_346-768x203.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_346-1024x270.png 1024w" sizes="(max-width: 562px) 100vw, 562px" /><p id="caption-attachment-3302" class="wp-caption-text">Membuat Fungsi Terbilang Angka dengan PHP</p></div>
<p>Angka sampai dengan trilyun.</p>
<div id="attachment_3301" style="width: 570px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3301" decoding="async" loading="lazy" class="wp-image-3301 " src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_345.png" alt="Membuat Fungsi Terbilang Angka dengan PHP" width="560" height="139" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_345.png 1793w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_345-300x74.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_345-768x190.png 768w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_345-1024x254.png 1024w" sizes="(max-width: 560px) 100vw, 560px" /><p id="caption-attachment-3301" class="wp-caption-text">Membuat Fungsi Terbilang Angka dengan PHP</p></div>
<p>Tidak begitu susah bukan, untuk membuat fungsi ini hanya diperlukan analisa dan algoritma yang baik. Selanjutnya anda bisa menggunakan fungsi ini pada berbagai macam aplikasi teman teman dan biasanya pada fitur laporan dan yang terkait dengan keuangan.</p>
<p>Semoga tutorial dan pembahasan singkat saya ini dapat bermanfaat. Atas kurang lebih nya harap di maklumi. Masukan dan saran dari kawan-kawan saya tunggu.</p>
<p>Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-fungsi-terbilang-angka-dengan-php/">Membuat Fungsi Terbilang Angka dengan PHP</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-fungsi-terbilang-angka-dengan-php/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Format Tanggal Indonesia dengan PHP</title>
		<link>https://mragus.com/membuat-format-tanggal-indonesia-dengan-php/</link>
					<comments>https://mragus.com/membuat-format-tanggal-indonesia-dengan-php/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sat, 02 Dec 2017 13:27:22 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tanggal]]></category>
		<category><![CDATA[tanggalindonesia]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3291</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, halo para pembaca, setelah lebih dari satu bulan tidak update blog karena berbagai kesibukan, pada kesempatan kali ini saya akan sharing tentang cara membuat format tanggal indonesia dengan PHP. Pada saat membuat aplikasi dengan menggunakan PHP&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-format-tanggal-indonesia-dengan-php/">Membuat Format Tanggal Indonesia dengan PHP</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, halo para pembaca, setelah lebih dari satu bulan tidak update blog karena berbagai kesibukan, pada kesempatan kali ini saya akan sharing tentang cara membuat format tanggal indonesia dengan PHP. Pada saat membuat aplikasi dengan menggunakan PHP terkadang kita perlu <span id="more-3291"></span>menampilkan format tanggal menggunakan format indonesia, sedangkan PHP hanya menyediakan fungsi tanggal dengan format bahasa inggris.</p>
<p>Untuk membuat format tanggal menjadi di PHP, kita bisa membuat fungsi sendiri dengan bentuk yang bisa kita sesuaikan dengan <em>date format character</em> yang telah disediakan oleh PHP.</p>
<h2>Membuat Format Tanggal Indonesia dengan PHP</h2>
<p>Saya akan membuat sebuah fungsi dengan parameter tanggal date(&#8216;Y-m-d&#8217;) dengan contoh seperti ini &#8220;2017-12-07&#8221; atau date(&#8216;d-m-Y&#8217;) dengan contoh seperti ini &#8220;07-12-2017&#8221;. Langsung saja tanpa basa-basi, berikut adalah contoh script fungsi tanggalIndonesia().</p>
<pre class="lang:default decode:true">&lt;?php
function TanggalIndonesia($date) {
    $date = date('Y-m-d',strtotime($date));
    if($date == '0000-00-00')
        return 'Tanggal Kosong';

    $tgl = substr($date, 8, 2);
    $bln = substr($date, 5, 2);
    $thn = substr($date, 0, 4);

    switch ($bln) {
        case 1 : {
                $bln = 'Januari';
            }break;
        case 2 : {
                $bln = 'Februari';
            }break;
        case 3 : {
                $bln = 'Maret';
            }break;
        case 4 : {
                $bln = 'April';
            }break;
        case 5 : {
                $bln = 'Mei';
            }break;
        case 6 : {
                $bln = "Juni";
            }break;
        case 7 : {
                $bln = 'Juli';
            }break;
        case 8 : {
                $bln = 'Agustus';
            }break;
        case 9 : {
                $bln = 'September';
            }break;
        case 10 : {
                $bln = 'Oktober';
            }break;
        case 11 : {
                $bln = 'November';
            }break;
        case 12 : {
                $bln = 'Desember';
            }break;
        default: {
                $bln = 'UnKnown';
            }break;
    }

    $hari = date('N', strtotime($date));
    switch ($hari) {
        case 0 : {
                $hari = 'Minggu';
            }break;
        case 1 : {
                $hari = 'Senin';
            }break;
        case 2 : {
                $hari = 'Selasa';
            }break;
        case 3 : {
                $hari = 'Rabu';
            }break;
        case 4 : {
                $hari = 'Kamis';
            }break;
        case 5 : {
                $hari = "Jum'at";
            }break;
        case 6 : {
                $hari = 'Sabtu';
            }break;
        default: {
                $hari = 'UnKnown';
            }break;
    }

    $tanggalIndonesia = "Hari ".$hari.", Tanggal ".$tgl . " " . $bln . " " . $thn;
    return $tanggalIndonesia;
}

?&gt;</pre>
<p>Pada fungsi di atas akan mencetak tanggal dengan format Indonesia beserta nama harinya. Untuk cara menggunakan fungsi tersebut di atas adalah sebagai berikut.</p>
<pre class="lang:default decode:true">Tanggal PHP : &lt;?= date('Y-m-d') ?&gt;
Tanggal Indonesia : &lt;?= TanggalIndonesia(date('Y-m-d')) ?&gt;</pre>
<p>Hasilnya untuk fungsi di atas adalah sebagai berikut, dengan contoh perbandingan menggunakan fungsi dari PHP date(&#8216;Y-m-d&#8217;) dan fungsi tanggal Indonesia yang telah kita buat sendiri.</p>
<div id="attachment_3295" style="width: 568px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3295" decoding="async" loading="lazy" class="wp-image-3295" src="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_343.png" alt="Membuat Format Tanggal Indonesia dengan PHP" width="558" height="234" srcset="https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_343.png 1003w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_343-300x126.png 300w, https://mragus.com/wp-content/uploads/2017/12/aguswijisuhariono_343-768x322.png 768w" sizes="(max-width: 558px) 100vw, 558px" /><p id="caption-attachment-3295" class="wp-caption-text">Membuat Format Tanggal Indonesia dengan PHP</p></div>
<p>Kita bisa memodifikasi fungsi diatas, disesuaiakan dengan kebutuhan yang kita inginkan. Untuk fungsi php date time format nya bisa kita lihat disini <a href="http://php.net/manual/en/function.date.php">http://php.net/manual/en/function.date.php</a>. Sekian tutorial singkat dari saya ini, semoga dapat bermanfaat.</p>
<p>Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-format-tanggal-indonesia-dengan-php/">Membuat Format Tanggal Indonesia dengan PHP</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-format-tanggal-indonesia-dengan-php/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</title>
		<link>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/</link>
					<comments>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Wed, 30 Aug 2017 06:09:45 +0000</pubDate>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[DataTables]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ServerSideProcessing]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=3071</guid>

					<description><![CDATA[<p>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql. Assalamualaikum wr wb, pada tutorial kali ini saya akan membahas mengenai cara menggunakan DataTables dengan serverside processing. Untuk pengenalan, pertama-tama saya akan menjelaskan apa itu DataTables. DataTables merupakan plugin yang dibuat&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Tutorial Menggunakan DataTables dengan <em>Serverside Processing</em> PHP dan MySql. </strong>Assalamualaikum wr wb, pada tutorial kali ini saya akan membahas mengenai cara menggunakan DataTables dengan <em>serverside processing</em>. Untuk pengenalan, pertama-tama saya akan menjelaskan apa itu DataTables. DataTables merupakan plugin yang dibuat dengan menggunakan JQuery untuk <span id="more-3071"></span>menampilkan data dalam bentuk tabel yang memiliki fitur cukup lengkap dan terintegrasi dengan pagination, pencarian data dan sorting kolom.</p>
<p>Sesuai dengan judul artikel ini, kenapa harus menggunakan <em>Serverside Processing? </em>DataTables ternyata menyediakan fitur dimana kita bisa mendapatkan <em>data collection </em>dengan menggunakan Ajax. Lalu keuntungan apa yang bisa kita dapatkan? Dengan menggunakan metode ini, aplikasi yang memiliki cukup banyak data, akan terasa ringan ketika di load. Kenapa hal ini bisa terjadi, karena data tidak akan di load sekaligus. Data akan diambil sedikit demi sedikit melalui Ajax sesuai dengan request yang diminta.</p>
<h2>Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</h2>
<p>Pada tutorial ini, saya menggunakan DataTables versi 1.10.15. Anda bisa mendownload-nya dari Situs resminya disini <a href="https://datatables.net/">https://datatables.net/</a>. Setelah di download, kita siapkan environmentnya dengan memanggil <em>assets</em> DataTables dan taruh di layout. Berikut contoh pemasangan asset DataTables di aplikasi yang saya buat.</p>
<div id="attachment_3076" style="width: 290px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3076" decoding="async" loading="lazy" class=" wp-image-3076" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="280" height="324" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175.png 459w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_175-259x300.png 259w" sizes="(max-width: 280px) 100vw, 280px" /><p id="caption-attachment-3076" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Kemudian sesuaikan pemasangan assets sesuai dengan lokasinya. Untuk DataTables versi 1.10.15, minimal JQuerynya adalah versi 1.7 .</p>
<div id="attachment_3078" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3078" decoding="async" loading="lazy" class="wp-image-3078" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="520" height="117" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1.png 1174w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-300x67.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-768x173.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_176-1-1024x230.png 1024w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-3078" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<div id="attachment_3079" style="width: 532px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3079" decoding="async" loading="lazy" class=" wp-image-3079" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="522" height="114" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177.png 1210w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-300x65.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-768x168.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_177-1024x223.png 1024w" sizes="(max-width: 522px) 100vw, 522px" /><p id="caption-attachment-3079" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Untuk tabel yang saya gunakan adalah tabel <strong><em>authors</em></strong> dengan struktur sebagai berikut.</p>
<pre class="lang:mysql decode:true">+------------+--------------+------+-----+-------------------+----------------+
| Field      | Type         | Null | Key | Default           | Extra          |
+------------+--------------+------+-----+-------------------+----------------+
| id         | int(11)      | NO   | PRI | NULL              | auto_increment |
| first_name | varchar(50)  | NO   |     | NULL              |                |
| last_name  | varchar(50)  | NO   |     | NULL              |                |
| email      | varchar(100) | NO   | UNI | NULL              |                |
| birthdate  | date         | NO   |     | NULL              |                |
| added      | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+------------+--------------+------+-----+-------------------+----------------+
6 rows in set (0,00 sec)
</pre>
<h3>Ngoding</h3>
<p>Setelah setting assets dan tabel selesai, kita buat file untuk menampilkan tabel dengan menggunakan DataTables. Saya membuat file dengan nama <strong>datatables.php</strong>, berikut adalah scriptnya.</p>
<pre class="lang:default decode:true">&lt;table id="tabelAuthor" class="table table-bordered table-hover"&gt;
    &lt;thead&gt;
        &lt;tr&gt;
	    &lt;th&gt;Nama Awal&lt;/th&gt;
	    &lt;th&gt;Nama Akhir&lt;/th&gt;
	    &lt;th&gt;Email&lt;/th&gt;
	    &lt;th&gt;Tgl. Lahir&lt;/th&gt;
	    &lt;th&gt;Action&lt;/th&gt;
	&lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
	&lt;tr&gt;
	    &lt;td&gt;Nama Awal&lt;/td&gt;
	    &lt;td&gt;Nama Akhir&lt;/td&gt;
	    &lt;td&gt;Email&lt;/td&gt;
	    &lt;td&gt;Tgl. Lahir&lt;/td&gt;
	    &lt;td&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;</pre>
<p><strong>Perhatikan</strong> format penulisan tag tabel, harus menggunakan <em>thead</em> dan <em>tbody.</em> Pastikan <em>id</em> di tabel yang di buat, sama dengan inisialisasi <em>id</em> pada javascript<em>. </em>Setelah script HTML selesai, kita buat javascript untuk menginisialisasi DataTables dengan contoh sebagai berikut.</p>
<pre class="lang:js decode:true">&lt;script type="text/javascript"&gt;
	$(document).ready(function() {
	    var table = $('#tabelAuthor').DataTable( { 
	        "processing": true,
	        "serverSide": true,
	        "ajax": "action/dataTables.php",
	        "columnDefs": [ {
	            "targets": -1,
	            "data": null,
	            "defaultContent": "&lt;button class='btn btn-success btn-xs tblEdit'&gt;Edit / Delete&lt;/button&gt;"
	        }]
	    });

	    $('#tabelAuthor tbody').on( 'click', '.tblEdit', function () {
	        var data = table.row( $(this).parents('tr') ).data();
	        window.location.href = "edit.php?id="+ data[4];
	    } );
	});
&lt;/script&gt;</pre>
<p>Saya tambahkan satu tombol dummy, yang bisa kita gunakan untuk action delete atau update record data. Pada javasript di atas, request ajax akan di arahkah ke file dataTables.php yang bertugas menghandle serverside processing. Berikut adalah script untuk <strong>dataTables.php </strong>.</p>
<pre class="lang:php decode:true">&lt;?php
$table = 'authors';
$primaryKey = 'id';

$columns = array(
    array( 'db' =&gt; 'first_name','dt' =&gt; 0 ),
    array( 'db' =&gt; 'last_name','dt' =&gt; 1 ),
    array( 'db' =&gt; 'email','dt' =&gt; 2 ),
    array( 'db' =&gt; 'birthdate', 'dt' =&gt; 3 ),
    array( 'db' =&gt; 'id', 'dt' =&gt; 4 ),
);
 
$sql_details = array(
    'user' =&gt; 'root',
    'pass' =&gt; 'agusbiji',
    'db'   =&gt; 'blog',
    'host' =&gt; 'localhost'
);
require('ssp.class.php');

echo json_encode(
    SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);</pre>
<p>Penjelasan :</p>
<ol>
<li>Variabel $table untuk mendefinisikan nama tabel.</li>
<li>Variabel $primaryKey untuk mendefinisikan primary key pada tabel yang digunakan.</li>
<li>Variabel $columns untuk mendefinisikan kolom apa saja yang akan di tampilkan pada datatables dengan <em>key db </em>untuk nama kolom dan <em>key dt </em>untuk index.</li>
<li>Variabel  $sql_details untuk mendefinisikan konfigurasi database.</li>
<li>require(&#8216;ssp.class.php&#8217;) sebagai class yang di gunakan untuk mengolah data kembalian. File ini sudah sepaket dengan <em>archieve</em> yang kita download bersama <em>assets datatables</em>. Pada aplikasi yang saya buat, file <strong>ssp.class.php</strong> lokasinya saya pasang di tempat yang sama dengan <strong>dataTables.php .</strong></li>
</ol>
<h3>Uji Coba</h3>
<p>Setelah tahap kodingan, selanjutnya kita uji coba apakah berjalan sesuai dengan yang diinginkan. Berikut adalah tampilan awal untuk tabel yang sudah dipasangi DataTables.</p>
<div id="attachment_3087" style="width: 597px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3087" decoding="async" loading="lazy" class="wp-image-3087" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="587" height="326" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178.png 1443w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-300x166.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-768x426.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_178-1024x568.png 1024w" sizes="(max-width: 587px) 100vw, 587px" /><p id="caption-attachment-3087" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Kemudian kita cek melalui debugger, apakah pengambilan data sudah menggunakan ajax.</p>
<div id="attachment_3088" style="width: 578px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3088" decoding="async" loading="lazy" class="wp-image-3088" src="https://mragus.com/wp-content/uploads/2017/08/Peek-2017-08-30-13-02.gif" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="568" height="295" /><p id="caption-attachment-3088" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<div id="attachment_3089" style="width: 581px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-3089" decoding="async" loading="lazy" class="wp-image-3089" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179.png" alt="Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql" width="571" height="119" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179.png 1110w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-300x62.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-768x160.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_179-1024x213.png 1024w" sizes="(max-width: 571px) 100vw, 571px" /><p id="caption-attachment-3089" class="wp-caption-text">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</p></div>
<p>Untuk fitur pencarian, pagination, dan sorting di datatables akan berjalan menggunakan ajax juga. Jika anda belum jelas, bisa lihat source code nya disini <a href="https://mragus.com/source-code/">https://mragus.com/source-code/</a>. Sekian tutorial saya ini, semoga bermanfaat. Selamat mencoba. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/">Tutorial Menggunakan DataTables dengan Serverside Processing PHP dan MySql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/tutorial-menggunakan-datatables-dengan-serverside-processing-php-dan-mysql/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Grafik dengan Highcharts PHP dan Mysql</title>
		<link>https://mragus.com/membuat-grafik-dengan-highcharts-php-dan-mysql/</link>
					<comments>https://mragus.com/membuat-grafik-dengan-highcharts-php-dan-mysql/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 27 Aug 2017 03:45:36 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[barchart]]></category>
		<category><![CDATA[bargrafik]]></category>
		<category><![CDATA[grafik]]></category>
		<category><![CDATA[highcharts]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[piechart]]></category>
		<category><![CDATA[piegrafik]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2944</guid>

					<description><![CDATA[<p>Membuat Grafik dengan Highcharts PHP dan Mysql. Assalamualaikum wr wb, pada pembahasan kali ini saya kan sharing cara membuat grafik pie dan grafik bar dengan menggunakan  Highcharts, PHP dan database MySql. Dalam sebuah report, penyajian data dalam bentuk grafik merupakan&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-grafik-dengan-highcharts-php-dan-mysql/">Membuat Grafik dengan Highcharts PHP dan Mysql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Membuat Grafik dengan Highcharts PHP dan Mysql. </strong>Assalamualaikum wr wb, pada pembahasan kali ini saya kan sharing cara membuat grafik pie dan grafik bar dengan menggunakan  Highcharts, PHP dan database MySql. Dalam sebuah report, penyajian data dalam bentuk grafik merupakan hal yang cukup penting. Dengan menggunakan grafik, data yang disajikan akan lebih mudah di baca dan di pahami. <span id="more-2944"></span>Salah satu plugin yang biasa saya gunakan untuk membuat grafik adalah <em>Highcharts</em>.</p>
<p><em>Highcharts</em> merupakan plugin yang cukup populer dalam penyajian grafik yang interaktif dan menarik. Highcharts menyediakan berbagai macam varian grafik seperti bar, line, pie, donut, gauge dan lain sebagainya. Dengan dokumentasi yang cukup lengkap, kita bisa dengan mudah menggunakan dan mengimplementasikannya. Jika anda penasaran, lebih jelasnya anda bisa mengunjungi situs resminya <a href="https://www.highcharts.com">disini</a>.</p>
<h2>Membuat Grafik dengan Highcharts PHP dan Mysql</h2>
<p>Langsung saja, tanpa basa basi lagi kita mulai ngoding dan membuat report dengan menggunakan Highcharts. Versi yang saya gunakan pada tutorial kali adalah  highcharts versi 5.0.7. Anda bisa download dari web resminya dan pasang pada aplikasi kita, jika anda mau menggunakan grafik berbentuk 3D, pasang juga asset highchart 3D nya.</p>
<div id="attachment_2949" style="width: 1223px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2949" decoding="async" loading="lazy" class="size-full wp-image-2949" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_172.png" alt="Membuat Grafik dengan Highcharts PHP dan Mysql" width="1213" height="82" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_172.png 1213w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_172-300x20.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_172-768x52.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_172-1024x69.png 1024w" sizes="(max-width: 1213px) 100vw, 1213px" /><p id="caption-attachment-2949" class="wp-caption-text">Membuat Grafik dengan Highcharts PHP dan Mysql</p></div>
<p>Berikut adalah tabel yang saya gunakan yang akan di tampilkan di grafik, nama tabel nya tb_benchmark.</p>
<pre class="lang:default decode:true EnlighterJSRAW">+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int(11)     | NO   | PRI | NULL    | auto_increment |
| framework  | varchar(50) | NO   |     | NULL    |                |
| nilai      | double      | NO   |     | NULL    |                |
| penggunaan | int(11)     | NO   |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0,00 sec)
</pre>
<p>Data yang saya tampilkan juga hanya data dummy, berikut adalah recordnya.</p>
<pre class="lang:default decode:true EnlighterJSRAW">mysql&gt; select * from tb_benchmark;
+----+--------------+--------+------------+
| id | framework    | nilai  | penggunaan |
+----+--------------+--------+------------+
|  1 | Phalcon      | 822.96 |        100 |
|  2 | Slim         | 399.83 |        120 |
|  3 | Kohana       | 217.34 |         35 |
|  4 | Code Igniter | 187.78 |        200 |
|  5 | Silex        | 179.01 |         45 |
|  6 | Laravel      |  135.9 |        250 |
|  7 | Yii          |  123.5 |        225 |
|  8 | Fuel PHP     | 116.34 |         50 |
|  9 | Hazaar MVC   | 103.53 |        100 |
| 10 | Zend 1       | 103.02 |         10 |
| 11 | Cake PHP     |  54.97 |         15 |
| 12 | Nette        |  53.48 |         80 |
| 13 | Symfony 2    |  39.22 |         85 |
| 14 | Zend 2       |   36.1 |        110 |
+----+--------------+--------+------------+
14 rows in set (0,00 sec)</pre>
<h3>Ngoding</h3>
<p>Setelah persiapan <em>environment</em> selesai, langkah selanjutnya kita mulai pengkodingan. Kita mulai dengan membuat koneksi dengan menggunakan mysqli.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$connect = mysqli_connect('localhost','root','agusbiji','blog');</pre>
<p>Kemudian kita buat <em>query </em>untuk mengambil data dari tb_benchmark.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$sql = "SELECT * FROM tb_benchmark ORDER BY nilai DESC";
$result = $connect-&gt;query($sql);</pre>
<h3>Basic Bar Chart</h3>
<p>Kita buat grafik pertama dengan tipe bar. Pertama-tama kita buat data yang akan di tampilkan pada grafik tersebut. Kita buat variabel array terlebih dahulu dengan menggunakan PHP.</p>
<pre class="lang:default decode:true">&lt;?php
$arrayFramework = array();
$arrayNilai = array();
if ($result-&gt;num_rows &gt; 0) {
    while($row = $result-&gt;fetch_assoc()) {
        $arrayFramework[] = '"'.$row['framework'].'"';
        $arrayNilai[] = $row['nilai'];
    }
}
?&gt;</pre>
<p>Kemudian kita buat javascript untuk menampilkan basic bar chart, jangan lupa taruh variabel array php pada javascript ini.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$(function(){
  var chart = new Highcharts.Chart({
      chart: {
          renderTo: 'contohGrafikBar',
          type: 'bar',
      },
      title: {
          text: 'Data Benchmark Framework PHP'
      },
      xAxis: {
          categories: [&lt;?= join($arrayFramework, ',') ?&gt;],
          title: {
              text: null
          }
      },
      yAxis: {
          min: 0,
          title: {
              text: 'request / sec',
              align: 'high'
          },
          labels: {
              overflow: 'justify'
          }
      },
      tooltip: {
          valueSuffix: ' req / sec'
      },
      plotOptions: {
          bar: {
              dataLabels: {
                  enabled: true
              }
          }
      },
      legend: {
          layout: 'vertical',
          align: 'right',
          verticalAlign: 'top',
          x: -40,
          y: 80,
          floating: true,
          borderWidth: 1,
          backgroundColor: ((Highcharts.theme &amp;&amp; Highcharts.theme.legendBackgroundColor) || '#FFFFFF'),
          shadow: true
      },
      credits: {
          enabled: false
      },
      series: [{
          name: 'Benchmark',
          data: [&lt;?= join($arrayNilai, ',') ?&gt;],
          color: '#FFB41A',
      }]
  });
});</pre>
<p>Lalu kita buat element untuk merender grafik dari highchart.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;div class="row"&gt;
    &lt;div class="col-lg-12"&gt;
 &lt;div id="contohGrafikBar"&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Berikut adalah tampilan grafik bar yang telah kita buat.</p>
<div id="attachment_2945" style="width: 1781px" class="wp-caption alignnone"><img aria-describedby="caption-attachment-2945" decoding="async" loading="lazy" class="size-full wp-image-2945" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_171.png" alt="Membuat Grafik dengan Highcharts PHP dan Mysql" width="1771" height="828" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_171.png 1771w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_171-300x140.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_171-768x359.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_171-1024x479.png 1024w" sizes="(max-width: 1771px) 100vw, 1771px" /><p id="caption-attachment-2945" class="wp-caption-text">Membuat Grafik dengan Highcharts PHP dan Mysql</p></div>
<h3>Pie Chart</h3>
<p>Grafik kedua yang kita buat adalah <em>pie chart. </em>Seperti pada grafik pertama, kita definiskan dulu data yang akan kita pasang. Kita buat variabel array dengan menggunakan PHP.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
$arrayPie = array();
if ($result-&gt;num_rows &gt; 0) {
    while($row = $result-&gt;fetch_assoc()) {
        $arrayPie[] =  "["."'".$row['framework']."'".",".$row['penggunaan']."]";
    }
}
?&gt;</pre>
<p>Kemudian kita buat javascript untuk menampilkan pie chart, jangan lupa taruh variabel array php pada javascript ini.</p>
<pre class="lang:default decode:true EnlighterJSRAW">$(function(){
  var chart = new Highcharts.Chart({
      chart: {
          renderTo: 'contohGrafikPie',
         	type: 'pie',
          options3d: {
              enabled: true,
              alpha: 45,
              beta: 0
          }
      },
      title: {
          text: 'Sample Penggunaan PHP Framework'
      },
      tooltip: {
          pointFormat: '{series.name}: &lt;b&gt;{point.percentage:.1f}%&lt;/b&gt;&lt;br&gt;Penggunaan : &lt;b&gt;{point.y}&lt;/b&gt;'
      },
      plotOptions: {
          pie: {
              allowPointSelect: true,
              cursor: 'pointer',
              depth: 35,
              dataLabels: {
                  enabled: true,
                  format: '{point.name}'
              }
          }
      },
      series: [{
          type: 'pie',
          name: 'Penggunaan Framework',
          data: [&lt;?= join($arrayPie,",") ?&gt;],
      }]
  });
 });</pre>
<p>Lalu kita buat element untuk merender grafik dari highchart.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">&lt;div class="row"&gt;
    &lt;div class="col-lg-12"&gt;
        &lt;div id="contohGrafikPie"&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Berikut adalah hasil tampilan untuk Pie chart yang sudah kita buat.</p>
<div id="attachment_2952" style="width: 1673px" class="wp-caption alignnone"><img aria-describedby="caption-attachment-2952" decoding="async" loading="lazy" class="size-full wp-image-2952" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_173.png" alt="Membuat Grafik dengan Highcharts PHP dan Mysql" width="1663" height="831" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_173.png 1663w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_173-300x150.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_173-768x384.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_173-1024x512.png 1024w" sizes="(max-width: 1663px) 100vw, 1663px" /><p id="caption-attachment-2952" class="wp-caption-text">Membuat Grafik dengan Highcharts PHP dan Mysql</p></div>
<p>Cukup mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . untuk varian yang lain anda bisa mencobanya sendiri dan kreasikan sesuai keinginan anda. Semoga tulisan saya ini dapat bermanfaat, Terimakasih. Selamat mencoba <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> .</p>
<p><em>Sumber : https://www.highcharts.com</em></p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-grafik-dengan-highcharts-php-dan-mysql/">Membuat Grafik dengan Highcharts PHP dan Mysql</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-grafik-dengan-highcharts-php-dan-mysql/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Mengganti Versi PHP CLI di Ubuntu</title>
		<link>https://mragus.com/mengganti-versi-php-cli-di-ubuntu/</link>
					<comments>https://mragus.com/mengganti-versi-php-cli-di-ubuntu/#respond</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Sun, 13 Aug 2017 14:17:00 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php-cli]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[phpversion]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2857</guid>

					<description><![CDATA[<p>Mengganti Versi PHP CLI di Ubuntu. Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tentang cara mengganti versi PHP CLI di Ubuntu dengan webserver Apache. Pada tutorial saya yang sebelumnya, saya pernah membahas tentang bagaimana cara menginstall php&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mengganti-versi-php-cli-di-ubuntu/">Mengganti Versi PHP CLI di Ubuntu</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Mengganti Versi PHP CLI di Ubuntu. </strong>Assalamualaikum wr wb, pada kesempatan kali ini saya akan sharing tentang cara mengganti versi PHP CLI di Ubuntu dengan webserver Apache. Pada tutorial saya yang sebelumnya, saya pernah membahas tentang bagaimana <a href="https://mragus.com/install-php-7-0-dan-php-5-6-di-ubuntu/">cara menginstall php 5 dan php 7</a>. Dalam tutorial itu dijelaskan bagaimana cara mengganti versi php menggunakan <em>a2dismod </em>dan <em>a2enmod.</em><span id="more-2857"></span></p>
<p>Ketika kita mengecek versi php menggunakan phpinfo(), benar bahwa versi php sudah berubah sesuai dengan perintah yang kita masukkan pada command line. Tetapi pada waktu kita mengecek menggunakan perintah <em>php -v</em> pada terminal. Versi PHP masih menunjukkan versi current, atau tidak berubah.</p>
<div id="attachment_2861" style="width: 533px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2861" decoding="async" loading="lazy" class="wp-image-2861" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_157-1.png" alt="Mengganti Versi PHP CLI di Ubuntu" width="523" height="307" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_157-1.png 1354w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_157-1-300x176.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_157-1-768x451.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_157-1-1024x601.png 1024w" sizes="(max-width: 523px) 100vw, 523px" /><p id="caption-attachment-2861" class="wp-caption-text">Perbandingan Versi PHP antara PHP CLI &amp; PHP apache module</p></div>
<p>Hal ini terjadi karena PHP yang berjalan pada layanan Apache berbeda dengan PHP yang terdapat command line (PHP CLI), sehingga untuk penyesuaian versi PHP CLI harus menggunakan perintah tambahan.</p>
<h2>Mengganti Versi PHP CLI di Ubuntu</h2>
<p>Kita dapat dengan mudah mengganti versi PHP CLI dengan perintah sebagai berikut.</p>
<h3>PHP 7.1 ke 5.6</h3>
<pre class="lang:default decode:true EnlighterJSRAW">sudo update-alternatives --set php /usr/bin/php5.6</pre>
<h4>PHP 5.6 ke 7.1</h4>
<pre class="lang:default decode:true EnlighterJSRAW">sudo update-alternatives --set php /usr/bin/php7.1</pre>
<p>Di bawah ini adalah contoh dimana saya mengganti versi  PHP dari PHP 5.6 ke PHP 7.1 . Setelah kita eksekusi script di atas, versi PHP antara PHP CLI dan PHP apache module sudah sama.</p>
<div id="attachment_2864" style="width: 532px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2864" decoding="async" loading="lazy" class="wp-image-2864" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_158.png" alt="Mengganti Versi PHP CLI di Ubuntu" width="522" height="308" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_158.png 1358w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_158-300x177.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_158-768x452.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_158-1024x603.png 1024w" sizes="(max-width: 522px) 100vw, 522px" /><p id="caption-attachment-2864" class="wp-caption-text">Mengganti Versi PHP CLI di Ubuntu</p></div>
<p>Cukup mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , selanjutnya anda bisa menyesuaikan dengan versi PHP mana yang ingin anda gunakan dan tidak ada lagi perbedaan antara PHP CLI dan PHP apache module. Semoga tulisan saya yang singkat ini dapat bermanfaat. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mengganti-versi-php-cli-di-ubuntu/">Mengganti Versi PHP CLI di Ubuntu</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/mengganti-versi-php-cli-di-ubuntu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</title>
		<link>https://mragus.com/mudahnya-membuat-sorting-tabel-gridview-pada-framework-yii2/</link>
					<comments>https://mragus.com/mudahnya-membuat-sorting-tabel-gridview-pada-framework-yii2/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Tue, 08 Aug 2017 12:17:08 +0000</pubDate>
				<category><![CDATA[Yii2 Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yii2]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2812</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, untuk tulisan kali ini, saya akan memberi judul Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2. Seperti yang di ketahui Yii2 merupakan salah satu framework populer dan memiliki reputasi yang bagus. Yii2 memberikan kemudahan kepada penggunanya&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mudahnya-membuat-sorting-tabel-gridview-pada-framework-yii2/">Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, untuk tulisan kali ini, saya akan memberi judul <em>Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</em>. Seperti yang di ketahui Yii2 merupakan salah satu framework populer dan memiliki reputasi yang bagus. Yii2 memberikan kemudahan kepada penggunanya untuk membuat aplikasi secara cepat<span id="more-2812"></span> dengan berbagai fitur yang disediakan. Seperti membuat CRUD dengan model MVC menggunakan Generator yang bernama Gii. Selain itu kita juga bisa membuat sorting pada tabel atau gridview dengan mudah hanya dalam beberapa langkah.</p>
<p>Di tutorial kali ini saya akan memberikan contoh sorting dengan tabel yang memiliki relasi dengan tabel yang lain, atau biasa disebut sebagai <em>related tabel</em>. Tabel yang saya gunakan adalah  tabel posts dan authors. Untuk tampilan tabel yang akan di kasih sorting adalah tabel Posts.</p>
<h3>Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</h3>
<p>Berikut adalah struktur tabel Author.</p>
<pre class="lang:default decode:true EnlighterJSRAW">+------------+--------------+------+-----+-------------------+----------------+
| Field      | Type         | Null | Key | Default           | Extra          |
+------------+--------------+------+-----+-------------------+----------------+
| id         | int(11)      | NO   | PRI | NULL              | auto_increment |
| first_name | varchar(50)  | NO   |     | NULL              |                |
| last_name  | varchar(50)  | NO   |     | NULL              |                |
| email      | varchar(100) | NO   | UNI | NULL              |                |
| birthdate  | date         | NO   |     | NULL              |                |
| added      | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+------------+--------------+------+-----+-------------------+----------------+
6 rows in set (0,00 sec)
</pre>
<p>Tabel Posts.</p>
<pre class="lang:default decode:true EnlighterJSRAW">+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| author_id   | int(11)      | NO   |     | NULL    |                |
| title       | varchar(255) | NO   |     | NULL    |                |
| description | varchar(500) | NO   |     | NULL    |                |
| content     | text         | NO   |     | NULL    |                |
| date        | date         | NO   |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
6 rows in set (0,00 sec)
</pre>
<h3>Coding</h3>
<p>Bisa dilihat pada tabel posts memiliki relasi dengan tabel author. Selanjutnya kita buat CRUD dan Gridviewnya menggunakan Gii untuk tabel Posts.</p>
<div id="attachment_2817" style="width: 533px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2817" decoding="async" loading="lazy" class="wp-image-2817" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_148.png" alt="Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2" width="523" height="241" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_148.png 1777w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_148-300x138.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_148-768x354.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_148-1024x472.png 1024w" sizes="(max-width: 523px) 100vw, 523px" /><p id="caption-attachment-2817" class="wp-caption-text">Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</p></div>
<p>Setelah CRUD di buat, ternyata pada kolom author masih berupa ID. Untuk menampilkan nama author pada tabel ini, kita perlu membuat <a href="http://www.yiiframework.com/wiki/834/relational-query-lazy-loadnig-and-eager-loading-in-yii-2-0/">lazy loading</a> dengan menggunakan fungsi relasi yang terdapat pada model <em>posts</em>.</p>
<div id="attachment_2818" style="width: 531px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2818" decoding="async" loading="lazy" class="wp-image-2818" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_149.png" alt="Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2" width="521" height="252" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_149.png 1695w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_149-300x145.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_149-768x371.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_149-1024x494.png 1024w" sizes="(max-width: 521px) 100vw, 521px" /><p id="caption-attachment-2818" class="wp-caption-text">Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</p></div>
<p>Jika belum ada, kita bisa buat fungsinya secara menual, untuk scriptnya contohnya sebagai berikut.</p>
<pre class="lang:default decode:true EnlighterJSRAW">public function getAuthor()
{
   return $this-&gt;hasOne(Authors::className(), ['id' =&gt; 'author_id']);
}</pre>
<p>Setelah fungsi tersebut di atas di buat, sesuaikan juga tampilan Gridview untuk menampilkan nama dari author.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?= 
   GridView::widget([
       'dataProvider' =&gt; $dataProvider,
       'columns' =&gt; [
           ['class' =&gt; 'yii\grid\SerialColumn'],
           'author.first_name',
           'title',
           'description',
           'content',
           // 'date',

           ['class' =&gt; 'yii\grid\ActionColumn'],
       ],
   ]); 
?&gt;</pre>
<p>Untuk membuat sorting, kita perlu memodifikasi script pada controllers terkait. Tambahkan property sort pada class ActiveDataProvider, serta definisikan kolom yang ingin di kasih fitur sorting. Karena sorting ini menggunakan dua tabel, jangan lupa gunakan <em>join with </em>pada fungsi yang di gunakan untuk menampilkan tabel posts. Pada Sorting kolom yang menggunakan related tabel, ada beberapa penyesuaian script.</p>
<pre class="lang:default decode:true EnlighterJSRAW">'author.first_name' =&gt; [
      'asc' =&gt; [ 'authors.first_name' =&gt; SORT_ASC ],
      'desc' =&gt; ['authors.first_name' =&gt; SORT_DESC],
      'default' =&gt; SORT_DESC,
],</pre>
<p>Untuk properti yang akan di kasih sorting, kita harus menggunakan lazy loading dalam pendefinisian attributnya. Kemudian pada ASC, atau DESC kita harus mendefinisikan nama kolom secara real, seperti contoh di atas :</p>
<p>authors.first_nama(&#8216;nama_tabel&#8217;.&#8217;nama_kolom&#8217;).</p>
<p>Secara lengkap berikut adalah script pada fungsi index pada controllers Posts.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">public function actionIndex(){
        $query = Posts::find()
                    -&gt;joinWith(['author']);
        $dataProvider = new ActiveDataProvider([
            'query' =&gt; $query,
            'sort' =&gt; [
                'attributes' =&gt; [
                    'title',
                    'description',
                    'content',
                    'author.first_name' =&gt; [
                        'asc' =&gt; [ 'authors.first_name' =&gt; SORT_ASC ],
                        'desc' =&gt; ['authors.first_name' =&gt; SORT_DESC],
                        'default' =&gt; SORT_DESC,
                    ],
                ],
                'defaultOrder' =&gt; [
                    'title' =&gt; SORT_ASC,
                ],
            ],
            'pagination' =&gt; [
                'pageSize' =&gt; 20
            ],
        ]);
        return $this-&gt;render('index', [
            'dataProvider' =&gt; $dataProvider,
        ]);
    }</pre>
<h3>Testing</h3>
<p>Setelah script kita sesuaikan, kemudian tes apa yang telah kita buat diatas tadi. Berikut adalah penampakan dari CRUD tabel Posts yang sudah di beri fitur sorting. Pada semua kolom yang kita set untuk diberi futur sorting, tulisan pada header akan berwarna biru (menunjukkan kolom dapat di sort).</p>
<div id="attachment_2820" style="width: 579px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2820" decoding="async" loading="lazy" class="wp-image-2820" src="https://mragus.com/wp-content/uploads/2017/08/Peek-2017-08-08-19-10.gif" alt="Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2" width="569" height="275" /><p id="caption-attachment-2820" class="wp-caption-text">Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</p></div>
<p>Mudah bukan, hanya dalam beberapa langkah fitur sorting bisa di implementasikan pada view tabel yang kita inginkan. Semoga tulisan ini bermanfaat, masukan dari teman teman readers sangat saya butuhkan. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/mudahnya-membuat-sorting-tabel-gridview-pada-framework-yii2/">Mudahnya Membuat Sorting Tabel Gridview Pada Framework Yii2</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/mudahnya-membuat-sorting-tabel-gridview-pada-framework-yii2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Membuat Dropdown Select2 dengan Request Ajax dan Php</title>
		<link>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/</link>
					<comments>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/#comments</comments>
		
		<dc:creator><![CDATA[Agus Wiji Suhariono]]></dc:creator>
		<pubDate>Thu, 03 Aug 2017 08:39:32 +0000</pubDate>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[select2]]></category>
		<guid isPermaLink="false">https://mragus.com/?p=2730</guid>

					<description><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan pembahasan mengenai cara membuat dropdown select2 dengan request ajax dan php. Select2 merupakan salah satu plugin yang banyak digunakan pada form, sebagai pengganti dropdown select di aplikasi web. Select2&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/">Membuat Dropdown Select2 dengan Request Ajax dan Php</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Assalamualaikum wr wb, pada kesempatan kali ini saya akan memberikan pembahasan mengenai cara membuat dropdown select2 dengan request ajax dan php. Select2 merupakan salah satu plugin yang banyak digunakan pada form, sebagai pengganti dropdown select di aplikasi web. Select2 memberikan kemudahan kepada user, karena <span id="more-2730"></span>kita bisa memilih data dengan memasukkan pencarian pada dropdown tersebut. Fitur ini sangatlah membantu karena kita tidak perlu menscroll dan memilih data ketika sumber data jumlah nya cukup banyak.</p>
<p>Sesuai dari judul artikel ini, kenapa menggunakan request ajax. Secara normal kita bisa mendefinisikan terlebih dahulu sumber data yang akan dipasangkan pada select2 tersebut, untuk jumlah data yang sedikit tidak masalah. Tetapi bagaimana jika data yang akan dipasang berjumlah ribuan, atau puluhan ribu. Hal ini tentu akan membuat load halaman pada lokasi di select2 tersebut akan sangat berat. Jika kita menggunakan ajax, client akan mengirimkan sebuah request pada fungsi yang digunakan untuk memanggil sumber data disaat user melakukan pencarian di select2 tersebut. Hal ini tentunya akan membuat halaman yang di load  dan menjadi lebih ringan.</p>
<h2></h2>
<div id="attachment_2736" style="width: 530px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2736" decoding="async" loading="lazy" class="wp-image-2736" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="520" height="220" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138.png 1865w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-300x127.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-768x325.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_138-1024x433.png 1024w" sizes="(max-width: 520px) 100vw, 520px" /><p id="caption-attachment-2736" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<h2>Membuat Dropdown Select2 dengan Request Ajax dan Php</h2>
<p>Langsung saja kita mulai untuk pengkodingannya, pertama tama kita download terlebih dahulu plugin select2 dari website resminya <a href="https://select2.github.io/">disini</a>. Select2 yang saya gunakan adalah versi 4.0.3. Pasangkan javascript dan css pada layouts aplikasi kita.</p>
<div id="attachment_2737" style="width: 534px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2737" decoding="async" loading="lazy" class="wp-image-2737" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="524" height="47" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142.png 1223w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-300x27.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-768x68.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_142-1024x91.png 1024w" sizes="(max-width: 524px) 100vw, 524px" /><p id="caption-attachment-2737" class="wp-caption-text">Memasang javascript Select2 pada layout</p></div>
<div id="attachment_2738" style="width: 531px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2738" decoding="async" loading="lazy" class="wp-image-2738" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="521" height="77" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141.png 1239w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-300x44.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-768x113.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_141-1024x150.png 1024w" sizes="(max-width: 521px) 100vw, 521px" /><p id="caption-attachment-2738" class="wp-caption-text">Memasang css select2 pada layout</p></div>
<p>Struktur tabel yang saya gunakan <strong>tb_propinisi</strong>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">+--------------+-------------+------+-----+---------+-----------------------------+
| Field        | Type        | Null | Key | Default | Extra                       |
+--------------+-------------+------+-----+---------+-----------------------------+
| propinsi_id  | int(11)     | NO   | PRI | NULL    | auto_increment              |
| nama         | varchar(45) | NO   |     | NULL    |                             |
| dalam_negeri | tinyint(4)  | YES  |     | NULL    |                             |
| created_at   | datetime    | YES  |     | NULL    | on update CURRENT_TIMESTAMP |
| updated_at   | datetime    | YES  |     | NULL    |                             |
+--------------+-------------+------+-----+---------+-----------------------------+</pre>
<p>Kemudian kita buat sebuah form yang berisi dropdown, serta javascript yang digunakan untuk menginisialisasi select2 dengan request ajax. Option yang saya gunakan pada plugin select2 tersebut :</p>
<ol>
<li>Saya memberikan delay, sehingga request akan berjalan setelah 0.8 ms.</li>
<li>Minimum huruf yang harus di input adalah 3 huruf.</li>
<li>Saya tambahkan tombol untuk clear value pada select2 ini.</li>
</ol>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;script type="text/javascript"&gt;
    $(function(){
       $('.select2').select2({
           minimumInputLength: 3,
           allowClear: true,
           placeholder: 'masukkan nama propinsi',
           ajax: {
              dataType: 'json',
              url: 'action/daftarProvinsi.php',
              delay: 800,
              data: function(params) {
                return {
                  search: params.term
                }
              },
              processResults: function (data, page) {
              return {
                results: data
              };
            },
          }
      }).on('select2:select', function (evt) {
         var data = $(".select2 option:selected").text();
         alert("Data yang dipilih adalah "+data);
      });
 });
&lt;/script&gt;
&lt;div class="row"&gt;
 &lt;div class="col-lg-4"&gt;
  &lt;form class="form-group"&gt;
   &lt;label&gt;Contoh Select2 Ajax&lt;/label&gt;
   &lt;select name="kabupaten" class="form-control select2"&gt;
    &lt;option value=""&gt;- pilih kabupaten -&lt;/option&gt;
   &lt;/select&gt;
  &lt;/form&gt;
 &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Sehingga tampilannya adalah sebagai berikut.</p>
<div id="attachment_2740" style="width: 608px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2740" decoding="async" loading="lazy" class="wp-image-2740" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="598" height="210" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143.png 1036w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-300x105.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-768x270.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_143-1024x360.png 1024w" sizes="(max-width: 598px) 100vw, 598px" /><p id="caption-attachment-2740" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<p>Buat file koneksi dengan menggunakan mysqli <strong>koneksi.php</strong>.</p>
<pre class="lang:default decode:true EnlighterJSRAW">&lt;?php
$connect = mysqli_connect('localhost','root','agusbiji','blog');
?&gt;</pre>
<p>Kemudian buat sebuah file php dengan nama <strong>daftarProvinsi.php</strong> yang berisi fungsi untuk menampilkan data daftar propinsi dari database. Berikut adalah contoh scriptnya.</p>
<pre class="lang:default decode:true EnlighterJSRAW ">&lt;?php
if($_SERVER['REQUEST_METHOD']=="GET"){
 require '../core/koneksi.php';
 daftarPropinsi($_GET['search']);
}

function daftarPropinsi($search){
 global $connect;

 if ($connect-&gt;connect_error) {
     die("Koneksi Gagal: " . $conn-&gt;connect_error);
 }

 $sql = "SELECT * FROM tb_propinsi WHERE nama LIKE '%$search%' AND dalam_negeri=1 ORDER BY nama ASC";
 $result = $connect-&gt;query($sql);

 if ($result-&gt;num_rows &gt; 0) {
     $list = array();
     $key=0;
     while($row = $result-&gt;fetch_assoc()) {
         $list[$key]['id'] = $row['propinsi_id'];
         $list[$key]['text'] = $row['nama']; 
     	$key++;
     }
     echo json_encode($list);
 } else {
     echo "hasil kosong";
 }
 $connect-&gt;close();
}

?&gt;</pre>
<p>Seperti yang bisa dilihat di atas, data yang akan kita kirimkan berupa array dengan key name <strong>id</strong> dan <strong>text, </strong>keyname ini sudah ditentukan di website resmi select2.</p>
<h2>Testing Kode Select2</h2>
<p>Setelah semua file sudah sesuai, kita coba untuk mengetes form tersebut. Saya akan memasukkan beberapa kata kunci pada pencarian di select2 ini. Dan Secara otomatis select2 akan menampilkan beberapa data yang relevan dengan kata kunci yang saya masukkan.</p>
<div id="attachment_2748" style="width: 610px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2748" decoding="async" loading="lazy" class="wp-image-2748" src="https://mragus.com/wp-content/uploads/2017/08/Peek-2017-08-03-16-04.gif" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="600" height="299" /><p id="caption-attachment-2748" class="wp-caption-text">Membuat Dropdown Select2 dengan Request Ajax dan Php</p></div>
<div id="attachment_2749" style="width: 609px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2749" decoding="async" loading="lazy" class="wp-image-2749" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="599" height="137" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144.png 1418w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-300x68.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-768x175.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_144-1024x233.png 1024w" sizes="(max-width: 599px) 100vw, 599px" /><p id="caption-attachment-2749" class="wp-caption-text">Request Header</p></div>
<p>Kita juga bisa melihat request yang berjalan pada debugger.</p>
<div id="attachment_2750" style="width: 612px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2750" decoding="async" loading="lazy" class="wp-image-2750" src="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145.png" alt="Membuat Dropdown Select2 dengan Request Ajax dan Php" width="602" height="136" srcset="https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145.png 1419w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-300x68.png 300w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-768x174.png 768w, https://mragus.com/wp-content/uploads/2017/08/aguswijisuhariono_145-1024x232.png 1024w" sizes="(max-width: 602px) 100vw, 602px" /><p id="caption-attachment-2750" class="wp-caption-text">Response</p></div>
<p>Mudah bukan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> , metode ini akan membuat load data pada form select2 menjadi lebih ringan untuk jumlah data yang banyak. Jika agan-agan membutuhkan source code, bisa cek link berikut <a href="https://mragus.com/source-code/">https://mragus.com/source-code/</a>. Semoga Tulisan saya ini dapat bermanfaat, <em>tetap belajar dan selamat mencoba</em>. Terimakasih.</p>
<p>The post <a rel="nofollow" href="https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/">Membuat Dropdown Select2 dengan Request Ajax dan Php</a> appeared first on <a rel="nofollow" href="https://mragus.com">Mr Agus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mragus.com/membuat-dropdown-select2-dengan-request-ajax-dan-php/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
