BAB II LANDASAN TEORI 2.1 Analisis Kebutuhan Perangkat Lunak Analisis kebutuhan merupakan langkah awal untuk menentukan perangkat lunak yang dihasilkan. Analisis kebutuhan menjadi faktor yang sangat menentukan keberhasilan perangkat lunak itu sendiri. Jika pada tahap analisis kebutuhan terjadi kesalahan, maka perangkat lunak yang dihasilkan pun menjadi tidak berguna. Analisis kebutuhan yang baik belum tentu menghasilkan perangkat lunak yang baik pula. Namun jika pada tahap ini sudah terjadi kesalahan, maka sudah pasti akan menghasilkan perangkat lunak yang gagal. Adapun faktor utama yang harus dipenuhi dalam membuat analisis kebutuhan adalah sebagai berikut: 1. Komunikasi yang baik Membangun komunikasi yang baik dengan pengguna merupakan hal yang sangat diperlukan guna hasil dari perangkat lunak yang dikerjakan sesuai dengan apa yang diharapkan. Hal ini juga menjadi bantuan yang sangat penting guna menjadikan komunikasi yang terbuka dan lancar. 2. Mengetahui kebutuhan
7 Dalam hal ini penulis harus mengetahui tentang apa yang akan dikerjakan oleh programmer. Kebutuhan dan batasan yang diinginkan pengguna harus ditentukan dan dinyatakan secara tegas. 3. Terbuka dengan langkah yang dilakukan. Bersikap terbuka selama proses pembuatan perangkat lunak akan sangat membantu. Hal ini sesuai dengan pilihan yang diminta oleh pengguna. Antara programmer dengan pengguna akan mudah didalam mengambil sebuah keputusan. 4. Gunakanlah istilah yang sederhana. Jangan gunakan istilah yang tidak dimengerti oleh pengguna terutama dalam proses analisis kebutuhan. Hal ini akan mengakibatkan komunikasi akan lebih sulit dan tentunya berdampak pada hasil perangkat lunak yang dibuat. 2.2 Aplikasi Hitung Zakat Aplikasi Hitung Zakat merupakan suatu alat yang mampu menghitung zakat berdasarkan jenisnya sesuai dengan mazhab yang dipakai yaitu mazhab Syafi i. Perangkat lunak ini dibuat berdasarkan perhitungan yang didasarkan pada Al- Quran dan Sunnah. 2.2.1 Pengertian Zakat Penulis mengenal zakat sebagai salah satu dari lima rukun Islam yang di dalam Al-Quran seringkali dikaitkan dengan shalat. Zakat berasal dari bentuk kata yang berarti suci, baik, berkah, tumbuh, dan berkembang. Menurut terminologi syariat,
8 zakat adalah nama bagi sejumlah harta tertentu yang telah mencapai syarat tertentu yang diwajibkan oleh Allah untuk dikeluarkan dan diberikan kepada yang berhak menerimanya dengan persyaratan tertentu pula. Kaitan antara makna secara bahasa dan istilah ini berkaitan erat sekali, yaitu bahwa setiap harta yang sudah dikeluarkan zakatnya akan menjadi suci, bersih, baik, berkah, tumbuh dan berkembang. Seperti yang tertulis dalam surat At-Taubah: (103) sebagai berikut: "Ambillah zakat dari sebagian harta mereka, dengan zakat itu kamu membersihkan dan mensuci-kan mereka." (At-Taubah: 103) Pada dasarnya ada 2 macam zakat, yaitu zakat maal atau zakat atas harta kekayaan dan zakat fitri yaitu zakat untuk membersihkan diri yang dibayarkan pada bulan Ramadhan menjelang Idul Fitri. Secara rinci pembagian zakat berdasarkan jenisnya dapat dilihat pada Gambar 1.1 berikut ini:
9 Fitrah Zakat Maal 1. Zakat Emas dan Perak 2. Zakat Pertanian 3. Zakat Perdagangan 4. Zakat Binatang Ternak 5. Zakat Barang Temuan 6. Zakat Profesi Gambar 1.1 Bagan Pembagian Zakat Berdasarkan Jenisnya 2.2.2 Penghitungan Zakat Penghitungan zakat disesuaikan dengan menggunakan mazhab Syafi i. Adapun sebelum memulai pembahasan mendalam dan terperinci mengenai setiap kategori aset wajib zakat, penulis akan memaparkan sejumlah tahapan ketentuan umum dalam menentukan dan menghitung aset wajib zakat pada Gambar 1.2 berikut ini:
10 Menentukan dengan memilih dan memilah aset wajib zakat Menentukan kategori aset wajib zakat Menentukan dan menghitung total pengeluaran Menghitung sumber aset wajib zakat (total nilai asset wajib zakat-total pengeluaran) Mengacu besaran nisab sesuai dengan kategori Membandingkan sumber dengan nisab (jika sumber >= nisab maka wajib zakat) Mengacu besaran volume persentase zakat sesuai dengan kategori Menghitung jumlah zakat Gambar 1.2 Tahapan Dalam Menentukan dan Menghitung Aset Wajib Zakat Penghitungan zakat akan dijelaskan sebagai berikut: a. Zakat Fitrah Kadar zakat fitrah yang harus dibayar adalah satu sha' dari makanan pokok Negara se tempat, dan satu sha' untuk ukuran sekarang
11 kira-kira 2,176 kg (ketentuan ini sesuai makanan pokok gandum) dibulatkan menjadi 2,5 kg atau Kadar nilai zakat disesuaikan dengan harga makanan pokok masing-masing negara. b. Zakat Maal Zakat Maal terdiri atas: 1. Zakat Emas dan Perak Nishab emas = 20 Mithqal = 85 gr emas murni Nishab perak = 200 dirham = 643 gr perak Syarat: berlakunya waktu 1 tahun dalam keadaan nishab. Jumlah zakatnya = 2,5% x (jumlah emas/perak) 2. Zakat Pertanian Nishab hasil pertanian: 5 wasaq = 653 kg. Syarat: harus dimiliki orang tertentu tanahnya. Jumlah zakatnya: a. 10% x Jumlah hasil pertanian (diairi oleh air hujan) b. 5% x Jumlah hasil pertanian (diairi dengan irigasi)
12 3. Zakat Perdagangan Nishabnya sama dengan emas dan perak atau jika diubah dalam bentuk uang maka harganya setara dengan harga emas 85 gr saat ini. Cara membayar zakat perdagangan yaitu dengan menentukan waktu tahunan untuk membayar zakat. Jumlah zakatnya: (Nilai barang dagangan + Keuntungan Hutang) x 2,5% 4. Zakat Binatang Ternak Yang dimaksud hewan disini adalah binatang yang dimanfaatkan manusia, seperti onta, sapi dan kambing. Adapun syarat umum zakat binatang: 1. Mencapai nishab. Nishab onta adalah 5 ekor, kambing 40 ekor dan sapi 30 ekor. Jika jumlah hewan yang dimiliki belum mencapai nishab, maka tidak wajib zakat. 2. Mencapai haul satu tahun Hijriyah (telah dimiliki selama setahun). 3. Merupakan binatang yang digembalakan. 4. Bukan merupakan hewan yang digunakan untuk bekerja, seperti untuk membajak sawah, membawa barang, dan memindahkan perniagaan. Karena hewan ini dikategorikan dalam kebutuhan dasar seperti pakaian.
13 Adapun untuk lebih jelasnya dapat dilihat pada Tabel 1.0 berikut ini: 1. Zakat Onta Tabel 1 Zakat Binatang Onta Jumlah Onta Jumlah Zakat 5-9 ekor 1 kambing 10-14 ekor 2 kambing 15-19 ekor 3 kambing 20-24 ekor 4 kambing 25-35 ekor 1 ekor onta betina usia satu tahun dan memasuki tahun ke dua 36-45 ekor 1 ekor onta betina usia dua tahun dan memasuki tahun ke tiga 46-60 ekor 1 ekor onta betina usia tiga tahun dan memasuki tahun ke empat 61-75 ekor 1 ekor onta betina usia empat tahun dan memasuki tahun ke lima 76-90 ekor 2 ekor onta betina usia dua tahun dan memasuki tahun ke tiga 91-120 ekor 2 ekor onta betina usia tiga tahun dan memasuki tahun ke empat Untuk jumlah onta di atas 120 ekor, pada setiap 40 ekor mengeluarkan zakat sebesar 1 ekor onta betina usia dua tahun dan memasuki tahun ke tiga dan pada setiap 50 ekor mengeluarkan zakat sebesar 1 ekor onta betina usia tiga tahun dan memasuki tahun ke empat.
14 2. Zakat Sapi Tabel 2 Zakat Binatang Sapi Jumlah sapi Jumlah zakat yang dikeluarkan 30-39 ekor 1 ekor sapi jantan yang telah genap berusia satu tahun dan memasuki tahun ke dua atau 1 ekor sapi betina yang telah genap berusia satu tahun dan memasuki tahun ke dua. 40-59 ekor 1 ekor sapi betina yang telah genap berusia dua tahun dan memasuki tahun ke tiga. 60-69 ekor 2 ekor sapi jantan yang telah genap berusia satu tahun dan memasuki tahun ke dua atau 2 ekor sapi betina yang telah genap berusia satu tahun dan memasuki tahun ke dua. 70-79 ekor 1 ekor sapi jantan yang telah genap berusia satu tahun dan memasuki tahun ke dua dan 1 ekor sapi betina yang telah genap berusia dua tahun dan memasuki tahun ke tiga. 80 ekor 2 ekor sapi betina yang telah genap berusia dua tahun dan memasuki tahun ke tiga. 90 ekor 3 ekor sapi jantan yang telah genap berusia satu tahun dan memasuki tahun ke dua 100 ekor 2 ekor sapi jantan yang telah genap berusia satu tahun dan memasuki tahun ke dua dan 1 ekor sapi betina yang telah genap berusia dua tahun dan memasuki tahun ke tiga. Untuk jumlah sapi di atas 100 ekor, setiap 30 ekor mengeluarkan zakat sebesar 1 ekor sapi betina yang telah genap berusia satu tahun dan memasuki tahun ke dua dan setiap 40 ekor
15 mengeluarkan zakat sebesar 1 ekor sapi betina yang telah genap berusia dua tahun dan memasuki tahun ke tiga. 3. Zakat Kambing Tabel 3 Zakat Binatang Kambing Jumlah kambing Jumlah zakat yang dikeluarkan 40-120 1 ekor kambing 121-200 2 ekor kambing 201-399 3 ekor kambing 400-499 4 ekor kambing 500-599 5 ekor kambing 5. Zakat Barang Temuan Menurut para Ulama, yang dimaksud dengan barang temuan (rikaz) adalah harta pendaman jahiliyah, termasuk dalam kategori ini adalah barang yang ditemukan di atas permukaan bumi. Menurut mazhab Syafi i, zakat yang harus dikeluarkan dari rikaz sebesar 20% dan dalam rikaz tidak ada syarat nishab.
16 6. Zakat Profesi Zakat profesi nishabnya yaitu sebesar harga emas 85 gr saat ini. Dalam zakat profesi, pembayaran zakatnya dikeluarkan setelah menerima gaji tentunya setelah dipotong hutang serta keperluan primer sehari-hari. Jumlah zakatnya: (Total gaji/pendapatan Total pengeluaran) x 2,5 % 2.3 Sejarah Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. Membeli android Inc. Yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcom, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Dilain piha, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler. Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis android, vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Sony Ericsson dan masih banyak lagi vendor
17 smartphone di dunia yang memproduksi android. Hal ini, karena android itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun. Tidak hanya menjadi sistem operasi di smartphone, saat ini Android menjadi pesaing utaa dari Apple pada sistem operasi Tablet PC. Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, Aplikasi dan Tool Pengembangan, serta dukungan yang sangat tinggi dari komunitas Open Source dunia sehingga android terus berkembang pesat. 2.3.1 Dasar Aplikasi Android Aplikasi Android ditulis dalam bahasa pemrograman java. Kode java dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi, dimana prosesnya dipackage oleh tools yang dinamakan apt tools kedalam paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang kita sebut dengan aplikasi, dan nantinya dapat di install di perangkat mobile. Ada enam jenis komponen pada aplikasi Android yaitu: a. Activities Suatu activities akan menyajikan user interface (UI) kepada pengguna, Sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi android bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi
18 memiliki banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. b. Service Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan secara background, sebagai contoh dalam memainkan music, service mungkin memainkan music atau mengambil data dari jaringan, tetapi setiap service harus berada dalam kelas induknya. c. Broadcast Receiver Broadcast Receifer berfungsi menerima dan bereaksi untuk menyampaikan notifikasi. Contoh broadcast seperti zona waktu berubah, baterai low, gambar telah selesai diambil oleh kamera, atau pengubahan referensi bahasa yang digunakan. Broadcast Receifer tidak memiliki User Interface (UI), tetapi memiliki sebuah acticity untuk merespon informasi yang mereka terima, atau mungkin menggunakan Notification Manager untuk memberitahu kepada pengguna, seperti lampu latar atau vibrating (getaran) perangkat, dan lain sebagainya.
19 d. Content Provider Content Provider membuat kumpulam aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya ketika kita menggunakan aplikasi yang membutuhkan peta (Map), atau aplikasi yang membutuhkan untuk mengakses data kontak dan navigasi, maka disinilah fungsi content provider. 2.3.2 Mengenal Integrated Development Environment (IDE) Eclipse Untuk dapat menggunakan fasilitas Eclipse dengan baik, akan sangat penting untuk mengetahui IDE (Integrated Development Environment) atau lingkungan kerja Eclipse itu sendiri. Tampilan fasilitas-fasilitas atau IDE Eclipse yang berisi komponen-komponen dapat dilihat pada Gambar 1.3 berikut ini: Gambar 1.3 Interface Eclipse
30 Gambar 2.5 Tampilan folder project Tampilan layout aplikasi memiliki dua mode, yaitu mode XML dan mode Graphical layout. Gambar 2.6 Tampilan Mode Graphical Layout
31 Gambar 2.7 Tampilan Mode XML 3.3.2 Perancangan Layout Menu Perancangan layout menu merupakan layout halaman depan yang menampilkan menu pilihan hitung zakat. Desain dari tampilan layout menu menggunakan propertis yang ada dibagian sebelah kanan. Gambar 2.8 Tampilan Layout Menu Aplikasi Hitung Zakat
32 Desain layout menu Aplikasi Hitung Zakat pada gambar 2.8 diatas dibuat denga mengubah nilai properties layout menu adalah sebagai berikut: Tabel 4 Tabel Properties Layout Menu Aplikasi Hitung Zakat Type ID Text Fungsi TextView emas Harga Emas Label Harga Emas TextView txtemas Menampilkan harga emas TextView nisab Besar Nisab Label Besar Nisab TextView txtnisab Menampilkan besar nisab Button profesi Zakat Profesi Tombol ke aplikasi hitung zakat profesi Button niaga Zakat Perdagangan Tombol ke aplikasi hitung zakat perdagangan 3.3.3 Perancangan Layout Hitung Zakat Profesi Perancangan layout itung zakat profesi hampir sama dengan perancangan pada layout menu, yang membedakan pada layout ini ada tambahan satu widget yaang tidak ada pada layout sebelumnya yakni widget EditText.
33 Gambar 2.9 Tampilan Layout Aplikasi Hitung Zakat Profesi Adapun pengaturan propertiesnya adalah sebagai berikut: Tabel 5 Tabel Properties Layout Aplikasi Hitung Zakat Profesi Type ID Text Fungsi TextView Perhitungan Zakat Profesi Label Perhitungan Zakat Profesi TextView TextView01 Pendapatan / gaji perbulan(setelah dipotong pajak) : Label Pendapatan / gaji perbulan(setelah dipotong pajak) : EditText txtgaji User input Pendapatan / gaji
34 perbulan(setelah dipotong pajak) TextView TextView01 Bonus pertahun Label Bonus pertahun EditText txtbonus User input Bonus pertahun Button btnhitung Hitung Tombol Proses Hitung TextView TextView01 Jumlah zakat profesi yang wajib dibayarkan: Label Jumlah zakat profesi yang wajib dibayarkan: EditText txtzakat Menampilkan Jumlah zakat profesi yang wajib dibayarkan Button btnback Kembali ke Menu Tombol kembali ke menu 3.3.4 Perancangan Layout Hitung Zakat Perdagangan Proses perancangan layout Hitung Zakat Perdagangan mempunya kesamaan dengan layaout Hitung Zakat Profesi. Adapun tampilan layaoutnya sebagai berikut:
35 Gambar 3.0 Tampilan Layout Aplikasi Hitung Zakat Perdagangan Adapun pengaturan propertiesnya adalah sebagai berikut: Tabel 6 Tabel Properties Layout Aplikasi Hitung Zakat Perdagangan Type ID Text Fungsi TextView Perhitungan Zakat Perniagaan Label Perhitungan Zakat Perniagaan TextView TextView01 Kekayaan/Total dagangan : Label Total barang dagangan : EditText txtkekayaan User input Total barang dagangan TextView TextView01 Hutang : Label Hutang : EditText txthutang User input Hutang TextView TextView01 Kepemilikan Label
36 dalam(%) : Kepemilikan dalam(%) EditText txtkepemilikan User input Kepemilikan dalam(%) Button btnhitung Hitung Tombol Proses Hitung TextView TextView03 Jumlah Bersih Harta Usaha : Label Jumlah Bersih Harta Usaha EditText txtjmlbersih Menampilkan Jumlah Bersih Harta Usaha TextView TextView03 Jumlah zakat perdagangan yang wajib dibayarkan: Label Jumlah zakat perdagangan yang wajib dibayarkan EditText txtjmlzakat Menampilkan Jumlah zakat perdagangan yang wajib dibayarkan Button btnback Kembali ke Menu Tombol kembali ke menu
37 3.4 Mengkompile Aplikasi Hitung Zakat Langkah terakhir dalam pembuatan aplikasi adalah mengkompile program yang telah penuli buat memjadi aplikasi berbentuk.apk. Untuk membuat file.apk adalah sebagai berikut: - Klik File > Export > folder Android > Export Android Application. - Selanjutnya tentukan tempat penyimpanan file.apk. - Beri nama file apk - Klik Next > create new keystore - Tentuka key alias selection pilih combonya kemudian masukkan password my release key nya. - Tentukan lokasi penyimpanan file apk. - Selesai