SlideShare a Scribd company logo
1 of 43
Download to read offline
Wahyu Widodo, S.Kom.,M.Kom - Web Service 1
Web Service
Disusun Oleh :
Wahyu Widodo,S.Kom.,M.Kom
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
EL RAHMA
YOGYAKARTA
Wahyu Widodo, S.Kom.,M.Kom - Web Service 2
Kontrak Kuliah
1. Deskripsi Mata Kuliah
Mata kuliah Web Service membahas tentang teknologi untuk solusi intregrasi proses
dan data. Mahasiswa diajarkan teknik pertukaran data menggunakan beberapa teknik
berikut ini : Simple Object Acces Protocol (SOAP), RestFull, Web Service Definition
Language (WSDL), dan Universal Description, Discover, and Integration (UDDI).
Tujuan akhir yang diharapkan mahasiswa menerapkan teori web service dan
mengimplementasikan untuk mentransformasi sebuah bisnis logic dalam ruang lingkup
yang terpisah dengan tingkat keamanan data yang dapat ditangani dengan baik.
2. Manfaat Mata Kuliah
Mahasiswa mampu :
1. Menjelaskan alur kerja web service.
2. Memahami alur proses bisnis pertukaran data
3. Mampu menggunakan SOAP dan atau RestFull untuk membuat aplikasi web
service.
4. Mampu membuat dokumentasi API .
3. Kompetensi Dasar
1. Memahami cara kerja dan kegunaan web service
2. Memahami arsitektural web wervice
3. Memahami teknologi yang terkait dengan web service seperti SOAP, RestFull,
WSDL, dan UDDI
4. Mampu membuat web service sederhana
5. Mampu membuat dokumentasi API
Wahyu Widodo, S.Kom.,M.Kom - Web Service 3
4. Materi / Bacaan Perkuliahan / Referensi
a. James Snell,2001. Programming Web Service with SOAP: O'Reilly.
b. Erik T Ray,2001.Learning XML:Oreilly Publisher.
c. Ben Smith,2015. Beginning JSON: Apress.
d. Leonard R, Sam Ruby,2007. RESTful Web Services:O'Reilly
e. Samisa Abey,2008. RESTful PHP Web Service : Packt Publishing
f. Lorna Jane Mitchell,2013. PHP Web Services : O'Reilly
5. Komponen Penilaian
Evaluasi Pertemuan Pelaksanaan Nilai
1 Akhir pertemuan 3 Online 20
2 / UTS Pertemuan 8 Ruang Lab 20
3 Akhir Pertemuan 11 Online 30
4 / UAS Akhir Pertemuan 14 Ruang Lab 30
Total Nilai 100
6. Kriteria Penilaian
Rentang nilai sebagai berikut :
TINGKAT PENGUASAAN NILAI Predikat
80-100 A Istimewa
71-79 B Baik
55-70 C Cukup
54-40 D Kurang
0-39 E Sangat Kurang
Wahyu Widodo, S.Kom.,M.Kom - Web Service 4
7. Komposisi Materi
PERTEMUAN TOPIK MEMBAHAS KOMPETENSI
1 Pengantar Pemrograman Web Service a. Pengenalan Web Service
b. Perbedaan Web Service dengan Web
Aplikasi
c. Teknologi pada Web Service
d. Arsitektural Web Service
Mahasiswa :
a. Mampu menjelaskan perbedaan antara web
service dengan web aplikasi
b. Memahami arsitektural web service dan cara
kerjanya
c. Memahami teknologi yang digunakan pada web
service.
d. Mampu menjelaskan kegunaan web service.
2 Protokol Pertukaran Data a. Alur pertukaran data client server
b. Teknik request data dengan CURL
c. Teknik Monitoring Request Data
Mahasiswa :
a. Mampu mengerti arsitektural dan alur
pertukaran data.
b. Dapat mempraktikkan teknik request data
dengan CURL.
c. Dapat menggunakan teknik inspect element
untuk monitoring pertukaran data.3 Variabel HTTP a. Membuat request data
menggunakan GET
b. Membuat request data
menggunakan POST
c. Teknik kostum request
Mahasiswa :
a.Mampu menerapkan request data menggunakan
GET.
b. Mampu menerapkan request data
menggunakan POST.
c.Mampu mempraktikkan teknik kostum request.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 5
4 Headers a. Teknik request dan respon headers
b. Perintah pada HTTP Headers
c. Kostum informasi data pada headers
Mahasiswa :
a.Mampu memahami konsep request dan respon
data pada headers.
b. Mampu mengimplementasikan perintah-
perintah pada HTTP Headers.
c.Mampu mempraktikkan kostum informasi pada
headers5 Cookies a. Pengenalan Cookies
b. Cara kerja cookies
c. Penggunaan cookies saat request
data
Mahasiswa :
a.Memahami kegunaan cookies
b. Mampu menjelaskan mekanisme kerja xcookies
c. Mampu mempraktikan cookies saat request
xdata
6 JSON a. Pengenalan JSON
b. Penanganan data JSON dengan PHP
c. Implementasi JSON pada APIs
Mahasiswa :
a.Memahami konsep JSON dan kegunaannya
b. Mampu membuat pengolahan data
menggunakan JSON
c.Mampu mengimplementasikan JSON pada APIs
7 Pengenalan XML a. Pengenalan XML
b. Memahami struktur bahasa XML
c. Penerapan XML pada APIs
Mahasiswa :
a. Mampu menjelaskan tentang XML.
b. Mengetahui bagaimana XML bekerja
c. Mengerti bagaimana cara menggunakan XML
d. Mengerti kegunaan XML
Ujian Tengah Semester
Wahyu Widodo, S.Kom.,M.Kom - Web Service 6
8 RPC dan SOAP Service a. Mengenal Remote Procedure Call
(RPC) service
b. Mengenal SOAP service
Mahasiswa :
a. Mampu memahami perbedaan RPC dan SOAP
Service
b.Mampu membuat fungsional RPC
c.Mampu membuat generate WSDL file
9 Pengenalan REST a. Definisi RESTful dan kegunaannya.
b. Data dan Tipe Media
c. Fitur HTTP pada REST
d. Software pendukung dan Framework
REST
Mahasiswa :
a. Memahami kegunaan RESTful
b.Memahami jenis data dan tipe media
c.Mampu membuat script sederhana RESTful
10 Desain REST berorientasi Service a. Pengenalan arsitektural desain
berorientasi service
b. Membuat pustaka sistem API
c. Membuat implementasi sistem
Mahasiswa :
a. Memahami desain REST berorientasi service.
b. Bisa membuat pustaka sistem
c. Bisa membuat arsitektural API berorientasi
service
11 Desain REST berorientasi Client a. Pengenalan arsitektural desain
berorientasi client
b. Membuat desain resource API
c. Membuat implemetasi sistem
Mahasiswa :
a.Memahami desain REST berorientasi client.
b. Bisa membuat pustaka sistem
c. Bisa membuat arsitektural API berorientasi client
12 Teknik debugging pada web service a. Melacak pesan kesalaahan
b. Kesalahan pada XML
c. Kesalahan saat parsing XML
Mahasiswa :
a. Mampu melacak membuat log messaging untuk
menampung log data error
b. Dapat melacak kesalahan yang terjadi berdasarkan
keterangan pada log error
Wahyu Widodo, S.Kom.,M.Kom - Web Service 7
13 Dokumentasi API a. Pengenalan dokumentasi
b. Kegunaan dokumentasi API
c. Membuat dokumentasi API
Mahasiswa :
a. Memahami kegunaan dokumentasi API
b. Dapat membuat dokumentasi API.
14 Studi kasus membuat web service
sederhana
Praktik membuat web service Mahasiswa :
Dapat mengembangkan aplikasi web service dari soal
studi kasus
16 Ujian Akhir Semester
Wahyu Widodo, S.Kom.,M.Kom - Web Service 8
8. Software - software
Software : Wamp (Apache), XAMPP, SOAP UI
Data Storage : MySql, XML, JSON
Editor : Notepad ++ atau yang lainnya (sesuai selera)
Wahyu Widodo, S.Kom.,M.Kom - Web Service 9
Bab 1
Pengantar Web Service
Membahas :
 Pengenalan Web Service
 Perbedaan Web Service dengan Web Aplikasi
 Teknologi pada Web Service
 Arsitektural Web Service
Kompetensi Mahasiswa:
 Mampu menjelaskan perbedaan antara web service dengan web
aplikasi
 Memahami arsitektural web service dan cara kerjanya
 Memahami teknologi yang digunakan pada web service.
 Mampu menjelaskan kegunaan web service.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 10
1. Definisi Web Service
Web Service adalah Sebuah aplikasi lintas platform yang dapat diakses melalui
jaringan (intranet dan internet ) dimana dalam aplikasi tersebut menyediakan
berbagai fungsi dengan tujuan digunakan untuk interaksi aplikasi satu dengan
aplikasi yang lain.
Web service dapat diartikan juga sebuah metode pertukaran data, tanpa
memperhatikan dimana sebuah database ditanamkan, dibuat dalam bahasa apa,
sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu
dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web
service mampu menjadi sebuah jembatan penghubung antara berbagai sistem
yang ada.
Menurut W3C Web services Architecture Working Group pengertian Web service
adalah sebuah sistem software yang di desain untuk mendukung interoperabilitas
interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb service
dideskripsikan dengan menggunakan format yang mampu diproses oleh mesin
(khususnya WSDL). Sistem lain yang akan berinteraksi dengan web service
hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan XML
sehingga mempunyai korelasi dengan standar Web (Web Services Architecture
Working Group, 2004).
Web pada umumnya digunakan untuk melakukan respon dan request yang
dilakukan antara client dan server. Sebagai contoh, seorang pengguna layanan
web tertentu mengetikan alamat url web untuk membentuk sebuah request.
Request akan sampai pada server, diolah dan kemudian disajikan dalam bentuk
sebuah respon. Dengan singkat kata terjadilah hubungan client-server secara
sederhana. Sedangkan pada web service hubungan antara client dan server
tidak terjadi secara langsung. Hubungan antara client dan server dijembatani
oleh file web service dalam format tertentu. Sehingga akses terhadap database
akan ditanggani tidak secara langsung oleh server, melainkan melalui perantara
yang disebut sebagai web service. Peran dari web service ini akan
Wahyu Widodo, S.Kom.,M.Kom - Web Service 11
mempermudah distribusi sekaligus integrasi database yang tersebar di beberapa
server sekaligus.
2. Perbedaan Web Service dengan Web Aplikasi
Sekilas bagi beberapa orang pertanyaan tersebut akan dimunculkan ketika
pertama kali kita mendengar istilah web service. Dari pertanyaan ini jawabannya
adalah dua hal tersebut memang berbeda adanya. Jika dilihat dari segi tampilan,
website berisi desain dan tampilan yang menarik, sedang web service tidak
memiliki tampilan yang bagus. Gambar, video, suara, animasi dapat dilihat
tampilannya dalam sebuah website, sedangkan di dalam web service hal-hal
tersebut tidak akan dijumpai.
Penerapan Web service memungkinkan terjadinya interoperabilitas dimana
beberapa aplikasi yang berbeda bahasa pemrograman dan platform sistem
operasi saling berkomunikasi dan bertukar informasi. Web service dapat
digunakan untuk beragam aplikasi dan keperluan.
Jika diartikan sepintas lalu web service berarti layanan web. Apa layanan yang
diberikan oleh web tersebut? Di dalam sebuah web service terdapat sekumpulan
fungsi atau prosedur (dalam paradigma pemrograman prosedural), atau
sekumpulan method (dalam paradigma pemrograman berorientasi objek).
Fungsi/method tersebut dapat anda panggil melalui apalikasi apapun yang anda
kembangkan. Lihat table berikut ini :
Wahyu Widodo, S.Kom.,M.Kom - Web Service 12
Table 1 Perbedaan Web Service dengan Web Aplikasi
Aspek Web Service Web Aplikasi
Tampilan (interface) Ga ada Ada
Interaksi Aplikasi dengan aplikasi Aplikasi dengan user
Visualisasi Berjalan discript aplikasi Ditampilkan dibrowser
3. Teknologi Pendukung Web Service
Dalam pengoperasiannya, Web Service menerapkan empat komponen/teknologi
yang mendukung kinerjanya. Empat komponen tersebut adalah
a. Service Publication and Discovery (UDDI),
Universal Description, Discovery and Integration (UDDI) adalah suatu
directory service yang digunakan untuk meregistrasikan dan mencari Web
Service.
b. Service Description (WSDL),
Web Service Description Language (WSDL) adalah sebuah dokumen
dalam format XML yang isinya menjelaskan informasi detail sebuah Web
Service. Di dalam WSDL dijelaskan method-method yang tersedia dalam
web service, parameter apa saja yang diperlukan untuk memanggil sebuah
method, dan hasil atau tipe data yang dikembalikan oleh method yang
dipanggil.
c. Simple Object Access Protocol (SOAP),
Protokol ini mendukung proses pengkodean data (biasanya XML) dan
transfernya melalui HTTP (Hyper Text Transfer Protocol). Dalam konteks
Web Service, SOAP adalah suatu bahasa versi bebas dari protocol RPC
(Remote Procedure Call) yang berguna untuk proses transaksi melalui
HTTP standar. SOAP membuat klien Web Service dapat memilih beberapa
parameter mengenai permintaannya dan memberikannya kepada
penyedia. Ketika penyedia menanggapi permintaan tersebut, maka
terjadilah Web Service.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 13
d. Common Internet Protocols (HTTP, TCP/IP).
Dalam hal ini, HTTP maupun TCP/IP berperan sebagai common internet
protocol yang berfungsi sebagai transport layer.
4. Arsitektur Web Service
Gambar 1 Arsitektur Web Service
Pada gambar 1, Web service sendiri dibentuk dari :
a. Service provider/broker, merupakan pemilik Web Service yang berfungsi
menyediakan kumpulan operasi dari Web Service.
b. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari Web
Service yang mencari dan memulai interaksi terhadap layanan yang
disediakan.
c. Service registry, merupakan tempat dimana Service provider
mempublikasikan layanannya. Pada arsitektur Web Service, Service registry
bersifat optional. Teknologi web service memungkinkan kita dapat
menghubungkan berbagai jenis software yang memiliki platform dan sistem
operasi yang berbeda.
5. Keuntungan Menggunakan Web Service
a. Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat
lunak yang berjalan pada platform yang berbeda.
b. Web Service menggunakan standard dan protocol yang bersifat terbuka.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 14
c. Web service mengijinkan penggunaan kembali service dan komponen
didalam suatu infrastruktur.
d. Web service dapat secara bebas digunakan (loosely coupled) dengan
demikian memudahkan suatu pendekatan terdistribusi ke peintegrasian
aplikasi.
6. Contoh Penggunaan Web Service
a. Konversi mata uang
Contoh link urlnya :
http://www.webservicex.com/CurrencyConvertor.asmx?wsdl
b. Integrasi bank virtual (paypal, stripe, ipaymu).
c. Aplikasi booking hotel, aplikasi booking pesawat
Wahyu Widodo, S.Kom.,M.Kom - Web Service 15
Bab 2
Protokol Pertukaran Data
Membahas:
 Alur pertukaran data client server
 Teknik request data dengan CURL
 Teknik Monitoring Request Data
Kompetensi Mahasiswa :
 Mampu mengerti arsitektural dan alur pertukaran data.
 Dapat mempraktikkan teknik request data dengan CURL.
 Dapat menggunakan teknik inspect element untuk monitoring
pertukaran data.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 16
Mengenal Identitas HTTP
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan
terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik
komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau
kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan
koneksi perangkat keras.
HTTP (Hypertext Transfer Protocol) suatu protokol yang digunakan oleh WWW
(World Wide Web). HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan
dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus
dilakukan oleh web server dan juga web browser sebagai respon atas perintah-
perintah yang ada pada protokol HTTP ini.
Contohnya bila kita mengetikkan suatu alamat atau URL pada internet browser
maka web browser akan mengirimkan perintah HTTP ke web server. Web server
kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan
perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali
ke web browser untuk ditampilkan kepada kita.
Gambar 2 Cara Kerja HTTP Request dan HTTP Response
Yang dapat kita tarik dari gambar di atas:
1. Web Server yang berhadapan langsung dengan pengguna, menerima HTTP
Request dan mengembalikan HTTP Response.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 17
2. Untuk konten statis seperti CSS, Javascript, gambar, maupun HTML web
server dapat langsung menyajikannya sebagai HTTP Response kepada
pengguna.
3. Konten dinamis seperti program PHP maupun Perl disajikan melalui CGI.
4. CGI Script kemudian menghasilkan HTML atau konten statis lainnya yang
akan disajikan sebagai HTTP Response kepada pengguna.
Meskipun terdapat banyak pengembangan selanjutnya dari CGI, ilustrasi
sederhana di atas merupakan konsep inti ketika awal pengembangan CGI.
Umumnya aplikasi web dengan CGI memiliki kelemahan di mana
menjalankan script CGI mengharuskan web server untuk membuat sebuah
proses baru. Pembuatan proses baru biasanya akan menggunakan banyak
waktu dan memori dibandingkan dengan eksekusi script, dan karena setiap
pengguna yang terkoneksi akan mengakibatkan hal ini terhadap serverperforma
aplikasi akan menjadi kurang baik.
CGI sendiri menyediakan solusi untuk hal tersebut, misalnya FastCGI yang
menjalankan aplikasi sebagai bagian dari web server. Bahasa lain juga
menyediakan alternatif dari CGI, misalnya Java yang memiliki Servlet. Servlet
pada Java merupakan sebuah program yang menambahkan fitur
dari server secara langsung. Jadi pada pemrograman dengan Servlet, kita akan
memiliki satu web server di dalam program kita, dan pada web server tersebut
akan ditambahkan fitur-fitur spesifik aplikasi web kita.
(https://bertzzie.com/knowledge/serverside-nodejs/RequestDanResponse.html).
Bagian-Bagian HTTP Request
Request adalah permintaan dari client yaitu web browser seperti Firefox, Chrome dll
ke server seperti web server. Jika Anda menggunakan Alat Pengembang Chrome,
atau Firefox dengan ekstensi terinstal Firebug, klik pada panel Net, dan atur ke
enabled. Anda kemudian akan memiliki kemampuan untuk melihat rincian
permintaan HTTP saat Anda menjelajah. Contoh :
Wahyu Widodo, S.Kom.,M.Kom - Web Service 18
Gambar 3 Contoh Request Header dilihat dari Firebug
Stuktur dan method request
 Get : Bagian method untuk menandakan jenis request yang digunakan..
 Path : merupakan bagian dari URL yang diambil setelah nama domain
 Host : berisi host dan port yang digunakan pada original URL
 Accept : berisi informasi MIME atau tipe yang akan dikenali oleh browser
 Accept-Encoding : berisi informasi encoding yang dikenali oleh browser
 Connection : memberitahu ke server apakah client dapat menghandle HTTP
connections
 Cookie : mengirimkan kembali cookie ke server
HTTP Response
Setelah browser mengirimkan request, server kemudian akan membalasnya dengan
sebuah HTTP respons. Bagian pertama dari response adalah versi protokol. Format
dan arti versi protokol sama dengan yang ditemukan pada pesan request.
Bagian berikutnya dari response, yaitu 200 OK berisi kode status dari informasi
yang diminta oleh pesan request. Jika method memberikan informasi apa yang
Wahyu Widodo, S.Kom.,M.Kom - Web Service 19
harus dilakukan, maka bagian ini memberikan informasi apa yang terjadi setelah
operasi dilakukan. Kode status terdiri dari dua bagian:
Bagian pertama berupa kode angka (status-code; 200 pada contoh). Dibuat agar
kode status mudah diproses oleh komputer.
Bagian kedua berupa teks penjelasan (reason-phrase; OK pada contoh gambar 4).
Dibuat agar mudah dimengerti oleh manusia (pengguna sistem).
Gambar 4 Contoh HTTP Response
Kode status dibagi ke dalam beberapa kateogri, yang dapat dilihat pada tabel
berikut:
Keseluruhan Kode Kode yang Terdefinisi Kategori
100 - 199 100 - 101 Informasional
200 - 299 200 - 206 Sukses
300 - 399 300 - 305 Redirection
400 - 499 400 - 415 Kesalahan Client
500 - 599 500 - 505 Kesalahan Server
Pengenalan CURL
Curl merupakan sebuah library yang di gunakan untuk berkomunikasi dan
melakukan HTTP request tanpa campur tangan dari sisi user atau sisi client.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 20
Langkah-langkah Penggunaan CURL :
 Inisialisasi Curl
 Tentukan halaman web yang akan diload
 Pindai dan cetak kembali dokumen
 Tutup Curl
Fungsi Curl yang secara umum digunakan dalam bahasa pemrograman php :
Kegunaan fungsi tersebut adalah :
 curl_init : digunakan untuk menginisialisasi curl
 curl_setopt : digunakan untuk memberi opsi yang akan digunakan untuk
mengeksekusi sebuah curl
 curl_exec : digunakan untuk mengeksekusi curl
 curl_close : digunakan untuk menutup curl
Buat file dengan nama test_curl.php simpan pada local server anda, kemudian ketik
kode berikut ini :
Buka browser Anda, ketik http://localhost/test_curl.php
Dari hasil di atas, file test.php tersebut akan menangkap seluruh konten yang
terdapat pada halaman http://www.php.net, ibaratnya kita mengakses sebuah
halaman pada website tanpa membuka halaman tersebut, semua di lakukan dari sisi
server .
Wahyu Widodo, S.Kom.,M.Kom - Web Service 21
Bab 3
Headers
Membahas:
 Teknik request dan respon headers
 Perintah pada HTTP Headers
 Kostum informasi data pada headers
 Teknik kostum request
Kompetensi Mahasiswa :
 Mampu memahami konsep request dan respon data pada
headers.
 Mampu mengimplementasikan perintah-perintah pada HTTP
Headers.
 Mampu mempraktikkan kostum informasi pada headers.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 22
Contoh Request Header
 Method request yang digunakan (misal : GET)
 Accept : merupakan jenis batasan data yang boleh dikirim melakukan
request.
 User-Agent : browser yang anda gunakan.
Contoh Response Header
 Status Response : Nasib berhasil tidaknya permintaan. 200 OK (berhasil)
 Accept-Type : batasan data yang diterima Anda setelah berhasil request.
 Cookies : jika dibutuhkan untuk create cookies (opsional)
 Authorization : jika dibutuhkan otoritas untuk mengakses (opsional).
Wahyu Widodo, S.Kom.,M.Kom - Web Service 23
Mengenal User Agent
User Agent adalah script yang dikirimkan oleh web browser ke web server yang kita
tuju, atau ke setiap situs yang kita kunjungi, jadi setiap situs yang kita kunjungi dapat
mengetahui browser dan sistem operasi yang kita gunakan sehingga konten dapat
disesuaikan dengan jenis sistem operasi kita.
Gambar 5 Ilustrasi User Agent
User Agent tidak mengirimkan seluruh informasi yang kita punya, user agent hanya
mengirimkan beberapa informasi seperti arsitektur prosesor komputer kita, sistem
operasi yang kita gunakan, dan beberapa informasi tentang browser yang kita
gunakan seperti engine browser, engine browser version dan nama browser (lihat
gambar 6).
Wahyu Widodo, S.Kom.,M.Kom - Web Service 24
Gambar 6 Melihat User Agent Dengan Browser Chroome
User Agent bersifat one way information jadi jangan takut dengan adanya user agent
sistem kita dapat di akses orang lain tanpa izin, jadi user agent aman digunakan
bahkan sangat penting adanya. user agent pun dapat dirubah sesuai dengan
kebutuhan kita sendiri dengan maksud untuk mendapat konten yang berjalan baik
dari sebuah web server. untuk blogger mengganti user agent biasa digunakan untuk
melihat tampilan blognya di beberapa sistem operasi dan browser.
Buat script berikut untuk menampilkan user agent dengan php :
Jalankan melalui browser :
Wahyu Widodo, S.Kom.,M.Kom - Web Service 25
Membuat Batasan Data Request yang dikirim ke Server
Secara default, jika data yang bisa dikirim :
This request made by:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8.
dihasilkan dari perintah :
Tapi kita juga bisa menentukan sendiri, misalnya boleh mengirim ke server hanya
dengan format json. Memodifikasi bagian header dengan menggunakan
CURLOPT_HTTPHEADER, dapat memodifikasi Accept dan Accept-Type.
Contoh :
Pada contoh diatas, format yang akan dikirim hanya bertipe JSON.
HTTP Basic Authentication
Headers menyediakan informasi untuk mengijinkan aplikasi mengidentifikasi si
pengguna yang melakukan request. Caranya dengan mengirimkan teks Base64
Wahyu Widodo, S.Kom.,M.Kom - Web Service 26
encoded username dan password pada HTTP header Authorization. Username dan
password tersebut selalu dikirimkan untuk setiap HTTP request untuk proses
authorization. Contoh :
Studi Kasus Akses API Midtrans
 Belum punya akun? Silahkan registrasi dulu https://www.midtrans.com/
 Jika sudah, silahkan login. Anda akan mendapat tampilan dashboard.
https://dashboard.midtrans.com/
 Silahkan switch Environment dari production ke sanbox . (sanbox= simulasi,
production = beneran) Lihat Gambar 7
Gambar 7 Dashboard Akun Midtrans
 Buka dokumentasinya :
- versi online : http://api-docs.midtrans.com
- versi pdf dapat diunduh di : https://snap-docs.midtrans.com/docs-en.pdf
Wahyu Widodo, S.Kom.,M.Kom - Web Service 27
 Lihat pada bagian Register Card Status Method
 Gunakan data parameter yang akan dikirim berikut ini :
- card_number : 4111111111111111
- card_exp_month : 09
- card_exp_year : 2019
- client_key : lihat punyamu (buka dashboard, klik setting, klik access key)
lihat Gambar 8
Gambar 8 Cara Melihat Client Key
 Buka SOAP UI, Klik create new Rest, Masukkan URI (Lihat gambar 9)
https://api.sandbox.midtrans.com/v2/card/register
 Pastikan request methodnya GET, masukkan 4 parameter name dan
valuenya, dengan menekan simbol + warna hijau
Gambar 9 Icon Untuk Memasukkan URL Api
 Jika ke 4 parameter udah dimasukkan semua, klik tombol segitiga hijau untuk
menjalankannya (lihat Gambar 10).
Wahyu Widodo, S.Kom.,M.Kom - Web Service 28
Gambar 10 Kilk Tombol Hijau
 Cocokkan dengan Register Card Response di dokumentasi. Sudah sesuai
harapan apa belum?
http://api-docs.midtrans.com/#register-card
 Setelah sukses ditest dengan SOAP UI, saatnya pakephp script, tulis function
dibawah ini :
 Parameter server_key dan client_key sesuaikan dengan punya Anda.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 29
 Bila sukses maka akan tampil berikut ini :
Tugas 1
 Buat script untuk input data transaction dengan menggunakan method POST
dengan model pembayaran credit card.
 Urutan yang diinputkan adalah
- data transaction detail
- data credit card
- data item details
- data customer detail
 Lihat parameter yang dikirim disini :
 http://api-docs.midtrans.com/#credit-card
Wahyu Widodo, S.Kom.,M.Kom - Web Service 30
Bab 5
Cookies
Membahas:
 Pengenalan Cookies
 Cara kerja cookies
 Penggunaan cookies saat request data
Kompetensi Mahasiswa :
 Memahami kegunaan cookies.
 Mampu menjelaskan mekanisme kerja cookies.
 Mampu mempraktikan cookies saat request data.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 31
Definisi Cookie
Cookies adalah sebuah file teks yang berisi data tertentu yang disimpan
oleh browser.Data pada cookie ini dikelompokkan berdasarkan domain,
sehingga ketika browser mengakses domain tertentu (misal: www.example.com),
maka hanya data cookie yang terkait domain tersebut yang dikirim.
Cara kerja cookie
Cara kerja cookie dapat dimisalkan sebagai berikut:
Pertama-tama, browser meminta webserver (misal pada www.example.com) untuk
memberikan data halaman tertentu, ketika mengirim data, webserver
memerintahkan browser untuk menyimpan data ke file cookie.
Selanjutnya, ketika browser kembali mengakses website tersebut, browser akan
sekaligus mengirim data cookie yang disimpan tadi.
Data cookie tersebut digunakan oleh webserver untuk berbagai keperluan, termasuk
menerapkan setting tertentu pada data yang akan dikirim kembali ke browser.
Misal:
 User A dengan browser Firefox mengunjungi website www.example.com
kemudian mengakses menu setting dan menerapkan tema biru dan
bahasa antar muka Bahasa Inggris.
 Di belahan negara lain, user B dengan browser Firefox menerapkan tema
hijau dengan bahasa antar muka Bahasa Indonesia.
Nah agar server www.example.com mengetahui tema dan bahasa yang telah
diterapkan oleh masing-masing user pada masing masing browser,
maka www.example.com memerintahkan browser untuk menyimpan data setting
tersebut.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 32
Selanjutnya ketika browser tersebut kembali mengunjungi www.example.com, data
cookie tersebut ikut dikirim sehingga server tahu tema dan bahasa apa yang akan
diterapkan kepada browser tersebut.
Untuk lebih jelasnya, perhatikan ilustrasi berikut:
Gambar 11 Ilustrasi Cookies
Pada contoh diatas terlihat bahwa server (dalam hal ini www.example.com) dapat
memanfaatkan data cookie hanya pada request ke dua (step ke 3) dan
seterusnya, tidak bisa pada request pertama, karena pada request pertama tersebut,
data cookie sedang dibuat.
Cookie Pada PHP
Nah, setelah kita paham tentang cookie, selanjutnya kita bahas penerapan cookie
pada PHP. Setidaknya ada tiga hal yang akan kita bahas yaitu: membuat, membaca,
dan menghapus data Cookie.
Membuat Cookies Pada PHP
Untuk membuat cookies pada PHP, kita gunakan fungsi setcookie(). Fungsi ini
memiliki enam argumen, yaitu:
1. Nama cookie, yang berisi nama cookie.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 33
2. Nilai cookie, data yang akan disimpan yang merujuk pada nama cookie
(nomor 1)
3. Expire. Kapan cookie akan berakhir. Format waktu berupa Unix timestamp,
yang pada PHP kita buat dengan menggunakan fungsi time().
Jika nilai expire dikosongkan atau bernilai 0, maka data cookie akan
expire/dihapus ketika browser ditutup (ketika session berakhir)
4. Path. Path/Lokasi pada server di mana cookie dapat digunakan. Jika diisi
tanda slash ‘/’, maka cookie dapat digunakan diseluruh bagian website.
Jika diisi nilai tertentu, misal ‘/blog/’, maka cookie hanya dapat digunakan
pada direktori blog dan subdirektorinya, misal: ‘/blog/archive/’ .
Jika nilai dikosongkan, maka lokasi akan merujuk ke direktori dimana cookie di
buat.
5. Domain. subdomain dimana cookie dapat digunakan.
Misal: jika kita isi (jagowebdev.com), maka cookie akan dapat digunakan pada
semua subdomain seperti: blog.jagowebdev.com, themes.jagowebdev.com
w2.www.jagowebdev.com, dll.
Namun, jika kita isi (www.jagowebdev.com) maka subdomain yang tersedia
hanya sebelum www misal: w2.www.jagowebdev.com.
Jika nilainya kosong, maka cookie akan berlaku pada seluruh bagian domain
namun tidak pada subdomainnya.
6. Secure. Default false. Jika true, browser akan mengirim cookie ke
websever hanya jika koneksi berbentuk HTTPS.
7. Httponly. Default false. Cookie hanya dapat diakses hanya melalui protokol
http.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 34
Kita tidak bisa mengosongkan waktu expire, dengan demikian, kita tidak bisa
membuat cookie dengan umur yang tidak terbatas, solusinya, kita buat waktu
expired cookie sangat lama, misal 5 tahun kedepan. Dari ketujuh argumen tersebut,
yang paling sering digunakan adalah empat pertama. Khusus untuk argumen
domain, isinya (jika ada) harus menggunakan dot (.) sehingga jika kita
menuliskan localhost maka akan gagal.
Contoh: kita set cookie dengan nama background-color dengan nilai #4e79a0 dan
cookie dengan nama font-size dengan nilai 15px
Selanjutnya cek apakah cookie ini berhasil disimpan di browser. Caranya, buka
developer tools (tekan F12 – Google Chrome)
Menghitung Waktu Expired
Pada argumen ke tiga, kita menentukan kapan cookie akan berakhir (expired),
karena nilai yang diisikan berupa timestamp, maka cara yang paling mudah untuk
menentukan waktu expire adalah menggunakan hitungan mundur dari detik, menit,
jam, hari, dst…
Wahyu Widodo, S.Kom.,M.Kom - Web Service 35
Contoh kita ingin membuat waktu expire cookie 30 hari kedepan, maka kita
isikan time() + (60 * 60 * 24 * 30) yang artinya:
 time() yang berarti waktu ketika script dieksekusi (dalam unix timestamp).
 60 pertama yang berarti 60 detik (1 menit = 60 detik);
 60 kedua yang berarti 60 menit (1 jam = 60 detik)
 24 yang berarti 24 jam (1 hari = 24 jam)
 30 yang berarti 30 hari
Cara ini jauh lebih mudah dibaca dan di-maintenance daripada kita
menggunakan time() + 2595000
Cara lain yang lebih mudah adalah dengan menggunakan format tanggal relatif
(Relative Date Format) yaitu dengan menggunakan kata-kata day, month, weeks,
year, dsb.
Contoh penggunaan relative date format pada cookie:
Membaca Data Cookie Pada PHP
Untuk membaca data cookie, kita gunakan variabel bawaan PHP $_COOKIE, jika
tidak ada cookie sama sekali maka variabel ini tetap ada namun bernilai kosong.
Untuk mengambil data cookie tertentu, gunakan variabel $_COOKIE dengan index
nama cookie tersebut, misal: untuk nama cookie theme, kita
panggil menggunakan $_COOKIE['theme']
Wahyu Widodo, S.Kom.,M.Kom - Web Service 36
Untuk menampilkan semua data cookie, kita gunakan fungsi print_r(), contoh: echo
'<pre>'; print_r($_COOKIE)
Pada PHP, cookie yang dikirim oleh browser disimpan dalam variabel
global $_COOKIE. Hal ini berarti bahwa kita tidak dapat langsung mengambil nilai
cookie ketika baru saja membuatnya, karena, data tersebut belum dikirim kembali ke
server.
Menghapus Cookie Pada PHP
Untuk menghapus cookie pada PHP, kita cukup memberi nilai kosong pada nama
cookie yang ingin kita hapus datanya. Misal kita ingin hapus data cookie font-size:
setcookie('font-size', '');
Jika pada waktu membuat cookie kita memberikan argumen lain selain nama cookie,
nilai, dan expire, misal path atau domain, maka untuk menghapus data cookie
tersebut, kita juga harus menyertakan argumen tersebut. Misal pada contoh
sebelumnya kita membuat cookie dengan memberikan argumen path '/'.
setcookie('font-size', '14px', time + (60 * 60), '/');
maka untuk menghapusnya, kita juga harus menuliskan argumen tersebut
setcookie('font-size', '', 0, '/');
Sumber : http://jagowebdev.com/cookie-pada-php/
Wahyu Widodo, S.Kom.,M.Kom - Web Service 37
Bab 6
JSON
Membahas:
 Pengenalan JSON
 Penanganan data JSON dengan PHP
 Implementasi JSON pada APIs
Kompetensi Mahasiswa :
 Memahami konsep JSON dan kegunaannya.
 Mampu membuat pengolahan data menggunakan JSON.
 Mampu mengimplementasikan JSON pada APIs.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 38
Berkenalan dengan JSON
JSON (JavaScript Object Notation) 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
Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON
merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun
karena menggunakan gaya bahasa yang umum digunakan oleh programmer
keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena
sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
Keterangan Lebih lanjut bias di baca di : http://www.json.org/json-id.html.
Keunggulan JSON :
 Ukuran lebih kecil dibanding XML, efeknya transfer data lebih cepat dan lebih
hemat resource, terutama bandwidth.
 Format JSON lebih sederhana dibanding XML.
 Library JSON ada disetiap bahasa pemrograman.
Struktur JSON
Kumpulan pasangan nama dan nilai (sering disebut objek) yang dimulai dengan {
dan diakhiri dengan }
Daftar nilai terurutkan (larik/array) yang dimulai dengan [ dan diakhiri dengan ]
Wahyu Widodo, S.Kom.,M.Kom - Web Service 39
Contoh JSON :
Penanganan JSON dalam PHP
Terdapat 2 fungsi JSON :
 json_encode : merubah array ke dalam format json
 json_decode : merubah json ke dalam format array
Buat file latihanjson1.php simpan pada local server Anda, ketik kode dibawah ini :
Jalankan via browser http://localhost/latihanjson1.php
Wahyu Widodo, S.Kom.,M.Kom - Web Service 40
Buat file latihanjson2.php simpan pada local server Anda, ketik kode dibawah ini :
Jalankan via browser http://localhost/latihanjson2.php
Membuat File JSON
Buat file createjson.php simpan pada folder local server Anda, ketik kode dibawah ini
Test script anda dengan menggunakan browser :
http://localhost/webservice/createjson.php
Wahyu Widodo, S.Kom.,M.Kom - Web Service 41
Bab 7
XML
Membahas:
 Pengenalan XML
 Memahami struktur bahasa XML
 Penerapan XML pada APIs
Kompetensi Mahasiswa :
 Mampu menjelaskan tentang XML.
 Mengetahui bagaimana XML bekerja.
 Mengerti bagaimana cara menggunakan XML
Wahyu Widodo, S.Kom.,M.Kom - Web Service 42
Pengenalan XML
XML (eXtensible Markup Language) adalah format umum yang digunakan untuk
membuat bahasa markup baru. XML mendefinisikan seperangkat aturan untuk
dokumen yang dikodekan secara elektronik. Bahasa markup digunakan untuk
memisahkan konten dari struktur dokumen elektronik dengan jelas.
Keuntungan XML :
 Tag tidak terbatas dan memungkinkan banyak fleksibilitas.
 Dengan XML Anda pada dasarnya menulis bahasa markup Anda sendiri yang
memungkinkan Anda membuat bahasa sesuai dengan tugas tertentu.
 Sehubungan dengan HTML, XML mendukung pemisahan GUI dari data /
konten dengan menggunakan style sheet khusus.
Kekurangan XML :
 XML tidak memiliki sistem untuk pemrosesan aplikasi sehingga dokumen
XML harus dikonversi, ke HTML misalnya.
 Fleksibilitas yang diberikannya juga bisa menjadi kerugian karena ada
ketidaksepakatan di antara tag atau objek dan ini bisa menambahkan kendala
yang menyulitkan pembuatan file.
 Isu terkait bisa muncul jika sebuah organziasi memiliki ratusan fungsi untuk
satu set dokumen yang perlu dijelaskan dengan tag.
 Terlalu banyak tag untuk struktur dokumen tunggal dapat mengganggu
kemampuan XML untuk memproses informasi.
Wahyu Widodo, S.Kom.,M.Kom - Web Service 43
Membuat Dokumen XML dengan PHP dan MySQL
 Buat table anggota dengan script berikut :
 Masukkan data berikut ini :
 Buat file create_xml.php untuk, men-generate dokumen xml dari record yang
ada di table tb_anggota.
 Melalui browser, ketik : http://localhost/create_xml.php
CREATE TABLE IF NOT EXISTS `tb_anggota` (
`anggota_id` int(5) NOT NULL AUTO_INCREMENT,
`nama` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`alamat` varchar(50) NOT NULL,
`umur` int(2) NOT NULL,
PRIMARY KEY (`anggota_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
INSERT INTO `tb_anggota` (`nama`, `email`, `alamat`, `umur`) VALUES
('Wayan', 'wayan@email.com', 'Badung', 21),
('Made', 'made@email.com', 'Gianyar', 19),
('Nyoman', 'nyoman@email.com', 'Klungkung', 30),
('Ketut', 'ketut@email.com', 'Tabanan', 23),
('Gede', 'gede@email.com', 'Karangasem', 27);

More Related Content

What's hot

Tugas laporan project aplikasi website
Tugas laporan project aplikasi websiteTugas laporan project aplikasi website
Tugas laporan project aplikasi websiteGilang Ramadhan
 
MAKALAH VISUAL STUDIO 2010.docx
MAKALAH VISUAL STUDIO 2010.docxMAKALAH VISUAL STUDIO 2010.docx
MAKALAH VISUAL STUDIO 2010.docxhakimJabbar
 
Mengapa kita memerlukan basis data
Mengapa kita memerlukan basis dataMengapa kita memerlukan basis data
Mengapa kita memerlukan basis dataAhmad Saktia Yunus
 
Studi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikStudi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikKania Amalia
 
Analisis perancangan sistem informasi
Analisis perancangan sistem informasiAnalisis perancangan sistem informasi
Analisis perancangan sistem informasiAinur Rofiq
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat LunakMrirfan
 
Jenis-Jenis E Commerce & Contohnya
Jenis-Jenis E Commerce & ContohnyaJenis-Jenis E Commerce & Contohnya
Jenis-Jenis E Commerce & ContohnyaProgressTech
 
Proposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking BarangProposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking BarangGhifaroza Rahmadiana
 
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...naufals11
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modulDenny Safardan
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasiIKHSAN MAHRURI
 
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docx
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docxKERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docx
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docxHermantoHermanto34
 
Presentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommercePresentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommerceShofura Kamal
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxIbrahim Naki
 

What's hot (20)

Tugas laporan project aplikasi website
Tugas laporan project aplikasi websiteTugas laporan project aplikasi website
Tugas laporan project aplikasi website
 
MAKALAH VISUAL STUDIO 2010.docx
MAKALAH VISUAL STUDIO 2010.docxMAKALAH VISUAL STUDIO 2010.docx
MAKALAH VISUAL STUDIO 2010.docx
 
Mengapa kita memerlukan basis data
Mengapa kita memerlukan basis dataMengapa kita memerlukan basis data
Mengapa kita memerlukan basis data
 
Studi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademikStudi kelayakan sistem informasi akademik
Studi kelayakan sistem informasi akademik
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Analisis perancangan sistem informasi
Analisis perancangan sistem informasiAnalisis perancangan sistem informasi
Analisis perancangan sistem informasi
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat Lunak
 
Jenis-Jenis E Commerce & Contohnya
Jenis-Jenis E Commerce & ContohnyaJenis-Jenis E Commerce & Contohnya
Jenis-Jenis E Commerce & Contohnya
 
Proposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking BarangProposal Penawaran Pembangunan Aplikasi Tracking Barang
Proposal Penawaran Pembangunan Aplikasi Tracking Barang
 
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
Contoh Perubahan Proses Bisnis/Sosial Akibat Teknologi Yang "Melunturkan" Nil...
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
basis data lanjut modul
 basis data lanjut modul basis data lanjut modul
basis data lanjut modul
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasi
 
Normalisasi slip gaji
Normalisasi slip gajiNormalisasi slip gaji
Normalisasi slip gaji
 
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docx
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docxKERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docx
KERANGKA DASAR-DASAR TEKNIK JARINGAN KOMPUTER DAN TELEKOMUNIKASI.docx
 
Proposal E Learning
Proposal E LearningProposal E Learning
Proposal E Learning
 
Presentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-CommercePresentasi Pembuatan Website E-Commerce
Presentasi Pembuatan Website E-Commerce
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi Linux
 
Tugas RPL SRS Erwan
Tugas RPL SRS ErwanTugas RPL SRS Erwan
Tugas RPL SRS Erwan
 

Similar to Web Service

Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architectureseptiara5
 
Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Toni Eko Saputro
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1gung_sono
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317esti setiasih
 
Web service as back end programming kemuning senja
Web service as back end programming kemuning senjaWeb service as back end programming kemuning senja
Web service as back end programming kemuning senjaalifha12
 
Web services sebagai penyedia layanan
Web services sebagai penyedia layananWeb services sebagai penyedia layanan
Web services sebagai penyedia layananiimpunya3
 
materi 1 WEB.pptx
materi 1 WEB.pptxmateri 1 WEB.pptx
materi 1 WEB.pptxmargotour
 
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3Fenty Hidayati
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa webikasulistiyani
 
Pemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverPemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverarfianti
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniArie Firmandani
 
Presentasi pengantar perkuliahan Semantic Web
Presentasi pengantar perkuliahan Semantic WebPresentasi pengantar perkuliahan Semantic Web
Presentasi pengantar perkuliahan Semantic Webadihartanto7
 
Isman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication FoundationIsman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication FoundationIsman Subarkah
 
Tugas7 rekayasa web Ajat Sudrajat
Tugas7 rekayasa web Ajat SudrajatTugas7 rekayasa web Ajat Sudrajat
Tugas7 rekayasa web Ajat SudrajatAjat Sudrajat
 
Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Lucky AnugerahP
 
Tugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariFebriy Y
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & WebservicesJarot Syahputro
 
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844muhammad ayub
 
Tugas atpi mohamad irfan s (1206247133) erwin r (1206247423)
Tugas atpi  mohamad irfan s (1206247133)  erwin r (1206247423)Tugas atpi  mohamad irfan s (1206247133)  erwin r (1206247423)
Tugas atpi mohamad irfan s (1206247133) erwin r (1206247423)Febriy Y
 

Similar to Web Service (20)

Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architecture
 
Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571Web Service - Toni Eko Saputro 1011511571
Web Service - Toni Eko Saputro 1011511571
 
Modul 12rev1
Modul 12rev1Modul 12rev1
Modul 12rev1
 
Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317Tugas 3 matkul rekayasa web 0317
Tugas 3 matkul rekayasa web 0317
 
Web service as back end programming kemuning senja
Web service as back end programming kemuning senjaWeb service as back end programming kemuning senja
Web service as back end programming kemuning senja
 
Web services sebagai penyedia layanan
Web services sebagai penyedia layananWeb services sebagai penyedia layanan
Web services sebagai penyedia layanan
 
materi 1 WEB.pptx
materi 1 WEB.pptxmateri 1 WEB.pptx
materi 1 WEB.pptx
 
Laporan pemrograman visual3
Laporan pemrograman visual3Laporan pemrograman visual3
Laporan pemrograman visual3
 
Tugas 7 – rekayasa web
Tugas 7 – rekayasa webTugas 7 – rekayasa web
Tugas 7 – rekayasa web
 
Pemrograman basis data internet dan client server
Pemrograman basis data internet dan client serverPemrograman basis data internet dan client server
Pemrograman basis data internet dan client server
 
Tugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandaniTugas i rekayasa web arie firmandani
Tugas i rekayasa web arie firmandani
 
Presentasi pengantar perkuliahan Semantic Web
Presentasi pengantar perkuliahan Semantic WebPresentasi pengantar perkuliahan Semantic Web
Presentasi pengantar perkuliahan Semantic Web
 
Isman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication FoundationIsman Subarkah Windows Communication Foundation
Isman Subarkah Windows Communication Foundation
 
Tugas7 rekayasa web Ajat Sudrajat
Tugas7 rekayasa web Ajat SudrajatTugas7 rekayasa web Ajat Sudrajat
Tugas7 rekayasa web Ajat Sudrajat
 
Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020Tugas pemrograman3 rpc,soap,rest_1100631020
Tugas pemrograman3 rpc,soap,rest_1100631020
 
Frame work php
Frame work phpFrame work php
Frame work php
 
Tugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasariTugas atpi anastasia dita fitria irmalasari
Tugas atpi anastasia dita fitria irmalasari
 
05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices05. Affiliate Marketing & Webservices
05. Affiliate Marketing & Webservices
 
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844
TUGAS7-[KU]- 0316-MUHAMMAD AYUB - 1311510844
 
Tugas atpi mohamad irfan s (1206247133) erwin r (1206247423)
Tugas atpi  mohamad irfan s (1206247133)  erwin r (1206247423)Tugas atpi  mohamad irfan s (1206247133)  erwin r (1206247423)
Tugas atpi mohamad irfan s (1206247133) erwin r (1206247423)
 

More from Wahyu Widodo

Pemrograman Web Dinamis
Pemrograman Web DinamisPemrograman Web Dinamis
Pemrograman Web DinamisWahyu Widodo
 
Praktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanPraktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanWahyu Widodo
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Wahyu Widodo
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman VisualWahyu Widodo
 
Pertemuan1 Konsep Web Desain
Pertemuan1   Konsep Web DesainPertemuan1   Konsep Web Desain
Pertemuan1 Konsep Web DesainWahyu Widodo
 

More from Wahyu Widodo (8)

Web Statis
Web StatisWeb Statis
Web Statis
 
Web Interaktif
Web InteraktifWeb Interaktif
Web Interaktif
 
Pemrograman Web Dinamis
Pemrograman Web DinamisPemrograman Web Dinamis
Pemrograman Web Dinamis
 
Praktikum Algoritma Pemrograman
Praktikum Algoritma PemrogramanPraktikum Algoritma Pemrograman
Praktikum Algoritma Pemrograman
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman Visual
 
Pertemuan1 Konsep Web Desain
Pertemuan1   Konsep Web DesainPertemuan1   Konsep Web Desain
Pertemuan1 Konsep Web Desain
 

Recently uploaded

konsep pidato Bahaya Merokok bagi kesehatan
konsep pidato Bahaya Merokok bagi kesehatankonsep pidato Bahaya Merokok bagi kesehatan
konsep pidato Bahaya Merokok bagi kesehatanSuzanDwiPutra
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Abdiera
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerakputus34
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Laporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxLaporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxJajang Sulaeman
 
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...luqmanhakimkhairudin
 
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOM
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOMSISTEM SARAF OTONOM_.SISTEM SARAF OTONOM
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOMhanyakaryawan1
 
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASBAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASNursKitchen
 
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxKISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxDewiUmbar
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxJawahirIhsan
 
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxAKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxcupulin
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanAyuApriliyanti6
 
Detik-Detik Proklamasi Indonesia pada Tahun 1945
Detik-Detik Proklamasi Indonesia pada Tahun 1945Detik-Detik Proklamasi Indonesia pada Tahun 1945
Detik-Detik Proklamasi Indonesia pada Tahun 1945nrein671
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptpalagoro17
 
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi Trigonometri
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi TrigonometriSudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi Trigonometri
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi TrigonometriFarhanPerdanaRamaden1
 
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfAksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfsubki124
 
Modul 5 Simetri (simetri lipat, simetri putar)
Modul 5 Simetri (simetri lipat, simetri putar)Modul 5 Simetri (simetri lipat, simetri putar)
Modul 5 Simetri (simetri lipat, simetri putar)BashoriAlwi4
 

Recently uploaded (20)

konsep pidato Bahaya Merokok bagi kesehatan
konsep pidato Bahaya Merokok bagi kesehatankonsep pidato Bahaya Merokok bagi kesehatan
konsep pidato Bahaya Merokok bagi kesehatan
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
Skenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru PenggerakSkenario Lokakarya 2 Pendidikan Guru Penggerak
Skenario Lokakarya 2 Pendidikan Guru Penggerak
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Laporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docxLaporan RHK PMM Observasi Target Perilaku.docx
Laporan RHK PMM Observasi Target Perilaku.docx
 
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
Asimilasi Masyarakat Cina Dengan Orang Melayu di Kelantan (Cina Peranakan Kel...
 
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOM
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOMSISTEM SARAF OTONOM_.SISTEM SARAF OTONOM
SISTEM SARAF OTONOM_.SISTEM SARAF OTONOM
 
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMASBAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
BAB 1 BEBATAN DAN BALUTAN DALAM PERTOLONGAN CEMAS
 
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI TARI KELAS 6 KURIKULUM MERDEKA.pdf
 
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docxKISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
KISI-KISI SOAL DAN KARTU SOAL BAHASA INGGRIS.docx
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
 
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptxAKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
AKSI NYATA DISIPLIN POSITIF MEMBUAT KEYAKINAN KELAS_11zon.pptx
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
Detik-Detik Proklamasi Indonesia pada Tahun 1945
Detik-Detik Proklamasi Indonesia pada Tahun 1945Detik-Detik Proklamasi Indonesia pada Tahun 1945
Detik-Detik Proklamasi Indonesia pada Tahun 1945
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI MUSIK KELAS 6 KURIKULUM MERDEKA.pdf
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
 
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi Trigonometri
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi TrigonometriSudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi Trigonometri
Sudut-sudut Berelasi Trigonometri - Sudut-sudut Berelasi Trigonometri
 
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdfAksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
Aksi Nyata Menyebarkan Pemahaman Merdeka Belajar.pdf
 
Modul 5 Simetri (simetri lipat, simetri putar)
Modul 5 Simetri (simetri lipat, simetri putar)Modul 5 Simetri (simetri lipat, simetri putar)
Modul 5 Simetri (simetri lipat, simetri putar)
 

Web Service

  • 1. Wahyu Widodo, S.Kom.,M.Kom - Web Service 1 Web Service Disusun Oleh : Wahyu Widodo,S.Kom.,M.Kom SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER EL RAHMA YOGYAKARTA
  • 2. Wahyu Widodo, S.Kom.,M.Kom - Web Service 2 Kontrak Kuliah 1. Deskripsi Mata Kuliah Mata kuliah Web Service membahas tentang teknologi untuk solusi intregrasi proses dan data. Mahasiswa diajarkan teknik pertukaran data menggunakan beberapa teknik berikut ini : Simple Object Acces Protocol (SOAP), RestFull, Web Service Definition Language (WSDL), dan Universal Description, Discover, and Integration (UDDI). Tujuan akhir yang diharapkan mahasiswa menerapkan teori web service dan mengimplementasikan untuk mentransformasi sebuah bisnis logic dalam ruang lingkup yang terpisah dengan tingkat keamanan data yang dapat ditangani dengan baik. 2. Manfaat Mata Kuliah Mahasiswa mampu : 1. Menjelaskan alur kerja web service. 2. Memahami alur proses bisnis pertukaran data 3. Mampu menggunakan SOAP dan atau RestFull untuk membuat aplikasi web service. 4. Mampu membuat dokumentasi API . 3. Kompetensi Dasar 1. Memahami cara kerja dan kegunaan web service 2. Memahami arsitektural web wervice 3. Memahami teknologi yang terkait dengan web service seperti SOAP, RestFull, WSDL, dan UDDI 4. Mampu membuat web service sederhana 5. Mampu membuat dokumentasi API
  • 3. Wahyu Widodo, S.Kom.,M.Kom - Web Service 3 4. Materi / Bacaan Perkuliahan / Referensi a. James Snell,2001. Programming Web Service with SOAP: O'Reilly. b. Erik T Ray,2001.Learning XML:Oreilly Publisher. c. Ben Smith,2015. Beginning JSON: Apress. d. Leonard R, Sam Ruby,2007. RESTful Web Services:O'Reilly e. Samisa Abey,2008. RESTful PHP Web Service : Packt Publishing f. Lorna Jane Mitchell,2013. PHP Web Services : O'Reilly 5. Komponen Penilaian Evaluasi Pertemuan Pelaksanaan Nilai 1 Akhir pertemuan 3 Online 20 2 / UTS Pertemuan 8 Ruang Lab 20 3 Akhir Pertemuan 11 Online 30 4 / UAS Akhir Pertemuan 14 Ruang Lab 30 Total Nilai 100 6. Kriteria Penilaian Rentang nilai sebagai berikut : TINGKAT PENGUASAAN NILAI Predikat 80-100 A Istimewa 71-79 B Baik 55-70 C Cukup 54-40 D Kurang 0-39 E Sangat Kurang
  • 4. Wahyu Widodo, S.Kom.,M.Kom - Web Service 4 7. Komposisi Materi PERTEMUAN TOPIK MEMBAHAS KOMPETENSI 1 Pengantar Pemrograman Web Service a. Pengenalan Web Service b. Perbedaan Web Service dengan Web Aplikasi c. Teknologi pada Web Service d. Arsitektural Web Service Mahasiswa : a. Mampu menjelaskan perbedaan antara web service dengan web aplikasi b. Memahami arsitektural web service dan cara kerjanya c. Memahami teknologi yang digunakan pada web service. d. Mampu menjelaskan kegunaan web service. 2 Protokol Pertukaran Data a. Alur pertukaran data client server b. Teknik request data dengan CURL c. Teknik Monitoring Request Data Mahasiswa : a. Mampu mengerti arsitektural dan alur pertukaran data. b. Dapat mempraktikkan teknik request data dengan CURL. c. Dapat menggunakan teknik inspect element untuk monitoring pertukaran data.3 Variabel HTTP a. Membuat request data menggunakan GET b. Membuat request data menggunakan POST c. Teknik kostum request Mahasiswa : a.Mampu menerapkan request data menggunakan GET. b. Mampu menerapkan request data menggunakan POST. c.Mampu mempraktikkan teknik kostum request.
  • 5. Wahyu Widodo, S.Kom.,M.Kom - Web Service 5 4 Headers a. Teknik request dan respon headers b. Perintah pada HTTP Headers c. Kostum informasi data pada headers Mahasiswa : a.Mampu memahami konsep request dan respon data pada headers. b. Mampu mengimplementasikan perintah- perintah pada HTTP Headers. c.Mampu mempraktikkan kostum informasi pada headers5 Cookies a. Pengenalan Cookies b. Cara kerja cookies c. Penggunaan cookies saat request data Mahasiswa : a.Memahami kegunaan cookies b. Mampu menjelaskan mekanisme kerja xcookies c. Mampu mempraktikan cookies saat request xdata 6 JSON a. Pengenalan JSON b. Penanganan data JSON dengan PHP c. Implementasi JSON pada APIs Mahasiswa : a.Memahami konsep JSON dan kegunaannya b. Mampu membuat pengolahan data menggunakan JSON c.Mampu mengimplementasikan JSON pada APIs 7 Pengenalan XML a. Pengenalan XML b. Memahami struktur bahasa XML c. Penerapan XML pada APIs Mahasiswa : a. Mampu menjelaskan tentang XML. b. Mengetahui bagaimana XML bekerja c. Mengerti bagaimana cara menggunakan XML d. Mengerti kegunaan XML Ujian Tengah Semester
  • 6. Wahyu Widodo, S.Kom.,M.Kom - Web Service 6 8 RPC dan SOAP Service a. Mengenal Remote Procedure Call (RPC) service b. Mengenal SOAP service Mahasiswa : a. Mampu memahami perbedaan RPC dan SOAP Service b.Mampu membuat fungsional RPC c.Mampu membuat generate WSDL file 9 Pengenalan REST a. Definisi RESTful dan kegunaannya. b. Data dan Tipe Media c. Fitur HTTP pada REST d. Software pendukung dan Framework REST Mahasiswa : a. Memahami kegunaan RESTful b.Memahami jenis data dan tipe media c.Mampu membuat script sederhana RESTful 10 Desain REST berorientasi Service a. Pengenalan arsitektural desain berorientasi service b. Membuat pustaka sistem API c. Membuat implementasi sistem Mahasiswa : a. Memahami desain REST berorientasi service. b. Bisa membuat pustaka sistem c. Bisa membuat arsitektural API berorientasi service 11 Desain REST berorientasi Client a. Pengenalan arsitektural desain berorientasi client b. Membuat desain resource API c. Membuat implemetasi sistem Mahasiswa : a.Memahami desain REST berorientasi client. b. Bisa membuat pustaka sistem c. Bisa membuat arsitektural API berorientasi client 12 Teknik debugging pada web service a. Melacak pesan kesalaahan b. Kesalahan pada XML c. Kesalahan saat parsing XML Mahasiswa : a. Mampu melacak membuat log messaging untuk menampung log data error b. Dapat melacak kesalahan yang terjadi berdasarkan keterangan pada log error
  • 7. Wahyu Widodo, S.Kom.,M.Kom - Web Service 7 13 Dokumentasi API a. Pengenalan dokumentasi b. Kegunaan dokumentasi API c. Membuat dokumentasi API Mahasiswa : a. Memahami kegunaan dokumentasi API b. Dapat membuat dokumentasi API. 14 Studi kasus membuat web service sederhana Praktik membuat web service Mahasiswa : Dapat mengembangkan aplikasi web service dari soal studi kasus 16 Ujian Akhir Semester
  • 8. Wahyu Widodo, S.Kom.,M.Kom - Web Service 8 8. Software - software Software : Wamp (Apache), XAMPP, SOAP UI Data Storage : MySql, XML, JSON Editor : Notepad ++ atau yang lainnya (sesuai selera)
  • 9. Wahyu Widodo, S.Kom.,M.Kom - Web Service 9 Bab 1 Pengantar Web Service Membahas :  Pengenalan Web Service  Perbedaan Web Service dengan Web Aplikasi  Teknologi pada Web Service  Arsitektural Web Service Kompetensi Mahasiswa:  Mampu menjelaskan perbedaan antara web service dengan web aplikasi  Memahami arsitektural web service dan cara kerjanya  Memahami teknologi yang digunakan pada web service.  Mampu menjelaskan kegunaan web service.
  • 10. Wahyu Widodo, S.Kom.,M.Kom - Web Service 10 1. Definisi Web Service Web Service adalah Sebuah aplikasi lintas platform yang dapat diakses melalui jaringan (intranet dan internet ) dimana dalam aplikasi tersebut menyediakan berbagai fungsi dengan tujuan digunakan untuk interaksi aplikasi satu dengan aplikasi yang lain. Web service dapat diartikan juga sebuah metode pertukaran data, tanpa memperhatikan dimana sebuah database ditanamkan, dibuat dalam bahasa apa, sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang ada. Menurut W3C Web services Architecture Working Group pengertian Web service adalah sebuah sistem software yang di desain untuk mendukung interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb service dideskripsikan dengan menggunakan format yang mampu diproses oleh mesin (khususnya WSDL). Sistem lain yang akan berinteraksi dengan web service hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan XML sehingga mempunyai korelasi dengan standar Web (Web Services Architecture Working Group, 2004). Web pada umumnya digunakan untuk melakukan respon dan request yang dilakukan antara client dan server. Sebagai contoh, seorang pengguna layanan web tertentu mengetikan alamat url web untuk membentuk sebuah request. Request akan sampai pada server, diolah dan kemudian disajikan dalam bentuk sebuah respon. Dengan singkat kata terjadilah hubungan client-server secara sederhana. Sedangkan pada web service hubungan antara client dan server tidak terjadi secara langsung. Hubungan antara client dan server dijembatani oleh file web service dalam format tertentu. Sehingga akses terhadap database akan ditanggani tidak secara langsung oleh server, melainkan melalui perantara yang disebut sebagai web service. Peran dari web service ini akan
  • 11. Wahyu Widodo, S.Kom.,M.Kom - Web Service 11 mempermudah distribusi sekaligus integrasi database yang tersebar di beberapa server sekaligus. 2. Perbedaan Web Service dengan Web Aplikasi Sekilas bagi beberapa orang pertanyaan tersebut akan dimunculkan ketika pertama kali kita mendengar istilah web service. Dari pertanyaan ini jawabannya adalah dua hal tersebut memang berbeda adanya. Jika dilihat dari segi tampilan, website berisi desain dan tampilan yang menarik, sedang web service tidak memiliki tampilan yang bagus. Gambar, video, suara, animasi dapat dilihat tampilannya dalam sebuah website, sedangkan di dalam web service hal-hal tersebut tidak akan dijumpai. Penerapan Web service memungkinkan terjadinya interoperabilitas dimana beberapa aplikasi yang berbeda bahasa pemrograman dan platform sistem operasi saling berkomunikasi dan bertukar informasi. Web service dapat digunakan untuk beragam aplikasi dan keperluan. Jika diartikan sepintas lalu web service berarti layanan web. Apa layanan yang diberikan oleh web tersebut? Di dalam sebuah web service terdapat sekumpulan fungsi atau prosedur (dalam paradigma pemrograman prosedural), atau sekumpulan method (dalam paradigma pemrograman berorientasi objek). Fungsi/method tersebut dapat anda panggil melalui apalikasi apapun yang anda kembangkan. Lihat table berikut ini :
  • 12. Wahyu Widodo, S.Kom.,M.Kom - Web Service 12 Table 1 Perbedaan Web Service dengan Web Aplikasi Aspek Web Service Web Aplikasi Tampilan (interface) Ga ada Ada Interaksi Aplikasi dengan aplikasi Aplikasi dengan user Visualisasi Berjalan discript aplikasi Ditampilkan dibrowser 3. Teknologi Pendukung Web Service Dalam pengoperasiannya, Web Service menerapkan empat komponen/teknologi yang mendukung kinerjanya. Empat komponen tersebut adalah a. Service Publication and Discovery (UDDI), Universal Description, Discovery and Integration (UDDI) adalah suatu directory service yang digunakan untuk meregistrasikan dan mencari Web Service. b. Service Description (WSDL), Web Service Description Language (WSDL) adalah sebuah dokumen dalam format XML yang isinya menjelaskan informasi detail sebuah Web Service. Di dalam WSDL dijelaskan method-method yang tersedia dalam web service, parameter apa saja yang diperlukan untuk memanggil sebuah method, dan hasil atau tipe data yang dikembalikan oleh method yang dipanggil. c. Simple Object Access Protocol (SOAP), Protokol ini mendukung proses pengkodean data (biasanya XML) dan transfernya melalui HTTP (Hyper Text Transfer Protocol). Dalam konteks Web Service, SOAP adalah suatu bahasa versi bebas dari protocol RPC (Remote Procedure Call) yang berguna untuk proses transaksi melalui HTTP standar. SOAP membuat klien Web Service dapat memilih beberapa parameter mengenai permintaannya dan memberikannya kepada penyedia. Ketika penyedia menanggapi permintaan tersebut, maka terjadilah Web Service.
  • 13. Wahyu Widodo, S.Kom.,M.Kom - Web Service 13 d. Common Internet Protocols (HTTP, TCP/IP). Dalam hal ini, HTTP maupun TCP/IP berperan sebagai common internet protocol yang berfungsi sebagai transport layer. 4. Arsitektur Web Service Gambar 1 Arsitektur Web Service Pada gambar 1, Web service sendiri dibentuk dari : a. Service provider/broker, merupakan pemilik Web Service yang berfungsi menyediakan kumpulan operasi dari Web Service. b. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari Web Service yang mencari dan memulai interaksi terhadap layanan yang disediakan. c. Service registry, merupakan tempat dimana Service provider mempublikasikan layanannya. Pada arsitektur Web Service, Service registry bersifat optional. Teknologi web service memungkinkan kita dapat menghubungkan berbagai jenis software yang memiliki platform dan sistem operasi yang berbeda. 5. Keuntungan Menggunakan Web Service a. Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang berjalan pada platform yang berbeda. b. Web Service menggunakan standard dan protocol yang bersifat terbuka.
  • 14. Wahyu Widodo, S.Kom.,M.Kom - Web Service 14 c. Web service mengijinkan penggunaan kembali service dan komponen didalam suatu infrastruktur. d. Web service dapat secara bebas digunakan (loosely coupled) dengan demikian memudahkan suatu pendekatan terdistribusi ke peintegrasian aplikasi. 6. Contoh Penggunaan Web Service a. Konversi mata uang Contoh link urlnya : http://www.webservicex.com/CurrencyConvertor.asmx?wsdl b. Integrasi bank virtual (paypal, stripe, ipaymu). c. Aplikasi booking hotel, aplikasi booking pesawat
  • 15. Wahyu Widodo, S.Kom.,M.Kom - Web Service 15 Bab 2 Protokol Pertukaran Data Membahas:  Alur pertukaran data client server  Teknik request data dengan CURL  Teknik Monitoring Request Data Kompetensi Mahasiswa :  Mampu mengerti arsitektural dan alur pertukaran data.  Dapat mempraktikkan teknik request data dengan CURL.  Dapat menggunakan teknik inspect element untuk monitoring pertukaran data.
  • 16. Wahyu Widodo, S.Kom.,M.Kom - Web Service 16 Mengenal Identitas HTTP Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. HTTP (Hypertext Transfer Protocol) suatu protokol yang digunakan oleh WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah- perintah yang ada pada protokol HTTP ini. Contohnya bila kita mengetikkan suatu alamat atau URL pada internet browser maka web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita. Gambar 2 Cara Kerja HTTP Request dan HTTP Response Yang dapat kita tarik dari gambar di atas: 1. Web Server yang berhadapan langsung dengan pengguna, menerima HTTP Request dan mengembalikan HTTP Response.
  • 17. Wahyu Widodo, S.Kom.,M.Kom - Web Service 17 2. Untuk konten statis seperti CSS, Javascript, gambar, maupun HTML web server dapat langsung menyajikannya sebagai HTTP Response kepada pengguna. 3. Konten dinamis seperti program PHP maupun Perl disajikan melalui CGI. 4. CGI Script kemudian menghasilkan HTML atau konten statis lainnya yang akan disajikan sebagai HTTP Response kepada pengguna. Meskipun terdapat banyak pengembangan selanjutnya dari CGI, ilustrasi sederhana di atas merupakan konsep inti ketika awal pengembangan CGI. Umumnya aplikasi web dengan CGI memiliki kelemahan di mana menjalankan script CGI mengharuskan web server untuk membuat sebuah proses baru. Pembuatan proses baru biasanya akan menggunakan banyak waktu dan memori dibandingkan dengan eksekusi script, dan karena setiap pengguna yang terkoneksi akan mengakibatkan hal ini terhadap serverperforma aplikasi akan menjadi kurang baik. CGI sendiri menyediakan solusi untuk hal tersebut, misalnya FastCGI yang menjalankan aplikasi sebagai bagian dari web server. Bahasa lain juga menyediakan alternatif dari CGI, misalnya Java yang memiliki Servlet. Servlet pada Java merupakan sebuah program yang menambahkan fitur dari server secara langsung. Jadi pada pemrograman dengan Servlet, kita akan memiliki satu web server di dalam program kita, dan pada web server tersebut akan ditambahkan fitur-fitur spesifik aplikasi web kita. (https://bertzzie.com/knowledge/serverside-nodejs/RequestDanResponse.html). Bagian-Bagian HTTP Request Request adalah permintaan dari client yaitu web browser seperti Firefox, Chrome dll ke server seperti web server. Jika Anda menggunakan Alat Pengembang Chrome, atau Firefox dengan ekstensi terinstal Firebug, klik pada panel Net, dan atur ke enabled. Anda kemudian akan memiliki kemampuan untuk melihat rincian permintaan HTTP saat Anda menjelajah. Contoh :
  • 18. Wahyu Widodo, S.Kom.,M.Kom - Web Service 18 Gambar 3 Contoh Request Header dilihat dari Firebug Stuktur dan method request  Get : Bagian method untuk menandakan jenis request yang digunakan..  Path : merupakan bagian dari URL yang diambil setelah nama domain  Host : berisi host dan port yang digunakan pada original URL  Accept : berisi informasi MIME atau tipe yang akan dikenali oleh browser  Accept-Encoding : berisi informasi encoding yang dikenali oleh browser  Connection : memberitahu ke server apakah client dapat menghandle HTTP connections  Cookie : mengirimkan kembali cookie ke server HTTP Response Setelah browser mengirimkan request, server kemudian akan membalasnya dengan sebuah HTTP respons. Bagian pertama dari response adalah versi protokol. Format dan arti versi protokol sama dengan yang ditemukan pada pesan request. Bagian berikutnya dari response, yaitu 200 OK berisi kode status dari informasi yang diminta oleh pesan request. Jika method memberikan informasi apa yang
  • 19. Wahyu Widodo, S.Kom.,M.Kom - Web Service 19 harus dilakukan, maka bagian ini memberikan informasi apa yang terjadi setelah operasi dilakukan. Kode status terdiri dari dua bagian: Bagian pertama berupa kode angka (status-code; 200 pada contoh). Dibuat agar kode status mudah diproses oleh komputer. Bagian kedua berupa teks penjelasan (reason-phrase; OK pada contoh gambar 4). Dibuat agar mudah dimengerti oleh manusia (pengguna sistem). Gambar 4 Contoh HTTP Response Kode status dibagi ke dalam beberapa kateogri, yang dapat dilihat pada tabel berikut: Keseluruhan Kode Kode yang Terdefinisi Kategori 100 - 199 100 - 101 Informasional 200 - 299 200 - 206 Sukses 300 - 399 300 - 305 Redirection 400 - 499 400 - 415 Kesalahan Client 500 - 599 500 - 505 Kesalahan Server Pengenalan CURL Curl merupakan sebuah library yang di gunakan untuk berkomunikasi dan melakukan HTTP request tanpa campur tangan dari sisi user atau sisi client.
  • 20. Wahyu Widodo, S.Kom.,M.Kom - Web Service 20 Langkah-langkah Penggunaan CURL :  Inisialisasi Curl  Tentukan halaman web yang akan diload  Pindai dan cetak kembali dokumen  Tutup Curl Fungsi Curl yang secara umum digunakan dalam bahasa pemrograman php : Kegunaan fungsi tersebut adalah :  curl_init : digunakan untuk menginisialisasi curl  curl_setopt : digunakan untuk memberi opsi yang akan digunakan untuk mengeksekusi sebuah curl  curl_exec : digunakan untuk mengeksekusi curl  curl_close : digunakan untuk menutup curl Buat file dengan nama test_curl.php simpan pada local server anda, kemudian ketik kode berikut ini : Buka browser Anda, ketik http://localhost/test_curl.php Dari hasil di atas, file test.php tersebut akan menangkap seluruh konten yang terdapat pada halaman http://www.php.net, ibaratnya kita mengakses sebuah halaman pada website tanpa membuka halaman tersebut, semua di lakukan dari sisi server .
  • 21. Wahyu Widodo, S.Kom.,M.Kom - Web Service 21 Bab 3 Headers Membahas:  Teknik request dan respon headers  Perintah pada HTTP Headers  Kostum informasi data pada headers  Teknik kostum request Kompetensi Mahasiswa :  Mampu memahami konsep request dan respon data pada headers.  Mampu mengimplementasikan perintah-perintah pada HTTP Headers.  Mampu mempraktikkan kostum informasi pada headers.
  • 22. Wahyu Widodo, S.Kom.,M.Kom - Web Service 22 Contoh Request Header  Method request yang digunakan (misal : GET)  Accept : merupakan jenis batasan data yang boleh dikirim melakukan request.  User-Agent : browser yang anda gunakan. Contoh Response Header  Status Response : Nasib berhasil tidaknya permintaan. 200 OK (berhasil)  Accept-Type : batasan data yang diterima Anda setelah berhasil request.  Cookies : jika dibutuhkan untuk create cookies (opsional)  Authorization : jika dibutuhkan otoritas untuk mengakses (opsional).
  • 23. Wahyu Widodo, S.Kom.,M.Kom - Web Service 23 Mengenal User Agent User Agent adalah script yang dikirimkan oleh web browser ke web server yang kita tuju, atau ke setiap situs yang kita kunjungi, jadi setiap situs yang kita kunjungi dapat mengetahui browser dan sistem operasi yang kita gunakan sehingga konten dapat disesuaikan dengan jenis sistem operasi kita. Gambar 5 Ilustrasi User Agent User Agent tidak mengirimkan seluruh informasi yang kita punya, user agent hanya mengirimkan beberapa informasi seperti arsitektur prosesor komputer kita, sistem operasi yang kita gunakan, dan beberapa informasi tentang browser yang kita gunakan seperti engine browser, engine browser version dan nama browser (lihat gambar 6).
  • 24. Wahyu Widodo, S.Kom.,M.Kom - Web Service 24 Gambar 6 Melihat User Agent Dengan Browser Chroome User Agent bersifat one way information jadi jangan takut dengan adanya user agent sistem kita dapat di akses orang lain tanpa izin, jadi user agent aman digunakan bahkan sangat penting adanya. user agent pun dapat dirubah sesuai dengan kebutuhan kita sendiri dengan maksud untuk mendapat konten yang berjalan baik dari sebuah web server. untuk blogger mengganti user agent biasa digunakan untuk melihat tampilan blognya di beberapa sistem operasi dan browser. Buat script berikut untuk menampilkan user agent dengan php : Jalankan melalui browser :
  • 25. Wahyu Widodo, S.Kom.,M.Kom - Web Service 25 Membuat Batasan Data Request yang dikirim ke Server Secara default, jika data yang bisa dikirim : This request made by: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8. dihasilkan dari perintah : Tapi kita juga bisa menentukan sendiri, misalnya boleh mengirim ke server hanya dengan format json. Memodifikasi bagian header dengan menggunakan CURLOPT_HTTPHEADER, dapat memodifikasi Accept dan Accept-Type. Contoh : Pada contoh diatas, format yang akan dikirim hanya bertipe JSON. HTTP Basic Authentication Headers menyediakan informasi untuk mengijinkan aplikasi mengidentifikasi si pengguna yang melakukan request. Caranya dengan mengirimkan teks Base64
  • 26. Wahyu Widodo, S.Kom.,M.Kom - Web Service 26 encoded username dan password pada HTTP header Authorization. Username dan password tersebut selalu dikirimkan untuk setiap HTTP request untuk proses authorization. Contoh : Studi Kasus Akses API Midtrans  Belum punya akun? Silahkan registrasi dulu https://www.midtrans.com/  Jika sudah, silahkan login. Anda akan mendapat tampilan dashboard. https://dashboard.midtrans.com/  Silahkan switch Environment dari production ke sanbox . (sanbox= simulasi, production = beneran) Lihat Gambar 7 Gambar 7 Dashboard Akun Midtrans  Buka dokumentasinya : - versi online : http://api-docs.midtrans.com - versi pdf dapat diunduh di : https://snap-docs.midtrans.com/docs-en.pdf
  • 27. Wahyu Widodo, S.Kom.,M.Kom - Web Service 27  Lihat pada bagian Register Card Status Method  Gunakan data parameter yang akan dikirim berikut ini : - card_number : 4111111111111111 - card_exp_month : 09 - card_exp_year : 2019 - client_key : lihat punyamu (buka dashboard, klik setting, klik access key) lihat Gambar 8 Gambar 8 Cara Melihat Client Key  Buka SOAP UI, Klik create new Rest, Masukkan URI (Lihat gambar 9) https://api.sandbox.midtrans.com/v2/card/register  Pastikan request methodnya GET, masukkan 4 parameter name dan valuenya, dengan menekan simbol + warna hijau Gambar 9 Icon Untuk Memasukkan URL Api  Jika ke 4 parameter udah dimasukkan semua, klik tombol segitiga hijau untuk menjalankannya (lihat Gambar 10).
  • 28. Wahyu Widodo, S.Kom.,M.Kom - Web Service 28 Gambar 10 Kilk Tombol Hijau  Cocokkan dengan Register Card Response di dokumentasi. Sudah sesuai harapan apa belum? http://api-docs.midtrans.com/#register-card  Setelah sukses ditest dengan SOAP UI, saatnya pakephp script, tulis function dibawah ini :  Parameter server_key dan client_key sesuaikan dengan punya Anda.
  • 29. Wahyu Widodo, S.Kom.,M.Kom - Web Service 29  Bila sukses maka akan tampil berikut ini : Tugas 1  Buat script untuk input data transaction dengan menggunakan method POST dengan model pembayaran credit card.  Urutan yang diinputkan adalah - data transaction detail - data credit card - data item details - data customer detail  Lihat parameter yang dikirim disini :  http://api-docs.midtrans.com/#credit-card
  • 30. Wahyu Widodo, S.Kom.,M.Kom - Web Service 30 Bab 5 Cookies Membahas:  Pengenalan Cookies  Cara kerja cookies  Penggunaan cookies saat request data Kompetensi Mahasiswa :  Memahami kegunaan cookies.  Mampu menjelaskan mekanisme kerja cookies.  Mampu mempraktikan cookies saat request data.
  • 31. Wahyu Widodo, S.Kom.,M.Kom - Web Service 31 Definisi Cookie Cookies adalah sebuah file teks yang berisi data tertentu yang disimpan oleh browser.Data pada cookie ini dikelompokkan berdasarkan domain, sehingga ketika browser mengakses domain tertentu (misal: www.example.com), maka hanya data cookie yang terkait domain tersebut yang dikirim. Cara kerja cookie Cara kerja cookie dapat dimisalkan sebagai berikut: Pertama-tama, browser meminta webserver (misal pada www.example.com) untuk memberikan data halaman tertentu, ketika mengirim data, webserver memerintahkan browser untuk menyimpan data ke file cookie. Selanjutnya, ketika browser kembali mengakses website tersebut, browser akan sekaligus mengirim data cookie yang disimpan tadi. Data cookie tersebut digunakan oleh webserver untuk berbagai keperluan, termasuk menerapkan setting tertentu pada data yang akan dikirim kembali ke browser. Misal:  User A dengan browser Firefox mengunjungi website www.example.com kemudian mengakses menu setting dan menerapkan tema biru dan bahasa antar muka Bahasa Inggris.  Di belahan negara lain, user B dengan browser Firefox menerapkan tema hijau dengan bahasa antar muka Bahasa Indonesia. Nah agar server www.example.com mengetahui tema dan bahasa yang telah diterapkan oleh masing-masing user pada masing masing browser, maka www.example.com memerintahkan browser untuk menyimpan data setting tersebut.
  • 32. Wahyu Widodo, S.Kom.,M.Kom - Web Service 32 Selanjutnya ketika browser tersebut kembali mengunjungi www.example.com, data cookie tersebut ikut dikirim sehingga server tahu tema dan bahasa apa yang akan diterapkan kepada browser tersebut. Untuk lebih jelasnya, perhatikan ilustrasi berikut: Gambar 11 Ilustrasi Cookies Pada contoh diatas terlihat bahwa server (dalam hal ini www.example.com) dapat memanfaatkan data cookie hanya pada request ke dua (step ke 3) dan seterusnya, tidak bisa pada request pertama, karena pada request pertama tersebut, data cookie sedang dibuat. Cookie Pada PHP Nah, setelah kita paham tentang cookie, selanjutnya kita bahas penerapan cookie pada PHP. Setidaknya ada tiga hal yang akan kita bahas yaitu: membuat, membaca, dan menghapus data Cookie. Membuat Cookies Pada PHP Untuk membuat cookies pada PHP, kita gunakan fungsi setcookie(). Fungsi ini memiliki enam argumen, yaitu: 1. Nama cookie, yang berisi nama cookie.
  • 33. Wahyu Widodo, S.Kom.,M.Kom - Web Service 33 2. Nilai cookie, data yang akan disimpan yang merujuk pada nama cookie (nomor 1) 3. Expire. Kapan cookie akan berakhir. Format waktu berupa Unix timestamp, yang pada PHP kita buat dengan menggunakan fungsi time(). Jika nilai expire dikosongkan atau bernilai 0, maka data cookie akan expire/dihapus ketika browser ditutup (ketika session berakhir) 4. Path. Path/Lokasi pada server di mana cookie dapat digunakan. Jika diisi tanda slash ‘/’, maka cookie dapat digunakan diseluruh bagian website. Jika diisi nilai tertentu, misal ‘/blog/’, maka cookie hanya dapat digunakan pada direktori blog dan subdirektorinya, misal: ‘/blog/archive/’ . Jika nilai dikosongkan, maka lokasi akan merujuk ke direktori dimana cookie di buat. 5. Domain. subdomain dimana cookie dapat digunakan. Misal: jika kita isi (jagowebdev.com), maka cookie akan dapat digunakan pada semua subdomain seperti: blog.jagowebdev.com, themes.jagowebdev.com w2.www.jagowebdev.com, dll. Namun, jika kita isi (www.jagowebdev.com) maka subdomain yang tersedia hanya sebelum www misal: w2.www.jagowebdev.com. Jika nilainya kosong, maka cookie akan berlaku pada seluruh bagian domain namun tidak pada subdomainnya. 6. Secure. Default false. Jika true, browser akan mengirim cookie ke websever hanya jika koneksi berbentuk HTTPS. 7. Httponly. Default false. Cookie hanya dapat diakses hanya melalui protokol http.
  • 34. Wahyu Widodo, S.Kom.,M.Kom - Web Service 34 Kita tidak bisa mengosongkan waktu expire, dengan demikian, kita tidak bisa membuat cookie dengan umur yang tidak terbatas, solusinya, kita buat waktu expired cookie sangat lama, misal 5 tahun kedepan. Dari ketujuh argumen tersebut, yang paling sering digunakan adalah empat pertama. Khusus untuk argumen domain, isinya (jika ada) harus menggunakan dot (.) sehingga jika kita menuliskan localhost maka akan gagal. Contoh: kita set cookie dengan nama background-color dengan nilai #4e79a0 dan cookie dengan nama font-size dengan nilai 15px Selanjutnya cek apakah cookie ini berhasil disimpan di browser. Caranya, buka developer tools (tekan F12 – Google Chrome) Menghitung Waktu Expired Pada argumen ke tiga, kita menentukan kapan cookie akan berakhir (expired), karena nilai yang diisikan berupa timestamp, maka cara yang paling mudah untuk menentukan waktu expire adalah menggunakan hitungan mundur dari detik, menit, jam, hari, dst…
  • 35. Wahyu Widodo, S.Kom.,M.Kom - Web Service 35 Contoh kita ingin membuat waktu expire cookie 30 hari kedepan, maka kita isikan time() + (60 * 60 * 24 * 30) yang artinya:  time() yang berarti waktu ketika script dieksekusi (dalam unix timestamp).  60 pertama yang berarti 60 detik (1 menit = 60 detik);  60 kedua yang berarti 60 menit (1 jam = 60 detik)  24 yang berarti 24 jam (1 hari = 24 jam)  30 yang berarti 30 hari Cara ini jauh lebih mudah dibaca dan di-maintenance daripada kita menggunakan time() + 2595000 Cara lain yang lebih mudah adalah dengan menggunakan format tanggal relatif (Relative Date Format) yaitu dengan menggunakan kata-kata day, month, weeks, year, dsb. Contoh penggunaan relative date format pada cookie: Membaca Data Cookie Pada PHP Untuk membaca data cookie, kita gunakan variabel bawaan PHP $_COOKIE, jika tidak ada cookie sama sekali maka variabel ini tetap ada namun bernilai kosong. Untuk mengambil data cookie tertentu, gunakan variabel $_COOKIE dengan index nama cookie tersebut, misal: untuk nama cookie theme, kita panggil menggunakan $_COOKIE['theme']
  • 36. Wahyu Widodo, S.Kom.,M.Kom - Web Service 36 Untuk menampilkan semua data cookie, kita gunakan fungsi print_r(), contoh: echo '<pre>'; print_r($_COOKIE) Pada PHP, cookie yang dikirim oleh browser disimpan dalam variabel global $_COOKIE. Hal ini berarti bahwa kita tidak dapat langsung mengambil nilai cookie ketika baru saja membuatnya, karena, data tersebut belum dikirim kembali ke server. Menghapus Cookie Pada PHP Untuk menghapus cookie pada PHP, kita cukup memberi nilai kosong pada nama cookie yang ingin kita hapus datanya. Misal kita ingin hapus data cookie font-size: setcookie('font-size', ''); Jika pada waktu membuat cookie kita memberikan argumen lain selain nama cookie, nilai, dan expire, misal path atau domain, maka untuk menghapus data cookie tersebut, kita juga harus menyertakan argumen tersebut. Misal pada contoh sebelumnya kita membuat cookie dengan memberikan argumen path '/'. setcookie('font-size', '14px', time + (60 * 60), '/'); maka untuk menghapusnya, kita juga harus menuliskan argumen tersebut setcookie('font-size', '', 0, '/'); Sumber : http://jagowebdev.com/cookie-pada-php/
  • 37. Wahyu Widodo, S.Kom.,M.Kom - Web Service 37 Bab 6 JSON Membahas:  Pengenalan JSON  Penanganan data JSON dengan PHP  Implementasi JSON pada APIs Kompetensi Mahasiswa :  Memahami konsep JSON dan kegunaannya.  Mampu membuat pengolahan data menggunakan JSON.  Mampu mengimplementasikan JSON pada APIs.
  • 38. Wahyu Widodo, S.Kom.,M.Kom - Web Service 38 Berkenalan dengan JSON JSON (JavaScript Object Notation) 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 Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. Keterangan Lebih lanjut bias di baca di : http://www.json.org/json-id.html. Keunggulan JSON :  Ukuran lebih kecil dibanding XML, efeknya transfer data lebih cepat dan lebih hemat resource, terutama bandwidth.  Format JSON lebih sederhana dibanding XML.  Library JSON ada disetiap bahasa pemrograman. Struktur JSON Kumpulan pasangan nama dan nilai (sering disebut objek) yang dimulai dengan { dan diakhiri dengan } Daftar nilai terurutkan (larik/array) yang dimulai dengan [ dan diakhiri dengan ]
  • 39. Wahyu Widodo, S.Kom.,M.Kom - Web Service 39 Contoh JSON : Penanganan JSON dalam PHP Terdapat 2 fungsi JSON :  json_encode : merubah array ke dalam format json  json_decode : merubah json ke dalam format array Buat file latihanjson1.php simpan pada local server Anda, ketik kode dibawah ini : Jalankan via browser http://localhost/latihanjson1.php
  • 40. Wahyu Widodo, S.Kom.,M.Kom - Web Service 40 Buat file latihanjson2.php simpan pada local server Anda, ketik kode dibawah ini : Jalankan via browser http://localhost/latihanjson2.php Membuat File JSON Buat file createjson.php simpan pada folder local server Anda, ketik kode dibawah ini Test script anda dengan menggunakan browser : http://localhost/webservice/createjson.php
  • 41. Wahyu Widodo, S.Kom.,M.Kom - Web Service 41 Bab 7 XML Membahas:  Pengenalan XML  Memahami struktur bahasa XML  Penerapan XML pada APIs Kompetensi Mahasiswa :  Mampu menjelaskan tentang XML.  Mengetahui bagaimana XML bekerja.  Mengerti bagaimana cara menggunakan XML
  • 42. Wahyu Widodo, S.Kom.,M.Kom - Web Service 42 Pengenalan XML XML (eXtensible Markup Language) adalah format umum yang digunakan untuk membuat bahasa markup baru. XML mendefinisikan seperangkat aturan untuk dokumen yang dikodekan secara elektronik. Bahasa markup digunakan untuk memisahkan konten dari struktur dokumen elektronik dengan jelas. Keuntungan XML :  Tag tidak terbatas dan memungkinkan banyak fleksibilitas.  Dengan XML Anda pada dasarnya menulis bahasa markup Anda sendiri yang memungkinkan Anda membuat bahasa sesuai dengan tugas tertentu.  Sehubungan dengan HTML, XML mendukung pemisahan GUI dari data / konten dengan menggunakan style sheet khusus. Kekurangan XML :  XML tidak memiliki sistem untuk pemrosesan aplikasi sehingga dokumen XML harus dikonversi, ke HTML misalnya.  Fleksibilitas yang diberikannya juga bisa menjadi kerugian karena ada ketidaksepakatan di antara tag atau objek dan ini bisa menambahkan kendala yang menyulitkan pembuatan file.  Isu terkait bisa muncul jika sebuah organziasi memiliki ratusan fungsi untuk satu set dokumen yang perlu dijelaskan dengan tag.  Terlalu banyak tag untuk struktur dokumen tunggal dapat mengganggu kemampuan XML untuk memproses informasi.
  • 43. Wahyu Widodo, S.Kom.,M.Kom - Web Service 43 Membuat Dokumen XML dengan PHP dan MySQL  Buat table anggota dengan script berikut :  Masukkan data berikut ini :  Buat file create_xml.php untuk, men-generate dokumen xml dari record yang ada di table tb_anggota.  Melalui browser, ketik : http://localhost/create_xml.php CREATE TABLE IF NOT EXISTS `tb_anggota` ( `anggota_id` int(5) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `alamat` varchar(50) NOT NULL, `umur` int(2) NOT NULL, PRIMARY KEY (`anggota_id`) ) ENGINE=INNODB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; INSERT INTO `tb_anggota` (`nama`, `email`, `alamat`, `umur`) VALUES ('Wayan', 'wayan@email.com', 'Badung', 21), ('Made', 'made@email.com', 'Gianyar', 19), ('Nyoman', 'nyoman@email.com', 'Klungkung', 30), ('Ketut', 'ketut@email.com', 'Tabanan', 23), ('Gede', 'gede@email.com', 'Karangasem', 27);