Aplikasi Hitung Zakat Berbasis Android

(1)

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("&nbsp;&nbsp;",""));

//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("&nbsp;&nbsp;",""));

//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();

} }