Monday, March 25, 2019

Aplikasi RT Online

Aplikasi RT Online

Pengurus Rukun Tetangga (RT) di lingkungan sebuah perumahan XYZ berkeinginan membuat aplikasi mobile berbasis android untuk mengelola data warga yang tinggal pada lingkungan RT tersebut.

Pada aplikasi tersebut diharapkan mencakup beberapa hal, yaitu:
  1. Terdapat halaman login untuk pengurus dan warga yang akan melakukan pendaftaran
  2. Terdapat halaman menu utama
  3. Terdapat halaman untuk mengisi informasi terkait data kepala keluarga, status tempat tinggal, dan anggota keluarga yang tinggal di dalamnya.
Berikut di bawah ini merupakan langkah-langkah yang dilakukan untuk membuat Aplikasi RT Online sesuai kebutuhan di atas.

1. Login Activity
Screenshot Login Form:



    Berikut di bawah ini merupakan xml script untuk login_activity:


<RelativeLayoutxmlns: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:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login Form"
android:textAppearance="?android:attr/textAppearanceLarge"/>

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

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

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

<EditText
android:id="@+id/etxtUsernane"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"/>
<requestFocus/>
</LinearLayout>

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

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

<EditText
android:id="@+id/etxtPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPassword">
</EditText>

</LinearLayout>

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

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

<Button
android:id="@+id/btnExit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Exit"/>

</LinearLayout>

</RelativeLayout>
    Berikut di bawah ini merupakan java script untuk login_activity:

packagecom.anggi.aplikasirtonline;

importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.View;
importandroid.widget.Button;

publicclassLoginActivityextends Activity {
      Button btnLogin;
      Button btnExit;
     
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
btnLogin = (Button) findViewById(R.id.btnLogin);
btnExit = (Button) findViewById(R.id.btnExit);

btnLogin.setOnClickListener(newView.OnClickListener() {
                 
                  publicvoidonClick(View v) {
                        // TODO Auto-generated method stub
                        Intent i = newIntent(LoginActivity.this, MenuActivity.class);
                        i.putExtra("Pesan", "Sukses Login");
                        startActivity(i);
                  }
            });

btnExit.setOnClickListener(newView.OnClickListener() {
                 
                  publicvoidonClick(View v) {
                        // TODO Auto-generated method stub
                        moveTaskToBack(true);
                        android.os.Process.killProcess(android.os.Process.myPid());
                        System.exit(0);  
                  }
            });
    }

@Override
publicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_login, menu);
returntrue;
    }
}

2. Menu Activity
Screenshot Menu Utama

    Berikut di bawah ini merupakan xml script untuk menu_activity:


<RelativeLayoutxmlns: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:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<Button
android:id="@+id/btnPendaftaranWarga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="PendaftaranWarga"/>

<Button
android:id="@+id/btnLihatWarga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Lihat Data Warga"/>

<Button
android:id="@+id/btnLogout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Logout"/>

</LinearLayout>

</RelativeLayout>
    Berikut di bawah ini merupakan java script untuk menu_activity:


packagecom.anggi.aplikasirtonline;

importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.view.View;
importandroid.widget.Button;
import android.support.v4.app.NavUtils;

publicclassMenuActivityextends Activity {
      Button btnPendaftaranWarga;
      Button btnLihatWarga;
      Button btnLogout;
     
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
//getActionBar().setDisplayHomeAsUpEnabled(true);

btnPendaftaranWarga = (Button) findViewById(R.id.btnPendaftaranWarga);
btnLihatWarga = (Button) findViewById(R.id.btnLihatWarga);
btnLogout = (Button) findViewById(R.id.btnLogout);

btnPendaftaranWarga.setOnClickListener(newView.OnClickListener() {
                 
                  publicvoidonClick(View v) {
                        // TODO Auto-generated method stub
                        Intent i = newIntent(MenuActivity.this, PendaftaranActivity.class);
                        i.putExtra("Pesan", "Form PendaftaranWarga");
                        startActivity(i);
                  }
            });

btnLogout.setOnClickListener(newView.OnClickListener() {
                 
                  publicvoidonClick(View v) {
                        // TODO Auto-generated method stub
                        moveTaskToBack(true);
                        android.os.Process.killProcess(android.os.Process.myPid());
                        System.exit(0);
                  }
            });
    }

@Override
publicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_menu, menu);
returntrue;
    }


@Override
publicbooleanonOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
caseandroid.R.id.home:
NavUtils.navigateUpFromSameTask(this);
returntrue;
        }
returnsuper.onOptionsItemSelected(item);
    }

}

3. Pendaftaran Activity
Screenshot Form Pendaftaran

    Berikut di bawah ini merupakan xml script untuk pendaftaran_activity:

<RelativeLayoutxmlns: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:scrollbarStyle="insideOverlay"
android:scrollbars="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:scrollbars="vertical">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data KepalaKeluarga"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"/>

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

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

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NIK :"/>

<EditText
android:id="@+id/etxtKKNIK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number"/>
<requestFocus/>
</LinearLayout>

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

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

<EditText
android:id="@+id/etxtKKNamaLengkap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10">
</EditText>

</LinearLayout>

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

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NamaPanggilan :"/>

<EditText
android:id="@+id/etxtKKNamaPanggilan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"/>
</LinearLayout>

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

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

<RadioButton
android:id="@+id/rbtnKKJKPria"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pria"/>

<RadioButton
android:id="@+id/rbtnKKJKWanita"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Wanita"/>

</LinearLayout>

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

<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kota Kelahiran :"/>

<EditText
android:id="@+id/etxtKKKotaKelahiran"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"/>

</LinearLayout>

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

<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TanggalLahir :"/>

<EditText
android:id="@+id/etxtKKTanggalLahir"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="date"/>

</LinearLayout>

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

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

<EditText
android:id="@+id/etxtKKEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textEmailAddress"/>

</LinearLayout>

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

<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pekerjaan :"/>

<EditText
android:id="@+id/etxtKKPekerjaan"
android:layout_width="245dp"
android:layout_height="wrap_content"
android:ems="10"/>

</LinearLayout>

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

<Button
android:id="@+id/btnKKSelanjutnya"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Selanjutnya"/>

</LinearLayout>

</RelativeLayout>
    Berikut di bawah ini merupakan java script untuk pendaftaran_activity:
 packagecom.anggi.aplikasirtonline;

importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
importandroid.view.MenuItem;
import android.support.v4.app.NavUtils;

public class PendaftaranActivity extends Activity {

    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pendaftaran);
getActionBar().setDisplayHomeAsUpEnabled(true);
    }

    @Override
publicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_pendaftaran, menu);
return true;
    }


    @Override
publicbooleanonOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
caseandroid.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
        }
returnsuper.onOptionsItemSelected(item);
    }

}

Demikian yang dapat saya sampaikan.
Penulis menyadari terdapat kekurangan pada penulisan ini, sehingga penulis membuka kesempatan bagi pembaca untuk dapat memberikan kritik dan saran yang membangun untuk penulisan yang lebih baik lagi di masa depan.

Semoga tulisan ini dapat bermanfaat.