SlideShare a Scribd company logo
1 of 17
Download to read offline
Pada laporan ke-4 kali ini, saya akan menjelaskan tentang penambahan field di
android, mysql dan server.
Tetap Persiapan file yang kemarin, contoh di bawah ini :
A. Database
 Buka localhost/phpmyadmin
 Buat database dengan nama pakaian
B. PHP
 Buka folder htdocs ( C : xampp/htdocs )
 Buat sebuah folder bernama pakaian
 di dalam folder server, buat sebuah file dengan nama index.php
C. Android
 Buat sebuah project (File -> New Android Application) dan beri nama pakaian
 Pada lokasi src pastikan sudah ada file :
a. MainActivity.java
b. Koneksi.Java
c. Pakaian.java
File yang di atas adalah file yang kemarin saya, upload di laporan ke-3 saya. Namun
kali ini, saya sudah mengganti kontennya seperti gambar-gambar yang ada di bawah
ini.
Database
Ekseskusi query ini untuk membuat tabel_biodata
Jika dibrowse, maka hasilnya akan kelihatan seperti gambar berikut :
PHP - index.php
Buka server.php yang berada di lokasi C:xampphtdocsserverindex.php, lalu ketikkan source
code berikut :
<form method="post" action="simpan_data.php">
<table border="0" align="center">
<tr>
<td colspan="5" align="center"><h2>From Inputan</h2></td>
</tr>
<tr>
<td>Merk</td>
<td>:</td>
<td><input type="text" name="merk"/></td>
</tr>
<tr>
<td>Jenis</td>
<td>:</td>
<td><input type="text" name="jenis"/></td>
</tr>
<tr>
<td>Ukuran</td>
<td>:</td>
<td><input type="text" name="ukuran"/></td>
</tr>
<tr>
<td>Harga</td>
<td>:</td>
<td><input type="number" name="harga"/></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" value="Simpan"/>
<input type="reset" value="Reset"/></td>
</tr>
</table>
</form>
Android
Android - main.xml
<LinearLayout 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"
android:orientation="vertical"
tools:context="com.examplore.deathnote.MainActivity" >
<Button
android:id="@+id/buttonTambahPakaian"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Tambah Data Loundry" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/verticalScrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/tablePakaian"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp" >
</TableLayout>
</ScrollView>
</HorizontalScrollView>
</LinearLayout>
Android - class.java
MainActivity,java
package com.is.pakaian;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.os.StrictMode;
import android.support.v4.view.ViewPager.LayoutParams;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
@SuppressLint("NewApi") public class MainActivity extends Activity implements OnClickListener {
Pakaian pakaian = new Pakaian();
TableLayout tabelPakaian;
Button buttonTambahPakaian;
ArrayList<Button> buttonEdit = new ArrayList<Button>();
ArrayList<Button> buttonDelete = new ArrayList<Button>();
JSONArray arrayPakaian;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
//pengenalan variabel
tabelPakaian = (TableLayout) findViewById(R.id.tablePakaian);
buttonTambahPakaian = (Button) findViewById(R.id.buttonTambahPakaian);
buttonTambahPakaian.setOnClickListener(this);
TableRow barisTabel = new TableRow(this);
barisTabel.setBackgroundColor(Color.CYAN);
TextView viewHeaderId = new TextView(this);
TextView viewHeaderMerk = new TextView(this);
TextView viewHeaderJenis = new TextView(this);
TextView viewHeaderUkuran = new TextView(this);
TextView viewHeaderHarga = new TextView(this);
TextView viewHeaderAction = new TextView(this);
viewHeaderId.setText("ID");
viewHeaderMerk.setText("Merk");
viewHeaderJenis.setText("Jenis");
viewHeaderUkuran.setText("Ukuran");
viewHeaderHarga.setText("Harga");
viewHeaderAction.setText("Action");
viewHeaderId.setPadding(5, 1, 5, 1);
viewHeaderMerk.setPadding(5, 1, 5, 1);
viewHeaderJenis.setPadding(5, 1, 5, 1);
viewHeaderUkuran.setPadding(5, 1, 5, 1);
viewHeaderHarga.setPadding(5, 1, 5, 1);
viewHeaderAction.setPadding(5, 1, 5, 1);
barisTabel.addView(viewHeaderId);
barisTabel.addView(viewHeaderMerk);
barisTabel.addView(viewHeaderJenis);
barisTabel.addView(viewHeaderUkuran);
barisTabel.addView(viewHeaderHarga);
barisTabel.addView(viewHeaderAction);
tabelPakaian.addView(barisTabel, new
TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
try {
arrayPakaian = new JSONArray(pakaian.tampilPakaian());
for (int i = 0; i < arrayPakaian.length(); i++) {
JSONObject jsonChildNode = arrayPakaian.getJSONObject(i);
String merk = jsonChildNode.optString("merk");
String jenis = jsonChildNode.optString("jenis");
String ukuran = jsonChildNode.optString("ukuran");
String harga = jsonChildNode.optString("harga");
String id = jsonChildNode.optString("id");
System.out.println("Merk :" + merk);
System.out.println("Jenis :" + jenis);
System.out.println("Ukuran :" + ukuran);
System.out.println("Harga :" + harga);
System.out.println("ID :" + id);
barisTabel = new TableRow(this);
if (i % 2 == 0) {
barisTabel.setBackgroundColor(Color.LTGRAY);
}
TextView viewId = new TextView(this);
viewId.setText(id);
viewId.setPadding(5, 1, 5, 1);
barisTabel.addView(viewId);
TextView viewMerk = new TextView(this);
viewMerk.setText(merk);
viewMerk.setPadding(5, 1, 5, 1);
barisTabel.addView(viewMerk);
TextView viewJenis = new TextView(this);
viewJenis.setText(jenis);
viewJenis.setPadding(5, 1, 5, 1);
barisTabel.addView(viewJenis);
TextView viewUkuran = new TextView(this);
viewUkuran.setText(ukuran);
viewUkuran.setPadding(5, 1, 5, 1);
barisTabel.addView(viewUkuran);
TextView viewHarga = new TextView(this);
viewHarga.setText(harga);
viewHarga.setPadding(5, 1, 5, 1);
barisTabel.addView(viewHarga);
buttonEdit.add(i, new Button(this));
buttonEdit.get(i).setId(Integer.parseInt(id));
buttonEdit.get(i).setTag("Edit");
buttonEdit.get(i).setText("Edit");
buttonEdit.get(i).setOnClickListener(this);
barisTabel.addView(buttonEdit.get(i));
buttonDelete.add(i, new Button(this));
buttonDelete.get(i).setId(Integer.parseInt(id));
buttonDelete.get(i).setTag("Delete");
buttonDelete.get(i).setText("Delete");
buttonDelete.get(i).setOnClickListener(this);
barisTabel.addView(buttonDelete.get(i));
tabelPakaian.addView(barisTabel, new
TableLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
public void onClick(View view) {
if (view.getId() == R.id.buttonTambahPakaian) {
// Toast.makeText(MainActivity.this, "Button Tambah Data",
// Toast.LENGTH_SHORT).show();
tambahPakaian();
} else {
/*
* Melakukan pengecekan pada data array, agar sesuai dengan index
* masing-masing button
*/
for (int i = 0; i < buttonEdit.size(); i++) {
/* jika yang diklik adalah button edit */
if (view.getId() == buttonEdit.get(i).getId() && view.getTag().toString().trim().equals("Edit")) {
// Toast.makeText(MainActivity.this, "Edit : " +
// buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonEdit.get(i).getId();
getDataByID(id);
} /* jika yang diklik adalah button delete */
else if (view.getId() == buttonDelete.get(i).getId() &&
view.getTag().toString().trim().equals("Delete")) {
// Toast.makeText(MainActivity.this, "Delete : " +
// buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonDelete.get(i).getId();
deletePakaian(id);
}
}
}
}
public void deletePakaian(int id) {
pakaian.deletePakaian(id);
/* restart acrtivity */
finish();
startActivity(getIntent());
}
public void getDataByID(int id) {
String merkEdit = null, jenisEdit = null, ukuranEdit = null, hargaEdit = null;
JSONArray arrayPersonal;
try {
arrayPersonal = new JSONArray(pakaian.getPakaianById(id));
for (int i = 0; i < arrayPersonal.length(); i++) {
JSONObject jsonChildNode = arrayPersonal.getJSONObject(i);
merkEdit = jsonChildNode.optString("merk");
jenisEdit = jsonChildNode.optString("jenis");
ukuranEdit = jsonChildNode.optString("ukuran");
hargaEdit = jsonChildNode.optString("harga");
}
} catch (JSONException e) {
e.printStackTrace();
}
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
// buat id tersembunyi di alertbuilder
final TextView viewId = new TextView(this);
viewId.setText(String.valueOf(id));
viewId.setTextColor(Color.TRANSPARENT);
layoutInput.addView(viewId);
final EditText editMerk = new EditText(this);
editMerk.setText(merkEdit);
layoutInput.addView(editMerk);
final EditText editJenis = new EditText(this);
editJenis.setText(jenisEdit);
layoutInput.addView(editJenis);
final EditText editUkuran = new EditText(this);
editUkuran.setText(ukuranEdit);
layoutInput.addView(editUkuran);
final EditText editHarga = new EditText(this);
editHarga.setText(hargaEdit);
layoutInput.addView(editHarga);
AlertDialog.Builder builderEditPakaian = new AlertDialog.Builder(this);
builderEditPakaian.setIcon(R.drawable.ic_launcher);
builderEditPakaian.setTitle("Update Pakaian");
builderEditPakaian.setView(layoutInput);
builderEditPakaian.setPositiveButton("Update", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String merk = editMerk.getText().toString();
String jenis = editJenis.getText().toString();
String ukuran = editUkuran.getText().toString();
String harga = editHarga.getText().toString();
System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " +
harga);
String laporan = pakaian.updatePakaian(viewId.getText().toString(),
editMerk.getText().toString(),
editJenis.getText().toString(),editUkuran.getText().toString(),
editHarga.getText().toString());
Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderEditPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderEditPakaian.show();
}
public void tambahPakaian() {
/* layout akan ditampilkan pada AlertDialog */
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
final EditText editMerk = new EditText(this);
editMerk.setHint("Merk");
layoutInput.addView(editMerk);
final EditText editJenis = new EditText(this);
editJenis.setHint("Jenis");
layoutInput.addView(editJenis);
final EditText editUkuran = new EditText(this);
editUkuran.setHint("Ukuran");
layoutInput.addView(editUkuran);
final EditText editHarga = new EditText(this);
editHarga.setHint("Harga");
layoutInput.addView(editHarga);
AlertDialog.Builder builderInsertPakaian = new AlertDialog.Builder(this);
builderInsertPakaian.setIcon(R.drawable.ic_launcher);
builderInsertPakaian.setTitle("Insert Pakaian");
builderInsertPakaian.setView(layoutInput);
builderInsertPakaian.setPositiveButton("Insert", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String merk = editMerk.getText().toString();
String jenis = editJenis.getText().toString();
String ukuran = editUkuran.getText().toString();
String harga = editHarga.getText().toString();
System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " +
harga);
String laporan = pakaian.inserPakaian(merk, jenis, ukuran, harga);
Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderInsertPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderInsertPakaian.show();
}
}
Koneksi,java
package com.is.pakaian;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
public class Koneksi {
public String call(String url) {
int BUFFER_SIZE = 2000;
InputStream in = null;
try {
in = OpenHttpConnection(url);
} catch (IOException e) {
e.printStackTrace();
return "";
}
InputStreamReader isr = new InputStreamReader(in);
int charRead;
String str = "";
char[] inputBuffer = new char[BUFFER_SIZE];
try {
while ((charRead = isr.read(inputBuffer)) > 0) {
String readString = String.copyValueOf(inputBuffer, 0, charRead);
str += readString;
inputBuffer = new char[BUFFER_SIZE];
}
in.close();
} catch (IOException e) {
// Handle Exception
e.printStackTrace();
return "";
}
return str;
}
private InputStream OpenHttpConnection(String url) throws IOException {
InputStream in = null;
int response = -1;
URL url1 = new URL(url);
URLConnection conn = url1.openConnection();
if (!(conn instanceof HttpURLConnection))
throw new IOException("Not An Http Connection");
try {
HttpURLConnection httpconn = (HttpURLConnection) conn;
httpconn.setAllowUserInteraction(false);
httpconn.setInstanceFollowRedirects(true);
httpconn.setRequestMethod("GET");
httpconn.connect();
response = httpconn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpconn.getInputStream();
}
} catch (Exception e) {
throw new IOException("Error connecting2");
}
return in;
}
}
Pakaian.java
package com.is.pakaian;
public class Pakaian extends Koneksi {
String URL = "http://10.0.2.2/Server/server.php";
String url = "";
String response = "";
public String tampilPakaian() {
try {
url = URL + "?operasi=view";
System.out.println("URL Tampil Pakaian: " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String inserPakaian(String merk, String jenis,String ukuran, String harga) {
try {
url = URL + "?operasi=insert&merk=" + merk + "&jenis=" + jenis+ "&ukuran=" + ukuran+
"&harga=" + harga;
System.out.println("URL Insert Pakaian : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String getPakaianById(int id) {
try {
url = URL + "?operasi=get_pakaian_by_id&id=" + id;
System.out.println("URL Insert Pakaian : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String updatePakaian(String id, String merk, String jenis, String ukuran, String harga) {
try {
url = URL + "?operasi=update&id=" + id + "&merk=" + merk + "&jenis=" + jenis + "&ukuran=" +
ukuran + "&harga=" + harga;
System.out.println("URL Insert Biodata : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String deletePakaian(int id) {
try {
url = URL + "?operasi=delete&id=" + id;
System.out.println("URL Insert Pakaian : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
}
Untuk hasil running bisa lihat gambar di bawah ini…
Inilah hasil running project.
Selesai.. maaf jika tampilannya kurang cantik, anda bisa memperindah tampilannya dengan CSS
<HTML> dan lain sebagainya…

More Related Content

What's hot

Recuperación 4 semestre
Recuperación 4 semestre Recuperación 4 semestre
Recuperación 4 semestre Alin Flores
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкShtrih Sruleg
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuarioTerryJoss
 
Arsip coding java rev1
Arsip coding java rev1Arsip coding java rev1
Arsip coding java rev1Anbu Dumilano
 
Here's the Downtown Sound lineup for 2015
Here's the Downtown Sound lineup for 2015Here's the Downtown Sound lineup for 2015
Here's the Downtown Sound lineup for 2015chicagonewsyesterday
 
Hacer una calculadora en Java y en Visual Basic
Hacer una calculadora en Java y en Visual BasicHacer una calculadora en Java y en Visual Basic
Hacer una calculadora en Java y en Visual BasicHumbertoWuwu
 
Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaAgus Haryanto
 
A slew of AACM 50th anniversary celebrations this weekend
A slew of AACM 50th anniversary celebrations this weekendA slew of AACM 50th anniversary celebrations this weekend
A slew of AACM 50th anniversary celebrations this weekendchicagonewsyesterday
 
Aller plus loin avec Doctrine2
Aller plus loin avec Doctrine2Aller plus loin avec Doctrine2
Aller plus loin avec Doctrine2André Tapia
 
Check out our photos of the Pixies' Metro show
Check out our photos of the Pixies' Metro showCheck out our photos of the Pixies' Metro show
Check out our photos of the Pixies' Metro showchicagonewsyesterday
 
Mantto con vb2010
Mantto con vb2010Mantto con vb2010
Mantto con vb2010tihuilo
 
2015 Key Ingredient Cook-Off
2015 Key Ingredient Cook-Off2015 Key Ingredient Cook-Off
2015 Key Ingredient Cook-Offirwinvifxcfesre
 
Spring Framework Orm Di
Spring Framework Orm DiSpring Framework Orm Di
Spring Framework Orm Diahwkong2000
 
EJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSEJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSDarwin Durand
 
Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0zfconfua
 

What's hot (20)

Recuperación 4 semestre
Recuperación 4 semestre Recuperación 4 semestre
Recuperación 4 semestre
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворк
 
Semana 12 interfaces gráficas de usuario
Semana 12   interfaces gráficas de usuarioSemana 12   interfaces gráficas de usuario
Semana 12 interfaces gráficas de usuario
 
Get more votes!
Get more votes!Get more votes!
Get more votes!
 
Arsip coding java rev1
Arsip coding java rev1Arsip coding java rev1
Arsip coding java rev1
 
Here's the Downtown Sound lineup for 2015
Here's the Downtown Sound lineup for 2015Here's the Downtown Sound lineup for 2015
Here's the Downtown Sound lineup for 2015
 
Hacer una calculadora en Java y en Visual Basic
Hacer una calculadora en Java y en Visual BasicHacer una calculadora en Java y en Visual Basic
Hacer una calculadora en Java y en Visual Basic
 
Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data Mahasiswa
 
A slew of AACM 50th anniversary celebrations this weekend
A slew of AACM 50th anniversary celebrations this weekendA slew of AACM 50th anniversary celebrations this weekend
A slew of AACM 50th anniversary celebrations this weekend
 
Aller plus loin avec Doctrine2
Aller plus loin avec Doctrine2Aller plus loin avec Doctrine2
Aller plus loin avec Doctrine2
 
Check out our photos of the Pixies' Metro show
Check out our photos of the Pixies' Metro showCheck out our photos of the Pixies' Metro show
Check out our photos of the Pixies' Metro show
 
Sis quiz
Sis quizSis quiz
Sis quiz
 
Mantto con vb2010
Mantto con vb2010Mantto con vb2010
Mantto con vb2010
 
2015 Key Ingredient Cook-Off
2015 Key Ingredient Cook-Off2015 Key Ingredient Cook-Off
2015 Key Ingredient Cook-Off
 
Parse
ParseParse
Parse
 
Array
ArrayArray
Array
 
1- Sourcecode Array
1- Sourcecode Array1- Sourcecode Array
1- Sourcecode Array
 
Spring Framework Orm Di
Spring Framework Orm DiSpring Framework Orm Di
Spring Framework Orm Di
 
EJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOSEJEMPLOS DESARROLLADOS
EJEMPLOS DESARROLLADOS
 
Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0Юнит тестирование в Zend Framework 2.0
Юнит тестирование в Zend Framework 2.0
 

More from iswan_di

Scroll view
Scroll viewScroll view
Scroll viewiswan_di
 
Demo aplikasi
Demo aplikasiDemo aplikasi
Demo aplikasiiswan_di
 
Penambahan menu atau tampilan
Penambahan menu atau tampilanPenambahan menu atau tampilan
Penambahan menu atau tampilaniswan_di
 
Next client server
Next client serverNext client server
Next client serveriswan_di
 
Login client server
Login client serverLogin client server
Login client serveriswan_di
 
Membuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisionalMembuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisionaliswan_di
 
Membuat text to speech pada android
Membuat text to speech pada androidMembuat text to speech pada android
Membuat text to speech pada androidiswan_di
 
Membuat text to speech pada android
Membuat text to speech pada androidMembuat text to speech pada android
Membuat text to speech pada androidiswan_di
 
Membuat perhitungan luas persegi panjang pada adt
Membuat perhitungan luas persegi panjang pada adtMembuat perhitungan luas persegi panjang pada adt
Membuat perhitungan luas persegi panjang pada adtiswan_di
 
Membuat menu group pada android
Membuat menu group pada androidMembuat menu group pada android
Membuat menu group pada androidiswan_di
 
Membuat spinner array pada adt
Membuat spinner array pada adtMembuat spinner array pada adt
Membuat spinner array pada adtiswan_di
 
Membuat tampilan list array adapter menggunakan adt
Membuat tampilan list array adapter menggunakan adtMembuat tampilan list array adapter menggunakan adt
Membuat tampilan list array adapter menggunakan adtiswan_di
 
Form login dengan eclipse android sdk dan adt
Form login dengan eclipse android sdk dan adtForm login dengan eclipse android sdk dan adt
Form login dengan eclipse android sdk dan adtiswan_di
 
Text to speech
Text to speechText to speech
Text to speechiswan_di
 

More from iswan_di (20)

Sv
SvSv
Sv
 
Scroll view
Scroll viewScroll view
Scroll view
 
Csa
CsaCsa
Csa
 
Blog 10
Blog 10Blog 10
Blog 10
 
Demo aplikasi
Demo aplikasiDemo aplikasi
Demo aplikasi
 
Blog 8
Blog 8Blog 8
Blog 8
 
Tugas uts
Tugas utsTugas uts
Tugas uts
 
Penambahan menu atau tampilan
Penambahan menu atau tampilanPenambahan menu atau tampilan
Penambahan menu atau tampilan
 
Next client server
Next client serverNext client server
Next client server
 
Login client server
Login client serverLogin client server
Login client server
 
Membuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisionalMembuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisional
 
Membuat text to speech pada android
Membuat text to speech pada androidMembuat text to speech pada android
Membuat text to speech pada android
 
Membuat text to speech pada android
Membuat text to speech pada androidMembuat text to speech pada android
Membuat text to speech pada android
 
Membuat perhitungan luas persegi panjang pada adt
Membuat perhitungan luas persegi panjang pada adtMembuat perhitungan luas persegi panjang pada adt
Membuat perhitungan luas persegi panjang pada adt
 
Membuat menu group pada android
Membuat menu group pada androidMembuat menu group pada android
Membuat menu group pada android
 
Membuat spinner array pada adt
Membuat spinner array pada adtMembuat spinner array pada adt
Membuat spinner array pada adt
 
Membuat tampilan list array adapter menggunakan adt
Membuat tampilan list array adapter menggunakan adtMembuat tampilan list array adapter menggunakan adt
Membuat tampilan list array adapter menggunakan adt
 
Form login dengan eclipse android sdk dan adt
Form login dengan eclipse android sdk dan adtForm login dengan eclipse android sdk dan adt
Form login dengan eclipse android sdk dan adt
 
Sq lite
Sq liteSq lite
Sq lite
 
Text to speech
Text to speechText to speech
Text to speech
 

Blog 4

  • 1. Pada laporan ke-4 kali ini, saya akan menjelaskan tentang penambahan field di android, mysql dan server. Tetap Persiapan file yang kemarin, contoh di bawah ini : A. Database  Buka localhost/phpmyadmin  Buat database dengan nama pakaian B. PHP  Buka folder htdocs ( C : xampp/htdocs )  Buat sebuah folder bernama pakaian  di dalam folder server, buat sebuah file dengan nama index.php C. Android  Buat sebuah project (File -> New Android Application) dan beri nama pakaian  Pada lokasi src pastikan sudah ada file : a. MainActivity.java b. Koneksi.Java c. Pakaian.java File yang di atas adalah file yang kemarin saya, upload di laporan ke-3 saya. Namun kali ini, saya sudah mengganti kontennya seperti gambar-gambar yang ada di bawah ini. Database Ekseskusi query ini untuk membuat tabel_biodata Jika dibrowse, maka hasilnya akan kelihatan seperti gambar berikut :
  • 2. PHP - index.php Buka server.php yang berada di lokasi C:xampphtdocsserverindex.php, lalu ketikkan source code berikut : <form method="post" action="simpan_data.php"> <table border="0" align="center"> <tr> <td colspan="5" align="center"><h2>From Inputan</h2></td> </tr> <tr> <td>Merk</td> <td>:</td> <td><input type="text" name="merk"/></td> </tr> <tr> <td>Jenis</td> <td>:</td> <td><input type="text" name="jenis"/></td> </tr> <tr> <td>Ukuran</td>
  • 3. <td>:</td> <td><input type="text" name="ukuran"/></td> </tr> <tr> <td>Harga</td> <td>:</td> <td><input type="number" name="harga"/></td> </tr> <tr> <td></td> <td></td> <td><input type="submit" value="Simpan"/> <input type="reset" value="Reset"/></td> </tr> </table> </form> Android Android - main.xml <LinearLayout 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"
  • 4. android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.examplore.deathnote.MainActivity" > <Button android:id="@+id/buttonTambahPakaian" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Tambah Data Loundry" /> <HorizontalScrollView android:id="@+id/horizontalScrollView" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ScrollView android:id="@+id/verticalScrollView" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TableLayout android:id="@+id/tablePakaian" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" > </TableLayout> </ScrollView> </HorizontalScrollView> </LinearLayout> Android - class.java MainActivity,java package com.is.pakaian; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
  • 5. import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle; import android.os.StrictMode; import android.support.v4.view.ViewPager.LayoutParams; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; import android.widget.Toast; @SuppressLint("NewApi") public class MainActivity extends Activity implements OnClickListener { Pakaian pakaian = new Pakaian(); TableLayout tabelPakaian; Button buttonTambahPakaian; ArrayList<Button> buttonEdit = new ArrayList<Button>(); ArrayList<Button> buttonDelete = new ArrayList<Button>(); JSONArray arrayPakaian; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); } //pengenalan variabel tabelPakaian = (TableLayout) findViewById(R.id.tablePakaian); buttonTambahPakaian = (Button) findViewById(R.id.buttonTambahPakaian); buttonTambahPakaian.setOnClickListener(this); TableRow barisTabel = new TableRow(this); barisTabel.setBackgroundColor(Color.CYAN); TextView viewHeaderId = new TextView(this); TextView viewHeaderMerk = new TextView(this);
  • 6. TextView viewHeaderJenis = new TextView(this); TextView viewHeaderUkuran = new TextView(this); TextView viewHeaderHarga = new TextView(this); TextView viewHeaderAction = new TextView(this); viewHeaderId.setText("ID"); viewHeaderMerk.setText("Merk"); viewHeaderJenis.setText("Jenis"); viewHeaderUkuran.setText("Ukuran"); viewHeaderHarga.setText("Harga"); viewHeaderAction.setText("Action"); viewHeaderId.setPadding(5, 1, 5, 1); viewHeaderMerk.setPadding(5, 1, 5, 1); viewHeaderJenis.setPadding(5, 1, 5, 1); viewHeaderUkuran.setPadding(5, 1, 5, 1); viewHeaderHarga.setPadding(5, 1, 5, 1); viewHeaderAction.setPadding(5, 1, 5, 1); barisTabel.addView(viewHeaderId); barisTabel.addView(viewHeaderMerk); barisTabel.addView(viewHeaderJenis); barisTabel.addView(viewHeaderUkuran); barisTabel.addView(viewHeaderHarga); barisTabel.addView(viewHeaderAction); tabelPakaian.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); try { arrayPakaian = new JSONArray(pakaian.tampilPakaian()); for (int i = 0; i < arrayPakaian.length(); i++) { JSONObject jsonChildNode = arrayPakaian.getJSONObject(i); String merk = jsonChildNode.optString("merk"); String jenis = jsonChildNode.optString("jenis"); String ukuran = jsonChildNode.optString("ukuran"); String harga = jsonChildNode.optString("harga"); String id = jsonChildNode.optString("id"); System.out.println("Merk :" + merk); System.out.println("Jenis :" + jenis); System.out.println("Ukuran :" + ukuran); System.out.println("Harga :" + harga); System.out.println("ID :" + id); barisTabel = new TableRow(this); if (i % 2 == 0) {
  • 7. barisTabel.setBackgroundColor(Color.LTGRAY); } TextView viewId = new TextView(this); viewId.setText(id); viewId.setPadding(5, 1, 5, 1); barisTabel.addView(viewId); TextView viewMerk = new TextView(this); viewMerk.setText(merk); viewMerk.setPadding(5, 1, 5, 1); barisTabel.addView(viewMerk); TextView viewJenis = new TextView(this); viewJenis.setText(jenis); viewJenis.setPadding(5, 1, 5, 1); barisTabel.addView(viewJenis); TextView viewUkuran = new TextView(this); viewUkuran.setText(ukuran); viewUkuran.setPadding(5, 1, 5, 1); barisTabel.addView(viewUkuran); TextView viewHarga = new TextView(this); viewHarga.setText(harga); viewHarga.setPadding(5, 1, 5, 1); barisTabel.addView(viewHarga); buttonEdit.add(i, new Button(this)); buttonEdit.get(i).setId(Integer.parseInt(id)); buttonEdit.get(i).setTag("Edit"); buttonEdit.get(i).setText("Edit"); buttonEdit.get(i).setOnClickListener(this); barisTabel.addView(buttonEdit.get(i)); buttonDelete.add(i, new Button(this)); buttonDelete.get(i).setId(Integer.parseInt(id)); buttonDelete.get(i).setTag("Delete"); buttonDelete.get(i).setText("Delete"); buttonDelete.get(i).setOnClickListener(this); barisTabel.addView(buttonDelete.get(i)); tabelPakaian.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); } } catch (JSONException e) { e.printStackTrace(); } }
  • 8. public void onClick(View view) { if (view.getId() == R.id.buttonTambahPakaian) { // Toast.makeText(MainActivity.this, "Button Tambah Data", // Toast.LENGTH_SHORT).show(); tambahPakaian(); } else { /* * Melakukan pengecekan pada data array, agar sesuai dengan index * masing-masing button */ for (int i = 0; i < buttonEdit.size(); i++) { /* jika yang diklik adalah button edit */ if (view.getId() == buttonEdit.get(i).getId() && view.getTag().toString().trim().equals("Edit")) { // Toast.makeText(MainActivity.this, "Edit : " + // buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show(); int id = buttonEdit.get(i).getId(); getDataByID(id); } /* jika yang diklik adalah button delete */ else if (view.getId() == buttonDelete.get(i).getId() && view.getTag().toString().trim().equals("Delete")) { // Toast.makeText(MainActivity.this, "Delete : " + // buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show(); int id = buttonDelete.get(i).getId(); deletePakaian(id); } } } } public void deletePakaian(int id) { pakaian.deletePakaian(id); /* restart acrtivity */ finish(); startActivity(getIntent()); } public void getDataByID(int id) { String merkEdit = null, jenisEdit = null, ukuranEdit = null, hargaEdit = null; JSONArray arrayPersonal; try {
  • 9. arrayPersonal = new JSONArray(pakaian.getPakaianById(id)); for (int i = 0; i < arrayPersonal.length(); i++) { JSONObject jsonChildNode = arrayPersonal.getJSONObject(i); merkEdit = jsonChildNode.optString("merk"); jenisEdit = jsonChildNode.optString("jenis"); ukuranEdit = jsonChildNode.optString("ukuran"); hargaEdit = jsonChildNode.optString("harga"); } } catch (JSONException e) { e.printStackTrace(); } LinearLayout layoutInput = new LinearLayout(this); layoutInput.setOrientation(LinearLayout.VERTICAL); // buat id tersembunyi di alertbuilder final TextView viewId = new TextView(this); viewId.setText(String.valueOf(id)); viewId.setTextColor(Color.TRANSPARENT); layoutInput.addView(viewId); final EditText editMerk = new EditText(this); editMerk.setText(merkEdit); layoutInput.addView(editMerk); final EditText editJenis = new EditText(this); editJenis.setText(jenisEdit); layoutInput.addView(editJenis); final EditText editUkuran = new EditText(this); editUkuran.setText(ukuranEdit); layoutInput.addView(editUkuran); final EditText editHarga = new EditText(this); editHarga.setText(hargaEdit); layoutInput.addView(editHarga); AlertDialog.Builder builderEditPakaian = new AlertDialog.Builder(this); builderEditPakaian.setIcon(R.drawable.ic_launcher); builderEditPakaian.setTitle("Update Pakaian"); builderEditPakaian.setView(layoutInput); builderEditPakaian.setPositiveButton("Update", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String merk = editMerk.getText().toString(); String jenis = editJenis.getText().toString(); String ukuran = editUkuran.getText().toString(); String harga = editHarga.getText().toString();
  • 10. System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " + harga); String laporan = pakaian.updatePakaian(viewId.getText().toString(), editMerk.getText().toString(), editJenis.getText().toString(),editUkuran.getText().toString(), editHarga.getText().toString()); Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show(); /* restart acrtivity */ finish(); startActivity(getIntent()); } }); builderEditPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builderEditPakaian.show(); } public void tambahPakaian() { /* layout akan ditampilkan pada AlertDialog */ LinearLayout layoutInput = new LinearLayout(this); layoutInput.setOrientation(LinearLayout.VERTICAL); final EditText editMerk = new EditText(this); editMerk.setHint("Merk"); layoutInput.addView(editMerk); final EditText editJenis = new EditText(this); editJenis.setHint("Jenis"); layoutInput.addView(editJenis); final EditText editUkuran = new EditText(this); editUkuran.setHint("Ukuran"); layoutInput.addView(editUkuran); final EditText editHarga = new EditText(this); editHarga.setHint("Harga"); layoutInput.addView(editHarga); AlertDialog.Builder builderInsertPakaian = new AlertDialog.Builder(this); builderInsertPakaian.setIcon(R.drawable.ic_launcher); builderInsertPakaian.setTitle("Insert Pakaian");
  • 11. builderInsertPakaian.setView(layoutInput); builderInsertPakaian.setPositiveButton("Insert", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String merk = editMerk.getText().toString(); String jenis = editJenis.getText().toString(); String ukuran = editUkuran.getText().toString(); String harga = editHarga.getText().toString(); System.out.println("Merk : " + merk + " Jenis : " + jenis+ " Ukuran : " + ukuran+ " Harga : " + harga); String laporan = pakaian.inserPakaian(merk, jenis, ukuran, harga); Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show(); /* restart acrtivity */ finish(); startActivity(getIntent()); } }); builderInsertPakaian.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builderInsertPakaian.show(); } } Koneksi,java package com.is.pakaian; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; public class Koneksi {
  • 12. public String call(String url) { int BUFFER_SIZE = 2000; InputStream in = null; try { in = OpenHttpConnection(url); } catch (IOException e) { e.printStackTrace(); return ""; } InputStreamReader isr = new InputStreamReader(in); int charRead; String str = ""; char[] inputBuffer = new char[BUFFER_SIZE]; try { while ((charRead = isr.read(inputBuffer)) > 0) { String readString = String.copyValueOf(inputBuffer, 0, charRead); str += readString; inputBuffer = new char[BUFFER_SIZE]; } in.close(); } catch (IOException e) { // Handle Exception e.printStackTrace(); return ""; } return str; } private InputStream OpenHttpConnection(String url) throws IOException { InputStream in = null; int response = -1; URL url1 = new URL(url); URLConnection conn = url1.openConnection(); if (!(conn instanceof HttpURLConnection)) throw new IOException("Not An Http Connection"); try { HttpURLConnection httpconn = (HttpURLConnection) conn; httpconn.setAllowUserInteraction(false); httpconn.setInstanceFollowRedirects(true); httpconn.setRequestMethod("GET"); httpconn.connect(); response = httpconn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { in = httpconn.getInputStream(); } } catch (Exception e) { throw new IOException("Error connecting2"); } return in; }
  • 13. } Pakaian.java package com.is.pakaian; public class Pakaian extends Koneksi { String URL = "http://10.0.2.2/Server/server.php"; String url = ""; String response = ""; public String tampilPakaian() { try { url = URL + "?operasi=view"; System.out.println("URL Tampil Pakaian: " + url); response = call(url); } catch (Exception e) { } return response; } public String inserPakaian(String merk, String jenis,String ukuran, String harga) { try { url = URL + "?operasi=insert&merk=" + merk + "&jenis=" + jenis+ "&ukuran=" + ukuran+ "&harga=" + harga; System.out.println("URL Insert Pakaian : " + url); response = call(url); } catch (Exception e) { } return response; } public String getPakaianById(int id) { try { url = URL + "?operasi=get_pakaian_by_id&id=" + id; System.out.println("URL Insert Pakaian : " + url); response = call(url); } catch (Exception e) { } return response; } public String updatePakaian(String id, String merk, String jenis, String ukuran, String harga) { try { url = URL + "?operasi=update&id=" + id + "&merk=" + merk + "&jenis=" + jenis + "&ukuran=" + ukuran + "&harga=" + harga; System.out.println("URL Insert Biodata : " + url); response = call(url); } catch (Exception e) {
  • 14. } return response; } public String deletePakaian(int id) { try { url = URL + "?operasi=delete&id=" + id; System.out.println("URL Insert Pakaian : " + url); response = call(url); } catch (Exception e) { } return response; } } Untuk hasil running bisa lihat gambar di bawah ini… Inilah hasil running project.
  • 15.
  • 16.
  • 17. Selesai.. maaf jika tampilannya kurang cantik, anda bisa memperindah tampilannya dengan CSS <HTML> dan lain sebagainya…