Anda di halaman 1dari 9

Nama : Aurelia Vitania Rusli

Kelas : 2C TKJ

Tugas : RPL

Semester : 4

Agile Ekosistem

1. Software Development

Software Development adalah adalah


sebuah proses yang digunakan untuk
mengembangkan software/perangkat
lunak mulai tahap design, develop dan
sampai pengujian aplikasi, atau bisa
disebut sebagai Software
Development Life Cycle.

Terdapat berbagai macam model SDLC yaitu seperti:


a. Waterfall model
b. V-Shape Model
c. Iterative Model
d. Spiral Model
e. Big bang
f. Agile Model : Salah satu jenis Agile Model yang popular saat ini yaitu
Scrum Management
2. Agile Manifesto
 Terdapat 4 nilai :
a. Interaksi dan personel lebih penting daripada proses dan alat
b. Perangkat lunak yang berfungsi lebih penting daripada dokumentasi
yang lengkap.
c. Kolaborasi dengan klien lebih penting daripada negosiasi kontrak.
d. Respon terhadap perubahan lebih penting daripada mengikuti rencana.
 Terdapat 12 prinsip :
a. Prioritaskan Kepuasan Klien
b. Menerima Perubahan Kebutuhan
c. Rilis Produk Secara Rutin
d. Kolaborasi
e. Bekerja dengan Individu yang Bersemangat
f. Komunikasi Tatap Muka
g. Kunci Keberhasilan adalah Produk yang Bekerja
h. Kecepatan yang Konstan
i. Perhatian terhadap Keunggulan Teknis dan Desain yang baik
j. Kesederhanaan itu Penting
k. Mengelola Diri Sendiri
l. Refleksi dan Penyesuaian

3. Scrum Project Management


 Scrum  adalah cara kerja beberapa orang (dari berbagai latar belakang pekerjaan)
yang tergabung dalam satu tim, fokus dalam memberikan hasil kerja yang
produktif, kreatif, memiliki value yang setinggi mungkin dan dapat beradaptasi
dengan cepat terhadap setiap perubahan (flexible).
 Scrum Process
a. Product Backlog
b. Sprint Planning Meeting
c. Sprint Backlog
d. Daily Scrum
e. Sprint Review + Sprint Restrospective
 Scrum Team
Terdiri dari:
a. Product Owner
b. Tim Developer (Developer + UI/X)
c. Scrum Master
4. Organisasi Agile

 Tribes adalah tim otonom di mana terdapat semua spesialis berbeda yang
diperlukan untuk membuat suatu produk.
 Squad adalah tim yang akan melaksanakan agile management. Squad terdiri dari
PO (Product Owner), Tim Development, dan QA.
 Chapter adalah tim yang mempunyai kesamaan pekerjaan, seperti Chapter
Frontend Developer, Chapter Backend Dev, Chapter QA.
 Guild adalah kelompok yang terbentuk dengan kesamaan minat. Misal kelompok
tim Developer, tim Produksi.
5. Development Agile
a. Git Repository
Contoh :
b. Frontend Development
 Teknologi :
a. Teknologi PWA
b. Local Database
c. Video & Audio
d. Canvas
e. Web Assembly
f. Mobile Development
 Contohnya:

c. Backend Development
 Teknologi :
a. Push Notification
b. Web Socket
c. RESTfull API
d. GraphQL
e. API Gateway
f. User Authentication
 Contohnya :
6. Platform Agile
a. Container vs Virtual Machine

Pada mulanya didefenisikan oleh Gerard J. Popek dan Robert P. Goldberg pada
tahun 1974

Docker Pertama Kali dibuat oleh Solomon Hykes bersama Andrea Luzzardi
dan Francois-Xavier Bourlet sebagai project internal di dotCloud. Docker
dirilis sebagai open source pada bulan Maret 2013.

Perbedaannya :
 Alokasi resource pada Container dan Virtual Machine berbeda
Virtual Machine mengambil resource berdasarkan pengaturan yang
sudah ditentukan saat instalasi. Alokasi ini bersifat terisolasi. Sebagai
contohnya VM 1 memiliki pengaturan RAM 2 GB dan kapasitas HDD 120
GB. Saat VM 1 dijalankan. VM 1 hanya bisa menggunakan RAM maksimal
sebanyak 2 GB. Ketika VM 1 hanya menggunakan sedikit penggunaan RAM
(misalnya hanya 512 MB). Resource sisa dari penggunaan tersebut tetap
menjadi milik VM 1 dan tidak dapat digunakan dengan VM lainnya. Hal ini
berbeda dengan container. Container memiliki alokasi resource yang dapat
dibagi langsung oleh Host Server itu sendiri. Container akan mengambil
alokasi resource yang ada di Hardware sesuai dengan yang container butuhkan.
 VM Membutuhkan Hypervisor sedangkan Container Tidak
VM hanya dapat berjalan pada hypervisor. Sedangkan Container tidak.
Hal inilah yang menjadi perbedaan dasar dari arsitektur VM dan Container.
Container dapat berjalan langsung diatas Sistem Operasi. Sedangkan VM tidak.
 Penggunaan Kernel
Pada dasarnya VM menggunakan kernel tersendiri untuk menjalankan
aplikasi didalamnya. Sedangkan container tidak diizinkan untuk mengakses
kernel.
b. Microservices vs Monolytic

Contohnya :
Perbedaannya :
 Monolithic

1. Low Cost
2. Satu server untuk handle semua layanan
3. Tidak bisa menggunakan module module yang tidak terinstall pada server
utama. misalkan mau menggunakan no-sql atau sql, nodejs atau php
4. Proses update aplikasi akan berimbas ke seluruh aplikasi.
5. Seluruh Code atau component menjadi 1 server. bisa di bayangkan jika
aplikasi sudah kompleks
6. Untuk scalling hanya bisa mengupgrade resource server saja.
7. Latency komunikasi antar modulenya sangat cepat, karena berada di
dalam sebuah server.

 MicroService

1. Hight Cost
2. Setiap layanan memiliki infrastruktur sendiri.
3. Karena setiap layanan memiliki infrastruktur sendiri, kamu bisa dengan
mudah membuat aplikasi tanpa memikirkan hubungan / ketergantungan
module dengan layanan yang lain. misalkan kamu bisa membuat aplikasi
dengan beberapa bahasa pemrograman.
4. Proses update aplikasi hanya melingkupi layanan yang terkait.
5. Codenya berbasis layanan. Kamu harus memiliki dokumentasi yang lebih
dari pada infrastruktur Monolithic
6. Proses Scallingnya bisa menggunakan beberapa metode, scaling up dan
scaling side
7. Ada kemungkinan komunikasi antar modulenya mengalami kegagalan.
Untuk itu kamu harus selalu mempersiapkan cara handlenya.
c. NoSQL vs RDB

Penjelasan :

- Mysql / RDB merupakan aplikasi pengolah database yang bersifat open source,
dikembangkan oleh Oracle (sebelumnya Sun dan MySQL AB). MySQL adalah sebuah
perangkat lunak sistem manajemen basis data SQL . Contoh aplikasi pada Sql
adalahOracle, MS-SQL, Sqlite, dan Postgres .
- NoSql merupakan sistem manajemen basis data yang di identifikasikan dengan tidak
mematuhi aturan pada model sistem manajemen basis data.
NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang
tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan
berskala horisontal (horizontal scale).Sedangkan pada NoSQL adalah MongoDB,
HBase, Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.

Perbedaannya:

a. Berdasarkan cara penulisan database :


- SQL menggunakan relasional sebagai penyambung antara data-data di dalam tabel
database.
- NoSQL tidak menggunakan Relasional sebagai cara mereka untuk
menyambungkan antar data .
b. Berdasarkan Schema relational :
- Pada SQL user harus mendefinisikan table yang akan digunakan.
- Pada NoSQL tidak perlu untuk mendefinisikan terlebih dahulu Table yang akan
digunakan.
c. Dalam Database SQL data berbentuk tabel yang terdiri dari sejumlah baris,Sedangkan
Pada NoSQL data tidak memiliki definisi skema standar yang harus dipatuhi. NoSQL
memiliki skema yang dinamis sedangkan pada database SQL mengikuti skema yang
telah ditetapkan.
d. Database NoSQL merupakan horizontal terukur sedangkan pada SQL Database vertikal
terukur.
Untuk memperbesar pada skala NoSQL hanya perlu tambahkan server DB di cluster
untuk load balancing.
Sedangkan pada SQL Untuk memperbesar skala harus menambahkan tenaga dari
perangkat CPU,SSD,RAM dan perangkat keras lainnya pada server.
Pada database SQL penekanan pada sifat Atomicity, Consistency, Isolation and
Durability (ACID) sifat. Sedangkan pad NoSQL mengikuti teorema Consistency,
Availability and Partition (CAP) Brewers.

Anda mungkin juga menyukai