BAB II TINJAUAN PUSTAKA 2.1. Waterfall model. Model waterfall merupakan model proses pengembangan sistem yang klasik dan bersifat sistematis, proses dilakukan secara berurutan dari satu tahap ke tahap lain dalam membangun software (Sommerville, 2011). Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, implementasi, pengujian dan pemeliharaan. Model waterfall memiliki tahapan-tahapan dalam prosesnya, setiap tahapan tersebut harus diselesaikan sebelum berlanjut ke tahap berikutnya. Tahapan yang terdapat pada model proses waterfall ditunjukkan pada gambar 1.2. (Sommerville, 2011) Gambar 2. 1. Waterfall model 7
8 Berikut merupakan penjelasan dari masing-masing tahapan di atas (Sommerville, 2011). a. Requirements analysis and definition Layanan sistem, kendala, dan tujuan yang ditetapkan dengan berkonsultasi dengan pengguna sistem untuk mengetahui kebutuhan yang diinginkan pengguna sistem Kemudian didefinisikan secara rinci dan dijadikan sebagai spesifikasi sistem. b. Sistem and software design Software desain meliputi mengidentifikasi dan merancang abstraksi sistem perangkat lunak yang mendasar. Desain harus dapat mengimplementasikan tahap requirements. c. Implementation and unit testing Tahap ini perancangan perangkat lunak diimplementasikan ke dalam bentuk kode program. Unit pengujian melibatkan verifikasi bahwa setiap unit memenuhi spesifikasinya. d. Integration and sistem testing Tahapan dimana unit program individu atau program yang terintegrasi diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pengguna. e. Operation and maintenance Tahap ini merupakan tahapan dengan masa waktu paling lama. Pemeliharaan meliputi kesalahan mengoreksi yang tidak ditemukan pada awal tahap siklus hidup, meningkatkan implementasi unit sistem dan meningkatkan pelayanan sistem sebagai kebutuhan baru ditemukan. 2.2. UML (Unified Modeling Language) Menurut Braun pada penelitian Haviluddin (2011) Unified Modeling Language adalah suatu alat yang digunakan untuk menvisualisasikan dan mendokumentasikan hasil dari analisa dan desain yang berisi sintak dan model dari sistem secara visual
9 Unified Modeling Language merupakan aturan-aturan yang digunakan untuk mendokumentasikan analisis dan desain sistem perangkat lunak dalam bentuk kumpulan objek (kendall, 2011). Unified Modeling Language merupakan aturan-aturan yang digunakan untuk mendeskripsikan sistem perangkat lunak dalam bentuk kumpulan objek. UML bukan merupakan sebuah metode untuk mengembangkan sistem, akan tetapi notasi-notasi yang digunakan secara umum sebagai standar untuk pemodelan objek. Berikut gambar diagram UML : (Haviluddin, 2011) Gambar 2. 2.UML diagram Menurut sugrue pada penelitian Haviluddin (2011) desain Unified Modeling Language memiliki beberapa tujuan utama
10 a. Menyediakan bagi pengguna (analisis dan desain sistem) suatu bahasa pemodelan visual yang mudah dimengerti sehingga mereka dapat mengembangkan dan memahami pertukaran model data yang bermakna. b. Menyediakan suatu mekanisme yang spesialisasi untuk memperluas konsep inti. c. Bersifat independen terhadap bahasa pemrograman, sehingga mudah untuk digunakan sebagai bahasa pemodelan d. Memberikan dasar formal untuk pemahaman bahasa pemodelan. e. sebagai alat desain sistem yang berorientasi objek (OO). f. Mendukung konsep pembangunan tingkat yang lebih tinggi seperti kolaborasi, kerangka, pola dan komponen terhadap suatu sistem. g. Memiliki integrasi praktik terbaik. UML terdiri atas pengelompokan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Berikut beberapa jenis-jenis diagram UML yaitu: a. Use Case Diagram Use case menjelaskan urutan kegiatan yang dilakukan aktor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun use case hanya menjelaskan apa yang dilakukan oleh aktor dan sistem bukan bagaimana aktor dan sistem melakukan kegiatan tersebut. Selama tahap desain, use case berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Pada UML, use case digambarkan dengan simbol berbentuk oval. Berikut merupakan komponen pembentuk use case diagram yaitu: Aktor adalah seseorang atau sesuatu diluar sistem yang harus berinteraksi dengan sistem. Pada UML aktor digambarkan dengan simbol sticman Relasi adalah menggambarkan hubungan antara dua atau lebih aktor dan use case. Pada UML, relasi digambarkan dengan garis dengan atau tanda panah. Relasi yang mungkin terjadi pada use case diagram yaitu include, extends dan communicates. Kotak batas sistem adalah kotak disekitar use case untuk menggambarkan jangkauan sistem (Sommerville, 2011). b. Activity Diagram
11 Activity Diagram menggambarkan berbagai aliran dari aktivitas dalam sistem yang dirancang, bagaimana suatu aktivitas tersebut berawal, kemungkinan decision yang terjadi, dan bagaimana suatu aktivitas berakhir. Standar UML menggunakan bentuk oval untuk menggambarkan aktifitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. c. Class Diagram Class menggambarkan keadaan yang mungkin terjadi dalam sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok yaitu nama, atribut dan metoda. Atribut dan metoda dapat memiliki salah satu sifat berikut: Private, tidak dapat dipanggil dari luar class yang bersangkutan. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya. Public, dapat dipanggil oleh siapa saja. 2.3. Sistem operasi android Menurut M.Buttler pada penelitian Li Ma (2014) Android sistem adalah sistem berbasis linux dengan arsitektur yang terdiri dari empat lapisan Linux kernel,libraries and Android runtime, Application framework and Applications a. Application Android application akan dikirim satu set aplikasi inti termasuk klien, SMS Program, kalender, peta, browser, kontak, dan lain-lain. Semua program aplikasi ini dikembangkan di Java.
12 (Li Ma,2014) Gambar 2. 3.Arsitektur Android b. Application framework Application layer pengembang diperbolehkan mengakses semua kerangka API, pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti contect providers yang berupa sms dan panggilan telepon. c. Libraris Libraris dapat dibagi dalam 2 komponen android runtime dan android library. Android rumtime terdiri dari java core library dan dalvik vitual machine, java core library menyediakan sebagain besar fungsi pada java, dalvik virtual machine adalah mendaftar mesin virtual dan membuat beberapa perbaikan khusus pada pernagkat mobile. Libraries ini adalah layer di mana fitur- fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.
13 d. Linuk kernel Linux Kernel adalah layer dimana inti dari operating sistem dari Android itu berada. Berisi file-file sistem yang mengatur sistem processing, memory 2.4. Dadawuhan Dadawuhan atau perhitungan dawuh/jam dikenal dalam beberapa sistem antara lain panca dawuh dan asta dawuh. Sehari ( 24 jam ) terdiri dari siang ( 12 jam ) dan malam ( 12 jam ), yang dimulai dari terbitnya matahari sekitar pukul 06.00 pagi sampai terbitnya matahari berikutnya/besoknya ( Suparta ardhana,2005). Dalam sistem panca dawuh siang dan malam terdiri dari 5 dawuh sehingga 1 dawuh sekitar 2 jam 24 menit, sedangkan asta dawuh siang dan malam terdiri dari 8 dawuh sehingga 1 dawuh sekitar 1 jam 30 menit. 2.5. Julian day number Julian Day Number merupakan bilangan bulat yang menyatakan urutan hari yang di mulai dari angka 0 pada tanggal 1 january 4713 sm. Angka julian day number akan terus bertambah 1 satuan waktu setiap hari di mulai dari jam 12 siang. Sistem JD ini adalah suatu epok (tahun, bulan, tanggal, jam, menit,detik) dapat direpresentasikan hanya dengan satu bilangan. Ini sangat efektif untuk perhitungan-perhitungan yang menggunakan prograrn computer. a. Transformasi Waktu Sipil ke Waktu Julian Waktu dalam penanggalan sipil dapat ditransformasikan ke Waktu Julian dengan menggunakan algoritma tertentu. Seandainya dalam waktu Sipil, tahun dinyatakan dengan bilangan bulat y, bulan dinyatakan dengan bilangan bulat M. hari dinyatakan dengan bilangan bulat D, dan jam dinyatakan dengan bilangan pecahan UT, maka waktu tersebut dalam penanggalan Julian dihitung dengan menggunakan formulasi berikut, yang menurut (Hasanuddin,2001): [ ] [ ( )] Pada rumus di atas: ( ) ( )
14 WEEK dapat dihitung dari waktu Julian JD dengan formulasi berikut: [ ] a. Transformasi Waktu Julian ke Sipil Waktu Julian juga dapat ditransformasikan ke waktu dalam penanggalan sipil. Seandainya waktu Julian JD diketahui, maka parameter-parameter waktu dalam penanggalan Sipil, yaitu bilangan bulat tahun (Y), bilangan bulat bulan (M), dan bilangan pecahan hari (D), dapat dihitung dengan algoritma berikut ini (Hasanuddin,2001) : [ ] [ ] [ ] Pada rumus rumus di atas: [ ] [ ] [ ] [ ] [( )] [ ] ( ) Nama hari dalam suatu minggu dapat ditentukan dari waktu Julian (JD)-nya, melalui parameter N yang dihitung dengan rumus berikut: [ [ ] ] Dalam hal ini, N=0 menunjukan hari senin, N=1 hari selasa, N=2 hari rabu, N=3 hari kamis, N=4 hari jum`at, N=5 hari sabtu, dan N=6 hari minggu 2.7. Pawukon Ilmu wariga satu tahun wuku panjangnya 420 hari, yang terdiri dari 30 wuku dengan panjang 210 hari dikalikan 2. Satu wuku memiliki panjang hari sebanyak 7 yaitu redite, soma, anggara, buda, wrespati, sukra, saniscara. Dalam satu bulan terdapat 5 wuku, jadi jika dihitung 6 bulan didapat dengan jumlah wuku (7 hari x 30 wuku = 210 hari). 1 tahun wuku terdiri dari 2 kali peredaran
15 wuku yakni (7 hari x 30 wuku x2 =420 hari). Penamaan wuku diambil dari mitologi sang watu gunung, dimana nama-nama wuku diambil dari raja raja yang telah dikalahkan oleh watugunnug. Berikut ini adalah no wuku nama wuku dan urip dari 30 wuku. Pada tabel 2.1 akan ditampilkan pembagian wuku dengan uripnya. Tabel 2. 1.Pembagian wuku dengan uripnya Anandakusuma (1979) No Wuku Urip 1 Sinta 7 2 Landep 1 3 ukir 4 4 kulantir 6 5 tolu 5 6 Gumbreg 8 7 Wariga 9 8 Warigadean 3 9 Julungwangi 7 10 Sungsang 1 11 Dungulan 4 12 Kuningan 6 13 Langkir 5 14 Medangsia 8 15 Pujut 9 16 Pahang 3 17 Klurut 7 18 Merakih 1 19 Tambir 4 20 Medangkungan 6 21 Matal 5 22 Uye 8 23 Menial 9 24 Prambakat 3
16 25 Bala 7 26 Ugu 1 27 Wayang 4 28 Kelawu 6 29 Dukut 5 30 Watugunung 8 2.8. Wewaran Sistem wariga dibali, terdapat 10 wewaran di mulai dari eka wara, dwi wara, triwara, catur wara, panca wara, sad wara, asta wara, sanga wara, dasa wara. Untuk mengetahui hari otonan dalam dicari dengan melakukan perhitungan antara sapta wara, pancawara, dan wuku. Pada tabel 2.2 akan ditampilkan pembagian pancawara dengan uripnya dan tabel 2.3 akan ditampilkan pembagian saptawara dengan uripnya. Tabel 2. 2.Pembagian pancawara dengan uripnya Anandakusuma (1979) no panca wara Urip 1 Umanis 5 2 Pahing 9 3 pon 7 4 Wage 4 5 Keliwon 8 Tabel 2. 3 Pembagian saptawara dengan uripnya Anandakusuma (1979) no sapta wara Urip 1 Redite 5 2 Soma 4 3 Anggara 3 4 buda 7 5 Wraspati 8 6 sukra 6 7 Saniscara 9 2.9. Metode penentuan hari otonan Metode yang digunakan dalam hari penentuan otonan sebagai berikut :
17 a. Metode penetuan hari /saptawara Hari /saptawara didapat dengan membagi bilangan juilan dengan 7. Dimana 7 merepresentasikan banyaknya jumlah hari. (( ) ) Tabel 2. 4.Tabel penentuan saptawara Nohari sapta wara/hari 0 soma/senin 1 anggara/selasa 2 buda/rabu 3 wraspati/kamis 4 sukra/jumat 5 saniscara/sabtu 6 redite/minggu Pada tabel 2.4 ditampilkan tabel penetuan saptawara. Dimana nohari adalah sisa dari hasil bagi bilangan Julian di bagi 7, JD adalah bilangan Julian b. Metode penetuan pancawara Pancawara didapat dengan membagi bilangan Julian dengan 5, dimana 5 merepresentasikan banyaknya jumlah pancawara (( ) ) Tabel 2. 5.Tabel penentuan pancawara Nopanca panca wara 0 Umanis 1 Pahing 2 pon 3 Wage 4 Keliwon Pada tabel 2.5 ditampilkan tabel penetuan pancawara. Dimana nohari adalah sisa dari hasil bagi bilangan Julian di bagi 5, JD adalah bilangan Julian
18 c. Metode penentuan wuku Wuku didapat dengan membagi bilangan Julian dengan 210 kemudian hasilnya dibagi 7 karena rentang 1 wuku adalah 7 hari. (( ) ) Tabel 2.6.Tabel penentuan wuku Nowuku Wuku 21 Sinta 22 Landep 23 ukir 24 kulantir 25 tolu 26 Gumbreg 27 Wariga 28 Warigadean 29 Julungwangi 0 Sungsang 1 Dungulan 2 Kuningan 3 Langkir 4 Medangsia 5 pujut 6 pahang 7 klurut 8 Merakih 9 Tambir 10 Medangkungan 11 matal 12 Uye 13 Menial 14 Prambakat
19 15 Bala 16 ugu 17 Wayang 18 Kelawu 19 Dukut 20 Watugunung Pada tabel 2.6 ditampilkan tabel penetuan wuku. Dimana nohari adalah sisa dari hasil bagi bilangan Julian di bagi 210, JD adalah bilangan Julian 2.10. Penentuan tanggal otonan Berikut merupakan metode yang digunakan dalam menentukan tanggal otonan : a. Metode penetuan tanggal otonan pertama ( ) ((( ) ) ) Pada rumus rumus diatas : b. Metode penetuan tanggal otonan kedua ( ) ( (( ) ) ) ) Pada rumus rumus diatas :