Sie sind auf Seite 1von 16

Bab XV

Form Mahasiswa

Pada bab ini akan dibuat form mahasiswa berisi seluruh widget, yang telah dipelajari
sebelumnya.
1. Klik File -> New ,lalu klik Android Application Project.

Build Target Android 4.1.2


Application Name Form Mahasiswa
Package Name package com.mobilebusiness.untag.tugas2
Create Activity MainActivity
Min SDK Version 8

2. Ubahlah src/MainActivity.java menjadi seperti ini

package com.mobilebusiness.untag.tugas2;

import android.app.DatePickerDialog;

import android.content.Intent;
import android.database.Cursor;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import java.text.SimpleDateFormat;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.Calendar;
import java.util.Locale;

public class Tugas_PraUTS extends AppCompatActivity {


private DatePickerDialog datePickerDialog;
private SimpleDateFormat dateFormatter;
private EditText edTglLahir;
private Spinner spJurusan,spFakultas;
private ListView lvNegara;
private TextView tvNegara;
private ImageView imgFoto;
private static int RESULT_LOAD_IMAGE = 1;
private String picturePath;

String[] negara = {
"Indonesia", "Malaysia", "Filipina", "Vietnam",
"Kamboja","India", "Jepang", "Thailand",
"Singapore" };

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

edTglLahir = (EditText)findViewById(R.id.edTglLahir);
spJurusan=(Spinner)findViewById(R.id.spJurusan);
spFakultas=(Spinner)findViewById(R.id.spFakultas);
lvNegara = (ListView) findViewById(R.id.lvNegara);
tvNegara = (TextView) findViewById(R.id.tvNegara);
imgFoto = (ImageView)findViewById(R.id.imgFoto);
ImageButton btnImage =
(ImageButton)findViewById(R.id.imgBtn);
Button btnProses = (Button) findViewById(R.id.btnProses);

final EditText edBio = (EditText)findViewById(R.id.edBio);


final EditText edNama = (EditText)findViewById(R.id.edNama);
final EditText edNBI = (EditText)findViewById(R.id.edNBI);
final EditText edAlamat =
(EditText)findViewById(R.id.edAlamat);
final RadioGroup rgKelamin = (RadioGroup)
findViewById(R.id.rgKelamin);

final CheckBox cbBola = (CheckBox)


findViewById(R.id.cbBola);
final CheckBox cbBasket = (CheckBox)
findViewById(R.id.cbBasket);
final CheckBox cbRenang = (CheckBox)
findViewById(R.id.cbRenang);
final CheckBox cbLari = (CheckBox)
findViewById(R.id.cbLari);

ArrayAdapter
adapterJurusan=ArrayAdapter.createFromResource(this,R.array.jurusan,
android.R.layout.simple_spinner_dropdown_item);
ArrayAdapter
adapterFakultas=ArrayAdapter.createFromResource(this,R.array.fakulta
s,android.R.layout.simple_spinner_dropdown_item);
ArrayAdapter<String> adapterNegara = new
ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
negara);

lvNegara.setAdapter(adapterNegara);
spJurusan.setAdapter(adapterJurusan);
spFakultas.setAdapter(adapterFakultas);

dateFormatter = new SimpleDateFormat("dd-MM-yyyy",


Locale.US);

edTglLahir.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDateDialog();
}
});

spJurusan.setOnItemSelectedListener(new
JurusanOnItemSelectedListener());

btnImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});

btnProses.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String txt = "";
if (cbBola.isChecked()){
txt = txt.concat("Bola,");
}
if (cbBasket.isChecked()){
txt = txt.concat("Basket,");
}
if (cbRenang.isChecked()){
txt = txt.concat("Renang,");
}
if (cbLari.isChecked()){
txt = txt.concat("Lari");
}

String Bio = "NBI = "+edNBI.getText()+"\n"+


"Nama = "+edNama.getText()+"\n"+
"Alamat = "+edAlamat.getText()+"\n"+
"Tanggal Lahir =
"+edTglLahir.getText()+"\n"+
"Fakultas =
"+spFakultas.getSelectedItem().toString()+"\n"+
"Jurusan =
"+spJurusan.getSelectedItem().toString()+"\n"+
"Jenis Kelamin =
"+((RadioButton)findViewById(rgKelamin.getCheckedRadioButtonId())).g
etText().toString()+"\n"+
"Kewarganegaraan
="+tvNegara.getText()+"\n"+
"Hobi ="+txt+"\n"+
"Foto = "+picturePath;
edBio.setText(Bio);

}
});

lvNegara.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View
view, int position, long id) {
tvNegara.setText(negara[position]);
}
});

}
public boolean onCreateOptionsMenu(Menu menu) { // untuk
mengubungkan
MenuInflater inflater = getMenuInflater(); //activity
dengan berkas
inflater.inflate(R.menu.menu_utama, menu); //menu yang
telah dibuat
return true;
}

public boolean onOptionsItemSelected(MenuItem item) {


switch (item.getItemId()) {
case R.id.mBab112: // perintah jika memilih id pada item
menu
Intent myIntent01=new
Intent(getBaseContext(),Bab11_2.class);
// membuat intent baru dari menu class
startActivityForResult(myIntent01,0); // untuk
menukar activity
break;
case R.id.mBab121:
Intent myIntent02=new
Intent(getBaseContext(),Bab12.class);
startActivityForResult(myIntent02,0);
break;
case R.id.mBab122:
Intent myIntent03=new
Intent(getBaseContext(),Bab12_2.class);
startActivityForResult(myIntent03,0);
break;
}
return true;
}

@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if (requestCode == RESULT_LOAD_IMAGE && resultCode ==


RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA
};

Cursor cursor =
getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();

int columnIndex =
cursor.getColumnIndex(filePathColumn[0]);
picturePath = cursor.getString(columnIndex);
cursor.close();

ImageView imageView = (ImageView)


findViewById(R.id.imgFoto);

imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

public class JurusanOnItemSelectedListener implements


AdapterView.OnItemSelectedListener {

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
}

private void showDateDialog(){

/**
* Calendar untuk mendapatkan tanggal sekarang
*/
Calendar newCalendar = Calendar.getInstance();

/**
* Initiate DatePicker dialog
*/
datePickerDialog = new DatePickerDialog(this, new
DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int
monthOfYear, int dayOfMonth) {

/**
* Method ini dipanggil saat kita selesai memilih
tanggal di DatePicker
*/

/**
* Set Calendar untuk menampung tanggal yang dipilih
*/
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);

/**
* Update TextView dengan tanggal yang kita pilih
*/

edTglLahir.setText(dateFormatter.format(newDate.getTime()));
}

},newCalendar.get(Calendar.YEAR),
newCalendar.get(Calendar.MONTH),
newCalendar.get(Calendar.DAY_OF_MONTH));

/**
* Tampilkan DatePicker dialog
*/
datePickerDialog.show();
}
}

3. Ubahlah res/menu/menu_utama.xml menjadi seperti ini

<?xml version="1.0" encoding="utf-8"?>


<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<item
android:id="@+id/mBab112"
android:menuCategory="container"
android:title="Bab 11 - 2" >
</item>
<item
android:id="@+id/mBab121"
android:menuCategory="container"
android:title="Bab 12 - 1">
</item>
<item
android:id="@+id/mBab122"
android:menuCategory="container"
android:title="Bab 12 - 2">
</item>

</menu>

4. Ubahlah res/values/String.xml , untuk mengisi Array Adapter

<resources>
<string name="app_name">Tugas2</string>
<string name="title_activity_bab4">Bab4</string>
<string name="action_settings">Settings</string>
<string name="section_format">Hello World from section:
%1$d</string>
<string name="buttonHandler">myClickHandler</string>
<string name="drawer_open">Menu Dibuka</string>
<string name="drawer_close">Menu Ditutup</string>
<string-array name="agama">
<item>ISLAM</item>
<item>KRISTEN</item>
<item>HINDU</item>
</string-array>
<string-array name="menus">
<item>Home</item>
<item>Page 1</item>
<item>Page 2</item>
<item>Exit</item>
</string-array>
<string-array name="jurusan">
<item>Informatika</item>
<item>Sipil</item>
<item>Arsitektur</item>
<item>Mesin</item>
<item>Industri</item>
<item>Elektro</item>
</string-array>
<string-array name="fakultas">
<item>Teknik</item>
<item>Hukum</item>
<item>Psikologi</item>
<item>Sastra</item>
<item>Ekonomi</item>
<item>Fisip</item>
</string-array>
<string name="title_activity_coba">Coba</string>
</resources>

5. Ubahlah res/layout/Activity_main.xml menjadi seperti ini

<?xml version="1.0" encoding="utf-8"?>


<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.mobilebusiness.untag.tugas2.Tugas_PraUTS">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="NBI"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView24"
android:textSize="18sp" />

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName|number"
android:ems="10"
android:id="@+id/edNBI" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:text="Nama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView25"
android:textSize="18sp" />

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/edNama" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="Alamat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView27"
android:textSize="18sp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/edAlamat" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="Tanggal Lahir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView26"
android:textSize="18sp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="date"
android:ems="10"
android:id="@+id/edTglLahir" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="Fakultas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView29"
android:textSize="18sp" />

<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spFakultas" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="Jurusan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView28"
android:textSize="18sp" />

<Spinner
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spJurusan"
android:layout_weight="1" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:text="Jenis Kelamin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView30"
android:textSize="18sp" />

<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/rgKelamin">
<RadioButton
android:text="Pria"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioButton4"
android:layout_weight="1" />

<RadioButton
android:text="Wanita"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioButton2"
android:layout_weight="1" />

</RadioGroup>
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">

<TextView
android:text="Hobi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView31"
android:textSize="18sp" />
<TableLayout>
<TableRow>

<CheckBox
android:text="Bola"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbBola" />

<CheckBox
android:text="Basket"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbBasket" />
</TableRow>
<TableRow>

<CheckBox
android:text="Renang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbRenang" />

<CheckBox
android:text="Lari"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbLari" />

</TableRow>
</TableLayout>
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">

<TextView
android:text="Kewarganegaraan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView32"
android:textSize="18sp" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent">

<TextView
android:gravity="center"
android:text="Belum Memilih"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvNegara"
android:textSize="18sp" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="100dp">

<ListView
android:layout_width="wrap_content"
android:id="@+id/lvNegara"
android:layout_height="200dp" />

</TableRow>

</TableLayout>
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">

<TextView
android:text="Foto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView33"
android:textSize="18sp" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent">

<ImageButton
android:layout_width="30dp"
android:layout_height="30dp"
app:srcCompat="@drawable/icon"
android:background="@null"
android:id="@+id/imgBtn"
android:scaleType="centerInside" />
</TableRow>

<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent">

<ImageView
android:layout_width="170dp"
android:layout_height="200dp"
app:srcCompat="@drawable/addimage"
android:id="@+id/imgFoto"
android:background="@null"
android:scaleType="centerInside"/>

</TableRow>

</TableLayout>

</TableRow>
<Button
android:text="Proses"
android:layout_width="10dp"
android:layout_height="wrap_content"
android:id="@+id/btnProses" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/edBio" />

</TableLayout>
</ScrollView>

Das könnte Ihnen auch gefallen