Senin, 06 Januari 2020

TUGAS UAS MOBILE PROGRAMING, APLIKASI ENSIKLOPEDIA SENJATA DENGAN DATABASE

NAMA : M Sidiq Jaelani Pangestu
NIM : 161021450502
Kelas: 06TPLM003

Assalammu'alaikum, salam sejahtera untuk kita semua. pertemuan kali ini saya telah menyelesaikan sebuah tugas Ujian Akhir Semester(UAS) Mobile Programing. sebuah aplikasi yang terhbung dengan database dan pelu melakukan login sebelum menggunakan aplikasi.

berikut Mock Up Aplikasi yang saya isikan pada Lembar Jawaban UAS :


1. Tampilan Login :
Coding Java :
package com.example.aplikasilogin;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    EditText username, password;
    Button btnLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        username = (EditText) findViewById(R.id.username);
        password = (EditText) findViewById(R.id.password);
        btnLogin = (Button)findViewById(R.id.btnLogin);

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String usernameKey = username.getText().toString();
                String passwordKey = password.getText().toString();

                if (usernameKey.equals("admin") && passwordKey.equals("123")){
                    //jika login berhasil                    Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(MainActivity.this, Welcome.class);
                    MainActivity.this.startActivity(intent);
                    finish();

                }
            }

        });

    }
}

Coding Layout :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    
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.example.aplikasilogin.MainActivity"
>

<TextView        
  android:text="UJIAN AKHIR SEMESTER"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_alignParentTop="true"        
  android:layout_centerHorizontal="true"        
  android:id="@+id/textView"        
  android:textAlignment="center"        
  android:textSize="25sp"        
  android:textStyle="normal|bold" 
/>

<TextView        
  android:id="@+id/textnim"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_alignParentTop="true"        
  android:layout_marginTop="79dp"        
  android:text="Muhammad Sidiq Jaelani P | 161021450502"        
  android:textAlignment="center"        
  android:textSize="19sp"        
  android:textStyle="normal|bold" 
/>

<EditText        
  android:id="@+id/username"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_below="@+id/textView"        
  android:layout_alignParentStart="true"        
  android:layout_alignParentLeft="true"        
  android:layout_marginStart="1dp"        
  android:layout_marginLeft="1dp"        
  android:layout_marginTop="137dp"        
  android:ems="10"        
  android:hint="Username"        
  android:inputType="textPersonName" 
/>
<Button        
  android:id="@+id/btnLogin"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_below="@+id/password"        
  android:layout_marginTop="0dp"        
  android:text="Log In" 
/>

<EditText        
  android:id="@+id/password"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_below="@+id/username"        
  android:layout_alignParentLeft="true"        
  android:layout_alignParentEnd="true"        
  android:layout_alignParentRight="true"        
  android:layout_marginLeft="12dp"        
  android:layout_marginTop="0dp"        
  android:layout_marginEnd="4dp"        
  android:layout_marginRight="4dp"        
  android:ems="10"        
  android:hint="Password"        
  android:inputType="textPassword" 
/>

</RelativeLayout>


2. Tampilan List View setelah berhasil Login :
Coding Java :
package com.example.aplikasilogin;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;


public class Welcome extends AppCompatActivity {
    ListView LV;
    String [] aplikasi={"Informasi Senjata","Tentang Aplikasi","Tentang Zayn"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);
        LV = (ListView) findViewById(R.id.listView1);
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, aplikasi);
        LV.setAdapter(adapter);
        LV.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) {
// TODO Auto-generated method stub                int itemke = arg2;
                String itemText = (String) LV.getItemAtPosition(arg2);
                Toast.makeText(getBaseContext(), "Anda Menyentuh  " + itemText, Toast.LENGTH_LONG).show();
                if (itemText.equals("Informasi Senjata")) {
                    Intent SeninIntent = new Intent(arg0.getContext(), InfoSenjata.class);
                    startActivityForResult(SeninIntent, 0);

                }
                if (itemText.equals("Tentang Aplikasi")) {
                    Intent SeninIntent = new Intent(arg0.getContext(), tentangaplikasi.class);
                    startActivityForResult(SeninIntent, 0);

                }
                if (itemText.equals("Tentang Zayn")) {
                    Intent SeninIntent = new Intent(arg0.getContext(), tentangzayn.class);
                    startActivityForResult(SeninIntent, 0);


                }

            }
        });

    }}

Coding Layout :
<?xml version="1.0" encoding="utf-8"?>
<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"    
  tools:context=".Welcome" >

<ListView        
  android:id="@+id/listView1"        
  android:layout_width="match_parent"        
  android:layout_height="wrap_content"        
  android:layout_centerHorizontal="true"        
  android:layout_centerVertical="true" 
>
</ListView>

</LinearLayout>

3.Tampilan Aplikasi :
pada tampilan ini, ketika kita menginput sebuah nama senjata dan sudah terdaftar di data base maka ketika kita menekan tombol Deskripsikan, maka aplikasi akan memunculkan informasi atau data dari senjata tersebut, seperti contoh berikut ini :


apabila kita memasukan nama senjata yang tidak dterdaftar dalam database, maka aplikasi akan memberikan keterangan seperti di gambar berikut :

Coding Java Aplikasi :

package com.example.aplikasilogin;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

import android.view.View;
import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

public class InfoSenjata extends AppCompatActivity {
    private SQLiteDatabase db = null;
    private Cursor senjataCursor = null;
    private EditText txtInggris;
    private EditText txtIndonesia;
    private DataSenjata dbsenjata = null;
    public static final String INFORMASISENJATA = "inggris";
    public static final String DESKRIPSI = "indonesia";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        dbsenjata = new DataSenjata(this);
        db = dbsenjata.getWritableDatabase();
        dbsenjata.createTable(db);
        dbsenjata.generateData(db);

        setContentView(R.layout.activity_infosenjata);
        txtInggris = (EditText) findViewById(R.id.txtInggris);
        txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);
    }

    public void getTerjemahan(View view) {
        String result = "";
        String englishword = txtInggris.getText().toString();
        senjataCursor = db.rawQuery("SELECT ID, INFORMASISENJATA, DESKRIPSI "
                + "FROM senjata where INFORMASISENJATA='" + englishword
                + "' ORDER BY INFROMASISENJATA", null);

        if (senjataCursor.moveToFirst()) {
            result = senjataCursor.getString(2);
            for (; !senjataCursor.isAfterLast(); senjataCursor.moveToNext()) {
                result = senjataCursor.getString(2);
            }
        }
        if (result.equals("")) {
            result = "DATA SENJATA TIDAK DITEMUKAN";
        }
        txtIndonesia.setText(result);

    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        senjataCursor.close();
        db.close();
    }

}

Coding Java Database :
package com.example.aplikasilogin;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataSenjata extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "dbsenjata";
    public static final String INFORMASISENJATA= "Nama Senjata";
    public static final String DESKRIPSI = "DESKRIPSI SENJATA";

    public DataSenjata(Context context) {
        super(context, DATABASE_NAME, null, 1);
    }

    public void createTable(SQLiteDatabase db){
        db.execSQL("DROP TABLE IF EXISTS senjata");
        db.execSQL("CREATE TABLE if not exists senjata (id INTEGER PRIMARY KEY AUTOINCREMENT, informasisenjata TEXT, deskripsi TEXT);");
    }

    public void generateData(SQLiteDatabase db){
        ContentValues cv=new ContentValues();
        cv.put(INFORMASISENJATA, "glock 19");
        cv.put(DESKRIPSI, ""pistol yang dirancang dan diproduksi oleh Glock. Glock 19 merupakan pistol Glock 17 yang dikecilkan. " +
                "Pistol ini menggunakan magazen standar 15 butir peluru 9 x 19 mm. Glock 19 mulai dikembangkan pada tahun 1988.");
        db.insert("senjata", INFORMASISENJATA, cv);
        cv.put(INFORMASISENJATA, "M82A1");
        cv.put(DESKRIPSI, "Senapan runduk dengan peluru 50 cal");
        db.insert("senjata", INFORMASISENJATA, cv);
        cv.put(INFORMASISENJATA, "AK47");
        cv.put(DESKRIPSI, "senjata buatan rusia");
        db.insert("senjata", INFORMASISENJATA, cv);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
    }
}

Coding Layout :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="@android:color/white"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:layout_width="167dp"
        android:layout_height="wrap_content"
        android:text="Kamus Inggris Indonesia"
        android:layout_gravity="center_horizontal" />
    <TextView
        android:text="Inggris :"
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <EditText
        android:text=""
        android:id="@+id/txtInggris"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:text="Terjemahkan"
        android:id="@+id/btnTerjemah"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="getTerjemahan"
        />

    <TextView
        android:text="Indonesia :"
        android:id="@+id/TextView03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

    <EditText
        android:text=""
        android:id="@+id/txtIndonesia"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:editable="false"
        />

    <TextView
        android:layout_width="399dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="Muhammad Sidiq Jaelani P | 161021450502"
        android:textAlignment="center" />
</LinearLayout>


Video Demo : 



kurang lebihnya mohon maaf, terima kasih wassalammu'alaikum..