MEMBUAT APLIKASI KAMUS BERBASIS ANDROID - Lutfi_Najmi_STMIK_ERESHA

=========Program Study : Teknik Informatika S1=========NIM : 161011400092=========STMIK ERESHA=========

Home Top Ad

Responsive Ads Here

Post Top Ad

Your Ad Spot

Friday, March 22, 2019

MEMBUAT APLIKASI KAMUS BERBASIS ANDROID

Saya akan buat project yang menggunakan database sqlite di android. Dulu sebelum pakai android dihandphone yang dulu pasati pernah install kamus inggris Indonesia, yang kita gunakan untuk mencari terjemahan suatu kata dalam bahasa inggris ke bahasa Indonesia. Sebetulnya diandroid juga sudah ada yang buat. Tetapi tentunya akan lebih puas jika kita buat sendiri.

Dan Blog ini saya buat untuk tugas UTS pada mata kuliah Mobile Programming
Yang di Bimbing Oleh Bpk. Agus Suharto.M.Kom

Langkah-langkahnya :


1. Buat New Project dengan nama App Kamus B.Inggris - Indonesia, lengkapi seperti gambar dibawah



2. Untuk selanjutnya pada pilihan create launcher icon dan create activity kita centang, agar aplikasi yang kita buat ada icon dan ada aktivitasnya. Klik centang juga pada create Project in Workplace untuk menyimpan objek aplikasi kita.



 



3. Selanjutnya akan ada menu pilihan icon. Di sebelah kanan akan muncul besarnya icon saat di install di android kita. Kita bisa mengubahnya dengan clip art atau text pada pilihan Clipart / text diatas. Atau kita juga bisa gunakan gambar kita dengan mengupload dari komputer atau dati internet. Untuk mengubah besarnya ukuran gambar geser Additional padding. Sedangkan Crop dan center menyesuaikan icon kita. Sebaiknya pilih center agar logo android kita tidak terpotong. Setelah itu kita bisa tambahkan bentuk icon dan background colour untuk mempercantik logo icon aplikasi kita.









4. Selanjutnya centang create activity. Dan mulai dengan Blank Activity.

  

                                     

5. untuk membuat user interfacenya, buka file activity_main.xml (desain form login) lalu ketikkan kode berikut : 

<RelativeLayout 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" >

    <LinearLayout
        android:id="@+id/linearLayout1"        
        android:layout_width="wrap_content"       
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textView1"            
            android:layout_width="match_parent"            
            android:layout_height="wrap_content"            
            android:gravity="center"            
            android:text="Form Login"
            android:textAppearance="?android:attr/textAppearanceMedium"
/>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"        
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_below="@+id/linearLayout1"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView2"            
            android:layout_width="match_parent"            
            android:layout_height="wrap_content"            
            android:text="User Name" />

        <EditText
            android:id="@+id/userNameEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="User Name" >

            <requestFocus />
        </EditText>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"        
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_below="@+id/linearLayout2"        
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView3"            
            android:layout_width="match_parent"            
            android:layout_height="wrap_content"            
            android:text="Password" />

        <EditText
            android:id="@+id/passwordEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Password"
            android:inputType="textPassword" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_below="@+id/linearLayout3" >

        <Button
            android:id="@+id/loginButton"             
            android:layout_width="wrap_content"            
            android:layout_height="wrap_content"            
            android:layout_weight="3"            
            android:text="Login" />

        <Button
            android:id="@+id/tutupButton"            
            android:layout_width="wrap_content"            
            android:layout_height="wrap_content"            
            android:layout_weight="1"            
            android:text="Tutup" />

    </LinearLayout>

    </RelativeLayout>


hasilnya akan seperti ini

6. Buat lagi activity baru dengan MenuActivity, lalu cari file xml nya, dengan nama activity_menu.xml  dan masukan kode berikut :


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

 <TextView
               android:layout_width="fill_parent"
                                android:layout_height="wrap_content"
                                android:text="Kamus Inggris Indonesia" />

    

 <RadioGroup
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" >
    
     <RadioButton
         android:id="@+id/radioButton1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Inggris - Indonesia" />

     <RadioButton
         android:id="@+id/radioButton2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="Indonesia - Inggris" />

</RadioGroup>

 <TextView
     android:id="@+id/textView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="Input" />

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

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

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

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

 <Button
     android:id="@+id/kembaliButton"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="Kembali Login" />



</LinearLayout>

Hasil nya akan seperti ini 

7. Buat lagi activity baru dengan FailedActivity, lalu cari file xml nya, dengan nama activity_failed.xml  dan masukan kode berikut :


<RelativeLayout 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" >

    <LinearLayout
        android:id="@+id/linearLayout1"        
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textView1"            
            android:layout_width="match_parent"           
             android:layout_height="wrap_content"            
             android:text="User name atau password salah"
            android:textAppearance="?android:attr/textAppearanceMedium"
/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"        
        android:layout_height="wrap_content"        
        android:layout_alignParentLeft="true"        
        android:layout_alignParentRight="true"        
        android:layout_below="@+id/linearLayout1" >

        <Button
            android:id="@+id/kembaliButton"            
            android:layout_width="wrap_content"            
            android:layout_height="wrap_content"            
            android:layout_weight="1"             
            android:text="Kembali" />

    </LinearLayout>

</RelativeLayout>





Hasilnya akan seperti ini 

8. Untuk pembuatan databasenya kita buat class baru yang mengeksten class SQLiteOpenHelper dengan nama DataKamus.java, kemudian ketikkan kode berikut :

package com.lutfi.appkamusb.inggris_indonesia;

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

public class DataKamus extends SQLiteOpenHelper {
 private static final String DATABASE_NAME = "dbkamus";
 public static final String INGGRIS= "inggris";
 public static final String INDONESIA = "indonesia";

 //Constructor DataKamus untuk initiate database
 public DataKamus(Context context) {
  super(context, DATABASE_NAME, null, 1);
 }

 //method createTable untuk membuat table kamus
 public void createTable(SQLiteDatabase db){
  db.execSQL("DROP TABLE IF EXISTS kamus");
  db.execSQL("CREATE TABLE if not exists kamus "
                                + "(id INTEGER PRIMARY KEY AUTOINCREMENT, inggris TEXT, indonesia TEXT);");
 }

 //method generateData untuk mengisikan data ke kamus.
 public void generateData(SQLiteDatabase db){
  ContentValues cv=new ContentValues();
  cv.put(INGGRIS, "run");
  cv.put(INDONESIA, "lari");
  db.insert("kamus", INGGRIS, cv);
  cv.put(INGGRIS, "walk");
  cv.put(INDONESIA, "jalan");
  db.insert("kamus", INGGRIS, cv);
  cv.put(INGGRIS, "read");
  cv.put(INDONESIA, "membaca");
  db.insert("kamus", INGGRIS, cv);
 
  cv.put(INDONESIA, "lari");
  cv.put(INGGRIS, "run");
  db.insert("kamus", INDONESIA, cv);
  cv.put(INDONESIA, "jalan");
  cv.put(INGGRIS, "walk");
  db.insert("kamus", INDONESIA, cv);
  cv.put(INDONESIA, "membaca");
  cv.put(INGGRIS, "read");
  db.insert("kamus", INDONESIA, 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
 }
}

9. lalu masukan sorce code pada MainActivity.java untuk Login


package com.lutfi.appkamusb.inggris_indonesia;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener{
                private String[][] dataUser = {{"ADMIN","ADMIN","Administrator"},
                                                {"user1","password1","Nama User 1"},                                 
                                                {"user2","password2","Nama User 2"}};                
                private EditText userNameET, passwordET;         
                private final int SUCCESS=1;

    @Override
    public void onCreate(Bundle savedInstanceState) {        
                super.onCreate(savedInstanceState);        
                setContentView(R.layout.activity_main);
        
        userNameET = (EditText) findViewById(R.id.userNameEditText);       
        passwordET = (EditText) findViewById(R.id.passwordEditText);
        
        findViewById(R.id.loginButton).setOnClickListener(this);         
        findViewById(R.id.tutupButton).setOnClickListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {        
                getMenuInflater().inflate(R.menu.main, menu);        
                return true;
    }

                public void onClick(View v) {
                                // TODO Auto-generated method stub
                                switch (v.getId()){                           
                                case R.id.loginButton:
                                                int i=0;
                                                boolean success=false;
                                                 
                                                while ((i<dataUser.length) && (!success)){
                                                                if
((userNameET.getText().toString().equals(dataUser[i][0])) && 
                                                                 
                (passwordET.getText().toString().equals(dataUser[i][1]))){                                                                             success=true;
                                                                } else {
                                                                                i++;
                                                                }
                                                }
                                                 
                                                Intent intent;
                                                if (success){
                                                                intent = new Intent(this, MenuActivity.class);                                                       intent.putExtra("namaUser", dataUser[i][2]);
                                                                startActivityForResult(intent,SUCCESS);
                                                } else {
                                                                intent = new Intent(this, FailedActivity.class);
                                                                startActivity(intent);
                                                }
                                                startActivity(intent);
                                                break;                 
                                                case R.id.tutupButton:
                                                System.exit(0);
                                }
                }
                 
                @Override
                public void onActivityResult(int requestCode, int resultCode, Intent data){
                                switch (requestCode) {                 
                                case SUCCESS:
                                                userNameET.setText("");                                             
                                                passwordET.setText("");
                                                break;                  }
                }


}

10. masukan lagi sorce code untuk kamusnya pada MenuActivity.java


package com.lutfi.appkamusb.inggris_indonesia;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;

public class MenuActivity extends Activity {

 private SQLiteDatabase db = null;
 private Cursor kamusCursor = null;
 private EditText txtInggris;
 private EditText txtIndonesia;
 private DataKamus datakamus = null;
 public static final String INGGRIS = "inggris";
 public static final String INDONESIA = "indonesia";
 RadioButton radioButton1;
 RadioButton radioButton2;

  /** Called when the activity is first created. */
    @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  datakamus = new DataKamus(this);
  db = datakamus.getWritableDatabase();
  datakamus.createTable(db);
  datakamus.generateData(db);

  setContentView(R.layout.activity_menu);
  txtInggris = (EditText) findViewById(R.id.txtInggris);
  txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);
  radioButton1 = (RadioButton)findViewById(R.id.radioButton1);
  radioButton2 = (RadioButton)findViewById(R.id.radioButton2);

 }
    public void onClick(View v){
                if(radioButton1.isChecked()){
                                btnTerjemahInputToHasil();
                }
                if(radioButton2.isChecked()){
                                btnTerjemahHasilToInput();
                }
    }

 private void btnTerjemahHasilToInput() {
                 double val = Double.parseDouble(txtInggris.getText().toString());
                 txtIndonesia.setText(Double.toString(val));
                                // TODO Auto-generated method stub
                               
                }
private void btnTerjemahInputToHasil() {
                double val = Double.parseDouble(txtIndonesia.getText().toString());
                 txtInggris.setText(Double.toString(val));
                                // TODO Auto-generated method stub
                               
                }
public void getTerjemahan(View view) {
  String result = "";
  String englishword = txtInggris.getText().toString();
  kamusCursor = db.rawQuery("SELECT ID, INGGRIS, INDONESIA "
    + "FROM kamus where INGGRIS='" + englishword
    + "' ORDER BY INGGRIS", null);

  if (kamusCursor.moveToFirst()) {
   result = kamusCursor.getString(2);
   for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
    result = kamusCursor.getString(2);
    }
  }
  String indonesiaword = txtIndonesia.getText().toString();
  kamusCursor = db.rawQuery("SELECT ID, INDONESIA, INGGRIS "
    + "FROM kamus where INDONESIA='" + englishword
    + "' ORDER BY INDONESIA", null);

  if (kamusCursor.moveToFirst()) {
   result = kamusCursor.getString(2);
   for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
    result = kamusCursor.getString(2);
    }
  }
  if (result.equals("")) {
   result = "Terjemahan Not Found";
  }
  txtIndonesia.setText(result);

 }

 @Override
 public void onDestroy() {
  super.onDestroy();
  kamusCursor.close();
  db.close();
 }
 public void onClick1(View v) {
                                // TODO Auto-generated method stub
                                switch (v.getId()){                           
                                case R.id.kembaliButton:
                                                finish();
                                }
}


}


11. terakhir masukan sorce code nya jika login gagal pada FailedActivity.java


package com.lutfi.appkamusb.inggris_indonesia;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;

public class FailedActivity extends Activity implements OnClickListener{

    @Override
    public void onCreate(Bundle savedInstanceState) {        
                super.onCreate(savedInstanceState);        
                setContentView(R.layout.activity_failed);
        
        findViewById(R.id.kembaliButton).setOnClickListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {        
                getMenuInflater().inflate(R.menu.failed, menu);        
                return true;
    } 
                public void onClick(View v) {
                                // TODO Auto-generated method stub
                                switch (v.getId()){                           
                                case R.id.kembaliButton:
                                                finish();
                                }
                }

}


12. Setelah selesai semua kemudian di Run, Hasil run nya seperti di bawah ini





NOTE : Untuk Login Username : user1
                                    Password : password1


Demikian tutorial membuat aplikasi sederhana Kamus Berbasis Android, jika ada yang salah atau kekurangan mohon di maafkan, karna saya masih dalam tahap belajar.

Terima Kasih 

No comments:

Post a Comment

Post Top Ad

Your Ad Spot