1.Foto Lembar Jawaban
2.DESKRIPSI
DESKRIPSI PROJECT
Aplikasi Android Studio
Mengenai contoh aplikasi Input data motor mulai dari nomor rangka, nama motor dan tahun pembuatan dengan form login password dan username,serta informasi tentang motor.
3.XML TEKS
activity_data.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/zz" android:orientation="vertical"
>
<TextView android:id="@+id/data_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:fontFamily="sans-serif-black" android:text="@string/app_name" android:textSize="30dp" android:textColor="@color/colorputih" android:background="@color/colorpink"/> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="wrap_content"
/></LinearLayout>
activity_Informasi,xml
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Informasi">
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="@string/app_Informasi">
</TextView></androidx.constraintlayout.widget.ConstraintLayout>
activity_input.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:orientation="vertical" >
<EditText android:id="@+id/nomor_rangka" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:inputType="text" android:hint="Nomor Rangka" android:ems="10">
<requestFocus /> </EditText>
<EditText android:id="@+id/nama_motor" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:inputType="text" android:hint="Nama Motor" android:ems="10" >
<requestFocus /> </EditText>
<EditText android:id="@+id/tanggal_pembuatan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:inputType="number" android:hint="Tanggal Pembuatan" android:ems="10" >
<requestFocus /> </EditText>
<Button android:id="@+id/buttom_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#0EF000" android:text="Save" android:textColor="#F3F3F3" /></LinearLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="16dp"
>
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@drawable/aa" ><![CDATA[
/>
]]></LinearLayout>
<EditText android:id="@+id/edittext_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textCapWords" style="@style/AppTheme" android:layout_centerVertical="true" android:layout_alignParentStart="true" android:textSize="20sp" android:fontFamily="monospace"/>
<EditText android:id="@+id/edittext_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:inputType="textCapWords" android:layout_marginBottom="16dp" android:textSize="20sp" android:fontFamily="monospace" android:layout_above="@+id/edittext_password" android:layout_alignParentStart="true"/>
<TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginStart="-1dp" android:layout_marginTop="144dp" android:fontFamily="sans-serif" android:text="FORM LOGIN" android:textAlignment="center" android:textColor="#FF0000" android:textSize="36sp" android:textStyle="bold" />
<Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginStart="0dp" android:layout_marginEnd="0dp" android:layout_marginBottom="265dp" android:background="@color/colorBlue" android:onClick="loginMasuk" android:text="LOGIN" android:textColor="#FCFCFC" android:textSize="20dp" android:textStyle="normal|bold" />
<TextView android:id="@+id/textView" android:layout_width="483dp" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:layout_marginTop="11dp" android:layout_marginEnd="21dp" android:fontFamily="sans-serif" android:text="TUGAS UAS 06TPLM001 MOBILE PROGRAMMING" android:textColor="#FF0000" android:textSize="34sp" android:textStyle="bold" /></RelativeLayout>
activity_menu.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/ss" >
<TextView android:id="@+id/nama_app" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textSize="50dp" android:text="WELCOME" android:fontFamily="sans-serif-black" android:textColor="#FCB30000" />
<Button android:id="@+id/button_input" android:layout_width="131dp" android:layout_height="49dp" android:layout_below="@id/nama_app" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginTop="66dp" android:layout_marginBottom="217dp" android:background="#010300" android:text="Input" android:textColor="#FFFFFF" />
<Button android:id="@+id/button_data" android:layout_width="129dp" android:layout_height="45dp" android:layout_below="@id/nama_app" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginTop="130dp" android:layout_marginBottom="157dp" android:background="#0000EE" android:text="Data" android:textColor="#FFFFFF" />
<Button android:id="@+id/button_Informasi" android:layout_width="131dp" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginEnd="139dp" android:layout_marginBottom="97dp" android:background="#777779" android:text="Informasi" android:textColor="#FFFFFF" /></RelativeLayout>
4. XML GRAPHIC
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adibreza.datamotor">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Informasi"></activity>
<activity android:name=".data" />
<activity android:name=".Input" />
<activity android:name=".Menu" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
5. Source Coding. Java
data.java
package com.adibreza.datamotor;
import java.util.ArrayList;
import android.app.ListActivity;import android.os.Bundle;import android.widget.ArrayAdapter;
public class data extends ListActivity {
private DBDataSource DataSource;
private ArrayList<Unit> values; @Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_data);
DataSource = new DBDataSource(this); // buka kontroller DataSource.open();
// ambil semua data Unit values = DataSource.getAllUnit();
// masukkan data Unit ke array adapter ArrayAdapter<Unit> adapter = new ArrayAdapter<Unit>(this, android.R.layout.simple_list_item_1, values);
// set adapter pada list setListAdapter(adapter); }
}
DBDataSource.java
package com.adibreza.datamotor;
import java.util.ArrayList;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.util.Log;
public class DBDataSource {
private SQLiteDatabase database;
private DBHelper dbHelper;
private String[] allColumns = { DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};
public DBDataSource(Context context)
{
dbHelper = new DBHelper(context); }
public void open() throws SQLException {
database = dbHelper.getWritableDatabase(); }
public void close() {
dbHelper.close(); }
public Unit createUnit(String nama, String merk, String harga) {
ContentValues values = new ContentValues(); values.put(DBHelper.COLUMN_NAME, nama); values.put(DBHelper.COLUMN_MERK, merk); values.put(DBHelper.COLUMN_HARGA, harga);
long insertId = database.insert(DBHelper.TABLE_NAME, null, values);
Cursor cursor = database.query(DBHelper.TABLE_NAME, allColumns, DBHelper.COLUMN_ID + " = " + insertId, null, null, null, null);
cursor.moveToFirst();
Unit newUnit = cursorToUnit(cursor);
cursor.close();
return newUnit; }
private Unit cursorToUnit(Cursor cursor)
{
Unit Unit = new Unit(); // debug LOGCAT Log.v("info", "The getLONG "+cursor.getLong(0)); Log.v("info", "The setLatLng "+cursor.getString(1)+","+cursor.getString(2));
Unit.setId(cursor.getLong(0)); Unit.setNama_Unit(cursor.getString(1)); Unit.setMerk_Unit(cursor.getString(2)); Unit.setHarga_Unit(cursor.getString(3));
return Unit; }
public ArrayList<Unit> getAllUnit() {
ArrayList<Unit> daftarUnit = new ArrayList<Unit>();
Cursor cursor = database.query(DBHelper.TABLE_NAME, allColumns, null, null, null, null, null);
// pindah ke data paling pertama cursor.moveToFirst(); // jika masih ada data, masukkan data Unit ke // daftar Unit while (!cursor.isAfterLast()) {
Unit Unit = cursorToUnit(cursor); daftarUnit.add(Unit); cursor.moveToNext(); }
// Make sure to close the cursor cursor.close(); return daftarUnit; }
}
DBHelper.java
package com.adibreza.datamotor;
//deklarasi import packageimport android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;
public class DBHelper extends SQLiteOpenHelper{
/** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama tabel, nama-nama kolom, nama database, dan versi dari database **/ public static final String TABLE_NAME = "data_inventori"; public static final String COLUMN_ID = "_id"; public static final String COLUMN_NAME = "nama_Unit"; public static final String COLUMN_MERK = "merk_Unit"; public static final String COLUMN_HARGA = "harga_Unit"; private static final String db_name ="datamotor.db"; private static final int db_version=1;
// Perintah SQL untuk membuat tabel database baru private static final String db_create = "create table " + TABLE_NAME + "(" + COLUMN_ID +" integer primary key autoincrement, " + COLUMN_NAME+ " varchar(50) not null, " + COLUMN_MERK+ " varchar(50) not null, " + COLUMN_HARGA+ " varchar(50) not null);";
public DBHelper(Context context) {
super(context, db_name, null, db_version); // Auto generated }
//mengeksekusi perintah SQL di atas untuk membuat tabel database baru @Override public void onCreate(SQLiteDatabase db) {
db.execSQL(db_create); }
// dijalankan apabila ingin mengupgrade database @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DBHelper.class.getName(),"Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db);
}
}
Informasi.java
package com.adibreza.datamotor;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class Informasi extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_informasi); }
}
Input.java
package com.adibreza.datamotor;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;
public class Input extends Activity implements OnClickListener{
private Button buttonSave; private EditText ednomor_rangka; private EditText ednama_motor; private EditText edtanggal_pembuatan;
private DBDataSource dataSource;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_input);
buttonSave = (Button) findViewById(R.id.buttom_save); buttonSave.setOnClickListener(this); ednomor_rangka = (EditText) findViewById(R.id.nomor_rangka); ednama_motor = (EditText) findViewById(R.id.nama_motor); edtanggal_pembuatan = (EditText) findViewById(R.id.tanggal_pembuatan);
dataSource = new DBDataSource(this);
dataSource.open(); }
@Override public void onClick(View v) {
String nama = null; String merk = null; String harga = null; @SuppressWarnings("unused")
Unit Unit = null; if(ednomor_rangka.getText()!=null && ednama_motor.getText()!=null && edtanggal_pembuatan.getText()!=null)
{
nama = ednomor_rangka.getText().toString(); merk = ednama_motor.getText().toString(); harga = edtanggal_pembuatan.getText().toString(); }
switch(v.getId())
{
case R.id.buttom_save:
Unit = dataSource.createUnit(nama, merk, harga);
Toast.makeText(this, "masuk Unit\n" +
"nama" + Unit.getNama_Unit() +
"merk" + Unit.getMerk_Unit() +
"harga" + Unit.getHarga_Unit(), Toast.LENGTH_LONG).show(); break; }
}
}
Mainactivity.java
package com.adibreza.datamotor;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText editText1 ,editText2; String text1 ,text2;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().setTitle("ADIB REZA HERMAWAN"); getSupportActionBar().setSubtitle("161021450106");
}
public void loginMasuk(View view) {
editText1 = (EditText)findViewById(R.id.edittext_username); editText2 = (EditText) findViewById(R.id.edittext_password); text1 = editText1.getText().toString(); text2 = editText2.getText().toString();
if ((text1.contains("Adib"))&&((text2.contains("12345")))) {
Toast.makeText(this, "Login Berhasil", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this,Menu.class); startActivity(intent); }
else if ((text1.matches("")||text2.matches("")))
{
Toast.makeText(this, "Isilah Username dan Password", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(this, "Login Gagal / Username Password Salah", Toast.LENGTH_SHORT).show(); }
}
}
Menu.java
package com.adibreza.datamotor;
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;
public class Menu extends Activity implements OnClickListener{
private Button badd; private Button bview; private Button binfo; @Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu);
badd = (Button) findViewById(R.id.button_input); badd.setOnClickListener(this); bview = (Button) findViewById(R.id.button_data); bview.setOnClickListener(this); binfo = (Button) findViewById(R.id.button_Informasi); binfo.setOnClickListener(this); }
@Override public void onClick(View v) {
// TODO Auto-generated method stub switch(v.getId())
{
case R.id.button_input :
Intent i = new Intent(this,Input.class); startActivity(i); break; case R.id.button_data :
Intent i2 = new Intent(this, data.class); startActivity(i2); break; case R.id.button_Informasi :
Intent i3 = new Intent(this, Informasi.class); startActivity(i3); break; }
}
}
Unit.java
package com.adibreza.datamotor;
public class Unit{
private long id; private String nama_Unit; private String merk_Unit; private String harga_Unit;
public Unit()
{
}
/** * @return the id */ public long getId() {
return id; }
/** * @param id the id to set */ public void setId(long id) {
this.id = id; }
/** * @return the nama_Unit */ public String getNama_Unit() {
return nama_Unit; }
/** * @param nama_Unit the nama_Unit to set */ public void setNama_Unit(String nama_Unit) {
this.nama_Unit = nama_Unit; }
/** * @return the merk_Unit */ public String getMerk_Unit() {
return merk_Unit; }
/** * @param merk_Unit the merk_Unit to set */ public void setMerk_Unit(String merk_Unit) {
this.merk_Unit = merk_Unit; }
/** * @return the harga_Unit */ public String getHarga_Unit() {
return harga_Unit; }
/** * @param harga_Unit the harga_Unit to set */ public void setHarga_Unit(String harga_Unit) {
this.harga_Unit = harga_Unit; }
@Override public String toString()
{
return "Unit "+ nama_Unit +" "+ merk_Unit + " "+ harga_Unit; }
}
6. Source code Run pada emulator
Berikut Tampilan pada emulator
Demikian Tugas Android yang bisa dikerjakan, sekian dan terimakasih, semoga bermanfaat yah guys
Nama : Adib Reza Hermawan
Kelas : 06TPLM001
NIM : 161021450106
Mapel : Mobile Programming