Proprietary document of Indonesia AI 2023
Mengenal OOP &
RestAPI
Development
Indonesia AI
OBJECTIVE & OUTLINE Proprietary document of Indonesia AI 2023
Mengenal OOP & RestAPI Development
Pahami konsep tingkat lanjut dari Computer Vision
melalui materi dan sesi langsung Mengenal OOP &
RestAPI Development
Outline:
1. Konsep OOP
2. Konsep API
Indonesia AI
Proprietary document of Indonesia AI 2023
Konsep OOP
Indonesia AI
OOP (OBJECT ORIENTED Proprietary document of Indonesia AI 2023
PROGRAMMING)
OOP (Object-Oriented Programming) adalah
paradigma pemrograman yang
memungkinkan pengorganisasian dan
pemodelan program berdasarkan objek yang
memiliki atribut (data) dan perilaku (metode).
Pada OOP, sebuah program terdiri dari objek-
objek yang saling berinteraksi untuk mencapai
tujuan tertentu.
Indonesia AI
Image source: https://geetikakaushik2020.medium.com/
CLASS Proprietary document of Indonesia AI 2023
Blueprint atau template untuk membuat
objek. Kelas mendefinisikan atribut dan
perilaku yang dimiliki oleh objek. Dalam kelas,
atribut biasanya direpresentasikan oleh variabel
dan perilaku direpresentasikan oleh metode.
Indonesia AI
OBJECT Proprietary document of Indonesia AI 2023
Representasi konkret dari suatu kelas yang
memiliki atribut dan perilaku. Objek dapat
menjadi instansi dari suatu kelas.
Indonesia AI
ENCAPSULATION Proprietary document of Indonesia AI 2023
Membungkus data (atribut) dan metode
(perilaku) bersama-sama dalam sebuah objek.
Enkapsulasi memungkinkan untuk mengatur
akses dan perlindungan terhadap data agar
tidak dapat diakses secara langsung dari luar
objek. akses perlindungan dibagi menjadi 4:
1. default (public)
2. private
3. protected
Indonesia AI
ENCAPSULATION Proprietary document of Indonesia AI 2023
1. Default (public): Atribut dan metode yang didefinisikan sebagai publik dapat diakses
dan dimanipulasi oleh kode di luar kelas tanpa pembatasan. Dalam Python, semua
atribut dan metode yang didefinisikan di dalam sebuah kelas secara default adalah
publik, kecuali dinyatakan secara eksplisit.
2. Private: Atribut dan metode yang didefinisikan sebagai pribadi hanya dapat diakses
dan dimanipulasi oleh kode di dalam kelas itu sendiri. Dalam Python, atribut atau
metode yang ingin diberi akses pribadi diawali dengan dua garis bawah (__). Misalnya,
__nama_atribut atau __nama_metode.
3. Protected: Atribut dan metode yang didefinisikan sebagai terlindungi hanya dapat
diakses dan dimanipulasi oleh kode di dalam kelas itu sendiri dan kelas turunannya.
Dalam Python, atribut atau metode yang ingin diberi akses terlindungi diawali dengan
satu garis bawah (_). Namun, ini lebih bersifat konvensi dan pengaturan keamanan tidak
diterapkan secara ketat oleh bahasa Python.
Indonesia AI
INHERITENCE Proprietary document of Indonesia AI 2023
Mekanisme di mana sebuah kelas dapat
mewarisi atribut dan metode dari kelas lain
yang disebut kelas induk atau superclass.
Pewarisan memungkinkan untuk membangun
hierarki kelas dan mewariskan karakteristik
umum kepada kelas-kelas turunannya.
Indonesia AI
Image Source: https://eng.libretexts.org/
ABSTRACT CLASS Proprietary document of Indonesia AI 2023
Proses penyederhanaan sistem yang kompleks
dengan menyediakan representasi yang
disederhanakan dan hanya memaparkan
detail-detail penting. Kelas dan antarmuka
abstrak digunakan untuk mendefinisikan
karakteristik dan perilaku umum tanpa
memberikan detail implementasi.
Indonesia AI
Image Source: https://eng.libretexts.org/
METHOD OVERRIDING Proprietary document of Indonesia AI 2023
Kemampuan sebuah subclass untuk
menyediakan implementasi yang berbeda dari
sebuah metode yang sudah didefinisikan di
dalam superclass-nya.
Indonesia AI
Image Source: https://eng.libretexts.org/
METHOD OVERLOADING Proprietary document of Indonesia AI 2023
Kemampuan untuk mendefinisikan beberapa
metode dengan nama yang sama tetapi
parameter berbeda. Python tidak mendukung
kelebihan metode secara langsung, tetapi
Anda dapat mencapai perilaku serupa
menggunakan nilai parameter default atau
argumen variabel.
Indonesia AI
POLYMORPHISM Proprietary document of Indonesia AI 2023
Kemampuan suatu objek untuk memiliki
banyak bentuk atau perilaku yang berbeda.
Dalam konteks OOP, polimorfisme
memungkinkan penggunaan metode yang
sama dengan cara yang berbeda di kelas-kelas
yang berbeda. Hal ini dapat dicapai melalui
konsep overriding dan overloading.
Indonesia AI
Image Source: https://eng.libretexts.org/
Proprietary document of Indonesia AI 2023
Any question guys ~
Indonesia AI
Proprietary document of Indonesia AI 2023
Konsep API
Indonesia AI
API (APPLICATION Proprietary document of Indonesia AI 2023
PROGRAMMING
INTERFACE)
API (Application Programming Interface)
adalah set aturan dan protokol yang
memungkinkan berbagai perangkat lunak dan
aplikasi berkomunikasi dan berinteraksi satu
sama lain. API menyediakan kumpulan
metode, fungsi, dan protokol yang dapat
digunakan oleh pengembang perangkat lunak
untuk memanfaatkan fungsionalitas yang
disediakan oleh suatu sistem atau layanan.
Indonesia AI
Image source: https://www.geeksforgeeks.org/
API (APPLICATION Proprietary document of Indonesia AI 2023
PROGRAMMING
INTERFACE)
API bertindak sebagai perantara antara dua
perangkat lunak atau aplikasi yang berbeda,
memungkinkan mereka saling berinteraksi dan
bertukar data. Dengan menggunakan API,
pengembang dapat mengintegrasikan
fungsionalitas dan layanan dari suatu sistem
atau platform ke dalam aplikasi mereka sendiri
tanpa perlu memahami atau mengakses
secara langsung implementasi internal sistem
tersebut.
Indonesia AI
Image source: https://www.geeksforgeeks.org/
Proprietary document of Indonesia AI 2023
REST API
REST API (Representational State Transfer
Application Programming Interface) adalah
gaya arsitektur yang digunakan dalam
pengembangan web services yang berfokus
pada interoperabilitas dan sederhana dalam
desain. REST API menggunakan protokol HTTP
(Hypertext Transfer Protocol) untuk
berkomunikasi antara klien dan server.
Indonesia AI
Image source: https://www.geeksforgeeks.org/
Proprietary document of Indonesia AI 2023
REST API METHOD
REST API mendefinisikan beberapa metode atau metode HTTP yang digunakan untuk
berinteraksi dengan resources. Berikut ini penjelasan singkat tentang beberapa metode HTTP
yang sering digunakan dalam REST API:
GET: Metode GET digunakan untuk mengambil data atau mengambil representasi sumber
daya dari server. Permintaan GET tidak mengubah status atau konten sumber daya di server,
hanya membaca atau mengambil data yang ada. Misalnya, jika Anda mengakses URL
"https://api.example.com/users", metode GET akan mengembalikan daftar pengguna yang
ada.
POST: Metode POST digunakan untuk membuat sumber daya baru di server atau
mengirimkan data ke server untuk pemrosesan. Permintaan POST biasanya digunakan
untuk membuat entitas baru seperti membuat entri di database atau mengirim data
formulir. Misalnya, jika Anda mengirimkan data pengguna baru ke URL
"https://api.example.com/users", metode POST akan membuat pengguna baru di server.
Indonesia AI
Proprietary document of Indonesia AI 2023
REST API METHOD
PUT: Metode PUT digunakan untuk memperbarui atau menggantikan seluruh sumber daya
yang ada di server. Permintaan PUT mengirimkan representasi lengkap dari sumber daya
yang diperbarui ke server, sehingga menggantikan data yang ada dengan data yang baru.
Misalnya, jika Anda mengirimkan data pengguna yang diperbarui ke URL
"https://api.example.com/users/{id}", metode PUT akan memperbarui data pengguna
dengan ID yang sesuai di server.
PATCH: Metode PATCH digunakan untuk memperbarui sebagian sumber daya yang ada di
server. Permintaan PATCH mengirimkan perubahan yang ingin diterapkan pada sumber
daya yang ada, dan server akan menerapkan perubahan tersebut. Misalnya, jika Anda
mengirimkan perubahan status pengguna ke URL "https://api.example.com/users/{id}",
metode PATCH akan memperbarui status pengguna dengan ID yang sesuai di server.
Indonesia AI
Proprietary document of Indonesia AI 2023
REST API METHOD
DELETE: Metode DELETE digunakan untuk menghapus sumber daya yang ada di server.
Permintaan DELETE mengirimkan permintaan untuk menghapus sumber daya yang
ditentukan. Misalnya, jika Anda mengirimkan permintaan DELETE ke URL
"https://api.example.com/users/{id}", metode DELETE akan menghapus pengguna dengan ID
yang sesuai di server.
Indonesia AI
MEMBUAT REST API UNTUK Proprietary document of Indonesia AI 2023
MODEL DEPLOYMENT
ada beberapa metode yang bisa digunakan
untuk membuat rest API untuk model
deployment:
1. siapkan model yang telah di train
2. siapkan fungsi preprocess, inference dan
postprocess
3. gunakan metode post untuk membuat API
nya (karena kita akan mengirimkan data)
4. jalankan API nya
Indonesia AI
Image source: https://www.geeksforgeeks.org/
Proprietary document of Indonesia AI 2023
Any question guys ~
Indonesia AI
Proprietary document of Indonesia AI 2023
Terimakasih!
Indonesia AI