Anda di halaman 1dari 44

WORKSHOP PEMBUATAN

TODOLIST APPS

PART 1 : BACKEND DEVELOPMENT


MY PROFILE

NAMA : AZIS ZUHRI PRATOMO (BACKEND ENGINEER AT


LUMOSHIVE)
KELAS : 2 D4 IT A (2021)

KEGIATAN KAMPUS :
- ECODE HIMIT PENS
- UKM SOFTDEV
- LOMBA-LOMBA

PRESTASI :
- JUARA 3 SEACC SMART SCHOOL TECHNOLOGY BY SEAMEO (2018)
- JUARA 1 LKS IT NETWORK SYSTEM TINGKAT KOTA JAKTIM DAN
PROVINSI DKI JAKARTA (2019-2020)
- JUARA 1 INNOVATION APP BY UIN MAULANA MALIK IBRAHIM (2021)
- FINALIS GEMASTIK XV KOTA CERDAS/SMART CITY (2022)
Arsitektur
Monolithic VS Microservices
Kekurangan dan Kelebihan
Monilithic

Kelebihan :

1. Mudah didebug dan dimaintain


2. Mudah di deploy
3. Lebih hemat biaya

Kekurangan :

1. Tidak scalable ( semakin besar aplikasi semakin sulit untuk dikembangkan)


2. Jika suatu service down kemungkinan akan berpengaruh ke beberapa service/feature
lainnya
3. Tidak flexsible untuk perubahan kebutuhan teknologi atau bisnis
Kekurangan dan Kelebihan
Microservices

Kelebihan :

1. Lebih scalable (meskipun aplikasi berkembang besar tapi tetap mudah di develop)
2. Jika salah satu services down, tidak akan berpengaruh services/feature lainnya
3. Flexible untuk pengembangan di setiap servicenya jika ada teknologi baru

Kekurangan :

1. Lebih sulit untuk di debug dan dimaintain


2. Lebih mahal
Kapan Kita Menggunakan
Monilithic atau Microservices ?
IT DEPENDS!
Berkenalan dengan
RESTful API
Pergertian tentang API

Application Programming Interface (API) adalah sebuah software yang


mengintegrasikan antara aplikasi yang kita buat dengan aplikasi yang lain.
Tujuan pembuatannya yaitu untuk saling berbagi data antar aplikasi yang
sudah diintegrasikan tersebut.
Apa itu REST ?

Representational State Transfer (REST) adalah arsitektur


perangkat lunak yang memberlakukan syarat mengenai cara
API bekerja. API yang mengikuti gaya arsitektur REST
disebut sebagai API REST. Layanan web yang menerapkan
arsitektur REST disebut sebagai layanan web RESTful.
HTTP Method yang sering digunakan:

GET ⇒ Mengambil data

POST ⇒ Membuat data baru

PUT ⇒ Mengubah data

DELETE ⇒ Menghapus data


Apa itu HTTP
STATUS/RESPONSE CODE ?

HTTP status code adalah kode respons standar yang


diberikan oleh web server di internet. Kode ini
membantu mengidentifikasi penyebab masalah saat
laman website atau sumber daya lain tidak dimuat
dengan benar
KLASIFIKASI
HTTP STATUS CODE
1xx respon informasi : permintaan diterima, melanjutkan proses
2xx sukses : permintaan berhasil diterima, dipahami, dan diterima
3xx pengalihan : tindakan lebih lanjut perlu diambil untuk menyelesaikan
permintaan
4xx Klien error : request berisi sintaksis buruk atau tidak dapat
dipenuhi
5xx server error : peladen gagal memenuhi permintaan yang tampaknya
valid
Contoh :
- 404 ⇒ File not found
- 200 ⇒ Server berhasil merespon balik request dengan baik
- 500 ⇒ Server internal error
Skema RESTful API
Apa itu JSON ?

JSON (JavaScript Object Notation) adalah format file berbasis teks yang
umumnya digunakan dalam proses pertukaran data antara server dan klien. File
JSON memiliki ekstensi .json serta menggunakan teks yang sama-sama bisa
dibaca oleh manusia dan dipahami oleh komputer.
Contoh data JSON
Penulisan standarisasi API

1. Memerhatikan URL Design dengan baik


2. Memerhatikan fungsi dari API method yang dibuat
Penulisan URL Design API
Case : Kamu ingin membuat API untuk feature buat produk baru, edit produk, hapus produk baru

Penulisan yang salah :


{base_domain}/product/create ⇒ untuk membuat produk
{base_domain}/product/edit ⇒ untuk mengedit produk
{base_domain}/product/delete ⇒ untuk mengahapus produk

Penulisan yang benar :


{base_domain}/product ⇒ (POST) ⇒ untuk membuat produk baru
{base_domain}/product ⇒ (PUT) ⇒ untuk mengedit produk
{base_domain}/product ⇒ (DELETE) ⇒ untuk menghapus produk
⇒ jadi hanya ada satu url yaitu {base_domain}/product hanya dibedakan methodnya saja
MEMBANGUN APLIKASI BACKEND DENGAN
LARAVEL
APA ITU LARAVEL ?

Laravel is a web application framework with expressive, elegant


syntax. We’ve already laid the foundation — freeing you to create
without sweating the small things. (source: https://laravel.com)

Laravel adalah framework php yang sedang booming beberapa tahun


ini dengan menerapkan konsep MVC
Konsep Model, View , Controller (MVC)
ERD dari project todolist-app
Langkah-Langkah Percobaan Praktikum

1. Buat folder workshop-backend, bebas dimananya


2. Buka terminal/cmd di laptop kalian masing-masing dan masuk ke directory
workshop-backend
3. create project laravel :

4. Masuk ke directory project yang telah kita buat


5. Buatlah database baru di phpmyadmin, namun terlebih dahulu aktifkan XAMPP dan
nyalakan apache dan mysqlnya

6. Kemudian konfigurasikan file .env di project laravel, sesuaikan dengan credentials db


nya
7. Running project laravel

8. Buka postman dan buat collection/folder bernama Backend - Todolist App

9. Buat variable di collection API todolist


10. Update sedikit code di migration create_user, seperti kode dibawah ini :

11. Buat model Todolist beserta migrationnya


12. Tambahkan code ini di class migration create_todolist

13. Kemudian lakukan migrate pada di terminal


14. Pastikan bahwa table todolists dan users berhasil dibuat pada phpmyadmin

15. Kemudian buat APIcontroller pada terminal

16. Buka file routes/api.php


14. Buat testing API dengan url {base_domain}/api/testing

15. Kemudian check pada postman


Membuat REST API untuk feature user
14. Buat Route API function feature User
14. Buat method createNewUser() pada model User, dan buat relasi ke todolistnya
14. Buat Route function updateUser pada APIcontroller, dan buat method static untuk
mencari user menggunakan NRPnya dan uuid
14. Buat Route function deleteUser pada APIcontroller
14. Buat Route function getUser pada APIcontroller
14. Testing API createUser di postman
14. Testing API updateUser di postman
14. Testing API deleteUser di postman
14. Testing API getUsers di postman
Latihan : Membuat REST API untuk feature
todolist
Silahkan clone repository source code di gitlab :
https://gitlab.com/ukm-softdev/workshop-todolist-app.git
Langkah cloning project
- Masuk ke directory yang kalian inginkan
- git clone https://gitlab.com/ukm-softdev/workshop-todolist-app.git
- buat file .env lalu copy-kan isi file .env.example ke .env
- kemudian ketik di terminal php artisan key:generate

Anda mungkin juga menyukai