Jumat, 23 September 2016

Database Anggota Titik SQL

Berikut ini adalah skrip database anggota :

Skrip anggota.sql

-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 03, 2013 at 05:42
-- Server version: 5.1.41
-- PHP Version: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `anggota`
--

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

--
-- Table structure for table `member`
--

CREATE TABLE IF NOT EXISTS `member` (
  `id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  `alamat` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=23 ;

--
-- Dumping data for table `member`
--

INSERT INTO `member` (`id`, `nama`, `alamat`) VALUES
(1, 'Akhmad Dharma Kasman', 'Jalan Serua Bojongsari No. 16'),
(2, 'Kresna Abimanyu', 'Jln. Diponegoro'),
(3, 'Giampaolo Pazzini', 'Jalan Kasuari 25'),
(4, 'Ricardo Montolivo', 'Jalan Margonda Depok 23'),
(5, 'Stephan El Sharawy', 'Jalan Bungur 2 No. 39'),
(7, 'Antonio Nocerino', 'Kebayoran Lama Jalan Mangga 12'),
(17, 'Dewi Retno Wulan', 'Pamulang Surya Kencana');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Bikin JSON dengan PHP dan MySQL

InilahData, - Sama seperti XML, JSON tidak menggantikan peran database, tetapi menjadi sarana pertukaran data yang diambil dari database. Sekarang mari kita lihat bagaimana cara membuat bentuk-bentuk JSON dengan bahasa pemograman PHP agar terhubung ke database MySQL.

Pada PHP versi 5.2 telah terdapat fungsi untuk membuat JSON, yaitu fungsi json_encode( ). Adapun bentuk penulisannya sebagai berikut :

string json_encode ( mixed $value [, int $options= 0 ] )

Keterangan :
  • $value adalah nilai yang akan di encode menjadi string JSON
  • $option, ada beberapa pilihan, yaitu JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT. Adapun nilai defaultnya adalah 0.
Contohnya dalam skrip PHP :

<?php
 $arr = array ('a' = >1, 'b' = >2,'c' = >3,'d' = >4,'e' = >5);
echo json_encode($arr);
?> 

Skrip tersebut akan menghasilkan

{"a":1,"b":2,"c":3,"d":4,"e":5,}

Selanjutnya, kita akan membuat JSON dengan mengambil data dari database "anggota" yang adan buat dulu sebelumnya (ambil databasenya di sini anggota.sql ) dan kita akan menggunakan fungsi json_encode( ). Berikut skripsnya :

Skrip anggotajson.php

<?php
//koneksi ke database
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

//query ambil data member
$sql     = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());

//buat variabel $rows sebagai array
$rows = array();
while ($r = mysql_fetch_assoc($q)) {
    $rows[] = $r;
}
$data = "{member:".json_encode($rows)."}";
echo $data;
?>



Sekarang coba jalankan skrip anggotajson.php, maka hasilnya akan terlihat seperti pada gambar di bawah ini :

Ambil data dari database MySQL dengan JSON

Selain menggunakan fungsi json_encode( ), kita juga bisa membuat JSON secara manual dengan menggunakan PHP. Membuat JSON secara manual, yang terpenting adalah kita harus tahu penempatan setiap elemen. Selain itu, membuat JSON secara manual kadang kita perlukan bilamana tidak semua field akan kita ambil dari database, berbeda ketika fungsi json_encode( ) kita gunakan, maka semua field dari tabel akan terambil semua.

Mari kita modifikasi skrip anggotajson.php sebelumnya untuk membuat JSON secara manual :

Skrip anggotajson.php (modifikasi)

<?php
//koneksi ke database
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

$sql = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());

//buka json
$json  = '{"member": [';
// bikin looping untuk data array yang di fetch
while ($row = mysql_fetch_array ($q)) {
$json .= '{"id":"'.$row[id].'","nama":"'.$row['nama'].'"},';
}

// untuk menghilangkan koma diakhir array
$json = substr($json,0,strlen($json)-1);

//lengkapi penutup format JSON
$json .= ']}';


// tampilan json
echo $json;

?> 

Sekarang coba jalankan lagi skrip anggotajson.php yang telah kita modifikasi (tanpa menggunakan fungsi json_encode( ). Jika hasilnya sama seperti pada gambar di atas, maka skrip modifikasi kita telah berhasil.

Apa Itu JSON ? Ini Contoh Format JSON

InilahData, - XML bukanlah satu-satunya sarana untuk pertukaran data, kini telah hadir JSON sebagai format baru untuk pertukaran data. XML mukin lebih dulu populer dibanding JSON, tapi sebenarnya jika diadu, JSON lebih unggul dari XML. Mulai dari kecepatan, penulisan yang lebih gampang dan coding untuk parsing yang lebih ringkas dan sederhana.

JSON (JavaScript Object Notation) sendiri adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data.

Berikut ini adalah contoh sebuah konversi data xml ke dalam format JSON :

{
    "contact":[
    {   
        "name":"Ahmad Asyhadi",
        "company":"PT Kenali Media",
        "address":"Jl Lingkar Selatan No.12",
        "city":"Jambi",
        "state":"Indonesia",
        "zip":"36125",
        "phone":"0532908080800",
        "email":"redaksi@kenali.co"
    }
              ]
}



Struktur Penulisan JSON

Kalau dilihat dari informasi skrip JSON di atas, Anda bisa melihat dua buah tanda yang penting dalam penulisan JSON, yaitu { } dan [ ].

Tanda kurung kurawal ( { } ) menandakan JSONObject dan tanda kurang kotak ( [ ] ) menandakan JSONArray.

Berikut penjelasan lebih lanjut mengenai struktur JSON.

JSON terbut dari dua struktur :
  • Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar kunci (keyed listI) atau associative array.
  • Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list) atau urutan (sequence).
Struktur-struktur data tersebut dikenal sebagai struktur data universal. Pada dasarnya, semua bahasa pemograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian, karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.

JSON menggunakan bentuk sebagai berikut :
  • Object adalah sepasang nama/nilai yang tidak terurutkan. Object dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma). Ilustrasinya lihat pada gambar di bawah ini.
Bentuk Penulisan JSON Object
  • Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh tanda koma (,). Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan JSON Array
  • Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat. Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan Value
  • String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. Ilustrasinya bisa dilihat pada gambar di bawah ini.
Bentuk Penulisan String
  • Angka sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. Ilustrasinya bisa dilihat pada gambar di bawah ini. 
Bentuk Penulisan Angka

Kamis, 22 September 2016

Cara Mudah Bikin File XML, Praktek Yuk!

InilahData, -  Untuk men-generate file XML dari database MySQL, sebelumnya kita akan membuat sebuah databasenya, misalnya "anggota" dan tabelnya "member" dengan dua field yaitu "id" dan "nama".

Untuk membuatnya, aktifkan Xampp, lalu bukalah phpmyadmin di browser dengan alamat http://localhost/phpmyadmin/, kemudian isikan pada bagian Create new database: anggota, lalu klik tombol Create. Lihat gambar di bawah ini :

Membuat database "anggota" melalui phpMyadmin

Kemudian klik pada tab SQL, lalu pada bagian Run SQL Query, tuliskan query untuk membuat tabel "member" dan isi datanya 2 record. Adapun isi query-nya :

CREATE TABEL `member`(
`id`  tinyint(4) unsigned NOT NULL auto_increment PRIMARY KEY,
`nama`  varchar(200) collate utf8_unicode_ci NOT NULL
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `member` (`nama`) VALUES (`Ahmad Asyhadi`), (`Joko Prihatin`);

Untuk jelasnya, silahkan lihat gambar di bawah ini :

Query untuk membuat tabel member beserta datanya

Selanjutnya, kita buatkan skrip php untuk menghasilkan file xml, kita namakan "anggota.php". Dan file ini disimpan ke dalam folder htdocs di xampp Anda.

Skrip anggota.php

<?php
//koneksi database mysql
$dbhost = "localhost";
$dbuser    = "root";
$dbpass    = "";
$dbname    = "anggota";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

//query ambil data member
$sql = "SELECT * FROM member";
$q     = mysql_query($sql) or die(mysql_error());
 

//buat elemen root
$xml = "<memberlist>";


//Ambil data dari database dan diletakkan ke dalam elemen root
while($r = mysql_fetch_array($q)){
  $xml .= "<member>";
  $xml .= "<id>".$r['id']."</id>"; 
  $xml .= "<nama>".$r['nama']."</nama>";
  $xml .= "</member>"; 
}
$xml .= "</memberlist>";


//instansiasi objek SimpleXMLElement
$sxe = new SimpleXMLElement($xml);
$sxe->asXML("member.xml");
?>


Apabila skrip anggota.php dijalankan, maka akan menghasilkan file "member.xml" yang struktur dokumen XML-nya dapat dilihat pada gambar di bawah ini :

Hasil skrip anggota.php membentuk file member.xml   

Bikin XML dengan PHP dan MySQL

InilahData, - Database memang merupakan standar penyimpanan data bagi para web programmer. Namun bagaimana jika kita ingin menggunakan data tersebut untuk keperluan dan aplikasi lain ? Struktur file XML bisa jadi jawabannya.

SimpleXML Parser PHP
Struktur file XML atau dokumen XML memang tidak bisa menggantikan peran database. Tetapi dengan dokumen XML, kita bisa mengolah menjadi sebuah data yang dapat disimpan ke dalam database, khususnya database MsSQL. Dan jika data pada database MySQL ingin digunakan pada platform Android, tentu kita harus mengubahnya ke dalam bentuk XML terlebih dahulu.

Untuk membuat dan memanipulasi data XML, kita akan menggunakan sebuah class dari PHP 5 yang bernama SimpleXML. Sebenarnya pada PHP5, ada beberapa class yang bisa digunakan untuk memparsing data XML, diantaranya ada DOM Functions, DOM XML Functions. Tetapi melihat simplisitas dari SimpleXML, maka teknik ini bisa jadi pilihan.

Struktur Penulisan Dokumen XML. Simak Disini!

InilahData, - Karena XML bersifat mudah untuk dibaca dan ditulis baik oleh manusia maupun komputer, maka XML merupakan sebuah format yang dapat digunakan untuk pertukaran data (interchange) antar aplikasi dan platform yang berbeda (platform independent). Metode deskripsi data  XML (self describing) membuatnya menjadi pilihan efektif untuk bisnis ke bisnis, solusi antar jaringan, e-business, dan aplikasi terdistribusi. XML juga bersifat dapat diperluas (extensible), dapat digunakan pada semua bahasa pemograman, dan datanya dapat ditransfer dengan mudah melalui protokol standar internet seperti HTTP tanpa dibatasi oleh firewall.

Berikut ini adalah contoh sebuah struktur dokumen XML.

Struktur dokumen XML (Klik gambar untuk memperbesar)
Penjelasan :
  • Baris pertama adalah deklarasi standar header yang mendefinisikan versi XML dan karakter encoding yang digunakan dalam dokumen XML. Dalam dokumen ini, XML mengacu pada versi 1.0 dan menggunakan standar encoding karakter set ISO-8859-1 (Latin-1/West European)
  • Baris selanjutnya menggambarkan elemen induk (root) dokumen "<email>...</email>", sebagaimana kita menyebut bahwa "Dokumen ini adalah sebuah Email".
  • Kemudian pada baris ke 3-6 menggambarkan elemen anak (clild) dari elemen induk dokumen.
Tag pada dokumen XML bersifat case sensitif dimana tag pembuka dan tag penutup harus ekivalen. Seperti contoh tag pembuka "<email>" harus ditutup dengan tag "</email>".

Apa itu XML ? Baca Disini!

InilahData, - XML terletak pada inti Web Service yang digunakan untuk mendeskripsikan data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.

XML adalah singkatan dari eXtensibel Markup Language. Bahasa markup adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunakan tag. Bahasa markup populer lainnya adalah HTML yang menggambarkan kepada browser web tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer ketika sedang mengunjungi sebuah situs web.

XML dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.

Berikut ini adalh contoh sebuah dokumen XML untuk informasi contact person:

<?xml version="1.0" encoding="ISO-8859-1"?>
<contact>
<name>Ahmad Asyhadi</name>
<company>PT Kenali Media</company>
<address>Jl. Lingkar Selatan No.12</address>
<city>Jambi</city>
<state>Indonesia</state>
<zip>36129</zip>
<phone>074177733</phone>
<email>redaksi@kenali.co</email>
</contact>


Perhatikan bagaimana mudahnya untuk mengerti tentang makna informasi dan struktur yang ada pada dokumen XML tersebut, sehingga juga akan mudah bagi komputer untuk mengerti dokumen XML ini.

Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka (diawal dengan '<' dan diakhiri dengan '>'), tag penutup (diawali dengan '</' diakhiri dengan '>') dengan atribut elemen (parameter yang dinyatakan dalam tag pembuka misal <form name="isidata">). Hanya bedanya, HTML mendefenisikan dari awal tag dan atribut yang dipakai di dalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita. Berikut adalah tampilan dokumen XML contact person apabila dijalankan pada sebuah browser. Lihat gambar di bawah ini.

Tampilan dokumen XML pada browser

Rabu, 21 September 2016

PHP dan MySQL Sebagai Web Service, Ini Penjelasan Sederhananya

InilahData, - Selama ini mungkin Anda pernah atau bahkan sering mendengar mengenai Web Service. Sebenarnya apakah Web Service itu ? Samakah Web Service dengan Website ?

Web Service ternyata sangat berbeda dengan website. Perbedaan yang paling terlihat adalah Website dibuat untuk memiliki tampilan atau user interface yang bagus sedangkan Web Service tidak memiliki tampilan. Mengapa Web Service tidak memiliki tampilan (user interface) ?

Hal ini dikarenakan Web Service tidak dibuat untuk berinteraksi langsung dengan user. Sesuai dengan kata service yang ada namanya, Web Service hanya menyediakan service atau layanan. Layanan tersebutlah yang kemudian akan digunakan atau dipanggil oleh aplikasi lainnya. Dengan demikian, yang akan menjadi interface adalah aplikasi yang memanggilnya bukan Web Service itu sendiri.

Beberapa contoh implementasi Web Service adalah sistem login seperti yang ada di Kaskus, atau Detik.com.

Jika Anda mengunjungi Kaskus, maka Anda akan menjumpai sistem login yang dapat menggunakan akun Facebook, Yahoo maupun Twitter.

Dengan kata lain, Anda dapat bergabung dalam komunitas forum Kaskus atau istilah kerennya Kaskuser hanya dengan memiliki akun FB, Yahoo atau Twitter tanpa harus registrasi di dalam Kaskus nya sendiri.

Contoh lain implementasi Web Service adalah di bagian komentar Detik.com. Setiap kali kita akan mengisi komentar di Detik.com, kita bisa menggunakan akun FB kita.

Nah... yang menjadi pertanyaan adalah, kok bisa ya kita masuk ke dalam sistem Kaskus maupun Detik.com menggunakan akun lain seperti FB, Yahoo maupun Twitter? Ya... ini karena FB, Yahoo dan Twitter menyediakan service yang memungkinkan sistem lain menggunakan akun mereka untuk login. Dan... kebetulan Kaskus dan Detik.com ini memanfaatkan service tersebut. Dalam kasus ini, FB, Yahoo, dan Twitter dikatakan bertindak sebagai server sedangkan Kaskus dan Detik.com bertindak sebagai client. Lihat gambar di bawah ini.

Login di Detik.com menggunakan teknologi web service


Contoh lain, buat Anda yang memang sudah memiliki perangkat ponsel Android, mungkin sudah pernah menginstall aplikasi semacam detik.com, kompas.com atau vivanews.com, dimana Anda bisa melihat berita dari situs detik.com di ponsel Android Anda.

Pertanyaannya ? Apakah portal-portal tersebut dalam membuat aplikasi portal versi Android juga membuat database/data beritanya? Apakah mereka melakukan pengimputan data berita dua kali ? yaitu versi web dan versi android ?

Jawabannya sudah pasti tidak, karena mereka pasti telah menggunakan layanan web service untuk pertukaran data pada dua versi aplikasi yang mereka buat.

Detik Portal dilihat melalui ponsel Android

Jadi apakah Web Service itu ? secara singkat Web Service adalah aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet dengan menggunakan format pertukaran data sebagia format pengiriman pesan. Adapun yang biasa dipakai adalah format pertukaran data dengan XML dan JSON.

Lalu, bagaimana caranya memanggil atau memanfaatkan sebuah Web Service ? sebuah web service dapat dipanggil oleh aplikasi lain dengan menggunakan bantuan HTTP (Hypertext Transfer Protocol). Web service juga memungkinkan untuk dipanggil dengan menggunakan protocol lain seperti SMTP (Simple Mail Transfer Protocol), namun yang paling umum digunakan HTTP.

Karena web service menggunakan protokol HTTP, tentu PHP sebagai bahasa pemograman web menjadi salah satu kekuatan dalam bahasa pemograman yang mengelola web service. Meski banyak teknik dan metode untuk menghasilkan web service dengan PHP.

[****]