Rabu, 10 Juli 2019

Aplikasi kamus berbasis android dengan SQLite

Assalamu'alaikum kembali lagi di blog saya ,kali ini saya membuat program android untuk memenuhi Ujian Akhir Semester saya. Saya membuat aplikasi kamus terjemahan bahasa inggris ke bahasa jepang dengan menggunakan SQLite yang di simpan pada file java di dalamnya. Langsung saja kita ke codingannya.

Buatlah file java dan xml seperti di bawah ini :



Lalu buat kodingannya satu persatu seperti ini :

MainActivity.java

package com.example.dictionarytts;


import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class MainActivity extends Activity {
      
       Button ok;
       ImageButton start,list,about,exit;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
             
              start = (ImageButton) findViewById(R.id.imageButton1);
              list = (ImageButton) findViewById(R.id.imageButton2);
              about = (ImageButton) findViewById(R.id.imageButton3);
              exit = (ImageButton) findViewById(R.id.imageButton4);
             
              start.setOnClickListener(new View.OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                          
                           Intent intent = new Intent(v.getContext(),Dictionary.class);
                           startActivity(intent);
                          
                     }
              });
             
              list.setOnClickListener(new View.OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                           final Dialog dialog = new Dialog(MainActivity.this);
                           dialog.setContentView(R.layout.list);
                           dialog.setTitle("List Word");
                          
                          
                          
                           Button ok = (Button) dialog.findViewById(R.id.button1);
                           ok.setOnClickListener(new View.OnClickListener() {
                                 
                                  @Override
                                  public void onClick(View v) {
                                         // TODO Auto-generated method stub
                                         dialog.dismiss();
                                  }
                           });
                          
                           dialog.show();
                     }
              });
             
              about.setOnClickListener(new View.OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                           final Dialog dialog = new Dialog(MainActivity.this);
                           dialog.setContentView(R.layout.about);
                           dialog.setTitle("About");
                          
                           Button ok = (Button) dialog.findViewById(R.id.buttonOK);
                           ok.setOnClickListener(new View.OnClickListener() {
                                 
                                  @Override
                                  public void onClick(View v) {
                                         // TODO Auto-generated method stub
                                         dialog.dismiss();
                                  }
                           });
                           dialog.show();
                     }
              });
             
              exit.setOnClickListener(new View.OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                          
                           System.exit(0);
                          
                     }
              });
       }

       @Override
       public boolean onCreateOptionsMenu(Menu menu) {
              // Inflate the menu; this adds items to the action bar if it is present.
              getMenuInflater().inflate(R.menu.dictionarymenu);
              return true;
       }

       @Override
       public boolean onOptionsItemSelected(MenuItem item) {
              // Handle action bar item clicks here. The action bar will
              // automatically handle clicks on the Home/Up button, so long
              // as you specify a parent activity in AndroidManifest.xml.
              int id = item.getItemId();
              if (id == R.id.action_settings) {
                     return true;
              }
              return super.onOptionsItemSelected(item);
       }
}


Dictionary.java

package com.example.dictionarytts;

import java.util.Locale;

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.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
import android.speech.tts.TextToSpeech;

public class Dictionary extends Activity {
        
        private TextToSpeech tts ,tts2;
     private SQLiteDatabase db = null;
     private Cursor kamusCursor = null;
     private TextView romaji;
     private EditText txtJepang;
     private EditText txtInggris;
     private EditText txtKeterangan;
     private DataKamus datakamus = null;
     private ImageButton inggris ,jepang ,inggris2;
     public static final String JEPANG = "jepang";
     public static final String INGGRIS = "inggris";
     public static final String ROMAJI"romaji";
     public static final String KETERANGAN = "keterangan";

     /** 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_dictionary);
           txtJepang = (EditText) findViewById(R.id.txtJepang);
           txtInggris = (EditText) findViewById(R.id.txtInggris);
           txtKeterangan = (EditText) findViewById(R.id.txtKeterangan);
           inggris = (ImageButton) findViewById(R.id.imageButton1);
           jepang = (ImageButton) findViewById(R.id.imageButton2);
           romaji = (TextView) findViewById(R.id.txtRomaji);
           inggris2 = (ImageButton) findViewById(R.id.imageButton3);
          
           tts = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
                   
                    @Override
                    public void onInit(int status) {
                           // TODO Auto-generated method stub
                          
                           if(status != TextToSpeech.ERROR) {
                                  tts.setLanguage(Locale.ENGLISH);
                           }
                          
                    }
              });
          
           tts2 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
                   
                    @Override
                    public void onInit(int status) {
                           // TODO Auto-generated method stub
                          
                           if(status != TextToSpeech.ERROR) {
                                  tts2.setLanguage(Locale.JAPANESE);
                           }
                          
                    }
              });
          
           inggris.setOnClickListener(new View.OnClickListener() {
                    
                     @Override
                     public void onClick(View v) {
                           // TODO Auto-generated method stub
                          
                           String toSpeak1 = txtInggris.getText().toString();
                           Toast.makeText(getApplicationContext(), toSpeak1, Toast.LENGTH_SHORT).show();
                           tts.speak(toSpeak1, TextToSpeech.QUEUE_FLUSHnull);
                          
                     }
              });
          
           jepang.setOnClickListener(new View.OnClickListener() {
                   
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated method stub
                          
                           String toSpeak2 = txtJepang.getText().toString();
                           Toast.makeText(getApplicationContext(), toSpeak2, Toast.LENGTH_SHORT).show();
                           tts2.speak(toSpeak2, TextToSpeech.QUEUE_FLUSHnull);
                          
                    }
              });
          
           inggris2.setOnClickListener(new View.OnClickListener() {
                   
                    @Override
                    public void onClick(View v) {
                           // TODO Auto-generated method stub
                          
                           String toSpeak3 = txtKeterangan.getText().toString();
                           Toast.makeText(getApplicationContext(), toSpeak3, Toast.LENGTH_SHORT).show();
                           tts.speak(toSpeak3, TextToSpeech.QUEUE_FLUSHnull);
                          
                    }
              });
     }

     public void getTerjemahan(View view) {
           String result = "";
           String result2 = "";
           String result3"";
         
           String japaneseword = txtInggris.getText().toString();
           kamusCursor = db.rawQuery("SELECT ID, INGGRIS, JEPANG, ROMAJI, KETERANGAN "
                     + "FROM kamus where INGGRIS ='" + japaneseword
                     + "' ORDER BY INGGRIS"null);

           if (kamusCursor.moveToFirst()) {
                result = kamusCursor.getString(2);
                for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
                     result = kamusCursor.getString(2);
                }
           }

           if (kamusCursor.moveToFirst()) {
                result2 = kamusCursor.getString(3);
                for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
                     result2 = kamusCursor.getString(3);
                }
           }
          
           if (kamusCursor.moveToFirst()) {
               result3 = kamusCursor.getString(4);
               for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
                    result3 = kamusCursor.getString(4);
               }
          }

           if (result.equals("")) {
                result = "KATA TIDAK DITEMUKAN";
           }
           if (result2.equals("")) {
                result = "KATA TIDAK DITEMUKAN";
           }
           txtJepang.setText(result);
           romaji.setText(result2);
           txtKeterangan.setText(result3);

     }

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

DataKamus.java

package com.example.dictionarytts;

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 JEPANG = "jepang";
public static final String INGGRIS"inggris";
public static final String ROMAJI"romaji";
public static final String KETERANGAN = "keterangan";


//Constructor DataKamus untuk initiate database
public DataKamus(Context context) {
super(contextDATABASE_NAMEnull, 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, jepang TEXT, romaji TEXT ,keterangan TEXT);");
}

//method generateData untuk mengisikan data ke kamus.
public void generateData(SQLiteDatabase db){
ContentValues cv=new ContentValues();
cv.put(INGGRIS"air");
cv.put(JEPANG"空気");
cv.put(ROMAJI"Kuki");
cv.put(KETERANGAN"Air is mixture of gases that we breathe");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"beast");
cv.put(JEPANG"");
cv.put(ROMAJI"Kemono");
cv.put(KETERANGAN"Beast is a large or a dangerous animal");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"chocolate");
cv.put(JEPANG"チョコレート");
cv.put(ROMAJI"Chocoreto");
cv.put(KETERANGAN"Chocolate is hard brown sweet food made from cocoa beans");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"destroy");
cv.put(JEPANG"破壊する");
cv.put(ROMAJI"Hakai suru");
cv.put(KETERANGAN"Destroy means break or damage something so badly 'till it no longer exists ,works, etc");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"easy");
cv.put(JEPANG"簡単");
cv.put(ROMAJI"Kantan");
cv.put(KETERANGAN"Easy means free from anxiety ,pain or trouble");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"fast");
cv.put(JEPANG"速い");
cv.put(ROMAJI"Hayai");
cv.put(KETERANGAN"Fast means showing a time later than the true time");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"ghost");
cv.put(JEPANG"幽霊");
cv.put(ROMAJI"Yurei");
cv.put(KETERANGAN"Ghost is an apparition of a dead person which is believed to appear or become manifest to the living");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"heat");
cv.put(JEPANG"");
cv.put(ROMAJI"Netsu");
cv.put(KETERANGAN"Heat means the quality of being hot or high temperature");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"innocent");
cv.put(JEPANG"無実の");
cv.put(ROMAJI"Mujitsu no");
cv.put(KETERANGAN"Innocent means knowing nothing of evil");
db.insert("kamus"JEPANGcv);
cv.put(INGGRIS"joy");
cv.put(JEPANG"喜び");
cv.put(ROMAJI"Yorokobi");
cv.put(KETERANGAN"Joy means person or thing that causes you to feel very happy");
db.insert("kamus"JEPANGcv);
}

@Override
public void onUpgrade(SQLiteDatabase dbint oldVersionint newVersion) {
// TODO Auto-generated method stub
}

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

activity_main.xml

<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"
    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.dictionarytts.MainActivity" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtAir"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Dictionary"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/txtInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="English -> Japanese"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtChoco"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <TextView
            android:id="@+id/txtDestroy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

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

            <ImageButton
                android:id="@+id/imageButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_launcher" />

            <TextView
                android:id="@+id/txtEasy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Start"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

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

            <ImageButton
                android:id="@+id/imageButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/list" />

            <TextView
                android:id="@+id/txtFast"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="List Word"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

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

            <ImageButton
                android:id="@+id/imageButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/about" />

            <TextView
                android:id="@+id/txtGhost"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="About"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

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

            <ImageButton
                android:id="@+id/imageButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/exit" />

            <TextView
                android:id="@+id/txtHeat"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Exit"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

activity_dictionary.xml

<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"
    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.dictionarytts.Dictionary" >

    <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/txtDictionary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Dictionary"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="English" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/txtInggris"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="7.33"
            android:editable="true"
            android:ems="10" >

            <requestFocus />

        </EditText>

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_speak" />

    </LinearLayout>

    <Button
        android:id="@+id/btnTerjemah"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:onClick="getTerjemahan"
        android:text="Find" />

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

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

        <EditText
            android:id="@+id/txtJepang"
            android:layout_width="238dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:editable="false"
            android:ems="10" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_speak" />

    </LinearLayout>

    <TextView
        android:id="@+id/txtRomaji"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-" />

    <TextView
        android:id="@+id/txtInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Information :" />

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

        <EditText
            android:id="@+id/txtKeterangan"
            android:layout_width="266dp"
            android:layout_height="150dp"
            android:layout_weight="1"
            android:editable="false"
            android:ems="10" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_speak" />

    </LinearLayout>
</LinearLayout>

</RelativeLayout>

list.xml

<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"
    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.dictionarytts.list" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtAir"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Air"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtBeast"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Beast"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtChoco"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Chocolate"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtDestroy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Destroy"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtEasy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Easy"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtFast"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Fast"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtGhost"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ghost"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtHeat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Heat"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtInno"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Innocent"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtJoy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Joy"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OK" />

    </LinearLayout>

    </RelativeLayout>
about.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" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/txtAir"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="This application is some kind dictionary translator that used english and japanese languange. This application can also speak of the part that we want to hear."
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtInno"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <TextView
            android:id="@+id/txtFast"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <TextView
            android:id="@+id/txtGhost"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <TextView
            android:id="@+id/txtHeat"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-" />

        <TextView
            android:id="@+id/txtInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="This application made by : "
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/txtChoco"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Irfan Andessa (161011400035)"
            android:textAppearance="?android:attr/textAppearanceMedium" />
       
        <Button
            android:id="@+id/buttonOK"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OK" />
    </LinearLayout>

</RelativeLayout>


Hasil Run :








Sekian dari saya ,jika ada kekurangan atau kesalahan bisa tinggalkan pesan di kolom komentar. Terimakasih