- Cari disini...
- Browse
Katalog Kelas
Ikuti materi yang kamu butuhkan
Roadmap
Belajar online dengan terarah
Bootcamp
Codepolitan x Catamyst
- Explore
Tutorial & Artikel
Temukan Artikel menarik
Podcast
Podcast seputar pemrograman
Webinar
Ikuti Berbagai Webinar
Event
Temukan Event menarik
Beasiswa
Program Beasiswa
Discord
Komunitas Discord
Forum
Diskusi antar Programmer
Leaderboard
Ranking siswa Codepolitan
- Partnership
For Company
Solusi tepat untuk perusahaan
For School
Kerjasama untuk sekolah
For Campus
Kerjasama untuk kampus
For Mentor
Peluang penghasilan untuk mentor
- Career
LoginRegister
Web Service – Cara Menampilkan Data [Read]
Cara Menampilkan Data [Read] – Tutorial kali ini akan mengulas bagaimana cara menampilkan data dari server ke klien pada konsep pemrograman web service. Pada web service ini kita gunakan fungsi NUSOAP. Oia Untuk model web service pada tutorial kali ini kita menggunakan model SOAP. Untuk tutorial berikutnya akan kita bahas tentang web service dengan model REST.
Menampilkan data dari tabel database yang berada pada server tidaklah sulit. Yang perlu di pahami adalah komponen dari model web service itu sendiri. Untuk model SOAP kita harus membuat sebuah program di server yang berfungsi untuk menampilkan data, nah dari script php tersebut kita akan panggil di client menggunakan url akses yang di berikan dari server.
Seperti Cerita diatas,
Inti dari web service adalah server dan client, jadi aplikasi ini mampu berjalan di server dan juga client. Yang mana aplikasi tersebut berjalan dan saling bertukar data melalui url. Untuk Konsep data yang di tukar menggunakan xml.
Oke langsung Saja kita mulai cara membuat aplikasi web service untuk menampilkan data, untuk folder projeknya contoh ini kita buat saja dengan folder “WS” pada server kamu, kemudian langkah-langkahnya:
Server:
Buat folder 1 lagi yaitu “server” di dalam foder WS, folder ini untuk meletakkan contoh script server yang akan kita gunakan sebagai web service.
1. Buat database dan tabel seperti berikut ini, pada contoh ini database dengan nama “ukm” dan nama tabel “barang“, Jadi ceritanya kita akan menampilkan data pada aplikasi ukm yaitu data barang. Kemudian buat isi tabel dengan query sql di bawah ini:
-- phpMyAdmin SQL Dump -- version 4.5.1 -- //www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: May 09, 2017 at 02:21 PM -- Server version: 10.1.10-MariaDB -- PHP Version: 5.6.19 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!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 utf8mb4 */; -- -- Database: `ukm` -- -- -------------------------------------------------------- -- -- Table structure for table `barang` -- CREATE TABLE `barang` [ `idBarang` int[11] NOT NULL, `kodeBarang` varchar[15] NOT NULL, `namaBarang` varchar[200] NOT NULL, `satuanBarang` varchar[15] NOT NULL, `stokBarang` int[11] NOT NULL, `hargaBarang` int[11] NOT NULL, `foto` varchar[250] NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `barang` -- INSERT INTO `barang` [`idBarang`, `kodeBarang`, `namaBarang`, `satuanBarang`, `stokBarang`, `hargaBarang`, `foto`] VALUES [2, 'KB-MHJ', 'Jilbab Panjang', 'pcs', 100, 15000, 'Islamic_Wallpaper_Allah_014-1440x900.jpg'], [3, 'KP-WHDP', 'Dompet Wanita Dua Pari Hijau', 'pcs', 100, 10000, 'tulis.jpg'], [4, 'HK-B', 'Handuk Kecil Biru', 'pcs', 100, 23000, '1094969_hand_writing.jpg'], [19, 'Ax', 'Ax', 'pcs', 11, 17000, ''], [25, 'KP', 'Kopiah', 'pcs', 23, 12000, '']; -- -- Indexes for dumped tables -- -- -- Indexes for table `barang` -- ALTER TABLE `barang` ADD PRIMARY KEY [`idBarang`]; -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `barang` -- ALTER TABLE `barang` MODIFY `idBarang` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26; /*!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 */;
2. Download nusoap, kemudian letakkan fungsi ini di folder projek WS->SERVER, Oke kemudian buat file dengan nama server.php di folder tersebut . File inilah yang akan kita gunakan sebagai server web service. Dan isi dari file ini sebagai berikut:
Dan jika script server tersebut sudah berhasil maka akan dapat langsung di akses dan menghasilkan tampilan seperti ini:
Output wsdl web service
Output respone xml web service
Penjelasan:
require_once[‘lib/nusoap.php’];
Merupakan library nusoap untuk web service
$ns = “//”.$_SERVER[‘HTTP_HOST’].”/ws/server/server.php”;//setting namespace
Merupakan namspace atau endpoint dari target server yang digunakan
$server = new soap_server[];
$server->configureWSDL[‘WEB SERVICE UKM’, ‘urn:barangServerWSDL’]; // configure WSDL file
$server->wsdl->schemaTargetNamespace = $ns; // server namespace
########################Data Barang##############################################################
// Complex Array Keys and Types Data Barang++++++++++++++++++++++++++++++++++++++++++
$server->wsdl->addComplexType[“barangData”,”complexType”,”struct”,”all”,””,
array[
“idBarang”=>array[“name”=>”idBarang”,”type”=>”xsd:int”],
“kodeBarang”=>array[“name”=>”kodeBarang”,”type”=>”xsd:string”],
“namaBarang”=>array[“name”=>”namaBarang”,”type”=>”xsd:string”],
“satuanBarang”=>array[“name”=>”satuanBarang”,”type”=>”xsd:string”],
“hargaBarang”=>array[“name”=>”hargaBarang”,”type”=>”xsd:int”],
“stokBarang”=>array[“name”=>”stokBarang”,”type”=>”xsd:int”]
]
];
// Complex Array Data Barang++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$server->wsdl->addComplexType[“barangArray”,”complexType”,”array”,””,”SOAP-ENC:Array”,
array[],
array[
array[
“ref”=>”SOAP-ENC:arrayType”,
“wsdl:arrayType”=>”tns:barangData[]”
]
],
“barangData”
];
// End Complex Type barang+++++++++++++++++++++++++++++++++Merupakan pendeskripsian xml yang menjadi output dari server
$server->register[‘readall’, // method name
array[‘input’ => ‘xsd:String’], // input parameters
array[‘output’ => ‘xsd:Array’], // output parameters
$ns, // namespace
“urn:”.$ns.”/readall”, // soapaction
“rpc”, // style
“encoded”, // use
“Mengambil Semua Data Barang”]; // documentation
//Ambil Semua Data BarangMerupakan registrasi atau pendaftaran fungsi yang akan kita panggil nantinya pada client. Pada script diata fungsi yang kita daftar adalah “readall”
function
readall[] {
$server
=
"localhost"
;
$username
=
"root"
;
$password
=
""
;
$database
=
"ukm"
;
$con
=
new
mysqli[
$server
,
$username
,
$password
,
$database
];
if
[
$con
->connect_error]{
die
[
"Koneksi gagal: "
.
$con
->connect_error];
}
$r
=
$con
->query[
"SELECT * FROM barang"
];
while
[
$value
=
$r
->fetch_assoc[]]
{
$return_value
[] =
array
[
'id'
=>
$value
[
'idBarang'
],
'kode'
=>
$value
[
'kodeBarang'
],
'nama'
=>
$value
[
'namaBarang'
],
'satuan'
=>
$value
[
'satuanBarang'
],
'harga'
=>
$value
[
'hargaBarang'
],
'stok'
=>
$value
[
'stokBarang'
]
];
}
return
$return_value
;
}
Dan fungsi diataslah yang menampilkan data untuk di baca di client.
Client:
Sekarang kita masuk ke klien untuk menampilkan data Copy kan juga library nusoap yang kita letakkan di dalam folder server tadi ke folder WS [di luar bukan di server], karena script client ini juga membutuhkan fungsi library yang ada pada nusoap.
1. Buat script untuk client dengan nama client.php [bisa juga yang lain], Kemudian isi file tersebut seperti ini: