Tipe Data JSON



Anggota :Mafrukhin(16.11.0171)Muhammad Syaikhan(16.11.0173)Ade Alfianto(16.11.0177)Trian Damai(16.11.0180)Panji Dwi Suwarna(16.11.0186)Zakhrotul Lellafrita(16.11.0187)Nurizza Amalia Larasati(16.11.0193)Akhmad Kamaludin(16.11.0194)Teguh Mardiono(16.11.0195) Rifki Kurniawan Fauzi(16.11.0207) Onang Wulan Toro(16.11.0210)1.PEMAHAMAN JSON PARSERJSON (Javascript Object Notation) merupakan format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia.JSON dipakai untuk dua hal; yang pertama untuk format transfer data antar device/OS/bahasa pemerograman yang berbeda dan sebagai media penyimpanan.untuk apa JSON ini dalam pengembangan aplikasi Android ?Dalam aplikasi Android, terkadang kita memerlukan suatu data yang berasal dari suatu server untuk digunakan dan ditampilkan dalam aplikasi kita. Nah, untuk mengambil data dari server kita bisa memakai yang namanya API (Application Programming Interface).Dalam penyaluran data dari server ke client(aplikasi kita) memerlukan sebuah standar pemformatan data, nah disinilah kita pakai JSON.Kelebihan JSONWalaupun XML sudah sejak lama dipakai dalam format transfer data, namun beberapa tahun terakhir, JSON menggeser posisi XML. Kelebihan JSON dari XML adalah sbb:Ukuran lebih kecil dibanding XML, efeknya transfer data lebih cepat dan lebih hemat resource, terutama bandwidthJSON 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 memprosesnyaDibanding XML, format JSON lebih sederhana.library JSON ada di setiap bahasa pemrograman sehingga memudahkan programer yang berbeda bahasa pemrograman.Tipe Data JSONObjek. Objek merupakan kumpulan pasangan key dan value yang diapit dengan kurung buka dan kurung tutup (seperti penjelasan sebelumnya). Karena objek ini mencerminkan associative array, maka direkomendasikan agar tidak menggunakan key dengan nilai sama (key sebaiknya unik). Objek ini boleh bernilai kosong dan cukup ditulis {}Number. Number berupa digit 0-9 dan ditulis apa adanya tanpa perlu menggunakan tanda kutip. Number dapat berupa bilangan bulat maupun desimal. Untuk desimal, karakter yang digunakan adalah titik bukan koma. Misal untuk menuliskan dua koma lima, bentuk angkanya adalah 2.5 bukan 2,5Boelan. Boelan berupa teks true dan false tanpa tanda kutip.Null. Null berupa teks null dan ditulis?langsung tanpa tanda kutip.String. String berupa semua karakter Unicode yang artinya semua karakter yang ada di dunia ini. String ini merupakan tipe data yang?paling sering digunakan, dalam penulisannya, string?harus?diapit dengan dua tanda kutip ( ” ) tidak boleh menggunakan satu tanda kutip ( ‘ ) atau tidak menggunakan tanda kutip sama sekali.File JSON terdiri dari banyak komponen antara lain :Array ([)Dalam file JSON, tanda kurung siku ([) mewakili larik JSONContoh : [“Senin”,”Selasa”,”Rabu”,”Kamis”,”Jumat”,”Sabtu”]Objek ({)Dalam file JSON, kurung kurawal ({) mewakili objek JSONContoh : { “Pegawai”:{“nama”:”Joni”,”Gaji”:5000000,”Status”:”menikah”,”WNI”:true}}Perbedaan JSONArray dan JSONObjectDalam JSON, ada dua hal penting yang harus kita ketahui dan harus tahu membedakannya, yaitu JSONArray dan JSONObject. JSONArray di dalam JSON di representasikan dengan tanda [ (Square Brackets), sedangkan JSONObject di representasikan dengan tanda } (Curly Brackets). Dalam implementasi kodingan java-nya, jika JSONArray kita gunakan method getJSONArray(), kalau JSONObject kita gunakan method getJSONObject().KunciObjek JSON berisi kunci yang hanya berupa string. Pasangan kunci / nilai membentuk objek JSONNilaiSetiap kunci memiliki nilai yang bisa berupa string, integer atau dobel dll2. METODE-METODE JSON PARSERUntuk mem-parsing objek JSON, kita akan membuat objek kelas JSONObject dan tentukan string yang berisi data JSON.?Sintaksnya adalah -String in;JSONObject reader = new JSONObject(in);Langkah terakhir adalah mengurai JSON.?File JSON terdiri dari objek yang berbeda dengan pasangan kunci / nilai yang berbeda dll. Jadi JSONObject memiliki fungsi terpisah untuk mengurai setiap komponen file JSON.?Sintaksnya diberikan di bawah ini –JSONObject sys = reader.getJSONObject("sys");country = sys.getString("country");JSONObject main = reader.getJSONObject("main");temperature = main.getString("temp");Metode getJSONObject mengembalikan objek JSON. Metode getString mengembalikan nilai string kunci yang ditentukan. Terlepas dari metode ini, ada metode lain yang disediakan oleh kelas ini untuk file Parsing JSON yang lebih baik. Metode-metode ini tercantum di bawah :NoMethod & description1get(String name)Metode ini hanya Mengembalikan nilai tetapi dalam bentuk jenis Objek2getBoolean(String name)Metode ini mengembalikan nilai boolean yang ditentukan oleh kunci3getDouble(String name)Metode ini mengembalikan nilai ganda yang ditentukan oleh kunci4getInt(String name)Metode ini mengembalikan nilai integer yang ditentukan oleh kunci5getLong(String name)Metode ini mengembalikan nilai panjang yang ditentukan oleh kunci6length()Metode ini mengembalikan jumlah pemetaan nama / nilai dalam objek ini?7names()Metode ini mengembalikan larik yang berisi nama string dalam objek ini3. LIBRARY JSON PARSERRetrofitRetrofit?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 dipandangRetrofit bisa memakai?OkHttp?sebagai Http client-nyaRetrofit men-support?RxJava.Retrofit men-support penggunaan?GSON?dan?Jackson.VolleyVolley?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 kebutuhanDapat melakukan pembatalan dalam sebuah request.Berikut adalah perbandingan Retrofit dan Volley secara detail:Kemudahan PenggunaanPerforma dan CachingPOST requestsRetrofitRetrofit sangat mudah digunakan. Memungkinkan anda untuk memakai API ini dengan method sederhana dari java menggunakan interface.Caching harusnya bisa berjalan jika server anda menetapkan header control yang benar. Jika tidak ,atau anda melakukan sesuatu yang tidak biasa anda hanya bisa mengubah lapisan klien HTTP andaMemiliki dukungan penuh untuk permintaan POST dan upload file yang multi, dengan API Sweet untuk bootVolleySedikit lebih rumit pada umumnya. Volley hanya mendukung beberapa response yaitu String,Image,JSONObject dan JSONArray.Memiliki mekasnisme chacing yang lebih rumit dan fleksibel, memanfaatkan untuk membuat caching bitmaps yang lebih besarSupport POST request tetapi anda harus convert terlebih dahulu java objek yang kita buat menjadi JSONObject.Fast Android Networkingadalah 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 (juga mendukung Jackson Parser).Analisis lengkap tentang permintaan apa pun dapat diperoleh. Anda dapat mengetahui byte yang dikirim, byte yang diterima, dan waktu yang dibutuhkan untuk setiap permintaan. Analisis ini penting agar Anda dapat menemukan penggunaan data dari aplikasi Anda dan waktu yang diambil untuk setiap permintaan, sehingga Anda dapat mengidentifikasi permintaan yang lambat.Anda dapat memperoleh bandwidth dan kualitas koneksi saat ini untuk menulis kode logis yang lebih baik - mengunduh gambar berkualitas tinggi dengan kualitas koneksi yang sangat baik dan rendah pada kualitas koneksi yang buruk.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.GSONGSON?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.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.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.. CONTOH PROGRAM JSON PARSERParsing JSON Retrofit AndroidSebelum kita memulai Membuat Projek androidnya Siapkan terlebih dahulu webservicenya , Kami menggunakan Codeigniter dan library REST untuk membuat webservicenyaUntuk tutorial membuat REST API dengan CodeIgniter dapat dilihat pada Postingan Buatlah Database yang kemudian membuat TableUntuk Struktur Tabelnya seperti gambar dibawah:Tbl_kelompokKemudian membuat Controller Data.php dan membuat function untuk parsing JSON nyaData.phpDan untuk Output masing-masing Method yaituMethod GET (mengambil data dari database) Webservice Kita sudah Jadi dan bisa digunakan saatnya membuat Project Android dimana yang akan digunakan untuk Mendapatkan data JSON nyaPertama-tama Kita akan menggunakan library Retrofit dan Okhttp untuk parsing JSONPenjelasannya Retrofit dapat di askses di Okhhtp dapat diakses di hasil dari jsonnya akan kita tampilkan kedalam RecyclerviewKita Buat Dulu Projeknya pada Android Studio pada menu File -> new -> ProjectKemudian tinggal Next dan pilih Empty Activity dan Hasil Projek awalnya akan menjadi seperti iniBuka File build.gradle untuk menambahkan dependencies Retrofit,Okhttp,Recyclerview//recyclerviewimplementation 'com.android.support:design:28.0.0'implementation "com.android.support:recyclerview-v7:28.0.0"//cardviewimplementation 'com.android.support:cardview-v7:28.0.0'//retrofitimplementation 'com.squareup.retrofit2:retrofit:2.0.2'implementation 'com.squareup.retrofit2:converter-gson:2.0.2'implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'Selanjutnya Kita Buat Desain dari activity_main.xml Seperti Dibawah PaletteidFloatingActionButtonfab_tambahProgressBarprogressRecyclerViewrv_kelompokSwipeRefreshLayoutrefresh_layoutKemudian Kita Membuat Sebuat Layout Baru dengan Nama rv_item_kelompok.xml yang akan digunakan untuk mengisi Item pada RecyclerVIewpaletteIdTextViewtxt_nimCardViewparent_itemTextViewtxt_namaTextViewTxt_kelasTextViewTxt_emailKemudaian Membuat File baru untuk menampilkan dialog detail ketika Kartu di klikDialog_detail.xmlPertama kita akan Membuat Class DataModel yang nantinya kan menjadi model sesuai data JSON yang ada seperti dibawahDan Untuk Class Modelnya Kita Buat Kelompok_Model.javaSelnjutnya Membuat Class RetrofitClientRetrofitClient.javaKemudian membuat Class baru UtilsApi.javaKemudian Membuat Class interface baruInterfaceApi.javaSelanjutnya Membuat Class Adapter sebagai Adapter RecyclerViewKelompok_Get.javaKemudian Pada MainActivity.javaKemudian Kita Run Maka Hasilnya ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download