SlideShare a Scribd company logo
Pengantar Java Web
Tim Dosen
Overview
• Arsitektur Web
• Arsitektur API
• Arsitektur Monolitik dan Microservices
Prasyarat
• Arsitektur Aplikasi Web
• Client-server, 2-tier, 3-tier
• HTTP
• Pemrograman Java
Arsitektur Web
Arsitektur Web
• Pengguna memasukkan URL ke dalam bilah alamat (address bar) pada web browser. URL ini
adalah alamat unik yang mengarahkan browser untuk mencari dan mengambil sumber daya
tertentu di internet, seperti halaman web atau berkas.
Arsitektur Web
• Browser mengirimkan permintaan HTTP ke server yang ditentukan dalam URL. Permintaan ini
berisi informasi tentang sumber daya yang diinginkan, seperti halaman web atau berkas lainnya.
Arsitektur Web
• Request data adalah proses di mana web server meminta informasi atau data tertentu dari
database server. Permintaan data ini dilakukan oleh web server dengan mengirimkan kueri atau
permintaan ke database server.
Arsitektur Web
• Data adalah informasi yang diperoleh dari database server sebagai respons terhadap permintaan
data yang dilakukan oleh web server. Setelah database server menerima kueri dari web server, ia
akan memproses kueri tersebut dan mengambil data yang sesuai dari tabel atau basis data.
Arsitektur Web
• Setelah server memproses permintaan, ia mengirimkan respons HTTP kembali ke browser.
Respons ini berisi data yang diperlukan untuk menampilkan halaman web yang diminta, termasuk
HTML, CSS, JavaScript, gambar, atau data lainnya.
Arsitektur Web
• Setelah browser memproses data, hasil akhirnya ditampilkan kepada pengguna melalui layar
perangkat. Ini adalah halaman web yang siap dilihat dan diinteraksikan oleh pengguna.
Client – Server Architecture
1. Arsitektur yang menjelaskan pemisahan kerja antara penyedia informasi/layanan (server)
dengan peminta informasi (client)
2. Seringkali client dan server beroperasi dalam Jaringan komputer dengan client dan server ada di
mesin/hardware yang berbeda
3. Client tidak membagi informasi namun meminta informasi dari server
4. Mesin server biasanya adalah host dengan performansi tinggi yang menjalankan satu atau lebih
program server. server membagi informasi ke client
5. Client menginisialisasi sesi komunikasi dengan server, dan server menunggu (await/listen) pada
request yang datang
2 Tier
• Client: Ini adalah bagian antarmuka
pengguna (user interface) yang berjalan di
perangkat pengguna. Komponen ini
bertanggung jawab untuk menampilkan,
menerima, dan menyediakan tampilan
antarmuka pengguna.
• Server: Ini adalah bagian dari sistem yang
berjalan di mesin server atau infrastruktur
yang terpusat. Server mengelola logika bisnis
dan data yang digunakan oleh aplikasi. Ini
adalah tempat database disimpan dan
diproses.
3 Tier
• Presentation Layer yang bertanggung jawab
untuk antarmuka pengguna dan tampilan. Ini
berada di sisi client.
• Business Logic Tier yang menangani logika
bisnis, pemrosesan, dan kontrol aplikasi. Tier
ini sering disebut juga sebagai application
server.
• Data Management Tier bertugas untuk
menyimpan dan mengelola data yang
digunakan oleh aplikasi. Tier ini sering
disebut juga sebagai database server.
Web Server
1. Web Server bertanggung jawab untuk menerima request dari client kemudian merespon
request tersebut.
2. Request dari client berupa dokumen-dokumen web (web resources) seperti dokumen html,
image, dll
3. Contoh web server: Apache, IIS, Xitami
4. Saat klien (misalnya, browser web) mengirimkan permintaan untuk mengakses halaman web
atau sumber daya lainnya, web server akan menerima permintaan ini, mengambil sumber daya
yang diminta, dan mengirimkannya kembali ke klien. Selain itu, web server juga dapat
menjalankan fungsi seperti pemrosesan formulir, otentikasi pengguna, dan menyediakan
layanan web lainnya sesuai dengan konfigurasinya.
Web Client
1. Web client, atau lebih umum dikenal sebagai "browser," adalah program komputer yang
digunakan oleh pengguna untuk mengirimkan permintaan (request) ke web server dan
menerima serta menampilkan dokumen-dokumen web (web resources) yang diterima dari
server.
2. Browser berfungsi sebagai antarmuka antara pengguna dan konten web yang ada di internet.
3. Contoh web client atau browser yang populer termasuk Internet Explorer (IE), Mozilla Firefox,
Opera, Google Chrome, Safari, dan banyak lagi.
4. Browser menginterpretasikan kode HTML, CSS, JavaScript, dan jenis konten web lainnya untuk
menampilkan halaman web kepada pengguna dengan tampilan grafis yang interaktif.
HTTP
1. HTTP (HyperText Transfer Protocol) adalah sebuah protokol untuk meminta dan menjawab
antara client dan server.
2. HTTP berkomunikasi melalui TCP / IP. Klien HTTP terhubung ke server HTTP menggunakan TCP.
Setelah membuat sambungan, klien dapat mengirim pesan permintaan HTTP ke server.
3. HTTP digunakan untuk mengirimkan permintaan dari klien web (browser) ke web server,
dikembalikan ke konten web (halaman web) dari server ke klien.
4. Metode HTTP adalah tindakan yang diterapkan pada sumber daya yang diminta oleh client.
Contoh metode HTTP meliputi GET (mengambil informasi dari server), POST (mengirim data ke
server), PUT (mengganti atau memperbarui sumber daya), DELETE (menghapus sumber daya),
dan lain-lain.
Jenis-jenis Website
Web Statis Web Dinamis
Pengguna hanya dapat melihat, tanpa bisa melakukan interaksi apapun.
Seperti mengisi data atau yang lain.
Pengguna dapat mengupdate informasi atau konten langsung dari website-
nya
Kebanyakan digunakan pada website company profile. Karena hanya
menampilkan informasi penting saja.
Digunakan pada banyak situs, seperti web toko online, website blog
pribadi dan masih banyak lagi.
Tidak banyak menggunakan bahasa pemrograman, hanya sebatas HTML
& CSS. Biasanya ditambah juga Javascript agar web terlihat lebih hidup.
Menggunakan bahasa pemrograman web, seperti PHP, Java, MySQL, dan
yang lain.
Waktu pembuatan web-nya relatif singkat, tergantung banyaknya halaman
yang dibuat.
Waktu pembuatan memakan waktu yang cukup lama.
File tiap halaman terpisah, sehingga apabila ingin membuat halaman baru
maka harus membuat file baru juga.
Apabila hendak membuat halaman baru, tidak perlu membuat file lagi.
Cukup buatkan saja programnya.
Informasi atau konten jarang di-update. Konten bisa di-update kapan saja.
Tidak menggunakan database, semua informasi tersimpan dalam satu file
halaman tersebut.
Menggunakan database, untuk menyimpan data-data. Sehingga ketika web
diakses, tinggal mengambil dari database tersebut.
Application Programming Interface
Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb
• API adalah antarmuka perangkat lunak yang memungkinkan dua
aplikasi untuk berkomunikasi satu sama lain.
• Dengan menggunakan API, Anda dapat mengirim permintaan untuk
mengakses data atau fungsionalitas dari aplikasi atau layanan lain,
dan kemudian menerima respons dengan informasi yang diminta.
• Ini memungkinkan berbagai aplikasi untuk berinteraksi satu sama lain
dan berbagi data tanpa harus mengetahui atau memahami secara
rinci bagaimana aplikasi lain diimplementasikan di bawahnya.
Contoh :
✓ Log-In Apps
✓ Google Maps
✓ Travel Booking
✓ E-commerce
Cara Kerja API
Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb
Cara Kerja API
Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb
• Pengguna memasukkan URL di browser, yang menghasilkan permintaan HTTP (GET, POST, PUT, DELETE, dll) ke
server.
• Permintaan HTTP dikirim melalui internet menggunakan protokol TCP/IP. Permintaan ini akan melewati berbagai
perangkat jaringan seperti router, switch, dan firewall sebelum mencapai tujuan akhir.
• Ketika permintaan mencapai server, API yang relevan akan menangani permintaan tersebut. API akan memproses permintaan yang
diterima dan menentukan apa yang harus dilakukan berdasarkan pada endpoint yang diminta dan data yang disertakan.
• Setelah permintaan diproses oleh API, API akan berinteraksi dengan server web untuk mendapatkan atau memperbarui data yang
diperlukan dari atau ke database. Server web bertindak sebagai perantara antara API dan database. Ini juga dapat menangani tugas-
tugas seperti autentikasi, otorisasi, dan pemrosesan permintaan tambahan sebelum atau setelah interaksi dengan database.
Cara Kerja API
Cara Kerja API
Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb
• Jika diperlukan, server web akan berkomunikasi dengan database untuk mengambil atau menyimpan data yang
diperlukan berdasarkan permintaan dari API. Ini mungkin melibatkan ekstraksi data dari tabel, melakukan operasi
CRUD (Create, Read, Update, Delete), atau menjalankan kueri kompleks tergantung pada logika bisnis yang terkait.
Cara Kerja API
• Web Server Response: Setelah data diproses oleh server web dan/atau database, server akan menghasilkan respons yang sesuai. Respons
ini mungkin berupa data mentah, seperti JSON atau XML, atau mungkin juga berupa halaman HTML yang siap ditampilkan kepada pengguna.
• API Response: Respons dari server web akan dikirim kembali ke API, yang kemudian akan mengemasnya dalam format yang sesuai
(misalnya, JSON) dan mengirimkannya kembali ke pengguna melalui internet.
• Web Browser Response: Akhirnya, respons dari API akan mencapai web browser pengguna, yang akan memprosesnya dan menampilkan
informasi atau menjalankan tindakan yang diperlukan, seperti menampilkan data atau memperbarui tampilan halaman.
Arsitektur API
Ada setidaknya tiga arsitektur yang umum digunakan untuk API. Arsitektur-arsitektur tersebut menentukan
metode bagaimana API ini dapat diakses. Berikut adalah arsitektur tersebut:
REST API
• REST (Representational State Transfer) adalah arsitektur berbasis web yang menggunakan protokol
HTTP untuk mentransfer data antara pengguna dan server.
• Dalam arsitektur REST, sumber daya (resource) diidentifikasi oleh URL (Uniform Resource Locator),
dan operasi yang dilakukan pada sumber daya tersebut dikirim melalui metode HTTP seperti GET, POST,
PUT, atau DELETE.
• REST menggunakan representasi data dalam format JSON (JavaScript Object Notation) atau XML
(eXtensible Markup Language).
• Prinsip pada REST yaitu : Client-Server Architecture, Statelessness, Cacheable, Layered System dan
Uniform Interface.
REST API
Contoh REST API
Get request:
GET https://restexample.com/users?name=John
API REST menerima parameter GET dari URI.
API REST umumnya menggunakan format data JSON. Pengguna direpresentasikan dalam JSON seperti ini:
REST API vs RESTful API
REST API
• Gaya arsitektur yang mendefinisikan
serangkaian batasan dan prinsip untuk
membuat layanan web.
• Rest API menekankan penggunaan metode
HTTP (seperti GET, POST, PUT, dan DELETE)
untuk melakukan operasi CRUD (Buat, Baca,
Perbarui, Hapus) pada sumber daya.
RESTful API
• Implementasi spesifik dari Rest API yang
mematuhi semua batasan dan prinsip Rest API.
SOAP API
• SOAP (Simple Object Access Protocol) adalah Arsitektur menggunakan protokol XML untuk pertukaran
pesan antara klien dan server.
• Dalam arsitektur SOAP, pesan dikemas dalam format XML dan dikirim melalui protokol HTTP atau
protokol lainnya seperti SMTP (Simple Mail Transfer Protocol) atau JMS (Java Message Service).
• Dalam penerapannya, SOAP secara ketat mendefinisikan bagaimana pesan harus dikirim dan apa yang
harus disertakan di dalamnya (SOAP encoding rules) sehingga membuat arsitektur SOAP menjadi lebih
aman dibandingkan dengan REST.
SOAP API
Contoh SOAP API
<soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/>
<soapenv:Header/>
<soapenv:Body>
<ns2:UserDetailsResponse xmlns:ns2="http://www.soapexample.com/xml/users">
<ns2:User>
<ns2:name>John</ns2:name>
<ns2:age>5</ns2:age>
<ns2:address>Greenville</ns2:address>
</ns2:User>
</ns2:UserDetailsResponse>
</soapenv:Body>
</soapenv:Envelope>
Dengan menggunakan SOAP, permintaan ke API adalah permintaan HTTP POST dengan request body XML. Request body terdiri dari
sebuah envelope yang merupakan jenis pembungkus SOAP yang mengidentifikasi API yang diminta, dan sebuah body SOAP yang
memegang parameter permintaan. Dalam hal ini, body SOAP mewakili data pengguna yang diminta.
Kelebihan & Kekurangan
Source : https://blog.postman.com/soap-vs-rest/
REST API
Kelebihan Kelemahan
Skalabilitas Tidak cocok untuk fungsionalitas real-time
Konvensi universal Overhead signifikan dengan transfer data biner
Interoperabilitas Ketergantungan pada HTTP
Kinerja yang ditingkatkan Ketergantungan pada cache
SOAP
Kelebihan Kelemahan
Kemampuan ekstensibilitas Performa yang kurang baik
Mendukung banyak protokol Mendukung banyak protokol
Tipe data yang kuat Tipe data yang kuat
Penanganan kesalahan yang terstandarisasi -
Keamanan yang ditingkatkan -
Perbedaan SOAP API vs REST API
Fitur SOAP REST
Singkatan Simple Object Access Protocol Representational State Transfer
Interface Menggunakan antarmuka layanan Menggunakan URI
Jenis Protokol Gaya arsitektur
Format Data Menggunakan XML saja
Mendukung berbagai format data
(JSON, XML, teks biasa, HTML)
Keamanan Mendukung WS-Security
Dapat menggunakan protokol HTTP
yang aman (HTTPS)
Deskripsi
Biasanya menggunakan file Web
Service Description Language (WSDL)
Tidak memiliki deskripsi formal
seperti WSDL
API Memperlihatkan operasi Memperlihatkan data
Analogi
Seperti amplop, menunjukkan
struktur dan encapsulation
Seperti kartu pos, menunjukkan
sederhana dan langsung
Kebutuhan
Memerlukan lebih banyak server dan
bandwidth
Memerlukan lebih sedikit server dan
bandwidth
Kapan memakai SOAP atau REST API?
• REST cocok digunakan untuk membuat website maupun aplikasi smartphone. REST API
kompatibel dengan browser karena JSON digunakan sebagai format data. Pembuatan
aplikasi seluler juga lebih kompatibel dengan REST karena ukurannya yang kecil.
• SOAP akan cocok jika digunakan untuk layanan web tingkat perusahaan yang
memerlukan transaksi kompleks dan membutuhkan tingkat keamanan level tinggi.
API SOAP sangat ideal jika digunakan sebagai layanan gateway pembayaran, perangkat
lunak CRM, manajemen identitas, dan layanan keuangan.
Monolitik vs Microservices
Arsitektur Monolitik
• Arsitektur monolitik adalah cara pembuatan sistem yang menempatkan semua fungsi dan fitur
dalam satu aplikasi tunggal yang besar. Aplikasi ini biasanya ditulis dalam satu bahasa pemrograman,
dijalankan di satu server, dan diakses melalui satu endpoint. Arsitektur monolitik ini merupakan cara
yang paling mudah dan cepat untuk membuat sistem, karena semua komponen berada dalam satu
tempat.
• Kelebihan : lebih mudah untuk di-debug dan di-maintain karena semua komponen tersedia dalam
satu aplikasi. Selain itu, arsitektur ini juga lebih mudah untuk di-deploy karena hanya satu aplikasi yang
perlu diperhatikan.
• Kekurangan : lebih sulit untuk di-scaling secara parsial. Jika salah satu bagian dari aplikasi mengalami
masalah, maka seluruh aplikasi akan terpengaruh. Selain itu, arsitektur ini juga cenderung membuat
aplikasi menjadi kompleks dan sulit untuk dikembangkan lebih lanjut. Arsitektur monolitik juga tidak
fleksibel terhadap perubahan bisnis maupun teknologi, karena diharuskan mengubah semua atau
sebagian besar aplikasi yang sudah di implementasi.
Arsitektur Microservices
• Arsitektur microservices adalah model arsitektur aplikasi yang memisahkan aplikasi menjadi
beberapa komponen yang independen yang dapat di-deploy dan diubah tanpa mempengaruhi
komponen lainnya. Dalam arsitektur ini, setiap komponen aplikasi (atau “microservice”)
diimplementasikan sebagai aplikasi yang berdiri sendiri, yang dapat dikembangkan, di-deploy,
dan diubah secara independen.
• Kelebihan : lebih mudah untuk di-scaling secara parsial. Jika salah satu bagian dari aplikasi
mengalami masalah, hanya bagian tersebut yang terpengaruh, sehingga mengurangi dampak pada
seluruh sistem. Selain itu, arsitektur ini juga lebih mudah untuk dikembangkan dan diperbarui,
karena setiap komponen dapat dikembangkan dan diperbarui secara independen.
• Kekurangan : lebih sulit untuk di-debug dan di-maintain karena setiap komponen berada dalam
lingkungan yang terpisah. Komunikasi antar komponen menjadi lebih rumit, sehingga diperlukan
konfigurasi yang baik dan infrastruktur yang kuat untuk mengelola komunikasi tersebut.
Contoh Implementasi Microservices
Amazon
• e-commerce dengan 300 juta pelanggan aktif dan lebih dari 1,9 juta
merchant.
• Pada awalnya, Amazon beroperasi dengan arsitektur monolitik. Namun,
seiring dengan lonjakan jumlah pelanggan dan perkembangan bisnisnya,
arsitektur ini mulai menimbulkan masalah terkait pengembangan,
pemeliharaan kode, dan keterkaitan layanan.
• Akibatnya, Amazon memutuskan untuk beralih ke arsitektur microservices,
yang memungkinkan berbagai layanannya beroperasi secara independen.
• Sebagai hasilnya, Amazon sekarang memiliki tim pengembang terpisah
yang bertanggung jawab untuk mengelola fungsi-fungsi tertentu, seperti
fitur “Masukkan ke Keranjang”, penggunaan voucher, dan lain-lain.
Terimakasih

More Related Content

PPTX
Tugas 2 0317-nurul azmi-1412510587
PPTX
Tugas 2 0317-fahreza yozi-1612510832
PPTX
Tugas 2 0317-imelda felicia-1412510545
PPTX
Tugas 2 0317-dewi apriliani-1412510602
PPT
hhh
PDF
Apa Itu Web Server Cara Kerja dan Fungsi dari Server Itu Sendiri.pdf
PPTX
Tugas[2] 0317-[tryanita]-[1411511676]
PPTX
WEB SERVER hsjskabqmmwhahyuaiajggnew.pptx
Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-fahreza yozi-1612510832
Tugas 2 0317-imelda felicia-1412510545
Tugas 2 0317-dewi apriliani-1412510602
hhh
Apa Itu Web Server Cara Kerja dan Fungsi dari Server Itu Sendiri.pdf
Tugas[2] 0317-[tryanita]-[1411511676]
WEB SERVER hsjskabqmmwhahyuaiajggnew.pptx

Similar to M1_Pengantar Java Website Aplikasi Online.pdf (20)

PDF
Dasar web-dan-html
PDF
Pbw week 01 basics
PPTX
Teori Web Database Server Linux Debian
PPT
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
PPTX
Pertemuan 2-DASAR DASAR World Wide Web (WWW)(1).pptx
DOCX
Makalah web server debian 6 - refzqi
PDF
Tipe tipe dan model client server-plus
PPT
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
PPT
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
PDF
01konseppemrogramaninternet
PPT
Pengenalan_Pemrograman_Web_Berbasis_HTML.ppt
PPT
Dasar web dan html
PPTX
Tugas 2 ihsan riadi - 1412511162
PDF
Materi-1-Pemrograman Web.pdf
PPT
World wide web
DOC
Laporan pemrograman visual3
PPTX
Tugas rekweb 2 individu
PDF
01konseppemrogramaninternet
PDF
10. m 12 pertemuan 23
PPT
Dasar web dan html
Dasar web-dan-html
Pbw week 01 basics
Teori Web Database Server Linux Debian
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
Pertemuan 2-DASAR DASAR World Wide Web (WWW)(1).pptx
Makalah web server debian 6 - refzqi
Tipe tipe dan model client server-plus
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
01konseppemrogramaninternet
Pengenalan_Pemrograman_Web_Berbasis_HTML.ppt
Dasar web dan html
Tugas 2 ihsan riadi - 1412511162
Materi-1-Pemrograman Web.pdf
World wide web
Laporan pemrograman visual3
Tugas rekweb 2 individu
01konseppemrogramaninternet
10. m 12 pertemuan 23
Dasar web dan html
Ad

Recently uploaded (10)

PDF
Labuan4D situs Exclusive Game S 1 0 t & T O 9 E 1 dari server NO 01 Gaming Asia.
PPTX
saya adalah seorang penulis awalann.pptx
PPTX
Modul 2. Pengoperasian Pengaplikasian dan Kolaborasi Perangkat Kecerdasan Art...
PPTX
materi mata pelajaran koding dan kecerdasan artifisial
PPT
Firewall dalam Jaringan - Kelas 12 TKJ 2025/2026
PDF
IdREN Multi Access Edge Computing dan bangun ruang
DOCX
623175210-PROSEM-KELAS-X-SEM-GANJIL.docx
PPTX
MATERI Literasi digital ASN TAHUN 2025.pptx
PDF
Aksara nglagena_20250726_094730_0000.pdf
PPTX
Modul 1. Pengenalan Koding-KA di Dikdasmen.pptx
Labuan4D situs Exclusive Game S 1 0 t & T O 9 E 1 dari server NO 01 Gaming Asia.
saya adalah seorang penulis awalann.pptx
Modul 2. Pengoperasian Pengaplikasian dan Kolaborasi Perangkat Kecerdasan Art...
materi mata pelajaran koding dan kecerdasan artifisial
Firewall dalam Jaringan - Kelas 12 TKJ 2025/2026
IdREN Multi Access Edge Computing dan bangun ruang
623175210-PROSEM-KELAS-X-SEM-GANJIL.docx
MATERI Literasi digital ASN TAHUN 2025.pptx
Aksara nglagena_20250726_094730_0000.pdf
Modul 1. Pengenalan Koding-KA di Dikdasmen.pptx
Ad

M1_Pengantar Java Website Aplikasi Online.pdf

  • 2. Overview • Arsitektur Web • Arsitektur API • Arsitektur Monolitik dan Microservices
  • 3. Prasyarat • Arsitektur Aplikasi Web • Client-server, 2-tier, 3-tier • HTTP • Pemrograman Java
  • 5. Arsitektur Web • Pengguna memasukkan URL ke dalam bilah alamat (address bar) pada web browser. URL ini adalah alamat unik yang mengarahkan browser untuk mencari dan mengambil sumber daya tertentu di internet, seperti halaman web atau berkas.
  • 6. Arsitektur Web • Browser mengirimkan permintaan HTTP ke server yang ditentukan dalam URL. Permintaan ini berisi informasi tentang sumber daya yang diinginkan, seperti halaman web atau berkas lainnya.
  • 7. Arsitektur Web • Request data adalah proses di mana web server meminta informasi atau data tertentu dari database server. Permintaan data ini dilakukan oleh web server dengan mengirimkan kueri atau permintaan ke database server.
  • 8. Arsitektur Web • Data adalah informasi yang diperoleh dari database server sebagai respons terhadap permintaan data yang dilakukan oleh web server. Setelah database server menerima kueri dari web server, ia akan memproses kueri tersebut dan mengambil data yang sesuai dari tabel atau basis data.
  • 9. Arsitektur Web • Setelah server memproses permintaan, ia mengirimkan respons HTTP kembali ke browser. Respons ini berisi data yang diperlukan untuk menampilkan halaman web yang diminta, termasuk HTML, CSS, JavaScript, gambar, atau data lainnya.
  • 10. Arsitektur Web • Setelah browser memproses data, hasil akhirnya ditampilkan kepada pengguna melalui layar perangkat. Ini adalah halaman web yang siap dilihat dan diinteraksikan oleh pengguna.
  • 11. Client – Server Architecture 1. Arsitektur yang menjelaskan pemisahan kerja antara penyedia informasi/layanan (server) dengan peminta informasi (client) 2. Seringkali client dan server beroperasi dalam Jaringan komputer dengan client dan server ada di mesin/hardware yang berbeda 3. Client tidak membagi informasi namun meminta informasi dari server 4. Mesin server biasanya adalah host dengan performansi tinggi yang menjalankan satu atau lebih program server. server membagi informasi ke client 5. Client menginisialisasi sesi komunikasi dengan server, dan server menunggu (await/listen) pada request yang datang
  • 12. 2 Tier • Client: Ini adalah bagian antarmuka pengguna (user interface) yang berjalan di perangkat pengguna. Komponen ini bertanggung jawab untuk menampilkan, menerima, dan menyediakan tampilan antarmuka pengguna. • Server: Ini adalah bagian dari sistem yang berjalan di mesin server atau infrastruktur yang terpusat. Server mengelola logika bisnis dan data yang digunakan oleh aplikasi. Ini adalah tempat database disimpan dan diproses.
  • 13. 3 Tier • Presentation Layer yang bertanggung jawab untuk antarmuka pengguna dan tampilan. Ini berada di sisi client. • Business Logic Tier yang menangani logika bisnis, pemrosesan, dan kontrol aplikasi. Tier ini sering disebut juga sebagai application server. • Data Management Tier bertugas untuk menyimpan dan mengelola data yang digunakan oleh aplikasi. Tier ini sering disebut juga sebagai database server.
  • 14. Web Server 1. Web Server bertanggung jawab untuk menerima request dari client kemudian merespon request tersebut. 2. Request dari client berupa dokumen-dokumen web (web resources) seperti dokumen html, image, dll 3. Contoh web server: Apache, IIS, Xitami 4. Saat klien (misalnya, browser web) mengirimkan permintaan untuk mengakses halaman web atau sumber daya lainnya, web server akan menerima permintaan ini, mengambil sumber daya yang diminta, dan mengirimkannya kembali ke klien. Selain itu, web server juga dapat menjalankan fungsi seperti pemrosesan formulir, otentikasi pengguna, dan menyediakan layanan web lainnya sesuai dengan konfigurasinya.
  • 15. Web Client 1. Web client, atau lebih umum dikenal sebagai "browser," adalah program komputer yang digunakan oleh pengguna untuk mengirimkan permintaan (request) ke web server dan menerima serta menampilkan dokumen-dokumen web (web resources) yang diterima dari server. 2. Browser berfungsi sebagai antarmuka antara pengguna dan konten web yang ada di internet. 3. Contoh web client atau browser yang populer termasuk Internet Explorer (IE), Mozilla Firefox, Opera, Google Chrome, Safari, dan banyak lagi. 4. Browser menginterpretasikan kode HTML, CSS, JavaScript, dan jenis konten web lainnya untuk menampilkan halaman web kepada pengguna dengan tampilan grafis yang interaktif.
  • 16. HTTP 1. HTTP (HyperText Transfer Protocol) adalah sebuah protokol untuk meminta dan menjawab antara client dan server. 2. HTTP berkomunikasi melalui TCP / IP. Klien HTTP terhubung ke server HTTP menggunakan TCP. Setelah membuat sambungan, klien dapat mengirim pesan permintaan HTTP ke server. 3. HTTP digunakan untuk mengirimkan permintaan dari klien web (browser) ke web server, dikembalikan ke konten web (halaman web) dari server ke klien. 4. Metode HTTP adalah tindakan yang diterapkan pada sumber daya yang diminta oleh client. Contoh metode HTTP meliputi GET (mengambil informasi dari server), POST (mengirim data ke server), PUT (mengganti atau memperbarui sumber daya), DELETE (menghapus sumber daya), dan lain-lain.
  • 18. Web Statis Web Dinamis Pengguna hanya dapat melihat, tanpa bisa melakukan interaksi apapun. Seperti mengisi data atau yang lain. Pengguna dapat mengupdate informasi atau konten langsung dari website- nya Kebanyakan digunakan pada website company profile. Karena hanya menampilkan informasi penting saja. Digunakan pada banyak situs, seperti web toko online, website blog pribadi dan masih banyak lagi. Tidak banyak menggunakan bahasa pemrograman, hanya sebatas HTML & CSS. Biasanya ditambah juga Javascript agar web terlihat lebih hidup. Menggunakan bahasa pemrograman web, seperti PHP, Java, MySQL, dan yang lain. Waktu pembuatan web-nya relatif singkat, tergantung banyaknya halaman yang dibuat. Waktu pembuatan memakan waktu yang cukup lama. File tiap halaman terpisah, sehingga apabila ingin membuat halaman baru maka harus membuat file baru juga. Apabila hendak membuat halaman baru, tidak perlu membuat file lagi. Cukup buatkan saja programnya. Informasi atau konten jarang di-update. Konten bisa di-update kapan saja. Tidak menggunakan database, semua informasi tersimpan dalam satu file halaman tersebut. Menggunakan database, untuk menyimpan data-data. Sehingga ketika web diakses, tinggal mengambil dari database tersebut.
  • 19. Application Programming Interface Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb • API adalah antarmuka perangkat lunak yang memungkinkan dua aplikasi untuk berkomunikasi satu sama lain. • Dengan menggunakan API, Anda dapat mengirim permintaan untuk mengakses data atau fungsionalitas dari aplikasi atau layanan lain, dan kemudian menerima respons dengan informasi yang diminta. • Ini memungkinkan berbagai aplikasi untuk berinteraksi satu sama lain dan berbagi data tanpa harus mengetahui atau memahami secara rinci bagaimana aplikasi lain diimplementasikan di bawahnya. Contoh : ✓ Log-In Apps ✓ Google Maps ✓ Travel Booking ✓ E-commerce
  • 20. Cara Kerja API Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb
  • 21. Cara Kerja API Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb • Pengguna memasukkan URL di browser, yang menghasilkan permintaan HTTP (GET, POST, PUT, DELETE, dll) ke server. • Permintaan HTTP dikirim melalui internet menggunakan protokol TCP/IP. Permintaan ini akan melewati berbagai perangkat jaringan seperti router, switch, dan firewall sebelum mencapai tujuan akhir.
  • 22. • Ketika permintaan mencapai server, API yang relevan akan menangani permintaan tersebut. API akan memproses permintaan yang diterima dan menentukan apa yang harus dilakukan berdasarkan pada endpoint yang diminta dan data yang disertakan. • Setelah permintaan diproses oleh API, API akan berinteraksi dengan server web untuk mendapatkan atau memperbarui data yang diperlukan dari atau ke database. Server web bertindak sebagai perantara antara API dan database. Ini juga dapat menangani tugas- tugas seperti autentikasi, otorisasi, dan pemrosesan permintaan tambahan sebelum atau setelah interaksi dengan database. Cara Kerja API
  • 23. Cara Kerja API Source : https://medium.com/@singhrishabh1670/application-programming-interface-api-6f10964856cb • Jika diperlukan, server web akan berkomunikasi dengan database untuk mengambil atau menyimpan data yang diperlukan berdasarkan permintaan dari API. Ini mungkin melibatkan ekstraksi data dari tabel, melakukan operasi CRUD (Create, Read, Update, Delete), atau menjalankan kueri kompleks tergantung pada logika bisnis yang terkait.
  • 24. Cara Kerja API • Web Server Response: Setelah data diproses oleh server web dan/atau database, server akan menghasilkan respons yang sesuai. Respons ini mungkin berupa data mentah, seperti JSON atau XML, atau mungkin juga berupa halaman HTML yang siap ditampilkan kepada pengguna. • API Response: Respons dari server web akan dikirim kembali ke API, yang kemudian akan mengemasnya dalam format yang sesuai (misalnya, JSON) dan mengirimkannya kembali ke pengguna melalui internet. • Web Browser Response: Akhirnya, respons dari API akan mencapai web browser pengguna, yang akan memprosesnya dan menampilkan informasi atau menjalankan tindakan yang diperlukan, seperti menampilkan data atau memperbarui tampilan halaman.
  • 25. Arsitektur API Ada setidaknya tiga arsitektur yang umum digunakan untuk API. Arsitektur-arsitektur tersebut menentukan metode bagaimana API ini dapat diakses. Berikut adalah arsitektur tersebut:
  • 26. REST API • REST (Representational State Transfer) adalah arsitektur berbasis web yang menggunakan protokol HTTP untuk mentransfer data antara pengguna dan server. • Dalam arsitektur REST, sumber daya (resource) diidentifikasi oleh URL (Uniform Resource Locator), dan operasi yang dilakukan pada sumber daya tersebut dikirim melalui metode HTTP seperti GET, POST, PUT, atau DELETE. • REST menggunakan representasi data dalam format JSON (JavaScript Object Notation) atau XML (eXtensible Markup Language). • Prinsip pada REST yaitu : Client-Server Architecture, Statelessness, Cacheable, Layered System dan Uniform Interface.
  • 28. Contoh REST API Get request: GET https://restexample.com/users?name=John API REST menerima parameter GET dari URI. API REST umumnya menggunakan format data JSON. Pengguna direpresentasikan dalam JSON seperti ini:
  • 29. REST API vs RESTful API REST API • Gaya arsitektur yang mendefinisikan serangkaian batasan dan prinsip untuk membuat layanan web. • Rest API menekankan penggunaan metode HTTP (seperti GET, POST, PUT, dan DELETE) untuk melakukan operasi CRUD (Buat, Baca, Perbarui, Hapus) pada sumber daya. RESTful API • Implementasi spesifik dari Rest API yang mematuhi semua batasan dan prinsip Rest API.
  • 30. SOAP API • SOAP (Simple Object Access Protocol) adalah Arsitektur menggunakan protokol XML untuk pertukaran pesan antara klien dan server. • Dalam arsitektur SOAP, pesan dikemas dalam format XML dan dikirim melalui protokol HTTP atau protokol lainnya seperti SMTP (Simple Mail Transfer Protocol) atau JMS (Java Message Service). • Dalam penerapannya, SOAP secara ketat mendefinisikan bagaimana pesan harus dikirim dan apa yang harus disertakan di dalamnya (SOAP encoding rules) sehingga membuat arsitektur SOAP menjadi lebih aman dibandingkan dengan REST.
  • 32. Contoh SOAP API <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/> <soapenv:Header/> <soapenv:Body> <ns2:UserDetailsResponse xmlns:ns2="http://www.soapexample.com/xml/users"> <ns2:User> <ns2:name>John</ns2:name> <ns2:age>5</ns2:age> <ns2:address>Greenville</ns2:address> </ns2:User> </ns2:UserDetailsResponse> </soapenv:Body> </soapenv:Envelope> Dengan menggunakan SOAP, permintaan ke API adalah permintaan HTTP POST dengan request body XML. Request body terdiri dari sebuah envelope yang merupakan jenis pembungkus SOAP yang mengidentifikasi API yang diminta, dan sebuah body SOAP yang memegang parameter permintaan. Dalam hal ini, body SOAP mewakili data pengguna yang diminta.
  • 33. Kelebihan & Kekurangan Source : https://blog.postman.com/soap-vs-rest/ REST API Kelebihan Kelemahan Skalabilitas Tidak cocok untuk fungsionalitas real-time Konvensi universal Overhead signifikan dengan transfer data biner Interoperabilitas Ketergantungan pada HTTP Kinerja yang ditingkatkan Ketergantungan pada cache SOAP Kelebihan Kelemahan Kemampuan ekstensibilitas Performa yang kurang baik Mendukung banyak protokol Mendukung banyak protokol Tipe data yang kuat Tipe data yang kuat Penanganan kesalahan yang terstandarisasi - Keamanan yang ditingkatkan -
  • 34. Perbedaan SOAP API vs REST API Fitur SOAP REST Singkatan Simple Object Access Protocol Representational State Transfer Interface Menggunakan antarmuka layanan Menggunakan URI Jenis Protokol Gaya arsitektur Format Data Menggunakan XML saja Mendukung berbagai format data (JSON, XML, teks biasa, HTML) Keamanan Mendukung WS-Security Dapat menggunakan protokol HTTP yang aman (HTTPS) Deskripsi Biasanya menggunakan file Web Service Description Language (WSDL) Tidak memiliki deskripsi formal seperti WSDL API Memperlihatkan operasi Memperlihatkan data Analogi Seperti amplop, menunjukkan struktur dan encapsulation Seperti kartu pos, menunjukkan sederhana dan langsung Kebutuhan Memerlukan lebih banyak server dan bandwidth Memerlukan lebih sedikit server dan bandwidth
  • 35. Kapan memakai SOAP atau REST API? • REST cocok digunakan untuk membuat website maupun aplikasi smartphone. REST API kompatibel dengan browser karena JSON digunakan sebagai format data. Pembuatan aplikasi seluler juga lebih kompatibel dengan REST karena ukurannya yang kecil. • SOAP akan cocok jika digunakan untuk layanan web tingkat perusahaan yang memerlukan transaksi kompleks dan membutuhkan tingkat keamanan level tinggi. API SOAP sangat ideal jika digunakan sebagai layanan gateway pembayaran, perangkat lunak CRM, manajemen identitas, dan layanan keuangan.
  • 37. Arsitektur Monolitik • Arsitektur monolitik adalah cara pembuatan sistem yang menempatkan semua fungsi dan fitur dalam satu aplikasi tunggal yang besar. Aplikasi ini biasanya ditulis dalam satu bahasa pemrograman, dijalankan di satu server, dan diakses melalui satu endpoint. Arsitektur monolitik ini merupakan cara yang paling mudah dan cepat untuk membuat sistem, karena semua komponen berada dalam satu tempat. • Kelebihan : lebih mudah untuk di-debug dan di-maintain karena semua komponen tersedia dalam satu aplikasi. Selain itu, arsitektur ini juga lebih mudah untuk di-deploy karena hanya satu aplikasi yang perlu diperhatikan. • Kekurangan : lebih sulit untuk di-scaling secara parsial. Jika salah satu bagian dari aplikasi mengalami masalah, maka seluruh aplikasi akan terpengaruh. Selain itu, arsitektur ini juga cenderung membuat aplikasi menjadi kompleks dan sulit untuk dikembangkan lebih lanjut. Arsitektur monolitik juga tidak fleksibel terhadap perubahan bisnis maupun teknologi, karena diharuskan mengubah semua atau sebagian besar aplikasi yang sudah di implementasi.
  • 38. Arsitektur Microservices • Arsitektur microservices adalah model arsitektur aplikasi yang memisahkan aplikasi menjadi beberapa komponen yang independen yang dapat di-deploy dan diubah tanpa mempengaruhi komponen lainnya. Dalam arsitektur ini, setiap komponen aplikasi (atau “microservice”) diimplementasikan sebagai aplikasi yang berdiri sendiri, yang dapat dikembangkan, di-deploy, dan diubah secara independen. • Kelebihan : lebih mudah untuk di-scaling secara parsial. Jika salah satu bagian dari aplikasi mengalami masalah, hanya bagian tersebut yang terpengaruh, sehingga mengurangi dampak pada seluruh sistem. Selain itu, arsitektur ini juga lebih mudah untuk dikembangkan dan diperbarui, karena setiap komponen dapat dikembangkan dan diperbarui secara independen. • Kekurangan : lebih sulit untuk di-debug dan di-maintain karena setiap komponen berada dalam lingkungan yang terpisah. Komunikasi antar komponen menjadi lebih rumit, sehingga diperlukan konfigurasi yang baik dan infrastruktur yang kuat untuk mengelola komunikasi tersebut.
  • 39. Contoh Implementasi Microservices Amazon • e-commerce dengan 300 juta pelanggan aktif dan lebih dari 1,9 juta merchant. • Pada awalnya, Amazon beroperasi dengan arsitektur monolitik. Namun, seiring dengan lonjakan jumlah pelanggan dan perkembangan bisnisnya, arsitektur ini mulai menimbulkan masalah terkait pengembangan, pemeliharaan kode, dan keterkaitan layanan. • Akibatnya, Amazon memutuskan untuk beralih ke arsitektur microservices, yang memungkinkan berbagai layanannya beroperasi secara independen. • Sebagai hasilnya, Amazon sekarang memiliki tim pengembang terpisah yang bertanggung jawab untuk mengelola fungsi-fungsi tertentu, seperti fitur “Masukkan ke Keranjang”, penggunaan voucher, dan lain-lain.