K

Command Palette

Search for a command to run...

Daftar

Format Data API (JSON)

Pelajari tentang JSON (JavaScript Object Notation), format data ringan dan mudah dibaca yang menjadi standar de facto untuk pertukaran data dalam Web API modern.

"Bahasa Gaul" Antar Aplikasi: Kenalan Sama JSON, Format Data Andalan API!

Udah tau kan kalau Web API itu "ngobrol"-nya pake HTTP Request dan Response, kayak kirim-kiriman "surat digital"? Nah, "isi surat" itu, alias data yang dikirim bolak-balik antara klien dan server API, juga butuh format yang disepakati biar dua-duanya ngerti.

Bayangin kamu ngirim surat ke temen di luar negeri. Kalau kamu nulis pake bahasa daerahmu yang dia gak ngerti, ya suratnya gak bakal nyampe pesannya kan? Sama, aplikasi juga gitu. Mereka butuh "bahasa" atau format data yang sama buat bertukar informasi.

Di dunia Web API modern, format data yang jadi "bahasa gaul" dan paling populer adalah JSON, singkatan dari JavaScript Object Notation.

Kenapa Sih Butuh Format Data Standar?

Kalau tiap API pake format data seenaknya sendiri, bakal repot banget buat aplikasi klien yang mau make banyak API. Dia harus bisa "nerjemahin" macem-macem format. Makanya, adanya format data standar kayak JSON ini penting banget buat:

  • Interoperabilitas: Biar berbagai sistem dan aplikasi yang beda-beda bisa saling ngerti data yang dikirim.
  • Efisiensi: Format yang terstruktur bikin proses pengiriman dan pembacaan data jadi lebih cepet dan gampang.
  • Kemudahan bagi Developer: Developer jadi lebih mudah kerja karena udah familiar sama formatnya.

Apa Itu JSON (JavaScript Object Notation)?

JSON adalah format pertukaran data yang ringan, berbasis teks, dan gampang dibaca baik sama manusia maupun sama mesin (komputer).

Meskipun namanya ada "JavaScript"-nya (karena sintaksnya terinspirasi dari cara bikin objek di JavaScript), JSON ini sebenernya independen dari bahasa pemrograman apa pun. Artinya, hampir semua bahasa pemrograman modern (Python, Java, PHP, Ruby, C#, Go, dll.) punya kemampuan buat ngebaca (parse) dan nulis (serialize) data dalam format JSON dengan gampang.

Karakteristik Utama JSON:

  1. Berbasis Teks: File JSON itu isinya teks biasa, jadi gampang dikirim lewat internet.
  2. Ringan (Lightweight): Strukturnya simpel, jadi ukuran datanya cenderung lebih kecil dibanding format lain kayak XML, bikin transfer data lebih cepet.
  3. Mudah Dibaca Manusia (Human-readable): Strukturnya yang mirip objek JavaScript bikin kita gampang ngeliat dan ngertiin isinya.
  4. Mudah Diproses Mesin (Machine-parsable): Gampang banget buat program komputer buat "ngebongkar" (parse) data JSON jadi struktur data di bahasa pemrograman itu (misalnya, jadi objek atau array di JavaScript), dan sebaliknya, ngubah struktur data jadi string JSON.

Struktur Dasar JSON: Kayak Objek dan Array di JavaScript!

Kalau kamu udah mulai ngerti objek literal dan array di JavaScript, belajar struktur JSON bakal kerasa gampang banget, karena emang mirip!

JSON punya dua struktur utama buat ngewakilin data:

  1. Objek (Object):

    • Kumpulan dari pasangan key: value (kunci: nilai) yang gak berurutan.
    • Diawali dan diakhiri kurung kurawal { }.
    • Key (Kunci): Harus berupa string dan diapit kutip ganda (" "). Ini beda sama objek literal JavaScript di mana kutip buat key kadang opsional. Di JSON, kutip ganda buat key itu WAJIB!
    • Value (Nilai): Bisa berupa tipe data JSON apa aja (string, number, boolean, array, objek lain, atau null).
    • Pasangan key: value dipisah sama titik dua (:).
    • Beberapa pasangan key: value dipisah sama koma (,).
    json
    {
        "nama": "Budi Sanjaya",
        "umur": 28,
        "sudahMenikah": false,
        "pekerjaan": null,
        "alamat": {
            "jalan": "Jl. Koding No. 101",
            "kota": "Jakarta"
        }
    }
  2. Array:

    • Kumpulan nilai yang berurutan.
    • Diawali dan diakhiri kurung siku [ ].
    • Nilai-nilainya bisa berupa tipe data JSON apa aja, dan bisa campuran.
    • Tiap nilai dipisah sama koma (,).
    json
    [
        "Apel",
        "Jeruk",
        "Mangga",
        100,
        true,
        { "id": 1, "status": "aktif" }
    ]

Tipe Data Dasar yang Didukung JSON:

  • String: Teks, selalu diapit kutip ganda ("..."). Karakter khusus harus di-escape (misal, \" buat kutip ganda di dalem string, \\ buat backslash).
  • Number: Angka (integer atau desimal). Gak pake kutip.
  • Boolean: true atau false (tanpa kutip).
  • Array: Kumpulan nilai berurutan ([...]).
  • Object: Kumpulan pasangan kunci-nilai ({...}).
  • null: Mewakili nilai kosong atau tidak ada (tanpa kutip).

PENTING: JSON TIDAK ngedukung undefined, fungsi, atau tanggal (Date object) secara langsung sebagai tipe data. Kalau mau ngirim tanggal, biasanya dikirim sebagai string dalam format tertentu (misal, ISO 8601: "2024-07-19T10:00:00Z"), terus di-parse lagi di sisi penerima.

Contoh Data JSON yang Lebih Kompleks (Misal, data produk):

json
{
    "idProduk": "P001",
    "namaProduk": "Laptop Super Cepat X2000",
    "harga": 15000000,
    "stokTersedia": true,
    "deskripsi": "Laptop gaming terbaru dengan performa maksimal.",
    "spesifikasi": {
        "prosesor": "Intel Core i9 Gen-13",
        "ram": "32GB DDR5",
        "penyimpanan": "1TB NVMe SSD"
    },
    "tags": ["laptop", "gaming", "powerful", "new"],
    "rating": null 
}

Contoh di atas nunjukin objek JSON yang nilainya bisa string, number, boolean, objek lain (spesifikasi), array (tags), dan null (rating).

JSON vs. XML (Sekadar Tahu)

Dulu, sebelum JSON sepopuler sekarang, XML (eXtensible Markup Language) juga sering dipake buat format pertukaran data di Web API (terutama yang pake SOAP).

  • XML: Pake tag-tag kayak HTML buat ngedefinisiin data. Lebih "bertele-tele" (verbose) dibanding JSON.
    xml
    <produk>
        <idProduk>P001</idProduk>
        <namaProduk>Laptop Super Cepat X2000</namaProduk>
        <harga>15000000</harga>
    </produk>
  • JSON: Lebih ringkes dan lebih "nyambung" sama JavaScript.
    json
    {
        "idProduk": "P001",
        "namaProduk": "Laptop Super Cepat X2000",
        "harga": 15000000
    }

Untuk sebagian besar Web API modern, JSON udah jadi pilihan utama karena keringkasannya dan kemudahannya buat diproses, terutama di lingkungan JavaScript. Tapi, gak ada salahnya tau kalau XML itu pernah jadi pemain besar juga.


Ngertiin struktur JSON ini penting banget, karena pas kamu nanti "ngobrol" sama Web API pake JavaScript (misalnya, pake Fetch API), data yang kamu kirim (kalau ada) dan data yang kamu terima dari API itu seringnya bakal dalam format JSON.

Kamu perlu bisa "ngebaca" struktur JSON buat ngambil data yang kamu butuhin, dan bisa "nulis" JSON kalau API-nya minta kamu ngirim data dalam format itu. Untungnya, JavaScript punya metode bawaan (JSON.parse() buat ngubah string JSON jadi objek JS, dan JSON.stringify() buat ngubah objek JS jadi string JSON) yang bikin ini jadi gampang.


Kuis Format Data API (JSON)

Pertanyaan 1 dari 5

Apa kepanjangan dari JSON?