Assalamu alaikum wr.wb.
mengingat banyaknya pertanyaan tentang form entry master yg sudah lebih 1 tahun lalu saya posting,,beberapa minggu yang lalu juga ada yang menanyakan mengenai itu… oleh karena itu dan lain hal..maka postingan ini saya buat..mudah2 an ada gunanya..
note : postingan ini sebenarnya homework2 untuk matakuliah “mobile application development” yang saya ajarkan dan sudah dirilis lebih 1 bulan yang lalu…tujuan saya posting disini adalah..mana tahu ada pembaca juga yang membutuhkan…
berikut saya pastekan perintah tugas waktu itu.
studi kasus homework3 “mobile app development”:
Mahasiswa-mahasiswi yang saya banggakan..
berikut saya sampaikan “homework 2” untuk matakuliah “Mobile Application Development”
Tadi pagi saya melihat berita bahwa DKI Jakarta berencana untuk merealisasikan aplikasi pendaftaran kelahiran/akta kelahiran berbasis mobile… itu menjadi penegas bahwa aplikasi mobile sekarang dan waktu yang akan datang memang akan sangat banyak dibutuhkan…
Cukup cerita fakta itu….mungkin kalian sudah baca or lihat beritanya juga..kembali ke bahasan tugas..
Tugasnya adalah:
– Imajinasikan anda menjadi programmer untuk aplikasi itu… anda ditugaskan untuk membuat tampilan user interface untuk aplikasi mobile pendaftaran kelahiran/akta kelahiran tersebut..
yang harus anda desain adalah FORM LOGIN, FORM PENDAFTARAN USER PEMAKAI APLIKASI, FORM MENU LAYANAN, FORM PENDAFTARAN KELAHIRAN (4 BUAH TAMPILAN.)
1. Form Login…buat menurut anda yang mantaps lah.
2. form pendaftaran user…. berisi (Nomor KTP, Nama, T.T.L, Alamat,Jenis Kelamin, Agama, Pekerjaan, Username, Password)
3. form pendaftaran kelahiran yang berisi formulir seperti berikut :
Nama :
Tempat/tgl lahir :
Jam :
Jenis Kelamin :
Anak yang ke :
Adalah benar anak kandung dari :
Ayah : Nama :
Umur :
Pekerjaan :
Alamat :
Ibu : Nama :
Umur :
Pekerjaan :
Alamat :
PENYELESAIAN
code xml diatas adalah seperti berikut
login.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widg37" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TableLayout android:id="@+id/widget37" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow android:id="@+id/widget45" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget47" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Username :" /> <EditText android:id="@+id/txtusername" android:layout_width="200dp" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget46" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget55" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Password :" /> <EditText android:id="@+id/txtpassword" android:layout_width="200dp" android:layout_height="wrap_content" android:text="" android:password="True" android:textSize="18sp" /> </TableRow> </TableLayout> <TableLayout android:id="@+id/w7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow android:id="@+id/widget65" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btnlogin" android:onClick="login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="L O G I N" /> <Button android:id="@+id/btndaftar" android:onClick="daftar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="DAFTAR" /> </TableRow> </TableLayout> <TextView android:id="@+id/txtstatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
TAMPILAN LAYOUT REGISTER USER
berikut adalah tampilan desain register user yg akan menggunakan aplikasi.
coding xml tampilan diatas adalah sebagai berikut :
daftar_user.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView android:id="@+id/widget124" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:id="@+id/widget124" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TableLayout android:id="@+id/widget125" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TableRow android:id="@+id/widget126" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget127" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nomor KTP" /> <EditText android:id="@+id/txtnomorktp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget129" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget130" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama" /> <EditText android:id="@+id/txtnama" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget132" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget133" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="T.T.L" /> <EditText android:id="@+id/txtttl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget135" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget136" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Alamat" /> <EditText android:id="@+id/txtalamat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget138" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget139" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Jenis Kelamin " /> <RadioGroup android:id="@+id/jekel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/pria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pria" /> <RadioButton android:id="@+id/perempuan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Perempuan" /> </RadioGroup> </TableRow> <TableRow android:id="@+id/widget143" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget144" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Agama" /> <EditText android:id="@+id/txtagama" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget146" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget147" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pekerjaan" /> <EditText android:id="@+id/txtpekerjaan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget149" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget150" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Username" /> <EditText android:id="@+id/txtusername" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget152" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget153" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Password" /> <EditText android:id="@+id/txtpassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:password="True" android:textSize="18sp" /> </TableRow> </TableLayout> <TableLayout android:id="@+id/widget125" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TableRow android:id="@+id/widget155" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btnsimpan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SIMPAN" /> <Button android:id="@+id/btnexit" android:onClick="keluar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="E X I T" /> </TableRow> </TableLayout> <TextView android:id="@+id/txtstatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout> </ScrollView>
TAMPILAN REGISTER AKTA (DAFTAR AKTA)
berikut ini adalah tampilan form pendaftaran akta kelahiran.
coding xml untuk tampilan diatas adalah sebagai berikut :
daftar_akta.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView android:id="@+id/widget124" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:id="@+id/widget124" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TableLayout android:id="@+id/widget125" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TableRow android:id="@+id/widget126" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget127" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nomor Register" /> <EditText android:id="@+id/txtnomor_reg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget129" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget130" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama" /> <EditText android:id="@+id/txtnama" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget132" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> </TableRow> <TableRow android:id="@+id/widget135" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget136" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="T.T.L" /> <EditText android:id="@+id/txtttl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/w" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget136" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Jam" /> <EditText android:id="@+id/txtjam" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget138" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget139" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Jenis Kelamin " /> <RadioGroup android:id="@+id/jekel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/pria" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pria" /> <RadioButton android:id="@+id/perempuan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Perempuan" /> </RadioGroup> </TableRow> <TableRow android:id="@+id/widget143" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget144" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Anak yang Ke-" /> <EditText android:id="@+id/txtanak_ke" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/wiet146" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget147" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Adalah benar anak " /> <TextView android:id="@+id/widget147" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Kandung dari " /> </TableRow> <TableRow android:id="@+id/wit146" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget1473" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="AYAH" /> </TableRow> <TableRow android:id="@+id/widget149" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget150" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama" /> <EditText android:id="@+id/txtayah_nama" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget152" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget153" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Umur" /> <EditText android:id="@+id/txtayah_umur" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget343" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget450" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pekerjaan" /> <EditText android:id="@+id/txtayah_pekerjaan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget943" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget950" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Alamat" /> <EditText android:id="@+id/txtayah_alamat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/wit146" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget1373" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="IBU KANDUNG" /> </TableRow> <TableRow android:id="@+id/widget139" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget130" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nama" /> <EditText android:id="@+id/txtibu_nama" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget1352" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget1353" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Umur" /> <EditText android:id="@+id/txtibu_umur" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget11343" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget13450" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pekerjaan" /> <EditText android:id="@+id/txtibu_pekerjaan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> <TableRow android:id="@+id/widget13943" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/widget950" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Alamat" /> <EditText android:id="@+id/txtibu_alamat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="18sp" /> </TableRow> </TableLayout> <TableLayout android:id="@+id/widget125" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TableRow android:id="@+id/widget155" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/btnsimpan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SIMPAN" /> <Button android:id="@+id/btnexit" android:onClick="keluar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="E X I T" /> </TableRow> </TableLayout> <TextView android:id="@+id/txtstatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout> </ScrollView>
DATABASE MY SQL nya
kita membutuhkan dua buah tabel yaitu tabel user dan tabel untuk daftar akta..
berikut code by sql yoq backup databasenya.
/* SQLyog Enterprise - MySQL GUI v8.2 RC2 MySQL - 5.5.8 : Database - akta ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`akta` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `akta`; /*Table structure for table `daftar_akta` */ DROP TABLE IF EXISTS `daftar_akta`; CREATE TABLE `daftar_akta` ( `nomor_reg` varchar(12) NOT NULL, `nama` varchar(30) DEFAULT NULL, `ttl` varchar(50) DEFAULT NULL, `jam` varchar(5) DEFAULT NULL, `jekel` varchar(9) DEFAULT NULL, `anak_ke` int(11) DEFAULT NULL, `ayah_nama` varchar(30) DEFAULT NULL, `ayah_umur` int(11) DEFAULT NULL, `ayah_pekerjaan` varchar(30) DEFAULT NULL, `ayah_alamat` varchar(50) DEFAULT NULL, `ibu_nama` varchar(30) DEFAULT NULL, `ibu_umur` int(11) DEFAULT NULL, `ibu_pekerjaan` varchar(50) DEFAULT NULL, `ibu_alamat` varchar(50) DEFAULT NULL, PRIMARY KEY (`nomor_reg`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*Table structure for table `user` */ DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `nomor_ktp` float NOT NULL, `nama` varchar(30) DEFAULT NULL, `ttl` varchar(100) DEFAULT NULL, `alamat` varchar(100) DEFAULT NULL, `jekel` varchar(10) DEFAULT NULL, `agama` varchar(15) DEFAULT NULL, `pekerjaan` varchar(20) DEFAULT NULL, `username` varchar(25) DEFAULT NULL, `password` varchar(25) DEFAULT NULL, PRIMARY KEY (`nomor_ktp`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
KITA MEMBUTUHKAN 5 FILE JAVA
login.java
package com.wilis; import java.util.ArrayList; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class login extends Activity { /** Called when the activity is first created. */ EditText username,password; TextView status; Button login,daftar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); username=(EditText) findViewById(R.id.txtusername); password=(EditText) findViewById(R.id.txtpassword); status=(TextView) findViewById (R.id.txtstatus); login=(Button) findViewById (R.id.btnlogin); daftar=(Button) findViewById (R.id.btndaftar); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); postParameters.add(new BasicNameValuePair("username", username.getText().toString())); postParameters.add(new BasicNameValuePair("password", password.getText().toString())); /* String valid = "1";*/ String response = null; try { response = CustomHttpClient.executeHttpPost("http://10.0.2.2/akta/check.php", postParameters); String res = response.toString(); res = res.trim(); res = res.replaceAll("\\s+",""); status.setText(res); if (res.equals("1")) { status.setText("Correct Username or Password"); berhasil(v); } else { status.setText("Sorry!! Wrong Username or Password Entered"); } } catch (Exception e) { status.setText(e.toString()); } } }); // penutup buka dari public void onCreate } public void daftar (View theButton) { Intent d = new Intent (this,daftar_user.class); startActivity(d); } // apabila user berhasil login. public void berhasil (View theButton) { Intent s = new Intent (this, menulayanan.class); startActivity(s); } }
file check.php yang digunakan adalah seperti berikut :
<?php $username=$_POST['username']; $password=$_POST['password']; $conn = mysql_connect("localhost","root",""); mysql_select_db("akta"); $query = "SELECT * FROM user WHERE username = '$username' AND password ='$password'"; $result = mysql_query($query) or die("Unable to verify user because : " . mysql_error()); if (mysql_num_rows($result) == 1){ echo 1; } else { // print status message echo 0; } ?>
FILE JAVA DAFTAR USER
daftar_user.java
package com.wilis; import java.util.ArrayList; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; import android.widget.TextView; public class daftar_user extends Activity { EditText ktp,nama,ttl,alamat,agama,pekerjaan,username,password; RadioGroup jk; TextView status; Button simpan; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.daftar_user); ktp=(EditText)findViewById(R.id.txtnomorktp); nama=(EditText)findViewById(R.id.txtnama); ttl=(EditText)findViewById(R.id.txtttl); jk=(RadioGroup) findViewById(R.id.jekel); alamat=(EditText)findViewById(R.id.txtalamat); agama=(EditText)findViewById(R.id.txtagama); pekerjaan=(EditText)findViewById(R.id.txtpekerjaan); username=(EditText)findViewById(R.id.txtusername); password=(EditText)findViewById(R.id.txtpassword); simpan=(Button)findViewById(R.id.btnsimpan); // keluar=(Button)findViewById(R.id.btnexit); status=(TextView)findViewById(R.id.txtstatus); simpan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //atur variabel utk menampung pilihan jenis kelamin String type=null; switch (jk.getCheckedRadioButtonId()) { case R.id.pria: type="Pria"; break; case R.id.perempuan: type="Perempuan"; break; } ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); postParameters.add(new BasicNameValuePair("nomor_ktp", ktp.getText().toString())); postParameters.add(new BasicNameValuePair("nama", nama.getText().toString())); postParameters.add(new BasicNameValuePair("ttl",ttl.getText().toString())); postParameters.add(new BasicNameValuePair("alamat", alamat.getText().toString())); postParameters.add(new BasicNameValuePair("jekel", type)); postParameters.add(new BasicNameValuePair("agama", agama.getText().toString())); postParameters.add(new BasicNameValuePair("pekerjaan", pekerjaan.getText().toString())); postParameters.add(new BasicNameValuePair("username", username.getText().toString())); postParameters.add(new BasicNameValuePair("password", password.getText().toString())); /* String valid = "1";*/ String response = null; try { response = CustomHttpClient.executeHttpPost("http://10.0.2.2/akta/daftar_user.php", postParameters); String res = response.toString(); res = res.trim(); res = res.replaceAll("\\s+",""); status.setText(res); if (res.equals("1")) status.setText("Data tidak Tersimpan Ke server"); else status.setText("Data berhasil disimpan ke server"); } catch (Exception e) { username.setText(e.toString()); } } }); } public void keluar (View theButton) { Intent a = new Intent (this,login.class); startActivity(a); } }
daftar_user.php
<?php $nomor_ktp=$_POST['nomor_ktp']; $nama=$_POST['nama']; $ttl=$_POST['ttl']; $alamat=$_POST['alamat']; $jekel=$_POST['jekel']; $agama=$_POST['agama']; $pekerjaan=$_POST['pekerjaan']; $username=$_POST['username']; $password=$_POST['password']; $conn = mysql_connect("localhost","root",""); mysql_select_db("akta"); $query = "INSERT INTO user (nomor_ktp,nama,ttl,alamat,jekel,agama,pekerjaan,username,password) values ('$nomor_ktp','$nama','$ttl','$alamat','$jekel','$agama','$pekerjaan','$username','$password')"; $result = mysql_query($query) or die("REPORT...Gagal Query Simpan Data."); if (mysql_num_rows($result) == 1){ echo 1; } else { // print status message echo 0; } ?>
FILE JAVA UNTUK PENDAFTARAN AKTA KELAHIRAN
daftar_akta.java
package com.wilis; import java.util.ArrayList; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; import android.widget.TextView; public class daftar_akta extends Activity { EditText nomor_reg,nama,ttl,jam,anak_ke,ayah_nama,ayah_umur,ayah_pekerjaan,ayah_alamat,ibu_nama,ibu_umur,ibu_pekerjaan,ibu_alamat; RadioGroup jk; TextView status; Button simpan,keluar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.daftar_akta); nomor_reg = (EditText)findViewById(R.id.txtnomor_reg); nama=(EditText)findViewById(R.id.txtnama); ttl=(EditText)findViewById(R.id.txtttl); jam=(EditText)findViewById(R.id.txtjam); jk=(RadioGroup) findViewById(R.id.jekel); anak_ke = (EditText) findViewById (R.id.txtanak_ke); ayah_nama = (EditText)findViewById(R.id.txtayah_nama); ayah_umur = (EditText)findViewById(R.id.txtayah_umur); ayah_pekerjaan = (EditText)findViewById(R.id.txtayah_pekerjaan); ayah_alamat = (EditText)findViewById(R.id.txtayah_alamat); ibu_nama = (EditText)findViewById(R.id.txtibu_nama); ibu_umur = (EditText)findViewById(R.id.txtibu_umur); ibu_pekerjaan = (EditText)findViewById(R.id.txtibu_pekerjaan); ibu_alamat = (EditText)findViewById(R.id.txtibu_alamat); simpan=(Button)findViewById(R.id.btnsimpan); keluar=(Button)findViewById(R.id.btnexit); status=(TextView)findViewById(R.id.txtstatus); simpan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //atur variabel utk menampung pilihan jenis kelamin String type=null; switch (jk.getCheckedRadioButtonId()) { case R.id.pria: type="Pria"; break; case R.id.perempuan: type="Perempuan"; break; } ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); postParameters.add(new BasicNameValuePair("nomor_reg", nomor_reg.getText().toString())); postParameters.add(new BasicNameValuePair("nama", nama.getText().toString())); postParameters.add(new BasicNameValuePair("ttl",ttl.getText().toString())); postParameters.add(new BasicNameValuePair("jam",ttl.getText().toString())); postParameters.add(new BasicNameValuePair("jekel", type)); postParameters.add(new BasicNameValuePair("anak_ke", anak_ke.getText().toString())); postParameters.add(new BasicNameValuePair("ayah_nama", ayah_nama.getText().toString())); postParameters.add(new BasicNameValuePair("ayah_umur", ayah_umur.getText().toString())); postParameters.add(new BasicNameValuePair("ayah_pekerjaan", ayah_pekerjaan.getText().toString())); postParameters.add(new BasicNameValuePair("ayah_alamat", ayah_alamat.getText().toString())); postParameters.add(new BasicNameValuePair("ibu_nama", ibu_nama.getText().toString())); postParameters.add(new BasicNameValuePair("ibu_umur", ibu_umur.getText().toString())); postParameters.add(new BasicNameValuePair("ibu_pekerjaan", ibu_pekerjaan.getText().toString())); postParameters.add(new BasicNameValuePair("ibu_alamat", ibu_alamat.getText().toString())); /* String valid = "1";*/ String response = null; try { response = CustomHttpClient.executeHttpPost("http://10.0.2.2/akta/daftar_akta.php", postParameters); String res = response.toString(); res = res.trim(); res = res.replaceAll("\\s+",""); status.setText(res); if (res.equals("1")) status.setText("Data tidak Tersimpan Ke server"); else status.setText("Data berhasil disimpan ke server"); } catch (Exception e) { nomor_reg.setText(e.toString()); } } }); } public void keluar (View theButton) { Intent a = new Intent (this,menulayanan.class); startActivity(a); } }
daftar_akta.php
<?php $nomor_reg=$_POST['nomor_reg']; $nama=$_POST['nama']; $ttl=$_POST['ttl']; $jam=$_POST['jam']; $jekel=$_POST['jekel']; $anak_ke=$_POST['anak_ke']; $ayah_nama=$_POST['ayah_nama']; $ayah_umur=$_POST['ayah_umur']; $ayah_pekerjaan=$_POST['ayah_pekerjaan']; $ayah_alamat=$_POST['ayah_alamat']; $ibu_nama=$_POST['ibu_nama']; $ibu_umur=$_POST['ibu_umur']; $ibu_pekerjaan=$_POST['ibu_pekerjaan']; $ibu_alamat=$_POST['ibu_alamat']; $conn = mysql_connect("localhost","root",""); mysql_select_db("akta"); $query = "INSERT INTO daftar_akta (nomor_reg,nama,ttl,jam,jekel,anak_ke,ayah_nama,ayah_umur,ayah_pekerjaan,ayah_alamat,ibu_nama,ibu_umur,ibu_pekerjaan,ibu_alamat) values ('$nomor_reg','$nama','$ttl','$jam','$jekel','$anak_ke','$ayah_nama','$ayah_umur','$ayah_pekerjaan','$ayah_alamat','$ibu_nama','$ibu_umur','$ibu_pekerjaan','$ibu_alamat')"; $result = mysql_query($query) or die("REPORT...Gagal Query Simpan Data."); if (mysql_num_rows($result) == 1){ echo 1; } else { // print status message echo 0; } ?>
dan berikut adalah code lengkap android manifestnya.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wilis" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".login" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:label="Tambah user pengguna" android:name=".daftar_user" > </activity> <activity android:label="Menu Layanan" android:name=".menulayanan" > </activity> <activity android:label="Daftar Akta Kelahiran" android:name=".daftar_akta" > </activity> </application> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
penggunaan 10.0.2.2 adalah sistem localhost,,tentunya kalau anda mau gunakan running langsung di device pastikan ipnya menjadi ip server mysql dan phpnya berada..tinggal ganti ip 10.0.2.2 dengan ip server (mysql&php) jika diakses dengan wifi atau dengan nama domain jika sudah online.
DOWNLOAD SOURCECODE LENGAKPANYA
semoga bermamfaat.
wassalam,
uxc.wilis
🙂
yantisa said:
assalamualaikum… saya mau tanya nih… android emulator saya tidak bisa digunakan dipc… ketika dijalankan maka akan ada pesan not responding…
halasansaban said:
Coba untuk Emulatornya lngs menggunakan Hp Langsung Mbak.
Mss.Dhiiiiandra ! (@Diaannndraaa) said:
asslmkm mau nanya ni pak,kok pas waktu di cobain ada pesan “Project has no default.properties file! Edit the project properties to set one…” beginner ni pak..mohon penjelasannya..
rahadiningrat said:
buka project.properties-ganti target sesuai sdk yang anda punya
ZIKIRULLAH said:
Salam kenal, saya baru saja membeli buku ini, saat saya mencoba bagian m_learning nya kenapa ya tidak bisa login di client androidnya, padahal saya sudah ikuti instruksinya yang ada di buku, saya juga sudah membuat user dan course di moodle nya. Mohon bantuannya pak. zrullah@gmail.com mohon saya dikirmkan file bagian M-learning yang LENGKAP
Ervan said:
tutorial yg sangat saya cari, dan berhasil saya jalankan, tapi mengenai password dan username nya bisa lihat dr mana ya pak ? atau saya bikin di mysql dulu ?
terima kasih sangat 🙂
opz said:
ass…. mf gan, sy udah nyoba,,, tp ko pas daftar keterangannya berhasil tapi di DB ga ad alias ga masuk ke DB.. gmn tuh gan?
dan saya udh nyoba input manual lewat DB SQL, tp pas LOGIN tetep ga bisa masuk,,, knp ya??
mohon bantuannya,,, dan trimakasih tutor ini sangant membantu sekali,,, karena sy akan gabungkan dengan projek sy gan,,, makasih banyak,, 😀 Happy Bloging,,, 🙂
Ayas said:
Membantu sekali Pak 😀
rangga said:
saya masih bingung sama file phpnya nih bro. itu dia ditaruh dimana ya?
trus buat 10.0.2.2 saya jalankan di browser kok gak bisa ya ?
Nazruddin Safaat H said:
file php nya di httdocs sistem apachenya bro…boleh di folder mana saja..asalkan di code java pemanggilannya sesuai dengan keberadaannya..
10.0.2.2 itu utk memanggil localhost (host) dari emulator gan… kalau 10.0.2.2 di panggil di browser komputer ya ndak bisa bro… harus dari emulator
rangga said:
oke makasi responsenya gan.
ane masi blom ngerti struktur file android gan.
ane udah coba cuman error dibagian sininya
response = CustomHttpClient.executeHttpPost(“http://10.0.2.2/akta/check.php”, postParameters);
ane naro file phpnya di workspace android yang folder ane buat
mohon bantuannya gan…
Nazruddin Safaat H said:
file cek.php harus di folder akta di httdocs sistem apache anda gan..
ranggatriyanto said:
wah berhasil gan. thanks banget nih buat referensi tugas ane.
^_^
ayo gan diterbitin lagi buku buku yang isinya proyek semua. hehehe
Taufik said:
mas kalo dri hp harus gmn ya,,,? soalnya sya cba dri hp ga bisa,padahal udh di ganti IP nya mas ? thnks
Nazruddin Safaat H said:
Ikuti panduan buku en video yg di includekan di buku gan..ada di demokan di hp di videonya
darwin said:
kalau dari laptop saya uda bisa tapi kenapa kalau uda diisntal dari hp ga bisa ya,kan kalau dari laptop localhostnya di laptop jadi pake ip 10.0.2.2 nahh kalau yang dari hp gmna donk
darwin said:
nahh maksdnya dngan ip server ini apa gan kita harus ngebuat ip server gthu atau gmna niii
Guntur Restu Perdana said:
assalamualaikum mas , mau tanya kalo bikin spinner datanya ngambil dari database mysql gimana ya ?
trus disimpan ke tabel lain di mysql .. newbie mas .. mohon bantuannya
arya said:
terimakasih banyak atas postingan di atas, alhamdulillah saya bisa menyelesaikan SKRIPSI saya,
fauzi said:
sedikit menympang. pak mau tanya kalo saya membuat project menampilkan list data dari database, awalnya menggunakan localhost, kemudian saya rubah dengan web yg dah di hosting. tp datanya malah gak tampil…. gmn tuh ??
halasans said:
Mas TOLONG bantu Penjelasannya Mas #msh_Bingun untuk
Import org.apache.http.NameValuePair &
Import org.apache.http.message.BasicNameValuePair itu apa ya mas ???, dan Dapatnya dari mana ya mas ???, Mslhnya saya Menggunakan Android Studio kok Merah ya mas (Untuk Email saya di halasan.halasan@yaho.com) Thanks.