Sistem Informasi Manajemen Barang Berbasis Android

LAMPIRAN

1. Class Package Java

1. MainActivity.java
package com.example.dedi;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import


android.support.v7.app.ActionBarActivity;
android.support.v7.app.ActionBar;
android.support.v4.app.Fragment;
android.app.ListActivity;
android.content.Intent;
android.os.Bundle;
android.view.LayoutInflater;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.view.ViewGroup;
android.widget.ArrayAdapter;
android.widget.ListView;
android.widget.Toast;
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 (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();
tampilkanPilihan(pilihan);

Universitas Sumatera Utara

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

import
import

org.json.JSONArray;
org.json.JSONException;
org.json.JSONObject;
java.util.ArrayList;

/**
* Created by Backup on 3/5/2016.
*/
public class Barang {
public String namaBarang, jumlahBarang,keterangan;
public int idBarang;
public int getIdBarang() {
return idBarang;

Universitas Sumatera Utara

}

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 fromJson(JSONArray
jsonObjects) {
ArrayList barang= new
ArrayList();
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) {
this.namaBarang = namaBarang;
this.jumlahBarang = jumlahBarang;
this.keterangan = keterangan;


Universitas Sumatera Utara

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

android.content.Context;
android.text.Html;
android.view.LayoutInflater;
android.view.View;
android.view.ViewGroup;

android.widget.ArrayAdapter;
android.widget.TextView;

import java.util.ArrayList;
/**

Universitas Sumatera Utara

* Created by Backup on 3/5/2016.
*/
public class BarangAdapterHolder extends
ArrayAdapter {
// View lookup cache
private static class ViewHolder {
TextView
namaBarang,nomor,jumlahBarang,keterangan;
}
public BarangAdapterHolder(Context context,
ArrayList 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.keterangan = (TextView)
convertView.findViewById(R.id.keterangan);
convertView.setTag(viewHolder);
} else {

Universitas Sumatera Utara

viewHolder = (ViewHolder)
convertView.getTag();
}
// Populate the data into the template view using
the data object
viewHolder.namaBarang.setText(Html.fromHtml(""+barang.
getNamaBarang()+""));
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
import
import
import
import
import
import
import
import
import
import
import

java.io.BufferedReader;
java.io.InputStream;
java.io.InputStreamReader;
java.io.UnsupportedEncodingException;
java.net.URLEncoder;
org.apache.http.HttpResponse;
org.apache.http.client.HttpClient;
org.apache.http.client.methods.HttpGet;
org.apache.http.impl.client.DefaultHttpClient;
android.app.Activity;
android.os.Bundle;
android.view.View;

Universitas Sumatera Utara

import
import
import
import

android.widget.Button;
android.widget.EditText;
android.widget.ListView;
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
// dapat terbaca dengan baik
oleh server

Universitas Sumatera Utara

String namaBarang =
URLEncoder.encode(txtBarang.getText().toString(), "utf8");
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,
response, Toast.LENGTH_SHORT).show();

Universitas Sumatera Utara

//txtResult.setText(Html.fromHtml(response.toString(
)));
//txtResult.setText(Html.fromHtml("as
dasdasdasd<
/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 {
HttpResponse response =
client.execute(request);

Universitas Sumatera Utara

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

Universitas Sumatera Utara

5.

JSONActivity.java

package com.example.dedi;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import

java.io.BufferedReader;
java.io.InputStream;
java.io.InputStreamReader;
java.util.ArrayList;
org.apache.http.HttpResponse;
org.apache.http.client.HttpClient;
org.apache.http.client.methods.HttpGet;
org.apache.http.impl.client.DefaultHttpClient;
org.json.JSONArray;
org.json.JSONException;
org.json.JSONObject;
android.app.Activity;
android.os.Bundle;
android.text.Html;
android.widget.ListView;
android.widget.TextView;
android.widget.Toast;

public class JSONActivity extends Activity{
private JSONObject jobject;
ArrayList listBarang = new
ArrayList();
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();
//}
}

Universitas Sumatera Utara

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("as
dasdasdasd<
/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.

Universitas Sumatera Utara

}
});
httpConnection.connect();
}
public ArrayList
getDataBarangFromJsonArray(String dataSoal)
{
ArrayList listDataBarang = new
ArrayList();
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 +=
menuitemArray.getJSONObject(i).getString("ket").toString(
);

Universitas Sumatera Utara

//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;
while((line = reader.readLine())!=null){

Universitas Sumatera Utara

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 {
private ConnectHandler connectHandler;
private ArrayList postParameters = new
ArrayList();
private String url;
public String response;
private String responseCharset = "utf-8";
private boolean fault = true;
private String error;

Universitas Sumatera Utara

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
postParameters) {
this.postParameters = postParameters;
}
public void clearPostParameters() {
postParameters = new ArrayList();
}
public void addPostParameters(String key, String
value) {
if (postParameters == null)
clearPostParameters();
postParameters.add(new BasicNameValuePair(key,
value));
}
public void connect() {
execute();
}
@Override

Universitas Sumatera Utara

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);
if (fault) connectHandler.onFault(response,
error); else connectHandler.onFinish(response);
}

Universitas Sumatera Utara

interface ConnectHandler {
void onStart();
void onFinish(String response);
void onFault(String response, String error);
}
}
7.

Close.java

package com.example.dedi;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import

java.io.BufferedReader;
java.io.InputStream;
java.io.InputStreamReader;
org.apache.http.HttpResponse;
android.app.Activity;
android.app.AlertDialog;
android.app.Dialog;
android.content.Context;
android.content.DialogInterface;
android.os.Bundle;
android.view.KeyEvent;
android.view.Menu;
android.view.View;
android.view.View.OnClickListener;
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) {
Close.this.finish();
}

Universitas Sumatera Utara

});
}

2. Kode Program Layout xml
1. activity_main.xml

2. daftarbarang.xml





Universitas Sumatera Utara





3. tambah.xml








Universitas Sumatera Utara











4. view_list_barang.xml








5. fragment_main.xml




6. keluar.xml






Universitas Sumatera Utara

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,

Prof. Dr. Opim Salim Sitompul, M.Sc
NIP. 196712251998021001

Universitas Sumatera Utara

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

NIP 196 005 201 985 032 002

NIP. 196712251998021001

Universitas Sumatera Utara