PMO2 PERTEMUAN 4 – Pengenalan JSON Parsing

Pengenalan JSON Parsing

Pemrograman Mobile 2

Kelompok 3


 

1. Pemahaman JSON Parsing
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. JSON adalah format untuk menyimpan data secara sistematis seperti XML, CSV, dll.

Parsing itu sendiri berarti suatu cara memecah-mecah suatu rangkaian masukan (misalnya dari berkas) yang akan menghasilkan suatu pohon uraian (parse tree) yang akan digunakan pada tahap kompilasi berikutnya yaitu analisis semantik.

Sedangkan JSON Parser adalah parser yang dirancang untuk membaca JSON dan membuat suatu cara untuk program agar dapat memecah-mecah suatu rangkaian masukan yang akan digunakan pada tahap kompilasi berikutnya yaitu analisis semantik. JSON parsing membantu mengindent dan memvalidasinya. JSON merupakan format pertukaran data independen dan merupakan alternatif terbaik untuk XML.

a) Sintaks dan Struktur

JSON terbuat dari dua struktur, yaitu :
– Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
– Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

Sebuah objek JSON memiliki format data key-value yang biasanya di render di dalam kurung kurawal. Saat kita bekerja dengan JSON, kita akan sering melihat objek JSON disimpan di dalam sebuah file .json, tapi mereka juga dapat disimpan sebagai objek JSON atau string di dalam sebuah program.

Ada beberapa tipe data dasar dalam JSON, yaitu:

– Object
Object adalah sepasang nama/nilai yang tidak terurutkan. Object dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

– Array
Array adalah kumpulan nilai yang terurutkan. Array dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).

– Value
Value dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.

– Number
Number sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.

– String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes “\” untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.

b) Perbandingan JSON dengan XML

XML sangat mirip dengan JSON tapi membutuhkan lebih banyak teks sehingga lebih panjang isinya dan lebih lama untuk membaca dan menulisnya. XML harus dibaca dengan sebuah XML parser, namun JSON dapat dibaca menggunakan fungsi standar. Juga seperti JSON, XML tidak bisa menggunakan array.

2. Metode-metode JSON Parser

Ada beberapa metode yang disediakan oleh kelas ini untuk file Parsing JSON yang lebih baik.
Metode-metode itu adalah sebagai berikut :

– getJSONObject
Berfungsi untuk mengembalikan objek JSON.

– getString
Berfungsi untuk mengembalikan nilai string kunci yang ditentukan.

– get(String name)
Metode ini hanya berfungsi untuk mengembalikan nilai tetapi dalam bentuk jenis Objek.

– getBoolean(String name)
Metode ini berfungsi untuk mengembalikan nilai boolean yang ditentukan oleh kunci.

– getDouble(String name)
Metode ini berfungsi untuk mengembalikan nilai ganda yang ditentukan oleh kunci.
– getInt(String name)

Metode ini berfungsi mengembalikan nilai integer yang ditentukan oleh kunci.
– getLong(String name)

Metode ini berfungsi untuk mengembalikan nilai panjang yang ditentukan oleh kunci.

– length()
Metode ini mengembalikan jumlah pemetaan nama / nilai dalam objek ini.

– names()
Metode ini mengembalikan larik yang berisi nama string dalam objek ini.

3. Library JSON Parser

Ada berapa library pada JSON Parser yang dapat digunakan. Berikut beberapa library yang yang paling populer untuk java mengurai file.
– JSON.simple
JSON.simple adalah toolkit Java untuk encoding dan decoding teks JSON. Ini dimaksudkan untuk menjadi perpustakaan yang ringan dan sederhana yang masih berkinerja tinggi.

– GSON
GSON adalah pustaka Java yang mengubah Java Objects menjadi JSON dan sebaliknya. GSON memberikan manfaat tambahan dukungan penuh untuk Java Generics, dan tidak mengharuskan untuk membubuhi keterangan kelas. Tidak perlu menambahkan anotasi untuk implementasi yang lebih sederhana dan bahkan bisa menjadi persyaratan jika Anda tidak memiliki akses ke kode sumber Anda.

– Jackson
Jackson adalah sekelompok alat pengolah data yang disorot oleh streaming parser dan pustaka generator JSON. Didesain untuk Java, ia juga dapat menangani pengkodean non-JSON lainnya. Jackson merupakan parser JSON yang paling popular.

– JSONP
JSONP (JSON Processing) adalah Java API untuk pemrosesan JSON, yaitu seputar mengkonsumsi dan memproduksi streaming teks JSON. Ini adalah implementasi referensi open source dari JSR353.

– FastJSON
FastJSON adalah library Java yang dapat digunakan untuk mengkonversi objek Java (POJO) ke dalam bentuk JSON. Ini juga dapat dipakai untuk mengkonversi dari JSON bentuk String ke bentuk objek Java yang sesuai.

– Moshi
Moshi adalah library JSON modern untuk Android dan Java dari Square. Ini dapat dianggap sebagai penerus GSON, dengan API yang lebih sederhana dan lebih ramping serta arsitektur yang memungkinkan kinerja yang lebih baik melalui penggunaan pustaka Okio. Ini juga merupakan perpustakaan yang paling ramah Kotlin yang dapat Anda gunakan untuk mengurai file JSON, karena dilengkapi dengan ekstensi sadar Kotlin.

– FlexJSON
FlexJSON adalah library ringan untuk serialisasi dan deserialisasi objek Java baik menuju atau dari JSON. Hal yang berbeda tentang Flexjson adalah kontrol atas apa yang mendapat serial memungkinkan salinan objek yang dalam dan dangkal.

4. Projek Sederhana Menggunakan Konsep JSON

Sediakan dan tentukan data yang akan diambil atau ditampilkan pada aplikasi android. Data dapat dibuat sendiri atau mengambil dari web lain.

1. Buat aplikasi android baru menggunakan studio android dan berikan nama sebagai JSONParser.

2. Buka file activity_main.xml di folder \res\layout dan tulis kode seperti dibawah ini.

3. Buat layout resource file baru pada folder \res\layout, caranya klik kanan pada folder layout > tambahkan layout resource file baru > beri nama list_item.xml seperti di bawah ini.

4. Sekarang buka file list_item.xml dan tulis kode seperti di bawah ini.                                     

5. Buka file MainActivity.java pada folder \java\com.example.asus.jsonparser dan tulis kode seperti di bawah ini.

6. Buat java class baru pada folder \java\com.example.asus.jsonparser, caranya klik kanan pada folder com.example.asus.jsonparser > tambahkan java class baru > beri nama PengaturHttp.java seperti di bawah.

7. Sekarang buka file PengaturHttp.java dan tulis kode seperti di bawah ini.

8. Terakhir, buka file AndroidManifest.xml pada folder \manifest dan tambahkan kode permission seperti dibawah.

9. Hasil running program.

 

Disusun Oleh :
DIMAS FUAD ALWIAN 16.11.0075
HAFID IMAN SENTOSA 16.11.0114
SITI ROFIAH 16.11.0120
INDRA KUSUMA W 16.11.0124
LABIBUL UMAM 16.11.0145
FAJAR DWI SETIAWAN 16.11.0151
IDHA APRIAN F 16.11.0158
LUTFI ABDURROHMAN 16.11.0159
HEGA FAISAL A 16.11.0161
ARIF BAGUS SETIAJI 16.11.0163
AMIN RIFA’I 16.11.0167
FIKRI LABIB 16.11.0176

Link Download :
Presentation
Projek
Referensi 1
Referensi 2
Referensi 3
Referensi 4