0% menganggap dokumen ini bermanfaat (0 suara)
96 tayangan

13 JSON Dan RESTful API

JSON dan RESTful API merupakan topik pembahasan pada pertemuan ke-12 dalam mata kuliah Pemrograman Web. JSON digunakan untuk menyimpan dan mentransfer data, sedangkan RESTful API memungkinkan pertukaran data antar aplikasi melalui protokol HTTP dengan menggunakan format JSON. RESTful API harus memenuhi prinsip-prinsip seperti stateless, cacheable, dan layered guna menjamin kinerja dan skalabilitasnya.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
96 tayangan

13 JSON Dan RESTful API

JSON dan RESTful API merupakan topik pembahasan pada pertemuan ke-12 dalam mata kuliah Pemrograman Web. JSON digunakan untuk menyimpan dan mentransfer data, sedangkan RESTful API memungkinkan pertukaran data antar aplikasi melalui protokol HTTP dengan menggunakan format JSON. RESTful API harus memenuhi prinsip-prinsip seperti stateless, cacheable, dan layered guna menjamin kinerja dan skalabilitasnya.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 25

JSON DAN

RESTFUL API
TIM TEACHING
1. Pengantar Pemrograman Web
2. HTML (Hypertext Markup Language)
3. Javascript
4. Bahasa PHP
5. Koneksi Basisdata
6. POST dan GET Method
Outline 7. CMS (Content Management System)
Pemrogaman Web 8. Ujian Tengah Semester
9. SESSION dan COOKIE
10. Operasi File
11. CSS (Cascading Style Sheet)
12. JSON dan RESTful API
13. Pemrograman Framework
14. Final Project
15. Final Project
16. Ujian Akhir Semester
Pengertian JSON
• JavaScript object notation atau JSON adalah format yang digunakan
untuk menyimpan dan mentransfer data.
• JSON memiliki struktur data yang sederhana dan mudah dipahami dan
sering digunakan pada API.
• JSON sendiri terdiri dari dua struktur, yaitu:
• Kumpulan value yang saling berpasangan.
• Daftar value yang berurutan, seperti array.
• Beberapa bahasa pemrograman lain yang mendukung :
• PHP
• Python
• Ruby
• C++
• Perl
Fungsi JSON
• Fungsi JSON kurang lebih sama dengan XML yaitu untuk
penyimpanan dan perpindahan data.
• JSON memiliki beberapa keunggulan yang membuatnya lebih
sering digunakan daripada XML, termasuk:
• File yang lebih ringan
• Struktur kode yang lebih sederhana
• Kode yang mudah dipahami oleh manusia
Perbandingan JSON dan XML
Syntax JSON
{"city":"New York", "country":"United States "}

• JSON dibuka dan ditutup dengan tanda {} atau kurung kurawal.


• Syntax-nya terdiri dari dua elemen, yaitu key dan value.
• Keduanya dipisahkan oleh titik dua agar jelas.
• Contoh key adalah “city”, sedangkan “New York” adalah contoh
value.
Jenis-Jenis Value JSON
• Setidaknya ada enam jenis data yang dapat digunakan sebagai
value JSON, yaitu:
• String
• Object
• Array
• Boolean
• Number
• Null
Nested Objects
• Pada contoh tersebut, “hobi1”,
“karyawan”: { “hobi2”, dan “hobi3” merupakan
“nama”:“Anton”, value dari key “hobi”.
“asal”:“Bandung”. • ketiga value tersebut ada di dalam
“hobi”: { kurung kurawal.
“hobi1”:“berenang”, • Dengan demikian, “hobi” beserta
“hobi2”:“melukis”, ketiga value-nya merupakan object
di dalam object.
“hobi3”:“jogging”
}
}
Nested Arrays
• Pada contoh, “berenang”, “melukis”,
dan “jogging adalah array yang
merupakan value dari “hobi”.
“karyawan”: {
“nama”:“Anton”,
“asal”:“Bandung”.
“hobi”: [ “berenang”,
“melukis”, “jogging” ]
}
Cara Produksi dan Konsumsi Data JSON
• Pada Javascript, kita bisa
gunakan fungsi JSON.stringify()
untuk membuat JSON dari
objek Javascript.
Cara Produksi dan Konsumsi Data JSON
• Pada bahasa pemrograman
PHP:
• fungsi json_encode() untuk
menghasilkan JSON dari Array
asosiatif
• fungsi json_decode() untuk
mengubah JSON menjadi Array.
Application Programming Interface (API)
• API adalah sebuah software yang memungkinkan para developer
untuk mengintegrasikan dan mengizinkan dua aplikasi yang
berbeda secara bersamaan untuk saling terhubung satu sama lain.
• Tujuan penggunaan API adalah untuk saling berbagi data antar
aplikasi yang berbeda.
• API juga bertujuan mempercepat proses pengembangan aplikasi
dengan cara menyediakan sebuah fungsi terpisah sehingga para
developer tidak perlu lagi membuat fitur yang serupa.
Jenis API
• Public API
• Public API adalah API yang dapat diakses secara publik.
• API ini bersifat open source karena cakupan penggunaannya sangat luas.
• API publik paling mudah digunakan.
• Contohnya adalah Google Maps API.
• Private API
• Penggunaan API ini tidak terbuka secara umum dan cenderung terbatas.
• API privat dibuat untuk kebutuhan internal dalam pengembangan aplikasi
tertentu.
• Contoh API dari front end yang digunakan untuk mengakses data di back
end dari sebuah website atau dalam pengembangan aplikasi mobile.
Jenis API
• Partner API
• Partner API adalah API yang bisa diakses oleh mitra bisnis atau pihak
tertentu yang telah memiliki izin penggunaan.
• Sama seperti public API, caranya cukup mendaftar kepada platform
penyedia API, kemudian dapat mengakses data dan sumber informasinya.
• Composite API
• Dalam satu tempat terdapat gabungan beragam jenis data dari berbagai
server dan hosting. Ini merupakan pengertian dari composite API.
• Pengguna bisa mengakses banyak data hanya dalam satu tempat saja.
• API ini sangat bermanfaat bagi pengguna untuk menghemat waktu.
Arsitektur API
• RPC
• RPC (Remote Procedure Call) merupakan teknologi yang ditujukan
membuat komunikasi antara client side dan server side lebih sederhana
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).
Arsitektur API
• SOAP
• SOAP (Simple Object Access Protocol), dimana bentuk data yang digunakan
adalah XML.
• SOAP memungkinkan semua data disimpan dalam dokumen tertentu.
Arsitektur API
• SOAP
• SOAP (Simple Object Access Protocol), dimana bentuk data yang digunakan
adalah XML.
• SOAP memungkinkan semua data disimpan dalam dokumen tertentu.
• REST
• REST (Representational State Transfer) adalah salah satu jenis arsitektur API
yang cukup populer.
• REST tidak membutuhkan coding panjang dalam proses
pengembangannya.
• REST memiliki bentuk data berupa JSON, sehingga lebih ringan dan
performa aplikasi menjadi lebih baik.
Sifat REST API
• Client-Server
• Merupakan hal yang paling mendasar dalam membangun REST API.
• Server harus bisa merespon permintaan yang dilakukan client, baik itu
ketika berhasil ataupun gagal.
• Komunikasi client dan server dilakukan melalui protokol HTTP.
• Stateless
• REST API tidak boleh menyimpan keadaan (state) apapun terkait client.
• Seluruh state harus tetap disimpan di client.
• Tidak ada session di REST API.
• Permintaan yang dilakukan client harus mengandung informasi yang jelas.
• RESTful API tidak menyimpan informasi dari permintaan sebelumnya untuk
digunakan di permintaan selanjutnya.
Sifat REST API
• Cacheable
• Agar dapat merespon permintaan dengan cepat, sebaiknya REST API
menerapkan prinsip cache.
• Setiap permintaan tidak selalu mengambil dari database.
• Layered
• Ketika REST API server memiliki arsitektur yang kompleks, client
seharusnya tidak perlu tahu bagaimana server melayaninya.
Konsep REST API
Ketika membangun REST API harus memperhatikan empat konsep
berikut:
• Format Request dan Response
• REST API sering menggunakan JavaScript Object Notation atau JSON
sebagai format data baik pada request ataupun response.
• JSON adalah salah satu format standar dalam transaksi data.
• Agar REST API dapat selalu merespon dengan format JSON, pastikan setiap
response terdapat properti Content-Type dengan nilai application/json .
Konsep REST API
• HTTP Verbs/Methods
• Karena REST API menggunakan protokol HTTP, maka kita dapat
memanfaatkan HTTP verbs (kata kerja) untuk menentukan aksi.
• Contohnya GET untuk mendapatkan data, POST untuk mengirimkan data
baru, PUT untuk memperbarui data yang ada, dan DELETE untuk
menghapus data.
• Verbs tersebut adalah verbs yang umum digunakan dalam operasi CRUD
(Create, read, update, and delete).
Konsep REST API
• HTTP Response Code
• Status-Line merupakan salah satu bagian dari HTTP Response.
• Dalam status line terdapat response code yang mengindikasikan bahwa
permintaan yang client lakukan telah berhasil atau tidak.
• Ketika membangun REST API perlu memperhatikan dan menetapkan
response code secara benar.
• Status code bernilai 3 digit angka, berikut nilai-nilai status code yang sering
digunakan:
• 200 (OK) – Permintaan client berhasil dijalankan oleh server.
• 400 (Bad Request) – Permintaan client tidak dapat dijalankan karena kegagalan dalam
proses validasi input dari client.
• 500 (Internal Server Error) – Permintaan client tidak dapat dijalankan karena server
mengalami kesalahan.
Konsep REST API
• URL Design
• URL, Path, atau End point merupakan beberapa hal penting yang harus
diperhatikan ketika membangun REST API.
• Dengan merancang endpoint yang baik, penggunaan API akan lebih mudah
dipahami.
Contoh Program API
• https://github.com/rizalrizal/SimpleApiPHP/archive/refs/heads/ma
ster.zip
TERIMA KASIH

Anda mungkin juga menyukai