SlideShare a Scribd company logo
Microservices
Eko Kurniawan Khannedy
License
● Dokumen ini boleh Anda gunakan atau ubah untuk keperluan non komersial
● Tapi Anda wajib mencantumkan sumber dan pemilik dokumen ini
● Untuk keperluan komersial, silahkan hubungi pemilik dokumen ini
Eko Kurniawan Khannedy
- Technical architect at one of the biggest
ecommerce company in Indonesia
- 11+ years experiences
- www.programmerzamannow.com
- youtube.com/c/ProgrammerZamanNow
Intro
Untuk Siapa Materi Ini?
● Web Programmer
● Backend Programmer
● Software Architect
● DevOps Engineer
Fokus Materi Belajar Microservices
● Teori dan Konsep
● Contoh Kasus
● Tidak Spesifik ke Teknologi Tertentu
Kenapa Perlu Belajar Microservices?
● Kekinian
● Ekosistem Pendukung
● Banyak Digunakan di Tech Company
● Sudah Jadi Pengetahuan Wajib untuk Senior Engineer
Arsitektur Monolith
Apa itu Arsitektur Monolith?
● Single Deployment Unit
● Dimana semua fitur dibuat dalam sebuah aplikasi besar
Arsitektur Monolith
Mulailah dari Aplikasi Monolith
Kelebihan Arsitektur Monolith
● Mudah di Develop
● Mudah di Deploy
● Mudah di Test
● Mudah di Scale
Masalah di Arsitektur Monolith
● Mengintimidasi Developer yang baru bergabung
● Scaling development dengan banyak Developer agak menyulitkan
● Butuh kontrak panjang dengan teknologi yang digunakan (bahasa pemrograman, database, dan
lain-lain)
● Scaling pada bagian tertentu tidak bisa dilakukan
● Running app Monolith sangat berat
Arsitektur Microservice
Apa itu Arsitektur Microservices
● Aplikasi-aplikasi kecil yang saling bekerja sama.
● Fokus mengerjakan satu pekerjaan dengan baik
● Independent, dapat di deploy dan diubah tanpa tergantung dengan aplikasi lain
● Setiap komponen pada sistem dibuat dalam service
● Komunikasi antar service biasanya melalui network-call
Arsitektur Microservices
Kelebihan Arsitektur Microservices
● Mudah dimengerti, karena relative kecil ukuran service nya
● Lebih mudah di develop, di maintain, di test dan di deploy
● Lebih mudah bergonta-ganti teknologi
● Mudah di scale sesuai kebutuhan
● Bisa dikerjakan dalam tim-tim kecil
Masalah di Arsitektur Microservices
● Distributed system
● Komunikasi antar service yang rawan error
● Testing interaksi antar service lebih sulit
Pembagian Aplikasi Microservices
Merchant
Product
Shipping
Seberapa Kecil Aplikasi Microservices?
● Single responsibility
● Sekecil mungkin sehingga bisa dimengerti oleh satu orang
● Bisa di kerjakan sejumlah X developer
Monolith
● Simplicity
● Consistency
● Easy to Refactor
● Partial Deployment
● Availability
● Multiple Platform
● Easy to Scale
Microservices
Database per Service
Decentralized Database
MySQL Mongo Postgre Oracle
Kenapa Harus Database per Service?
● Memastikan bahwa antar service tidak ketergantungan
● Tiap service bisa menggunakan aplikasi database sesuai dengan kebutuhan
● Service tidak perlu tahu kompleksitas internal database service lain
Contoh Database per Service
Shared Database
Shared Database
MySQL MySQL
Kapan Harus Shared Database?
● Ketika melakukan transisi dari aplikasi Monolith ke Microservices
● Ketika bingung memecahkan data antar Service
● Ketika dikejar waktu, sehingga tidak ada waktu untuk bikin API
Contoh Shared Database
NoSQL
Apa itu NoSQL?
● NoSQL bukanlah NO (TIDAK/BUKAN) SQL
● NoSQL singkatan dari Not Only SQL
Jenis-Jenis NoSQL
● Document Oriented Database
● Key-Value Database
● Column Families Database
● Graph Database
● Search Database
● Time Series Database
● Dan lain-lain
Contoh NoSQL Database
● MongoDB : Document Oriented Database
● Elasticsearch : Search Database
● Redis : Key-Value Database
● Apache Cassandra : Column Families Database
● Neo4J : Graph Database
● InfluxDB : Time Series Database
Kenapa Butuh Tahu NoSQL?
● Agar bisa disesuaikan dengan kebutuhan
● Bisa mencari alternatif cara mengolah data
● Mempercepat dalam proses penulisan atau pencarian
Contoh Kasus
Remote Procedure Invocation
Ketika Service butuh Data Service Lain
Komunikasi Antar Service
● Idealnya komunikasi dilakukan melalui RPI (Remote Procedure Invocation) atau RPC (Remote
Procedure Call)
● Tidak direkomendasikan komunikasi dilakukan via database
Contoh Remote Procedure Invocation
● RESTful API (HTTP)
● gRPC
● Apache Thrift
● SOAP
● Java RMI
● Corba (Common Object Request Broker Architecture)
● dan lain-lain
Ketika Service butuh Data Service Lain
Keuntungan Menggunakan RPI
● Sederhana dan Mudah
● Biasanya digunakan untuk komunikasi Request - Reply
● Biasanya digunakan untuk proses Sync (yang butuh menunggu jawaban)
Messaging
Ketika Service butuh Data Service Lain
Komunikasi Menggunakan RPI
Masalah di Komunikasi RPI
● Proses lama (pada Email Service dan SMS Service)
● Mengirim data yang sama berkali-kali (pada Finance Service dan Report Service)
● Membuat Paralel Process sangat rumit
Komunikasi dengan Cara Messaging
● Messaging biasanya digunakan untuk komunikasi Async
● Async artinya komunikasi dilakukan tanpa harus menunggu selesai di proses
● Dalam async, kadang tidak perlu peduli balasan dari service yang dituju
● Biasanya komunikasi Messaging membutuhkan Message Channel sebagai jembatan untuk
mengirim dan menerima data
● Direkomendasikan menggunakan aplikasi Message Broker untuk melakukan management
Message Channel
Komunikasi Menggunakan Messaging
Contoh Message Broker
● Redis (PubSub)
● Apache Kafka
● RabbitMQ
● NSQ
● Google PubSub
● Amazon Web Service SQS
● dan lain-lain
Keuntungan Menggunakan Messaging
● Proses lebih cepat karena tidak harus menunggu response
● Service pengirim data tidak perlu peduli terhadap penerima data
Type of Microservices
Tipe Microservices
● Stateless Microservice
● Persistence Microservice
● Aggregation Microservices
Stateless Microservices
● Biasanya tidak memiliki database
● Digunakan untuk melakukan tugas sederhana
● Biasa digunakan juga sebagai utility untuk microservice lain
● Tidak bergantung dengan microservice lain
Contoh Stateless Microservices
Persistence Microservices
● Biasanya memiliki database
● Bisa juga disebut sebagai Master Data Microservice
● Biasa digunakan untuk mengolah data di database (CRUD)
Contoh Persistence Microservices
Aggregation Microservices
● Tergantung dengan microservice lain
● Biasa digunakan sebagai pusat business logic aplikasi
● Boleh memiliki database ataupun tidak
● Tidak bisa berdiri sendiri
Contoh Aggregation Microservices
Contoh Kasus
Service Orchestration
Service Orchestration
● Sebelumnya kita sudah bahas tentang tipe Aggregation Microservices
● Cara Aggregation Microservices berkomunikasi dengan Microservices lain, jika menggunakan
Remote Procedure Invocation, maka dinamakan Service Orchestration Pattern
● Dalam Service Orchestration Pattern, Aggregation Microservices bertugas untuk mengatur alur
business logic sistem.
Contoh Service Orchestration
Keuntungan Service Orchestration
● Mudah dibuat, karena kode business logic akan terpusat di Aggregation Microservices
● Mudah dimengerti, karena kode business logic akan terpusat di Aggregation Microservices
Kekurangan Service Orchestration
● Aggregation Microservices terlalu ketergantungan dengan Microservices lain
● Aggregation Microservices akan lebih lambat karena harus terkoneksi dengan Microservices lain
● Aggregation Microservices akan lebih mudah error jika di Microservices lain terdapat masalah
● Jika perlu Microservices baru, perlu dilakukan perubahan di Aggregation Microservices
Kekurangan Service Orchestration
Service Choreography
Service Choreography
● Service Choreography berbeda dengan Service Orchestration.
● Dalam Service Choreography, komunikasi Aggregation Service dengan Microservices lainnya
menggunakan Messaging.
● Dalam Service Orchestration, Aggregation Microservice adalah service yang sangat kompleks dan
mengerti semua alur business logic, sedangkan berbeda dengan Service Choreography, semua
Microservices dituntut untuk menjadi pintar, tidak hanya diperintah oleh Aggregation
Microservices.
Contoh Service Choreography
Keuntungan Service Choreography
● Aggregation Microservices tidak tergantung dengan Microservices lainnya
● Aggregation Microservice akan lebih cepat, karena tidak perlu berkomunikasi dengan
Microservices lainnya
● Jika ada Microservice baru, Aggregation Microservice tidak perlu melakukan perubahan lagi
Keuntungan Service Choreography
Kekurangan Service Choreography
● Lebih sulit di-debug ketika terjadi masalah
● Business logic akan terdistribusi di semua Microservices, sehingga sulit untuk dimengerti secara
keseluruhan
API Gateway
Mengekspos Microservices
Masalah Mengekspos Microservices
● Semua service bisa diakses dari luar
● Jika butuh Autentikasi, harus diimplementasikan di semua service
● Rawan terjadi kebocoran data
API Gateway
● API Gateway adalah aplikasi yang bertugas sebagai gerbang dari luar ke dalam
● Luar adalah akses dari internet, dan Dalam adalah aplikasi microservices
● API Gateway bertugas sebagai proxy server ke semua aplikasi microservices
● Aplikasi microservices hanya bisa diakses dari luar melalui API Gateway
API Gateway
Keuntungan API Gateway
● Lebih aman karena satu gerbang
● Service tidak perlu mengimplementasikan proses Autentikasi, cukup dilakukan di API Gateway
● API Gateway juga bisa digunakan sebagai load balancer
● Bisa digunakan sebagai rate limiter
● Bisa digunakan sebagai pengaman sehingga error dari service tidak terekspos
Contoh API Gateway
● Nginx
● Apache HTTPD
● Kong
● Netflix Zuul
● Spring Cloud Gateway
Authentication & Authorization
Bagaimana Mengamankan Microservices?
Authentication dan Authorization
Authentication :
● Memvalidasi kredensial untuk
memverifikasi pemilik identitas
● Contoh proses Authentication adalah
proses login menggunakan username dan
password, dan banyak yang lainnya.
Authorization :
● Authorization adalah proses yang
dilakukan setelah proses Authentication
● Memvalidasi apakah pemilik identitas
memiliki hak akses untuk mengakses
resource yang diminta
● Contoh proses Authorization adalah
Access-Control List, dan banyak yang
lainnya.
Auth Service
Integrasi dengan Auth Service
API Gateway sebagai Middleware
Teknologi Pendukung
● Secure Cookie
● Oauth
● JSON Web Token
● Basic Auth
● API Key / Secret Key
Backend for Frontend
Permasalahan Banyak Jenis Frontend
Permasalahan Banyak Jenis Frontend
● Tiap frontend punya mekanisme autentikasi berbeda
● Kecepatan bandwidth tiap frontend berbeda
● API yang dibutuhkan tiap frontend berbeda
● Semua kebutuhan jenis frontend harus diimplementasikan di satu API Gateway
Backend for Frontend
● Backend for Frontend adalah menyediakan backend khusus untuk frontend tertentu
● Biasanya satu backend akan melayani satu frontend secara specific
● Makin banyak jenis frontend, makin banyak backend yang dibuat
Backend for Frontend
Keuntungan Backend for Frontend
● Pengembangan backend untuk tiap frontend bisa terisolasi satu sama lain
● Logic untuk frontend tidak tercampur di satu backend
GraphQL : Alternative Backend for Frontend
● GraphQL adalah query language untuk API
● GraphQL dapat digunakan untuk memanipulasi response API secara runtime
● Frontend bebas menentukan data apa aja yang ingin didapatkan
● Backend hanya perlu menyediakan data lengkap, dan Frontend bisa dengan bebas menentukan
data apa aja yang diinginkan.
GraphQL : Alternative Backend for Frontend
Kekurangan Menggunakan GraphQL
● Butuh melakukan development GraphQL Server di Backend
● Butuh melakukan development GraphQL Client di Frontend
CQRS (Command Query
Responsibility Segregation)
Persistence Microservices
Command Query Responsibility Segregation
● CQRS adalah proses membedakan operasi Command dan operasi Query
● Operasi Command adalah operasi mengubah data (Create, Update, Delete)
● Operasi Command adalah operasi mengambil data (Get, Search)
● Dalam CQRS, biasanya service atau database dibedakan untuk kebutuhan Command dan
kebutuhan Query
CQRS
Keuntungan CQRS
● Bisa memilih database berbeda yang optimal untuk proses Command dan Query, sehingga operasi
Command dan Search bisa lebih cepat, karena database nya sudah disesuaikan dengan kebutuhan
● Membedakan model untuk Command dan Query di aplikasi akan lebih mudah dibanding digabung
di satu model yang sama untuk proses Command dan Query
● Performa aplikasi akan lebih baik, karena kita membedakan component untuk Command dan
Query
CQRS Menggunakan Messaging
Keuntungan CQRS Menggunakan Messaging
● Aplikasi Command dan Query terpisah, sehingga bisa dikerjakan oleh tim yang berbeda secara
paralel
● Aplikasi Command tidak perlu pusing memikirkan struktur data Aplikasi Query, hanya cukup
mengirim datanya ke Message Broker
● Scaling aplikasi bisa sesuai dengan kebutuhan, baik itu Command atau Query
● Jika Aplikasi Query sedang stop atau error, data dari Aplikasi Command akan tetap aman
tersimpan di Message Broker
● Mekanisme retry akan lebih mudah dilakukan jika melalui Message Broker
Server Side Discovery
Komunikasi Antar Microservices
Server Side Discovery
● Membuat server khusus sebagai router atau load balancer ke service
● Client hanya butuh terkoneksi ke router atau load balancer
● Jika jumlah node service bertambah atau berkurang, router yang hanya perlu dirubah, client tidak
perlu berubah
Server Side Discovery
Contoh Router atau Load Balancer
● Nginx
● Apache HTTPD
● Traefik
Kekurangan Server Side Discovery
Kekurangan Server Side Discovery
● Tiap service harus memiliki router atau load balancer
● Agar tidak terjadi single point of failure, maka router atau load balancer harus di setup sebanyak 2
instance
● Cost biaya akan lebih mahal, karena 1 service harus menjalankan 2 router
Client Side Discovery
Kekurangan Server Side Discovery
● Tiap service harus memiliki router atau load balancer
● Agar tidak terjadi single point of failure, maka router atau load balancer harus di setup sebanyak 2
instance
● Cost biaya akan lebih mahal, karena 1 service harus menjalankan 2 router
Client Side Discovery
● Client side discovery adalah solusi agar client harus bisa tahu lokasi semua lokasi service yang
akan dituju
● Tidak perlu lagi ada router atau load balancer untuk berkomunikasi dengan Service lain
● Semua logic untuk mendistribusikan traffic harus dilakukan di client atau service yang akan
melakukan request
Client Side Discovery
Kekurangan Client Side Discovery
● Client harus tahu lokasi semua service
● Jika jumlah node service bertambah atau berkurang, client harus diubah untuk lokasi baru nya
● Jika client salah mengimplementasikan logic untuk load balancer, maka traffic ke service yang
dituju bisa tidak merata pembagiannya
Service Registry
Kekurangan Client Side Discovery
● Client harus tahu lokasi semua service
● Jika jumlah node service bertambah atau berkurang, client harus diubah untuk lokasi baru nya
● Jika client salah mengimplementasikan logic untuk load balancer, maka traffic ke service yang
dituju bisa tidak merata pembagiannya
Service Registry
● Service Registry adalah aplikasi yang digunakan sebagai tempat untuk menyimpan semua
informasi yang berhubungan dengan lokasi service
● Semua service akan meregistrasikan alamat lokasi nya di Service Registry ketika pertama kali
nyala
● Semua service akan laporan ke Service Registry jika akan berhenti beroperasi, sehingga Service
Registry akan menghilangkan informasi service tersebut agar tidak mendapat traffic dari service
yang bertanya
Registrasi ke Service Registry
Bertanya ke Service Registry
Health Check di Service Registry
Contoh Aplikasi Service Registry
● Hashicorp Consul https://www.consul.io/
● Netflix Eureka https://github.com/Netflix/eureka
Centralized Configuration
Dimana Menyimpan Konfigurasi?
● Konfigurasi adalah sesuatu yang tidak asing lagi saat membuat aplikasi
● Tiap aplikasi biasanya memiliki konfigurasi, seperti konfigurasi database misalnya
● Pertanyaannya, dimana sebaiknya menyimpan konfigurasi? Agar mudah untuk di maintain dan
digunakan oleh aplikasi kita?
Contoh Lokasi Konfigurasi
● Database
● File
● Environment Variable
Centralized Configuration
● Centralized Configuration adalah pattern dimana kita menyimpan semua konfigurasi di sebuah
aplikasi atau service
● Service yang butuh konfigurasi akan bertanya ke aplikasi tersebut untuk mendapatkan data
konfigurasinya
Mendapatkan Konfigurasi
Contoh Aplikasi Centralized Configuration
● Hashicorp Consul https://www.consul.io/
● Hashicorp Vault https://www.vaultproject.io/
● Etcd https://etcd.io/
● Zookeeper https://zookeeper.apache.org/
● Doozerd https://github.com/ha/doozerd
Strangler Application
Migrasi dari Monolith ke Microservices
Third Party Integration
Webhook
Caching
Circuit Breaker
Event Sourcing
SAGA Pattern
(Distributed Transaction)
Integration Test
End to End Test
Consumer Driven Contract
Continuous Integration
Continuous Deployment
Health Monitoring
Application Metric
Log Aggregation
Distributed Tracing
Mencari Masalah Dalam RPI
Mencari Masalah Dalam Messaging
Distributed Tracing
Teknologi Distributed Tracing
Reporting
Scaling Microservices
Analytic
A/B Testing
Blue Green Deployment
Cloud Computing
Infrastructure as Code
Service Mesh
Eko Kurniawan Khannedy
● Telegram : @khannedy
● Facebook : fb.com/khannedy
● Twitter : twitter.com/khannedy
● Instagram : instagram.com/programmerzamannow
● Email : echo.khannedy@gmail.com

More Related Content

PPTX
Arsitektur sistem terdistribusi
PDF
PPT Cyber Security Cloud Security.pdf
PDF
Pengenalan Datacenter
PPTX
Presentasi cloud computing
PDF
Web Service
PPTX
Dasar Virtualisasi
PPTX
CLOUD COMPUTING
PPTX
keamanan website.pptx
Arsitektur sistem terdistribusi
PPT Cyber Security Cloud Security.pdf
Pengenalan Datacenter
Presentasi cloud computing
Web Service
Dasar Virtualisasi
CLOUD COMPUTING
keamanan website.pptx

What's hot (20)

PPTX
Introduction to microservices
PDF
APIs in a Microservice Architecture
PPTX
Introduction To Microservices
ODP
Introduction to AWS
PPTX
AWS PrivateLink - Deep Dive
PPTX
Content Delivery Networks (CDN)
PDF
Why Microservice
PDF
Cloud Security Governance
PPTX
Microservices
PPTX
Micro services Architecture
PDF
Introduction to Cloud Computing
PPTX
Arsitektur sistem terdistribusi
PDF
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
PDF
Virtual desktop infrastructure
PDF
Company and Market Overview
PDF
Rpl 011 - arsitektur sistem terdistribusi
PPTX
What Is DevOps?
PPTX
Cloud Security
PDF
Microservice architecture
PPTX
Cloud Computing- components, working, pros and cons
Introduction to microservices
APIs in a Microservice Architecture
Introduction To Microservices
Introduction to AWS
AWS PrivateLink - Deep Dive
Content Delivery Networks (CDN)
Why Microservice
Cloud Security Governance
Microservices
Micro services Architecture
Introduction to Cloud Computing
Arsitektur sistem terdistribusi
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
Virtual desktop infrastructure
Company and Market Overview
Rpl 011 - arsitektur sistem terdistribusi
What Is DevOps?
Cloud Security
Microservice architecture
Cloud Computing- components, working, pros and cons
Ad

Similar to Microservices.pptx (20)

PDF
f_logbook_modul_pembelajaran-4663-1684714894.pdf
PDF
Tugas Makalah Microservice Pert.2 036.pdf
PPTX
Materi_3_Web Serviceeeeeeeeeeeeeeeeee.pptx
PPTX
SOA introduction
PPTX
Probolinggo Developer Meetup (Oct 18)
PPTX
Pertemuan 4 Infrastuktur bisnis digital.pptx
PDF
OpenPaaS
PPTX
Materi 3
PPTX
Materi 3
PPTX
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
PPT
1.-modul-pengantar-ti-cloud_computing.ppt
PPT
1.-modul-pengantar-ti-cloud_computing.ppt
PPTX
Materi 3
PPTX
Web Service dan service oriented architecture
PPTX
Microservices Presentasi codding data tugas
PDF
pengenalan dan pengertian web service pada web
PDF
Sister_2_Arsitektur.pdf
PPT
Service oriented architecture
PPTX
Slide bab 6 middleware
DOCX
Zentyal adalah server_linux_untuk_small
f_logbook_modul_pembelajaran-4663-1684714894.pdf
Tugas Makalah Microservice Pert.2 036.pdf
Materi_3_Web Serviceeeeeeeeeeeeeeeeee.pptx
SOA introduction
Probolinggo Developer Meetup (Oct 18)
Pertemuan 4 Infrastuktur bisnis digital.pptx
OpenPaaS
Materi 3
Materi 3
Pengenalan SOA serta implementasinya pada aplikasi SS (Support System)
1.-modul-pengantar-ti-cloud_computing.ppt
1.-modul-pengantar-ti-cloud_computing.ppt
Materi 3
Web Service dan service oriented architecture
Microservices Presentasi codding data tugas
pengenalan dan pengertian web service pada web
Sister_2_Arsitektur.pdf
Service oriented architecture
Slide bab 6 middleware
Zentyal adalah server_linux_untuk_small
Ad

More from Ans Sembiring (12)

PPTX
Jenkins-Dasar-step-by-step-from basic.pptx
PPTX
Kubernetes Kelas Lama untuk mahasiswa.pptx
PPTX
Key-Challenges-Shifting-to-a-Subscription-Model.pptx
PPTX
Resesearch and development Fraud Detecttion System.pptx
PPTX
kelompok 3 Interbank Settlement payment.pptx
PPTX
modernize repository remote repo git2-.pptx
PPTX
Whalebone-UKNOF44security992_new_impl.pptx
PPTX
kelompok 3.pptx
PDF
Dosen Pembimbing MBR.pdf
PPT
dgintro (1).ppt
PPT
sunum-1.ppt
PPTX
2019-F5-Line-Card.pptx
Jenkins-Dasar-step-by-step-from basic.pptx
Kubernetes Kelas Lama untuk mahasiswa.pptx
Key-Challenges-Shifting-to-a-Subscription-Model.pptx
Resesearch and development Fraud Detecttion System.pptx
kelompok 3 Interbank Settlement payment.pptx
modernize repository remote repo git2-.pptx
Whalebone-UKNOF44security992_new_impl.pptx
kelompok 3.pptx
Dosen Pembimbing MBR.pdf
dgintro (1).ppt
sunum-1.ppt
2019-F5-Line-Card.pptx

Recently uploaded (7)

PDF
Aksara nglagena_20250726_094730_0000.pdf
PPTX
Modul 2. Pengoperasian Pengaplikasian dan Kolaborasi Perangkat Kecerdasan Art...
PPTX
saya adalah seorang penulis awalann.pptx
PPTX
Modul 1. Pengenalan Koding-KA di Dikdasmen.pptx
PDF
Labuan4D situs Exclusive Game S 1 0 t & T O 9 E 1 dari server NO 01 Gaming Asia.
PPTX
materi mata pelajaran koding dan kecerdasan artifisial
DOCX
623175210-PROSEM-KELAS-X-SEM-GANJIL.docx
Aksara nglagena_20250726_094730_0000.pdf
Modul 2. Pengoperasian Pengaplikasian dan Kolaborasi Perangkat Kecerdasan Art...
saya adalah seorang penulis awalann.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.
materi mata pelajaran koding dan kecerdasan artifisial
623175210-PROSEM-KELAS-X-SEM-GANJIL.docx

Microservices.pptx

Editor's Notes

  • #11: http://www.plantuml.com/plantuml/uml/RP313e8m38RlUug6Epo1CK6lQZGSF6zZmINGuZP4OdXtvpP3IEY1jF_tq_mhKgqWEnWQhJ8PS0iYzYoIIwFn7NJyTKczAm6LCg_qowY43HDy6FXQJ6NVjrfofmd_Jhv8mHvBKjSJAdIG7GVhgFEhjs0f9GteD3QR-6ge7gJRP4LHXD1QgiXdDhEQEowuzN7FKtKxXP3TP9yjO-aGiCkDRXuktwSJXAzNlR1-3bkFmHANVG40
  • #17: http://www.plantuml.com/plantuml/uml/LL1B3i8W4Drp2j9zUmGJTUqdyGGK23Pf6HsesjiRc2aj6pAypykyyM2iR4u8ts2naIh8dcP1pDKD_fTndoP6ptE8C5cK3ukVGTiiq0oovgWrp3uEtbKgLM3MtH7Ch6CbUX76YgxhAXRYqw8mAgfUXPG08JgquJsIkNntcikoqjDICpTKUkJWFEvTu1sOddmq2y47acrxM8-ItlJVRb2Wgd01Iy62KAdLJwAjo1QI6Ex08MIdrNCAIMZTFm00
  • #26: http://www.plantuml.com/plantuml/uml/oyjFILLGSdNEpyrDBKfELL98B5P8JORok22o0KNvAQN99Gh1gKLbcL0r1H0ng0fVeEgCn3nK9RbGGQwKn9B4fCHYa4dvnINfHQd1WJuGGo3Sui8S93M-bJ3ft4gG31VSEGgwkdOmYr554NR1621HPFCXsi3247C1
  • #30: http://www.plantuml.com/plantuml/uml/oyjFILLGSdNEpyrDBKfELL98B5P8JORok22o_aKfgKKAmQb5PPbG5VaW4QYiBr1bHc9UYO9BOd56KdvYKGfOIIvKc2ibiIGnAR4OfB8oED078bbPN9Z3nGMtI46tA3CzeqJN3ceoc5JG1V8XAc668OG0
  • #36: http://www.plantuml.com/plantuml/uml/NP3DJi0W48JlF0NflJVF9lvuqFXJqoVOmbenb5MWZRwzxIuru8tzPh8xJ22BkXiYsTLaFMBSdC5EGzAVmfGuRY23fxbn6675yH8jnaQdWnJr2PVfdxmmAlgLoMvp-QTnG85AMSWmGJeMKPZfzbes76yxLUgTXvITIGZHlBC7Qr8v1qfvZZY-FiflPKnVll8y8rqyi1psrqUbt8StltwN68w7FOSgdUc-l_mBLrfYreRXVfXNrxaLeNBqB87HUUeN
  • #38: http://www.plantuml.com/plantuml/uml/LOv13i9024NtdEAd-rx1XN5hDF44jD1gKelEC9vVEyoYxk3_5nwhYQAx9D64cwRFOzGEd65RGj5UaqaP_Qz_HKR2pWFdZR8y9ytl9NhB7YjspDdMsMIen3Dc-abSiUZaiAbvZyNB7ITsfYOdNGML9AeC-lwmir1xgCRjz1S0
  • #41: http://www.plantuml.com/plantuml/uml/LSvD3i8W40NW_PpYfVjUm8M9HXSkZ8tr0hHCVvBAA0oUtnGmgJjuxmiF9vPHtRnbZvRzP-wvWWcGDQ7SDbvixFMlV-MCh57JcR0g2QFdy5voBq7p5Hjp5JUAxP9uvZEH4sKiF2XaABl7g772oQYXCaxiB98aIWPrlT-iKFbGYilJF-ZdST9L5xB3_Tm-XhZWq5o-
  • #44: http://www.plantuml.com/plantuml/uml/LOvD3e8m48NtSueNrd055oQIkF0dSe9A1so45gV5yojjO-oot_Swxrcd6TL5D0iwbhVfkOBoS1kXP0-pCbDXUIFPTgUkS7xssRJ6AjjpOOV4SkB6YvDG12GYqYgek_ACwkfy68NzQuf--Js9h0kCYOS0D-J5-pMi3vn78sR6aobkh_4TMQCzfcwjB58piTNOhX35xsYQtL_31m00
  • #45: http://www.plantuml.com/plantuml/uml/LOzD4e8m38NtFKM6DLx1XJCouyAVaHD46h0Zj9WMpszfCsAN-RwqUSywJL1TMHD3I_mn7LM07jnALBR72SrOM5g9sFRS5ivFNanZBDgE2jjd9XjtcXs7Oe4JKXe3Fj37dPlpOM3oxp7v-JUg-4aW6AaFu7f9V5Z2yeJBODXCy2ALijSGGzRGdF9jZHRoPKLMm_gBKkavxFR_1uH564jjazJVPYcr4Mdn1G00
  • #48: http://www.plantuml.com/plantuml/uml/LP71RiCW38RlVefVENUli4EbLjgXsxGy0IjEXff02oINQUy-4d0HntoVxVp6rcb6z-4rU_JiLtFb3Yh0ROIoFStAJ8tbZHJRN_h6XJaKSpPMsIitTiYiL7pntVdO5FWTaLPHVQkGQZvTYAFdy9XsVtz-qcFX9HLSE0GrCexUtTXt-2K06CmaqMlaqyesGdmEBw5R9uzI7wFuFqhP8sFY8S8DsT5nYSiFtaVZpOmRq_xV0zBu0yvlUMMjBFB2n5PZcqAqj-Fb5NKlOGbAh8faZnRMW4JI8mEeTjG1kRT2EKkBop7-0G00
  • #54: http://www.plantuml.com/plantuml/uml/oyjFILLGSirDpCnH24ujAijCJbLII2nMI0M9S45aWts3KUIASui1
  • #56: http://www.plantuml.com/plantuml/uml/NT313e8m3CRnEq-nSESL356F4Z4ymLWROYAhwJgDR-_K3fZNh__z3ck3M9OutofFWAO-n20q8vi1-N5rM1iRZDDHcvu9efCYkVysBSuCVmHzbWgisD66L7IluN8gS1Wtvvw2J8pQPBr8El8J7VUhdgvLnam3zFJDRgihifnMzFiyxmlMeeVqCMy0
  • #58: http://www.plantuml.com/plantuml/uml/oyjFILLGSauiAb48JYqgoqnELL98B5P81WfmGUG24YjpK_DGfGiWOW00
  • #59: http://www.plantuml.com/plantuml/uml/PP7BRiCW44Nt_efHzhRKTzL55qshR1hLbTKF832oBCKGyMZalmy1nXXduyMTuyE5aKeWRBv6DXoXG_q_SDm0Cu3Nf8hJhJDMZQWBWASmCQrMmd5R8AUO9U97YvL2XOGEORhyc_k0v6mQKQxaCQi4i-p0ZAVsK_VxNNGJXyMuLSRs6XD3vGfahsIlFZzoEJ_bH-L4hh1Z5iziMbReOrHLryPGr-_aXZUuQs275jeOP2BO_VoXWQr6Bu3mF1cWAtZcFZfe2pD3vtlaSTQadXaAY_J8KmCTIW6j_mooXx3oYXJBJYyD_9t4t0awowmp1KhIroJj7ETepArqzKR-b-VRgdJLMgYpfBl7zT5BqYXlBRIbdBPr0G00
  • #62: http://www.plantuml.com/plantuml/uml/VP5HIiGm48RVUufXtti1MHPS515SMAbxW6aoPWjj8fDHMSIxcoR49aMtR_tdcpyp_w0Inx0vUU8De8TtJzmqJ4hGcf5WkxqrXicW3Cx2OL3i0l4nAFAx7Nmr43xhDC7cXT5wL97h4X8TPT6RxzhwIEm7BsGLNRK-qDGJLwvJb2AZKR17FtENxlcfAEk-CDdZY5PHvT8dRMLpT5uCK_0geShiGApEQ6KrKnBNKpbhtDs-GdI_pg8J51h9-wj9t4yuZDMZD2kpsNmvQ7amPsbtPUfm0qUyG76VfgosWSvZ1VI117wtUxIlZdd2lvjYnhab_iI6V_YSOsWulMaKWdqIrc1QAM0TMGrfuoOtjzfzsi0iHqbZvC9o-RnJhXJP_m00
  • #65: http://www.plantuml.com/plantuml/uml/VPBVQkim3CRlynIYztc1GocSiZ462tHaVG35rjn0OWz9soXZxpudcLSxqEOkqa-V_dn6eu5XSnJY3Q30kn1N5PDHz6uWs6x_EyVaKFlWeUaDXqXyz8PajuEl2kBdWoNOl31wGJDpxOBCYdg9Lz-bz85OUb7oXcvADpHsn8NgE8Tcng9YXp9nv_RvAKlRBXFPuu3UKA7IBR6Lp268EgQebKE5M4DiJkXrDTCIN4yLl0jt-mAntVeMhQBIG28tBt4_OZyKJMcAP4JRj4LUHfbQJRv2pRqxQRtBFO5_SC0pPEvLURQET1eweW-ayBVxetyDp2DUAPezIoNpprHmXKzNZWN7DujAyElN6bmMZbXBti9oZoeLrpPy-iXSB5l6I8dBkqWxfKpkpBgZZF83
  • #68: http://www.plantuml.com/plantuml/uml/bPBHQkim44JVzHLBtlq3bs2ukUGn4CZj1soKhIDgI-skb59A_xrOczALQG9z7S-S7Gr6dnF3wa68Lu02HOYTO_8Pup0IhDT_Xu5fm1nIX5tmd8Ju4Zn9tyEx0m28wKIm-iyO1Ntr7THIYVbRTnyjUayiGJ95JtVHEvgEn0rrgfBnR734cMDDHzKQ4lipnhnWgRYiTyYOQIIHk-Ms4uQnuT6ipB2NGgKU5S61OCFfwJgpVb7COnWNysql5FDol2gQW8vYl3f9QpCljaQLgZBtB48C7OVXdBlUteG_iCStCDsS_TgTqcji4vKvnyfn37AsKN1KfrfhxAVKlnIbJ7Jpu3LgdsfIkiYDW7bo4r7TNN-LtvPpNs3eodFNjtVC34uRgylKDvvF
  • #70: http://www.plantuml.com/plantuml/uml/bP9HQiCm44J_TOeb_xv02OQcv3CGS7k0ZRDrH6sftPLIIkdTYxKDNPaGoE_epUmm2FiK6LOlGhm25CX2x1nJdp0C8y5w_JWCJ0Cc7mFiVCzHYC--9sbR-7O0024U2LRFZ46mBrodI4bC_xhxgQFtnE8bKUZfPlIEfWDnbJeLoJ0R777EiT11jIg9-nE6jCXISLclIvXe996RvROJ-h7AeranHBVhgdUPP3xraIcNIY8u46mulX4NG5_qoAiV5-DkpnJISjeY6eDEfgmPhCRC7XPKgIXppop4qB0VJgbfxKruW3r-WUdcx6jpZ9-XTfJCsPOFevUJjOAZCkHQRTTSJp58dgWwA9FSQp7OnMhMiIuTyRh1h5HRL7T_V-_USkuI34r-RzhwZbdEQMEbJ7t3_080
  • #73: http://www.plantuml.com/plantuml/uml/NOz12i8m44NtSufFzhr1wQQuS24AuW7YP912ayWqTIFUNHjRJDnDtdpo_bXEKM4kawY1dJ1_1k8npWvc7v9ea9GNm_eWKk5amsqKjEskZzwBidGTdWG08Jg1EOY_Yk8i-XXOyWS-eo9pqkXcJbNe_cL5ghTQHzXgkJ-g-nF5XT2BQBa5JTFzkcz3fckXact-6cPZHRBY3G00
  • #76: http://www.plantuml.com/plantuml/uml/NKzjYiCW4FtlAGR_UuCWB65PycFPmD83J7L8XQXXObfAwTsRs4fD0u7tyUIzGPCYWppCn19mXcK5menniI2xa8W3fMou5n62oIGCmqZGDDzjz9xOaDPm4x1-8Le2-TLty8E9BdZDht5obVjB_aWC_yHdPoW7V9QgJC_HBYRjGjDJgr8jyZvYa6l_Z-r7KTmKSHTYknGKk-6Kb7wVLm0efVFizTzmMLXesL9uBYuabpm0
  • #80: http://www.plantuml.com/plantuml/uml/NKzjYiCW4FtlAGR_UuCWB65PycFPmD83J7L8XQXXObfAwTsRs4fD0u7tyUIzGPCYWppCn19mXcK5menniI2xa8W3fMou5n62oIGCmqZGDDzjz9xOaDPm4x1-8Le2-TLty8E9BdZDht5obVjB_aWC_yHdPoW7V9QgJC_HBYRjGjDJgr8jyZvYa6l_Z-r7KTmKSHTYknGKk-6Kb7wVLm0efVFizTzmMLXesL9uBYuabpm0
  • #82: http://www.plantuml.com/plantuml/uml/NP3HIaGX48RlVOh1UzzW4MA9s8je8Ng0IOTTOTN3dB68wDtpJ4cU167-VpwPVyGWbS6-hCGMS8NM2nDkjKMmfoB4XKGRwLSOmnG4o-L6S3ZS7slEn86yXqy3_PGQ2UpT-GGFAFIE7_eQbpHr7oc_4iCpyLiAf41MQsBEN6CBieEM7s-YZiXx923F_IUE_mRLpPcJDhdk0Eo6-J9c-mbmd2vNSVvl_L60SrxNwdUhnmP3Zgn3Qx0XD8IgCK37VWC0
  • #83: http://www.plantuml.com/plantuml/uml/ZP5HQiCm38RVVGgHFUS69L3A67qOAumTG9L56uZjeDeRO_JkSuMRENqmCmIaNxy_1Vz8CGXq7nUM3l02AHU6ff0iT7iVMJn77OobCKQO8lhJnB3PFE-2Sop4mm0_1lBnmJ9qsyCUNZ3o5txhRPp7QlhAxiW2xooV8x4Qd4etHZaKt1my-vZjexLJHabjTOkeLwuL_Y319eeh_boqzeALjx5XXxB64yg_s6fiWD_4FZnCKAMDhfmDzZR5ymgDMJ1NOswPGo_ZwHpxuI_eUm5zFsY0-TEwP7NlbxTT14AfElqlxPOTkjay1WbzciiGdevJObF8BOlIMmP2QG5-0G00
  • #84: http://www.plantuml.com/plantuml/uml/ZP1HIiGm48RVSugXFael84j1giW-Y8kB1vXDXssmJTR9H17nxgPZWwqFkeN2v9ylJBv1Au6XUeh45M24b0jZXv0wgBPUY3s9DjnyC8R92lhZGB3PtBPX78ajDGry6CYV3nr1TRtRmXqAlU6xtiQJMtJlQJmGmvxurLbIOFoE5j2EGvUihAZJd2sm5ddDMEGLyC3Thrb1a-Lha_Gh0dDWFesPjW4rksClTVEpWb90dTD9BVzQpnONXo4HNC4ZlIIA0fUW4svG40fRNFw22wjEPu6gzYzPZDGpSsrFzXds5ACB_Wi0
  • #87: http://www.plantuml.com/plantuml/uml/NL3DQiCm3BxxAKJkVOCIEieOFOG5DjXPSSHcy4-GbPKn-kvhh3bj4mZe-v7qMOSio387Rz1AOcW-QCXEg07CSDQwIbqQd5SbbB8Axr-EH-YHvQUeik1fWSOmMS7uwGds--TZ2e7OKjl2hu7h5zD8q3pr9tX1eJDgFqwkgFUzfoZ44JrqpdBAnD_EKbu7tOPr50PYU5E7fYtKnjTp6cSh3yP9kOtpYFneiyXRpokFcwLfOOhhOYx6_DyIThksl4ylkCBRoLRg-fTQqrTOCrQiOIhGfGUAunpy7m00
  • #90: http://www.plantuml.com/plantuml/uml/NP7FQiCm3CRlVWhHdVi69NIKCNee2somi-E8pk0_GN5MnkYxBwwmf_WIBFq--_ka7EUaAItUAMrI9DXzuZ3RX3lGCzpuND0b3jOnyVbOmSUNfH5wJUddGLEkfrmgHMYI3bU7S3YydABtI0Qx3duL04288yBkkJ_3gqvuqtnVJnOghf5WbPLOgq88E1Zp6avADX6BJiGiMXds719Iq0ukrb2SaRwjmRac5-xe1oHuPmKdUBGQNKznN4pQ22VkDSgJfgtCQ6erRpGsfd7jiETTtPNYduUmttUGv-EjrF9_-DfIwoSNPS6bv9kYqsmkMnN2aujE6L6qU1nHSt9LVSHBy7Gbn22OUBE5zVMMI9-2n0PQoy4jA77hsd9ftCAjDzCZXd7nxWy0
  • #93: http://www.plantuml.com/plantuml/uml/NP31QiCm44Jl-eh5z_n1C2cXX41DNLheUIqlYK2otFMwePJyUol9KI9VpCwRiQITtIJ8CZkhK8jdg3wfcunG1JZ19Sqtg_6TiSbnOSp6nzbm3oso_4HNWXw3L8f92mudIx3TFk-zSyIQwXf-5G30u7k2wgazmW65BfZ-nz4yk0V6yVps4frJcBziT1zFFWv2FA25ncZs4_6tqJJbQ-w7DUGwOdXFYRHBHAjSoxwVjHJ1CR5LSezSnZJoElFA_UfI7qXCNTLLgQLfs6pgk7tgDyjxeHcf_qyGkHAr316cdGgqlBvW6ha4wLax6lhPsJy0
  • #96: http://www.plantuml.com/plantuml/uml/BOqn3i8m34Ltd-8hSti3n08ZI4350OpZeLAQX2H5gX1t9oHuiFo_txTPIaWm1pUhBmQS8Mqa7wp2N5AmgnHCcbwpQ0FYttiJQabOOl0rKOyavQ83Rifsm3tQgd1KfwK79QsMFbHjVd1McFCsNKzjjMpvwOZwR-p6ST_fNsko4ry0
  • #98: http://www.plantuml.com/plantuml/uml/NOx12i8m44Jl-Ogbz_o1U15l2fP-mRfPiD1asoGLYlZlncsGrfoMcJSpGSeIeJaDFOVS02OWFKqGnz3SehYPCdGSdpsn0cFLNWRA8_6ZX98e9U8z1hUshFS_qiuS5mMcxsNUnc76EwQoTLswzgAUNz8qR9ppW2dtb1WZFPJWhMBC-cUmzlWRhjB1sZfL3OLqOAVi2pMXsPt-0G00
  • #100: http://www.plantuml.com/plantuml/uml/RP31JiCm38RlUGghzxu1uW3Q3IIcFO6N6gXeairE9qM8ToTr0agLvUHyjl_VDjeO68RdPIOV1q01gw7nOI8OtZXCgurm8hxDbhJWKjctWVniS9VWSqSM2SwXdufAYSrF9uHiFtTwegYNEwx4IIkkMzIxULaTSR6hd-mtOSGpIlPyJQVZYwPTaklIP0uBIfnjSTOAQed9XkicG2BuGV34uQiQkOBEIkhCx_FIR7YuaO_jeHJamKovB8pZu_zvAdeOnxfaJMYHJjsIlUBVpjfzDwCztMQSj6F7Vm40
  • #103: http://www.plantuml.com/plantuml/uml/SoWkIImgAStDuUBAoqz9LL3oJIrApaZCAr48JYqgoqnELL98B5R8XGfo5IGcPoUc0vK55EMdb2OZgQhcKW02e1cOaWg6O4CA8AA6U1GQ8IiqmgFG65cXCLSj5rSkpDswkdPmgnIi55moSnFp4XNG3B3dud98pKi1-Hi0
  • #105: http://www.plantuml.com/plantuml/uml/SoWkIImgAStDuUBAoqz9LL3oJIrApaZCAr48JYqgoqnELL98B5R8XGf2rGGKvQUK9iELAFWuWLNb974L92Pd9wOZb21CgUPI00Bi-Wt1sWiWeePu51eXApJ2ez0OMQ4nLoqNLoxCNxgwTY2NvYI1M71BqVX6K3x222w7rBmKK3W10000
  • #107: http://www.plantuml.com/plantuml/uml/VP513i8W44NtSuf9zrt00KpZkYOcde1IKXifD43T6Ezkg5YSe5tEvytavTFu85nO9WrWRA-mEYadhy84l2Xt7wMgK7YSKfYOixFz8ZS4s-DAwGvc8MzYA94A7u28-7kVhUlpEsKx8Fy6EJoJJsk7qOTH5a8ftyHAbfgLbnWvnFPGJj1e1v_UiAuFiHuwPplTnIGtG6SE6IMRxDy31sYKwUEtlW00
  • #112: http://www.plantuml.com/plantuml/uml/VP113eCW403l-ugDTm_mWCO7j4cJle0i6qkgO01xQVhtQhLK397Zx6G7Q49KFevz1s2TPgmkxEckRCGR-wSXhb05x5S8WwA7QYVjwfqUQMEz0AUpxDWDKNoN30iL1wBSYXBU_zxPjIP4G-LWckR5RiNYI9MPEaVXzroiwrEwTf7AdAPW6Kk0XgsUV_i3
  • #117: http://www.plantuml.com/plantuml/uml/XP3F3e8m38VlUue6pnpOqOFX0JGn-WJDrk0Y3D9j9iRuxl9dA1B17VjzwwzjxZoo3rKfRAq9aZFnpIY24nN6URudW0wSXat1H3PA1s9rGUiXshrKnQ9eK5snQBKZrpgeYVKGqBwXnmn2rZTfXcgs8igfACNpaxUlkvcD-Xqufp6nZELiJPLVQXSgndKX3Kswwqwq7O-6peXnaNKi5_1xg3zywNzELeUgV040
  • #118: http://www.plantuml.com/plantuml/uml/VP71geCm44Nt-Oh1jtPXbczHf6iBfVs28PdQe2QIn8AK_dkZZJHICSipXxbpIUayMZzqBTD64cHNiWyb22vKA-Vjc04wS1B-QakaetGYA-weFKHxbhe8MO-YmJfePsla81BhoI2yiEDt2CMyfF_GOaVagSZPwvjNcUbc9RO3ascQs4PSxAbyfKwXRAaBUKitdn_0IVY78rcFUaIeJ8DE9LOmbdARbAzeSjOcvgmaBSEtlG40
  • #119: http://www.plantuml.com/plantuml/uml/XT2n3e8m40RWlKznmPc1ZiQ1nCL14wDFqBGN89H2hgs9CRwxW4MH27Iy-tB_NLFh13bVQMPgXH1TaMw5HBXWLbX7zmY41QjWan6Y2UY497DX70JTeoeKMIDaARAMdQbMNexKWq7x-XdJ9YJzaEPTJHOW7qFEdj-yOztjNCZ_WTDkIDIXd2nH_aExK3QS2xlODt7tHLiueD0kXtsEicJ3AMk0puBFQgjYVaQAHlbAlm00