Sabtu, 05 Mei 2012

Pembuatan Aplikasi Android 'Menghitung Masa Subur Wanita'

Aplikasi Menghitung Masa Subur Wanita ini merupakan suatu aplikasi sederhana yang digunakan untuk melakukan perhitungan kapan waktu masa subur seorang wanita dalam satu kali siklus menstruasi.
Aplikasi ini saya buat sebagai bahan Penulisan Ilmiah untuk mendapatkan gelar D3 yang sudah saya selesaikan pada tahun lalu.
Aplikasi ini didalamnya memiliki dua buah menu utama. Tampilan menu pertama berisikan rumus Siklus Haid Normal menggunakan sistem kalender dengan rumus yang sudah ada dan ditentukan sebelumnya sedangkan tampilan menu yang kedua adalah dengan menggunakan rumus Ogino Knouss untuk Siklus Haid Tidak Teratur. Untuk menu kedua ini memerlukan jangka waktu yang lumayan lama karena diperlukan data siklus minimal 6 bulan sampai satu tahun. Dicari siklus terpendek berapa hari dan siklus terpanjang berapa hari. Maksudnya adalah sang wanita/istri harus mengamati masa menstruasinya selama 6 bulan terakhir dan selama masa itu dia harus menghitung berapa hari jangka waktu terpendek menstruasi hingga jangka waktu terpanjang menstruasi, diambil menurut berbagai sumber bahwa siklus wanita normal berlangsung antara 28-30 hari ada pula ahli yang berpendapat antara 22-35 hari bahkan lebih.
Gambaran umum yang ada di dalam aplikasi ini dijelaskan melalui struktur navigasi yang berfungsi untuk menceritakan struktur atau alur cerita dari suatu program dan struktur navigasi tersebut dapat di lihat pada gambar di bawah ini.
___________









Berikut adalah tampilan yang dirancang untuk bagian menu aplikasi.
Rancangan Tampilan Halaman Utama
_


________







Gambar di atas merupakan rancangan menu awal untuk aplikasi Menghitung Masa Subur Wanita dimana pada tampilan menu utama ini terdapat empat images_button yang disediakan yaitu Siklus Haid Normal, Siklus Haid tidak Teratur, Info dan Keluar.

Rancangan Tampilan Halaman Siklus Haid Normal
___
_








Pada gambar di atas merupakan rancangan halaman siklus haid normal dimana pada layar ini berisi proses penginputan tanggal kemudian perhitungan dan hasil perhitungan. Pada halaman ini terdapat textview, edittext dan dua images_button.
Rancangan Tampilan Halaman Siklus Haid Tidak Teratur_____











Pada gambar di atas merupakan rancangan halaman siklus haid tidak teratur dimana pada layar ini berisi beberapa textview, edittext dan images_button. Untuk penginputan siklus terpendek dan terpanjang haid menggunakan edittext sedangkan untuk tombol melihat hasil dan tombol kembali ke halaman utama menggunakan images_button.

Rancangan Tampilan Halaman Info
___












Pada gambar di atas adalah rancangan halaman info yang berisi tentang keterangan – keterangan mulai dari cara penggunaan, fungsi dan tujuan dari aplikasi, serta identitas dari pembuat aplikasi ini. Untuk layar tentang dibuat dengan sederhana yaitu hanya dengan textview dan satu buah images_button yang berfungsi untuk kembali ke halaman menu utama.
Untuk pembuatan program marilah kita bahas sedikit di bawah ini
Pembuatan Kode Program
Pada tahapan ini akan dijelaskan tentang pembuatan kode program aplikasi Menghitung Masa Subur Wanita secara garis besar dengan menggunakan program Eclipse Galileo yang didalamnya sudah terinstal Android SDK dan ADT yang dimulai dari pengkodean menu utama, menu Siklus Haid Normal, dan tampilan Info.

Pembuatan Menu Utama
Pada pemrograman Android untuk pembuatan program dan tampilan dilakukan pada dua bagian yang berbeda. Untuk pembuatan tampilan layout dilakukan seluruhnya pada file XML. Pada bagian rancangan menu utama ini terbagi atas 2 bagian, yaitu tombol dan background. Untuk membuat tombol dipergunakan file menu.xml yang terdapat pada folder layout. Lalu kode yang digunakan adalah sebagai berikut :
android:id="@+id/button_men"
android:layout_width="60px"
android:layout_height="60px"
android:src="@drawable/cincin"
android:layout_x="41dip"
android:layout_y="122dip">


Pada penggalan kode di atas menandakan bahwa pada @+id akan membuat sebuah identifier dengan nama button_men.
Setelah melakukan pengkodean pada file xml, saatnya mendefinisikan view pada kelas menu untuk menggunakan layout yang ada pada file menu.xml. Penggalan kode programnya sebagai berikut.
setContentView(R.layout.menu);

Dari kode di atas bahwa kelas menu diatur layout-nya berdasarkan file menu.xml yang ada di dalam folder res/layout. Berikut output dari beberapa kode di atas
_


Tombol Siklus Haid Normal
Sedangkan untuk pengaturan penampilan, posisi dan background dari menu utama terdapat pada kode berikut :
android:layout_height="match_parent" android:layout_width="wrap_content" android:background="@drawable/android1">

Secara garis besar penggalan kode di atas akan mengambil gambar dari folder drawable dengan nama android1 lalu dipasang sebagai background.
Satu hal yang tidak boleh terlupakan adalah bahwa setiap aktifitas atau service yang dibuat harus didefinisikan di dalam file AndroidManifest.xml dan penggalan kode program tersebut adalah sebagai berikut :
android:label="@string/app_name">




Kode di atas mendefinisikan aktivitas dengan nama menu pada file yang bertujuan untuk mengenalkan kepada Android bahwa ada aktifitas menu. Hal ini dapat dilihat ketika pengguna mengklik button Siklus Haid Normal maka aplikasi Menghitung Masa Subur Wanita akan dapat mengenali aktifitas selanjutnya dan menjalankannya. Lalu gaya tema yang digunakan adalah fullscreen.



Pada penggalan kode di atas akan mendefinisikan aktifitas Siklus Haid Normal sehingga ketika pengguna menekan tombol Siklus Haid Normal, maka Android dapat mengenali aktivitas tersebut dan manjalankannya.

Pembuatan Tampilan Siklus Haid Normal
Pada bagian rancangan halaman Siklus Haid Normal aplikasi Menghitung Masa Subur Wanita ini membutuhkan file class java dan file xml. Untuk pembuatannya dipergunakan file kalkulasi.xml dan potongan listing xml-nya adalah sebagai berikut :


xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="match_parent"
android:background="@drawable/android1">
android:id="@+id/label1"
android:text="Masukan Tanggal Menstruasi"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="wrap_content>
android:id="@+id/edTanggal"
android:text=""
android:layout_width="50px"
android:layout_gravity="center_horizontal"
android:inputType="numberSigned|numberDecimal" android:layout_height="wrap_content">




Pada penggalan kode di atas dijelaskan tentang pembuatan tombol, text dan background yang ada di dalam tampilan Siklus Haid Normal dibuat menggunakan textview dan button.
Seperti yang sudah dijelaskan pada pembuatan program sebelumnya yaitu dengan pembuatan class java yang dilakukan dengan cara pengkodean pada class java. Pengkodean yang dilakukan adalah pada file men.java dan berikut adalah penggalan kode tersebut:
package com.mens;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Men extends Activity{
private EditText edTanggal;
private Button btnKalkulasi;
private Button btnKembali;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.kalkulasi);
edTanggal = (EditText) findViewById(R.id.edTanggal);
btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);
btnKembali = (Button) findViewById(R.id.btnKembali);
}
public void doKalkulasi(View view){
int Tanggal = Integer.parseInt(edTanggal.getText().toString());
String rt = "1";
String st = " 9";
int rutin = (int)(Tanggal + 10);
int rutin1 = (int)(Tanggal + 10 - 31);
int rutin2 = (int) (Tanggal + 18);
int rutin3 = (int) (Tanggal + 18 - 31);
{
if (rutin >= 32)
{
rt = " "+rutin1+"";
st = " "+rutin3+"";
}
if (rutin < 32)
{
rt = " "+rutin+"";
st = " "+rutin2+"";
}
}
Toast.makeText(this, "Masa subur anda adalah antara tanggal" + rt + " sampai tanggal" + st, Toast.LENGTH_LONG).show();
}
public void BackMainMenu(View view){
finish();
}
}

Setiap listing java ini akan berhubungan dengan layout xml yang sama dengan nama file class java dengan file xml-nya dan jika pengguna akan memilih button Kembali maka aktifitas di setiap tampilan ini akan di tutup dan balik ke Halaman awal dan jika mau keluar maka di tampilan awal ini tinggal di pilih button Keluar.

Pembuatan Activity Pada Android Manifest
Untuk dapat mengaktifkan class-class baru yang telah dibuat, buat aktifitinya pada AndroidManifest.xml. Urutkan activity berdasarkan urutan tampilan.
Implementasi
Setelah proses kompilasi berhasil dan melihat hasilnya pada emulator Android, saatnya mengimplementasikan aplikasi Menghitung Masa Subur Wanita pada ponsel Android.

Berikut adalah gambaran aplikasi yang telah jadi.
___