Aplikasi Hitung Zakat Berbasis Android
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
HERU NUR CHOLIS 102406270
PROGRAM STUDI D-3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2013
(2)
A PLIKASI HITUNG ZAKAT BERBASIS ANDROID
TUGAS AKHIR
HERU NUR CHOLIS 102406270
PROGRAM STUDI D-3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2013
(3)
PERSETUJUAN
Judul : APLIKASI HITUNG ZAKAT BERBASIS ANDROID
Kategori : TUGAS AKHIR
Nama : HERU NUR CHOLIS
Nomor Induk Mahasiswa : 102406270
Program Studi : DIPLOMA (D3) TEKNIK INFORMATIKA Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Disetujui oleh:
Disetujui oleh
Departemen Matematika FMIPA USU Ketua,
Prof. Dr. Tulus, M.Si NIP. 196209011988031002
Pembimbing,
Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
(4)
ii
PERNYATAAN
APLIKASI HITUNG ZAKAT BERBASIS ANDROID
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2013
Heru Nur Cholis NIM. 102406270
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini tepat pada waktunya.
Dalam menyelesaikan Tugas Akhir ini, penulis banyak mengalami kesulitan namun berkat bimbingan, dorongan dan bantuan dari rekan mahasiswa-mahasiswi Program Studi D3 Teknik Informatika FMIPA USU, dosen dan semua pihak yang terkait dalam penyelesaian Tugas Akhir ini, hal tersebut dapat penulis atasi dengan baik. Karenanya penulis mengucapkan terimah kasih kepada:
1. Ayahanda dan Ibunda serta keluarga tercinta yang telah banyak memberikan dukungan kepada penulis.
2. Bapak Prof. Dr. Muhammad Zarlis sebagai dosen pembimbing yang telah banyak memberikan saran dan masukan dalam penyelesaian Tugas Akhir ini.
3. Bapak Dr. Sutarman, M. Sc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
4. Bapak Prof. Dr. Tulus, M. Si selaku ketua Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
5. Teman-teman dan adik-adik di UKMI (Unit Kegiatan Mahasiswa Islam) Al-Falak.
(6)
viii
Penulis menyadari bahwa dalam penulisan Tugas Akhir ini masih banyak terdapat kekurangan dan kesalahan, untuk itu penulis sangat mengharapkan kritik dan saran dari semua pihak guna penyempurnaan Tugas Akhir ini di masa yang akan datang.
Medan. 12 Juni 2013 Penulis,
Heru Nur Cholis NIM. 102406270
(7)
ABSTRAK
Dalam penulisan Tugas Akhir ini, penulis membahas mengenai Aplikasi Penghitung Zakat berbasis android dengan menggunakan bahasa pemrograman java yang dapat digunakan untuk smartphone/ponsel dengan tampilan program yang sederhana sesuai dengan jenis zakat yang ingin dihitung sehingga dapat digunakan oleh masyarakat luas.
Berdasarkan sumber data penulisan Tugas Akhir yang dikaji, aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman java. Aplikasi ini meliputi penginputan masukan data oleh user yang berkaitan dengan zakat. Aplikasi ini mempermudah masyarakat dalam melakukan kegiatan penghitungan zakat sesuai dengan jenisnya.
Dari sistem yang sudah diterapkan, hasil penghitungan zakat sesuai dengan jenisnya akan menjadi lebih mudah karena sistem yang digunakan adalah sistem yang praktis berupa aplikasi smartphone/ponsel yang dengan mudah dapat diakses dan hasilnya dapat diterima oleh masyarakat.
(8)
vi
DAFTAR ISI
Halaman Judul Halaman
Halaman Persetujuan i
Halaman Pernyataan ii
Penghargaan iii
Abstrak v
Daftar Isi vi
Daftar Gambar ix
Daftar Tabel xi
BAB I PENDAHULUAN
1.1Latar Belakang 1
1.2 Identifikasi Masalah 2
1.3 Rumusan Masalah 3
1.4 Batasan Masalah 3
1.5 Tujuan Penulisan 3
1.6 Manfaat 3
1.7 Tahapan Perancangan 4 1.8 Sistematika Penulisan 4
(9)
BAB II LANDASAN TEORI
2.1 Analisis Kebutuhan Perangkat Lunak 6 2.2 Aplikasi Hitung Zakat 7 2.2.1 Pengertian Zakat 7 2.2.2 Penghitungan Zakat 9
2.3 Sejarah Android 16
2.3.1 Dasar Aplikasi Android 17 2.3.2 Mengenal Integrated Development Environment
(IDE) Eclipse 19
BAB III PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem Rancangan 20 Aplikasi Hitung Zakat Berbasis Android
3.2 Persiapan Coding 22
3.2.1 Instalasi Java 22
3.2.2 Instalasi Android SDK 23 3.2.3 Instalasi Eclipse 23 3.2.4 Instalasi ADT 23
3.2.5 Membuat AVD 25
3.3 Perancangan Aplikasi Hitung Zakat 27 3.3.1 Perancangan Layout Aplikasi 29 3.3.2 Perancangan Layout Menu 31 3.3.3 Perancangan Layout Hitung Zakat Profesi 32
(10)
viii
3.3.4 Perancangan Layout Hitung Zakat
Perdagangan 34
3.4 Mengkompile Aplikasi Hitung Zakat 37
BAB IV PEMBAHASAN
4.1 Pembuatan Program 38 4.2 Tampilan Menu Aplikasi Hitung Zakat Berbasis
Android 38
4.3 Tampilan Layout Hitung Zakat Profesi 39 4.4 Tampilan Layout Hitung Zakat Perdagangan 40
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan 42
5.2 Saran 43
Daftar Pustaka Lampiran Listing Program
(11)
Gambar 1.1 Bagan Pembagian Zakat Berdasarkan Jenisnya ... 9
Gambar 1.2 Tahapan Dalam Menentukan dan Menghitung Aset Wajib Zakat .... 10
Gambar 1.3 Interface – interface Eclipse ... 19
Gambar 1.4 Diagram Penghitungan Zakat... 21
Gambar 1.5 Instalasi Java ... 22
Gambar 1.6 Add ADT Plugin ... 24
Gambar 1.7 Menghubungkan Android SDK dengan Eclipse ... 25
Gambar 1.8 Membuat AVD ... 26
Gambar 1.9 Android Virtual Device ... 26
Gambar 2.0 Tampilan Menu File ... 27
Gambar 2.1 Tampilan New Project Eclipse ... 27
Gambar 2.2 Tampilan Icon Launcer (Shorcut) ... 28
Gambar 2.3 Tampilan Create Activity ... 28
Gambar 2.4 Tampilan Penamaan Activity ... 29
Gambar 2.5 Tampilan Folder Project... 30
Gambar 2.6 Tampilan Mode Graphical Layout ... 30
Gambar 2.7 Tampilan Mode XML ... 31
Gambar 2.8 Tampilan Layout Menu Aplikasi Hitung Zakat ... 31
(12)
x
Gambar 3.0 Tampilan Layout Aplikasi Hitung Zakat Perdagangan... 35
Gambar 3.1 Tampilan Menu Aplikasi Hitung Zakat Berbasis Android ... 38
Gambar 3.2 Tampilan Menu Aplikasi Hitung Zakat Profesi ... 39
(13)
Tabel 1 Zakat Binatang Onta ... 15
Tabel 2 Zakat Binatang Sapi ... 16
Tabel 3 Zakat Binatang Kambing ... 17
Tabel 4 Tabel Propertis Layout Menu Aplikasi Hitung Zakat ... 32
Tabel 5 Tabel Propertis Layout Menu Aplikasi Hitung Zakat Profesi ... 33
(14)
v
ABSTRAK
Dalam penulisan Tugas Akhir ini, penulis membahas mengenai Aplikasi Penghitung Zakat berbasis android dengan menggunakan bahasa pemrograman java yang dapat digunakan untuk smartphone/ponsel dengan tampilan program yang sederhana sesuai dengan jenis zakat yang ingin dihitung sehingga dapat digunakan oleh masyarakat luas.
Berdasarkan sumber data penulisan Tugas Akhir yang dikaji, aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman java. Aplikasi ini meliputi penginputan masukan data oleh user yang berkaitan dengan zakat. Aplikasi ini mempermudah masyarakat dalam melakukan kegiatan penghitungan zakat sesuai dengan jenisnya.
Dari sistem yang sudah diterapkan, hasil penghitungan zakat sesuai dengan jenisnya akan menjadi lebih mudah karena sistem yang digunakan adalah sistem yang praktis berupa aplikasi smartphone/ponsel yang dengan mudah dapat diakses dan hasilnya dapat diterima oleh masyarakat.
(15)
1.1Latar Belakang
Perkembangan teknologi saat ini berkembang pesat begitu juga dengan teknologi telepon selular yang semakin hari mengalami peningkatan yang cepat. Saat ini, penggunaan teknologi ini dirasakan memiliki peranan penting khususnya dalam membantu beberapa jenis pekerjaan yang biasanya dilakukan secara manual akan lebih cepat dikerjakan dengan memanfaatkan penggunaan teknologi ini. Selain itu teknologi ini mudah untuk diakses sehingga dapat meningkatkan produktifitas pemakainya. Pada kesempatan kali ini, penulis mencoba memanfaatkan penggunaan teknologi telepon selular dalam menjalankan aplikasi Penghitung Zakat Berbasis Android.
Pembayaran zakat sendiri merupakan hal yang diwajibkan. Khususnya bagi umat Islam, sebab zakat merupakan ajaran pokok agama yang sangat penting dan strategis dalam Islam. Zakat merupakan rukun Islam ke tiga setelah syahadat dan shalat. Seperti yang tercantum dalam hadist riwayat Bukhari dan Muslim dari Abdullah bin Umar: ”Islam dibangun atas lima rukun: Syahadat tiada Tuhan kecuali Allah dan Muhammad SAW utusan Allah, menegakkan shalat, membayar zakat, menunaikan haji dan puasa ramadhan”.
(16)
2
Jika shalat berfungsi untuk membentuk keshalihan dari sisi pribadi, maka zakat berfungsi membentuk keshalihan dalam sistem sosial kemasyarakatan. Pembentukan keshalihan pribadi dan keshalihan dalam sistem masyarakat inilah salah satu tujuan diturunkannya risalah Islam oleh Allah SWT kepada manusia. Mengingat pentingnya pembayaran zakat itu sendiri, penulis mencoba mengimplementasikannya dalam bentuk software penghitung zakat.
Dalam pembuatan software penghitungan zakat, penulis menggunakan bahasa pemrograman Java. Berdasarkan penjelasan tersebut, penulis mengangkat judul “Aplikasi Hitung Zakat Berbasis Android”.
1.2 Identifikasi Masalah
Dalam penghitungan zakat, pada umumnya masih dilakukan secara manual menggunakan alat penghitung yang biasa. Apalagi dalam penghitungan zakat itu sendiri memerlukan pengetahuan yang cukup tentang pembagiannya agar hasil yang diperoleh sesuai dengan apa yang diharapkan berdasarkan pada Al-Qur’an dan Sunnah. Selain itu zakat juga banyak jenisnya. Banyaknya masyarakat awam yang belum mengetahui tentang pembayaran zakat berdasarkan jenisnya membuat penulis berencana membuat Aplikasi Penghitung Zakat Berbasis Android guna memudahkan pengguna dalam menghitung zakat. Apalagi bagi Instansi seperti Lembaga Amil Zakat atau Panitia Pengurus Zakat hal ini tentu sangat diharapkan guna memudahkan pekerjaan serta hasilnya dapat diterima oleh semua pihak tanpa meninggalkan hukum Islam itu sendiri.
(17)
1.3 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan sebelumnya, timbul masalah yang berkaitan dengan tugas akhir ini yaitu “Bagaimana merancang pembuatan Aplikasi Hitung Zakat Berbasis Android”.
1.4 Batasan Masalah
Dalam penyusunan tugas akhir penulis membatasi masalah tentang pembuatan Aplikasi Hitung Zakat yang cenderung lebih sering diperlukan untuk memberi kemudahan bagi pengguna yaitu zakat profesi dan zakat perdagangan.
1.5 Tujuan Penulisan
Tujuan penulisan tugas akhir ini tidak lain untuk mengenalkan serta mempermudah masyarakat awam maupun instansi terkait dalam penyelesaian penghitungan zakat dan hasilnya Insya Allah dapat diterima oleh semua pihak terkait guna kepentingan bersama.
1.6 Manfaat
Adapun manfaat dari penulisan tugas akhir ini adalah untuk mengetahui penghitungan jumlah zakat yang harus dikeluarkan berdasarkan jenisnya dengan lebih modern.
(18)
4
1.7 Tahapan Perancangan
Adapun metode yang digunakan penulis dalam perancangan pembuatan Aplikasi Penghitung Zakat ini antara lain:
1. Rencana Kebutuhan
Data pendukung yang penulis gunakan untuk membuat program ini antara lain adalah buku-buku tentang pemrograman aplikasi mobile smartphone berbasis android serta buku-buku maupun artikel tentang zakat itu sendiri,
2. Pembuatan Program
Program ini dibuat berdasarkan kebutuhan masyarakat awam atau instansi terkait akan pentingnya alat yang dapat mempermudah menghitung zakat serta melakukan pembuatan desain untuk menampilkannya.
3. Pengujian Program
Pengujian program dilakukan agar dapat melihat berhasil atau tidak program yang dibuat. Jika program yang dibuat tidak berhasil, maka dapat dilakukan perbaikan kembali.
1.8 Sistematika Penulisan
Berikut sistematika penulisan tugas akhir ini dibagi menjadi 5 bab yaitu sebagai berikut:
(19)
Bab ini berisi tentang latar belakang permasalahan, identifikasi masalah, perumusan masalah, batasan masalah, tujuan, manfaat, tahapan perancangan dan sistematika penulisan tugas akhir.
BAB 2 Landasan Teori
Bab ini mengungkapkan tentang konsep dasar dan teori yang mendukung pembahasan untuk tema penulisan tugas akhir ini yang diperoleh dari literatur.
BAB 3 Perancangan Sistem
Bab ini akan membahas tentang perancangan Aplikasi Hitung Zakat Berbasis Android dan gambaran umum rancangan.
BAB 4 Implementasi Sistem
Bab ini akan membahas Aplikasi Hitung Zakat Berbasis Android yang dirancang, pembuatan program yang diusulkan, tampilan interface program dan pengujian perangkat lunak.
BAB 5 Kesimpulan dan Saran
Bab ini berisi kesimpulan dari bab sebelumnya, sehingga dari kesimpulan tersebut penulis mencoba memberi saran yang berguna untuk melengkapi dan menyempurnakan pengembangan perangkat lunak untuk masa yang akan datang.
(20)
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.
(21)
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,
(22)
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:
(23)
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:
Maal 1. Zakat Emas dan Perak
2. Zakat Pertanian
3. Zakat Perdagangan
4. Zakat Binatang Ternak
5. Zakat Barang Temuan 6. Zakat Profesi
Zakat
(24)
10
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
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
(25)
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)
(26)
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.
(27)
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.
(28)
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
(29)
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.
(30)
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
(31)
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
(32)
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.
(33)
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:
(34)
30
Gambar 2.5 Tampilan folder project
Tampilan layout aplikasi memiliki dua mode, yaitu mode XML dan mode Graphical layout.
(35)
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.
(36)
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.
(37)
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
(38)
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:
(39)
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
(40)
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
(41)
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
(42)
BAB III
PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem Rancangan Aplikasi Hitung Zakat Berbasis Android
Rancangan Software Penghitung Zakat merupakan suatu rancangan yang dibuat guna mendefinisikan cara yang tepat agar penggunaannya dipahami oleh pengguna sehingga tidak memerlukan pembimbing dalam penggunaannya. Perancangan sistem ini dibuat dengan menggunakan IDE Eclipse. Perancangan aplikasi Hitung Zakat yang memiliki beberapa menu serta fitur dengan penampilan yang sederhana sehingga tidak membingungkan penggunanya. Selain itu perancangan perangkat lunak ini menggunakan penghitungan yang disesuaikan dengan Al-Qur’an dan Sunnah yang tentunya menjadi pedoman bagi penghitungan zakat itu sendiri.
Adapun pada Software Penghitung Zakat ini memiliki beberapa jenis atau kategori zakat yang masing-masing memiliki rumus penghitungannya sendiri. Gambaran umum masing-masing zakat dapat dilihat pada Gambar 1.4 berikut ini:
(43)
Gambar 1.4 Diagram Perhitungan Zakat Mulai
Zakat Profesi
Memilih Aset Wajib Zakat
Zakat Perdagangan
Menghitung sumber asset wajib zakat (total nilai aset wajib zakat – total pengeluaran)
Membandingkan sumber dengan nisab (jika sumber > nisab maka wajib zakat)
Mengacu besaran volume persentase zakat sesuai dengan kategori
(44)
22
3.2 Persiapan Coding
Setelah membahas gambaran android pada bab sebelumnya, pada bab ini akan membahas secara detail hal-hal yang diperlukan dalam rangka membuat aplikasi smartphone.
3.2.1 Instalasi Java
Perancangan Aplikasi Hitung Zakat menggunakan bahasa pemrograman java dan menggunakan IDE Eclipse. Untuk memulai merancang Aplikasi Hitung Zakat ini sebelumnya komputer/pc harus diinstall terlebih dahulu program java.
(45)
3.2.2 Instalasi Android SDK
SDK (Software Development Kit) diperlukan sebagai alat bantu dalam mengembangkan aplikasi pada platform Android dimana menggunakan bahasa pemrograman java. Adapun langkahnya sebagai berikut:
Ekstrak file android Android SDK.rarke directory dimana anda mau letakkan file android sdk (standard) pada directory c:\program files\Android SDK (sebelum ekstract anda harus buat directory Android SDK dulu).
3.2.3 Instalasi Eclipse
Lakukan instalasi eclipse sebagai IDE yang akan digunakan dalam coding Aplikasi Hitung Zakat. Eclipse adalah IDE untuk pengembangan java/android yang free dan dapat didownload disitus resminya.
3.2.4 Instalasi ADT
ADT atau yang lebih dikenal dengan plugin Eclipse, puligins ini yang membuat eclipse dapat membuat project yang berbasis android, ADT adalah plugins di Eclipse yang harus diinstal sehingga Android SDK yang sudah diinstal sebelumnya dapat dihubungkan dengan IDE Eclipse yang digunakan sebagai tempat coding aplikasi android Hitung Zakat nantinya.
Instalasi dapat dilakukan dengan menggunakan koneksi internet dengan cara sebagai berikut:
(46)
24
1. Buka Eclipse yang sudah diinstal sebelumnya.
2. Click Menu Help – Software Update, pilih pada bagian Available Software pilih add site dan isi location dengan http://dl-ssl.google.com/android/eclipse/
Gambar 1.6 Add ADT Plugin
3. Setelah melakukan instalasi ADT selanjutnya adalah menghubungkan IDE Eclipse dengan Android SDK dengan cara Click windows preference, pilih Android dan lakukan Browse SDK Android, setelah itu Click apply sehingga akan menghasilkan gambar sebagai berikut:
(47)
Gambar 1.7 Menghubungkan Android SDK dengan Eclipse
3.2.5 Membuat AVD
Android Virtual Device (AVD) merupakan emulator untuk menjalankan program aplikasi android yang akan dibuat. AVD ini nantinya yang dijadikan sebagai tempat test dan menjalankan aplikasi android yang dibuat, AVD berjalan di Virtual Machine.
Untuk membuat AVD dapat dilakukan dari IDE Eclipse dengan cara Click Menu Windows- pilih Android Virtual Device Manager – New.
(48)
26
Gambar 1.8 Membuat AVD
Setelah melakukan hal diatas, kemudian lakukan proses testing running simulator AVD dengan cara Click Start Launch. Sehingga akan tampil simulator AVD sebagai berikut:
(49)
3.3Perancangan Aplikasi Hitung Zakat
Perancangan Aplikasi Hitung Zakat Berbasis Android menggunakan bahasa pemrograman java dengan IDE Eclipse. Langkah-langkah perancangan Aplikasi Hitung Zakat Berbasis Android adalah sebagai berikut:
1. Bukalah program Eclipse yang ada di program komputer, kemudian Klik
File > New >Android Project
Gambar 2.0 Tampilan Menu File
2. Isi field yang ditentukan
(50)
28
3. Pilih desain Icon sebagai launcher (Shortcut)
Gambar 2.2 Tampilan Icon Launcer (Shorcut)
4. Pilih Create Activity untuk membuat sebuah activity berikut sekaligus
layoutnya.
(51)
5. Berikan nama activity utama yang dibuat
Gambar 2.4 Tampilan Penamaan Activity
3.3.1 Perancangan Layout Aplikasi
Layout Aplikasi atau tata letak tampilan aplikasi berada pada folder res/layout dalam Dalam folder project. Layout aplikasi tersusun secara hirarki dalam format XML Berdasarkan komponen-komponen yang terdapat didalam aplikasi tersebut.
(52)
BAB IV
PEMBAHASAN
4.1 Pembuatan Program
Software Penghitung Zakat ini dibuat dengan menggunakan bahasa pemrograman java dengan IDE Eclipse.
4.2 Tampilan Menu Aplikasi Hitung Zakat Berbasis Android
(53)
Berbasis Android yang terdapat pada Android Virtual Device (AVD). Pada bagian atas layout terdapat informasi harga emas dan nisab. Jika pengguna menekan tombol Zakat Profesi, maka pengguna akan dibawa menuju layout zakat profesi. Begitu juga jika pengguna menekan tombol Zakat Perdagangan, maka pengguna aka dibawa menuju layout zakat perdagangan.
4.3 Tampilan Layout Hitung Zakat Profesi
(54)
40
Gambar 3.2 merupakan layout hitung zakat profesi yang merupakan form isian data yang diminta untuk melakukan pernghitungan zakat profesi. Pengguna tinggal mengisi nilai dari pada aset zakat profesi yang akan dihitung kemudia ketika ditekan tombol hitung maka hasil dari penghitungan akan muncul. Dengan demikian pengguna dapat
mengetahui dengan mudah berapa jumlah aset zakat profesi yang harus dibayarkan.
4.3 Tampilan Layout Hitung Zakat Perdagangan
(55)
mengisi nilai dari pada aset zakat perdagangan yang akan dihitung kemudia ketika ditekan tombol hitung maka hasil dari penghitungan akan muncul. Dengan demikian pengguna dapat mengetahui dengan mudah berapa jumlah aset zakat perdagangan yang harus dibayarkan.
(56)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan penjelasan dari bab sebelumnya, dengan adanya Aplikasi Hitung Zakat Berbasis Android, penulis dapat menyimpulkan bahwa:
1. Sebelum memulai merancang Aplikasi Hitung Zakat, penulis melakukan studi kepustakaan dengan membaca buku referensi maupun artikel-artikel yang berkaitan dengan pembuatan Tugas Akhir ini.
2. Aplikasi Hitung Zakat ini disimpan dalam bentuk .apk sehingga dapat diinstall di smartphone/ponsel dengan platform android.
3. Pengguna Aplikasi Hitung Zakat ini mempunyai hak untuk mengubah, menambah serta memodifikasi basis pengetahuan dari perancangan Aplikasi Hitung Zakat ini
(57)
5.2 Saran
Aplikasi Hitung Zakat yang dibuat oleh penulis belumlah sempurna. Oleh karena itu ada beberapa saran yang ingin disampaikan penulis yaitu sebagai berikut:
1. Diharapkan aplikasi ini dapat dikembangkan lagi sehingga Aplikasi Hitung Zakat ini dapat menampilkan penghitungan yang lebih lengkap lagi sehingga dapat digunakan secara optimal oleh pengguna.
2. Agar Aplikasi Zakat ini dapat dirancang kembali khususnya dalam hal golongan yang berhak menerima zakat sehingga tidak hanya dihitung melainkan zakat juga dapat disalurkan.
(58)
DAFTAR PUSTAKA
Qardawi, Yusuf. 1973. Fiqhuz Zakat cetakan ke-2. Beirut: Muassat ar-Risalah Safaat H, Nazruddin. 2012. Pemrograman Aplikasi Mobile Smartphone dan
Tablet PC Berbasis Android. Bandung: Informatika
Mufraini, Arief. 2006. Akuntansi dan Manajemen Zakat: Mengkomunikasikan Kesadaran dan Membangun Jaringan. Jakarta: Kencana
Hasan, M. Ali. 2006. Zakat dan Infak: Salah Satu Solusi Mengatasi Problema Sosial di Indonesia. Jakarta: Kencana
Sou’yb, Joesoef. 1987. Masalah Zakat dan Sistem Moneter. Medan: Rimbow Michael Siregar, Ivan. 2010. Mengembangkan Aplikasi Enterprise Berbasis
(59)
id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/emas"
android:textColor="#FFFFFF"
android:text="Harga Emas "
android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/txtemas" android:textColor="#FFFFFF" android:layout_width="fill_parent" android:layout_height="wrap_content" /><TextView android:id="@+id/nisab" android:textColor="#FFFFFF"
android:text="Besar Nisab "
android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/txtnisab" android:textColor="#FFFFFF" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<Button android:id="@+id/profesi"
android:text="Zakat Profesi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="1dip"
android:width="250dip"/>
<Button android:id="@+id/niaga"
android:text="Zakat Perdagangan"
(60)
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" android:width="250dip"/>
</LinearLayout>
LAYOUT ZAKAT PROFESI
<?xml version="1.0" encoding="UTF-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/ android" android:id="@+id/scrollView" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TableLayout android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0">
<TableRow> <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Perhitungan zakat Profesi"
/>
</TableRow> <TableRow>
<TextView android:text="Pendapatan / gaji
perbulan(setelah dipotong pajak) :"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtGaji"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"/>
</TableRow> <TableRow> <TextView
(61)
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtBonus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"/>
</TableRow> <TableRow>
<Button android:text="Hitung"
android:id="@+id/btnHitung"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="hitungZakat"/>
</TableRow> <TableRow>
<TextView android:text="Jumlah zakat profesi yang
wajib dibayarkan:"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtzakat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"
android:enabled="false"/>
</TableRow> <TableRow>
<Button android:text="Kembali ke Menu"
android:id="@+id/btnBack"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="backtoMenu"/>
</TableRow> </TableLayout> </ScrollView>
(62)
LAYOUT ZAKAT PERDAGANGAN
<?xml version="1.0" encoding="UTF-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/ android" android:id="@+id/scrollView" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TableLayout android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="0">
<TableRow> <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Perhitungan Zakat Perniagaan"/>
</TableRow> <TableRow> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="Total barang dagangan :" />
</TableRow>
<TableRow android:baselineAligned="false">
<EditText android:text=""
android:id="@+id/txtKekayaan"
android:inputType="numberSigned|numberDecimal"
android:width="120dip"
android:layout_height="match_parent"
android:layout_width="60dip"/>
</TableRow> <TableRow>
<TextView android:text="Hutang :"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow> <TableRow>
(63)
</TableRow> <TableRow>
<TextView android:text="Kepemilikan dalam(%)
:"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtKepemilikan"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"/>
</TableRow> <TableRow>
<Button android:text="Hitung"
android:id="@+id/btnHitung"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="hitungNiaga"/>
</TableRow> <TableRow>
<TextView android:text="Jumlah Bersih Harta
Usaha :"
android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtJmlBersih"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false"
android:enabled="false"/>
</TableRow>
<TableRow>
<TextView android:text="Jumlah zakat
perdagangan yang wajib dibayarkan:"
(64)
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow> <TableRow>
<EditText android:text=""
android:id="@+id/txtJmlZakat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:editable="false"
android:enabled="false"/>
</TableRow> <TableRow>
<Button android:text="Kembali ke Menu"
android:id="@+id/btnBack"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="backtoMenu"/>
</TableRow> </TableLayout> </ScrollView>
Source Code Java
MENU package com.example.urlgrabber; import java.io.IOException; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView;
public class urlgrabber extends Activity {
/** Called when the activity is first created. */ private TextView txtemas;
private TextView txtnisab; public Button niaga;
(65)
setContentView(R.layout.main); txtemas = (TextView)
findViewById(R.id.txtemas); txtnisab = (TextView) findViewById(R.id.txtnisab);
Button profesi =
(Button)findViewById(R.id.profesi); Button niaga =
(Button)findViewById(R.id.niaga); profesi.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent j = new Intent(urlgrabber.this,
HitungProfesi.class); j.putExtra("pesan",txtnisab.getText()); startActivity(j); } }); niaga.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent k = new Intent(urlgrabber.this,
HitungNiaga.class); k.putExtra("pesan",txtnisab.getText()); startActivity(k); } });
String html = null; try {
html =
getURLHttpGet("http://kurs.dollar.web.id/harga-emas-hari-ini.php");
(66)
//html =
getURLHttpGet("http://www.emas24karat.com/news.asp");
} catch (IOException e) { e.printStackTrace(); } parseHTML(html); }
private void parseHTML(String html) { // TODO Auto-generated method stub
String[] parts, parts2;
// Ambil harga emas dollar.web.id parts=html.split("<td>");
parts2 = parts[1].split("</td>");
txtemas.setText(parts2[0].replace(".",""));
//Ambil emas dr emas24karat.com
//parts=html.split("<p align=\"right\">"); //parts2 = parts[1].split("</td>");
//String ambil =
(parts2[0].replace(" ",""));
//String awal = (ambil.substring(0, 3)); //String akhir = (ambil.substring(4)); //txtemas.setText(awal+akhir);
//String emas = txtemas.getText().toString();
long nisab1 =
Long.valueOf(txtemas.getText().toString()); long nisab2 = nisab1*85;
txtnisab.setText(String.valueOf(nisab2));
}
private String getURLHttpGet(String url) throws IOException {
// TODO Auto-generated method stub
HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request); String responseBody =
EntityUtils.toString(response.getEntity()); return responseBody;
(67)
ZAKAT PROFESI package com.example.urlgrabber; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class HitungProfesi extends Activity { private EditText txtGaji;
private EditText txtBonus; private EditText txtzakat; public Button btnHitung; /**
* Method yang dipanggil pada saat applikaasi dijalankan
* */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.prof);
txtGaji = (EditText) findViewById(R.id.txtGaji); txtBonus= (EditText) findViewById(R.id.txtBonus); txtzakat= (EditText) findViewById(R.id.txtzakat); btnHitung = (Button)findViewById(R.id.btnHitung); } /**
* Method untuk Menghitung Luas Persegi panjang dipanggil pada saat button
(68)
* Hitung Luas diklik *
* @param view */
public void hitungZakat(View view) { try {
long gaji =
Integer.parseInt(txtGaji.getText().toString()); long bonus =
Integer.parseInt(txtBonus.getText().toString()); long jmlgajisetahun = gaji * 12;
long jmltotal = jmlgajisetahun + bonus ; Intent j = this.getIntent();
long nisab =
Long.valueOf((j.getStringExtra("pesan")));
if (jmltotal > nisab){
double zakat = (2.5 / 100) * jmltotal;
txtzakat.setEnabled(true); txtzakat.setText("Rp."+String.valueOf(zakat)); }else{ Toast.makeText(this,"belum mencapai Nisab", Toast.LENGTH_LONG).show(); } //finish();
} catch (Exception e) { e.printStackTrace(); }
}
/**
* Method untuk menutup activity dan kembali ke menu
* @param view */
public void backtoMenu(View view){ finish();
} }
(69)
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class HitungNiaga extends Activity { private EditText txtKekayaan;
private EditText txtHutang;
private EditText txtKepemilikan; private EditText txtJmlBersih; private EditText txtJmlZakat; public Button btnHitung;
/**
* Method yang dipanggil pada saat applikaasi dijalankan
* */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.niaga);
//Zakatapp ambil =
((Zakatapp)getApplicationContext());
txtKekayaan = (EditText) findViewById(R.id.txtKekayaan); txtHutang= (EditText) findViewById(R.id.txtHutang); txtKepemilikan= (EditText) findViewById(R.id.txtKepemilikan); txtJmlBersih= (EditText) findViewById(R.id.txtJmlBersih); txtJmlZakat= (EditText) findViewById(R.id.txtJmlZakat); btnHitung = (Button)findViewById(R.id.btnHitung);
(70)
}
public void hitungNiaga(View view) { try {
if (txtKekayaan.getText().length() == 0) { Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
if (txtHutang.getText().length() == 0) { Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
if (txtKepemilikan.getText().length() == 0) {
Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
long kekayaan =
Integer.parseInt(txtKekayaan.getText().toString()); long hutang =
Integer.parseInt(txtHutang.getText().toString()); long kepemilikan =
Integer.parseInt(txtKepemilikan.getText().toString()); long jmlbersih =(
kepemilikan/100)*(kekayaan-hutang);
Intent k = this.getIntent(); long nisab =
Long.valueOf((k.getStringExtra("pesan")));
if (jmlbersih > nisab){
double zakat = (2.5 / 100) * jmlbersih;
txtJmlBersih.setEnabled(true); txtJmlZakat.setEnabled(true); txtJmlBersih.setText(String.valueOf("Rp "+jmlbersih)); txtJmlZakat.setText("Rp. "+String.valueOf(zakat)); }else{ Toast.makeText(this,"belum mencapai nisab", Toast.LENGTH_LONG).show(); } //finish();
} catch (Exception e) { e.printStackTrace();
(71)
menu
* @param view */
public void backtoMenu(View view){ finish();
} }
(1)
//html =
getURLHttpGet("http://www.emas24karat.com/news.asp");
} catch (IOException e) { e.printStackTrace(); }
parseHTML(html);
}
private void parseHTML(String html) { // TODO Auto-generated method stub
String[] parts, parts2;
// Ambil harga emas dollar.web.id parts=html.split("<td>");
parts2 = parts[1].split("</td>");
txtemas.setText(parts2[0].replace(".",""));
//Ambil emas dr emas24karat.com
//parts=html.split("<p align=\"right\">"); //parts2 = parts[1].split("</td>");
//String ambil =
(parts2[0].replace(" ",""));
//String awal = (ambil.substring(0, 3)); //String akhir = (ambil.substring(4)); //txtemas.setText(awal+akhir);
//String emas = txtemas.getText().toString();
long nisab1 =
Long.valueOf(txtemas.getText().toString()); long nisab2 = nisab1*85;
txtnisab.setText(String.valueOf(nisab2));
}
private String getURLHttpGet(String url) throws IOException {
// TODO Auto-generated method stub
HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request); String responseBody =
EntityUtils.toString(response.getEntity()); return responseBody;
(2)
} }
ZAKAT PROFESI
package com.example.urlgrabber; import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class HitungProfesi extends Activity { private EditText txtGaji;
private EditText txtBonus; private EditText txtzakat; public Button btnHitung; /**
* Method yang dipanggil pada saat applikaasi dijalankan
* */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.prof);
txtGaji = (EditText) findViewById(R.id.txtGaji); txtBonus= (EditText) findViewById(R.id.txtBonus); txtzakat= (EditText) findViewById(R.id.txtzakat); btnHitung =
(Button)findViewById(R.id.btnHitung);
}
/**
* Method untuk Menghitung Luas Persegi panjang dipanggil pada saat button
(3)
* Hitung Luas diklik *
* @param view */
public void hitungZakat(View view) { try {
long gaji =
Integer.parseInt(txtGaji.getText().toString()); long bonus =
Integer.parseInt(txtBonus.getText().toString()); long jmlgajisetahun = gaji * 12;
long jmltotal = jmlgajisetahun + bonus ; Intent j = this.getIntent();
long nisab =
Long.valueOf((j.getStringExtra("pesan")));
if (jmltotal > nisab){
double zakat = (2.5 / 100) * jmltotal; txtzakat.setEnabled(true);
txtzakat.setText("Rp."+String.valueOf(zakat)); }else{
Toast.makeText(this,"belum mencapai Nisab", Toast.LENGTH_LONG).show();
}
//finish();
} catch (Exception e) { e.printStackTrace(); }
}
/**
* Method untuk menutup activity dan kembali ke menu
* @param view */
public void backtoMenu(View view){ finish();
} }
(4)
PZAKAT PERDAGANGAN package com.example.urlgrabber;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;
public class HitungNiaga extends Activity { private EditText txtKekayaan;
private EditText txtHutang;
private EditText txtKepemilikan; private EditText txtJmlBersih; private EditText txtJmlZakat; public Button btnHitung;
/**
* Method yang dipanggil pada saat applikaasi dijalankan
* */ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.niaga);
//Zakatapp ambil =
((Zakatapp)getApplicationContext());
txtKekayaan = (EditText) findViewById(R.id.txtKekayaan); txtHutang= (EditText) findViewById(R.id.txtHutang);
txtKepemilikan= (EditText) findViewById(R.id.txtKepemilikan); txtJmlBersih= (EditText) findViewById(R.id.txtJmlBersih); txtJmlZakat= (EditText) findViewById(R.id.txtJmlZakat); btnHitung =
(Button)findViewById(R.id.btnHitung);
(5)
}
public void hitungNiaga(View view) { try {
if (txtKekayaan.getText().length() == 0) { Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
if (txtHutang.getText().length() == 0) { Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
if (txtKepemilikan.getText().length() == 0) {
Toast.makeText(this,"Silahkan isi Angka yang benar!", Toast.LENGTH_LONG).show(); return;
}
long kekayaan =
Integer.parseInt(txtKekayaan.getText().toString()); long hutang =
Integer.parseInt(txtHutang.getText().toString()); long kepemilikan =
Integer.parseInt(txtKepemilikan.getText().toString()); long jmlbersih =(
kepemilikan/100)*(kekayaan-hutang);
Intent k = this.getIntent(); long nisab =
Long.valueOf((k.getStringExtra("pesan")));
if (jmlbersih > nisab){
double zakat = (2.5 / 100) * jmlbersih; txtJmlBersih.setEnabled(true);
txtJmlZakat.setEnabled(true);
txtJmlBersih.setText(String.valueOf("Rp "+jmlbersih));
txtJmlZakat.setText("Rp. "+String.valueOf(zakat));
}else{
Toast.makeText(this,"belum mencapai nisab", Toast.LENGTH_LONG).show();
}
//finish();
} catch (Exception e) { e.printStackTrace();
(6)
} }
/**
* Method untuk menutup activity dan kembali ke menu
* @param view */
public void backtoMenu(View view){ finish();
} }