LAMPIRAN
1.Class Package Java
1. MainActivity.java
package com.example.dedi;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment; import android.app.ListActivity;
import android.content.Intent; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.Menu;
import android.view.MenuItem; import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import android.os.Build;
public class MainActivity extends ListActivity {
public void onCreate(Bundle icicle){ super.onCreate(icicle);
String[] menu = new String[] {"Tambah Barang", "Tampilkan Data"};
this.setListAdapter(new ArrayAdapter <String>(this, android.R.layout.simple_list_item_1, menu));
}
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
Object o= this.getListAdapter().getItem(position); String pilihan = o.toString();
}
protected void tampilkanPilihan(String pilihan) { // TODO Auto-generated method stub
try{
Intent i = null;
if(pilihan.equals("Tambah Barang")){ i = new Intent(this,
InsertActivity.class);
}else if (pilihan.equals("Tampilkan Data")){
i = new Intent(this, JSONActivity.class);
}
startActivity(i); } catch (Exception e){
e.printStackTrace(); }
}
}
2. Barang.java
package com.example.dedi;
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList;
/**
* Created by Backup on 3/5/2016. */
public class Barang {
public String namaBarang, jumlahBarang,keterangan; public int idBarang;
}
public void setIdBarang(int idBarang) { this.idBarang = idBarang;
}
// Constructor to convert JSON object into a Java class instance
public Barang(JSONObject object){ try {
this.namaBarang = object.getString("namaBarang"); this.jumlahBarang = object.getString("jumlahBarang"); this.keterangan = object.getString("keterangan");
} catch (JSONException e) { e.printStackTrace(); }
}
// Factory method to convert an array of JSON objects into a list of objects
// User.fromJson(jsonArray);
public static ArrayList<Barang> fromJson(JSONArray jsonObjects) {
ArrayList<Barang> barang= new ArrayList<Barang>();
for (int i = 0; i < jsonObjects.length(); i++) { try {
barang.add(new
Barang(jsonObjects.getJSONObject(i))); } catch (JSONException e) { e.printStackTrace(); }
}
return barang; }
public Barang(String namaBarang, String jumlahBarang, String keterangan) {
}
public String getNamaBarang() { return namaBarang;
}
public void setNamaBarang(String namaBarang) { this.namaBarang = namaBarang;
}
public String getJumlahBarang() { return jumlahBarang;
}
public void setJumlahBarang(String jumlahBarang) { this.jumlahBarang = jumlahBarang;
}
public String getKeterangan() { return keterangan;
}
public void setKeterangan(String keterangan) { this.keterangan = keterangan;
}
}
3. BarangAdapterHolder.java package com.example.dedi;
import android.content.Context; import android.text.Html;
import android.view.LayoutInflater; import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.TextView;
import java.util.ArrayList;
* Created by Backup on 3/5/2016. */
public class BarangAdapterHolder extends ArrayAdapter<Barang> {
// View lookup cache
private static class ViewHolder { TextView
namaBarang,nomor,jumlahBarang,keterangan; }
public BarangAdapterHolder(Context context, ArrayList<Barang> barang) {
super(context, R.layout.view_list_barang, barang);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position Barang barang = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
ViewHolder viewHolder; // view lookup cache stored in tag
if (convertView == null) {
viewHolder = new ViewHolder(); LayoutInflater inflater =
LayoutInflater.from(getContext()); convertView =
inflater.inflate(R.layout.view_list_barang, parent, false);
viewHolder.namaBarang = (TextView) convertView.findViewById(R.id.namaBarang);
viewHolder.jumlahBarang = (TextView) convertView.findViewById(R.id.jumlahBarang); viewHolder.nomor = (TextView) convertView.findViewById(R.id.textNomor);
viewHolder = (ViewHolder) convertView.getTag();
}
// Populate the data into the template view using the data object
viewHolder.namaBarang.setText(Html.fromHtml("<b>"+barang. getNamaBarang()+"<b>"));
viewHolder.jumlahBarang.setText("Jumlah Stok : "+Html.fromHtml(barang.getJumlahBarang()));
viewHolder.keterangan.setText(Html.fromHtml(barang.getKet erangan()));
//viewHolder.nomor.setText(String.valueOf(barang.getIdBar ang()+1));
// Return the completed view to render on screen return convertView;
} }
4. InsertActivity.java
package com.example.dedi;
/**
* Class InsertActivity
* @version 1.0 Dec 18, 2011
* @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net
*/
import java.io.BufferedReader; import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException; import java.net.URLEncoder;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient; import android.app.Activity;
import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast;
public class InsertActivity extends Activity { private EditText txtBarang;
private EditText txtStok;
private EditText txtKeterangan; private Button btnSimpan;
// Seusuaikan url dengan nama domain yang anda gunakan
private String url;
/**
* Method yang dipanggil pada saat aplikaasi dijalankan
* */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.tambah); txtBarang = (EditText)
findViewById(R.id.txtNamaBarang); txtStok = (EditText) findViewById(R.id.txtStok);
txtKeterangan = (EditText) findViewById(R.id.txtKeterangan);
btnSimpan = (Button) findViewById(R.id.btnSimpan);
// daftarkan even onClick pada btnSimpan btnSimpan.setOnClickListener(new
Button.OnClickListener() { @Override
public void onClick(View v) {
try {
//url =
"http://10.0.2.2/barang/addbarang.php";
// setiap parameter yang akan dikirim melalui http
// harus encode agar
String namaBarang =
URLEncoder.encode(txtBarang.getText().toString(), "utf-8");
String stok =
URLEncoder.encode(txtStok.getText().toString(), "utf-8"); String keterangan =
URLEncoder.encode(txtKeterangan.getText().toString(), "utf-8");
url =
"http://10.0.2.2/barang/addbarang.php?namaBarang=" + namaBarang + "&stok=" + stok+ "&keterangan=" +
keterangan;
exec(url);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
} });
}
public void exec(String url) {
//url += "/bsscan/cari_barang.php"; //url +="?barcode="+barcode;
//url +="?foto="+foto;
HttpConnection httpConnection = new
HttpConnection(url, new HttpConnection.ConnectHandler() { @Override
public void onStart() {
// Your codes which want to run before execute connection
}
@Override
public void onFinish(String response) {
Toast.makeText(InsertActivity.this,
//txtResult.setText(Html.fromHtml(response.toString( )));
//txtResult.setText(Html.fromHtml("<table><tr><td>as d</td><td>asd</td></tr><tr><td>asd</td><td>asd</td></tr>< /table>"));
//contentImg.setImage(response);
// Your codes which want to run after execute connection.
// You can use 'response' string in your codes.
}
@Override
public void onFault(String response, String error) {
///contentTxt.setText(response + "no data " +error);
// Your codes which want to run after fault connection.
// You can use 'response' and 'error' strings in your codes.
} });
httpConnection.connect(); }
/**
* Method untuk Mengirimkan data kes erver event by button login diklik
*
* @param view */
public void getRequest(String Url) {
Toast.makeText(this, "Tambah Data " + Url + " ", Toast.LENGTH_SHORT)
.show();
HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url);
try {
Toast.makeText(this, "Tambah Data " + request(response) + " ",
Toast.LENGTH_SHORT).show(); } catch (Exception ex) {
Toast.makeText(this, "Tambah Data Gagal !", Toast.LENGTH_SHORT)
.show(); }
}
/**
* Method untuk Menenrima data dari server *
* @param response * @return
*/
public static String request(HttpResponse response) {
String result = "";
try {
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in)); StringBuilder str = new StringBuilder(); String line = null;
while ((line = reader.readLine()) != null) {
str.append(line + "\n"); }
in.close();
result = str.toString(); } catch (Exception ex) {
result = "Error"; }
return result; }
}
5. JSONActivity.java
package com.example.dedi;
import java.io.BufferedReader; import java.io.InputStream;
import java.io.InputStreamReader; import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.text.Html;
import android.widget.ListView; import android.widget.TextView; import android.widget.Toast;
public class JSONActivity extends Activity{ private JSONObject jobject;
ArrayList<Barang> listBarang = new ArrayList<Barang>();
private String xResult =""; TextView txtResult;
private String url =
"http://10.0.2.2/barang/daftarbarang.php";
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
setContentView(R.layout.dafarbarang); txtResult =
(TextView)findViewById(R.id.TextViewResult); //xResult = getRequest(url);
exec("AS"); //try{
// parse(txtResult);
//}catch (Exception e){
// e.printStackTrace();
public void exec(String barcode) {
//url += "/bsscan/cari_barang.php"; //url +="?barcode="+barcode;
//url +="?foto="+foto;
HttpConnection httpConnection = new
HttpConnection(url, new HttpConnection.ConnectHandler() { @Override
public void onStart() {
// Your codes which want to run before execute connection
}
@Override
public void onFinish(String response) {
listBarang =
getDataBarangFromJsonArray(response);
BarangAdapterHolder adapter = new
BarangAdapterHolder(JSONActivity.this, listBarang);
ListView listView = (ListView)
findViewById(R.id.listView1);
listView.setAdapter(adapter);
//txtResult.setText(Html.fromHtml(response.toString( )));
//txtResult.setText(Html.fromHtml("<table><tr><td>as d</td><td>asd</td></tr><tr><td>asd</td><td>asd</td></tr>< /table>"));
//contentImg.setImage(response);
// Your codes which want to run after execute connection.
// You can use 'response' string in your codes.
}
@Override
public void onFault(String response, String error) {
///contentTxt.setText(response + "no data " +error);
// Your codes which want to run after fault connection.
} });
httpConnection.connect(); }
public ArrayList<Barang>
getDataBarangFromJsonArray(String dataSoal) {
ArrayList<Barang> listDataBarang = new ArrayList<Barang>();
JSONArray jsonArray = null; try {
jsonArray = new JSONArray(dataSoal);
listDataBarang = Barang.fromJson(jsonArray); } catch (JSONException e) {
e.printStackTrace(); }
return listDataBarang; }
// najam
private void parse(TextView txtResult) throws Exception {
jobject = new JSONObject(xResult);
JSONArray menuitemArray = jobject.getJSONArray("stok");
String sret ="";
for (int i=0; i < menuitemArray.length(); i++){
sret +=
menuitemArray.getJSONObject(i).getString("nm_barang").toS tring()+" : ";
//System.out.println(menuitemArray.getJSONObject(i). get("nm_barang").toString());
//System.out.println(menuitemArray.getJSONObject(i). get("jum_barang").toString());
sret +=
menuitemArray.getJSONObject(i).getString("jum_barang").to String()+"\n";
sret +=
//System.out.println(menuitemArray.getJSONObject(i). get("ket").toString());
//sret
+=menuitemArray.getJSONObject(i).getString("ket").toStrin g()+"\n";
}
txtResult.setText(sret);
// TODO Auto-generated method stub
}
public String getRequest(String Url){ String sret="";
HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(Url);
try{
HttpResponse response = client.execute(request);
sret = request(response); /*coba
Toast toast =
Toast.makeText(getApplicationContext(),
request(response),
Toast.LENGTH_SHORT);
toast.show();*/ }catch (Exception ex){
Toast.makeText(this,"Gagal "+sret, Toast.LENGTH_SHORT).show();
}
return sret; }
public static String request (HttpResponse response ){
String result =""; try{
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder(); String line = null;
str.append(line + "\n"); }
in.close();
result=str.toString();
}catch (Exception ex){ result = "Error"; }
return result; }
}
6. HttpConncetion.java
package com.example.dedi;
import android.os.AsyncTask;
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; 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.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.net.MalformedURLException;
import java.util.ArrayList;
public class HttpConnection extends AsyncTask<Void, Void, Void> {
private ConnectHandler connectHandler;
private ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
private String url; public String response;
private String responseCharset = "utf-8"; private boolean fault = true;
public HttpConnection(String url, ConnectHandler connectHandler) {
this.url = url;
this.connectHandler = connectHandler; }
public HttpConnection(String url, String outputCharset, ConnectHandler connectHandler) { this.url = url;
this.responseCharset = outputCharset; this.connectHandler = connectHandler; }
public void setHttpConnectionHandler(ConnectHandler connectHandler) {
this.connectHandler = connectHandler; }
public void setUrl(String url) { this.url = url;
}
public void
setPostParameters(ArrayList<NameValuePair> postParameters) {
this.postParameters = postParameters; }
public void clearPostParameters() {
postParameters = new ArrayList<NameValuePair>(); }
public void addPostParameters(String key, String value) {
if (postParameters == null) clearPostParameters();
postParameters.add(new BasicNameValuePair(key, value));
}
public void connect() { execute();
}
protected void onPreExecute() { super.onPreExecute();
connectHandler.onStart(); }
@Override
protected Void doInBackground(Void... params) { try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse; if (postParameters == null) clearPostParameters();
if (postParameters.isEmpty()) {
HttpGet httpGet = new HttpGet(url); httpResponse =
httpClient.execute(httpGet); } else {
HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new
UrlEncodedFormEntity(postParameters)); httpResponse =
httpClient.execute(httpPost); }
HttpEntity httpEntity = httpResponse.getEntity();
response = EntityUtils.toString(httpEntity, responseCharset);
fault = false;
} catch (UnsupportedEncodingException e) { error = e.getMessage();
} catch (MalformedURLException e) { error = e.getMessage();
} catch (IOException e) { error = e.getMessage(); }
return null; }
@Override
protected void onPostExecute(Void result) { super.onPostExecute(result);
interface ConnectHandler { void onStart();
void onFinish(String response);
void onFault(String response, String error); }
}
7. Close.java
package com.example.dedi;
import java.io.BufferedReader; import java.io.InputStream;
import java.io.InputStreamReader; import org.apache.http.HttpResponse; import android.app.Activity;
import android.app.AlertDialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.os.Bundle;
import android.view.KeyEvent; import android.view.Menu; import android.view.View;
import android.view.View.OnClickListener; import android.widget.Button;
public class Close extends Activity {
final Context context = this; private Button button;
final Dialog dialog = new Dialog(this);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.keluar);
dialog.setContentView(R.layout.keluar);
button = (Button) findViewById(R.id.btnExit);
button.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
}); }
2. Kode Program Layout xml
1. activity_main.xml <FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="com.example.dedi.MainActivity" tools:ignore="MergeRootFrame" />
2. daftarbarang.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"
xmlns:tools="http://schemas.android.com/apk/res/andr oid"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Tugas Akhir" />
<TextView
<TextView
android:layout_width="fill_parent" android:id="@+id/TextViewResult" android:layout_height="wrap_content" android:text="Hasil" />
<ListView
tools:id="@+id/listView1"
tools:layout_width="match_parent" tools:layout_height="wrap_content" > </ListView>
</LinearLayout>
3. tambah.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" >
<TextView
android:id="@+id/TextView03"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama Barang :" />
<EditText
android:id="@+id/txtNamaBarang" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" >
<requestFocus /> </EditText>
<TextView
android:id="@+id/TextView01"
</TextView>
<EditText
android:id="@+id/txtStok"
android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" >
</EditText>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Keterangan :" >
</TextView>
<EditText
android:id="@+id/txtKeterangan" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" >
</EditText>
<Button
android:id="@+id/btnSimpan"
android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Simpan" >
</Button>
</LinearLayout>
4. view_list_barang.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">
<TextView
/>
</LinearLayout>
5. fragment_main.xml <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.dedi.MainActivity$PlaceholderF ragment" >
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" />
</RelativeLayout>
6. keluar.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" > <TextView
android:id="@+id/author_name"
android:layout_height="wrap_content" android:text="test"/>
<Button
android:id="@+id/btnExit"
android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Exit" />
SURAT KETERANGAN
Hasil Uji Program Tugas Akhir
Yang bertanda tangan di bawah ini, menerangkan bahwa Tugas Akhir Mahasiswa Program Diploma 3 Teknik Informatika :
Nama : Maulana Dedy Fauzi NIM : 122406116
Program Studi : TEKNIK INFORMATIKA
Judul TA : Sistem Informasi Manajemen Barang Berbasis Android
Telah melakukan test Program Tugas Akhir Mahasiswa tersebut di atas tanggal ...Juni 2016.
Dengan Hasil : Sukses/Gagal
Demikian diterangkan untuk digunakan sebagai syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Departemen Matematika FMIPA USU Medan.
Medan, Juni 2016 Dosen Pembimbing,
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 : MAULANA DEDY FAZUI Nomor Stambuk : 122406116
Judul Tugas Akhir : SISTEM INFORMASI MANAJEMEN BARANG BERBASIS ANDROID
Dosen Pembimbing : Prof. Dr. Opim Salim Sitompul, M.Sc 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.
Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah selesai.
Diketahui, Disetujui,
Ketua Prog.Studi D3Teknik Informatika, Dosen Pembimbing,
Dr. Elly Rosmaini, M.Si. Prof. Dr. Opim Salim Sitompul, M.Sc