Anda di halaman 1dari 47

SESI 4

PENGELOLAAN API (APPLICATION


PROGRAM INTERFACE) DAN VCS
(VERSION CONTROL SYSTEM)
TUJUAN SESI 4
Menunjukkan praktek pengelolaan application program
interface: Simple Object Access Protocol, Remote Procedure
Calls, REST, JSON, dan autentikasi API. Kemudian, melakukan
pengelolaan Version Control System melalui git dan
melakukan CRUD (Create, Read, Update, Delete).
Commit Session
Penggunaan Application Program Interface

Pernah kah kamu log in


menggunakan akun Gmail,
Facebook, atau Twitter?
APPLICATION PROGRAMING
INTERFACE (API)
API atau Application Programing
Interface adalah serangkaian kode
bahasa pemrograman yang mampu
membantu para developer untuk
melakukan integrasi data antar dua
aplikasi atau lebih yang berbeda
secara bersamaan.
KOMPONEN API
Di dalam API, terdiri dari dua komponen utama, yaitu:
1. Spesifikasi teknis yang di dalamnya menggambarkan opsi
pertukaran data antara solusi dengan spesifikasi yang dilakukan
dalam wujud permintaan pemrosesan data dan juga pengiriman data.
2. Interface yang terdapat pada aplikasi dicatat dengan spesifikasi yang
mampu mewakili isinya.
FUNGSI API
Application Programming Interface atau API berfungsi menyediakan
function dan juga perintah dengan bahasa yang lebih terstruktur dan
lebih mudah bagi dipahami bagi programmer.
Fungsi-fungsi dari API pada umumnya:
1. Membantu Server
2. Meningkatkan Efektiftas dalam Pembuatan Aplikasi
3. Kemampuan untuk membuat sebuah Aplikasi yang
Fungsional
JENIS-JENIS API
Berdasarkan hak aksesnya, terdapat empat jenis API,
yaitu sebagai berikut:
a. Open API
b. Partner API
c. Internal API
d. Composite API
Open API
Open API adalah API yang tersedia untuk umum untuk
digunakan seperti API oauth dari Google dan tidak ada
batasan untuk menggunakannya. Oleh karena itulah,
mereka juga dikenal sebagai API open (terbuka atau
publik).
Cara Kerja Open API
Secara umum tahapan pemrosesan Open API dimulai
dengan proses request dari aplikasi, kemudian dari API
melakukan request ke Server API, lalu dari server
memberikan respons kepada aplikasi.
Ilustrasi tahapan kerja Open API
Manfaat Penerapan Open API
Ada beberapa manfaat yang bisa didapatkan dengan pemanfaatan Open API,
di antaranya:

1. Efisiensi Proses Pengembangan Aplikasi


2. Menghadirkan Fitur yang Lebih Kaya
3. Meningkatkan Kinerja Aplikasi
4. Meningkatkan Compliance
5. Mengurangi Risiko terkait Keamanan
6. Hemat Biaya dan Scalable
Partner API
Partner API, ini adalah API dimana hak atau lisensi khusus
untuk mengakses API jenis ini karena tidak tersedia untuk
umum. Biasanya, API semacam ini dikaitkan dengan
layanan berbayar.
Internal API
API internal adalah API yang dikembangkan oleh perusahaan
untuk digunakan ke dalam sistem internal mereka sehingga
mereka dapat meningkatkan produktivitas tim pengembangan.
Composite API
Jenis API ini adalah berupa urutan task atau tugas yang berjalan
secara sinkron (bersamaan) sebagai hasil dari sebuah eksekusi, di
mana hasil pemicunya adalah hasil dari eksekusi (bukan permintaan
yang berisi hasil eksekusi atas permintaan task).

Penggunaan utamanya adalah untuk mempercepat execution


progress (proses eksekusi) dan meningkatkan kinerja pendengar di
antarmuka web.
ARSITEKTUR API
1. RPC
RPC (Remote Procedure Call) merupakan teknologi yang ditujukan
membuat komunikasi antara client side dan server side lebih
sederhana.

RPC memiliki dua jenis, yaitu XML-RPC dan JSON-RPC. Perbedaan


keduanya adalah terletak pada media perpindahan datanya.

XML-RPC menggunakan media XML (Extensible Markup Language).


Sedangkan JSON-RPC menggunakan format JSON (JavaScript Object
Nation).
2. SOAP
Arsitektur API lainnya adalah SOAP (Simple Object Access Protocol).
Arsitektur ini menggunakan XML (Extensible Markup Language) yang
memungkinkan semua data disimpan dalam dokumen.
3. REST
REST (Representational State Transfer) merupakan salah satu jenis
arsitektur API yang cukup populer sekarang. Kelebihan dari REST
tidak membutuhkan coding yang panjang dalam proses
pengembangannnya. REST memiliki bentuk data berupa JSON,
dimana memiliki keuntungan dari sisi performa aplikasi yang lebih
ringan jika menggunakan JSON.
4.Websocket API
WebSocket API memanggil backend berdasarkan konten pesan
yang diterimanya dari aplikasi klien. Tidak seperti REST API, yang
menerima dan merespons permintaan, WebSocket API mendukung
komunikasi dua arah antara aplikasi klien dan backend. Backend
dapat mengirim pesan panggilan balik ke klien yang terhubung.

Di API WebSocket, pesan JSON yang masuk diarahkan ke integrasi


backend berdasarkan rute yang dikonfigurasikan. (Pesan non-
JSON diarahkan ke rute default yang dikonfigurasikan).
AUTENTIKASI API
Autentikasi adalah sebuah proses validasi terhadap akun saat
akan mengakses sebuah sistem. Contoh sederhanya adalah fitur
login, dengan memberikan kombinasi email dan password yang
benar maka sebuah akun dinyatakan valid dan diijinkan
mengakses sistem.
JWT AUTHENTICATION
JSON Web Token (JWT) adalah sebuah standar autentikasi yang
memungkinkan pertukaran data antar aplikasi dapat dilakukan
dengan aman. Standar JWT bersifat terbuka (open) yang
memungkinkan semua developer dapat menggunakannya secara
bebas. Penerapan JWT juga sesuai standar industri RCF7519 yang
memungkinkan pertukaran data dapat dilakukan secara aman
Struktur JSON Web Token (JWT)
Pada standar JWT sebuah token terdiri menjadi tiga bagian yang
dipisahkan dengan karakter titik ( . ) dimana ketiga bagian tersebut adalah:

a. Header
b. Payload
c. Signature
Header - Berisi algoritma yang digunakan dan tipe token
Payload - Berisi data yang disertakan dalam token. Payload
pada umumnya berisi sebuah ID seperti UserID, namun isi dari
payload dapat dimodifikasi oleh developer.
Signature - Berisi kode enkripsi untuk autentikasi sebagai dasar
penentuan apakah token valid atau tidak. Signature digenerate
berdasarkan hasil hashing dari header, payload, dan secret key.
How Does JWT Work?
Step 1
Client logs in with his/her credentials.
Step 2
Server generates a Jwt token at server side.
Step 3
After token generation, the server returns a
token in response.
Step 4
Now, the client sends a copy of the token to
validate the token.
Step 5
The server checks JWT token to see if it's
valid or not.
Step 6
After the token is validated, the server sends
a status message to the client.
TOKEN BASED AUTHENTICATION
Otentikasi berbasis token adalah teknik
keamanan yang mengotentikasi pengguna
yang mencoba masuk ke server, jaringan, atau
sistem aman lainnya, menggunakan token
keamanan yang disediakan oleh server.

Otentikasi berhasil jika pengguna dapat


membuktikan ke server bahwa ia adalah
pengguna yang valid dengan melewati token
keamanan. Layanan memvalidasi token
keamanan dan memproses permintaan
pengguna.
SESSION BASED AUTHENTICATION
Session based Authentication dicadangkan untuk
panggilan API web yang dimulai oleh browser. Sesi
dapat dibuat menggunakan halaman login Appian
standar atau melalui konfigurasi SSO SAML.

Kurang lebih sama seperti format JSON yang


menyimpan informasi tentang pengguna, seperti ID
unik, waktu masuk dan kedaluwarsa, dan
sebagainya. Itu dihasilkan dan disimpan di server
sehingga server dapat melacak permintaan
pengguna. Pengguna menerima beberapa perincian
ini, terutama ID, sebagai cookie yang akan dikirim
dengan setiap permintaan baru, sehingga server
dapat mengenali ID dan mengesahkan permintaan
pengguna.
BASIC AUTHENTICATION
Basic authentication adalah cara bagi pengguna untuk memberikan nama pengguna
dan kata sandi atau nama pengguna dan kunci API saat membuat permintaan API.

Saat membuat permintaan API yang memerlukan autentikasi dasar, salah satu
komponen permintaan yang diperlukan adalah kunci dan nilai header yang terlihat
seperti ini:
OAUTH - OPEN AUTHORIZATION
OAuth (Open Authorization) adalah kerangka kerja otorisasi standar
terbuka untuk otorisasi berbasis token di internet. OAuth memungkinkan
informasi akun pengguna akhir digunakan oleh layanan pihak ketiga,
seperti Facebook dan Google, tanpa memaparkan kredensial akun
pengguna ke pihak ketiga.
SSO - SINGLE SIGN ON
Single Sign On (SSO) terjadi saat
pengguna masuk ke satu
aplikasi dan kemudian masuk
ke aplikasi lain secara otomatis,
apa pun platform, teknologi,
atau domain yang digunakan
pengguna. Pengguna masuk
hanya satu kali, sesuai dengan
nama fitur (Single Sign-on).
API DOCUMENTATION
Keperluan documentation API tidak kalah penting didalam pengembangan
API, documentation API yang lengkap akan mempermudah dalam proses
develop aplikasi mobile atau web frontend.
API TESTING
Tujuan API Testing adalah untuk memeriksa fungsionalitas, keandalan, kinerja, dan
keamanan antarmuka pemrograman. Dalam API Testing, alih-alih menggunakan input
(keyboard) dan output pengguna standar, programmer menggunakan perangkat lunak
untuk mengirim panggilan ke API, mendapatkan output, dan mencatat respons sistem.

API Testing sangat berbeda dari Tes GUI dan tidak akan berkonsentrasi pada tampilan dan
nuansa aplikasi. API Testing berkonsentrasi pada lapisan logika bisnis dari arsitektur perangkat
lunak.
PENGONTROLAN DAN PENGECEKAN
PERUBAHAN CODING MENGGUNAKAN GIT
Version control system (VCS) adalah sebuah sistem yang mencatat
setiap perubahan terhadap sebuah berkas atau kumpulan berkas (kode)
sehingga pada suatu saat developer (pengguna) dapat kembali kepada
ke salah satu versi dari berkas (kode) yang diinginkan. VCS ini sangat
mendukung pengembangan software yang kolaboratif. Setiap anggota
tim development dapat menulis kode programnya masing-masing yang
kemudian akan digabungkan menggunakan VCS ini.
Alur Kerja (Workflow) Git
Pada Git, terdapat alur kerja
atau workflow yang efektif
dan efisien. Repositori
tersebut dibagi menjadi
tiga bagian pokok yang
disebut dengan “trees”.
1. Direktori Kerja (Working directory)

Bagian ini menyimpan berkas aktual dari


repositori lokal. Semua perubahan yang dilakukan
pada berkas di lokal setelah inisiasi awal atau
commit terakhir akan tersimpan pada bagian ini.
2. Index (Stage)

File yang sebelumnya sudah di-add, kini sudah tersimpan


pada fase ini dan siap untuk disimpan pada suatu commit.
Jika dilakukan kembali perubahan isi (kode) dari file yang
sudah berada di tahap ini, maka ia akan kembali lagi ke fase
working directory dan untuk memindahkan file tersebut ke
fase ini tentunya perlu dijalankan git add lagi untuk file
tersebut.
3. HEAD

Saat ini, perubahan sudah tersimpan di HEAD.


Setelah menjalankan git push, maka saat ini
perubahan sudah masuk ke remote repository.

Anda mungkin juga menyukai