Apa itu JSON? Fungsi, Contoh & Cara Menggunakannya

16

apa itu json

Bahasa adalah fondasi penting yang akan selalu Anda temui di mana pun Anda berinteraksi dengan data modern. Seperti ketika Anda menjelajah ecommerce dan melihat ribuan produk dimuat dalam sekejap. Di balik itu semua, ada satu bahasa yang memungkinkan semua dapat terjadi begitu cepat dan efisien, yaitu JSON.

Mari kita pahami JSON bersama dalam artikel ini, mulai dari pengertiannya, aturan syntax, jenis value-nya, dan masih banyak lagi.

Apa itu JSON?

Setelah memahami konteknya, sekarang mari kita pahami terlebih dahulu, apa itu JSON.

JSON adalah singkat dari JavaScript Object Notation. Meskipun berasal dari bahasa pemrograman JavaScrip, JSON adalah format data yang sifatnya independen, artinya Anda bisa menggunakannya dengan bahasa lain yang Anda suka, misal Python, Java, PHP, dan lain sebagainya.

Secara sederhana, JSON adalah cara terstruktur untuk menyimpan dan mengirimkan data. Data dalam JSON disusun dalam bentuk pasangan nama-nilai (name-value pairs). Ini adalah konsep kunci yang membuatnya sangat terorganisir.

Contoh:

{
    "nama": "Budi",
    "usia": 30,
    "pekerjaan": "Copywriter"
}

Pada contoh di atas, “nama”, “usia”, dan “pekerjaan” adalah nama atau key, sedangkan “Budi”, 30, dan “Copywriter” adalah nilai atau value.

Setiap pasangan dipisahkan oleh tanda titik dua (:) dan setiap pasangan nama-nilai dipisahkan oleh koma (,). Seluruh data diletakan di dalam kurung kurawal ({}).

Strukturnya yang sederhana adalah salah satu alasan mengapa JSON sangat populer. Caranya merepresentasikan data sebagai objek membuat proses pengiriman dan penerimaan data menjadi lebih efisien, karena data yang diterima sudah dalam format yang siap digunakan oleh program.

Fungsi File JSON

Jadi, untuk apa format data JSON digunakan? Berikut beberapa fungsi utamanya.

1. Pertukaran Data (Data Interchange)

Ketika dua sistem berbeda perlu bertukar informasi, mereka memerlukan format yang bisa dipahami oleh kedua belah pihak.

Contoh sebuah aplikasi mobile ingin menampilkan data cuaca. Aplikasi tersebut tidak menyimpan data sendiri, melainkan mereka akan meminta data dari server cuaca. Kemudian, server akan memproses permintaan dan mengirimkannya kembali data yang diminta.

Data yang dikirim biasanya menggunakan format JSON, karena mudah dibaca, dapat diurai (parse) dengan cepat oleh aplikasi mobile, terlepas dari aplikasi tersebut dibuat dengan Swift (iOS) atau Kotlin (Android).

2. Penyimpanan Konfigurasi Aplikasi

Seperti yang mungkin sudah Anda tahu, sebuah aplikasi membutuhkan berbagai pengaturan, seperti alamat database, kunci API, atau opsi-opsi lain yang bisa berubah.

Menempatkan pengaturan ini dalam file JSON memungkinkan developer untuk mengubah konfigurasi tanpa harus mengedit atau mengompilasi ulang kode program.

File config.json atau settings.json adalah pemandangan umum di banyak proyek perangkat lunak.

3. Komunikasi dengan API

JSON berperan sebagai bahasa standar saat aplikasi dan server berkomunikasi lewat API. Saat Anda memesan taksi online, aplikasi Anda mengirim data pesanan (seperti lokasi dan tujuan) dalam format JSON ke server.

Server kemudian membalasnya dengan data JSON lain (misalnya, detail pengemudi dan perkiraan waktu tiba).

Karena kemampuannya yang efisien dalam merepresentasikan objek, JSON adalah pilihan utama untuk komunikasi API, khususnya pada arsitektur RESTful API.

4. Penyimpanan Data Sederhana (NoSQL Database)

Meskipun bukan pengganti database tradisional, JSON ideal untuk menyimpan data pada database NoSQL seperti MongoDB atau CouchDB. Database ini menyimpan data dalam format seperti dokumen JSON.

Keuntungannya, Anda bisa dengan mudah menambahkan informasi baru (misalnya, “nomor telepon”) tanpa harus mengubah struktur keseluruhan tabel, memberikan fleksibilitas tinggi.

5. Penggunaan di Berbagai Platform

Fleksibilitas JSON membuatnya bisa digunakan di mana saja. Ia menjembatani komunikasi data antar berbagai platform dan bahasa pemrograman, mulai dari server (backend) yang menggunakan Python, aplikasi web (frontend) yang dibangun dengan React, hingga aplikasi mobile di iOS dan Android.

Aturan Syntax JSON

Sebelum menggunakan JSON dalam pengembangan aplikasi atau pertukaran data, penting untuk memahami aturan penulisannya.

JSON memiliki struktur yang sederhana, tetapi tetap harus mengikuti format tertentu agar dapat dibaca dengan benar oleh sistem atau aplikasi.

Aturan syntax ini membantu memastikan data tersusun rapi, konsisten, dan mudah diproses oleh berbagai bahasa pemrograman.

Berikut beberapa aturan dasar dalam penulisan JSON yang perlu Anda ketahui.

1. Data Berbentuk Name-Value Pairs

Ini adalah aturan paling dasar. Setiap data dalam JSON selalu berpasangan: ada nama (key) dan ada nilai (value). Nama selalu berupa string (teks) yang diapit tanda kutip ganda, diikuti oleh tanda titik dua (:) lalu nilai datanya.

Contohnya:

JSON

"nama_produk": "Laptop Gaming"

Di sini, “nama_produk” adalah namanya, dan “Laptop Gaming” adalah nilainya.

2. Tanda Kurung Kurawal untuk Objek ({})

Jika kita ingin merepresentasikan sebuah ‘objek’ atau kumpulan data yang terstruktur, kita menggunakan tanda kurung kurawal ({}). Objek bisa berisi satu atau lebih pasangan nama-nilai.

Contohnya:

{
    "nama": "Andi",
    "usia": 28
}  

3. Tanda Kurung Siku untuk Array ([])

Tanda kurung siku ([]) digunakan untuk merepresentasikan array atau daftar. Array adalah sekumpulan nilai yang terurut. Nilai-nilai ini bisa berupa apa saja: string, angka, objek, atau bahkan array lain.

Contohnya:

[
  "apel",
  "jeruk",
  "mangga"
]

Di atas adalah contoh array sederhana yang berisi daftar nama buah. Gabungan dari objek dan array inilah yang membuat JSON sangat fleksibel. Kita juga dapat membuat array yang berisi beberapa objek, seperti daftar produk:

[
 {
  "id": 1,
  "nama_produk": "Laptop Gaming",
  "harga": 15000000
 },
 {
  "id": 2,
  "nama_produk": "Mouse Wireless",
  "harga": 500000
 }
]

Contoh di atas adalah sebuah array yang berisi dua objek, di mana setiap objek merepresentasikan satu produk. Struktur seperti ini sangat umum di dunia pengembangan web.

4. Koma Sebagai Pemisah

Setiap pasangan nama-nilai (di dalam objek) atau setiap nilai (di dalam array) harus dipisahkan oleh tanda koma (,). Aturan ini penting untuk memberi tahu komputer di mana satu data berakhir dan data berikutnya dimulai.

Penting untuk diingat: jangan pernah tambahkan koma di akhir elemen terakhir. Ini adalah kesalahan yang sangat umum dan sering menyebabkan error.

Contoh yang salah:

{   
 "nama": "Rina",   
 "kota": "Jakarta", //<-- Ada koma di sini, ini salah!
}

Jenis Value JSON

Secara umum, ada enam jenis nilai yang sah dalam JSON:

1. String (Teks)

Nilai berupa teks, selalu diapit oleh tanda kutip ganda (“). Tipe ini digunakan untuk nama, deskripsi, atau informasi lain yang sifatnya teks.

Contoh:

"pekerjaan": "Full-stack Developer"

2. Number (Angka)

Nilai berupa angka, baik itu bilangan bulat (integer) maupun desimal (floating-point). Aturan pentingnya, jangan pernah menggunakan tanda kutip pada angka.

Contoh:

"usia": 30, 
"tinggi_badan": 1.75

3. Boolean (Logika)

Nilai yang hanya bisa benar atau salah. Nilai ini ditulis dengan true atau false (dengan huruf kecil semua). Tipe data ini sangat berguna untuk status atau kondisi.

Contoh:

"sudah_menikah": false,
"sudah_aktif": true

4. Array (Daftar)

Seperti yang sudah kita bahas sebelumnya, array adalah daftar terurut dari nilai. Nilai-nilai di dalamnya dipisahkan oleh koma dan diapit oleh tanda kurung siku ([]). Uniknya, array bisa berisi campuran dari semua jenis nilai lainnya.

Contoh:

"hobi" [
 "membaca buku",
 "mendaki gunung di Roblox",
 "berenang"
]
Atau contoh lainnya:
"data_pengguna": [
 {
  "id": 1,
  "nama": "Citra"
 },
 {
  "id": 2,
  "nama": "Doni"
 }
]

5. Object (Objek)

Mirip dengan array, objek juga sudah kita singgung. Objek adalah kumpulan pasangan nama-nilai yang diapit oleh kurung kurawal ({}). Objek sering digunakan untuk merepresentasikan sebuah entitas, seperti data seorang pengguna atau sebuah produk.

Contoh:

"alamat": {   
 "jalan": "Jl. Merdeka No. 10",   
 "kota": "Surabaya",   
 "kode_pos": "60211" 
}

Nilai alamat pada contoh di atas adalah sebuah objek lain.

6. Null (Kosong)

Nilai null digunakan ketika sebuah data tidak memiliki nilai. Ini berbeda dengan string kosong (“”) atau angka nol (0), karena null benar-benar merepresentasikan ketiadaan nilai.

Contoh:

"nomor_telepon_kedua": null

Kelebihan dan Kekurangan JSON

Setiap teknologi pasti punya kelebihan dan kekurangan, begitu juga dengan JSON. Berikut beberapa kelebihan dan kekurangan JSON.

Kelebihan JSON

  1. Ringan dan Mudah Dibaca Dibandingkan dengan format lain seperti XML, JSON jauh lebih ringkas. Strukturnya yang minim “ceremonial” (seperti tag pembuka dan penutup pada XML) membuatnya cepat dikirim dan diterima. Selain itu, sintaksnya yang sederhana dan mirip dengan objek dalam JavaScript membuatnya sangat intuitif untuk dibaca oleh manusia.
  2. Mudah untuk Dikembangkan (Easy to Parse) Hampir semua bahasa pemrograman modern sudah dilengkapi dengan parser (pembaca) JSON bawaan. Ini berarti para developer tidak perlu lagi membuat kode rumit untuk mengubah data JSON menjadi objek yang bisa dimanipulasi di dalam program. Cukup panggil satu fungsi, dan data sudah siap digunakan. Proses ini sangat cepat dan efisien.
  3. Independen dari Bahasa Pemrograman Meskipun lahir dari JavaScript, JSON adalah format data universal. Anda bisa menggunakannya untuk bertukar data antara aplikasi yang ditulis dalam Python di sisi backend dan aplikasi mobile yang ditulis dalam Swift di sisi frontend. Fleksibilitas ini adalah salah satu alasan utama popularitasnya.
  4. Representasi Data Hierarkis yang Jelas Dengan kombinasi objek ({}) dan array ([]), JSON sangat efektif dalam merepresentasikan struktur data yang kompleks dan bertingkat. Ini membuatnya cocok untuk data seperti profil pengguna, daftar produk, atau struktur komentar pada sebuah artikel.

Kekurangan JSON

  1. Tidak Memiliki Skema Bawaan Ini adalah salah satu kekurangan terbesarnya. JSON tidak memiliki mekanisme bawaan untuk mendefinisikan “aturan main” data. Misalnya, tidak ada cara untuk memastikan bahwa sebuah objek selalu memiliki kunci “nama” atau bahwa nilai dari “usia” selalu berupa angka. Akibatnya, validasi data harus dilakukan secara manual di sisi aplikasi, yang bisa menambah kompleksitas.
  2. Keterbatasan Tipe Data JSON memiliki tipe data yang sangat terbatas (string, number, boolean, array, object, null). Ini bisa menjadi masalah jika Anda perlu menyimpan tipe data yang lebih spesifik, seperti tanggal (date), yang harus diwakili sebagai string. Untuk mengatasi ini, developer harus membuat konvensi atau aturan tambahan.
  3. Kurang Cocok untuk Berkas Sangat Besar Meskipun ringan, untuk file yang ukurannya sangat besar (puluhan atau ratusan megabyte), format JSON tidak seefisien format biner seperti Protocol Buffers atau Apache Avro.
    Format biner ini mengemas data dengan sangat padat, sehingga lebih cepat dikirim dan diurai. Namun, untuk sebagian besar kasus penggunaan di web dan mobile, JSON lebih dari cukup.

Cara Menggunakan JSON

Setelah kita paham teori dan aturannya, sekarang saatnya masuk ke praktik. Pertanyaannya, bagaimana kita bisa benar-benar menggunakan JSON dalam pekerjaan sehari-hari? Secara umum, ada dua proses utama: menyusun (stringify) dan mengurai (parse).

1. Menyusun Data Menjadi JSON (Stringify)

Ini adalah proses mengubah data dari format yang dipahami oleh program Anda (seperti objek atau array) menjadi sebuah string JSON. Proses ini biasanya terjadi saat Anda ingin mengirim data dari aplikasi ke server.

Bayangkan Anda memiliki data pengguna dalam program. Di JavaScript, data itu mungkin terlihat seperti ini:

const user = {
  nama: "Budi",
  email: "[email protected]",
  is_aktif: true
};

Untuk mengirim data ini ke server melalui API, Anda harus mengubahnya menjadi teks JSON. Di JavaScript, kita bisa menggunakan fungsi JSON.stringify():

const jsonString = JSON.stringify(user);

console.log(jsonString);
// Output: {"nama":"Budi","email":"[email protected]","is_aktif":true}

Seperti yang Anda lihat, fungsi ini mengubah objek JavaScript menjadi string JSON yang valid.

String inilah yang kemudian dikirim melalui jaringan. Setiap bahasa pemrograman memiliki fungsi serupa. Di Python, Anda bisa menggunakan json.dumps(), di Java ada Gson, dan sebagainya.

2. Mengurai JSON Menjadi Data (Parse)

Ini adalah kebalikan dari proses sebelumnya. Saat Anda menerima data JSON dari server, Anda perlu mengubahnya kembali menjadi format objek atau array agar bisa dimanipulasi di dalam program.

Misalnya, Anda menerima string JSON berikut:

const jsonString = '{"id":101,"nama_produk":"Mouse Gaming","harga":500000}';

Anda tidak bisa langsung mengakses jsonString.id karena itu hanyalah teks biasa. Anda harus menguraikannya (parse) terlebih dahulu.

Di JavaScript, fungsi yang digunakan adalah JSON.parse():

const produk = JSON.parse(jsonString);

console.log(produk.nama_produk);
// Output: Mouse Gamingconsole.log(produk.harga);
// Output: 500000

Setelah di-parse, produk menjadi sebuah objek yang bisa Anda akses propertinya dengan mudah, persis seperti objek di dalam program Anda.

Proses ini sangat penting karena ia menjembatani komunikasi antara data yang dikirim (string) dengan data yang dibutuhkan oleh program (objek).

Perbedaan JSON dan XML

Format pertukaran data yang populer juga adalah XML. Hingga saat ini XML masih banyak digunakan, terutama pada sistem lama. Namun, seiring waktu, JSON mulai mengambil alih, terutama dalam pengembangan web baru. Lantas, apa saja perbedaaan mendasar di antara keduanya?

1. Sintaks dan Keterbacaan

Ini adalah perbedaan yang paling mencolok. XML menggunakan tag (mirip dengan HTML) untuk mendefinisikan elemen data. Setiap tag pembuka harus memiliki tag penutup.

Contoh data produk dalam XML:

<produk><nama>Monitor LED</nama><harga>2500000</harga></produk>

Sintaks ini, meskipun sangat terstruktur, sering kali dianggap terlalu verbose karena banyaknya penggunaan tag berulang.

Sebaliknya, JSON menggunakan sintaks yang jauh lebih ringkas, yaitu pasangan nama-nilai dengan kurung kurawal dan kurung siku.

Contoh data produk yang sama dalam JSON:

{
  "nama": "Monitor LED",
  "harga": 2500000
}

Seperti yang bisa Anda lihat, format JSON jauh lebih efisien dan mudah dibaca secara sekilas oleh manusia, membuatnya lebih disukai oleh para developer modern.

2. Ukuran Berkas

Karena sintaksnya yang lebih ringkas, berkas JSON secara umum lebih kecil daripada berkas XML yang berisi data yang sama. Di dunia di mana kecepatan adalah segalanya, berkas yang lebih kecil berarti waktu loading yang lebih cepat dan penggunaan bandwidth yang lebih hemat.

3. Dukungan untuk Tipe Data

JSON memiliki dukungan bawaan untuk beberapa tipe data dasar: string, number, boolean, array, object, dan null. Tipe data ini sangat selaras dengan cara data direpresentasikan di sebagian besar bahasa pemrograman.

Sebaliknya, XML secara fundamental hanya memperlakukan semua data sebagai teks (string).

Untuk menentukan tipe data (misalnya, apakah suatu nilai adalah angka atau tanggal), Anda harus menambahkan atribut atau konvensi tambahan. Ini membuat proses pengolahan data di sisi program menjadi lebih kompleks.

4. Intergasi dengan Bahasa Pemrograman

Ini adalah poin yang sangat penting. JSON secara alami selaras dengan sintaks objek di JavaScript, bahasa yang menjadi tulang punggung pengembangan web front-end.

Ini membuat proses penguraian data JSON menjadi objek di JavaScript menjadi sangat cepat dan efisien.

Meskipun banyak bahasa pemrograman memiliki library untuk memproses XML, prosesnya sering kali membutuhkan langkah tambahan dan lebih kompleks dibandingkan dengan JSON.

Penutup

Dari artikel ini, semoga Anda dapat memahami mengapa JSON bukan sekadar istilah teknis, melainkan perantara data yang dapat diandalkan dan efisien, yang menjadi jembatan komunikasi antar aplikasi modern.

Langkah pertama yang dapat Anda lakukan adalah mencoba membuat file JSON sederhana atau memanfaatkan API publik gratis yang banyak tersedia di internet untuk melihat bagaimana data diproses dan ditampilkan dalam aplikasi.

Jika Anda ingin mengembangkan proyek berbasis API, aplikasi web, atau sistem yang memanfaatkan pertukaran data menggunakan JSON, pastikan Anda menggunakan layanan hosting yang stabil dan mendukung berbagai kebutuhan pengembangan.

Dengan layanan hosting dan VPS Indonesia Terbaik dari Exabytes, Anda dapat menjalankan aplikasi, mengelola server, serta membangun sistem berbasis API dengan performa yang optimal dan infrastruktur yang andal.