berikut ini langkah membuat aplikasinya
1. langkah pertama kita jalankan xamppnya. perhatikan gambar berikut
3. sekarang kita akan buat tabel beri nama table_biodata
4. langkah selanjutnya kita buat java di src. perhatikan gambar berikut
5. berikut ini sourcode java diatas. perhatikan berikut ini
Biodata.java
package www.crud.com;
public class Biodata extends Koneksi {
String URL = "http://10.0.2.2/inputData/crud.php";
String url = "";
String response = "";
public String tampilBiodata() {
try {
url = URL + "?operasi=view";
System.out.println("URL Tampil Biodata: " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String insertBiodata(String nim, String nama, String semester, String matkul, String nilai) {
try {
url = URL + "?operasi=insert&nim=" + nim + "&nama=" + nama + "&semester=" + semester + "&matkul=" + matkul + "&nilai=" + nilai;
System.out.println("URL Insert Biodata : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String getBiodataById(int id) {
try {
url = URL + "?operasi=get_biodata_by_id&id=" + id;
System.out.println("URL Insert Biodata : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String updateBiodata(String id, String nim, String nama, String semester, String matkul, String nilai) {
try {
url = URL + "?operasi=update&id=" + id + "&nim=" + nim + "&nama=" + nama + "&semester=" + semester + "&matkul=" + matkul + "&nilai=" + nilai;
System.out.println("URL Insert Biodata : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String deleteBiodata(int id) {
try {
url = URL + "?operasi=delete&id=" + id;
System.out.println("URL Insert Biodata : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
}
Koneksi.java
package www.crud.com;
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;
}
}
Menu.java
package www.crud.com;
import java.util.ArrayList;
import www.crud.com.R;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
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;
public class Menu extends Activity implements OnClickListener {
Biodata biodata = new Biodata();
TableLayout tabelBiodata;
Button buttonTambahBiodata;
ArrayList<Button> buttonEdit = new ArrayList<Button>();
ArrayList<Button> buttonDelete = new ArrayList<Button>();
JSONArray arrayBiodata;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabelBiodata = (TableLayout) findViewById(R.id.tableBiodata);
buttonTambahBiodata = (Button) findViewById(R.id.buttonTambahBiodata);
buttonTambahBiodata.setOnClickListener(this);
TableRow barisTabel = new TableRow(this);
barisTabel.setBackgroundColor(Color.CYAN);
TextView viewHeaderId = new TextView(this);
TextView viewHeaderNim = new TextView(this);
TextView viewHeaderNama = new TextView(this);
TextView viewHeaderSemester = new TextView(this);
TextView viewHeaderMatkul = new TextView(this);
TextView viewHeaderNilai = new TextView(this);
TextView viewHeaderAction = new TextView(this);
viewHeaderId.setText("ID");
viewHeaderNim.setText("Nim");
viewHeaderNama.setText("Nama");
viewHeaderSemester.setText("Semester");
viewHeaderMatkul.setText("Matkul");
viewHeaderNilai.setText("Nilai");
viewHeaderAction.setText("Action");
viewHeaderId.setPadding(10,1, 10, 1);
viewHeaderNim.setPadding(10,1, 10, 1);
viewHeaderNama.setPadding(10,1, 10, 1);
viewHeaderSemester.setPadding(10,1, 10, 1);
viewHeaderMatkul.setPadding(10,1, 10, 1);
viewHeaderNilai.setPadding(10,1, 10, 1);
viewHeaderAction.setPadding(10,1, 10, 1);
barisTabel.addView(viewHeaderId);
barisTabel.addView(viewHeaderNim);
barisTabel.addView(viewHeaderNama);
barisTabel.addView(viewHeaderSemester);
barisTabel.addView(viewHeaderMatkul);
barisTabel.addView(viewHeaderNilai);
barisTabel.addView(viewHeaderAction);
tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
try {
arrayBiodata = new JSONArray(biodata.tampilBiodata());
for (int i = 0; i < arrayBiodata.length(); i++) {
JSONObject jsonChildNode = arrayBiodata.getJSONObject(i);
String nim = jsonChildNode.optString("nim");
String nama = jsonChildNode.optString("nama");
String semester = jsonChildNode.optString("semester");
String matkul = jsonChildNode.optString("matkul");
String nilai = jsonChildNode.optString("nilai");
String id = jsonChildNode.optString("id");
System.out.println("Nim :" + nim);
System.out.println("Nama :" + nama);
System.out.println("Semester :" + semester);
System.out.println("Matkul :" + matkul);
System.out.println("Nilai :" + nilai);
System.out.println("ID :" + id);
barisTabel = new TableRow(this);
if (i % 100 == 0) {
barisTabel.setBackgroundColor(Color.LTGRAY);
}
TextView viewId = new TextView(this);
viewId.setText(id);
viewId.setPadding(20, 3, 20, 3);
barisTabel.addView(viewId);
TextView viewNim = new TextView(this);
viewNim.setText(nim);
viewNim.setPadding(20, 3, 20, 3);
barisTabel.addView(viewNim);
TextView viewNama = new TextView(this);
viewNama.setText(nama);
viewNama.setPadding(20, 3, 20, 3);
barisTabel.addView(viewNama);
TextView viewSemester = new TextView(this);
viewSemester.setText(semester);
viewSemester.setPadding(20, 3, 20, 3);
barisTabel.addView(viewSemester);
TextView viewMatkul = new TextView(this);
viewMatkul.setText(matkul);
viewMatkul.setPadding(20, 3, 20, 3);
barisTabel.addView(viewMatkul);
TextView viewNilai = new TextView(this);
viewNilai.setText(nilai);
viewNilai.setPadding(20, 3, 20, 3);
barisTabel.addView(viewNilai);
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));
tabelBiodata.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.buttonTambahBiodata) {
// Toast.makeText(MainActivity.this, "Button Tambah Data",
// Toast.LENGTH_SHORT).show();
tambahBiodata();
} 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();
deleteBiodata(id);
}
}
}
}
public void deleteBiodata(int id) {
biodata.deleteBiodata(id);
/* restart acrtivity */
finish();
startActivity(getIntent());
}
public void getDataByID(int id) {
String nimEdit = null, namaEdit = null, semesterEdit = null, matkulEdit = null, nilaiEdit = null;
JSONArray arrayPersonal;
try {
arrayPersonal = new JSONArray(biodata.getBiodataById(id));
for (int i = 0; i < arrayPersonal.length(); i++) {
JSONObject jsonChildNode = arrayPersonal.getJSONObject(i);
nimEdit = jsonChildNode.optString("nim");
namaEdit = jsonChildNode.optString("nama");
semesterEdit = jsonChildNode.optString("semester");
matkulEdit = jsonChildNode.optString("matkul");
nilaiEdit = jsonChildNode.optString("nilai");
}
} 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 editNim = new EditText(this);
editNim.setText(nimEdit);
layoutInput.addView(editNim);
final EditText editNama = new EditText(this);
editNama.setText(namaEdit);
layoutInput.addView(editNama);
final EditText editSemester = new EditText(this);
editSemester.setText(semesterEdit);
layoutInput.addView(editSemester);
final EditText editMatkul = new EditText(this);
editMatkul.setText(matkulEdit);
layoutInput.addView(editMatkul);
final EditText editNilai = new EditText(this);
editNilai.setText(nilaiEdit);
layoutInput.addView(editNilai);
AlertDialog.Builder builderEditBiodata = new AlertDialog.Builder(this);
builderEditBiodata.setTitle("Update Biodata");
builderEditBiodata.setView(layoutInput);
builderEditBiodata.setPositiveButton("Update", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String nim = editNim.getText().toString();
String nama = editNama.getText().toString();
String semester = editSemester.getText().toString();
String matkul = editMatkul.getText().toString();
String nilai = editNilai.getText().toString();
System.out.println("Nim : " + nim + "Nama : " + nama + " Semester : " + semester + " Matkul : " + matkul + " Nilai : " + nilai);
String laporan = biodata.updateBiodata(viewId.getText().toString(), editNim.getText().toString(),
editNama.getText().toString(), editSemester.getText().toString(), editMatkul.getText().toString(),
editNilai.getText().toString());
Toast.makeText(Menu.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderEditBiodata.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderEditBiodata.show();
}
public void tambahBiodata() {
/* layout akan ditampilkan pada AlertDialog */
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
final EditText editNim = new EditText(this);
editNim.setHint("Nim");
layoutInput.addView(editNim);
final EditText editNama = new EditText(this);
editNama.setHint("Nama");
layoutInput.addView(editNama);
final EditText editSemester = new EditText(this);
editSemester.setHint("Semester");
layoutInput.addView(editSemester);
final EditText editMatkul = new EditText(this);
editMatkul.setHint("Matkul");
layoutInput.addView(editMatkul);
final EditText editNilai = new EditText(this);
editNilai.setHint("Nilai");
layoutInput.addView(editNilai);
AlertDialog.Builder builderInsertBiodata = new AlertDialog.Builder(this);
builderInsertBiodata.setTitle("Insert Biodata");
builderInsertBiodata.setView(layoutInput);
builderInsertBiodata.setPositiveButton("Insert", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String nim = editNim.getText().toString();
String nama = editNama.getText().toString();
String semester = editSemester.getText().toString();
String matkul = editMatkul.getText().toString();
String nilai = editNilai.getText().toString();
System.out.println("Nilai : " + nilai + " Nama : " + nama + " Semester : " + semester + " Matkul : " + matkul + " Nilai : " + nilai);
String laporan = biodata.insertBiodata(nim, nama, semester, matkul, nilai);
Toast.makeText(Menu.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderInsertBiodata.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderInsertBiodata.show();
}
}
setelah itu buatkan layoutnya.perhatikan gambar berikut ini
kemudian masukan sourcodenya. perhatikan gambar berikut
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/buttonTambahBiodata"
android:layout_width="186dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Tambah Nilai Mahasiswa" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_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/tableBiodata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp" >
</TableLayout>
</ScrollView>
</HorizontalScrollView>
</LinearLayout>
sekarang kita buatkan folder inputData di xampp/htdocs/. dalam folder tersebut kita buatkan servernya beri nama crud.php dan admin.php berikut ini sourcodenya
crud.php
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "inputdata";
mysql_connect($server, $username, $password) or die("<h1>Koneksi Mysql Error : </h1>" . mysql_error());
mysql_select_db($database) or die("<h1>Koneksi Kedatabase Error : </h1>" . mysql_error());
@$operasi = $_GET['operasi'];
switch ($operasi) {
case "view":
/* Source code untuk Menampilkan Biodata */
$query_tampil_biodata = mysql_query("SELECT * FROM tabel_biodata") or die(mysql_error());
$data_array = array();
while ($data = mysql_fetch_assoc($query_tampil_biodata)) {
$data_array[] = $data;
}
echo json_encode($data_array);
break;
case "insert":
/* Source code untuk Insert data */
@$nim = $_GET['nim'];
@$nama = $_GET['nama'];
@$semester = $_GET['semester'];
@$matkul = $_GET['matkul'];
@$nilai = $_GET['nilai'];
$query_insert_data = mysql_query("INSERT INTO tabel_biodata (nim, nama, semester, matkul, nilai) VALUES('$nim', '$nama', '$semester', '$matkul', '$nilai')");
if ($query_insert_data) {
echo "Data Berhasil Disimpan";
} else {
echo "Error Inser Biodata " . mysql_error();
}
break;
case "get_biodata_by_id":
/* Source code untuk Edit data dan mengirim data berdasarkan id yang diminta */
@$id = $_GET['id'];
$query_tampil_biodata = mysql_query("SELECT * FROM tabel_biodata WHERE id='$id'") or die(mysql_error());
$data_array = array();
$data_array = mysql_fetch_assoc($query_tampil_biodata);
echo "[" . json_encode($data_array) . "]";
break;
case "update":
/* Source code untuk Updatedata */
@$nim = $_GET['nim'];
@$nama = $_GET['nama'];
@$semester = $_GET['semester'];
@$matkul = $_GET['matkul'];
@$nilai = $_GET['nilai'];
@$id = $_GET['id'];
$query_update_biodata = mysql_query("UPDATE tabel_biodata SET nim='$nim', nama='$nama', semester='$semester', matkul='$matkul', nilai='$nilai' WHERE id='$id'");
if ($query_update_biodata) {
echo "Update Data Berhasil";
} else {
echo mysql_error();
}
break;
case "delete":
/* Source code untuk Deletedata */
@$id = $_GET['id'];
$query_delete_biodata = mysql_query("DELETE FROM tabel_biodata WHERE id='$id'");
if ($query_delete_biodata) {
echo "Delete Data Berhasil";
} else {
echo mysql_error();
}
break;
default:
break;
}
?>
admin.php
<html>
<head><title>Input Data</title></head>
<meta http-equiv="refresh" content="30">
</html>
<?php
mysql_connect("localhost","root","");
mysql_select_db("inputdata");
//=======================================================
// Menampilkan user
//=======================================================
$sql = "SELECT * FROM tabel_biodata ";
$result = mysql_query($sql);
$row = mysql_num_rows ($result);
// Bagian ini hanya akan dikerjakan bila
// hasil query mereturn > 0 row
if ($row != 0){
// membuat title table
// title disimpan pada variable $show
echo "<center>DAFTAR NILAI MAHASISWA</center><br><table
bgcolor='black' width='100%'><tr bgcolor='#CCFFFF'><td width='25%'
align='center'>NIM</td><td width='25%' align='center'> NAMA </td><td width='25%'
align='center'> SEMESTER </td><td width='25%' align='center'> MATAKULIAH</td><td width='25%'
align='center'>NILAI</td></tr>";
$show = "";
// membuat isi tabel yang akan ditampilkan
// isi tabel disambung pada variable $show
while ($data = mysql_fetch_array($result)){
$nim = $data["nim"];
$nama = $data["nama"];
$semester = $data["semester"];
$matkul = $data["matkul"];
$nilai = $data["nilai"];
$show .= "<tr bgcolor='#CCFFFF'><td align='center'>$nim</td><td
align='center'> $nama </td><td align='center'>$semester</td>
<td align='center'>$matkul</td><td align='center'>$nilai</td></tr>";
}
// cetak ke layar
// yang dicetak adalah variabel $show
echo $show;
echo "</table>";
}
else {
echo "<tr><td>No User</td></tr>";
}
echo "<br><br><br>";
?>
sekarang kita jalankan projectnya. klik kanan pada projectnya Run-Android. maka hasilnya seperti gambar berikut