Minggu, 13 Januari 2013

Tugas Pemograman Bergerak


TUGAS PEMOGRAMAN BERGERAK

Nama  : Chairani
NPM   : 10215410573

APLIKASI PENGENALAN DIRI BERBASIS ANDROID

          Pada tugas matakuliah pemograman bergerak kali ini, saya akan menjelaskan aplikasi yang telah saya buat yaitu aplikasi pengenalan diri. Dari yang telah diajarkan di matakuliah ini, saya mencoba untuk mengimplementasikannya ke aplikasi sederhana yang saya buat ini. Aplikasi ini menampilkan informasi data diri dan rencana masa depan saya. Pembuatan aplikasi ini menggunakan IDE Eclipse Helios, Android SDK (Software Development Kit).
          Perangkat lunak yang digunakan untuk membuat aplikasi pengenalan diri ini adalah Eclipse sebagai salah satu IDE untuk membangun program Java dengan ADT plugin (Android Development Tool) dan Android SDK(Software Development Kit) serta Google API (Application Programming Interface) dan juga XML. Pada pembuatan aplikasi Android terdapat penginstalan emulator android yang digunakan untuk menguji coba program yang kita buat.
Di dalam aplikasi ini, terdapat menu – menu seperti Menu Utama, Menu Profil Saya, Menu Rencana Masa Depan, Menu Tentang dan Menu Keluar Aplikasi ini.
1.    Menu Utama berisikan daftar sub menu.
2.    Menu profil saya berisikan biodata dari saya.
3.    Menu rencana masa depan berisikan rancangan impian saya yang ditargetkan agar dapat mudah cepat terlaksana.
4.    Menu tentang berisikan informasi mengenai aplikasi ini.
5.    Menu keluar tentunya jika pengguna sudah "berjalan - jalan" di setiap menu pilihan, dapat keluar melalui aplikasi ini.

1.  Screen shoot
          Dibawah ini adalah screen shoot aplikasi pengenalan diri yang dijalankan di emulator. Karena aplikasi ini dibangun dengan SDK versi 2.2 maka emulator (AVD) yang dijalankan menggunakan platform 2.2.


Gambar 1. Splash screen Aplikasi pengenalan diri



Gambar 2. Menu Utama



Gambar 3. Menu Profil Saya


Tampilan selengkapnya dari aplikasi ini setelah dijalankan akan dibahas pada bab selanjutnya.

2.   Langkah -langkah pembuatan aplikasi pengenalan diri
          Sebelum membuat projek Android harus ada persiapan codingnya terlebih dahulu. Jika sudah instalasi software maka dapat langsung memulai membuat projek baru tapi jika belum, lakukan instalasi software terlebih dulu. Urutan instalasi dianjurkan sesuai urutannya. Software yang perlu diinstal diantaranya :
        1. Instal Java
        2. Instal Eclipse
        3. Instal Android SDK
        4. Instal ADT di Eclipse

2.1 Langkah pembuatan projek baru
Setelah instalasi software, kita sudah dapat memulai membuat  projek baru.
  •       Langkah pertama yang perlu kita lakukan yaitu buka Eclipse > File > New > Project > Android > Android Application Project > pilih Next.





Gambar 4. Jendela New Project
  •     Langkah kedua, setelah memilih Project Android maka akan muncul tampilan seperti berikut :



Gambar 5. Jendela Parameter Projek Android

Kemudian isilah isian untuk membuat projek baru dengan ketentuan berikut ini :
Application name           : APLIKASI PENGENALAN DIRI
Project name                 : Bio
Package name               : com.rani.bio
Buid SDK                        : Android 2.2 (API8)
Minimum Required SDK : API8
Activity                           : BioActivity



  • Langkah ketiga set configure launcher icon, icon dapat diganti dengan image ataupun teks seperti gambar berikut :

Gambar 6. Jendela Configure Launcher icon
  • Langkah keempat, setelah meng-klik next pada jendela Configure Launcher Icon kemudian membuat activity dengan memilih BlankActivity > Next seperti berikut :


Gambar 7. Jendela Create Activity


  • Langkah selanjutnya isi kolom Activity name sesuai ketentuan yang telah disebutkan diatas da nisi kolom Layout name dengan nama activity_bio pada jendela New Blank Activity setelah itu finish seperti berikut :




Gambar 8. Jendela New Blank Activity

2.2 Penulisan kode aplikasi
Untuk melakukan penulisan program aplikasi dengan menggunakan folder pada Package Explorer yang telah tersedia setelah membuat projek baru.


Gambar 9. Folder pada Package Explorer


Pada package explorer telah terdapat folder Bio. Untuk memulai penulisan, buka folder Bio > src > com.rani.bio > BioActivity.java. Untuk membuat tampilan interface aplikasi, buka folder res > layout > activity_bio.xml.



                       Gambar 10. Folder penulisan untuk BioActivity.java



Gambar 11. Folder penulisan untuk activity_bio.xml



Langkah selanjutnya setelah menuliskan program aplikasi adalah menjalankan aplikasi dengan cara klik kanan pada folder Bio > pilih Run As > Android Application atau dengan cara singkat klik tombol run yang berbentuk segitiga kekanan pilih Run As>Android Application.

2.3 Menambahkan file.java dan file.xml
Dalam Aplikasi Pengenalan Diri terdapat 5 file.java diantaranya BioActivity.java, ListBio.java, Profil.java, Masadepan.java, About.java. Dan activity_bio.xml, menubio.xml, profil.xml, masadpn.xml, tentang.xml yang merupakan file.xml. Untuk menambahkan file.java dengan cara berikut :
1.    pilih folder src
2.    pilih package com.rani.bio
3.    klik kanan pada package
4.    pilih New
5.    pilih class
Isi nama Profil.java, kemudian isi Superclass dengan memilih Browse > android.app.Activity seperti jendela new java class berikut :


Gambar 12. Jendela New Java Class

   .    Ulangi semua langkah untuk membuat java berikutnya.
Untuk menambahkan file.xml lakukan langkah seperti berikut:
   .    Pilih folder res
2 .    Pilih folder layout
3 .    Klik kanan pada folder layout
4 .    Pilih New
5 .    Pilih Android XML File
6 .    Isi kolom file dengan nama profil.xml
7 .    Klik finish
8 .    Ulangi semua langkah untuk membuat file.xml berikutnya.

2.3 Membuat folder baru
Apabila di dalam aplikasi ingin menggunakan gambar untuk background ataupun button, animasi, font, semua disimpan didalam folder baru. Lakukan langkah seperti berikut untuk membuat folder drawable yang digunakan menyimpan gambar :
1 .    Pilih folder Bio pada package explorer
2 .    Pilih folder res
3 .    Klik kanan pada folder res
4 .    Pilih New
5 .    Pilih folder
6 .    Isi nama folder name dengan drawable
Untuk membuat folder anim yang digunakan untuk animasi langkahnya hampir serupa :
1 .    Ulangi langkah 1-5 saat membuat folder drawable
2 .    Isi nama folder name dengan anim
Untuk membuat folder font yang digunakan untuk mengubah font dengan langkah sebagai berikut:
1 .    Pilih folder asset
2 .    Klik kanan
3 .    Pilih New
4 .    Pilih Folder
5 .    Isi folder name dengan font

3. Pengkodean program aplikasi
Sebelum aplikasi ini dihasilkan atau dijalankan terdapat beberapa proses yang diperlukan. Di mulai dari pembentukan file.java, file.xml dan manifest.xml, karena ketiga bagian tersebut saling terkait. Dimulai dari pembuatan file.xml terlebih dahulu, dikarenkan file.xml inilah yang menginstruksikan ke file.java sehingga proses pembuatan file bejalan dengan mudah.

3.1   Pengkodean untuk splash screen
Splash screen adalah tampilan pembuka dari aplikasi. Didalam Aplikasi Pengenalan Diri, Splash berisikan judul dan juga copyright.

3.1.1 Pembuatan Background
Pada pembuatan background terdapat coding sebagai berikut:



<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabel"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/brownbackground" >


android:background="@drawable/brownbackground" penggalan kode program diatas adalah untuk mendefinisikan gambar background yang digunakan yaitu file gambar yang bernama brownbackground yang telah disimpan di folder drawable.

3.1.2 Pengkodean pada activity_bio.xml (Splash Screen)
Kode program pada activity.xml adalah untuk membuat interface pada splash screen Aplikasi Pengenalan Diri.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabel"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/brownbackground" >




    <TableRow>

        <TextView
            android:id="@+id/judul"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="130dp"
            android:layout_marginRight="-250dp"
            android:gravity="center"
            android:text="@string/awal"
            android:textColor="#930916"
            android:textSize="65dp"
            android:textStyle="bold"
            />

    </TableRow>
   
    <TableRow>

        <TextView
            android:id="@+id/judul1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/pd"
            android:textColor="#930916"
            android:textSize="65dp"
            android:layout_marginRight="-200dp"
            android:textStyle="bold"
             />

    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/isi"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="180dp"
            android:layout_marginRight="-10dp"
            android:gravity="center"
            android:text="@string/cr"
            android:textColor="#930916"
            android:textSize="20dp"
            android:textStyle="bold"
             />

    </TableRow>

</TableLayout>
android:text="@string/cr"  pada penggalan kode program diatas mendefinisikan teks tidak dituliskan langsung tapi teks dituliskan dalam file string yang kemudian dipanggil dengan menggunakan “@string/nama id pada file string”.

3.1.3 Pengkodean pada BioActivity.java (Splash Screen)
Kode program pada BioActivity dibawah ini digunakan untuk menginstruksikan apa yang dibuat pada activity_bio.xml.
package com.rani.bio;

import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.LayoutAnimationController;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
codingan diatas mendefinisikan aktifitas apa saja yang digunakan dalam file java.

public class BioActivity extends Activity{
     
      @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bio);
codingan diatas mendefinisikan BioActivity adalah nama class dari file java ini dengan activity_bio sebagai layoutnya.
       
        TextView cs=(TextView)findViewById(R.id.judul);
        TextView cs1=(TextView)findViewById(R.id.judul1);
        TextView cs2=(TextView)findViewById(R.id.isi);
        Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            cs.setTypeface(face);
            cs1.setTypeface(face);
            cs2.setTypeface(face);
face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");  pada penggalan coding diatas untuk mengubah jenis huruf dengan mengambil huruf yang telah disimpan di folder asset >font>LittleLordFontleroyNF.ttf seperti view folder berikut ini:





Gambar 13. View folder font

cs, cs1, cs2 mendeklarasikan teks mana yang akan di ubah dengan memanggil id setiap teks yang telah didefinisikan di activity_bio.xml.
        startAnimating();
      }

      private void startAnimating() {
            // TODO Auto-generated method stub
            TextView judul = (TextView) findViewById(R.id.judul);
            Animation fade1 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            judul.startAnimation(fade1);
           
            TextView isi = (TextView) findViewById(R.id.isi);
            Animation fade2 = AnimationUtils.loadAnimation(this, R.anim.fadein2);
            isi.startAnimation(fade2);
           
            fade2.setAnimationListener(new AnimationListener() {
                 
                  public void onAnimationStart(Animation animation) {
                        // TODO Auto-generated method stub
                       
                  }
                 
                  public void onAnimationRepeat(Animation animation) {
                        // TODO Auto-generated method stub
                       
                  }
                 
                  public void onAnimationEnd(Animation animation) {
                        // TODO Auto-generated method stub
                        startActivity(new Intent(BioActivity.this, ListBio.class));
                        BioActivity.this.finish();
                  }
            });
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(BioActivity.this, ListBio.class)); pada penggalangan coding diatas mendefinisikan setelah animasi selesai kemudian beralih ke file java yaitu ListBio yang merujuk ke Menu Utama.

           
            Animation spinin = AnimationUtils.loadAnimation(this, R.anim.customanim);
            LayoutAnimationController controller = new LayoutAnimationController(spinin);
           
            TableLayout tabel = (TableLayout) findViewById(R.id.tabel);
            TableRow row = (TableRow) tabel.getChildAt(0);
            row.setLayoutAnimation(controller);

    }

}


Codingan lengkap file BioActivity.java
package com.rani.bio;

import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.LayoutAnimationController;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class BioActivity extends Activity{
     
      @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bio);
       
        TextView cs=(TextView)findViewById(R.id.judul);
        TextView cs1=(TextView)findViewById(R.id.judul1);
        TextView cs2=(TextView)findViewById(R.id.isi);
        Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            cs.setTypeface(face);
            cs1.setTypeface(face);
            cs2.setTypeface(face);
        startAnimating();
      }

      private void startAnimating() {
            // TODO Auto-generated method stub
            TextView judul = (TextView) findViewById(R.id.judul);
            Animation fade1 = AnimationUtils.loadAnimation(this, R.anim.fadein);
            judul.startAnimation(fade1);
           
            TextView isi = (TextView) findViewById(R.id.isi);
            Animation fade2 = AnimationUtils.loadAnimation(this, R.anim.fadein2);
            isi.startAnimation(fade2);
           
            fade2.setAnimationListener(new AnimationListener() {
                 
                  public void onAnimationStart(Animation animation) {
                        // TODO Auto-generated method stub
                       
                  }
                 
                  public void onAnimationRepeat(Animation animation) {
                        // TODO Auto-generated method stub
                       
                  }
                 
                  public void onAnimationEnd(Animation animation) {
                        // TODO Auto-generated method stub
                        startActivity(new Intent(BioActivity.this, ListBio.class));
                        BioActivity.this.finish();
                  }
            });
           
            Animation spinin = AnimationUtils.loadAnimation(this, R.anim.customanim);
            LayoutAnimationController controller = new LayoutAnimationController(spinin);
           
            TableLayout tabel = (TableLayout) findViewById(R.id.tabel);
            TableRow row = (TableRow) tabel.getChildAt(0);
            row.setLayoutAnimation(controller);

    }

}

3.2 Pengkodean untuk Menu Utama
Menu Utama yang berisikan daftar dari submenu dimana pengguna dapat masuk ke setiap submenu tersebut.

3.2.1 Pengkodean file menubio.xml (Menu Utama)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/floralbg"
    android:orientation="vertical" >

    <TextView
    android:id="@+id/tk"
    android:text="@string/tk1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textStyle="bold"
    android:layout_gravity="center"
    android:textSize="40dp"
    android:textColor="#9b0951"
    />

    <ImageButton
        android:id="@+id/gambar1"
        android:layout_width="124dp"
        android:layout_height="57dp"
        android:layout_marginTop="50dp"
        android:onClick="profile"
        android:src="@drawable/psbtn" />

    <ImageButton
        android:id="@+id/gambar2"
        android:layout_width="124dp"
        android:layout_height="57dp"
        android:layout_marginTop="14dp"
        android:onClick="masadpn"
        android:src="@drawable/msbtn" />

    <ImageButton
        android:id="@+id/gambar3"
        android:layout_width="124dp"
        android:layout_height="57dp"
        android:layout_marginTop="14dp"
        android:onClick="info"
        android:src="@drawable/about" />
   
     <ImageButton
        android:id="@+id/gambar4"
        android:layout_width="124dp"
        android:layout_height="57dp"
        android:layout_marginTop="14dp"
        android:onClick="keluar"
        android:src="@drawable/klbtn" />

  
   

</LinearLayout>

3.2.2 Pengkodean file ListBio.java (Menu Utama)
      protected ProgressDialog progressDialog;

pada penggalan coding diatas ProgressDialog dideklarasikan dengan nama progressDialog.

     
      ImageButton bn1, bn2, bn3, bn4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menubio);
   
        progressDialog = ProgressDialog.show(ListBio.this, "Mohon tunggu...", "System sedang proses");
        new Thread(){

penggalan coding diatas untuk menampilkan pesan “loading” yang didefinisikan oleh progressDialog.
           
                  public void run(){
            try{
                  sleep(2000);
            }
Penggalan coding diatas menunjukkan waktu untuk beralih ke menu lainnya setelah progress dialog itu selesai, waktu yang dituliskan bukan waktu nyata.
            catch (Exception e) {
            Log.e("tag",e.getMessage());
                        // TODO: handle exception
                  }
            //dismiss the`progres dialog
            progressDialog.dismiss();
                  }
       
        }.start();
       

       
        //
       bn1 = (ImageButton) findViewById(R.id.gambar1);
       bn2 = (ImageButton) findViewById(R.id.gambar2);
       bn3 = (ImageButton) findViewById(R.id.gambar3);
       bn4 = (ImageButton) findViewById(R.id.gambar4);
    
      
       bn1.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                  Intent it1=new Intent(getApplicationContext(),Profil.class);
                  startActivity(it1);
            }
         
       });

      
       bn2.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                  Intent it2=new Intent(getApplicationContext(),Masadepan.class);
                  startActivity(it2);
            }
         
       });
Penggalan coding diatas berfungsi untuk mengaktifkan tombol ketika tombol itu diklik maka akan terhubung ke menu. Pada aplikasi sederhana ini menggunakan ImageButton dimana tombol berupa gambar. Setiap ImageButton memiliki id yang berbeda untuk aktifasi, agar tidak force close nantinya.
      
Codingan lengkap ListBio.java berikut ini :

package com.rani.bio;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
import android.view.Menu;

public class ListBio extends Activity {
      protected ProgressDialog progressDialog;
     
      ImageButton bn1, bn2, bn3, bn4;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menubio);
   
        progressDialog = ProgressDialog.show(ListBio.this, "Mohon tunggu...", "System sedang proses");
        new Thread(){
           
                  public void run(){
            try{
                  sleep(2000);
            }
            catch (Exception e) {
            Log.e("tag",e.getMessage());
                        // TODO: handle exception
                  }
            //dismiss the`progres dialog
            progressDialog.dismiss();
                  }
       
        }.start();
        setContentView(R.layout.menubio);{
       
        TextView cs=(TextView)findViewById(R.id.tk);
        Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            cs.setTypeface(face);
           
    }
   
       
        //
       bn1 = (ImageButton) findViewById(R.id.gambar1);
       bn2 = (ImageButton) findViewById(R.id.gambar2);
       bn3 = (ImageButton) findViewById(R.id.gambar3);
       bn4 = (ImageButton) findViewById(R.id.gambar4);
    
      
       bn1.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                  Intent it1=new Intent(getApplicationContext(),Profil.class);
                  startActivity(it1);
            }
         
       });
      
       bn2.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                  Intent it2=new Intent(getApplicationContext(),Masadepan.class);
                  startActivity(it2);
            }
         
       });
      
       bn3.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                  // TODO Auto-generated method stub
                  Intent it3=new Intent(getApplicationContext(),About.class);
                  startActivity(it3);
            }
               
          });
     
       bn4.setOnClickListener(new OnClickListener(){
  
         public void onClick(View view) {
               
               //Membuat alert dialog untuk tombol keluar
                  AlertDialog alert;
                        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(ListBio.this);
                        alertBuilder.setMessage("Apakah Anda Benar-Benar ingin keluar?")
                                    .setCancelable(false)
                                    .setPositiveButton("Ya",
                                                new DialogInterface.OnClickListener() {
                                                      public void onClick(DialogInterface dialog,
                                                                  int id) {
                                                            ListBio.this.finish();
                                                      }
                                                })
                                    .setNegativeButton("Tidak",
                                                new DialogInterface.OnClickListener() {
                                                      public void onClick(DialogInterface dialog,
                                                                  int id) {
                                                            dialog.cancel();
                                                      }
                                                });
                        //Display alert dialog
                    alert = alertBuilder.create();
                    alert.show();
                       
                  }
                 
              
      
       }); 
        //
    }

  


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





3.2.3 Pengkodean file profil.xml (Menu Profil Saya)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="@drawable/floralbg">

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="1"
    android:shrinkColumns="1">
   
    <TextView
        android:id="@+id/tv"
        android:text="Profil Saya"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:textSize="40dp"
        android:textStyle="bold"
        android:textColor="#9b0951"
        />
   
    <ImageView
        android:layout_width="-100dp"
        android:layout_height="150dp"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:src="@drawable/itsme"/>
   
<TableRow >
    <TextView
    android:id="@+id/teks0"
    android:textColor="#9b0951"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Nama"
    android:textStyle="bold"
    android:layout_marginTop="30dp"
    android:textSize="25dp"/>
   
    <TextView
    android:id="@+id/teks1"
    android:textColor="#9b0951"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=": Chairani"
    android:textStyle="bold"
    android:layout_marginTop="30dp"
    android:textSize="25dp"/>
 </TableRow>

 <TableRow >
<TextView
    android:id="@+id/teks2"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="TTL"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>

<TextView
    android:id="@+id/teks3"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=": Bogor, 5 Juni 1991"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/teks4"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Jenis Kelamin"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
<TextView
    android:id="@+id/teks5"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=": Perempuan"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/teks6"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Golongan darah"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
<TextView
    android:id="@+id/teks7"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=": O"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/teks8"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Hobi"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
<TextView
    android:id="@+id/teks9"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=": Nonton film di bioskop"
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
</TableRow>


<TextView
    android:id="@+id/teks10"
    android:textColor="#9b0951"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Motto Hidup         : Jadi yang terbaik walau tak populer,
    cerdas walau tak cantik, beriman hanya saya dan Allah yang tahu "
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>


<TextView
    android:id="@+id/teks11"
    android:textColor="#9b0951"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Menuntun ilmu di Universitas Ibn Khaldun Bogor (UIKA) angkatan 2010.
Mengambil jurusan Teknik Informatika - RPL. Duduk di semester 5 dan tahun ini naik ke semester 6."
    android:textStyle="bold"
    android:layout_marginTop="10dp"
    android:textSize="25dp" />

<RelativeLayout>

    <ImageView
        android:id="@+id/img1"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="250dp"
        android:gravity="bottom"
        android:onClick="zeni"
        android:src="@drawable/sebelumnya" />

    <ImageView
        android:id="@+id/img2"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:gravity="bottom"
        android:onClick="zeni1"
        android:src="@drawable/beranda" />

    <ImageView
        android:id="@+id/img3"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:gravity="bottom"
        android:onClick="zeni2"
        android:src="@drawable/selanjutnya" />

</RelativeLayout>
</TableLayout>

</ScrollView>

3.2.4 Pengkodean file Profil.java (Menu Profil Saya)
package com.rani.bio;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class Profil extends Activity {

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.profil);
           
            TextView cs=(TextView)findViewById(R.id.tv);
            TextView cs1=(TextView)findViewById(R.id.teks0);
            TextView cs2=(TextView)findViewById(R.id.teks1);
            TextView cs3=(TextView)findViewById(R.id.teks2);
            TextView cs4=(TextView)findViewById(R.id.teks3);
            TextView cs5=(TextView)findViewById(R.id.teks4);
            TextView cs6=(TextView)findViewById(R.id.teks5);
            TextView cs7=(TextView)findViewById(R.id.teks6);
            TextView cs8=(TextView)findViewById(R.id.teks7);
            TextView cs9=(TextView)findViewById(R.id.teks8);
            TextView cs10=(TextView)findViewById(R.id.teks9);
            TextView cs11=(TextView)findViewById(R.id.teks10);
            TextView cs12=(TextView)findViewById(R.id.teks11);
           
            Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            cs.setTypeface(face);
            cs1.setTypeface(face);
            cs2.setTypeface(face);
            cs3.setTypeface(face);
            cs4.setTypeface(face);
            cs5.setTypeface(face);
            cs6.setTypeface(face);
            cs7.setTypeface(face);
            cs8.setTypeface(face);
            cs9.setTypeface(face);
            cs10.setTypeface(face);
            cs11.setTypeface(face);
            cs12.setTypeface(face);
           
           
       
    }
           
     
      public void zeni (View v){
            Intent intent = new Intent (this,ListBio.class);
            startActivity(intent);
      }
      public void zeni1 (View v){
            Intent intent1 = new Intent (this,ListBio.class);
            startActivity(intent1);
      }

public void zeni2 (View v){
      Intent intent2 = new Intent (this,Masadepan.class);
      startActivity(intent2);
}




3.2.5 Pengkodean file masadpn.xml (Menu Rencana Masa Depan)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/floralbg">
   
<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"
    android:shrinkColumns="1">

<TableRow >
<TextView
    android:id="@+id/ms1"
    android:text="Rencana Masa Depan"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textStyle="bold"
    android:layout_gravity="center"
    android:textSize="40dp"
    android:textColor="#9b0951"
    />
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms2"
    android:text="1. Lulus kuliah di semester 8 "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="30dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>


<TableRow >
<TextView
    android:id="@+id/ms3"
    android:text="2. Menjadi lulusan terbaik di angkatan 2010 "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms4"
    android:text="3. Menikah di umur 25 tahun "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms5"
    android:text="4. Bekerja dirumah sekaligus menjadi Ibu Rumah Tangga "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms6"
    android:text="5. Memilki 4 orang anak "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms7"
    android:text="6. Ingin anak keempat kembar perempuan "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms8"
    android:text="7. Menjadi wirausahawan setelah lulus kuliah S1 "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms9"
    android:text="8. Meneruskan kuliah S2 "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms10"
    android:text="9. Hafal surah Maryam dan surah Yusuf dalam 12 bulan "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms11"
    android:text="10. Hafal surah Yasin dalam 3 bulan "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms12"
    android:text="11. Belajar rajin bangun subuh dalam 2 minggu, dan semoga jadi kebiasaan seumur hidup. "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<TableRow >
<TextView
    android:id="@+id/ms13"
    android:text=" Semoga terealisasi, setidaknya untuk rencana no 1, 2 dan 3 yang menjadi prioritas. Amin.. "
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:textSize="25dp"
    android:textColor="#9b0951"/>
</TableRow>

<RelativeLayout>

    <ImageView
        android:id="@+id/img1"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="250dp"
        android:gravity="bottom"
        android:onClick="rani"
        android:src="@drawable/sebelumnya" />

    <ImageView
        android:id="@+id/img2"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:gravity="bottom"
        android:onClick="rani1"
        android:src="@drawable/beranda" />

    <ImageView
        android:id="@+id/img3"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:gravity="bottom"
        android:onClick="rani2"
        android:src="@drawable/selanjutnya" />

</RelativeLayout>
   
</TableLayout>
</ScrollView>


3.2.6 Pengkodean file Masadepan.java (Menu Rencana Masa Depan)
package com.rani.bio;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class Masadepan extends Activity {

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.masadpn);{
           
            TextView tv=(TextView)findViewById(R.id.ms1);
            TextView tv1=(TextView)findViewById(R.id.ms2);
            TextView tv2=(TextView)findViewById(R.id.ms3);
            TextView tv3=(TextView)findViewById(R.id.ms4);
            TextView tv4=(TextView)findViewById(R.id.ms5);
            TextView tv5=(TextView)findViewById(R.id.ms6);
            TextView tv6=(TextView)findViewById(R.id.ms7);
            TextView tv7=(TextView)findViewById(R.id.ms8);
            TextView tv8=(TextView)findViewById(R.id.ms9);
            TextView tv9=(TextView)findViewById(R.id.ms10);
            TextView tv10=(TextView)findViewById(R.id.ms11);
            TextView tv11=(TextView)findViewById(R.id.ms12);
            TextView tv12=(TextView)findViewById(R.id.ms13);
            Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            tv.setTypeface(face);
            tv1.setTypeface(face);
            tv2.setTypeface(face);
            tv3.setTypeface(face);
            tv4.setTypeface(face);
            tv5.setTypeface(face);
            tv6.setTypeface(face);
            tv7.setTypeface(face);
            tv8.setTypeface(face);
            tv9.setTypeface(face);
            tv10.setTypeface(face);
            tv11.setTypeface(face);
            tv12.setTypeface(face);
           
       
    }
      }    
     
      public void rani (View v){
            Intent intent = new Intent (this,Profil.class);
            startActivity(intent);
      }
      public void rani1 (View v){
            Intent intent1 = new Intent (this,ListBio.class);
            startActivity(intent1);
      }
      public void rani2 (View v){
            Intent intent2 = new Intent (this,About.class);
            startActivity(intent2);
      }
}





3.2.7 Pengkodean file tentang.xml (Menu Tentang)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="@drawable/floralbg">

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="1"
    android:shrinkColumns="1">
   
    <TextView
        android:id="@+id/ttg"
        android:text="@string/ab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:textSize="40dp"
        android:textStyle="bold"
        android:textColor="#9b0951"/>
   
     <TextView
        android:id="@+id/abt"
        android:text="@string/pd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="center"
        android:textSize="40dp"
        android:textStyle="bold"
        android:textColor="#9b0951"/>
   
<TableRow >
    <TextView
    android:id="@+id/tx1"
    android:textColor="#9b0951"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Aplikasi pengenalan diri ditujukan untuk tugas pemograman bergerak.
    Aplikasi sederhana ini memberikan informasi mengenai data diri dan rencana masa depan dari pembuat aplikasi ini."
    android:layout_marginTop="35dp"
    android:textSize="25dp"/>
 </TableRow>

<TableRow >
    <TextView
    android:id="@+id/tx2"
    android:textColor="#9b0951"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Chairani (10215410573)
Teknik Informatika - RPL"
    android:layout_marginTop="10dp"
    android:textSize="25dp"/>
 </TableRow>




<RelativeLayout>

    <ImageView
        android:id="@+id/img1"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="250dp"
        android:gravity="bottom"
        android:onClick="rani1"
        android:src="@drawable/sebelumnya" />

    <ImageView
        android:id="@+id/img2"
        android:layout_width="80dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:gravity="bottom"
        android:onClick="rani2"
        android:src="@drawable/beranda" />

   

</RelativeLayout>
</TableLayout>

</ScrollView>


3.2.8 Pengkodean file About.java (Menu Tentang)
package com.rani.bio;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;

import android.widget.TextView;

public class About extends Activity{
     
      @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tentang);
       
        TextView cs=(TextView)findViewById(R.id.ttg);
        TextView cs1=(TextView)findViewById(R.id.abt);
        TextView cs2=(TextView)findViewById(R.id.tx1);
        TextView cs3=(TextView)findViewById(R.id.tx2);
        Typeface face=Typeface.createFromAsset(getAssets(),"fonts/LittleLordFontleroyNF.ttf");
           
            cs.setTypeface(face);
            cs1.setTypeface(face);
            cs2.setTypeface(face);
            cs3.setTypeface(face);
      
}
     
      public void rani1 (View v){
            Intent intent2 = new Intent (this,Masadepan.class);
            startActivity(intent2);
      }
      public void rani2 (View v){
            Intent intent1 = new Intent (this,ListBio.class);
            startActivity(intent1);
      }
}



3.2.9   Kode program file string.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<resources>
    <string name="app_name">PROFIL SAYA</string>
    <string name="hello_world">TENTANG</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_bio">APLIKASI PENGENALAN DIRI</string>
    <string name="tkk">MENU UTAMA</string>
    <string name="ms">MASA DEPAN</string>
    <string name="cr">Chairani
@Copyright2013</string>
    <string name="awal">Aplikasi</string>
    <string name="pd">Pengenalan Diri</string>
    <string name="ab">Tentang</string>
    <string name="isi2">Aplikasi ini dibuat untuk </string>
    <string name="tk1">Menu Utama</string>
</resources>
      
      3.2.10 Kode program file Manifest.xml
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.rani.bio"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".BioActivity"
            android:label="@string/title_activity_bio" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <activity android:name=".About"
            android:label="@string/hello_world"></activity>
       
        <activity android:name=".ListBio"
            android:label="@string/tkk"></activity>
       
        <activity android:name=".Masadepan"
            android:label="@string/ms"></activity>
       
        <activity android:name=".Profil"
            android:label="@string/app_name"></activity>
       
       
       
    </application>

</manifest> 

          4.   Menjalankan aplikasi di emulator
    Setelah kode program selesai dibuat. Aplikasi Pengenalan Diri dapat dijalankan di emulator untuk melihat hasil eksekusi. Lakukan langkah seperti dibawah ini :
1.    Klik icon Android Virtual Device Manager (AVD)
2. Setelah itu, muncul jendela AVD manager. Jika AVD yang diinginkan belum tersedia, kita harus membuatnya. Untuk membuat AVD dapat dilakukan dengan meng-klik New maka akan muncul jendela Create New AVD seperti berikut :



Gambar 14. Jendela Android Virtual Device Manager






Gambar 15. Jendela Create new AVD

Keterangan gambar 14 :
Name  : Froyo
Target : Android 2.2

3.    Setelah AVD dibuat klik AVD Android versi yang kita inginkan. Karena Aplikasi Pengenalan Diri dibangun pada platform Android 2.2 jadi pilih yang versi 2.2.



Gambar 16. Jendela AVD Manager




4.    Klik start.
5.  Klik Launch.





Gambar 17. Jendela Launch Options

6.    Setelah klik Launch maka muncul simulator AVD/emulator Android 2.2 yang kita pilih.





Gambar 18. Tampilan Android Emulator 2.2

7. Setelah itu muncul menu home, kemudian pilih aplikasi yang telah kita buat.


Gambar 19. Tampilan Menu Home

8. Masuk ke Aplikasi Pengenalan Diri




Gambar 20. Tampilan Splash screen

9. Tampilan Pesan ProgressDialog




Gambar 21. Tampilan Progress Dialog


10. Masuk ke Menu Utama dari Aplikasi Pengenlan Diri





Gambar 22. Tampilan Menu Utama


11. Jika memilih Menu Profil Saya 



Gambar 23. Tampilan Menu Profil Saya

      Scroll menu ke bawah, maka akan terlihat tombol sebelumnya, beranda, selanjutnya.


Gambar 24. Tampilan Scroll Profil Saya


12. Jika klik tombol selanjutnya maka akan masuk ke Menu Rencana Masa Depan





Gambar 25. Tampilan Menu Rencana Masa Depan

         Scroll menu ke bawah, maka akan terlihat tombol sebelumnya, beranda, selanjutnya.


Gambar 26. Tampilan Scroll Menu Rencana Masa Depan

13. Jika klik tombol selanjutnya maka akan masuk ke Menu Rencana Masa Depan


Gambar 27. Tampilan Menu Tentang

Scroll menu ke bawah, maka akan terlihat tombol sebelumnya, beranda, selanjutnya.



Gambar 28. Tampilan Scroll Menu Tentang

14. Pilih tombol beranda dan masuk ke Menu Utama kemudian klik Menu Keluar untuk keluar Aplikasi Pengenalan Diri.





Gambar 29. Tampilan Menu Keluar



Semoga bermanfaat :)

Buat yang ingin download APK-nya. Silahkan download disini.
Aplikasi pengenalan diri


Tags : Aplikasi Perkenalan Diri, background, font, anim, profil saya