Tutorial Web Service

Tutorial Web Service adalah tutorial yang mengulas tentang pengembangan aplikasi php berbasis web dan client. Untuk jenis ulasan web service mencakup SOAP dan REST.

Error Nusoap

Error Nusoap

Sharing kali ini kita mengupas mengenai web service. Hari ini, pada saat postingan ini di tulis, kebetulan admin mendapatkan projek pengembangan script php untuk webservice dengan konsep SOAP. Namun pada perjalanan pengkodingan script php admin mengalami permasalahan error pada pemanggilan fungsi soap pada web service. Oia sebelumnya bagi yang baru belajar tentang web service, web […]

Web Service – REST – Cara Read Data (R)

Web Service - REST - Cara Read Data (R)

Web Service – REST – Cara Read Data (R) / gambar: jenkov.com

Web Service – REST – Cara Read Data (R). Read atau membaca data pada web service kali ini sama dengan web service sebelumnya menggunakan SOAP. Letak perbedaannya adalah untuk model yang kali menggunakan REST. Pada model REST CRUD dilakukan menggunakan tag xml untuk memprosesnya. Namun Untuk eksekusi yang dilakukan tampa perlu library tambahan, dan hany a menggunakan fungsi-fungsi curl yang ada pada php sendiri.

Web Service – REST – Cara Read Data (R)

Untuk membuat aplikasi web service client server menggunakan model REST sebagai bentuk respon dari requestnya dapat berbentuk JSON adan juga xml. Untuk Response ini dapat kamu buat sebagai sarana untuk membuat sebuah web api.

Nah berikut ini akan saya jelaskan bagaimana membuat web service dengan model rest untuk menampilkan data menggunakan XMl.

Sebenarnya tutorial ini menjadi satu kesatuan dalam konsep pemrograman yaitu CRUD (create, read, update, delete) namun agar mudah dipahami setiap tutorial di pecah-pecah.

Langkah-langkah:

1. Buat folder dengan nama “REST” ( bisa bebas). Kemudian buat 1 lagi folder di dalam folder tersebut dengan nama “SERVER” nah ini nanti sebagai folder penyimpanan server. Pada implementasinya server bisa di tempatkan di direktori berbeda atau bahkan di pc, atau laptop lain. Sedangkan untuk file client, pada tutorial ini akan di tempatan di folder root REST.
2. Buat database dengan nama “UKM” (bisa bebas), kemudian importkan sql berikut ini pada database kamu, pada kasus ini kita akan menampilkan data barang yang ada pada server menggunakan client.


-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 26, 2017 at 03:31 AM
-- 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 Sekali', 'pcs', 221, 15000, 'Islamic_Wallpaper_Allah_014-1440x900.jpg'),
(3, 'KP-WHDP', 'Dompet Wanita Dua Pari Hijau', 'pcs', 115, 10000, 'tulis.jpg'),
(4, 'HK-B', 'Handuk Kecil Biru', 'pcs', 87, 23000, '1094969_hand_writing.jpg');

--
-- 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=5;
/*!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 */;

3. Kemudian pada folder “SERVER” silahkan buat file server.php  dan di folder root “REST” buat file php read.php

4.Isi file server.php, dengan script di bawah ini:

$server = "localhost";
$username = "root" ;
$password = "" ;
$database = "ukm";

$con = new mysqli($server,$username,$password,$database);
if($con->connect_error){
die("Koneksi gagal: ".$con->connect_error);
}
header('Content-Type: text/xml; charset=ISO-8859-1');
switch($_SERVER['REQUEST_METHOD']){
case 'BARANG':
$result = $con->query("SELECT * FROM barang");
echo "<data>";
while ($line = $result->fetch_assoc()) {
echo "";
foreach ($line as $key => $col_value) {
echo "<$key>$col_value";
}
echo "";
}
echo "</data>";
break;
}
?>

Penjelasan:

header(‘Content-Type: text/xml; charset=ISO-8859-1’);

Merupakan sebuah fungsi yang digunakan untuk membuat output sebuah script diatas menjadi xml. Dan xml inilah yang akan di baca dan di tampilkan di client. Perlu diketahui, untuk output xml kelebihannya adalah nantinya bisa digunakan untuk multi device baik perangkat mobile  dan juga perangkat dekstop, Untuk bahasa pemrogramannya juga dapat di akses menggunakan multi bahasa misal java dan juga delpi.

$_SERVER[‘REQUEST_METHOD’]

Merupakan fungsi web server untuk mengeksekusi metode web service rest, Untuk method nya bisa GET, PUT, UPDATE.

5. Isi read.php dengan script di bawah ini:


<?php
$server = 'http://127.0.0.1/rest/server/server.php';
$client = curl_init($server);
 curl_setopt($client, CURLOPT_CUSTOMREQUEST, "BARANG");
 curl_setopt($client, CURLOPT_RETURNTRANSFER, true);
 $response = curl_exec($client);
 curl_close($client);
 $xml = simplexml_load_string($response);
echo '<table>';
$i=0;
foreach ($xml as $u) {
$i++;
echo "<tr>
 <td>".$i."</td>
 <td>".$u->idBarang."</td>
 <td>".$u->kodeBarang."</td>
 <td>".$u->namaBarang."</td>
 <td>".$u->hargaBarang."</td>
 <td>".$u->stokBarang."</td></tr>";

}
echo '</table>';
?>

Oke demikian tutorial Web Service – REST – Cara Read Data (R) untuk mengakasesnya silahkan akses url:

http://localhost/rest/read.php

Semoga bermanfaat.

Web Service – SOAP – Cara Membuat Login

Web Service - SOAP - Cara Membuat Login

Web Service – SOAP – Cara Membuat Login

Web Service – SOAP – Cara Membuat Login – Pengembangan aplikasi sistem menggunakan konsep web service menurut saya sangat unik. Selain dapat di kembangkan menjadi aplikasi yang lebih kompleks, misalkan aplikasi client server dengan kombinasi aplikasi dekstop dan juga web, web service juga dapat di aplikasikan kedalam pengembangan aplikasi mobile dengan web service.

Login, merupakan fitur autorisasi untuk masuk kedalam sebuah aplikasi. Pada web service khususnya SOAP dengan menggunakan library nusoap. Akses login, menggunakan data yang berada pada server. Untuk cara dan alur prosesnya yaitu, user memasukkan username dan password, kemudian data tersebut di baca dan di masukkan sebagai paramater untuk memanggil data lainya pada tabel database server, dan apabila data tersebut benar, maka akan di request kembali data respon yang di berikan oleh server.

Maka dengan respon tersebutlah dapat kita gunakan untuk mengautorisasi pada aplikasi client. Untuk membaca artikel tentang tutorial web service sudah saya kumpulkan pada kategori tutorial web service, Supaya kamu tahu, bagaimana konsep web service dengan begitu, untuk mengimplementasikan login dengan web service ini mudah di pahami, silahkan di baca.

Cara Membuat Login

Oke langsung saja, Untuk login ini sama dengan konsep tutorial yang saya berikan sebelumnya pada kategori tutorial web service. yang terpenting adalah meregister fungsi dan memberikan fungsi untuk membaca data login, namun pada data login ini, tabel database yang digunakan berbeda yaitu menggunakan tabel user:

Buat folder WS kemudian buat lagi folder di dalamnya “server” untuk meletakkan server.

1. Database “UKM“, tabel “user


-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: May 17, 2017 at 03:14 AM
-- 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 `user`
--

CREATE TABLE `user` (
 `idUser` int(11) NOT NULL,
 `namaUser` varchar(150) NOT NULL,
 `telpUser` varchar(13) NOT NULL,
 `alamatUser` text NOT NULL,
 `username` varchar(50) NOT NULL,
 `password` varchar(50) NOT NULL,
 `foto` varchar(250) NOT NULL,
 `level` int(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`idUser`, `namaUser`, `telpUser`, `alamatUser`, `username`, `password`, `foto`, `level`) VALUES
(2, 'Ibu Cynthia Dayan', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'dayan', 'dayan', 'Islamic_Wallpaper_Mosque_004-1440x900.jpg', 4),
(4, 'Administrator', '081959109190', 'Jl.Subrantas no.13', 'admin', 'admin', '264428cee54fa195f80aecd98a18a903.jpg', 1),
(8, 'Ibu Mega', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'mega', 'mega', 'Islamic_Wallpaper_Quran_004-1600x1050.jpg', 4),
(9, 'Dina Oktavia S', '081959109190', 'Jl.Pepaya no.23, Pekanbaru', 'dina', 'dina', 'Islamic_Wallpaper_Mosque_001-1366x768.jpg', 4),
(10, 'Petugas Pemasar', '-', '-', 'pemasar', 'pemasar', 'admin.jpg', 3),
(11, 'Petugas Pabrik', '081959109190', 'Jl.Cendana no.1, Pekanbaru', 'pabrikan', 'pabrikan', 'Capture.PNG', 2);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `user`
--
ALTER TABLE `user`
 ADD PRIMARY KEY (`idUser`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
 MODIFY `idUser` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
/*!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. koneksi.php


$server = "localhost";
$username = "root" ;
$password = "" ;
$database = "ukm";

$con = new mysqli($server,$username,$password,$database);
if($con->connect_error){
 die("Koneksi gagal: ".$con->connect_error);
}

3. server.php

Berikut script untuk server, letakkan di dalam folder server


<?php
require_once('lib/nusoap.php');
include 'koneksi.php';
$ns = "http://".$_SERVER['HTTP_HOST']."/ws/server/server.php";//setting namespace
$server = new soap_server();
$server->configureWSDL('SERVER SOAP UKM', 'urn:ukmServerWSDL'); // configure WSDL file
$server->wsdl->schemaTargetNamespace = $ns; // server namespace
########################Data User##############################################################
 // Complex Array Keys and Types Data User
 $server->wsdl->addComplexType("userData","complexType","struct","all","",
 array(
 "idUser"=>array("name"=>"idUser","type"=>"xsd:int"),
 "namaUser"=>array("name"=>"namaUser","type"=>"xsd:string"),
 "telpUser"=>array("name"=>"telpUser","type"=>"xsd:string"),
 "alamatUser"=>array("name"=>"alamatUser","type"=>"xsd:string"),
 "username"=>array("name"=>"username","type"=>"xsd:string"),
 "password"=>array("name"=>"password","type"=>"xsd:string"),
 "foto"=>array("name"=>"foto","type"=>"xsd:string"),
 "level"=>array("name"=>"level","type"=>"xsd:string")
 )
 );
 // Complex Array Data User
 $server->wsdl->addComplexType("userArray","complexType","array","","SOAP-ENC:Array",
 array(),
 array(
 array(
 "ref"=>"SOAP-ENC:arrayType",
 "wsdl:arrayType"=>"tns:userData[]"
 )
 ),
 "userData"
 );
 // End Complex Type User
########################/Data User##############################################################
////////////////////////Register//////////////////////////////////////////////////////

//Ambil data login user
 $server->register('loginUser', // method name
 array('input' => 'xsd:Array'), // input parameters
 array('output' => 'xsd:Array'), // output parameters
 $ns, // namespace
 "urn:".$ns."/loginUser", // soapaction
 "rpc", // style
 "encoded", // use
 "Mengambil Data login User"); // documentation
//Ambil data profil user

////////////////////////Register//////////////////////////////////////////////////////
#++++++++++++++++++++++++++++++++++ Function +++++++++++++++++++++++++++++++++++++++#

//login
function loginUser($param) {
 global $con;
 global $host;
 $r = $con->query("SELECT * FROM user WHERE username = '$param[user]' AND password = '$param[pass]' AND level IN ('2','3')");
 while($value= $r->fetch_assoc()){
 $return_value[] = array(
 'idUser'=> $value['idUser'],
 'namaUser'=> $value['namaUser'],
 'telpUser'=> $value['telpUser'],
 'alamatUser'=> $value['alamatUser'],
 'username'=> $value['username'],
 'password'=> $value['password'],
 'foto'=> $value['foto'],
 'level'=> $value['level'],
 'hostServer'=> $host
 );
 }
 return $return_value;
}

#++++++++++++++++++++++++++++++++++ Function +++++++++++++++++++++++++++++++++++++++#

&nbsp;

&nbsp;
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

4. client.php

Beriktu script untuk client yang menampilkan form login:


<?php
require_once('lib/nusoap.php');
$client = new nusoap_client('http://127.0.0.1/ukm/server/config/server.php?wsdl', true);
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
if(isset($_POST['submit'])){
$user = $_POST['us'];
 $pass = $_POST['pw'];
 $param = array('user'=>$user,'pass'=>$pass);
 $result = $client->call('loginUser',array($param));
 // Apabila username dan password ditemukan
 //print_r($result);exit;
 if (!empty($result)) {
 foreach ($result as $u) {
 $_SESSION['username'] = $u[username];
 $_SESSION['password'] = $u[password];
 $_SESSION['nama'] = $u[namaUser];
 $_SESSION['telp'] = $u[telpUser];
 $_SESSION['alamat'] = $u[alamatUser];
 $_SESSION['foto'] = $u[foto];
 $_SESSION['level'] = $u[level];
 $_SESSION['id'] = $u[idUser];
 $_SESSION['hostServer'] = $u[hostServer];
 echo "<script>window.location = '".$host."'; </script>";
 }
 }else{
 echo "<script> alert('Username atau Password salah !');window.location = '".$host."'; </script>";
 }
}
?>
<div class="form-box" id="login-box">
 <div class="header">LOGN CLIENT SOAP</div>
 <form action="" method="post">
 <div class="body bg-gray">
 <div class="form-group">
 <input type="text" name="us" class="form-control" placeholder="Username" required/>
 </div>
 <div class="form-group">
 <input type="password" name="pw" class="form-control" placeholder="Password" required/>
 </div>
 </div>
 <div class="footer">
 <button type="submit" class="btn bg-olive btn-block">LOGIN</button>
 </div>
 </form>
 </div>

Demikian cara Cara Membuat Login web service semoga bermanfaat. Jika ada yang ditanyakan silahkan berikan komentar di bawah ini:

Web Service – SOAP – Cara Delete Data

Web Service – SOAP – Cara Delete Data – Berdasarkan dengan tutorial sebelumnya tentang web service, untuk cara delete data sama caranya dengan intruksi insert data, read data, update data pada web service. Di sarankan kamu sudah baca tutorial sebelumnya pada kategori tutorial web service agar lebih mudah menerapkan cara dan tutorial ini.

Oke deh langsung saja,,

Cara Delete Data

Seperti biasa, karena ini aplikasi client server maka langkah di bagi menjadi 2, yaitu:

# SERVER


$server->register('delete',
 array('input' => 'xsd:Array'),
 array('output' => 'xsd:Array'),
 $ns,
 "urn:".$ns."/delete",
 "rpc",
 "encoded",
 "Delete Data Barang"
);

function delete($param) {
 $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("DELETE FROM barang WHERE idBarang = '$param[id]'");
 if($r === true){
 $s = 1;
 }else{
 $s = 0;
 }
 $return_value = array('status'=>$s);
 return $return_value;
}

# CLIENT


<?php
require_once('lib/nusoap.php');
$client = new nusoap_client('http://127.0.0.1/ws/server/server.php?wsdl', true);

$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$param = "";
$result = $client->call('readall',array($param));
 //echo $client->response;
 //echo $client->request;
if (!empty($result)) {

 echo "<h1>Read</h1>
 <a href='create.php'>Create</a>
 <table border=1>";
 echo "<tr bgcolor='#cccccc'>";
 echo "<th>Id</th>";
 echo "<th>Kode</th>";
 echo "<th>Nama</th>";
 echo "<th>Satuan</th>";
 echo "<th>Harga</th>";
 echo "<th>Stok</th>";
 echo "<th colspan='3'>Action</th>";
 echo "</tr>";
 foreach ($result as $item) {
 echo "<tr>";
 echo "<td>".$item['id']."</td>";
 echo "<td>".$item['kode']."</td>";
 echo "<td>".$item['nama']."</td>";
 echo "<td>".$item['satuan']."</td>";
 echo "<td>".$item['harga']."</td>";
 echo "<td>".$item['stok']."</td>";
 echo "<td><a href='read.php?id=".$item['id']."'>Read</a></td>";
 echo "<td><a href='update.php?id=".$item['id']."'>Edit</a></td>";
 echo "<td><a href='delete.php?id=".$item['id']."'>Delete</a></td>";
 echo "</tr>";
 }
 echo "</table>";

}
?>

Untuk database dan tabel nya masih sama dengan yang tutorial sebelumnya yaitu database ukm dan tabel barang. Oke demikian dara delete data di web service, semoga membantu.

 

Web Service – SOAP – Cara Membuat CRUD

Web Service - SOAP - Cara Membuat CRUD

Web Service – SOAP – Cara Membuat CRUD / gambar: github.io

Web Service – SOAP – Cara Membuat CRUD. Create, Read, Update, Delete merupakan proses standar yang ada pada sebuah aplikasi. Termasuk juga aplikasi client server seperti web service. Perbedaan dengan CRUD pada aplikasi biasanya adalah jika pada aplikasi atau sistem web service,  CRUD bukan hanya dapat dilakukan di aplikasi yang ada pada server, tetapi juga pada aplikasi yang ada pada client. Jadi pertukaran data dapat dilakukan 2 arah, antara server dan juga client.

Tutorial kali ini merupakan penyimpulan dari beberapa tutorial sebelumnya yang membahas tentang web service. Di tutorial ini kamu dapat langsung mempraktekkannya dari awal sampai akhir.

Cara Membuat CRUD

Untu memulai pembuatan persiapkan dahulu sebuah folder pada server local kamu. Kemudian di dalam folder tersebut buatlah sebuah folder lagi dengan nama misalnya “server”. Oke, sekarang kamu punya dua folder yang nanti analoginya di folder utama akan di tempatkan aplikasi client untuk web service, sedangkan untuk folder server adalah untuk penyimpanan aplikasi server.

# C (CREATE)

Merupakan intruksi atau perintah untuk memasukkan data kedalam database, baik itu aplikasi web service atau aplikasi php biasa, biasanya istilah ini digunakan untuk memasukkan data ke tabel penyimpanan tersebut. Begitupun dengan beberapa framework, menggunakan konsep istilah ini untuk mengembangkan library pada frameworknya. Alasanya adalah agar kegiatan memasukkan data menjadi lebih mudah.

Tutorial Create Web service

# R (READ)

Read merupakan sebuah perintah untuk membaca data dari sebuah database dan menampilkannya ke halaman web. Untuk perintah ini pada database mysql di kenal dengan istilah query. Query ini yang membantu program php untuk menampilkan dan membaca data yang ada. Pada aplikasi client server seperti ini, data yang dibaca client adalah data yang berada pada server utama. Server utama merupakan penyedia data dan yang langsung berinteraksi dengan tabel database penyimpan data.

Tutorial Read web service

# U (UPDATE)

Update merupakan sebuah perintah yang dilakukan untuk mengubah dan memperbaharui data pada sebuah penyimpanan data. Untuk update terkait dengan read. Jadi dengan read tersebut kamu akan mengetahui data yang mana yang akan di perbaharui dan akan dirubah isi datanya. Masalah yang biasanya terjadi adalah kesalahan pada read akan menyebabkan update data gagal dilakukan.

Tutorial update web service

# D (DELETE)

Merupakan sebuah intruksi untuk menghapus data. Untuk penghapusan data bisa dilakukan beberapa data dan semua data. Penghapusan data tersebut memerlukan kondisi sebagai penentu untuk melakukan penghapusan data. Untuk query kondisinya biasa dilakukan sql dan di kombinasi dengan php.

Tutorial delete web service

Demikian panduan membuat crud pada aplikasi web service yang saya rangkum menjadi satu agar mudah di pelajari. Untuk pertanyaan dan juga diskusi dapat memberikan komentar pada artikel ini. Terimakasih semoga bermanfaat.

Web Service – SOAP – Cara Update Data

Web Service – SOAP – Cara Update Data

Web Service – SOAP – Cara Update Data

Web Service – SOAP – Cara Update Data – Cara update atau memperbaharui data pada web service cukup simpel dan mudah, tidak jauh berbeda dengan menggunakan konsep pemrograman biasa. Bedanya hanyalah ini kita lakukan pada aplikasi client server yang mana perintah untuk update data pada tabel database dilakukan di komputer client, namun query sqlnya dijalankan di server dimana apliasi berada.

Untuk update data cara yang dilakukan sama dengan cara biasanya yaitu dengan membaca suatu kondisi pada data tertentu kemudian data tersebut di lakukan update. Sama halnya dengan aplikasi web service ini, ketika kamu akan mengupdate data, maka kamu harus membaca kondisi tertentu unuk menjadi dasar update data, dalam kondisi umum biasanya kondisi tersebut berupa “id” data.

Melanjutkan tutorial sebelumnya tentang web service juga, tutorial kali ini sama dengan yang sebelumnya, harap di baca tutorial sebelumnya ini,

Tutorial sebelumnya:

  1. Cara insert data web service
  2. Cara menampilkan data web service
  3. Cara menampilkan data berdasarkan id web service

Agar lebih memahami cara membuat update data di web service, karena pada tutorial kali ini hanya merubah atau menambahkan fungsi untuk update data saja, panduan dari awal, berada di tutorial sebelumnya tersebut, karena pada tutorial kali ini cara yang digunakan dan tabel, beserta databasenya masih dengan yang sebelumnya, yaitu database “UKM” dan tabel “barang”.

Cara Update Data web service

Langkahnya kita bagi menjadi 2:

#SERVER

Pada server.php seperti tutorial sebelumnya kita tambahkan script ini, yang harus di perhatikan adalah fungsi readbyid, jika kamu sudah membuatnya mengikuti tutorial sebelumnya maka tidak perlu di tambahkan lagi fungsi ini,

$server->register('readbyid',
 array('input' => 'xsd:Array'),
 array('output' => 'xsd:Array'),
 $ns,
 "urn:".$ns."/readbyid",
 "rpc",
 "encoded",
 "Mengambil Data Barang by id"
);

$server->register('update',
 array('input' => 'xsd:Array'),
 array('output' => 'xsd:Array'),
 $ns,
 "urn:".$ns."/update",
 "rpc",
 "encoded",
 "Update Data Barang"
);

function readbyid($param) {
$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 WHERE idBarang = '$param[id]'");
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;
}

function update($param) {
 $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("UPDATE barang SET kodeBarang='$param[kode]',namaBarang='$param[nama]',satuanBarang='$param[satuan]',hargaBarang='$param[harga]',stokBarang='$param[stok]' WHERE idBarang = '$param[id]'");
 if($r === true){
 $s = 1;
 }else{
 $s = 0;
 }
 $return_value = array('status'=>$s);
 return $return_value;
}

#CLIENT

Selanjutnya untuk update data, silahkan buat file update.php (boleh bebas) dan isikan script ini, ini di referensikan pada aplikasi cara menampilkan data web service tutorial sebelumnya.


<?php
require_once('lib/nusoap.php');
$client = new nusoap_client('http://127.0.0.1/ws/server/server.php?wsdl', true);

$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$id = $_GET['id'];
$param = array('id'=>$id);
$result = $client->call('readbyid',array($param));

if (isset($_POST['simpan'])) {
 $param = array('id'=>$id,'kode'=>$_POST['kode'],'nama'=>$_POST['nama'],'satuan'=>$_POST['satuan'],'harga'=>$_POST['harga'],'stok'=>$_POST['stok']);
 $result = $client->call('update',array($param));
 if ($result['status'] == 1) {
 echo 'Berhasil update data';
 }else{
 echo 'Gagal update data';
 }

 ///////
 $id = $_GET['id'];
 $param = array('id'=>$id);
 $result = $client->call('readbyid',array($param));
}

foreach ($result as $item) {
 echo '<form action="" method="POST">
 <h1>Update</h1>
 <table border=1>
 <tr><td>Kode Barang</td><td><input type="text" name="kode" value="'.$item['kode'].'"></td></tr>
 <tr><td>Nama Barang</td><td><input type="text" name="nama" value="'.$item['nama'].'"></td></tr>
 <tr><td>Satuan Barang</td><td><input type="text" name="satuan" value="'.$item['satuan'].'"></td></tr>
 <tr><td>Harga Barang</td><td><input type="text" name="harga" value="'.$item['harga'].'"></td></tr>
 <tr><td>Stok Barang</td><td><input type="text" name="stok" value="'.$item['stok'].'"></td></tr>
 <tr><td colspan="2" align="center"><input type="submit" name="simpan"></td></tr>
 </table></form>';
 }

?>

Demikian tutorial tentang cara membangun aplikasi web service. Untuk membuat aplikasi secara full cara nya sama dengan konsep tutorial ini dan sebelumnya. Intinya yaitu CRUD (create, read, update, delete). Semoga bermanfaat.