Anda di halaman 1dari 12

JSON DAN HASHMAP

PADA ANDROID

OLEH:
FRENKI TAHIR
( 521 414 011 )

PROGRAM STUDI S1 TEKNIK ELEKTRO


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI GORONTALO
2016

JSON

JSON (dibaca: Jason), singkatan dari JavaScript Object Notation adalah


suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan
terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana
dan larik asosiatif (disebut objek).
JSON merupakan format pertukaran data independen dan merupakan
alternatif terbaik untuk XML. Bab ini menjelaskan cara mengurai file JSON dan
mengekstrak informasi yang diperlukan dari itu.
Android menyediakan empat kelas yang berbeda untuk memanipulasi data
JSON. Kelas-kelas ini adalah JSONArray, JSONObject, JSONStringer dan
JSONTokenizer.
Langkah pertama adalah mengidentifikasi bidang dalam data JSON di
mana Anda tertarik. Misalnya. Dalam JSON diberikan di bawah kami tertarik
untuk mendapatkan suhu saja.
{
"sys":
{
"country":"GB",
"sunrise":1381107633,
"sunset":1381149604
},
"weather":[
{
"id":711,
"main":"Smoke",
"description":"smoke",
"icon":"50n"
}
],
"main":
{
"temp":304.15,
"pressure":1009,
}
}
Format data JSON mempunyai aturan sebagai berikut:
-

Object adalah satu set nama/nilai yang tidak terurut (An object is an
unordered set of name/value pairs). Penulisan object dimulai dengan tanda
{ (left brace) dan diakhiri dengan tanda } (right brace). Setiap nama diikuti

oleh tanda : (colon) dan pasangan nama/nilai dipisahkan dengan tanda ,


(comma).

Array adalah sekumpulan nilai yang teratur (An array is an ordered


collection of values). Penulisan sebuah array dimulai dengan tanda [ (left
bracket) dan diakhiri dengan tanda ] (right bracket). Nilai dipisahkan
menggunakan tanda , (comma).

Nilai bisa berupa string dalam tanda kutip, atau number (angka), TRUE
atau FALSE atau NULL, sebuah object atau sebuah array. Struktur ini
dapat ditulis menggunakan metode bersarang.

String adalah rangkaian atau urutan karakter unicode yang berada dalam
tanda kutip, bisa juga hanya berisi karakter kosong, menggunakan tanda \
(backslash) untuk escape. Karakter di representasikan sebagai string
tunggal. Tipe data string pada JSON sangat mirip dengan definisi pada
bahasa C atau Java.

Number sangat mirip dengan definisi pada bahasa C atau Java, hanya saja
tipe bilangan oktal dan heksadesimal tidak digunakan.

Elemen JSON
File JSON terdiri dari banyak komponen. Berikut adalah tabel
mendefinisikan komponen dari file JSON dan serta deskripsinya:
1. Array ( [ )
Dalam file JSON, braket persegi ( [ ) merupakan array JSON

2. Objects ({ )
Dalam file JSON, braket keriting ({ ) merupakan objek JSON
3. Kunci
Sebuah objek JSON berisi kunci yang hanya string. Pasangan kunci / nilai
membuat sebuah objek JSON
4. Nilai
Setiap tombol memiliki nilai yang bisa string, integer atau double dll
JSON Parsing
Untuk parsing objek JSON, kita akan membuat objek dari kelas
JSONObject dan menentukan string yang berisi data JSON untuk itu. sintaks
adalah:
String in;
JSONObject reader = new JSONObject(in);
Langkah terakhir adalah untuk mengurai JSON tersebut. File JSON terdiri
dari objek yang berbeda dengan yang berbeda pasangan kunci / nilai dll Jadi
JSONObject memiliki fungsi terpisah untuk parsing setiap komponen file JSON.
sintaks 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 ditentukan.
Terlepas dari metode ini, ada metode lain yang disediakan oleh kelas ini
untuk parsing file JSON lebih baik. Metode ini tercantum di bawah ini:
1. dapatkan (String nama)
Metode ini hanya Mengembalikan nilai tetapi dalam bentuk jenis Objek
2. getBoolean (String nama)
Metode ini mengembalikan nilai boolean yang ditentukan oleh kunci
3. getDouble (String nama)
Metode ini mengembalikan nilai ganda yang ditentukan oleh kunci
4. getInt (String nama)
Metode ini mengembalikan nilai integer yang ditentukan oleh kunci

5. getLong (String nama)


Metode ini mengembalikan nilai panjang ditentukan oleh kunci
6. panjangnya()
Metode ini mengembalikan jumlah pemetaan nama / nilai dalam objek
ini ..
7. Nama ()
Metode ini mengembalikan array yang berisi nama-nama string dalam
objek ini.

Contoh

Untuk bereksperimen dengan contoh ini, Anda dapat menjalankan ini pada
perangkat yang sebenarnya atau dalam sebuah emulator.
Langkah

Deskripsi

Anda akan menggunakan Android studio untuk


membuat aplikasi Android. Sementara menciptakan
proyek ini, pastikan Anda Targetkan SDK dan
Kompilasi Dengan di versi terbaru dari Android SDK
untuk menggunakan tingkat yang lebih tinggi dari
API.

Memodifikasi src file / MainActivity.java untuk


menambahkan kode yang diperlukan.

Memodifikasi res / layout / activity_main untuk


menambahkan komponen XML masing

Memodifikasi res / values / string.xml untuk


menambahkan komponen tali yang diperlukan

Jalankan aplikasi dan memilih perangkat android


berjalan dan menginstal aplikasi di atasnya dan
memverifikasi hasil

Contoh Projeck

Berikut ini adalah isi dari modifikasi file utama kegiatan src / MainActivity.java.
package com.tutorialspoint.json;
import
import
import
import

android.app.Activity;
android.os.StrictMode;
android.support.v7.app.ActionBarActivity;
android.os.Bundle;

import android.util.Log;

import
import
import
import

android.view.Menu;
android.view.MenuItem;
android.widget.Button;
android.widget.TextView;

import
import
import
import
import

org.apache.http.HttpEntity;
org.apache.http.HttpResponse;
org.apache.http.StatusLine;
org.apache.http.client.ClientProtocolException;
org.apache.http.client.HttpClient;

import
import
import
import
import

org.apache.http.client.methods.HttpGet;
org.apache.http.impl.client.DefaultHttpClient;
org.json.JSONArray;
org.json.JSONException;
org.json.JSONObject;

import
import
import
import

java.io.BufferedReader;
java.io.IOException;
java.io.InputStream;
java.io.InputStreamReader;

public class MainActivity extends Activity {


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView output = (TextView) findViewById(R.id.textView1);
String strJson="
{
\"Employee\" :[
{
\"id\":\"01\",
\"name\":\"Gopal Varma\",
\"salary\":\"500000\"
},
{
\"id\":\"02\",
\"name\":\"Sairamkrishna\",
\"salary\":\"500000\"
},
{
\"id\":\"03\",
\"name\":\"Sathish kallakuri\",
\"salary\":\"600000\"
}
]
}";

String data = "";


try {
JSONObject jsonRootObject = new JSONObject(strJson);
//Get the instance of JSONArray that contains JSONObjects
JSONArray jsonArray =
jsonRootObject.optJSONArray("Employee");
//Iterate the jsonArray and print the info of JSONObjects
for(int i=0; i < jsonArray.length(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
int id =
Integer.parseInt(jsonObject.optString("id").toString());
String name = jsonObject.optString("name").toString();
float salary =
Float.parseFloat(jsonObject.optString("salary").toString());
data += "Node"+i+" : \n id= "+ id +" \n Name= "+ name
+" \n Salary= "+ salary +" \n ";
}
output.setText(data);
} catch (JSONException e) {e.printStackTrace();}
}
}
Berikut ini adalah isi modifikasi dari res xml / tata letak / activity_main.xml.

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JSON example"
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials Point"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:textSize="35dp"
android:textColor="#ff16ff01" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView1"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
Berikut adalah isi dari file AndroidManifest.xml.
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<uses-permission
android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>

</activity>
</application>
</manifest>
Setelah program di buat, klik Run ikon dari toolbar. Android studia akan mulai
menginstal aplikasi pada AVD Anda dan jika semuanya baik-baik saja dengan
setup dan aplikasi, maka akan muncul jendela berikut Emulator:

HashMap
HashMap adalah class implementasi dari Map, Map itu sendiri adalah
interface yang mempunyai fungsi untuk memetakan nilai dengan key unik.
HashMap sangat bermanfaat sebagai memory record management, dimana tiap
record dapat disimpann di sebuah Map, kemudian setiap Map diletakkan pada
vector, list atau set yang masih turunan dari Collection Demikian pula Hashmap
sangat baik untuk menghandle resultset dari hasil query
Pendeklarasian:
HashMap<k,v> nama_variabel = new HashMap<k,v>();

Keterangan:
-

k adalah tipe data kunci

v adalah tipe data dari nilai

Contoh:
import java.util.HashMap;
public class Main
{
public static void main(String[] args)
{
// Buat Objek HashMap
HashMap<String, String> data = new HashMap<String, String>();
// Masukkan nilai ke dalam HashMap
data.put("nama", "Yudi Setiawan");
sebagai key value untuk tiap data
data.put("kelas", "TI A MALAM");
akan dimasukkan ke dalam HashMap

// <String1, String2> --> String1


// dan String2 sebagai nilainya yang

data.put("hobi", "Programming");
// Tampilkan nilai data HashMap
System.out.println("Nama : "+data.get("nama"));
System.out.println("Kelas : "+data.get("kelas"));
System.out.println("Hobi : "+data.get("hobi"));
}
}

Dan ini ialah contoh sederhana lainnya dimana, Anda bisa mengkreasikan value
dari HashMap tersebut.

import java.util.ArrayList;
import java.util.HashMap;

public class Main2


{
public static void main(String[] args)
{
HashMap<String, ArrayList> dataHash = new HashMap<String,
ArrayList>();
ArrayList<String> dataList = new ArrayList<String>();

// Jenis agama yang ada di Indonesia


dataList.add("Islam");
dataList.add("Kristen Protestan");
dataList.add("Kristen Katholik");
dataList.add("Hindu");
dataList.add("Budha");
dataList.add("Kong Hu Cu");
// Masukkan ke dalam HashMap kategori agama
dataHash.put("agama", dataList);
System.out.println("Jenis agama yang ada di Indonesia :
"+dataHash.get("agama"));
}
}

SUMBER:
- http://www.w3ii.com/id/android/android_json_parser.html
- http://japra.blogspot.co.id/2005/05/menggunakanmaphashmap.html
- http://jagocoding.com/snippets/1169/Belajar_HashMap_di_
Java

Anda mungkin juga menyukai