3. PEMBAHASAN PERTEMUAN PERTAMA
• Definisi API dan web service
• Mengetahui jenis web service
• Komponen pembentuk web service
• Arsitektur web service
• Implementasi atau penerapan web service
4. API ?
• API (Application Programming Interface)
merupakan sebuah antar muka yang
digunakan untuk menghubungkan
antara satu aplikasi dengan aplikasi
yang lain.
• Web service merupakan salah satu
bagian yang ada di dalam bagian API
https://www.youtube.com/watch?v=vQJJ_K1JbEA
5. API
Terdapat 3 jenis API (Application Programming Interface) yang biasa digunakan:
1. Public/ Open API: digunakan oleh siapapun dan gratis, tidak memerlukan autentifikasi untuk
mengaksesnya. Contoh: Google Maps, Facebook, Twitter, dll.
2. Partner API: dibuat oleh perusahaan untuk keperluan internal atau partner kerja, dan memerlukan
autentifikasi yang terbatas. Contoh: database, keamanan internal, HR(human resource)
3. Private API: memerlukan autentifikasi terlebih dahulu untuk mengaksesnya.
6. API
• mysqLi dan PDO pada
Bahasa pemograman PHP
berfungsi untuk connect ke
DBMS
7. API
Sistem Operasi
Windows API
• Base service : kernel.dll
• Graphic device interface : win32k.sys
• User interface : user32.dll
• iOS API
• Contact : CNMutableContact()
• Camera : AVCaptureDevice()
Android API
• Contact : ContactsContract.RawContacts
8. API
• Web service adalah sebuah teknologi/ perangkat lunak yang dibuat untuk mendukung aplikasi
perangkat lunak berkomunikasi melalui jaringan internet : protocol http
• Beberapa arsitektur yang diimplementasikan pada web service:
o REST API (Representational State Transfer): komunikasi data menggunakan JSON
o SOAP API (Simple Object Access Protocol): komunikasi data menggunakan XML
Web service
9. WEB SERVICE
Contoh sederhana:
Ali orang Indonesia yang hanya bisa Bahasa Indonesia
John orang Inggris yang hanya bisa Bahasa Inggris
Bagaimana cara mereka berkomunikasi?
Menggunakan penerjemah
Penerjemah = web service
10. WEB SERVICE
Apakah web service hanya penghubung antara aplikasi dengan
aplikasi?
Apakah pada mobile apps dengan website memiliki database
terpisah?
Bagaimana jika ada update data, apakah perlu di update di
mobile apps dan website?
TIDAK
12. CONTOH PENERAPAN WEB SERVICE
• Google dengan twitter
Login twitter dapat menggunakan google.
• Ojek online dengan google map
Driver dapat mengetahui seberapa jauh jarak penjemputan dan pengantaran.
• Travel agen dan maskapai
Costumer dapat mengetahui jadwal dan biaya penerbangan
• E-commerce dengan kurir
Costumer dapat melihat biaya pengiriman dan perkiraan waktu barang sampai
13. JENISWEB SERVICE BERDASARKAN MANFAAT
1. Reusable application-components:
Jenis web service yang dimanfaatkan secara periodic atau berulang-ulang.
2. Connect existing software:
Web service memungkinkan sistem perangkat lunak terdistribusi untuk berkomunikasi
melalui jaringan.
14. KOMPONEN PEMBENTUK WEB SERVICE
1. UDDI (Universal Description, Discovery, and Integration)
2. WSDL (Web Service Description Language)
3. SOAP (Simple Object Access Protokol)
4. REST (Representational State Transfer)
15. KOMPONEN PEMBENTUK WEB SERVICE
• SOAP (Simple Object Access Protokol)
Sebuah protocol berbasis XML dengan
komunikasi RPC (Remote procedure call)
yang menyediakan cara standar untuk
pertukaran pesan.
16. KOMPONEN PEMBENTUK WEB SERVICE
• REST (Representational State Transfer)
Salah satu gaya arsitektur yang dapat
diadaptasikan Ketika membangun web
service.
17. PERSAMAAN SOAP DAN REST?
• Digunakan sebagai metode pertukaran pesan dalam komunikasi web service
• Menggunkaan protocol web (HTTP atau HTTPS)
18. PERBEDAAN SOAP DAN REST?
Uraian SOAP REST
Protokol komunikasi HTTP, HTTPS, SMPT, FTP HTTP, HTTPS
Penggunaan bandwidth Dalam jumlah request yang
banyak, relative boros bandwidth,
banyak markup dalam penulisan
XML
Relatif hemat bandwidth, hanya
menggunakan markup XML yang
di perlukan saja.
Tren penggunaan Banyak mulai beralih ke REST Saat ini popular karena dipakai
oleh penyedia web service seperti
amazon, ebay, twitter dll
Format respon XML XML, JSON
Sifat web service Tertutup Terbuka, bisa diakses oleh siapa
saja tetapi tetap dengan otorisasi.
19. KOMPONEN PEMBENTUK WEB SERVICE
XML (Extensible Markup Language)
Format independent perangkat lunak untuk
pertukaran data, memiliki sintaks berbasis
tag yang sangat mirip dengan HTML, tetapi
XML bukan pengganti untuk HTML.
20. KOMPONEN PEMBENTUK WEB SERVICE
JSON (JavaScript Object Notation)
Format standar berbasis teks untuk
pertukaran data yang didalamnya berisi
pasangan antara key dan value.
21. PERSAMAAN XML DAN JSON?
• JSON dan XML keduanya adalah teknologi web service
• Dapat digunakan untuk berbagi data
• Digunakan oleh banyak Bahasa pemograman
22. PERBEDAAN XML DAN JSON?
Uraian XML JSON
Type XML adalah Bahasa markup JSON adalah Bahasa meta
kompleksitas XML lebih rumit JSON sederhana dan mudah
dibaca
array XML tidak mendukung array JSON mendukung array
Ekstensi file File XML diakhiri dengan ekstensi
.xml
File JSON diakhiri dengan .json
Penyimpanan data Data XML disimpan sebagai tree
structure
Data disimpan dengan pasangan
key dan value
kecepatan Besar dan lambat dalam
penguraian, menyebabkan
transmisi data lebih lambat
Sangat cepat karena ukuran file
sangat kecil, sehingga transfer
data lebih cepat
23. ARSITEKTUR WEB SERVICE
1. Service Requester (peminta layanan) : Aplikasi yang bertindak sebagai klien dari web
service yang merequest service yang tersedia
2. Service Provider (penyedia layanan) : pemilik web service yang berfungsi menyediakan
kumpulan operasi dari web service
3. Service Registry (daftar layanan) : tempat dimana service provider mempublikasikan
layanannya.
24. IMPLEMENTASI ATAU PENERAPAN WEB SERVICE
Penerapan web service melibatkan pengembangan, implementasi, dan penggunaan
layanan web dalam konteks aplikasi atau sistem tertentu.
Langkah-langkah umum yang terlibat dalam penerapan web service:
1. Identifikasi Kebutuhan Bisnis; pengembangan layanan untuk berbagi data,
mengintegrasikan sistem, atau menyediakan layanan eksternal
2. Rancang Layanan Web; melibatkan penentuan format data yang akan digunakan
(seperti XML atau JSON), pemodelan struktur data, dan definisi operasi atau metode
3. Pengembangan Layanan Web; sesuai dengan desain yang telah dibuat. Ini
melibatkan penulisan kode untuk mengimplementasikan operasi layanan, mengakses
sumber data jika diperlukan, dan menangani pemrosesan data.
4. Uji Layanan Web; memastikan bahwa itu berfungsi sesuai dengan spesifikasi yang
telah ditentukan
25. IMPLEMENTASI ATAU PENERAPAN WEB SERVICE
5. Dokumentasi Layanan Web; deskripsi operasi, format data yang diterima dan
dikembalikan, serta cara mengaksesnya. Dokumentasi ini penting untuk memudahkan
penggunaan dan integrasi layanan oleh pihak lain.
6. Implementasi Klien; mengembangkan klien (aplikasi atau sistem) yang akan mengakses
layanan web
7. Pengujian Integrasi; Melakukan pengujian integrasi jika layanan web akan digunakan
dalam konteks aplikasi yang lebih besar.
8. Implementasi Keamanan; Memastikan bahwa layanan web aman, meliputi autentikasi
pengguna, otorisasi, enkripsi data, dan perlindungan terhadap serangan keamanan.
26. IMPLEMENTASI ATAU PENERAPAN WEB SERVICE
9. Pengelolaan Layanan Web; pemantauan kinerja, pemecahan masalah, pembaruan, dan
pemeliharaan rutin
10. Penyediaan Layanan Web; dapat diakses oleh pihak eksternal, seperti mitra bisnis atau
pengguna public, perlu mempertimbangkan pemenuhan persyaratan dan kebijakan akses yang
berlaku.
11. Dokumentasi Penggunaan; penting untuk membuat dokumentasi tentang cara
mengintegrasikannya dengan aplikasi atau sistem yang akan menggunakannya.
12. Siklus Hidup dan Perbarui Layanan Web; memerlukan pembaruan dan perubahan seiring
berjalannya waktu. Pastikan untuk mengelola siklus hidup layanan web dan memperbarui sesuai
kebutuhan.
27. TUJUAN WEB SERVICE
Web service bertujuan untuk meningkatkan kolaborasi antar pemograman atau
system, yang memungkinkan sebuah fungsi di dalam web service dapat
berinteraksi dengan aplikasi lain tanpa perlu mengetahui detil pemograman yang
terdapat di dalamnya.
29. Soal
1. Apa saja tren terbaru dalam pengembangan web service
2. Sebutkan dan jelaskan analogi atau contoh dari web service
3. Apa perbedaan antara API publik dan API private? Beserta contohnya
4. Apa yang dimaksud dengan web servis?
5. Sebutkan dan jelaskan tentang Partner API
6. Jelaskan langkah-langkah umum yang terlibat dalam penerapan web service
30. 7. Apa perbedaan antara web service dan API?
8. Bagaimana web service dapat digunakan untuk mengintegrasikan dua aplikasi yang
berbeda?
9. Web service memungkinkan aplikasi untuk melakukan apa?
10. Apa peran HTTP dalam komunikasi antara aplikasi melalui web service?
11. Bagaimana cara sebuah aplikasi mengakses web service?
12. Apa keuntungan dan kerugian dari web service?
13. Apa tantangan yang mungkin dihadapi dalam web service
14. Bagaimana perusahaan besar atau organisasi dapat memanfaatkan web service
untuk meningkatkan efisiensi dan fleksibilitas?