Membangun Aplikasi Inventaris Barang untuk Usaha Kecil dan Menengah (UKM) Berbasis Android

  

LAMPIRAN

Listing Program Login.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android=

  "http://schemas.android.com/apk/res/android"

  android:orientation=

  "vertical"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "fill_parent"

  android:layout_gravity=

  "center|center_vertical"

  android:background=

  "#001122"

  > <TextView android:id=

  "@+id/tv0"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  "Aplikasi Inventaris Usaha Kecil Menengah"

  android:textSize= "20sp" android:gravity=

  "center"

  android:textStyle=

  "bold"

  android:textColor= "#ffffff" /> <TextView android:id=

  "@+id/tv1"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text=

  "Nama"

  android:textColor= "#ffffff" /> <EditText android:text=

  ""

  android:id=

  "@+id/username"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:singleLine=

  "true"

  android:hint= "@string/hint_nama" android:textColor=

  "#ffffff">

  </EditText> <TextView android:id=

  "@+id/tv2"

  android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Password"

  android:textColor=

  "#ffffff"

  /> <EditText android:text=

  ""

  android:id= "@+id/password" android:layout_width=

  "fill_parent"

  "#ffffff"/>

  <TextView android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text=

  "Selamat Datang"

  android:textSize=

  "14dip"

  android:gravity= "center" android:layout_marginTop=

  "10dip"

  android:textColor=

  <TextView android:layout_width=

  android:background=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text= "Di Aplikasi Inventaris" android:textSize=

  "12dip"

  android:gravity=

  "center"

  android:layout_marginTop= "10dip" android:textColor=

  "#ffffff"/>

  <TextView android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  "#001122">

  "center_horizontal"

  android:layout_height= "wrap_content" android:singleLine=

  /> <Button android:id=

  "true"

  android:password=

  "true"

  android:hint= "@string/hint_password" android:textColor=

  "#ffffff"

  > </EditText> <TextView android:id=

  "@+id/tv"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  ""

  "@+id/Button01"

  android:orientation= "vertical" android:gravity=

  android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Login" />

  </LinearLayout>

  Menu.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:layout_width=

  "fill_parent"

  android:layout_height=

  "fill_parent"

  "Usaha Kecil Dan Menengah (UKM)" android:textSize=

  "12dip"

  android:gravity= "center" android:layout_marginTop=

  "10dip"

  android:textColor=

  "#ffffff"/>

  <TextView android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text= "Pilih Menu :" android:textSize=

  "12dip"

  android:gravity=

  "left"

  android:layout_marginTop= "20dip" android:textColor=

  "#ffffff"/>

  <Button android:id=

  "@+id/btnLihatbarang"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text=

  "Lihat Barang"

  android:layout_marginTop=

  "25dip"/>

  <!-- Button untuk menambah Data anggota --> <Button android:id= "@+id/btnTambahbarang" android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text= "Tambah Barang" android:layout_marginTop=

  "25dip"/>

  <Button android:id=

  "@+id/btndatasaya"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  "Data Saya"

  android:layout_marginTop= "25dip"/> </LinearLayout>

  semua_barang.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android=

  "http://schemas.android.com/apk/res/android"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "fill_parent"

  android:orientation=

  "vertical"

  android:background=

  "#001122">

  <ListView android:id=

  "@android:id/list"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"/>

  </LinearLayout>

  tambah_barang.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android=

  "http://schemas.android.com/apk/res/android"

  android:layout_width= "fill_parent" android:layout_height=

  "fill_parent"

  android:orientation=

  "vertical" android:background=

  "#001122">

  <ListView android:id=

  "@android:id/list"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"/>

  </LinearLayout>

  List_item.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android=

  "http://schemas.android.com/apk/res/android"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:orientation=

  "vertical"

  android:background=

  "#001122">

  <TextView android:id=

  "@+id/idmem"

  android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:visibility=

  "gone" />

  <TextView android:id=

  "@+id/nama"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:paddingTop=

  "6dip"

  android:paddingLeft= "6dip" android:textSize=

  "17dip"

  android:textStyle=

  "bold"

  android:textColor=

  "#ffffff"/>

  <TextView android:id=

  "@+id/alamat"

  android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:visibility=

  "gone" />

  </LinearLayout>

  tambahbarang.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:layout_width=

  "match_parent"

  android:layout_height=

  "match_parent"

  android:orientation= "vertical" android:background=

  "#001122">

  <TextView android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  "Nama Barang"

  android:paddingLeft= "10dip" android:paddingRight=

  "10dip"

  android:paddingTop=

  "10dip"

  android:textSize= "17dip" android:textColor=

  "#ffffff"/>

  <EditText android:id=

  "@+id/inputNama"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:layout_margin=

  "5dip"

  android:layout_marginBottom=

  "15dip"

  android:singleLine=

  "true"

  android:hint=

  "@string/hint_nama_barang"

  android:textColor= "#ffffff"/> <TextView android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Harga"

  android:paddingLeft=

  "10dip"

  android:paddingRight= "10dip" android:paddingTop=

  "10dip"

  android:textSize=

  "17dip"

  android:textColor= "#ffffff"/> <EditText android:id= "@+id/inputharga" android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:layout_margin=

  "5dip"

  android:layout_marginBottom=

  "15dip"

  android:singleLine=

  "true"

  android:hint=

  "@string/hint_harga_barang"

  android:textColor=

  "#ffffff"/>

  <!-- Label Alamat --> <TextView android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:text=

  "Deskripsi"

  android:paddingLeft= "10dip" android:paddingRight=

  "10dip"

  android:paddingTop=

  "10dip"

  android:textSize= "17dip" android:textColor=

  "#ffffff"/>

  <!-- Input alamat --> <EditText android:id=

  "@+id/inputdesk"

  android:layout_width=

  "fill_parent" android:layout_height=

  "wrap_content"

  android:layout_margin= "5dip" android:layout_marginBottom=

  "15dip"

  android:lines=

  "4"

  android:gravity= "top" android:hint=

  "@string/hint_desk_barang"

  android:textColor=

  "#ffffff"/>

  <Button android:id=

  "@+id/btnTambahbarang"

  android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Tambah Barang"

  android:textColor=

  "#ffffff"/>

  </LinearLayout> Editbarang.xml <?xml version=

  "1.0" encoding="utf-8"?>

  <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:layout_width=

  "match_parent"

  android:layout_height=

  "match_parent"

  android:orientation= "vertical" android:background=

  "#001122">

  <TextView android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text= "Nama Barang" android:paddingLeft=

  "10dip"

  android:paddingRight=

  "10dip"

  android:paddingTop= "10dip" android:textSize=

  "17dip"

  android:textColor=

  "#ffffff"/>

  <EditText android:id=

  "@+id/inputNama"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:layout_margin=

  "5dip"

  android:layout_marginBottom= "15dip" android:singleLine=

  "true"

  android:textColor=

  "#ffffff"/>

  <TextView android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text= "Harga" android:paddingLeft=

  "10dip"

  android:paddingRight=

  "10dip"

  android:paddingTop= "10dip" android:textSize=

  "17dip"

  android:textColor=

  "#ffffff"/>

  <EditText android:id=

  "@+id/inputharga"

  android:layout_width=

  "fill_parent" android:layout_height=

  "wrap_content"

  android:layout_margin= "5dip" android:layout_marginBottom=

  "15dip"

  android:singleLine=

  "true"

  android:textColor= "#ffffff"/> <TextView android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Deskripsi"

  android:paddingLeft=

  "10dip"

  android:paddingRight= "10dip" android:paddingTop=

  "10dip"

  android:textSize=

  "17dip"

  android:textColor=

  "#ffffff"/>

  <EditText android:id=

  "@+id/inputdeskripsi"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:layout_margin= "5dip" android:layout_marginBottom=

  "15dip"

  android:lines=

  "4"

  android:gravity= "top" android:textColor=

  "#ffffff"/>

  <LinearLayout android:layout_width= "fill_parent" android:layout_height=

  "wrap_content"

  android:orientation=

  "horizontal">

  <Button android:id=

  "@+id/btnSave"

  android:layout_width=

  "fill_parent"

  android:layout_height= "wrap_content" android:text=

  "Save Changes"

  android:layout_weight=

  "1"/>

  <Button android:id=

  "@+id/btnDelete"

  android:layout_width=

  "fill_parent"

  android:layout_height=

  "wrap_content"

  android:text=

  "Delete"

  android:layout_weight= "1"/> </LinearLayout> </LinearLayout>

  Data.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <TableLayout android:orientation=

  "vertical"

  android:layout_width=

  "fill_parent"

  android:layout_height= "fill_parent" xmlns:android=

  "http://schemas.android.com/apk/res/android"

  android:background=

  "#001122">

  <TableRow> <TextView android:layout_width=

  "wrap_content"

  android:layout_height= "wrap_content" android:text=

  "Nama "

  android:textColor=

  "#ffffff"/>

  <TextView android:layout_width=

  "wrap_content"

  android:layout_height= "wrap_content" android:text=

  "Syafri"

  android:textColor=

  "#ffffff"/>

  </TableRow> <TableRow> <TextView android:layout_width= "wrap_content" android:layout_height=

  "wrap_content"

  android:text=

  "Nim "

  android:textColor= "#ffffff"/> <TextView android:layout_width=

  "wrap_content"

  android:layout_height= "wrap_content" android:text=

  "112406015" android:textColor="#ffffff"/>

  </TableRow> <TableRow> <TextView android:layout_width=

  

"wrap_content"

  android:layout_height=

  "wrap_content" android:text="Jurusan " android:textColor="#ffffff"/>

  <TextView android:layout_width=

  "wrap_content"

  android:layout_height=

  "wrap_content"

  android:text=

  "D3 Teknik Informatika" android:textColor="#ffffff"/>

  </TableRow> <TableRow> <TextView android:layout_width=

  "wrap_content"

  android:layout_height= "wrap_content" android:text=

  "Fakultas " android:textColor="#ffffff"/>

  <TextView android:layout_width= "wrap_content" android:layout_height=

  "wrap_content"

  android:text=

  "MIPA"

  android:textColor= "#ffffff"/> </TableRow> <TableRow> <TextView android:layout_width=

  "wrap_content"

  android:layout_height=

  "wrap_content"

  android:text= "Contact Person " android:textColor=

  "#ffffff"/>

  <TextView android:layout_width=

  "wrap_content"

  android:layout_height= "wrap_content" android:text=

  "085761579205"

  android:textColor=

  "#ffffff"/>

  </TableRow> </TableLayout>

  AndroidManifest.xml

  <?xml version=

  "1.0" encoding="utf-8"?>

  <manifest xmlns:android=

  "http://schemas.android.com/apk/res/android"

  package=

  "com.tugasakhir"

  android:versionCode=

  "1"

  android:versionName=

  "1.0" >

  <uses-sdk android:minSdkVersion=

  "8"

  android:targetSdkVersion= "14" /> <uses-permission android:name=

  "android.permission.INTERNET"></uses-permission>

  <application android:allowBackup=

  "true"

  android:icon=

  "@drawable/ic_launcher"

  android:label= "@string/app_name" android:theme=

  "@style/AppTheme" >

  <activity android:name= "com.tugasakhir.Login" android:label=

  "@string/app_name" >

  <intent-filter> <action android:name=

  "android.intent.action.MAIN" />

  <category android:name=

  "android.intent.category.LAUNCHER" />

  </intent-filter> </activity> <activity android:name= "com.tugasakhir.Menu" android:label=

  "@string/title_activity_menu" >

  </activity> <activity android:name=

  "com.tugasakhir.Data"

  android:label=

  "Data Saya">

  </activity> <activity android:name=

  "com.tugasakhir.SemuaBarangActivity"

  android:label= "Lihat Barang"> </activity> <activity android:name= "com.tugasakhir.TambahBarangActivity" android:label=

  "Tambah Barang">

  </activity>

  <activity android:name= "com.tugasakhir.EditBarangActivity" android:label=

  "Perbaharui Data Barang" >

  </activity> </application> </manifest>

  JSONParser.java

  package com.tugasakhir; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URLEncodedUtils; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONException; import org.json.JSONObject; import android.util.Log; public class JSONParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; // constructor public JSONParser() { } // fungsi ambil json dari url // lewat method HTTP POST atau GET public JSONObject makeHttpRequest(String url, String method,

  List<NameValuePair> params) { // membuat request HTTP } catch (UnsupportedEncodingException e) { e.printStackTrace();

  } catch (ClientProtocolException e) { e.printStackTrace();

  } catch (IOException e) { e.printStackTrace();

  } try { BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-

  1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n");

  } is.close(); json = sb.toString();

  } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString());

  } // try parse the string menjadi JSON object try { jObj = new JSONObject(json);

  } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString());

  } // return JSON String return jObj;

  } }

  Login.java

  package com.tugasakhir; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.ResponseHandler; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class Login extends Activity {

  Button b; EditText et,pass; TextView tv; HttpPost httppost; StringBuffer buffer; HttpResponse response; HttpClient httpclient; List<NameValuePair> nameValuePairs; ProgressDialog dialog = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); b = (Button)findViewById(R.id.Button01); et = (EditText)findViewById(R.id.username); pass= (EditText)findViewById(R.id.password); tv = (TextView)findViewById(R.id.tv); b.setOnClickListener(new OnClickListener() {

  @Override public void onClick(View v) { dialog = ProgressDialog.show(Login.this, "",

  "loading...", true); new Thread(new Runnable() { public void run() { login(); } }).start();

  } });

  } void login(){ try{

  \httpclient=new DefaultHttpClient(); httppost= new HttpPost("http://10.0.2.2/TA/check.php"); // koneksi ke database localhost nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("username",et.getText().toString().trim())); // $Edittext_value = $_POST['Edittext_value']; nameValuePairs.add(new BasicNameValuePair("password",pass.getText().toString().trim())); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); response=httpclient.execute(httppost); ResponseHandler<String> responseHandler = new

  BasicResponseHandler(); final String response = httpclient.execute(httppost, responseHandler); System.out.println("Response : " + response); runOnUiThread(new Runnable() { public void run() { tv.setText("Response from PHP : " + response); dialog.dismiss();

  } }); if(response.equalsIgnoreCase("User Found")){ runOnUiThread(new Runnable() { public void run() {

  Toast.makeText(Login.this,"Login Success", Toast.LENGTH_SHORT).show();

  } }); startActivity(new Intent(Login.this, Menu.class));

  }else{ showAlert(); }

  }catch(Exception e){ dialog.dismiss(); System.out.println("Exception : " + e.getMessage());

  } } public void showAlert(){

  Login.this.runOnUiThread(new Runnable() { public void run() { AlertDialog.Builder builder = new AlertDialog.Builder(Login.this); builder.setTitle("Login Error."); builder.setMessage("User not Found.") .setCancelable(false) .setPositiveButton("OK", new DialogInterface.OnClickListener()

  { public void onClick(DialogInterface dialog, int id) { } }); AlertDialog alert = builder.create(); alert.show();

  } });

  } }

  Menu.java

  package com.tugasakhir; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Menu extends Activity{

  Button btnLihatbarang; Button btnTambahbarang; Button btndatasaya; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu); // inisialisasi button/tombol btnLihatbarang = (Button) findViewById(R.id.btnLihatbarang); btnTambahbarang = (Button) findViewById(R.id.btnTambahbarang); btndatasaya = (Button) findViewById(R.id.btndatasaya); // even klik untuk menampilkan class SemuaAnggotaActivity btnLihatbarang.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View view) { // Tampilkan semua anggota activity lewat intent

  Intent i = new Intent(getApplicationContext(), SemuaBarangActivity.class); startActivity(i); }

  }); // even klik menampilkan TambahAnggotaACtivity btnTambahbarang.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View view) { // Tampilkan tambah anggota activity lewat intent

  Intent i = new Intent(getApplicationContext(), TambahBarangActivity.class); startActivity(i);

  } }); btndatasaya.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View view) { // Tampilkan tambah anggota activity lewat intent Intent i = new Intent(getApplicationContext(), Data.class); startActivity(i);

  } });

  } }

  SemuaBarangActivity.java

  package com.tugasakhir; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.apache.http.NameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.ListActivity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class SemuaBarangActivity extends ListActivity {

  // Progress Dialog private ProgressDialog pDialog; // Membuat objek JSONParser JSONParser jParser = new JSONParser(); ArrayList<HashMap<String, String>> barangList;

  // inisialisasi url semuanggota.php private static String url_semua_anggota = "http://10.0.2.2/TA/semuaanggota.php"; // inisialisasi nama node dari json yang dihasilkan oleh php private static final String TAG_SUKSES = "sukses"; private static final String TAG_BARANG = "barang"; private static final String TAG_IDMEM = "id"; private static final String TAG_NAMA = "nama"; // buat JSONArray barang JSONArray barang = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.semua_barang); // Hashmap untuk ListView barangList = new ArrayList<HashMap<String, String>>(); // buat method untuk menampilkan data pada Background Thread new AmbilDataJson().execute(); // ambil listview ListView lv = getListView(); // pada saat mengklik salah satu nama barang // lalu alihkan pada class EditanggotaActivity lv.setOnItemClickListener(new OnItemClickListener() {

  @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

  // ambil nilai dari ListItem yang dipilih String idmem = ((TextView) view.findViewById(R.id.idmem)).getText().toString(); // Starting new intent

  Intent in = new Intent(getApplicationContext(), EditBarangActivity.class);

  // kirim idmem ke activity berikutnya in.putExtra(TAG_IDMEM, idmem); // mulai activity baru dan dapatkan respon dengan result kode

  100 startActivityForResult(in, 100); }

  }); } // Respon dari Edit barang Activity @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // jika result code 100 if (resultCode == 100) {

  // jika result code 100 diterima // artinya user mengedit/menghapus barang // reload layar ini lagi Intent intent = getIntent(); finish(); startActivity(intent);

  } } /**

  • Background Async Task untuk menampilkan semua data anggota dengan HTTP Request * */ class AmbilDataJson extends AsyncTask<String, String, String> {

  /**

  • sebelum memulai background thread tampilkan Progress Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(SemuaBarangActivity.this); pDialog.setMessage("Mengambil Data barang. Silahkan Tunggu..."); pDialog.setIndeterminate(false); pDialog.setCancelable(false); pDialog.show();

  } /**

  • mengambil semua data barang dari url
  • / protected String doInBackground(String... args) {

  // membangun Parameter List<NameValuePair> params = new ArrayList<NameValuePair>(); // ambil JSON string dari URL

  JSONObject json = jParser.makeHttpRequest(url_semua_anggota, "GET", params); // cek log cat untuk JSON reponse Log.d("Semua Anggota: ", json.toString()); try {

  // mengecek untuk TAG SUKSES int sukses = json.getInt(TAG_SUKSES); if (sukses == 1) {

  // data ditemukan

  // mengambil Array dari barang barang = json.getJSONArray(TAG_BARANG); // looping data semua member/anggota for (int i = 0; i < barang.length(); i++) {

  JSONObject c = barang.getJSONObject(i); // tempatkan setiap item json di variabel String id = c.getString(TAG_IDMEM); String nama = c.getString(TAG_NAMA); // buat new HashMap

  HashMap<String, String> map = new HashMap<String, String>(); // menambah setiap child node ke HashMap key => value map.put(TAG_IDMEM, id); map.put(TAG_NAMA, nama); // menambah HashList ke ArrayList barangList.add(map);

  } } else {

  // tidak ditemukan data anggota/member // Tampilkan layar tambahAnggotaActivity

  Intent i = new Intent(getApplicationContext(),TambahBarangActivity.class);

  // tutup semua activity sebelumnya i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);

  } } catch (JSONException e) { e.printStackTrace();

  } return null; } /**

  • setelah menyelesaikan background task hilangkan the progress dialog
  • / protected void onPostExecute(String file_url) {

  // hilangkan dialog setelah mendapatkan semua data member pDialog.dismiss(); // update UI dari Background Thread runOnUiThread(new Runnable() { public void run() {

  /**

  • update hasil parsing JSON ke ListView
  • / ListAdapter adapter = new SimpleAdapter( SemuaBarangActivity.this, barangList,

  R.layout.list_item, new String[] { TAG_IDMEM, TAG_NAMA}, new int[] { R.id.idmem, R.id.nama

  }); // update listview setListAdapter(adapter);

  } });

  } }

  }

  TambahBarangActivity.java

  package com.tugasakhir; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; public class TambahBarangActivity extends Activity {

  // Progress Dialog private ProgressDialog pDialog; JSONParser jsonParser = new JSONParser(); EditText inputNama; EditText inputharga; EditText inputdesk; // inisialisasi url tambahanggota.php private static String url_tambah_anggota = "http://10.0.2.2/TA/tambahanggota.php"; // inisialisasi nama node dari json yang dihasilkan oleh php (utk class ini hanya node

  "sukses") private static final String TAG_SUKSES = "sukses";

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tambahbarang); // inisialisasi Edit Text inputNama = (EditText) findViewById(R.id.inputNama); inputharga = (EditText) findViewById(R.id.inputharga); inputdesk = (EditText) findViewById(R.id.inputdesk); // inisialisasi button Button btnTambahAnggota = (Button) findViewById(R.id.btnTambahbarang); // klik even tombol tambah anggota btnTambahAnggota.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View view) { // buat method pada background thread new BuatAnggotaBaru().execute();

  } });

  } /**

  • Background Async Task untuk menambah data anggota baru
  • / class BuatAnggotaBaru extends AsyncTask<String, String, String> {

  /**

  • sebelum memulai background thread tampilkan Progress Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(TambahBarangActivity.this); pDialog.setMessage("Menambah data..silahkan tunggu"); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show();

  } /**

  • menambah data
  • / protected String doInBackground(String... args) {

  String nama = inputNama.getText().toString(); String harga = inputharga.getText().toString(); String deskripsi = inputdesk.getText().toString(); // membangun Parameters List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("nama", nama)); params.add(new BasicNameValuePair("harga", harga)); params.add(new BasicNameValuePair("deskripsi", deskripsi)); // mengambil JSON Object //dengan method POST

  JSONObject json = jsonParser.makeHttpRequest(url_tambah_anggota,"POST", params); // periksa log cat respon Log.d("Respon tambah anggota", json.toString()); // check for success tag try { int sukses = json.getInt(TAG_SUKSES); if (sukses == 1) { // jika sukses menambah data baru

  Intent i = new Intent(getApplicationContext(), SemuaBarangActivity.class); startActivity(i);

  // tutup activity ini finish(); } else {

  // jika gagal dalam menambah data }

  } catch (JSONException e) { e.printStackTrace();

  } return null; } /**

  • After completing background task Dismiss the progress dialog
  • / protected void onPostExecute(String file_url) {

  // hilangkan dialog ketika selesai menambah data baru pDialog.dismiss(); }

  } }

  EditBarangActivity.java

  package com.tugasakhir; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; public class EditBarangActivity extends Activity {

  EditText txtNama; EditText txtharga; EditText txtdeskripsi; Button btnSave; Button btnDelete; String idmem; // Progress Dialog private ProgressDialog pDialog; // instansiasi objek JSON parser JSONParser jsonParser = new JSONParser(); // inisialisasi url anggotadetail.php private static final String url_detail_anggota = "http://10.0.2.2/TA/anggotadetail.php"; // inisialisasi url updateanggota.php private static final String url_update_anggota =

  "http://10.0.2.2/TA/updateanggota.php"; // inisialisasi url hapusanggota.php private static final String url_delete_anggota =

  "http://10.0.2.2/TA/hapusanggota.php"; // inisialisasi nama node dari json yang dihasilkan oleh php private static final String TAG_SUKSES = "sukses"; private static final String TAG_barang = "barang"; private static final String TAG_IDbarang = "id"; private static final String TAG_NAMA = "nama"; private static final String TAG_HARGA = "harga"; private static final String TAG_DESKRIPSI = "deskripsi"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.editbarang); // inisialisasi button btnSave = (Button) findViewById(R.id.btnSave); btnDelete = (Button) findViewById(R.id.btnDelete); // ambil data anggota detail dari intent Intent i = getIntent(); // ambil member id (idmem) dari intent idmem = i.getStringExtra(TAG_IDbarang); // buat method ambil detail anggota pada background thread new AmbilDetailAnggota().execute(); // klik even tombol save btnSave.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View arg0) { // buat background task untuk simpan anggota new SimpanAnggotaDetail().execute();

  } }); // klik even tombol delete btnDelete.setOnClickListener(new View.OnClickListener() {

  @Override public void onClick(View arg0) { // buat method hapus anggota dalam background thread new HapusAnggota().execute();

  } });

  } /**

  • Background Async Task untuk menmpilkan data detail anggota
  • / class AmbilDetailAnggota extends AsyncTask<String, String, String> {

  /**