Yuk Kenalan Dengan JSON: Fungsi & Struktur Dalam Pemrograman
Bagi kamu yang baru memulai perjalanan keminatan dan karir dalam programming, apakah kamu tahu kalau JavaScript punya bahasa pemrograman “turunan” yang bernama JSON?
Perlu kamu ketahui bahwa keberadaan JavaScript Object Notation atau yang lebih dikenal dengan JSON adalah sangat penting untuk penyimpanan dan pertukaran dalam aplikasi web.
Perannya yang begitu penting dalam mendukung banyak bahasa pemrograman membuat banyak programmer ahli berpendapat bahwa JSON adalah format penulisan pemrograman berbasis teks yang wajib dipahami oleh semua programmer, baik pemula hingga ahli.
Sebab, dengan semakin kompleksnya produk-produk teknologi (misalnya aplikasi web), kamu akan kesulitan dalam web development ketika tidak mengaplikasikan JavaScript Object Notation ini.
Bahkan berdasarkan pengalaman banyak programmer, bentuk dan proses notasi objek menggunakan prinsip JSON lebih unggul dari pada XML berdasarkan fungsi dan strukturnya dalam pemrograman.
Nah, berdasarkan statement di atas, artikel DomaiNesia kali ini akan mengupasnya dengan tuntas dan bagaimana fungsi serta strukturnya dalam pemrograman.
Pengertian dan Fungsi JSON
JavaScript Object Notation atau JSON adalah format berbasis teks standar untuk mewakili data terstruktur berdasarkan sintaks objek JavaScript.
Biasanya format ini digunakan untuk menyimpan dan mentransmisikan data dalam aplikasi web antara server dan klien.
Misalnya mengirim beberapa data dari server ke klien sehingga dapat ditampilkan di halaman web, atau sebaliknya.
JSON adalah format data yang dipopulerkan oleh Douglas Crockford yang mana sangat mirip dengan sintaks literal objek pada JavaScript.
Notasi objek ini memiliki posisi sebagai string yang mana perlu dikonversi ke objek JavaScript asli terlebih dahulu saat programmer ingin mengakses data untuk dikirim melalui suatu jaringan.
Perbandingan JSON vs XML
Jika kamu membaca kata pengantar di awal, kami sempat menyebutkan bahwa sintaks dan notasi objek JSON lebih unggul daripada XML.
Apa alasannya? Perhatikan contoh penulisan sintaks keduanya di bawah ini.
JSON
{“employees”:[
{“name”:“Andi Surandi”, “age”:“28”, “city”:“Jakarta”},
{“name”:“Putri”, “age”:“27”, “city”:“Surabaya”},
{“name”:“Agus”, “age”:“26”, “city”:“Yogyakarta”},
{“name”:“Siti”, “age”:“30”, “city”:“Bandung”}
]}
XML
<employees>
<employee>
<name>Andi Surandi</name> <age>28</age> <city>Jakarta</city>
</employee>
<employee>
<name>Putri</name> <age>27</age> <city>Surabaya</city>
</employee>
<employee>
<name>Agus</name> <age>26</age> <city>Yogyakarta</city>
</employee>
<employee>
<name>Siti</name> <age>30</age> <city>Bandung</city>
</employee>
</employees>
Seperti yang bisa kamu lihat dengan jelas bahwa sintaks JavaScript Object Notation jauh lebih ringan dan ringkas dibandingkan dengan XML karena tidak membutuhkan tanda kurung buka dan tutup.
Selain itu, notasi objek JavaScript tersebut memanfaatkan array yang tidak tersedia dalam XML sehingga berpengaruh pada ukuran file yang lebih kecil.
Tipe Struktur Data JSON
Seperti yang sudah sempat dijelaskan di atas, JSON adalah string yang format datanya sangat mirip dengan format literal objek JavaScript.
Dengan begitu, kamu bisa mencantumkan tipe data dasar yang juga digunakan dalam objek JavaScript standar, yaitu string, number, array, boolean, dan literal objek lainnya.
Contohnya:
{
“name”: “DomaiNesia”, >> String
“age”: 12, >> number
“service”: true, >> boolean
“powers”: [ >> array
“Penyedia Web Hosting Terbaik di Indonesia”,
“Penyedia Domain Murah”
]
}
-
Object JSON
Object pada JSON adalah sintaks yang terdiri dari sepasang key dan value yang selalu dibuka dan ditutup dengan tanda kurung kurawal ({…}).
Contoh Object:
var andi= {
“name” : “Andi Surandi”,
“age” : “28”,
“gender” : “pria”
};
Sintaks di atas merupakan susunan objek yang dapat kita akses menggunakan variabel chaitanya.
Di dalam sebuah objek kamu dapat memiliki sejumlah pasangan key-value seperti yang kita miliki di atas.
Cara mengakses informasi dari objek JSON adalah seperti berikut:
document.writeln("Nama: " +andi.name);
document.writeln("Umur: " + andi.age);
document.writeln("Jenis Kelamin: "+ andi.gender);
-
Array Object
Apabila contoh di atas digunakan untuk menyimpan informasi satu orang dalam sebuah notasi objek JavaScript, maka contoh selanjutnya akan membuat kamu dapat menyimpan informasi lebih dari satu orang yang mana kita sebut sebagai array objek.
Pengertian array pada JSON adalah kumpulan object yang selalu dibuka dan ditutup oleh tanda kurung siku ([…]).
Contoh Array Object:
var employees = [{
“name” : “Andi Surandi”,
“age” : “28”,
“gender” : “pria”
},
{
“name” : “Putri”,
“age” : “27”,
“gender” : “wanita”
}];
Supaya kamu bisa mengakses informasi dari array di atas, kamu perlu menulis kode seperti ini:
document.writeln(employees[0].age); //outputnya adalah 28
document.writeln(employees[1].name); //outputnya adalah Putri
-
Nested Object
Nested object adalah sekumpulan objek dapat “bersarang” atau nested di dalam objek lain yang mana setiap objek bersarang memiliki jalur akses yang unik.
Contoh Nested Object:
var employees= {
“andi” : {
“name” : “Andi Surandi”,
“age” : “28”,
“gender” : “pria”
},
“putri” : {
“name” : “Putri”,
“age” : “27”,
“gender” : “wanita”
}
}
Berdasarkan contoh di atas, “name”, “age”, dan “gender” adalah value dari key “andi” dan “putri”.
Ketiga value tersebut berada di antara kurung kurawal pembuka dan penutup sehingga “andi” dan “putri” beserta ketiga value-nya adalah object di dalam object var employees.
Sintaks untuk mengakses nested object:
document.writeln(students.steve.age); //output: 29
document.writeln(students.sop.gender); //output: female
Catatan Penting Penulisan Sintaks JSON
Sama seperti bahasa markup ataupun bahasa pemrograman lainnya, JavaScript Object Notation ini juga punya struktur penulisan sintaks yang tidak boleh dilupakan.
Sebab, kesalahan penulisan sintaks akan berpengaruh pada fungsi program yang kamu buat.
Berikut ini catatan penting dalam penulisan sintaks.
- Terdiri dari string dengan format data tertentu yang mana hanya berisi properti, tanpa metode.
- Sintaks harus menggunakan tanda kutip ganda (“…”) untuk digunakan di sekitar string dan nama properti. Tanda kutip tunggal (’…’) tidak valid.
- Bahkan penempatan satu koma (,) atau titik dua (:) yang salah dapat menyebabkan file tidak berfungsi sehingga kamu harus berhati-hati ketika memvalidasi data apa pun yang akan kamu gunakan. Kamu bisa memvalidasinya menggunakan aplikasi JSONLint.
- Format data JavaScript ini dapat mengambil bentuk tipe data apa pun yang valid untuk dimasukkan ke dalam JavaScript Object Notation, bukan hanya array atau objek tapi juga satu string atau number.
- Tidak seperti dalam kode JavaScript yang mana properti object tidak harus dikutip, sedangkan di JavaScript Object Notation hanya string yang dikutip yang dapat digunakan sebagai properti.
Kelebihan JSON
Sebagai format data, JavaScript Object Notation memiliki beberapa keunggulan dibandingkan bahasa sejenis yaitu XML.
Keunggulan JSON adalah sebagai berikut.
- Ringan, terlebih saat kamu bekerja dengan AJAX yang membutuhkan pengelolaan dan memuat data dengan cepat.
- Bahasa yang independen atau tidak bergantung dan dapat bekerja pada bahasa pemrograman JavaScript dan bahasa pemrograman modern lainnya. Seperti Java, C++, Python, PHP, Ruby, AJAX, dan Perl.
- Format pertukaran data berbasis teks yang dapat dibaca dan ditulis manusia dengan mudah.
Kekurangan JSON
Meskipun JSON adalah bahasa markup dan format data yang relatif fleksibel dan ringkas serta mudah digunakan dalam banyak bahasa pemrograman, ada beberapa kelemahan yang membuat penggunaannya perlu selalu diperhatikan.
Adapun kekurangan JSON adalah:
- Tidak memiliki schema yang membuat kamu memiliki fleksibilitas total untuk mewakili data dengan cara apa pun dan secara tidak sengaja membuat data yang salah dengan sangat mudah.
- Tidak memiliki tipe data untuk tanggal sehingga programmer harus menggunakan representasi string tanggal yang akan mengakibatkan perbedaan format.
- Tidak ada sintaks komentar yang membuat programmer tidak bisa memberikan keterangan pada baris kode tertentu sehingga mereka harus menggunakan dokumentasi tambahan agar mengurangi kemungkinan adanya kesalahpahaman selama coding.
- Hanya ada satu jenis tipe data angka yaitu dengan format floating-point presisi ganda IEEE-754. Alhasil kamu tidak bisa memanfaatkan beragam tipe angka yang tersedia dalam berbagai bahasa pemrograman modern.
- Penggunaan sintaks atau kata yang terlalu banyak walaupun JSON adalah format teks yang lebih singkat daripada XML. Tapi tetap saja, JavaScript Object Notation bukanlah format pertukaran data yang paling ringkas.
Perangkat Lunak Tambahan JSON
Jika kamu ingin memeriksa atau memanipulasi data yang ditulis dengan sintaks JavaScript Object Notation secara langsung tanpa perlu menulis kode sendiri, di luaran sana ternyata terdapat beberapa perangkat lunak online yang akan membantu dan memudahkan proses pengembangan program.
Beberapa di antaranya adalah sebagai berikut.
-
JSONLint
JSONLint sebagai formatter yang berguna untuk memformat dan memvalidasi kode sintaks pemrograman.
-
Stack.hu
Stack.hu merupakan situs yang membantu kamu membuat struktur pohon interaktif dalam pemahaman struktur kode pemrograman.
-
Prettydiff
Prettydiff berguna untuk kamu yang ingin “mempercantik” kode pemrograman dengan warna-warna tertentu.
-
Convertcsv.com
Convertcsv.com berguna dalam pemindahan data dari file berformat .json ke format file .csv atau XML secara cepat.
JSON Adalah Faktor Penting Dalam Pemrograman Saat Ini!
Nah, kamu sudah sampai di penghujung artikel yang membahas JSON secara lengkap.
Bagaimana, sudah siap untuk mendalami kebergunaan JavaScript Object Notation dalam aplikasi web interaktif kamu?
Harus siap dong ya karena JSON adalah format terbaik dalam mendukung proses penyimpanan dan pertukaran data dalam aplikasi web yang kamu bangun.
Dengan notasi objek ini, kamu bisa menyusun kode-kode untuk fungsi web tertentu dengan lebih mudah dibaca dan dipahami karena berbasis teks sehingga user-friendly serta kode yang lebih ringkas.
Harapannya juga kamu bisa punya gambaran sekilas seperti apa JavaScript Object Notation sebelum memulai pengaplikasiannya di program web kamu melalui contoh struktur kode yang DomaiNesia berikan.
Apalagi sekarang JSON adalah format bahasa pemrograman yang mendukung beberapa proses layanan hosting dan cloud VPS, seperti yang dimiliki DomaiNesia.