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
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
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.
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.
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
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
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
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
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
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
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.
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 :
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 berjalandi 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
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
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
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
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.
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
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
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
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
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 :
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”
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.
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.
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)
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
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).
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)
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
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
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.
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
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
digunakan dalam aplikasi yang banyak kita jumpai, termasuk dalam beberapa high-profil project.
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.
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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{
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
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
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 =
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() {
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
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() {
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
//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: {
}
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
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){