• Tidak ada hasil yang ditemukan

LAMPIRAN. Listing Program. Login.xml

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN. Listing Program. Login.xml"

Copied!
35
0
0

Teks penuh

(1)

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"

(2)

android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="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="" /> <Button android:id="@+id/Button01" 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" android:orientation="vertical" android:gravity="center_horizontal" android:background="#001122"> <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="#ffffff"/> <TextView android:layout_width="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"

(3)

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"

(4)

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">

(5)

<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"

(6)

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"

(7)

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">

(8)

<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

(9)

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>

(10)

<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();

(11)

} 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;

(12)

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

(13)

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();

} });

(14)

} } 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);

(15)

} });

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();

(16)

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

(17)

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) {

(18)

// 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,

(19)

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")

(20)

@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

(21)

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;

(22)

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

(23)

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

* Sebelum memulai background thread tampilkan Progress Dialog * */

@Override

protected void onPreExecute() { super.onPreExecute();

pDialog = new ProgressDialog(EditBarangActivity.this);

pDialog.setMessage("Mengambil data barang. Silahkan tunggu..."); pDialog.setIndeterminate(false);

(24)

pDialog.setCancelable(true); pDialog.show();

} /**

* Ambil detail anggota background thread * */

protected String doInBackground(String... params) {

// Cek jika tag sukses bernilai 1 atau 0 int sukses;

try {

// Membangun Parameters

List<NameValuePair> params1 = new ArrayList<NameValuePair>(); params1.add(new BasicNameValuePair("idmem", idmem));

// ambil detail anggota dengan request HTTP // dengan menggunakan methode GET

JSONObject json = jsonParser.makeHttpRequest(url_detail_anggota, "GET", params1);

// cek log untuk json respon

Log.d("Barang Detail", json.toString()); // json sukses tag

sukses = json.getInt(TAG_SUKSES); if (sukses == 1) {

// sukses mengambil detail anggota

JSONArray barangObj = json.getJSONArray(TAG_barang); // JSON Array

// ambil objek member pertama dari JSON Array

final JSONObject barang = barangObj.getJSONObject(0);

// update UI dari Background Thread runOnUiThread(new Runnable() {

public void run() { // member dengan idmem yang ditemukan // Edit Text

txtNama = (EditText) findViewById(R.id.inputNama); txtharga = (EditText) findViewById(R.id.inputharga);

txtdeskripsi = (EditText) findViewById(R.id.inputdeskripsi);

try {

// tampilkan data member di EditText

txtNama.setText(barang.getString(TAG_NAMA)); txtharga.setText(barang.getString(TAG_HARGA)); txtdeskripsi.setText(barang.getString(TAG_DESKRIPSI));

(25)

} catch (JSONException e) {

// TODO Auto-generated catch block e.printStackTrace();

} } }); }else{

// jika idmem tidak ditemukan } } catch (JSONException e) { e.printStackTrace(); } return null; } /**

* setelah background task selesai hilangkan progress dialog * **/

protected void onPostExecute(String file_url) {

// dismiss dialog setelah mendapatkan data detail anggota pDialog.dismiss();

} }

/**

* Background Async Task untuk menyimpan/mengupdate data anggota * */

class SimpanAnggotaDetail extends AsyncTask<String, String, String> { /**

* Sebelum memulai background thread tampilkan Progress Dialog * */

@Override

protected void onPreExecute() { super.onPreExecute();

pDialog = new ProgressDialog(EditBarangActivity.this); pDialog.setMessage("Menyimpan Data barang ..."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } /** * simpan anggota * */

protected String doInBackground(String... args) { // data yang akan diupdate dari EditTexts String nama = txtNama.getText().toString();

(26)

String harga = txtharga.getText().toString(); String deskripsi = txtdeskripsi.getText().toString(); // Membangun Parameters

List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("idmem", idmem));

params.add(new BasicNameValuePair("nama", nama)); params.add(new BasicNameValuePair("harga", harga)); params.add(new BasicNameValuePair("deskripsi", deskripsi)); // mengirim data yang diupdate lewat request http

// Dengan method POST

JSONObject json = jsonParser.makeHttpRequest(url_update_anggota,"POST", params);

// cek json sukses tag (apakah 1 atau 0) try {

int sukses = json.getInt(TAG_SUKSES); if (sukses == 1) {

// sukses mengupdate data Intent i = getIntent();

// kirim result code 100 untuk notifikasi kalau update dilaksanakan

setResult(100, i); finish();

} else {

// gagal update data } } catch (JSONException e) { e.printStackTrace(); } return null; } /**

* setelah update data selesai background task akan menghilangkan progress dialog

* **/

protected void onPostExecute(String file_url) { // dismiss dialog ketika selesai

pDialog.dismiss(); }

}

/***************************************************************** * Background Async Task untuk menghapus data anggota

* */

class HapusAnggota extends AsyncTask<String, String, String> { /**

* Sebelum memulai background thread Tampilkan Progress Dialog * */

(27)

@Override

protected void onPreExecute() { super.onPreExecute();

pDialog = new ProgressDialog(EditBarangActivity.this); pDialog.setMessage("Menghapus data barang..."); pDialog.setIndeterminate(false);

pDialog.setCancelable(true); pDialog.show();

} /**

* menghapus data anggota * */

protected String doInBackground(String... args) { // cek sukses tag (apakah 1 atau 0) int sukses;

try {

// membangun Parameter

List<NameValuePair> params = new ArrayList<NameValuePair>();

params.add(new BasicNameValuePair("idmem", idmem)); // ambil member/anggota detail dengan request HTTPt JSONObject json = jsonParser.makeHttpRequest(url_delete_anggota, "POST", params);

// cek log untuk json respon

Log.d("Delete barang", json.toString()); // json sukses tag

sukses = json.getInt(TAG_SUKSES); if (sukses == 1) {

// Member sukses di delete

// beritahu activity sebelumnya dengan mengirim result code 100 Intent i = getIntent(); setResult(100, i); finish(); } } catch (JSONException e) { e.printStackTrace(); } return null; } /**

* Setelah hapus data selesai background task akan menghilangkan progress dialog

* **/

protected void onPostExecute(String file_url) { // dismiss dialog setelah proses hapus selesai pDialog.dismiss();

(28)

} } } Data.java package com.tugasakhir; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.content.Intent; import android.widget.Button;

public class Data extends Activity { @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.data); } } Koneksi.php <?php $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $dbname = "TA"; mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); ?> check.php <?php $hostname_localhost ="localhost"; $database_localhost ="TA"; $username_localhost ="root"; $password_localhost =""; $localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost) or trigger_error(mysql_error(),E_USER_ERROR); mysql_select_db($database_localhost, $localhost); $username = $_POST['username']; $password = $_POST['password'];

(29)

$query_search = "select * from tbl_user where username = '".$username."' AND password = '".$password. "'";

$query_exec = mysql_query($query_search) or die(mysql_error()); $rows = mysql_num_rows($query_exec);

//echo $rows; if($rows == 0) {

echo "No Such User Found"; }

else {

echo "User Found"; }

?>

Semuabarang.php <?php

//koneksi database mysql include("koneksi.php");

//buat array untuk menampung respon dari JSON $respon = array();

// query menampilkan semua data barang

$result = mysql_query("SELECT *FROM barang") or die(mysql_error()); // jika data ada/tidak kosong

if (mysql_num_rows($result) > 0) { // looping semua hasil

// barang node

$respon["barang"] = array();

while ($row = mysql_fetch_array($result)) { // temp barang array

$barang = array();

$barang["id"] = $row["id"]; $barang["nama"] = $row["nama"]; $barang["harga"] = $row["harga"]; $barang["deskripsi"] = $row["deskripsi"];

//tambahkan array $barang pada array final $respon array_push($respon["barang"], $barang);

} // sukses

$respon["sukses"] = 1;

// memprint/mencetak JSON respon echo json_encode($respon);

} else {

// jika data kosong $respon["sukses"] = 0;

$respon["pesan"] = "Tidak ada barang"; // memprint/mencetak JSON respon

(30)

echo json_encode($respon); }

?>

Tambahbarang.php <?php

//koneksi database mysql include("koneksi.php");

//buat array untuk menampung respon dari JSON $respon = array();

// cek apakah nilai yang dikirimkan android sudah terisi

if (isset($_POST['nama']) && isset($_POST['harga'])&&isset($_POST['deskripsi'])) {

$nama = $_POST['nama']; $harga = $_POST['harga'];

$deskripsi = $_POST['deskripsi']; // query menambah data barang

$result = mysql_query("INSERT INTO barang(nama, harga, deskripsi) VALUES('$nama', '$harga','$deskripsi')");

// cek apakah query berhasil menambah data if ($result) {

// jika berhasil menambah data ke mysql $respon["sukses"] = 1;

$respon["pesan"] = "Berhasil menambah data barang."; // memprint/mencetak JSON respon

echo json_encode($respon); } else {

// gagal menambah data barang $respon["sukses"] = 0;

$respon["pesan"] = "Gagal menambah data.";

// memprint/mencetak JSON respon echo json_encode($respon);

} } else {

// jika data tidak terisi/tidak terset $respon["sukses"] = 0;

$respon["pesan"] = "data belum terisi"; // memprint/mencetak JSON respon echo json_encode($respon);

} ?>

(31)

<?php

//koneksi database mysql include("koneksi.php");

//buat array untuk menampung respon dari JSON $respon = array();

// cek apakah nilai yang dikirimkan android sudah terisi if (isset($_POST['idmem']) && isset($_POST['nama']) && isset($_POST['harga']) && isset($_POST['deskripsi'])) { $idmem = $_POST['idmem']; $nama = $_POST['nama']; $harga = $_POST['harga']; $deskripsi = $_POST['deskripsi'];

// query update berdasarkan id

$result = mysql_query("UPDATE barang SET nama = '$nama', harga = '$harga', deskripsi = '$deskripsi' WHERE id = $idmem");

// cek apakah berhasil update atau tidak if ($result) {

// jika sukses diupdate $respon["sukses"] = 1;

$respon["pesan"] = "Data barang berhasil diupdate.";

// memprint/mencetak JSON respon echo json_encode($respon);

} else {

// gagal update data $respon["sukses"] = 0;

$respon["pesan"] = "Gagal update data.";

// memprint/mencetak JSON respon echo json_encode($respon);

} } else {

// jika data tidak terisi/tidak terset $respon["sukses"] = 0;

$respon["pesan"] = "data belum terset/terisi"; // memprint/mencetak JSON respon

echo json_encode($respon); }

?>

(32)

<?php

//koneksi database mysql include("koneksi.php");

//buat array untuk menampung respon dari JSON $response = array();

// cek apakah variabel idmem sudah terset / terisi if (isset($_POST['idmem'])) {

$idmem = $_POST['idmem'];

// query update barang berdasarkan id

$result = mysql_query("DELETE FROM barang WHERE id = $idmem");

// jika berhasil di hapus

if (mysql_affected_rows() > 0) { $respon["sukses"] = 1;

$respon["pesan"] = "barang berhasil dihapus"; // memprint/mencetak JSON respon

echo json_encode($respon); } else {

// jika gagal dihapus $respon["sukses"] = 0;

$respon["pesan"] = "Gagal dihapus"; // memprint/mencetak JSON respon echo json_encode($respon);

} } else {

// jika data tidak terisi/tidak terset $respon["sukses"] = 0;

$respon["pesan"] = "data belum terisi"; // memprint/mencetak JSON respon echo json_encode($respon);

} ?>

Barangdetail.php <?php

//koneksi database mysql include("koneksi.php");

//buat array untuk menampung respon dari JSON $respon = array();

// cek apakah variabel idmem sudah terset / terisi if (isset($_GET["idmem"])) {

(33)

// query ambil data barang berdasarkan id

$result = mysql_query("SELECT *FROM barang WHERE id = $idmem"); if (!empty($result)) {

// jika data barang ada (besar dari nol) if (mysql_num_rows($result) > 0) { $result = mysql_fetch_array($result);

// temp barang array $barang = array(); $barang["id"] = $result["id"]; $barang["nama"] = $result["nama"]; $barang["harga"] = $result["harga"]; $barang["deskripsi"] = $result["deskripsi"]; // sukses $respon["sukses"] = 1; // node barang $respon["barang"] = array();

//tambahkan array $barang pada array final $respon array_push($respon["barang"], $barang);

// memprint/mencetak JSON respon echo json_encode($respon);

} else {

// tidak ada barang (kecil dari nol) $respon["sukses"] = 0;

$respon["pesan"] = "Tidak ada barang"; // memprint/mencetak JSON respon echo json_encode($respon);

} } else {

// jika query tidak tidak meghasilkan data (tidak ada barang) $respon["sukses"] = 0;

$respon["pesan"] = "tidak ada barang"; // memprint/mencetak JSON respon echo json_encode($respon);

} } else {

// jika data tidak terisi/tidak terset $respon["sukses"] = 0;

$respon["pesan"] = "data belum terisi"; // memprint/mencetak JSON respon echo json_encode($respon);

} ?>

(34)

SURAT KETERANGAN

Hasil Uji Program Tugas Akhir

Yang bertanda tangan di bawah ini, menerangkan bahwa Mahasiswa Tugas Akhir

Program D-III Teknik Informatika :

Nama

: SYAFRI ALI PUTRA

NIM

: 112406015

Program Studi

: D-III Teknik Informatika

Judul Tugas Akhir

: MEMBANGUN APLIKASI INVENTARIS BARANG

UNTUK USAHA KECIL DAN MENENGAH (UKM)

BERBASIS ANDROID

telah melakukan test program Tugas Akhir Mahasiswa tersebut di atas pada tanggal

…..../06/2014.

Dengan hasil : SUKSES / GAGAL

Demikian diterangkan untuk digunakan melengkapi Syarat Pendaftaran Meja Hijau

Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU

Medan.

Medan, Juni 2014

Dosen Pembimbing

Program D-3 Teknik Informatika

Drs. Rachmad Sitepu, M.Si

NIP 195304181987031001

(35)

KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM Jl. Bioteknologi No.1 Kampus USU Padang Bulan Medan-20155

Telp. (061) 8211050, Fax. (061) 8214290

KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Nama Mahasiswa

: SYAFRI ALI PUTRA

Nomor Stambuk

: 112406015

Judul Tugas Akhir

: MEMBANGUN

APLIKASI

INVENTARIS

BARANG

UNTUK

USAHA

KECIL

DAN

MENENGAH (UKM) BERBASIS ANDROID

Dosen Pembimbing

: Drs. Rachmad Sitepu, M.Si

Tanggal Mulai Bimbingan

:

Tanggal Selesai Bimbingan :

No.

Tanggal

Asisten

Bimbingan

Pembahasan pada

Asistensi Mengenai, pada

Bab :

Paraf Dosen

Pembimbing

Keterangan

1.

2.

3.

4.

5.

6.

7

 Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah selesai.

Diketahui,

Disetujui,

Ketua Program Studi D3 Teknik Informatika

Pembimbing Utama

Dr. Elly Rosmaini, M.Si Drs. Rachmad Sitepu, M.Si

NIP 196005201985032002 NIP 195304181987031001

Referensi

Dokumen terkait

Hal ini di samping akan memudahkan dalam pelaksanaan penyusunan proposal, proses pembimbingan serta dalam penyusunan laporan hasil penelitian, juga memotivasi para

Menimbang, bahwa putusan Pengadilan Negeri Subang Nomor : 11/Pdt.Plw/2017/PN.Sng diucapkan pada tanggal 8 Agustus 2017 dengan di hadiri oleh Kuasa Hukum Terlawan

Epitel simpleks (Epitel pipih selapis). Ciri-cirinya, sitoplasma jernih, inti sel bulat terletak di tengah. Epitel ini terletak di pleura, alveolus paru-paru, kapsul bowman

Terdiri atas beberapa penyakit yang disebabkan oleh jamur, dengan gejala klinis tertentu yang menyerang alat di bawah kulit, misalnya traktus intestinalis,

Dewasa ini cosplayer kerap membuat kostum dari animasi yang populer genre adventure dikarenakan animasi tersebut memiliki desain karakter dengan busana armor (baju

Kawasan minapolitan merupakan salah satu daya tarik pariwisata daerah yang dapat mendiversifikasi produk wisata sehingga dapat menyajikan berbagai pilihan daya

5 Tahun 1969 yang telah diganti dengan Undang-Undang Pokok Kehutanan (UUPK) No. 167) , dalam Penjelasan Umum disebutkan bahwa sejalan dengan Pasal 33 UUD 1945 sebagai

- merujuk kepada syarikat yang mengeluarkan produk yang sama dan dijual dalam pasaran yang sama dengan produk usahawan4. - pesaing boleh memberi sumbangan dari segi meningkatkan