0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan10 halaman

15-16 Web Service

Dokumen ini menjelaskan tentang web service, termasuk definisi, ciri-ciri, dan jenis-jenisnya seperti SOAP dan REST. Terdapat juga contoh implementasi server dan klien SOAP serta REST API untuk pengelolaan database buku. Web service memungkinkan interaksi antar aplikasi yang berbeda melalui protokol standar dan format data yang umum.

Diunggah oleh

Julham Komara
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan10 halaman

15-16 Web Service

Dokumen ini menjelaskan tentang web service, termasuk definisi, ciri-ciri, dan jenis-jenisnya seperti SOAP dan REST. Terdapat juga contoh implementasi server dan klien SOAP serta REST API untuk pengelolaan database buku. Web service memungkinkan interaksi antar aplikasi yang berbeda melalui protokol standar dan format data yang umum.

Diunggah oleh

Julham Komara
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

Fakultas Teknologi Informasi

Prodi Ilmu Komputer


Prodi Sistem Informasi

WEB SERVICE
Dosen Pengampu
MARDIANTO,S.Kom.,M.Cs
Fakultas Teknologi Informasi
Prodi Ilmu Komputer

Apa Itu Web Service


• Web service adalah suatu sistem atau komponen
perangkat lunak yang dirancang untuk mendukung
interaksi antar perangkat melalui jaringan, terutama
internet. Web service memungkinkan aplikasi yang
berbeda untuk berkomunikasi satu sama lain,
meskipun dibangun dengan bahasa pemrograman
atau platform yang berbeda.
• Web service menggunakan protokol standar seperti
HTTP untuk pengiriman data dan format data standar
seperti XML atau JSON untuk pertukaran informasi.
Ciri-ciri utama web service:
• Berbasis Protokol Web: Menggunakan protokol
seperti HTTP atau HTTPS.
• Platform-Independent: Dapat berjalan di berbagai
sistem operasi atau platform.
• Format Data Standar: Menggunakan format data
seperti XML, JSON, atau SOAP.
• Fungsi Terbatas dan Terfokus: Biasanya dirancang
untuk melakukan tugas tertentu.
• Desain Stateless: Tidak menyimpan status pengguna
di sisi server.
Arsitektur Webservice
Jenis-jenis Web Service:
1. SOAP (Simple Object Access Protocol):
- Protokol berbasis XML.
- Menyediakan struktur pesan yang lengkap dan
mendukung keamanan tingkat tinggi.
2. REST (Representational State Transfer):
- Lebih ringan dan lebih cepat.
- Menggunakan metode HTTP seperti GET, POST,
PUT, dan DELETE
- Data sering dikirim dalam format JSON atau XML.
Server SOAP
<?php
require_once("lib/nusoap.php"); // Pastikan NuSOAP diunduh dan tersedia

// Membuat server SOAP


$server = new nusoap_server();
$server->configureWSDL("SampleService", "urn:SampleService");

// Menambahkan fungsi ke server


function sayHello($name) {
eturn "Hello, " . $name . "!";
}
// Mendaftarkan fungsi ke SOAP server
$server->register(
"sayHello",
array("name" => "xsd:string"), // Parameter
array("return" => "xsd:string"), // Return value
"urn:SampleService", // Namespace
"urn:SampleService#sayHello", // SoapAction
"rpc", // Style
"encoded", // Use
"Returns a greeting message" // Documentation
);

// Memproses request
$server->service(file_get_contents("php://input"));
?>
Client SOAP
<?php
require_once("lib/nusoap.php"); // Pastikan NuSOAP diunduh dan tersedia
// URL ke server SOAP
$wsdl = "http://localhost/server.php?wsdl";

// Membuat klien SOAP


$client = new nusoap_client($wsdl, true);

// Memeriksa error
$error = $client->getError();
if ($error) {
echo "Constructor error: " . $error;
exit();
}

// Memanggil fungsi sayHello di server


$result = $client->call("sayHello", array("name" => "Mardianto"));

// Memeriksa error pada panggilan SOAP


if ($client->fault) {
echo "Fault: ";
print_r($result);
} else {
$error = $client->getError();
if ($error) {
echo "Error: " . $error;
} else {
echo "Response: " . $result;
}
}
?>
Reset API (Database)
CREATE DATABASE rest_api_example;

USE rest_api_example;

CREATE TABLE books (


id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
published_year INT NOT NULL
);
Reset API Koneksi database
<?php
function getConnection() {
$host = "localhost";
$db = "rest_api_example";
$user = "root";
$password = "";

try {
$conn = new PDO("mysql:host=$host;dbname=$db", $user, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $conn;
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
}
?>
<?php
Reset API
require 'db.php';
// Set header untuk REST API
header("Content-Type: application/json");
$method = $_SERVER['REQUEST_METHOD'];
$conn = getConnection();
// Routing berdasarkan metode HTTP
if ($method == 'GET') {
if (isset($_GET['id'])) {
// Mengambil buku berdasarkan ID
$id = intval($_GET['id']);
$stmt = $conn->prepare("SELECT * FROM books WHERE id = ?");
$stmt->execute([$id]);
$book = $stmt->fetch(PDO::FETCH_ASSOC);
echo json_encode($book);
} else {
// Mengambil semua buku
$stmt = $conn->query("SELECT * FROM books");
$books = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($books);
}
} elseif ($method == 'POST') {
// Menambahkan buku baru
$data = json_decode(file_get_contents("php://input"), true);
$stmt = $conn->prepare("INSERT INTO books (title, author, published_year) VALUES (?, ?, ?)");
$stmt->execute([$data['title'], $data['author'], $data['published_year']]);
echo json_encode(["message" => "Book added successfully", "id" => $conn->lastInsertId()]);
} elseif ($method == 'PUT') {
// Mengupdate buku
$data = json_decode(file_get_contents("php://input"), true);
$stmt = $conn->prepare("UPDATE books SET title = ?, author = ?, published_year = ? WHERE id = ?");
$stmt->execute([$data['title'], $data['author'], $data['published_year'], $data['id']]);
echo json_encode(["message" => "Book updated successfully"]);
} elseif ($method == 'DELETE') {
// Menghapus buku
$id = intval($_GET['id']);
$stmt = $conn->prepare("DELETE FROM books WHERE id = ?");
$stmt->execute([$id]);
echo json_encode(["message" => "Book deleted successfully"]);
} else {
// Metode tidak dikenal
http_response_code(405);
echo json_encode(["message" => "Method not allowed"]);
}
?>

Anda mungkin juga menyukai