Sabtu, 26 April 2014

Program Perhitungan Zakat

Assalaamu'alaykum Waromatulloh...
Alhamdulillah, Alloh masih memberikan kesempatan kepada kita untuk terus belajar dan berbagi dalam kebaikan..
Pada kesempatan kali ini, saya akan sedikit berbagi tentang bahasa pemrograman C++. Saya akan berbagi bagaimana membuat program perhitungan zakat. Tugas ini adalah tugas akhir saya di semester 4 di  Pendidikan Teknik Elektro Universitas Negeri Malang bersama salah satu teman saya.
Semoga bermanfaat :)
-------------------------------------------------------------------------------------------------------------------------

// File-file header
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>


// Prototipe fungsi
void tampilan();
void pilih();
void pengenalan_zakat();
void program_zakat();
void judul();
void menu();
void akhir();

// Prototipe fungsi zakat mal
void zakat_emas();
void zakat_perak();
void zakat_uang_kertas();
void zakat_pertanian();
void zakat_perniagaan();

// Fungsi bintang untuk penghias

void bintang()
{
int a;
for(a=1;a<50;a++)
cout<<"*";
}

// Struktur data untuk nama pengguna

struct
{
char A [40]; //array nama pengguna
char B [40]; //array pekerjaan pengguna
}user;

// Fungsi main

int main()
{
system("color 0D");
cout<<endl;
cout<<"##====================================================================##"<<endl;
cout<<"##      ***      *** ******* ***      *** *******   *** *******       ##"<<endl;
cout<<"##      ** **  ** ** **   ** ** **  ** ** **   **   **  **            ##"<<endl;
cout<<"##      **   **   ** **   ** **   **   ** **   **  *    *******       ##"<<endl;
cout<<"##      **        ** **   ** **        ** **   **            **       ##"<<endl;
cout<<"##      **        ** ******* **        ** *******       *******       ##"<<endl;
cout<<"##====================================================================##"<<endl;
cout<<endl;
cout<<"                              Chek It Out!!!!!!                          "<<endl;
cout<<endl;

getch();

tampilan();
}

// Fungsi tampilanh

void tampilan()
{
system("cls");
system("color 1E");
cout<<endl;
cout<<"____________________________________________________________\a\a"<<endl;
cout<<endl;
cout<<"         ==    =======  ======== ======== ========= =======    "<<endl;
cout<<"      == ==   ==    ==  ==    == ======== ==        ==         "<<endl;
cout<<"         ==        ==   ==    ==    ==    ==        ==         "<<endl;
cout<<"         ==      ==     ========    ==    ========= ==         "<<endl;
cout<<"         ==     ==      ==          ==    ==        ==         "<<endl;
cout<<"         ==   ==        ==          ==    ==        ==         "<<endl;
cout<<"        ====  ========  ==          ==    ========= =======    "<<endl;
cout<<endl;
cout<<"____________________________________________________________"<<endl;
cout<<endl;
cout<<"                           Design by :                      "<<endl;
cout<<"            Monika Faswia Fahmi        120534400670         "<<endl;
cout<<"            Mona Andriana              120534431436         "<<endl;
cout<<"____________________________________________________________"<<endl;
cout<<endl;
cout<<"============================================================"<<endl;
cout<<endl;
cout<<"                      PROGRAM FOR ZAKAT                     "<<endl;
cout<<endl;
cout<<"============================================================"<<endl;
cout<<"                 STATE UNIVERSITY OF MALANG                 "<<endl;

getch();

pilih();
}

// Fungsi pilih

void pilih()
{
   
int a;

system("cls");
system("color 4E");
bintang();
cout<<endl;
cout<<"\t       ##   MENU PILIHAN   ##"<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"\t ##====================================##  "<<endl;
cout<<"\t ##    [1] Pengenalan Zakat            ##  "<<endl;
cout<<"\t ##    [2] Program Zakat               ##  "<<endl;
cout<<"\t ##    [3] Exit                        ##  "<<endl;
cout<<"\t ##====================================##  "<<endl;
cout<<endl;
masuk:
cout<<"Masukkan pilihan anda=";
cin>>a;
if (!(cin.good()))
{
    cout<<" Masukkan Harus Numerik !\n";
    cin.clear();
    cin.ignore(INT_MAX,'\n');
    goto masuk;
}
switch (a)
{
case 1:

cout<<endl;
pengenalan_zakat();
break;

case 2:

program_zakat();
break;

case 3:

akhir();
break;

default :

cout<<endl;
cout<<"Maaf kode yang anda masukkan salah"<<endl;
cout<<"Mohon Ulang Kembali"<<endl;

getch ();
pilih();
break;
}
}

// Fungsi pengenalan zakat

void pengenalan_zakat()
{
int x;
char huruf;

do
{
system("cls");
system("color 0E");
cout<<endl;
bintang();
cout<<endl;
cout<<"\t    ====ATTENTION====  "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"##==============================================##"<<endl;
cout<<"## Sebelum anda memulai program zakat hendaklah ##"<<endl;
cout<<"##          memilih menu berikut ini  :         ##"<<endl;
cout<<"##==============================================##"<<endl;
cout<<"##    1.Pengertian zakat                        ##"<<endl;
cout<<"##    2.Macam-macam zakat                       ##"<<endl;
cout<<"##    3.Syarat-syarat pengeluaran zakat         ##"<<endl;
cout<<"##    4.Perhitungan jumlah zakat                ##"<<endl;
cout<<"##    5.Orang yang tidak berhak menerima zakat  ##"<<endl;
cout<<"##    6.Orang yang berhak menerima zakat        ##"<<endl;
cout<<"##    7.Menu Utama                              ##"<<endl;
cout<<"##==============================================##"<<endl;

masuk1:
cout<<"\tPilihan menu :"; cin>>x;
if (!(cin.good()))
{
    cout<<" Masukkan Harus Numerik !\n";
    cin.clear();
    cin.ignore(INT_MAX,'\n');
    goto masuk1;
}
switch (x)
{
case 1 :

system("cls");
system("color 5A");
cout<<endl;

bintang();
cout<<endl;
cout<<"\t  ==PENGERTIAN ZAKAT==  "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"Bahasa     : berkembang,suci dan berkah                  "<<endl;
cout<<"Istilah    : bagian yang telah ditetapkan pada           "<<endl;
cout<<"             harta tertentu, waktu tertentu,yang         "<<endl;
cout<<"             diserahkan pada pihak-pihak tertentu pula   "<<endl;
cout<<endl;

break;

case 2 :

system("cls");
system("color 6E");
cout<<endl;

bintang();
cout<<endl;
cout<<"       ==MACAM-MACAM ZAKAT==   "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"1) Zakat Mal    :Zakat yang berupa harta benda kekayaan"<<endl;
cout<<"   Macamnya     :a.Zakat emas                          "<<endl;
cout<<"                 b.Zakat perak                         "<<endl;
cout<<"                 c.Zakat uang kertas                   "<<endl;
cout<<"                 d.Zakat pertanian                     "<<endl;
cout<<"                 e.Zakat perniagaan                    "<<endl;
cout<<endl;
cout<<"2) Zakat Fitrah :Zakat yang berupa bahan kebutuhan     "<<endl;
cout<<"                 pokok seperti beras,gandum, dll.      "<<endl;
cout<<endl;

break;

case 3 :

system("cls");
system("color 1D");
cout<<endl;

bintang();
cout<<endl;
cout<<"    ==SYARAT PENGELUARAN ZAKAT==    "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"Syarat wajib    : 1.Merdeka         "<<endl;
cout<<"                  2.Islam           "<<endl;
cout<<"                  3.Berakal sehat   "<<endl;
cout<<"Syarat pada zakat mal :                                              "<<endl;
cout<<"        1.Milik Penuh                                                "<<endl;
cout<<"        2.Berkembang                                                 "<<endl;
cout<<"        3.Sudah mencapai nishab (batas pengeluaran zakat)            "<<endl;
cout<<"        4.Lebih Dari Kebutuhan Pokok                                 "<<endl;
cout<<"        5.Bebas dari Hutang                                          "<<endl;
cout<<"        6.Berlalu Satu Tahun (Al-Haul), khusus untuk harta perniagaan"<<endl;

break;

case 4 :

system("cls");
system("color 2F");
cout<<endl;

bintang();
cout<<endl;
cout<<"    ==PERHITUNGAN JUMLAH ZAKAT=="<<endl;
bintang();
cout<<endl;
cout<<endl;

cout<<"1. Zakat emas : a. Nishab emas : 85 gram"<<endl;
cout<<"                b. pengeluaran : 2,5% dari emas "<<endl;
cout<<"                                 milik sendiri  "<<endl;
cout<<endl;

cout<<"2. Zakat perak: a. Nishab perak: 85 gram"<<endl;
cout<<"                b. pengeluaran : 2,5% dari perak"<<endl;
cout<<"                                 milik sendiri  "<<endl;
cout<<endl;

cout<<"3. Zakat uang kertas : a. Nishab      : harga emas (1 gr) x 85 gr"<<endl;
cout<<"                       b. pengeluaran : 2,5% dari uang milik"<<endl;
cout<<"                                        sendiri             "<<endl;
cout<<endl;

cout<<"4. Zakat hasil pertanian : a. Nishab      : 647 kg"<<endl;
cout<<"                           b. pengeluaran : 10 % dari hasil "<<endl;
cout<<"                                            pertanian       "<<endl;
cout<<endl;

cout<<"5. Zakat hasil perniagaan : a. Nishab      : harga emas(1 gr) x 85 gr"<<endl;
cout<<"                            b. pengeluaran : 2,5% dari hasil    "<<endl;
cout<<"                                             perniagaan         "<<endl;
cout<<endl;

cout<<"6. Zakat Fitrah           : a. Nishab      : Beberapa Ulama berpendapat"<<endl;
cout<<"                                             2,5 Kg dan 2,75 Kg"<<endl;
cout<<"                            b. pengeluaran : 2,5 Kg atau 2,75 Kg"<<endl;
cout<<endl;
break;

case 5 :

system("cls");
system("color 0B");
cout<<endl;

bintang();
cout<<endl;
cout<<" ==ORANG YANG TIDAK BERHAK MENERIMA ZAKAT==   "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"1. Orang kaya dan orang yang masih memiliki tenaga   "<<endl;
cout<<"2. Hamba sahaya yang masih mendapat nafkah atau tanggungan dari tuannya "<<endl;
cout<<"3. Keturunan Rasulullah (ahlul bait)"<<endl;
cout<<"4. Orang yang dalam tanggungan dari orang yang berzakat, misalnya anak dan istri."<<endl;
cout<<endl;

break;

case 6 :

system("cls");
system("color 0B");
cout<<endl;

bintang();
cout<<endl;
cout<<" ==ORANG YANG BERHAK MENERIMA ZAKAT==   "<<endl;
bintang();
cout<<endl;

cout<<endl;
cout<<"1.FAKIR        = Mereka yang hampir tidak memiliki apa-apa sehingga    "<<endl;
cout<<"                 tidak mampu memenuhi kebutuhan pokok hidup            "<<endl;
cout<<"2.MISKIN       = Mereka yang memiliki harta namun tidak cukup untuk    "<<endl;
cout<<"                 memenuhi kebutuhan dasar untuk hidup                  "<<endl;
cout<<"3.AMIL         = Mereka yang mengumpulkan dan membagikan zakat         "<<endl;
cout<<"4.GHARIMIN     = Mereka yang berhutang untuk kebutuhan yang halal      "<<endl;
cout<<"                 dan tidak sanggup untuk memenuhinya                   "<<endl;
cout<<"5.FISABILILLAH = Mereka yang berjuang di jalan Allah                   "<<endl;
cout<<"                 (misal: dakwah, perang dsb)                           "<<endl;
cout<<"6.IBNUS SABIL  = Mereka yang kehabisan biaya di perjalanan             "<<endl;
cout<<"7.MUALLAF      = Mereka yang baru masuk Islam dan membutuhkan          "<<endl;
cout<<"                 bantuan untuk menyesuaikan diri dengan keadaan barunya"<<endl;
cout<<"8.HAMBA SAHAYA = Orang yang ingin memerdekakan dirinya                 "<<endl;
cout<<endl;

break;

case 7 :

pilih();

break;

default:

cout<<endl;
cout<<"Kode yang anda masukkan salah"<<endl;
cout<<"Mohon Ulang Kembali";

getch ();

pengenalan_zakat();

break;
}

balik:
cout<<"Apakah anda ingin kembali ke pengenalan zakat(y/t):"<<endl;
cin>>huruf;
if (!(huruf=='y'||huruf=='Y'||huruf=='t'||huruf=='T'))
{
    cout<<"Masukkan salah\n";
    goto balik;

}

}
while (huruf=='y'||huruf=='Y');
pilih();
}

// Fungsi program zakat
void program_zakat()
{
char ulang ;
    do
    {

judul();
getch();
menu ();

cout<<endl;
cout<<"________________terima kasih__________________\n";

getch();

balik1:
cout<<endl;
cout<<"apakah anda ingin mengulang ? <y/t>";
cin>>ulang;
if (!(ulang=='y'||ulang=='Y'||ulang=='t'||ulang=='T'))
{
    cout<<"Masukkan salah\n";
    goto balik1;

}
}

while (ulang=='y'||ulang=='Y');
pilih();

}

// Fungsi judul    

void judul()
{
system("cls");
system("color 2F");
cout<<"=============================================\a"<<endl;
cout<<endl;
cout<<"        PROGRAM PERHITUNGAN ZAKAT MAL        "<<endl;
cout<<endl;
cout<<"============================================="<<endl;
cout<<endl;
cout<<"============================================="<<endl;
cout<<"Ambillah zakat dari harta mereka,dengan zakat"<<endl;
cout<<" itu kamu membersihkan dan mensucikan mereka "<<endl;
cout<<"            (At-Taubah : 103)                "<<endl;
cout<<"============================================="<<endl;
cout<<endl;

getch();
}

// Fungsi menu

void menu()
{
   
int a;
char tmp[1];

system("cls");
system("color 3A");
gets(tmp);
cout<<"Masukkan Nama Anda      :"; 
gets(user.A);
cout<<"Masukkan Pekerjaan Anda :"; 
gets(user.B);
cout<<endl;

cout<<"=============================================\a"<<endl;
cout<<"        PILIHAN MENU PERHITUNGAN ZAKAT       "<<endl;
cout<<"============================================="<<endl;
cout<<endl;
cout<<"            1. ZAKAT EMAS                    "<<endl;
cout<<"            2. ZAKAT PERAK                   "<<endl;
cout<<"            3. ZAKAT UANG KERTAS                "<<endl;
cout<<"            4. ZAKAT PERTANIAN               "<<endl;
cout<<"            5. ZAKAT PERNIAGAAN              "<<endl;
cout<<"            6. Menu Utama                    "<<endl;
cout<<endl;
cout<<"============================================="<<endl;
masuk2:
cout<<"Pilihan menu anda =";
cin>>a;
if (!(cin.good()))
{
    cout<<" Masukkan Harus Numerik !\n";
    cin.clear();
    cin.ignore(INT_MAX,'\n');
    goto masuk2;
}

switch (a)
{
case 1 :
zakat_emas ();
break;

case 2 :
zakat_perak ();
break;

case 3 :
zakat_uang_kertas ();
break;

case 4 :
zakat_pertanian ();
break;

case 5 :
zakat_perniagaan ();
break;

case 6 :
pilih();

default :
cout<<"KODE YANG ANDA MASUKKAN SALAH"<<endl;
cout<<"Mohon Ulang Kembali";
cout<<endl;
getch ();
menu ();
break;
}
}

// Fungsi zakat emas

void zakat_emas ()
{
double n,ze;

cout<<endl;
cout<<"Nishab Zakat Emas : 85 gram                "<<endl;
cout<<"Masukkan berat emas dalam 1 tahun (dalam gram) : "; 
cin>>n;

if (n>=85)
{
cout<<endl;
bintang();
cout<<endl;
cout<<"\tANDA SUDAH BISA ZAKAT"<<endl;
bintang();
cout<<endl;

ze=0.025*n;

cout<<endl;
cout<<"Zakat emas yang bisa anda keluarkan adalah "<<ze<<" gram"<<endl;
}

else if (n<85)
{
cout<<endl;

cout<<"\tANDA BELUM BISA MENGELUARKAN ZAKAT  "<<endl;
cout<<"\t   KARENA BELUM MEMENUHI NISHAB     "<<endl;

}
}

// Fungsi zakat perak

void zakat_perak ()
{
double n,zp;

cout<<endl;
cout<<"Nishab Zakat Perak : 85 gram"<<endl;
cout<<"Masukkan berat perak dalam 1 tahun (dalam gram) : "; 
cin>>n;

if (n>=85)
{
cout<<endl;
bintang();
cout<<endl;
cout<<"\tANDA SUDAH BISA ZAKAT"<<endl;
bintang();
cout<<endl;

zp=0.025*n;

cout<<endl;
cout<<"Zakat perak yang bisa anda keluarkan adalah "<<zp<<" gram"<<endl;
}

else if (n<85)
{
cout<<endl;
cout<<"tANDA BELUM BISA MENGELUARKAN ZAKAT "<<endl;
cout<<"t   KARENA BELUM MEMENUHI NISHAB     "<<endl;
}
}

// Fungsi zakat uang kertas

void zakat_uang_kertas ()
{
double n, re, rp, zuk;

cout<<endl;
cout<<"Nishab Zakat Uang Kertas = Nishab Emas(sesuai harga emas) "<<endl;
cout<<"Masukkan harga emas 1 gram : Rp.";
cin>>re;

cout<<"Masukkan jumlah uang anda dalam 1 tahun (dalam gram) : Rp. ";       
cin>>rp;

n=0.85*re;

if (rp>=n)
{
cout<<endl;
bintang();
cout<<endl;
cout<<"\tANDA SUDAH BISA ZAKAT"<<endl;
bintang();
cout<<endl;

zuk=0.025*rp;

cout<<endl;
cout<<"Zakat uang kertas yang anda keluarkan adalah Rp."<<zuk<<endl;
}

else if(rp<n)
{
cout<<endl;
cout<<"\tANDA BELUM BISA MENGELUARKAN ZAKAT"<<endl;
cout<<"\t   KARENA BELUM MEMENUHI NISHAB   "<<endl;
}
}

// Fumgsi zakat pertanian

void zakat_pertanian ()
{
double n,kg,zp;

cout<<endl;
cout<<"Nishab Zakat Hasil Pertanian : 5 wasaq(647 kg)"<<endl;
cout<<"Masukkan jumlah hasil pertanian(dalam kg) : "; 
cin>>kg;

n=647;

if(kg>=n)
{
cout<<endl;
bintang();
cout<<endl;
cout<<"\tANDA SUDAH BISA ZAKAT"<<endl;
bintang();
cout<<endl;

zp=kg*0.1;

cout<<endl;
cout<<"Zakat hasil pertanian yang anda keluarkan adalah "<<zp<<" kg"<<endl;
}

else if(kg<n)
{
cout<<endl;
cout<<"\tANDA BELUM BISA MENGELUARKAN ZAKAT"<<endl;
cout<<"\t   KARENA BELUM MEMENUHI NISHAB   "<<endl;
}

}

// Fungsi zakat perniagaan

void zakat_perniagaan ()
{
double  n, re, rp,zpr;

cout<<endl;
cout<<"Nishab Zakat Hasil Perniagaan = Nishab Emas(sesuai harga emas) "<<endl;
cout<<"Masukkan harga emas 1 gram :Rp.";   
cin>>re;
cout<<"Masukkan jumlah uang anda  :Rp. ";   
cin>>rp;

n=0.85*re;

if (rp>=n)
{
cout<<endl;
bintang();
cout<<endl;
cout<<"\tANDA SUDAH BISA ZAKAT"<<endl;
bintang();
cout<<endl;

zpr=0.025*rp;

cout<<endl;
cout<<"Zakat hasil perniagaan yang anda keluarkan adalah Rp."<<zpr<<endl;
}

else if(rp<n)
{
cout<<endl;
cout<<"\tANDA BELUM BISA MENGELUARKAN ZAKAT"<<endl;
cout<<"\t   KARENA BELUM MEMENUHI NISHAB   "<<endl;
}
}

// Fungsi akhir

void akhir()
{
char *word1="||||       MATUR           ||||";
char *word2="||||           NUWUN!!!    ||||";

getch();
system("cls");
system("color 0C");
cout<<endl;

cout<<"\t\t||||=======================||||\a\a\a"<<endl;
cout<<"\t\t "<<word1<<endl;
cout<<endl;
cout<<"\t\t "<<word2<<endl;
cout<<"\t\t||||=======================||||"<<endl;

}   

Tidak ada komentar:

Posting Komentar