• Tidak ada hasil yang ditemukan

APLIKASI SIKLUS KEWANITAAN BERBASIS ANDROID 2.1.

N/A
N/A
Protected

Academic year: 2017

Membagikan "APLIKASI SIKLUS KEWANITAAN BERBASIS ANDROID 2.1."

Copied!
91
0
0

Teks penuh

(1)

TUGAS AKHIR

Oleh :

RIA YUDANINGGAR NPM : 0534010251

J URUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR S U R A B A Y A

(2)

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Per syar atan Dalam Memper oleh Gelar Sar jana Komputer Pr ogram Studi Teknik Infor matika

Disusun Oleh :

RIA YUDANINGGAR NPM : 0534010251

J URUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR S U R A B A Y A

(3)

Penyusun : Ria Yudaninggar

Pembimbing I : Prof. Dr. Ir. H. Akhmad Fauzi, MMT. Pembimbing II : Ir. Kindriari Nurma W, MT.

ABSTRAK

Menstruasi atau haid atau datang bulan adalah perubahan fisiologis dalam tubuh wanita yang terjadi secara berkala dan dipengaruhi oleh hormon reproduksi. Periode ini penting dalam hal reproduksi. Pada manusia khususnya wanita, hal ini biasanya terjadi setiap bulan antara usia remaja sampai menopause. Pada wanita siklus menstruasi rata-rata terjadi sekitar 28 hari, walaupun hal ini berlaku umum, tetapi tidak semua wanita memiliki siklus menstruasi yang sama, kadang-kadang siklus terjadi setiap 21 hari hingga 30 hari. Biasanya, menstruasi rata-rata terjadi 5 hari, kadang-kadang menstruasi juga dapat terjadi sekitar 2 hari sampai 7 hari. Siklus menstruasi merupakan hal yang penting bagi kesehatan individu bahkan sampai keharmonisan rumah tangga. Saat seorang wanita mengalami perbedaan siklus menstruasi yang sangat berbeda dengan siklus normal wanita tersebut, bisa saja hal itu menjadi gejala suatu penyakit. Maka dari itu, penulis memiliki tujuan dihasilkannya sebuah aplikasi yang mampu melakukan perhitungan untuk perkiraan siklus menstruasi wanita yang berjalan di atas platform Google Android, karena dilakukan secara sistematis melalui Sistem Aplikasi Siklus Kewanitaan pada smartphone Android 2.1

Pembuatan aplikasi ini telah dilakukan beberapa langkah yaitu merancang system informasi dengan menyusun table-tabel database dan merancang konsep program serta desain sesuai dengan kebutuhan menggunakan sistem operasi Android. System Aplikasi Siklus Kewanitaan ini dapat menjadikan data yang semula dihitung secara tradisional, menjadi lebih praktis.

Dalam hasil uji coba system yang telah selesai dan berhasil dibuat, aplikasi diberikan halaman login untuk menjaga keamanan kegunaan, system ini telah diaplikasikan dan di implementasikan pada smartphone Android 2.1.

(4)

KATA PENGANTAR

Puji syukur kita panjatkan kehadirat Allah SWT, Tuhan Yang Maha Esa yang telah memberikan rahmat serta hidayah-Nya sehingga penyusunan laporan ini dapat diselesaikan.

Laporan ini disusun untuk Tugas Akhir saya, dengan judul “APLIKASI SIKLUS KEWANITAAN BERBASIS ANDROID 2.1”

Ucapan terima kasih saya sampaikan juga ke berbagai pihak yang turut membantu memperlancar penyelesaian Tugas Akhir ini, yaitu kepada:

1. Prof.Dr.Ir. Teguh Sudarto, MP Selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.

2. Bapak Ir. Sutiyono, MT Selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur

3. Ibu Dr.Ir. Ni Ketut Sari, MT Selaku Kepala Jurusan Teknik Informatika. FTI, UPN “Veteran” Jawa Timur.

4. Prof.Dr.Ir.H. Akhmad Fauzi, MMT dan Ir. Kindriari Nurma W, MT selaku pembimbing, yang telah sabar dan arif dalam membimbing dan memberikan nasehat kepada kami.

5. Firza Prima Aditiawan, S.Kom selaku PIA Jurusan Teknik Informatika yang telah membantu saya.

6. Kedua orang tua saya masing-masing, ibu yang banyak memberikan Doa, Kasih Sayang, Cinta, Kesabaran sejak kami dalam kandungan serta bimbingan, dan semangat sampai saya menjadi sekarang ini, terima kasih banyak untuk semuanya dan terima kasih karena selalu menjadi orang tua dan teman yang baik buat saya. Kepada Ayah yang selalu men-support saya agar selalu bersemangat dan meraih cita-cita.. terima kasih Ayah semangatmu akan membuahkan hasil untuk masa depan saya.

7. Buat kakak saya Yusi Anugerah SS, SE dan Ratri Siswardani Amdtex terima kasih atas semangat dan nasehatnya.

(5)

9. Buat Teman – teman team blusu’an yang memberikan semangat dan hiburan, terutama tom, ari, kiki, sum, juga catur. Ur all the best.

10. Tempat mencari inspirasi, pelepasan dan internet Askem, Cak Basio terima kasih.

Demikianlah laporan ini disusun semoga bermanfaat, sekian dan terima kasih.

Surabaya, 11 April 2012

(6)

ABSTRAK . ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

BAB I :

PENDAHULUAN

1.1

Latar Belakang ... 1

1.2

Perumusan Masalah ... 3

1.3.

Batasan Masalah ... 3

1.4

Tujuan ... 4

1.5

Manfaat ... 4

1.6

Metodelogi Penelitian ... 5

1.7

Sistematika Penulisan ... 6

BAB II :

TINJAUAN PUSTAKA

2.1

Menstruasi ... 8

2.1.1 Menstruasi Normal ... 8

(7)

2.3.1 Definisi Android ... 15

2.3.2 Strukture Android ... 16

2.3.3 Fitur Android ... 17

2.3.4 Versi Android ... 18

2.4

Unified Modelling Language (UML) ... 19

2.5

Flowchart ( Diagram Alur ) ... 20

2.6

Software Pendukung ... 21

2.6.1 Rasional Suite 2002 ... 21

2.6.2 Eclipse ... 22

2.6.3 Sqlite ... 25

BAB III :

ANALISIS DAN PERANCANGAN

3.1

Analisis dan Konsep Perancangan Program ... 28

3.2

Analisis Kebutuhan ... 28

3.2.1 Identifikasi Kebutuhan pendukung ... 29

3.2.2 Kebutuhan Data ... 29

3.3

Model Waterfall ... 30

3.4

Perancangan Aplikasi Dalam UML ... 35

(8)

BAB IV :

IMPLEMENTASI SISTEM

4.1

Lingkungan Implementasi ... 43

4.2

Implementasi Data ... 44

4.3

Implementasi Antar Muka ... 44

4.3.1 Halaman Login Aska ... 44

4.3.2 Halaman Daftar ... 46

4.3.3 Halaman Silus Aska ... 47

4.3.4 Halaman Update Tanggal Menstruasi ... 50

4.3.5 Menu Utama Aktifitas Aska ... 52

BAB V :

UJICOBA DAN EVALUASI

5.1

Lingkungan Uji Coba ... 63

5.2

Skenario Ujicoba ... 63

5.3

Pelaksanaan Uji Coba ... 64

5.3.1 Uji Coba Koneksi Konfigurasi ... 64

5.3.2 Uji Coba Aplikasi Aska ... 65

5.3.3 Uji Coba Proses Login ... 65

(9)

5.3.6.1 Proses Lapoan Pertama ... 73

5.3.6.2 Proses Lapora Kedua ... 75

5.3.7 Uji Coba Proses Keluar App ... 78

5.4

Laporan pada Smartphone Android ... 79

5.5

Evaluasi ... 80

BAB VI :

PENUTUP

6.1

Kesimpulan ... 81

6.2

Saran ... 81

(10)

1.1

Latar Belakang

Menstruasi atau haid atau datang bulan adalah perubahan fisiologis dalam

tubuh wanita yang terjadi secara berkala dan dipengaruhi oleh hormon reproduksi.

Periode ini penting dalam hal reproduksi. Pada manusia khususnya wanita, hal ini

biasanya terjadi setiap bulan antara usia remaja sampai menopause.

Pada wanita siklus menstruasi rata-rata terjadi sekitar 28 hari, walaupun hal

ini berlaku umum, tetapi tidak semua wanita memiliki siklus menstruasi yang sama,

kadang-kadang siklus terjadi setiap 21 hari hingga 30 hari. Biasanya, menstruasi

rata-rata terjadi 5 hari, kadang-kadang menstruasi juga dapat terjadi sekitar 2 hari sampai

7 hari.

Menstruasi merupakan hal yang pasti dialami oleh setiap wanita. Siklus

menstruasi merupakan hal yang penting bagi kesehatan individu bahkan sampai

keharmonisan rumah tangga. Saat seorang wanita mengalami perbedaan siklus

menstruasi yang sangat berbeda dengan siklus normal wanita tersebut, bisa saja hal

itu menjadi gejala suatu penyakit. Misalnya, dalam kondisi normal masa menstruasi

selama 3 hari tanpa sakit yang berlebihan. Pada saat tertentu wanita tersebut

(11)

sampai disitu. Disaat seorang wanita telah menikah dan berhubungan suami istri,

menjadi penting adanya untuk mengetahui kehamilan sejak dini. Keterlambatan

menstruasi dibandingkan dengan siklus normal wanita tersebut, mungkin diakibatkan

karena wanita tersebut sedang mengandung. Hal ini bisa membuat sebuah keluarga

khususnya seorang wanita lebih protektif menjaga kandungannya.

Manfaat lain dari menandai siklus menstruasi adalah untuk mengetahui masa

subur seorang wanita. Mengetahui masa subur bisa berfungsi ganda. Pada keluarga

yang dalam program anak, maka masa subur ini menjadi penting dan harus untuk

melakukan hubungan suami istri, sedangkan pada keluarga yang dalam program

Keluarga Berencana (KB), pada masa subur ini sebaiknya tidak melakukan hubungan

suami istri. Hal ini bisa dijadikan KB alternatif selain pil KB, spiral, dll.

Melihat pentingnya melakukan perhitungan terhadap siklus menstruasi ini,

sudah sepatutnya setiap wanita melakukan perhitungan tersebut. Permasalahannya

adalah tidak semua wanita menandai siklus menstruasinya. Alasannya

bermacam-macam, dan beberapa diantaranya dikarenakan seorang wanita karir yang tidak

mempunyai waktu untuk menuliskan pada buku agenda ataupun direpotkan dengan

penandaan kalender.

Seiring pesatnya perkembangan teknologi, termasuk juga perkembangan pada

teknologi

smartphone

Android. Android adalah sistem operasi untuk telepon seluler

yang berbasis Linux. Android menyediakan platform terbuka bagi para Android.

(12)

dapat membuat dan menciptakan aplikasi mereka sendiri untuk digunakan oleh

bermacam peranti bergerak.

Berdasarkan ulasan di atas dapat diusulkan sebuah solusi berupa aplikasi berbasis

Android yang mampumelakukan perhitungan untuk perkiraan siklus menstruasi wanita.

Harapan yang ada adalah sistem tersebut dapat diimplentasikan dan dapat

membantu masalah yang mungkin dapat terjadi karena siklus menstruasi wanita.

Aplikasi tersebut diharapkan dapat dimanfaatkan oleh masyarakat khususnya para

wanita pengguna

smartphone

Android.

1.2.

Perumusan Masalah

Sistem perhitungan siklus menstruasi wanita kebanyakan masih dilakukan

secara manual dan perhitungan secara praktis sangat dibutuhkan sekarang ini.

Berdasarkan masalah tersebut maka dapat dirumuskan suatu masalah yang

akan dibahas dalam Tugas Akhir ini adalah :

“Bagaimana mengimplementasikan sebuah sistem yang mampu melakukan

perhitungan untuk perkiraan siklus/periode menstruasi wanita menggunakan Sistem

Operasi Android”

1.3

Batasan Masalah

Batasan permasalahan dalam pelaksanaan Tugas Akhir ini adalah sebagai

berikut :

(13)

2)

Dapat digunakan oleh multi user.

3)

Masa menstruasi hanya 3 – 7 hari.

4)

Memanfaatkan sebanyak mungkin

library

Google Android yang tersedia.

1.3

Tujuan

Tujuan utama dari tugas akhir ini adalah dihasilkannya sebuah

aplikasi yang mampu melakukan perhitungan untuk perkiraan siklus menstruasi wanita yang berjalan

di atas platform Google Android.

1.5

Manfaat

Adapun manfaat dari penelitian pembuatan sistem ini yaitu :

1)

Memudahkan pengguna

smartphone

Android untuk mengetahui secara akurat

juga terperinci dalam penentuan siklus menstruasi wanita berikutnya.

2)

Membantu mempercepat perhitungan siklus menstruasi pengguna melalui

fungsi aplikasi siklus kewanitaan.

3)

Proses pengelolaan permasalahan siklus menstruasi lebih efektif dan efisien

karena dilakukan secara sistematis.

4)

Untuk mempermudah pengguna dalam menghitung mulai masa subur dan

(14)

1.6

Metodologi Penelitian

Metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan atau

menyelesaikan sesuatu. Adapun metodologi penelitian yang digunakan untuk

menyelesaikan berbagai permasalahan yang ditemukan adalah :

1)

Studi Kepustakaan

Merupakan jenis metode yang dilakukan dengan mengumpulkan data yang

ada hubungannya dengan topik permasalahan yang bersifat teoritis dengan

cara membaca buku-buku, makalah, bahan kuliah dan membaca bahan-bahan

sumber referensi lainnya.

2)

Studi Lapangan

Merupakan metode yang dilakukan secara langsung dengan cara survey ke

lapangan yang merupakan sumber untuk memperoleh data sesuai dengan

kebutuhan.

3)

Studi Literatur

Merupakan metode yang dilakukan dengan mengunjungi dan mempelajari

sistem operasi android atau situs-situs yang berhubungan dengan Tugas Akhir

dengan mengunjungi

website-website

yang menyediakan tutorial mengenai

bahasa pemrograman yang akan digunakan.

4)

Wawancara

Merupakan proses tanya jawab langsung kepada pengguna Smartphone

(15)

5)

Uji Coba dan Evaluasi Hasil

Pada tahap ini dilakukan uji coba dan analisis serta dilakukan

evaluasi

kelebihan dan kekurangan terhadap perangkat lunak yang telah di buat.

6)

Dokumentasi

Pada tahap terakhir ini disusun buku sebagai dokumentasi dari pelaksanaan

Tugas Akhir yang berisi konsep penunjang, perancangan perangkat lunak,

pembuatan perangkat lunak, dokumentasi dari uji coba dan pada bagian akhir

berisi tentang kesimpulan dan saran.

1.7

Sistematika Penulisan

Untuk mempermudah penulisan tugas akhir ini, dapat dibuat suatu sistematika

penulisan yang terdiri dari :

BAB I

PENDAHULUAN

Pada bab ini diuraikan secara ringkas pembahasan tentang latar

belakang, rumusan masalah, batasan masalah, tujuan dan manfaat,

metodologi penelitian skripsi, dan sistematika penulisan.

BAB II

TINJAUAN PUSTAKA

Bab ini berisikan tentang teoritis mengenai pengertian-pengertian

(16)

BAB III

ANALISA DAN PERANCANGAN

Pada bab ini, akan dibahas mengenai system yang akan di analisa

dan yang akan dirancang antara lain analisa permasalahan,

perancangan system, serta rancangan antarmuka system yang akan

dibuat.

BAB IV

IMPLEMENTASI SISTEM

Pada bab empat berisi hasil

implementasi

dari perancangan

program yang telah dibuat sebelumnya yang meliputi : kebutuhan

sistem, dan

implementasi

tampilan-tampilan antarmuka aplikasi.

BAB V

UJI COBA DAN EVALUASI

Pada bab kelima berisi penjelasan lingkungan uji coba aplikasi,

pelaksanaan uji coba dan evaluasi dari hasil uji coba yang telah

dilakukan untuk kelayakan pemakaian aplikasi

BAB VI

PENUTUP

Pada bab keenam berisi kesimpulan dan saran untuk

pengembangan aplikasi lebih lanjut dalam upaya memperbaiki

kelemahan pada aplikasi guna untuk mendapatkan hasil kinerja

(17)

2.1 Menstr uasi

2.1.1 Menstr uasi Normal

Menstruasi merupakan siklus yang kompleks dan berkaitan dengan psikologis-pancaindra, korteks serebri, aksis hipotalamus-hipofisis-ovarial, dan endrogen (uterus-endometrium dan alat seks sekunder).

Pola haid merupakan suatu siklus menstruasi normal, dengan menarche (haid pertama) sebagai titik awal. Pada umumnya menstruasi akan berlangsung setiap 28 hari selama lebih kurang 7 hari. Lama perdarahannya sekitar 3-5 hari, ada yang 1-2 hari diikuti darah yang sedikit-sedikit dan tidak terasa nyeri. Jumlah darah yang hilang sekitar 30-40 cc. Puncaknya hari ke-2 atau ke-3 dengan jumlah pemakaian pembalut sekitar 2-3 buah. (Manuaba, 2008).

Umumnya datangnya haid pertama kali sekitar umur 10 – 16 tahun (Jonesh, 2005). Panjang siklus haid ialah jarak antara tanggal mulainya haid yang lalu dan mulainya haid berikutnya. Hari mulainya perdarahan dinamakan hari pertama siklus.

(18)

2.1.2 Sik lus Menstr uasi

Ciri khas kedewasaan wanita ditandai dengan adanya perubahan-perubahan pada alat kandungan sebagai persiapan untuk suatu kehamilan. Peristiwa penting tersebut ditandai dengan datangnya haid yaitu pengeluaran darah tiap bulan dari rahim.

Pendarahan akibat runtuhnya dinding lapisan dalam rahim adalah puncak dari serangkaian peristiwa saling berkaitan, yang bertujuan mempersiapkan rahim menampung sel telur yang dibuahi. Bila kehamilan tidak terjadi, dinding yang sudah dipersiapkan itu mengelupas. Siklus baru yang sama dimulai lagi.

Pengendali utama dari semua peristiwa itu ialah hipotalamus. Bagian otak itu pun masih dapat dipengaruhi oleh emosi dan kekecewaan. Terbukti dari kenyataan, haid dapat dipengaruhi oleh pikiran yang kacau, atau perjalanan, dan pindah pekerjaan. Lamanya haid terhenti tidak selalu dapat dipastikan. Ada yang dua atau tiga bulan kemudian datang kembali, dan ada pula yang sampai setahun penuh, bahkan dapat pula lebih. Wanita yang mengalami hal ini, memerlukan pemeriksaan yang cermat terhadap kemungkinan menderita penyakit.

1) Gambaran Klinis Menstruasi

(19)

perdarahan menstruasi – fase luteal − relatif konstan dengan rata-rata 14 ± 2 hari pada kebanyakan wanita.

Lama keluarnya darah menstruasi juga bervariasi; pada umumnya lamanya 4 sampai 6 hari, tetapi antara 2 sampai 8 hari masih dapat dianggap normal. Pengeluaran darah menstruasi terdiri dari fragmen-fragmen kelupasan endrometrium yang bercampur dengan darah yang banyaknya tidak tentu.

Rata-rata banyaknya darah yang hilang pada wanita normal selama satu periode menstruasi telah ditentukan oleh beberapa kelompok peneliti, yaitu 25-60 ml. Konsentrasi Hb normal 14 gr per dl dan kandungan besi Hb 3,4 mg per g, volume darah ini mengandung 12-29 mg besi dan menggambarkan kehilangan darah yang sama dengan 0,4 sampai 1,0 mg besi untuk setiap hari siklus tersebut atau 150 sampai 400 mg per tahun (Bobak, 2004).

2) Aspek Hormonal Selama Siklus Menstruasi

Mamalia, khususnya manusia, siklus reproduksinya melibatkan berbagai organ, yaitu uterus, ovarium, vagina, dan mammae yang berlangsung dalam waktu tertentu atau adanya sinkronisasi, maka hal ini dimungkinkan adanya pengaturan koordinasi yang disebut hormon. Hormon adalah zat kimia yang dihasilkan oleh kelenjar endokrin, yang langsung dialirkan dalam peredaran darah dan mempengaruhi organ tertentu yang disebut organ target.

3) Fase-fase dalam Siklus Menstruasi

(20)

Fase-fase tersebut adalah :

a. Fase menstruasi atau deskuamasi

Fase ini endometrium terlepas dari dinding uterus dengan disertai pendarahan dan lapisan yang masih utuh hanya stratum basale. Fase ini berlangsung selama lima hari (rentang tiga sampai enam hari).

b. Fase pascamenstruasi atau fase regenerasi

Fase ini, terjadi penyembuhan luka akibat lepasnya endometrium. Kondisi ini mulai sejak fase menstruasi terjadi dan berlangsung selama ± 4 hari. c. Fase intermenstum atau fase proliferasi\

Fase ini merupakan periode pertumbuhan cepat yang berlangsung sejak sekitar hari kelima ovulasi, misalnya hari ke-10 siklus 24 hari, hari ke-15 siklus 28 hari, hari ke-18 siklus 32 hari. Sejak saat ini, terjadi penebalan 8-10 kali lipat, yang berakhir saat ovulasi.

d. Fase pramenstruasi atau fase sekresi

Fase ini berlangsung dari hari ke-14 sampai ke-28. Fase ini endometrium kira-kira tetap tebalnya, tetapi bentuk kelenjar berubah menjadi panjang berkelok-kelok dan mengeluarkan getah yang makin lama makin nyata. Bagian dalam sel endometrium terdapat glikogen dan kapur yang diperlukan sebagai bahan makanan untuk telur yang dibuahi.

2.1.2 Penyebab Ter ganggunya Siklus Haid

(21)

panjang atau pendeknya sebuah siklus haid, melainkan berdasarkan kelainan yang dijumpai menurut (Zuiatna, 2011) :

1) Fungsi hormon terganggu

Haid terkait erat dengan sistem hormon yang diatur di otak, tepatnya di kelenjar hipofisa. Sistem hormonal ini akan mengirim sinyal ke indung telur untuk memproduksi sel telur. Bila sistem pengaturan ini terganggu, otomatis siklus haid pun akan terganggu.

2) Kelainan Sistemik

Tubuh yang sangat gemuk atau kurus dapat mempengaruhi siklus haidnya karena sistem metabolisme di dalam tubuhnya tak bekerja dengan baik, atau wanita yang menderita penyakit diabetes, juga akan mempengaruhi sistem metabolisme sehingga siklus haidnya pun tak teratur.

3) Stress

Stress akan mengganggu sistem metabolisme di dalam tubuh, karena stress, wanita akan menjadi mudah lelah, berat badan turun drastis, bahkan sakit-sakitan, sehingga metabolisme terganggu. Bila metabolisme terganggu, siklus haid pun ikut terganggu.

4) Kelenjar Gondok

(22)

5) Hormon prolakin berlebih

Hormon prolaktin dapat menyebabkan seorang wanita tidak haid, karena memang hormon ini menekan tingkat kesuburan. Pada wanita yang tidak sedang menyusui hormone prolaktin juga bisa tinggi, biasanya disebabkan kelainan pada kelenjar hipofisis yang terletak di dalam kepala.

Jadi hubungan hormone terhadap siklus dapat menyebabkan perubahan jumlah hari dalam satu siklus.

2.2 Menghitung Masa Subur

Menentukan masa subur salah satunya dapat dilakukan dengan cara menghitungnya berdasarkan siklus haid. Namun penting diketahui jumlah hari/panjang siklus haid. Untuk mengetahui panjang siklus haid paling mencatat minimal 3 bulan. Bahkan pada wanita dengan siklus haid tidak teratur namun masih dalam kategori siklus haid normal (21 – 35 hari) perlu mencatat siklus haid selama 6 bulan. Oleh karenanya perlu diajarkan pada setiap wanita untuk biasa mencatat hari pertama siklus haidnya.

1. Siklus Haid Teratur

Siklus haid dikatakan teratur apabila setiap bulan haid datang pada siklus yang tetap, misal setiap 28 hari. Maka masa subur lebih mudah dihitung dan ditentukan.

Cara menghitung masa subur pada siklus teratur/tetap adalah :

(23)

Contoh : Pada wanita dengan siklus 28 hari maka masa subur berada pada haid hari ke-14 dengan kisaran hari ke 12 – 16. Pada siklus 24 hari, masa subur berada pada hari ke-10 dengan kisaran hari ke 8 – 12.

Berapapun siklus haid jika jatuh pada jumlah hari yang sama maka pengurangnya sama yaitu 14. (merupakan masa fase sekresi yang selalu tetap 14 hari)

Gambar 2.1 Masa Subur 2. Siklus Haid Tidak Teratur

Pada wanita dengan siklus haid tidak teratur akan lebih sulit mengetahui masa subur secara pasti, karena rentangnya akan semakin panjang.

Cara menghitung masa subur pada siklus tidak teratur :

“ Hari pertama masa subur = jumlah siklus haid terpendek kurangi 18 Hari pertama masa subur = jumlah siklus terpanjang kurangi 11”

(24)

Tampak bahwa masa subur pada siklus teratur memiliki rentang waktu yang lebih pendek, sehingga akan lebih mudah mendapatkan waktu ovulasi secara tepat (http://viedhar2010.blogspot.com).

2.3 Andr oid

2.3.1 Definisi Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android.

(25)

2.3.2 Str uktur Android

Awalnya Android dibuat oleh perusahaan perangkat lunak Android, Inc yang lantas dibeli oleh Google. Android kemudian diadopsi oleh Open Handset Alliance sebagai proyek Open Source pertama untuk peralatan bergerak. Android dibangun menggunakan versi modifikasi dari kernel Linux versi 2.6.

Sistem Android memungkinkan developer membangan aplikasi sendiri dengan menggunakan bahasa pemrograman Java. Disamping itu Android juga menyediakan tools dan APIs yang dibutuhkan selama pembuatan program. Android juga dapat mengontrol peralatan bergerak seperti ponsel yang menjalankan aplikasi tersebut melalui Java libraries yang dikembangkan oleh Google. Sebagai bagian dari upaya mendorong terciptanya standar terbuka (open standards) untuk teknologi perangkat bergerak, Google merilis sebagian besar dari kode-kode program Android dibawah Apache License, sebuah model lisensi untuk open source. Dengan lisensi Apache, vendor yang menggunakan platform Android (misalnya perusahaan pembuat ponsel) dapat menambahkan ekstensi atau program tambahan yang bersifat proprietary tanpa perlu mendaftarkan ekstensi tersebut ke komunitas open source. Distribusi Android dimulai pada 5 November 2007, ditandai dengan pendirian Open Handset Alliance, sebuah aliansi bersama atau konsorsium yang terdiri atas 65 perusahaan pembuat perangkat keras, software, dan telekomunikasi seperti Broadcom Corporation, Google, HTC, Intel.

(26)

Toshiba, dan Vodafone Group Plc. Dengan menyediakan open development platform, Android menawarkan kepada para pengembang untuk membuat aplikasi-aplikasi yang kaya dan inovatif. Pengembang memiliki akses penuh ke framework APIs yang juga digunakan oleh aplikasi inti. Selain itu mereka juga bebas untuk mengoptimalkan penggunaan hardware, mengakses informasi lokasi, menjalankan layanan sendiri, mengatur alarm, dan fungsi-fungsi lain yang tak terhitung banyaknya.

2.3.3 Fitur Android

Sebagai platform terpadu, Android memiliki fitur-fitur teknis yang dibutuhkan untuk menyusun sebuah sistem operasi bergerak (mobile OS), meliputi:

1) Application framework: memungkinkan reuse dan replacement of components 2) Dalvik virtual machine: dioptimalkan untuk mobile devices

3) Integrated browser: menggunakan open source WebKit engine

4) Optimized graphics: menggunakan custom 2D graphics library; 3D graphics berdasar pada spesifikasi OpenGL ES 1.0 (akselerasi hardware bersifat optional)

5) SQLite: untuk mengelola database/structured data storage

6) Media support: untuk audio, video, dan still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

7) GSM Telephony (hardware dependent)

8) Bluetooth, EDGE, 3G, dan WiFi (hardware dependent)

(27)

10) Rich development environment, meliputi device emulator, tools untuk debugging, memory dan performance profiling, dan plugin untuk Eclipse IDE Selain fitur diatas, Android dibundel lengkap dengan satu set core applications (aplikasi inti) yang meliputi email client, SMS program, kalender, peta (maps), browser, kontak, dan sebagainya. Semua aplikasi tersebut ditulis dalam bahasa pemrograman Java.

2.3.4 Ver si Android

Sejak rilis pertamanya, Android telah mengalami beberapa kali mengalami updating. Berikut adalah versi awal hingga versi terakhir (stabil) dari Android (Safaat, 2010):

1) Android 1.5 (Cup Cake) SDK

Berbasis pada Linux Kernel 2.6.27. Diluncurkan pada 30 April 2009. Cup Cake antara lain mendukung fungsi-fungsi seperti merekam dan melihat video pada camcorder mode, mengupload video ke YouTube dan foto ke Picasa langsung dari ponsel, dan Bluetooth A2DP support.

2) Android 1.6 (Donut) SDK

(28)

3) Android 2.0/2.1 (Eclair) SDK

Android 2.0 Eclair dirilis pada 26 Oktober 2009. Update dari versi sebelumnya meliputi peningkatan hardware speed, dukungan untuk lebih banyak ukuran dan resolusi layar, tampilan browser yang baru dan dukungan untuk HTML5, Google Maps 3.1.2, Digital Zoom, dukungan built in flash untuk kamera, Microsoft Exchange, Blutooth 2.1, Live Wallpapers, dan pengayaan virtual keyboard. Android 2.1 diluncurkan pada 3 Desember 2009 dengan tetap menggunakan codename Eclair. Keduanya menggnuakan Linux Kernel 2.6.29.

2.4 Unified Modelling Language

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun (Dharwiyanti, 2003).

(29)

representasi grafis sangat mempermudah pemahaman terhadap sistem (Hariyanto, 2004).

Use CaseDiagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Diagram ini sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem. Notasi use case dapat dilihat pada tabel 2.1.

Tabel 2.1 Deskripsi Use Case (Nugroho, 2005) Deskripsi Use Case

Actor Aktor adalah pengguna sistem dan digambarkan seperti di samping. Peran pengguna tertulis di bawah ikon. Pelaku tidak terbatas pada manusia. Jika suatu sistem berkomunikasi dengan aplikasi lain, dan akan memberikan masukan atau keluaran, maka aplikasi tersebut juga dapat dianggap sebagai actor.

Actor Name

Use Case Use Case (misalnya Daftar Mobil, Hapus Pengguna). adalah fungsi yang disediakan oleh sistem, Use Case digambarkan dengan elips. Nama use case

ditulis di bawah elips. Use Cas e Nam e

Association Asosiasi digunakan untuk menghubungkan Aktor dengan Use Case, dan menunjukkan bahwa sebuah actor berpartisipasi di dalam beberapa form use case. Asosiasi yang digambarkan oleh tanda panah menghubungkan aktor dan use case.

2.5 Flowchar t (Diagram Alir)

(30)

K e t e r a n g a n

S i m b o l t i t i k t e r m i n a l d i g u n a k a n u n t u k m e n u n j u k k a n a w a l d a n a k h i r d a r i s u a t u p r o s e s

S i m b o l N o

1

S i m b o l p r o s e s d i g u n a k a n u n t u k m e w a k i l i s u a t u p r o s e s a t a u u n t u k p e n g o l a h a n a r i t m a t i k a d a n p e m i n d a h a n d a t a

2

3 S i m b o l i n p u t o u t p u t d i g u n a k a n

u n t u k m e w a k i l i d a t a i n p u t / o u t p u t d a n m e n u n j u k k a n h a s i l d a r i s u a t u p r o s e s

4

S i m b o l D e c i s i o n ( k e p u t u s a n ) d i g u n a k a n u n t u k s u a t u p e n y e l e k s i a n ( p e r b a n d i n g a n l o g i k a ) k o n d i s i d i d a l a m p r o g r a m

5 S i m b o l P r e d e f i n e d ( p e r s i a p a n ) d i g u n a k a n u n t u k m e m b e r i n i l a i a w a l s u a t u v a r i a b e l a t a u c o u n t e r

6

S i m b o l C o n n e c t o r ( p e n g h u b u n g ) d i g u n a k a n u n t u k m e n u n j u k k a n h u b u n g a n a r u s p r o s e s y a n g t e r p u t u s m a s i h d a l a m h a l a m a n y a n g s a m a

7

S i m b o l p r o s e s t e r d e f i n i s i d i g u n a k a n u n t u k m e n u n j u k k a n s u a t u o p e r a s i y a n g r i n c i a n n y a d i t u n j u k k a n d i t e m p a t l a i n

8

S i m b o l O f f - p a g e c o n n e c t o r d i g u n a k a n u n t u k m e n u n j u k k a n h u b u n g a n a r u s p r o s e s y a n g t e r p u t u s m a s i h d a l a m h a l a m a n y a n g b e r b e d a

9 S i m b o l d i s p l a y d i g u n a k a n u n t u k

o u t p u t y a n g d i t u n j u k k a n / d i t a m p i l k a n d i m o n i t o r .

langkah program dan garis alir (flow line) menunjukkan urutan dari symbol-simbol yang akan dikerjakan.

Tabel 2.2 Simbol-simbol Flowchart Diagram

2.6 Softwar e Penduk ung 2.6.1 Rasional Suite 2002

(31)

design proses generate code, reverse engineering, serta banyak fungsi-fungsi yang lain. Rational Rose merupakan tool yang sangat mudah karena sudah menyediakan contoh-contoh design dari beberapa software. Untuk membuat file Rational Rose, buka aplikasi Rational Rose sehingga anda akan dihadapkan pada beberapa pilihan seperti terlihat pada gambar 1, contohnya : jdk-12, jdk-116, jenterprise, jfc-11, Oracle Database, Rational Unified Process (RUP), VB6 Standard serta model-model yang lain. Model-model-model ini merupakan pilihan apakah ingin file Rational Rose yang mengandung komponen Java, Visual Basic atau Visual C++. Hal ini dibutuhkan ketika nanti akan melakukan generate code (membuat contoh code) dari design yang telah dibuat.

Rational Unified Proses (RUP) merupakan pilihan yang tepat untuk membuat suatu design yang lengkap dengan cara mudah karena model ini merupakan template, sehingga kita dapat langsung melakukan perubahan dengan mengganti Use Case, Actors, Class Diagram yang telah ada pada template RUP.

2.6.2 Eclipse

(32)

Eclipse merupakan komunitas open source yang bertujuan menghasilkan platform pemrograman terbuka. Eclipse terdiri dari framework yang dapat dikembangkan lebih lanjut, peralatan bantu untuk membuat dan memanage software sejak awal hingga diluncurkan. Platform Eclipse didukung oleh ekosistem besar yang terdiri dari vendor tekonologi, start-up inovatif, universitas, riset institusi serta individu. Berikut ini adalah sifat dari Eclipse:

1) Multi-platfor m: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

2) Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3) Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

(33)

kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

Eclipse menggunakan EPL (Eclipse Public License), yaitu lisensi yang memungkinkan organisasi untuk menjadikan Eclipse sebagai produk komersialnya, dan pada saat yang sama meminta orang yang melakukan perubahan untuk mengkontribusikan hasilnya kembali kepada komunitas. (http://www.politeknik-lp3i-bandung.ac.id).

Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:

1) Core platform 2) OSGi

3) SWT (Standard Widget Toolkit) 4) JFace

5) Eclipse Workbench

(34)

Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project.

Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise, serta untuk kenyamanan (http://id.wikipedia.org).

2.6.3 SqLite

(35)

digunakan dalam aplikasi yang banyak kita jumpai, termasuk dalam beberapa high-profil project.

(36)

SQLite diuji dengan sangat hati-hati sebelum setiap rilis dan memiliki reputasi yang dapat diandalkan. Kebanyakan kode sumber SQLite ditujukan murni untuk pengujian dan verifikasi. Sebuah automated test suite (tes otomatis) menjalankan jutaan kasus yang diuji melibatkan ratusan juta individual SQL statements dan mengarsipkan 100% branch test coverage. SQLite merespon kegagalan alokasi memori dan disk I/O error. Transaksi ACID bahkan jika terputus oleh sistem crash atau gangguan listrik. Semua ini dibuktikan oleh tes otomatis menggunakan tes khusus harnesses yang mensimulasikan system failure. Tentu saja, bahkan dengan segala tes ini, masih ada bug. Tapi tidak seperti beberapa proyek serupa (terutama pesaing komersial) SQLite terbuka dan jujur tentang semua bug dan menyediakan daftar bug termasuk daftar bug kritis dan kronologis tiap menit dari laporan bug dan perubahan kode.

(37)

3.1

Analisis dan Konsep Perancangan Progr am

Analisis merupakan bagian dari sebuah program yang digunakan untuk

menguraikan suatu masalah atau objek yang akhirnya menghasilkan suatu

kesimpulan, hal ini dimaksudkan untuk mengidentifikasi dan mengevaluasi

masalah-masalah atau objek yang ada.

Secara umum aplikasi ini mempunyai konsep perancangan sebagai berikut:

1)

Mengetahui

tools

yang digunakan dalam aplikasi perhitungan siklus

kewanitaan

.

2)

Menentukan bahasa pemrograman aplikasi yang akan digunakan.

3)

Menentukan fasilitas tambahan yang akan diberikan pada aplikasi perhitungan

siklus kewanitaan.

4)

Jika fasilitas tambahan membutuhkan database, maka menentukan

database

yang akan digunakan, sesuai dengan aplikasi siklus kewanitaan.

5)

Merancang

interface

aplikasi yang

user-friendly.

3.2

Analisis Kebutuhan

Mencakup hal-hal yang dubutuhkan yang kesemuanya meliputi

(38)

yang dibutuhkan baik perangkat keras maupun lunak dan kebutuhan data yang melibuti data-data yang dibutuhkan yang berhubungan dengan pengguna sistem.

3.2.1 Identifikasi Kebutuhan Pendukung

Kebutuhan disini meliputi alat-alat yang dapat mendukung dalam merancang dan pembuatan aplikasi siklus kewanitaan.

Software dan Hardware yang dibutuhkan antara lain :

1) Rasional Suite 2002 (untuk merancang use case diagram, class diagram, activity diagram dan sequence diagram)

2) SQLite (database)

3) Processor minimum 200 MHz (sebaiknya lebih) 4) RAM minimum 2GB atau lebih

5) Cache memory 512 KB atau lebih 6) Harddisk 160 GB (pilihan)

7) Monitor SVGA resolusi 800 x 600, 256 warna (minimal). 8) Keyboard dan mouse

3.2.2 Kebutuhan Data

(39)

Tabel 3.1. Data Requirement

DATA KAMUS DATA

User = Orang yang menggunakan aplikasi

Input Tanggal = Data siklus yang dimiliki, dengan menginputkan tanggal pertama menstruasi 3 bulan lalu dan lama menstruasi

Laporan = Data dari hasil perhitungan siklus menstruasi 3 bulan lalu, untuk perkiraan siklus menstruasi bulan

berikutnya dan masa subur yang dimiliki

Data - data yang ada pada Tabel 3.1 kesemuanya tersimpan dalam sebuah database, sehingga untuk setiap data yang dimasukkan oleh user akan secara otomatis tersimpan dalam database dan diilustrasikan pada class diagram.

Class Diagram memodelkan struktur logis dari keseluruhan aplikasi data, tidak tergantung pada software. Memodelkan struktur fisik dari basis data (database), dengan mempertimbangkan perangkat lunak (software). Class Diagram aplikasi siklus kewanitaan ini terlihat pada Gambar 3.1.

Gambar 3.1 Class Diagram Aska

3.3 Model Water fall

(40)

Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :

Gambar 3.2 Model Water fall

Gambar 3.2 di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman.

1) System / Information Engineering and Modeling

(41)

yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.

2) Software Requirements Analysis

Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

3) Design

Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. 4) Coding

(42)

5) Testing / Verification

Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.

6) Maintenance

Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

(43)

Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini. Selain itu, ada beberapa kekurangan pengaplikasian model ini, antara lain adalah sebagai berikut:

Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.

Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.

Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.

(44)

dalam pengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapat dikatakan bahwa inilah standar untuk melakukan SE.

Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai penggunaan dari model ini adalah metode sequential-nya. Mungkin untuk awal-awal software diciptakan, hal ini tidak menjadi masalah, karena dengan berjalan secara berurutan, maka model ini menjadi mudah dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karena itu model ini sangat populer. Akan tetapi, seiring perkembangan software, model ini tentu tidak bisa mengikutinya. Yang menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yang sudah saya utarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah saya utarakan di atas, atau bahkan masih ada yang lainnya.

Dari sini, nantinya akan dikembangkan model-model yang lain, bahkan ada tahap evolusioner dari suatu model proses untuk mengatasi kelemahan-kelemahan tadi. Meskipun secara tahapan masih menggunakan standar tahapan waterfall model. Kesimpulannya adalah ketika suatu project skalanya sedang mengarah kecil bisa menggunakan model ini. Akan tetapi kalau sudah project besar, tampaknya kesulitan jika menggunakan model ini

3.4 Per ancangan Aplikasi Dalam UML

(45)

3.4.1 Use Ca se Diagr am

Pembuatan UML dalam perancangan pada sistem (Unified Modeling Language) dimulai dengan Use Case Diagram yang menjelaskan manfaat system jika dilihat menurut pandangan orang yang berada diluar system (actor). Penggambaran Use Case Diagram mempresentasikan perancangan aplikasi siklus kewanitaan secara umum yang tergambar pada Gambar 3.3.

Gambar 3.3 Pembuatan Use Case Diagram

Seorang aktor merupakan entitas manusia atau mesin yang berinteraksi dengan sistem sehingga dapat mencapai apa yang diharapkan oleh sistem. Aktor tersebut adalah pengguna, beberapa proses sistem yang disebut disini adalah input_tanggal (memasukkan tanggal siklus oleh pengguna), input_lama menstruasi (memasukkan data lama menstruasi oleh pengguna). Aktor dan sistem dihubungkan menurut kebutuhan masing-masing (lihat gambar 3.3).

1) Definisi Actor/pengguna

(46)

Tabel 3.2 Definisi Aktor

No Nama Aktor Deskr ipsi

1. Pengguna Pengguna adalah pemilik smartphone.

2) Deskripsi Use Case

Dari gambar 3.4 dapat dideskripsikan untuk masing-masing use case yang ada. Pendeskripsian ini membantu untuk mengarahkan fungsionalitas aplikasi siklus kewanitaan.

a. Mainkan ASKA

Nama Use Case : Mainkan ASKA

Tujuan Use Case : Use case ini memberikan kemampuan untuk mengakses masuk ke dalam aplikasi.

Tabel 3.3 Use Case Mainkan ASKA

Actor Action System Response

1. Aktor memilih ASKA 2. Menampilkan aplikasi ASKA

b. Masukkan Tanggal Siklus

Nama Use Case : Masukkan Tanggal Siklus

Tujuan Use Case : Use case ini memberikan kemampuan untuk memberikan informasi dari user ke dalam aplikasi. Tabel 3.4 Use Case Masukkan Tanggal Siklus

Actor Action System Response

1. Aktor memilih menu tanggal pada form daftar

2. Menampilkan form tanggal siklus menstruasi 3 bulan sebelumnya

3. Aktor menginputkan data tanggal

(47)

b. Melihat Kalender

Nama Use Case : Melihat Kalender

Tujuan Use Case : Use case ini memberikan kemampuan untuk memberikan informasi tanggal.

Tabel 3.5 Use Case Melihat Kalender

Actor Action System Response

1. Aktor memilih kalendar pada menu siklusku

2. Menampilkan kalender bulanan

c. Melihat Masa Subur

Nama Use Case : Melihat Masa Subur

Tujuan Use Case : Use case ini memberikan kemampuan untuk

memberikan informasi tanggal khususnya masa subur. Tabel 3.6 Use Case Melihat Masa Subur

Actor Action System Response

1. Aktor memilih kalendar pada menu siklusku

2. Menampilkan kalender bulanan dan perkiraan masa subur actor

d. Melihat Masa Haid

Nama Use Case : Melihat Masa Haid

Tujuan Use Case : Use case ini memberikan kemampuan untuk memberikan informasi tanggal khususnya masa haid. Tabel 3.7 Use Case Melihat Masa Haid

Actor Action System Response

1. Aktor memilih kalendar pada menu siklusku

2. Menampilkan kalender bulanan dan perkiraan masa haid actor

e. Hitung Siklus

(48)

Tujuan Use Case : Use case ini memberikan kemampuan untuk melihat informasi perhitungan siklus.

Tabel 3.8 Use Case Hitung siklus

Actor Action System Response

1. Aktor memilih menu siklusku

2. Menampilkan kalender, perhitungan ASKA yang meliputi masa haid, masa normal dan masa subur.

Terkait proses memasukkan tanggal siklus dan lama menstruasi berlangsung pada keseluruhan aplikasi oleh seorang pengguna, melalui aplikasi sistem dan pengguna akan dijelaskan secara koprehensif pada tahap UML selanjutnya dalam activity diagram.

3.4.2 Activity Diagram

(49)

1) Membuka Aplikasi

Proses ini dilakukan untuk memulai aplikasi, terdapat 4 menu yaitu Siklusku, History haid, Tips, dan Tentang Aska. Pada proses yang dilakukan terdapat dua aktivitas yang menyangkut segala kegiatan user (pengguna) yang ada dan ada hubunganya dengan system, yaitu kalendar siklus dan history haid yang semuanya disebutkan pada penjelasan dan Gambar 3.4.

2) Pendaftar an dan Tambah Tanggal Haid

Adalah bagaimana seorang pengguna harus melakukan pendaftaran terlebih dahulu sebelum melakukan login dan masuk untuk mengakses aplikasi.

Ga mbar 3.5 Activity Diagram Pendaftaran dan Tambah Tanggal Haid

(50)

untuk tambah tanggal haid, setelah tanggal haid dimasukkan secara otomatis akan tersimpan pada history haid dan mengupdate perhitungan pada kalender siklus.

3) Per hitungan Sik lus

Adalah bagaimana seorang pengguna input tanggal siklus dan lama haid pada saat pendaftaran. Proses yang tejadi mulai dari pemilihan menu daftar, input data tanggal haid, input lama haid sampai pada tambah tanggal lama haid (gambar 3.5). activity diagram pada perhitungan siklus adalah sebagai berikut :

Gambar 3.6 Activity Diagram Perhitungan Siklus

(51)

3.4.3 Sequence diagram

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Berikut Sequence Diagram Aska :

Ga mbar 3.7 Sequence diagram Aska

(52)

Pada bab IV ini akan dibahas mengenai implementasi dari rancangan sistem

yang telah dibuat pada bab III. Bagian implementasi sistem kali ini meliputi:

lingkungan implementasi, implementasi proses, dan implementasi antarmuka.

4.1

Lingkungan Implementasi

Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat

lunak yang digunakan pada implementasi sistem ini.

Perangkat Keras :

a.

Notebook dengan prosessor Intel Dual Core

b.

Memori 1 GB

c.

Harddisk 160 GB

Perangkat Lunak

a.

Sistem Operasi Windows XP

b.

Android SDK

c.

Java Development Kid (JDK)

d.

Eclipse

e.

Rasional Suite 2002

(53)

4.2

Implementasi Data

Pada tahap ini akan dibahas mengenai implementasi data dari perancangan

data yang telah dibahas sebelumnya. Dari hasil

generate database

didapat script

untuk membuat tabel – tabel dalam

database

yang akan dibuat. Proses pembuatan

basis data diawali dengan perancangan

Class Diagram

pada Rasional Suite 2002.

4.3

Implementasi Antar Muka

Pada tahap ini akan dijabarkan tentang implementasi antar muka dari aplikasi

yang telah dibuat berdasarkan perancangan yang telah dibahas pada Bab III. System

ini berfungsi untuk mempermudah pengguna dalam mengelola system pada aplikasi

Aska. Pada system ini terdapat beberapa sub menu

utama yaitu :

1)

Halaman Login

2)

Menu Pendaftaran Baru :

a.

Form Daftar

b.

Form Siklus Aska

3)

Menu Utama Aktivitas Aska

Pada halaman berikutnya akan dijelaskan satu per satu

form

yang ada di

dalam program ini.

4.3.1

Halaman Login Aska

(54)

Gambar 4.1 Halaman Login

Script untuk menampilkan Login Aska :

//Mena

mpilkan interface login public

void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

txtUser = (EditText) findViewById(R.lgn.txtUser); }

//Pros es Login public

void logMasuk(View view) {

String username = txtUser.getText().toString(); DatabaseHelper function = new DatabaseHelper(this); int hasil = function.checkUsername(username);

if(hasil>0){

int umur = function.getUmur(username); if(umur<batasUmur){

Intent i = null;

int hasilPeriode = function.checkPeriode(username); if(hasilPeriode>0){

i = new Intent(Main.this, MenuUtama.class); }

else i = new Intent(Main.this, InputSiklus.class);

i.putExtra("username", username); startActivity(i);

} else{

Toast.makeText(Main.this, "Umur anda sudah memasuki masa menopause... ^_^", Toast.LENGTH_LONG).show();

txtUser.setText(""); }

} else{

(55)

txtUser.setText(""); }

}

4.3.2

Halaman Daftar

Gambar 4.2 ini merupakan tampilan menu pendaftaran yang keluar sebelum

pengguna menjalankan aplikasi Aska. Pada halaman ini terdapat beberapa inputan

diantaranya adalah username, nama dan tanggal lahir.

Gambar 4.2 Form Daftar Pengguna

Script untuk menampilkan Pendaftaran Aska :

//Mena

mpilkan interface daftar public

void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.daftar);

txtUsername = (EditText) findViewById(R.daf.txtUsername); txtNama = (EditText) findViewById(R.daf.txtNama);

txtTglLahir = (EditText) findViewById(R.daf.txtTglLahir); txtTglLahir.setOnClickListener(new OnClickListener() {

public void onClick(View v) { showDialog(DATE_DIALOG_ID); }

});

final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR);

mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); }

public

(56)

String username = txtUsername.getText().toString(); DatabaseHelper helper = new DatabaseHelper(this); database = helper.getReadableDatabase();

Cursor data = database.rawQuery("select * from pengguna where username='"+username+"'", null); int hasil = data.getCount();

helper.close(); if(hasil>0) {

Toast.makeText(Daftar.this, "Username sudah digunakan", Toast.LENGTH_SHORT).show();

txtUsername.setText(""); txtUsername.requestFocus(); }

else {

database = helper.getWritableDatabase();

String sql = "insert into pengguna (username, nama, tgl_la

hir) " +

"values('"+username+"','"+txtNama.getText().toString()+"'," + "'"+txtTglLahir.getText().toString()+"')";

database.execSQL(sql);

database.execSQL("update aktif set userna

me='"+username+"'"); helper.close();

AlertDialog statusDaftar = new AlertD ialog.Builder(this).create(); statusDaftar.setTitle(""); statusDaftar.setMessage("Pendaftaran Berhasil"); statusDaftar.setButton("OK",new Dialog Interface.OnClickListener(){

public void onClick(DialogInterface dialog, int which) { nextForm(); } }); statusDaftar.show(); } }

catch (Exception e) {

Log.d("Database","error"); }

}

4.3.3

Halaman Siklus Aska

Gambar 4.3 ini merupakan tampilan halaman daftar siklus aska, user dapat

(57)

Gambar 4.3 Form Daftar Siklus Aska

Script untuk menampilkan Siklus Aska :

//Mena

mpilkan interface input siklus Aska public

void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.inputsiklus); Bundle extras = getIntent().getExtras(); username = extras.getString("username");

txtBln1 = (EditText) findViewById(R.ips.txtTglBln1); txtBln1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

showDialog(DATE_DIALOG_ID_BULAN1); }

});

txtBln2 = (EditText) findViewById(R.ips.txtTglBln2); txtBln2.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

showDialog(DATE_DIALOG_ID_BULAN2); }

});

txtBln3 = (EditText) findViewById(R.ips.txtTglBln3); txtBln3.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

showDialog(DATE_DIALOG_ID_BULAN3); }

});

Spinner spinnerLama =

(Spinner) findViewById (R.ips.txtSpinnerLama); ArrayAdapter<CharSequence> adapterLama =

(58)

adapterLama.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item); spinnerLama.setAdapter(adapterLama); spinnerLama.setOnItemSelectedListener (new OnItemSelectedListener(){ @Override

public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {

Object item = parentView.getItemAtPosition(position); txtLama = item.toString();

}

@Override

public void onNothingSelected(AdapterView<?> arg0) { }

});

final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR);

mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); }

@Overr ide protec

ted Dialog onCreateDialog(int id) { switch (id) {

case DATE_DIALOG_ID_BULAN1:

return new DatePickerDialog(InputSiklus.this, mBulan1, mYear, mMonth, mDay);

case DATE_DIALOG_ID_BULAN2:

return new DatePickerDialog(InputSiklus.this, mBulan2, mYear, mMonth, mDay); case DATE_DIALOG_ID_BULAN3:

return new DatePickerDialog(InputSiklus.this, mBulan3, mYear, mMonth, mDay);

}

return null; }

privat

e DatePickerDialog.OnDateSetListener mBulan1 = new OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

txtBln1.setText(Integer.toString(year) + "-" + Integer.toString(monthOfYear + 1) + "-" + Integer.toString(dayOfMonth));

} };

privat

e DatePickerDialog.OnDateSetListener mBulan2 = new OnDateSetListener() {

(59)

txtBln2.setText(Integer.toString(year) + "-" + Integer.toString(monthOfYear + 1) + "-" + Integer.toString(dayOfMonth));

} };

privat

e DatePickerDialog.OnDateSetListener mBulan3 = new OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

txtBln3.setText(Integer.toString(year) + "-" + Integer.toString(monthOfYear + 1) + "-" + Integer.toString(dayOfMonth));

} };

public

void simpanSiklus(View view) {

function.insertSiklus(username, txtLama); int idSiklus = function.getSiklusID(username);

function.insertHaid(idSiklus, txtBln3.getText().toString()); function.insertHaid(idSiklus, txtBln2.getText().toString()); function.insertHaid(idSiklus, txtBln1.getText().toString()); AlertDialog statusInput = new AlertDialog.Builder(this).create(); statusInput.setTitle("");

statusInput.setMessage("Data Siklus Berhasil Disimpan");

statusInput.setButton("OK",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) {

Intent i = new Intent(InputSiklus.this, MenuUtama.class); i.putExtra("username", username); startActivity(i); finish(); } }); statusInput.show(); }

4.3.4

Halaman Update Tanggal Menstruasi

Gambar 4.4 merupakan halaman laporan bulanan. Menampilkan form tanggal

(60)

Gambar 4.4 Form Update Tanggal Menstruasi terakhir

Script untuk menampilkan Update Tanggal Menstruasi terakhir :

//mena

mpilkan interface update tanggal menstruasi terakhir public

void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.inputtanggal); Bundle extras = getIntent().getExtras(); username = extras.getString("username");

txtTgl = (EditText) findViewById(R.itm.txtTglMens); txtTgl.setOnClickListener(new OnClickListener() {

public void onClick(View v) { showDialog(DATE_DIALOG_ID_TGL); }

});

final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR);

mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); }

@Overr ide protec

ted Dialog onCreateDialog(int id) { switch (id) {

case DATE_DIALOG_ID_TGL:

return new DatePickerDialog(InputTanggal.this, mBulan, mYear, mMonth, mDay);

}

return null; }

privat

e DatePickerDialog.OnDateSetListener mBulan = new OnDateSetListener() {

(61)

txtTgl.setText(Integer.toString(year) + "-" + Integer.toString(monthOfYear + 1) + "-" + Integer.toString(dayOfMonth));

} }; public

void simpanTanggal(View view) {

int idSiklus = function.getSiklusID(username);

function.insertHaid(idSiklus, txtTgl.getText().toString());

AlertDialog statusInput = new AlertDialog.Builder(this).create(); statusInput.setTitle("");

statusInput.setMessage("Tanggal Menstruasi Berhasil Disimpan"); statusInput.setButton("OK",new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) { finish();

} });

statusInput.show(); }

4.3.5

Menu Utama Aktivitas Aska

Gambar 4.5 merupakan form utama. Pada form ini memiliki 3 sub menu

dalam laporan yaitu siklusku, tips hari ini dan tentang saya. Menampilkan data

kalender siklus aska disertai perkiraan siklus menstruasi menggunakan aplikasi Aska,

macam – macam tips dan informasi tentang siapa saya.

Gambar 4.5 Halaman Menu Utama Aktivitas Aska

(62)

//mena

mpilkan interface menu aktivitas aska public

void onCreate(Bundle savedInstance) { super.onCreate(savedInstance);

Bundle extras = getIntent().getExtras(); username = extras.getString("username");

DatabaseHelper function = new DatabaseHelper(this); nama = function.getNama(username);

umur = function.getUmur(username);

addPreferencesFromResource(R.layout.menuutama); findPreference("siklus"). setIntent(new Intent(Intent.ACTION_VIEW). setDataAndType(null, CalendarActivity.MIME_TYPE). putExtra("username", username)); findPreference("haid"). setIntent(new Intent(Intent.ACTION_VIEW). putExtra("username", username). setClass(this, LihatHistory.class)); findPreference("tips"). setIntent(new Intent(Intent.ACTION_VIEW). putExtra("username", username). setClass(this, LihatTips.class)); findPreference("about").setOnPreferenceClickListener(this);

AlertDialog confirm = new AlertDialog.Builder(this).create(); confirm.setTitle("Selamat Datang");

confirm.setMessage("Nama Anda "+nama+"\nUsia "+umur+" Tahun"); confirm.show();

}

@Overr ide public

boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); menu.findItem(R.id.menu_input). setIcon(android.R.drawable.ic_input_add); return super.onCreateOptionsMenu(menu); } @Overr ide public

boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) {

case R.id.menu_input: {

(63)

}

public

boolean onPreferenceClick(Preference preference) { String key = preference.getKey();

if(key.equals("about")) {

AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("About\nAsKa v2.0");

builder.setMessage("Aplikasi ini dibuat untuk memenuhi

persya

ratan akademik kuliah di S1 Teknik Informatika UPN \"Veteran\" Jatim"

);

builder.setNeutralButton("Close", null); builder.create();

builder.show(); }

return true; }

1)

Form Laporan Siklusku

Gambar 4.6 merupakan halaman laporan bulanan. Menampilkan form

kalender siklus menstruasi Aska. Dimana dalam form kalender terdapat tanggal

siklus, tanggal menstruasi, tanggal masa subur. Pada halaman ini dijelaskan perkiraan

siklus Aska yaitu masa haid, masa normal dan masa subur.

Gambar 4.6 Halaman Siklusku

Script untuk menampilkan Laporan Kalender Siklusku :

//mena

mpilkan interface kalender siklus public

(64)

username = extras.getString("username");

calTxt = (TextView) findViewById(R.id.textCalendar); calBulan = (TextView) findViewById(R.id.bulan);

mView = (CalendarView)findViewById(R.id.calendar); final Calendar c = Calendar.getInstance();

mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH);

tgl_skrg = Integer.toString(mYear)+"-"+cekdate(mMonth+1)+ "-"+cekdate(mDay);

drawSiklus(); }

public

void drawSiklus(){

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); int umur = function.getUmur(username);

int lamaMens = function.getLamaMens(username); int siklus = 0;

int mulaiSubur = 0; int akhirSubur = 0; int th=0;

int tn=0; int ts=0;

int selisihSiklus = function.selisihSiklus("selisih",username); siklus = function.selisihSiklus("total", username);

if(selisihSiklus<4){

mulaiSubur = (siklus-14)-2; akhirSubur = (siklus-14)+2; }

else{

mulaiSubur = function.selisihSiklus("minimum", username)-18; akhirSubur = function.selisihSiklus("maximum", username)-11; }

try {tgl = df.parse(function.getLastHaid(username));} catch (ParseException e) {e.printStackTrace();}

Calendar cal = Calendar.getInstance(); cal.setTime(tgl); cal.add(Calendar.DATE, -1); while(cal.getTime().getMonth()<mView.getMonth()+1){ for(int a=0;a<siklus;a++){ cal.add(Calendar.DATE, 1); if(cal.getTime().getMonth()==mView.getMonth()){ if(a<lamaMens){

Gambar

Tabel 2.2 Simbol-simbol Flowchart Diagram
Tabel 3.8 Use Case Hitung siklus
Gambar 3.5  Activity Diagram Pendaftaran dan Tambah Tanggal Haid
Gambar 3.6 Activity Diagram Perhitungan Siklus
+7

Referensi

Dokumen terkait

Uji coba master provinsi bertujuan untuk mengetahui apakah fungsi- fungsi yang ada pada form master provinsi seperti tambah dan ubah sudah berjalan dengan baik, serta untuk

Uji coba Transaksi Penjualan bertujuan untuk menguji apakah fungsi Transaksi penjualan dapat berjalan sesuai fungsinya. Uji coba yang dilakukan, yaitu mengisi tiap – tiap

Untuk uji coba sensor cahaya yang digunakan untuk program Line Follower hanya dapat berjalan dengan normal dan lancar apabila permukaan datar dan kecepatan tidak melebihi

Tujuan penelitian ini adalah untuk menganalisa bagaimana penerapan layanan Mobile Movie Ticketing yang sedang berjalan saat ini apakah sudah baik atau masih banyak kekurangan

Dilakukan pengujian untuk mengetahui sistem yang dibuat berjalan dengan baik, adapun hasil yang didapat setelah pengujian adalah penguncian smartphone bisa dilakukan

Dalam hasil uji coba system yang telah selesai dan berhasil dibuat, Aplikasi ini mampu terintegrasi dengan baik dengan billing yang digunakan sebelumnya dan telah di

Untuk uji coba sensor accelerometer, sensor kompas, dan sensor ultrasonik berjalan dengan baik karena pergerakan maju, mundur, belok kanan, belok kiri, arah hadapan,

Unit Testing yang dijelaskan pada sub bab ini yaitu hasil uji coba yaitu uji coba fitur login admin, fitur data master produk mebel, transaksi produksi