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> {
/**