document1
TRANSCRIPT
-
5/22/2018 1
1/12
1. Langkah Pembuatan Aplikasi
Dalam pembuatan aplikasi ini penulis menggunakan Eclipse Galileo dan
menggunakan bahasa pemrograman Java untuk menangani perancangan dan
membuat aplikasi untuk sistem operasiAndroid. Untuk langkah pertama dalam
membuat aplikasi adalah membuat file project baru dengan Aplikasi Kehamilan, pada
Eclipse dengan memilih file, new, pilih Projectdan pilihAndroid Project, lalu masuk ke
pengaturan project, masukkan nama project, tentukan lokasi workspaceyang akan
digunakan, workspacemerupakan direktori untuk menyimpan file project yang akan
dibuat menggunakan Eclipse, tentukan Build Target, yaitu pengaturanplatformpada
sistem operasi android , pilih versi 2.3. lalu aturpropertiesproject, isi nama aplikasi yang
nantinya akan keluar pada deviceyang digunakan , isi nama package minimal dua
direktori, setiap nama direktori dipisahkan dengan tanda titik (.) , dan membuat
nama activityyang akan muncul pada source programnya. Terakhir, menentukan
Minimal versi SDK, untuk platform 2.1 minimalnya adalah tujuh (7). Setelah project
terbuat, tahap selanjutnya adalah membuat kelas-kelasjavadanxml yang akan
digunakan, serta menuliskan source codeaplikasinya.
Implementasi koding dibutuhkan untuk membuat aplikasi ini agar aplikasi dapat
berjalan dengan baik. Pengimplementasian koding juga dapat berguna untuk membuat
tampilan menjadi lebih menarik untuk dilihat.
Tampilan Halaman Awal
Gambar 1 Tampilan Halaman Tampilan Awal
-
5/22/2018 1
2/12
Ketika tampilan ini muncul dilayar akan keluar suara. Berikut ini adalah
implementasi dari tampilan halaman Tampilan Awal, dimana halaman Loading ini adalah
tampilan sebelum memasuki aplikasi.
android:background=@drawable/loading
Statement diatas digunakan pada tampilanawal.xml untuk menjadikan gambar
loading.png yang ada pada folder drawable untuk dijadikan background. Selanjutnya
adalah koding yang digunakan untuk menampilkanprogress bar:
Statement diatas merupakan statemen ProgressBar yang digunakan di bagian
tampilanawal.xml untuk menampilkan progress bar. dimana ProgressBar diberi nama id
progg dengan lebar 200 dp dan tingginya 10. gravity berfungsi untuk mengatur letak dari
isi teks. Pada xml ini penempatan gravitasi diatur di tengah secara horizontal. Ini
berguna untuk mengatur letak teks , dan dengan marginsebesar 250 dp.
private MediaPlayer player;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
5/22/2018 1
3/12
setContentView(R.layout.tampilanawal);
this.player = MediaPlayer.create(this, R.raw.tampilanawal);
this.player.setLooping(false);
this.player.start();
Statement this.player = MediaPlayer.create(this, R.raw.tampilanawal);digunakan
untuk memberikan suara pada saat tampilan awal muncul. Pada statement di atas suara
di ambil dari folder raw yang bernama tampilanawal.thi s.player.start();digunakan untuk
memulai suara.
Tampilan Halaman Menu Utama
Gambar 2 Tampilan Halaman Menu Utama
Tampilan pada halaman utama ini disusun pada tampilanutama.xml dan
dipanggil pada TampilanUtama.java. Pada halaman ini terdapat 4 menu yang dapat
dipilh oleh useryaitu menu prediksi kelahiran, menu info janin, menu profile, menu
keluar. User dapat memilih menu dengan cara menekan button yang diinginkan. Saat
button di klik oleh user akan mengeluarkan suara dan menghubungkan ke activy
yanguser pilih, sesuai dengan koding casedibawah ini :
@Override
-
5/22/2018 1
4/12
publ ic void on Click(View v) {
sw itc h (v.getId()) {
case R.id.btnp rediksi :
Intent prediksi = new Intent(this, PrediksiK elahiran.class);
thi s.player = MediaPlayer.create(this , R.raw.butto n);
this.player.setLooping(false);
this.player.start();
startActivity(prediksi);
break;
case R.id.btninfo :
Intent info = n ew Intent(this, InfoJanin.class)
this.player = MediaPlayer.create(this, R.raw.button );
this.player.setLooping(false);
this.player.start();
startActivity(info);
break;
case R.id.btnpr of i le:
Intent keterangan = n ew Intent(this, Profi le.class);
this.player = MediaPlayer.create(this, R.raw.button );
this.player.setLooping(false);
-
5/22/2018 1
5/12
this.player.start();
startActivity(keterangan);
break;
case R.id.btnkeluar:
this.player = MediaPlayer.create(this, R.raw.button );
this.player.setLooping(false);
this.player.start();
AlertDialog.Build er alertKeluar = new AlertDialog.Builder(
TampilanUtama.this);
alertKeluar
.setMessage(Anda yakin ingin keluar dari aplikasi ini?)
.setCancelable(false)
.setPositiveButton(Ya, new AlertDialog.OnClickListener() {
pub lic vo id onClick(Dialog Interface arg0, int arg1) {
f inish();}})
.setNegativeButton(Tidak,
new Al ertDialog.OnClickL istener() {
pub lic void onClick (DialogInterface dialog,
in t which) {
-
5/22/2018 1
6/12
dialog.cancel();
}});
AlertDialog a = alertKelu ar.create();
a.show();
break;}}}
Pada koding diatas merupakan statement pilihan di mana caseberfungsi
sebagai pilihan antara halaman dengan halaman lainnya.
Statement R.id.btnprediksidigunakan untuk mengidentifikasi buttonbtnprediksi.
Sedangkan statement Intent prediksi = new Intent(this,
PrediksiKelahiran.class); adalah perintah yang digunakan untuk identifikasi sebuah
inten agar activity dapat dijalankan.startAct iv i ty(prediksi) ; digunakan untuk memulai
sebuah activity. Sedangkanbreak; digunakan untuk mengakhiri sebuah case.
Lalu dibawah ini adalah koding untuk tampilan menu utama :
-
5/22/2018 1
7/12
android:text=PREDIKSI KELAHIRAN
android:drawableLeft=@drawable/kalender>
Buttontersebut memiliki ukuran tinggi 80 dip (density in pixel) dan lebarnya 250
dip (density in pixel). Button ini diberi id btnprediksi.
Statementstyle=@style/Buttondigunakan untuk memberikan efek pada button yang
mengacu pada folder valuedengan nama style.xml. Button ini diberi nama PREDIKSI
KELAHIRAN. Agar tampilan lebih menarik maka diberikan gambar pada sisi sebelah kiri
button menggunkan statetment android:drawableLeft = @drawable/kalender
dengan nama image kalender yang terdapat pada folderdrawable-hdpi.
Tampilan Halaman Prediksi KelahiranTampilan pada halaman prediksi kelahiran ini disusun pada prediksikelahiran.xml
dan dipanggil pada PrediksiKelahiran.java. Pada halaman ini terdapat 2 EditText,
3 Buttondan 2 Text. Pada Tampilan ini user dapat mengetahui prediksi kelahiran
dengan cara memasukan tanggal HPHT (Hari Pertama Terakhir Haid) pada
kotak EditText1. Lalu ketika Usermenekan botton Prediksi Kelahiran maka output akan
keluar pada kotak EditText2. User dapat menggunakan botton Usia Kehamilan untuk
masuk ke activity Usia Kehamilan dan button kembali untuk kembali ke menu utama.
Gambar 3 Tampilan Halaman Prediksi Kelahiran
Berikut ini adalah koding yang digunakan pada PrediksiKelahiran.java :
@Override
-
5/22/2018 1
8/12
pro tected void o nCreate(Bund le savedInstanc eState)
{
sup er.onCreate(savedInstanceState);
setContentView(R.layout.prediksikelahiran);
txtHaid = (EditText) f indViewById(R.id.txtHaid);
txtPrediks i = (EditText) f indViewB yId(R.id.txtPrediksiKelahiran);
btnHitu ngUm ur = (Button ) f indViewB yId(R.id.btnPrediksiK elahiran);
f in al Calendar c = Calendar.getInstanc e();
mYear = c .get(Calendar.YEAR);
mMo nth = c.get(Calendar.MONTH);
mDay = c .get(Calend ar.DAY_OF_MONTH);
Koding di atas digunakan untuk memberikan nama variabel pada Button dan
EditText yang ada padaprediksikelahiran.xml. Statement mYear =
c.get(Calendar.YEAR);digunakan untuk menset mYearsebagai tahun.
priv ate DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialo g.OnDateSetLis tener(){
@Override
pub lic void onDateSet(DatePicker view, int year, int m onthOfYear, int dayOfMonth )
{
mYear = year;
mMonth = mon thOfYear;
-
5/22/2018 1
9/12
mDay = dayOfMonth;
String sd ate = LPad(mDay + , 0, 2) + + arrMonth[mMonth] + + mYear;
txtHaid.setText(sdate);
}};
Koding diatas digunakan untuk menampilkan datepickersaat txtHaiddisentuh.
Ketikadatepicker diset maka akan di akan diletakkan pada txtHaid. Pada kode diatas
kita juga menambahkan method LPadyang gunanya adalah apabila kita memilih
Tanggal 01, jika kita ingin tetap 01yang tampil di txtHaidmaka kita harus
menggunakan LPad. Kalau kita tidak menggunakan LPad maka yang tampil
ditxtHaidadalah 1.
tang gal_inp utan .add(Calendar.DATE, 7);
tang gal_inp utan .add(Calendar.MONTH, -3);
tang gal_inp utan .add(Calendar.YEAR, 1);
Koding diatas digunakan agar pada saat button btnHitungUmur di klik maka program
akan mulai perhitungan tanggal yaitu :
Hari predi ks i kelahir an = (Hari HPHT+7) Hari;
Bul an prediks i kelahiran = (Bulan HPHT-3) Bu lan;
Tahun Predik si K elahiran = (Tahun HPHT+1) Tahun;
Kemudian hasil dari perhitungan diletakkan pada txtPrediksi.
Menu Prediksi Kelahiran ini menggunakan prediksikelahiran.xml
sebagailayoutnya. Layoutnya menggunakan textview,edittext danbutton, berikut ini
implementasi kodingnya :
-
5/22/2018 1
10/12
android:text=Tanggal Terakhir Haid :
android:id=@+id/TextView01
android:textColor=#00ffff
android:layout_width=wrap_content
android:layout_height=wrap_content>
Koding TextViewdi atas digunakan untuk menampilkan text Tanggal Terakhir Haid
:yang diberi namaTextView01. Pada TextView01 diberikan color #00ffff yang berarti biru
muda. Sedangkan tinggi dan lebar layout menggunakan wrap_content agar view
dibiarkan mengatur sendiri ukurannya.
Koding EditTextdi atas digunakan untuk menampilkan text #KETUK DISINI# yang diberinamaTextHaid. Pada TextHaidlebar layout menggunkan fill_parent agar view dibiarkan
untuk mengisi area induknya sendiri. Sedangkan tinggi layout
menggunakanwrap_content agar view dibiarkan mengatur sendiri ukurannya.
Statementandroid:editable=falsedigunakan agar EditTexttidak dapat di edit.
Tampilan Halaman Usia KehamilanTampilan pada halaman usia kehamilan ini disusun pada usiakehamilan.xml dan
dipanggil pada UsiaKehamilan.java. Pada halaman ini terdapat 2 EditText, 3Buttondan
2 TextView. Pada Tampilan ini user dapat mengetahui prediksi usia kehamilan dengan
-
5/22/2018 1
11/12
cara memasukan tanggal prediksi kelahiran pada kotak EditText1. Lalu
ketika User menekan botton Hitung Umur Kandungan maka output akan keluar pada
kotak EditText2. User dapat menggunakan button kembali untuk kembali ke menu
sebelumnya (Prdiksi Kelahiran) dan button kembali ke menu sebelumnya untuk ke menu
utama.
Gambar 4 Tampilan Halaman Usia Kehamilan
Berikut ini adalah koding yang digunakan pada UsiaKehamilan.java :
Koding pada UsiaKehamilan.java :
tanggalpredik sikelahiran.set(mYear, mMonth, mDay);
int years = now .get(Calendar.YEAR)-
tanggalprediksikelahiran.get(Calendar.YEAR);
int months = 9+now .get(Calendar.MONTH)-
tanggalpredik sikelahiran.get(Calend ar.MONTH) ;
nt days = now .get(Calendar.DAY_OF_MONTH)-
tanggalpredik sikelahiran.get(Calend ar.DAY_OF_MONTH);
Statement di atas digunakan untuk melakukan perhitungan usia kehamilan
dengan cara :
USIA KEHAMILAN = (9 (((bu lan lahir bulan s ekarang )BULAN) + ((tahun lahir
tahu n sekarang)TAHUN)))(hari lahir -hari sekarang)HARI.
-
5/22/2018 1
12/12
if (days < 0){
months ;
days +=now.getActu alMaximum (Calendar.DAY_OF_MONTH);}
i f (mon ths < 0){
years;
months +=12;}
if (years < 0){