PMO2-TI16S-P4-PENGENALAN JSON PARSER- Fadil

PEMROGRAMAN MOBILE 2

Kelompok 3
Anggota :
Fadila Aktar Ziyadi : 16.11.0079
Mei Indiani : 16.11.0097
Calvin Hartono : 16.11.0100
Mohammad Fahrul : 16.11.0107
Wahyu : 16.11.0132
Bachtiar Andi : 16.11.0135
Fadil : 16.11.0136
Aziz Nur Rahman : 16.11.0140
Rizqi Adi Prakoso :16.11.0147
Fajar Bayu Wicaksono :16.11.0157

——————————————————————————————————————————————————————–

Meteri yang akan di bahas :

Pengenalan JSON Parser
-Pemahaman JSON Parser
-Metode-metode JSON Parser
-Library JSON Parser
-Proyek sederhana dengan konsep JSON Parser

——————————————————————————————————————————————————————–

1. Pemahaman json parser

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer.JSON adalah kependekan dari JavaScript Object Notation. Penulisan format data menggunakan JSON sangatlah singkat karena menggunakan notasi-notasi javascript seperti kurung siku [] dan kurung kurawal {}.
Sebagai contoh, twitter menyediakan API untuk digunakan pada situs pihak ketiga atau aplikasi pihak ketiga misalnya twitter client (tweetdeck dll). Data yang dikirimkan dari hasil request berupa data berformat JSON.
JSON dipakai untuk dua hal :
untuk format transfer data antar device/OS/bahasa pemerograman yang berbeda
sebagai media penyimpanan.

Kelebihan JSON dari XML:
Ukuran lebih kecil dibanding XML, efeknya transfer data lebih cepat dan lebih hemat resource, terutama bandwidth
JSON adalah format data bawaan di Javascript, artinya jike data dari server di kirim ke client , dan client menggunakan javascript, maka tidak perlu library tambahan untuk memprosesnya
Dibanding XML, format JSON lebih sederhana.
library JSON ada di setiap bahasa pemrograman sehingga memudahkan programer yang berbeda bahasa pemrograman.

2. Method-method json parser
a. get(String name)
Metode ini hanya Mengembalikan nilai tetapi dalam bentuk jenis Objek.
b. getBoolean(String name)
Metode ini mengembalikan nilai boolean yang ditentukan oleh kunci
c. getDouble(String name)
Metode ini mengembalikan nilai ganda yang ditentukan oleh kunci.
d. getInt(String name)
Metode ini mengembalikan nilai integer yang ditentukan oleh kunci
e. getLong(String name)
Metode ini mengembalikan nilai panjang yang ditentukan oleh kunci
f. length()
Metode ini mengembalikan jumlah pemetaan nama / nilai dalam objek ini
g. names()
Metode ini mengembalikan larik yang berisi nama string dalam objek ini
h. JSON.Parse() Memparse string sebagai JSON, biasanya mengubah nilai yang diberikan beserta sifatnya, dan mengembalikan nilai.
i. JSON.Stringify() Mengembalikan string JSON berdasarkan nilai spesifik, biasanya termasuk beberapa properti tertentu saja atau mengganti nilai properti secara user-defined.

3. Library json parser

a. Retrofit
Retrofit merupakan library android yang dibuat oleh Square yang digunakan sebagai REST Client pada Android, yang pasti akan memudahkan kita. Karena kita tidak perlu lagi untuk membuat method-method sendiri untuk menggunakan REST Client API dari backend. Library ini menyediakan framework yang powerfull untuk authenticating dan berinteraksi dengan API dengan mengirimkan request menggunakan OkHTTP.

Beberapa alasan mengapa retrofit populer diantaranya yaitu :
-Retrofit merupakan library yang simple untuk meng-organize API calls.
-Konsep annotation akan membuat codingan kita lebih rapih dan enak dipandang
-Retrofit bisa memakai OkHttp sebagai Http client-nya
-Retrofit men-support RxJava.
-Retrofit men-support penggunaan GSON dan Jackson.

b. Volley
Volley merupakan sebuah library HTTP yang diperkenalkan oleh Google untuk mempermudah pertukaran data dan membuat koneksi jaringan antara android dengan HTTP menjadi lebih mudah tanpa harus membuat deretan kode yang sangat panjang. Secara default volley menggunakan metode sinkronisasi jadi anda tidak perlu membuat sebuah method atau fungsi yang menggunakan class asynctask.
-Melakukan sebuah request queuing and prioritization (Mengutamakan prioritas dalam sebuah antrian).
-Sangat efektif untuk melakukan chace dan efesiensi penyimpanan (memory)
-Dapat melakukan perubahan class sesuai dengan kebutuhan
-Dapat melakukan pembatalan dalam sebuah request.

c. Fast Android Networking
Adalah sebuah library sama seperti library lainya namun perbedaanya yaitu library ini memiliki banyak fitur yang tidak ada di library Retrofit. Dan tentunya lebih lengkap dibandingkan Retrofit maupun Volley. Library ini mendukung semua jenis HTTP/HTTPS permintaan seperti GET, POST, DELETE, HEAD, PUT, PATCH.

Keuntungan menggunakan library Fast Android Networking di atas library lain:
-OkHttpClient dapat disesuaikan untuk setiap permintaan dengan mudah seperti penyesuaian waktu habis, dll untuk setiap permintaan.
-Lebih cepat, karena menggunakan OkHttpClient dan Okio.
-Satu library untuk semua jenis jaringan – unduh, unggah, multipart.
-Mendukung JSON Parsing ke Java Objects (mendukung Jackson Parser).
-Prefetching dari setiap permintaan dapat dilakukan sehingga memberikan data instan ketika diperlukan dari cache.
-Semua jenis kustomisasi dimungkinkan.
-Antarmuka sederhana untuk membuat jenis permintaan apa pun.
-Mendukung RxJava.

d. GSON

GSON adalah library java yang digunakan untuk meng-convert objek java ke JSON atau sebaliknya. GSON memiliki fungsi serialization dan deserialization. Serialization berfungsi merubah JSON string menjadi objek java, sedangkan deserialization berfungsi merubah objek java menjadi bentuk JSON. Serialization dan deserialization di GSON menggunakan fungsi fromJson() dan toJson(). GSON memberikan manfaat tambahan dukungan penuh untuk Java Generics, dan itu tidak mengharuskan Anda untuk menganotasi kelas Anda. Tidak perlu menambahkan anotasi untuk penerapan yang lebih mudah dan bahkan bisa menjadi persyaratan jika Anda tidak memiliki akses ke kode sumber Anda.

e. 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.

f. 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.

Link PPT : pertemuan 4 klmpk 3
Link Projek : https://drive.google.com/open?id=1rKoWWjtq4YpZv2zugswiRQRXTxSJAm9N