Wednesday, March 2, 2016

Meluruskan Niat Acara Tahlilan

karena mencari ilmu ngga harus satu bidang

TAHLILAN  


   
    Ada beberapa yang perlu diperhatikan mengenai amalan-amalan yang dikerjakan oleh sebagian kaum muslimin salah satunya yang menjadi pintu gerbang adalah niat. Amalan yang dimaksud ialah mereka yang mengamalkan dzikir bersama seperti tahlilan atau yasinan dll. kadang orang berangkat untuk acara itu bukan semata karena Allah tetapi bergeser niat sedikit saja ditakutkan tidak membawa apa apa selain kesiaan. Perlulah dihadirkan niat karena Allah misalnya niat untuk mendoakan saudara kita yang seiman yang telah mendahului kita kehadirat Allah. Jangan sampailah niat karena takut dicemoh orang, ora kepenak karo tanggane, agar dipuji dll, semua itu kita hilangkan niatkan ibadah karena Allah swt. karena mendoakan saudara kita yang telah meninggal sampai pada si mayit dan hal ini diperbolehkan oleh Nabi saw, sebagaimana seseorang yang datang kepada Nabi saw kemudian menanyakan kalo ia ingin bersedekah untuk orang tuanya yang telah meninggal dan Nabi saw membolehkan.

   Pada hakikatnya majelis tahlil atau tahlilan adalah hanya nama atau sebutan untuk sebuah
acara di dalam berdzikir dan berdoa atau bermunajat bersama. Yaitu berkumpulnya sejumlah
orang untuk berdoa atau bermunajat kepada Allah SWT dengan cara membaca kalimat -
kalimat thayyibah seperti tahmid, takbir, tahlil, tasbih, asma’ul husna, shalawat dan lain -
lain.
Maka sangat jelas bahwa majelis tahlil sama dengan majelis dzikir, hanya istilah atau namanya
saja yang berbeda namun hakikatnya sama. (Tahlil artinya adalah lafadh Laa ilaaha illallah)
lalu bagaimana hukumnya mengadakan acara tahlilan atau dzikir dan berdoa bersama yang
berkaitan dengan acara kematian untuk mendoakan dan memberikan hadiah pahala kepada
orang yang telah meninggal dunia ? Dan apakah hal itu bermanfaat atau tersampaikan bagi
si mayyit ?
Menghadiahkan Fatihah, atau yaasiin, atau dzikir, tahlil, atau shadaqah, atau qadha puasanya
dan lain - lain, itu semua sampai kepada Mayyit, dengan nash yang jelas dalam Shahih Muslim
hadits No.1149, bahwa “seorang wanita bersedekah untuk ibunya yang telah wafat dan
diperbolehkan oleh Rasul saw”, dan adapula riwayat Shahihain Bukhari dan Muslim bahwa
seorang sahabat meng-hajikan untuk ibunya yang telah wafat”, dan Rasulullah saw pun
menghadiahkan Sembelihan Beliau saw saat Idul Adha untuk dirinya dan untuk ummatnya,
“Wahai Allah terimalah sembelihan ini dari Muhammad dan keluarga Muhammad dan dari
Ummat Muhammad” (Shahih Muslim hadits No.1967).
Dan hal ini (pengiriman amal untuk mayyit itu sampai kepada mayyit) merupakan
Jumhur (kesepakatan) ulama seluruh madzhab dan tak ada yang memungkirinya apalagi
mengharamkannya, dan perselisihan pendapat hanya terdapat pada madzhab Imam Syafi’i,
bila si pembaca tak mengucapkan lafadz : “Kuhadiahkan”, atau wahai Allah kuhadiahkan
sedekah ini, atau dzikir ini, atau ayat ini..”, bila hal ini tidak disebutkan maka sebagian
Ulama Syafi’iy mengatakan pahalanya tak sampai.

Jadi tak satupun ulama ikhtilaf dalam sampai atau tidaknya pengiriman amal untuk mayiit,
tapi berikhtilaf adalah pada lafadznya. Demikian pula Ibn Taimiyyah yang menyebutkan 21
hujjah (dua puluh satu dalil) tentang Intifa’ min ‘amalilghair (mendapat manfaat dari amal selainnya). Mengenai ayat : “DAN TIADALAH BAGI SESEORANG KECUALI APA
YANG DIPERBUATNYA, maka Ibn Abbas ra menyatakan bahwa ayat ini telah mansukh
dengan ayat “DAN ORAN ORANG YANG BERIMAN YANG DIIKUTI KETURUNAN
MEREKA DENGAN KEIMANAN”.
Mengenai hadits yang mengatakan bahwa bila wafat keturunan Adam, maka terputuslah
amalnya terkecuali 3 (tiga), Shadaqah Jariyah, Ilmu yang bermanfaat, dan anaknya yang
berdoa untuknya, maka orang – orang lain yang mengirim amal, dzikir dll untuknya ini jelas
– jelas bukanlah amal perbuatan si mayyit, karena Rasulullah saw menjelaskan terputusnya
amal si mayyit, bukan amal orang lain yang dihadiahkan untuk si mayyit, dan juga sebagai
hujjah bahwa Allah memerintahkan di dalam Alqur’an untuk mendoakan orang yang telah
wafat : “WAHAI TUHAN KAMI AMPUNILAH DOSA-DOSA KAMI DAN BAGI
SAUDARA-SAUDARA KAMI YANG MENDAHULUI KAMI DALAM KEIMANAN”,
(QS. Al Hasyr : 10).
Mengenai rangkuman tahlilan itu, tak satupun Ulama dan Imam - Imam yang memungkirinya,
siapa pula yang memungkiri muslimin berkumpul dan berdzikir?, hanya syaitan yang tak
suka dengan dzikir.
Didalam acara Tahlil itu terdapat ucapan Laa ilaah illallah, tasbih, shalawat, ayat qur’an,
dirangkai sedemikian rupa dalam satu paket dengan tujuan agar semua orang awam bisa
mengikutinya dengan mudah, ini sama saja dengan merangkum Alqur’an dalam disket atau
CD, lalu ditambah pula bila ingin ayat Fulani, silahkan Klik awal ayat, bila anda ingin ayat
azab, klik a, ayat rahmat klik b, maka ini semua dibuat - buat untuk mempermudah muslimin
terutama yang awam.
Atau dikumpulkannya hadits Bukhari, Muslim, dan Kutubussittah, Alqur’an dengan Tafsir
Baghawi, Jalalain dan Ilmu Musthalah, Nahwu dll, dalam sebuah CD atau disket, atau
sekumpulan kitab.
Bila mereka melarangnya maka mana dalilnya ? Munculkan satu dalil yang mengharamkan
acara Tahlil?, (acara berkumpulnya muslimin untuk mendoakan yang wafat) tidak di Alqur’an,
tidak pula di Hadits, tidak pula di Qaul Sahabat, tidak pula di kalam Imamulmadzahib, hanya
mereka saja yang mengada ada dari kesempitan pemahamannya.
   Kalo mereka menyatakan bahwa ini adalah bid'ah yang di ada ada maka perhatikan ini,
Sebagaimana pula diriwayatkan bahwa Imam Masjid Quba di zaman Nabi saw, selalu
membaca surat Al Ikhlas pada setiap kali membaca fatihah, maka setelah Fatihah maka
ia membaca Al Ikhlas, lalu surat lainnya, dan ia tak mau meninggalkan surat Al Ikhlas
setiap rakaatnya, ia jadikan Al Ikhlas sama dengan Fatihah hingga selalu berdampingan
disetiap rakaat, maka orang mengadukannya pada Rasul saw, dan ia ditanya oleh Rasul
saw : “Mengapa kau melakukan hal itu?, maka ia menjawab : Aku mencintai surat Al
Ikhlas. Maka Rasul saw bersabda : Cintamu pada surat Al Ikhlas akan membuatmu
masuk sorga” (Shahih Bukhari). dengan demikian boleh saja seseorang membaca ayat ayat Al Quran sesuai dengan yang ia kehendaki dan sebanyak yang ia kehendaki yang itu semua tentu karena Allah mengaharap ridha Allah dengan berkah Al Quran.

Maka tentunya orang itu tak melakukan hal tersebut dari ajaran Rasul saw, ia membuat
buatnya sendiri karena cintanya pada surat Al Ikhlas, maka Rasul saw tak melarangnya
bahkan memujinya.
Kita bisa melihat bagaimana para Huffadh (Huffadh adalah Jamak dari Al hafidh, yaitu
ahli hadits yang telah hafal 100.000 hadits (seratus ribu) hadits berikut sanad dan hukum
matannya) dan para Imam imam mengirim hadiah pada Rasul saw
1. Berkata Imam Alhafidh Al Muhaddits Ali bin Almuwaffiq rahimahullah : “aku 60 kali
melaksanakan haji dengan berjalan kaki, dan kuhadiahkan pahala dari itu 30 haji untuk
Rasulullah saw”.
2. Berkata Al Imam Alhafidh Al Muhaddits Abul Abbas Muhammad bin Ishaq Atssaqafiy
Assiraaj : “aku mengikuti Ali bin Almuwaffiq, aku lakukan 7X haji yang pahalanya untuk
Rasulullah saw dan aku menyembelih Qurban 12.000 ekor untuk Rasulullah saw, dan aku
khatamkan 12.000 kali khatam Alqur’an untuk Rasulullah saw, dan kujadikan seluruh
amalku untuk Rasulullah saw”.
Ia adalah murid dari Imam Bukhari rahimahullah, dan ia menyimpan 70 ribu masalah yang
dijawab oleh Imam Malik, beliau lahir pada 218 H dan wafat pada 313H
3. Berkata Al Imam Al Hafidh Abu Ishaq Almuzakkiy, aku mengikuti Abul Abbas dan aku
haji pula 7X untuk rasulullah saw, dan aku mengkhatamkan Alqur’an 700 kali khatam untuk
Rasulullah saw. (Tarikh Baghdad Juz 12 hal 111).

Rujukan : Habib Mundzir bin Fuad Al Musawa

Sunday, March 8, 2015

Kitab-Kitab Agama
        Saudara-saudara yang tertarik dengan kitab-kitab karya imam-imam terkenal berikut ini saya sajikan linknya,, semoga bermanfaat dan bisa menambah wawasan kita...
http://ashakimppa.blogspot.com/2013/02/download-terjemah-kitab-shahih-al. html?fb_action_ids=1585571384992193&fb_action_types=og.comments

Friday, June 13, 2014

LAPORAN SISTEM MIKROKONTROLER (Simulasi Pembuka Kunci Pintu Berpassword Berbasis ATMega16)


Simulasi Pembuka Kunci Pintu Berpassword Berbasis ATMega16 
A.   Latar Belakang 
         Dizaman yang modern ini banyak sekali kemajuan yang dapat mempermudah aktifitas manusia. Tetapi disisi lain juga banyak terjadi penyimpangan dengan kemajuan juga. Sehingga penggunaan alat-alat berteknologi canggih harus tepat sasaran agar sesuai dengan fungsinya. Untuk bisa menangkis atau menghindari kerugian yang akan terjadi maka perlu suatu karya kreatifitas yang memiliki manfaat yang banyak. Salah satunya adalah dengan penggunaan alat Lock Door atau pengunci pintu. Alat ini merupakan Salah Satu jawaban agar bisa menjaga keamanan dan kerahasiaan suatu benda atau ruang yang diaanggap penting dari ancaman yang menimpanya. Lock Door memiliki peran yang sangat penting yang bisa di code atau dibuat password sehingga pintu yang dimaksud akan terbuka oleh orang-orang yang tepat. Sebagai contoh ruang dokumen kerahasiaan Negara maka hal ini sangat penting yang harus dijaga ketat agar tidak bocor keluar, maka oleh sebab itu orang yang masuk harus dari kalangan internal institusi tersebut.System kerjanya adalah dengan mengunakan password yaitu memasukanya pada monitor dengan keypad yang tersedia. System akan membaca kode yang dimasukan jika cocok dengan program yang ada didalamnya maka pintu akan membuka. Sebaliknya jika kode yang dimasukan tidak cocok, maka pintu tidak akan tebuka. Pada rancangan proyek ini tidak menggunakan indicator output dengan pintu secara langsung akan tetapi menggunakan lampu led yang sifatnya sementara dan jika dipasang tinggal menambahkan pintunya. Apabila lampu led menyala menandakan pintu bisa terbuka sebaliknya apabila lampu led mati berarti pintu tidak bisa terbuka.
B.    Tujuan       
                  Pembuatan proyek Lock Door ini bertujuan agar kerahasiaan suatu dokumen atau yang dianggap sesuatu yang rahasia dalam wadah/ruangan bisa terjaga dengan aman.
C.    Manfaat Pembuatan 
              Lock Door ini memiliki manfaat baik untuk keperluan individual ataupun kelompok/ institusi. Karena bisa membantu mengamankan suatu barang berharga atau sesuatu yang dianggap penting dan bisa memberi kemudahan dalam setiap aktifitas keluar masuk pintu tersebut.
D.    Skema Rangkaian 
      1. Gambar Rangkaian Jalur Proteus 

      2. Gambar Rangkaian Jalur PCB 


E.     Langkah Pembuatan 
      1.     Alat dan Bahan

       ·       Resistor

       ·       Capasitor
       ·       LCD LM 016L
       ·       Keypad
       ·       IC Atmega 16
       ·       Kristal 12 MHz
       ·       Saklar 2 pin
       ·       dll
     2.     Proses Pembuatan
       a)     Design rangkaian dengan Proteus dan Ares
       b)     Export hasil design Ares ke PDF kemudian print dengan kertas Glosi
       c)     Siapkan setrika pada stop kontak dan siapkan PCB secukupnya
       d)     Potong kertas glosi sesuai rangkaian dan tempelkan (sesuai ukuran) pada bagian                    tembaga PCB dengan gambar menghadap ke PCB
       e)     Setrika bagian atas kertas glosi yang ditempel PCB sampai kira-kira jalur gambar PCB              sudah nempel pada PCB ( + 10 menit)
       f)      Masukan PCB pada air agar kertas glosi memisah dengan tembaga PCB
      g)     Larutkan pelarut PCB FerryClorid dengan menggunakan air panas (lebih baik) atau                  dingin secukupnya
      h)     Masukan PCB yang telah disetrika kedalam larutan tersebut
       i)     Tunggu sampai tembaga pada PCB larut kecuali yang tertutup oleh gambar rangkaian
       j)      Angkat PCB kemudian bor jalur-jalur komponen pada PCB (untuk memasukan                          komponen)
      k)     Masukan komponen pada PCB dengan menggunakan Solder dan timah dengan rapi
       l)     Potong bekas kaki-kaki komponen sehingga menjadi rapi dan tidak membahayakan   
     m)     Masukan program rangkaian pada IC Atmega 16 kemudian jalankan sistem                                                                               
F.     Program Rangkaian
              #include <mega16.h>
#include <delay.h>
#include <stdlib.h>
#include <stdio.h>

float nilai=0, password=12345678;
char temp[12], array[10], i=0, indeks=0;
//variabel indeks digunakan untuk mendeteksi jika indeks=0 unlock, indeks=1 lock

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

void lock()
{
 while (indeks==0)
      {
      lcd_gotoxy(0,0);
      lcd_putsf("Please press =");
      lcd_gotoxy(0,1);
      lcd_putsf("to lock");
     
      PORTB = 0b11111011;
      delay_ms(30);
      if (PINB.7 == 0)
       {
        indeks=1;
        PORTD.0=1;//terkunci
        lcd_clear();  
        lcd_gotoxy(0,0);
        lcd_putsf("locked");
        delay_ms(1000);
        lcd_clear();
        }
      }
}

void enter()
{
if (nilai==password)
   {
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("unlocked");
   delay_ms(1000);
   i=0; nilai=0;
   PORTD.0=0;//kunci terbuka
   indeks=0; 
   }                      
else
   {
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("wrong password");
   delay_ms(2500);
   i=0; nilai=0;
   indeks=1;//karena password salah jadi masih terkunci
   }
}

void simpan_dlm_1variabel()
{
       if (i==1){nilai=array[i];}
        
       if (i>=2 && i<=8)
           {
           nilai=(nilai*10)+array[i];
           }  
}

void scanning_keypad()//scanning pendeteksian penekanan keypad
{
lcd_gotoxy(0,0);
lcd_putsf("enter u'r pass");

PORTB = 0b11111110;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=1; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=4; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=7; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {lcd_clear();i=0;nilai=0;delay_ms(300);}

PORTB = 0b11111101;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=2; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=5; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=8; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {i++; array[i]=0; simpan_dlm_1variabel(); delay_ms(300);}

PORTB = 0b11111011;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=3; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.5 == 0) {i++; array[i]=6; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.6 == 0) {i++; array[i]=9; simpan_dlm_1variabel(); delay_ms(300);}
if (PINB.7 == 0) {delay_ms(300);}

PORTB = 0b11110111;
delay_ms(30);
if (PINB.4 == 0) {delay_ms(300);}
if (PINB.5 == 0) {delay_ms(300);}
if (PINB.6 == 0) {delay_ms(300);}
if (PINB.7 == 0) {enter();delay_ms(300);}
}

void tampil_lcd()
{
if (nilai>0)
    {
        ftoa(nilai,0,temp);
        lcd_gotoxy(0,1);
        lcd_puts(temp);
    }
}

void main(void)
{
PORTB=0xff;
DDRB=0x0f;

PORTD=0x00;//PD0 belogika low atau dlm keadaan unlock awalnya
DDRD=0x01;//PD0 sebagai output

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);
lcd_putsf("ElectrO-cOntrOl");
delay_ms(1500);
lcd_clear();

while (1)
      {
      lock();
      scanning_keypad();
      tampil_lcd();        
      };
}              
G.    Analisis rangkaian  
                 Mungkin teman-teman semua sudah tahu tentang aplikasi yang bernama pengunci pintu (door lock) berpassword, pada aplikasi ini sudah saya realisasikan pada hardware yang sesungguhnya dan berhasil. Tetapi ketika saya simulasikan tidak berjalan dengan baik, saya tidak tahu kenapa. Tapi itu tidak masalah yang penting sudah saya coba pada hardware yang sesungguhnya dan berhasil.
Motivasi pembuatan aplikasi ini adalah awalnya saya sedang browsing dengan mengunjungi salah satu forum mikrokontroler yang ada di Indonesia, disitu ada yang bertanya tentang penyimpanan input yang berasal dari keypad kedalam satu variabel, tetapi tidak ada yang menanggapinya bahkan memberikan saran pun tidak. Entah karena budaya tidak mau berbagi ilmu atau entah kenapa, saya kurang mengerti. Maka dari itu saya mencoba membuat aplikasi ini.
Kesulitan utama dari aplikasi ini adalah ketika seorang user memasukkan password dengan menggunakan keypad, kita harus dapat menyimpan input yang berasal dari keypad kedalam satu variabel. Misalnya user menekan 6, lalu 2, lalu 0 dan 4 berarti passwornya adalah 6204 (misalkan). Nilai tersebut harus dijadikan dalam 1 variabel yang kemudian akan dibandingkan dengan password yang sebenarnya. Jika user memasukkan password dengan benar maka akan membuka kunci, jika salah maka kunci tidak akan terbuka.
Untuk mengatasi masalah tersebut saya menggunakan array untuk mendeteksi berapa kali penekanan keypad dan angka berapa yang akan ditekan. Baiklah disini saya akan menjelaskan algoritma yang saya buat. Jika user menekan 6, lalu 2 lalu 0 dan 4 maka seperti ini logikanya :
      Awalnya saya deklarasikan array sebagai berikut :
      array[10], i=0;
      saat terjadi penekanan angka 6 maka;

     i++ (saya increamentkan) jadi i=1

kemudian angka 6 saya simpan pada variabel array[i] jadi array[1]=6
       kemudian saat terjadi penekanan angka 2, maka:

     i++ (saya increamentkan lagi) jadi i=2

kemudian angka 2 saya simpan pada variabel array[i] jadi array[2]=2
       kemudian saat terjadi penekanan angka 0, maka:

     i++ (saya increamentkan lagi) jadi i=3

kemudian angka 0 saya simpan pada variabel array[i] jadi array[3]=0
       kemudian saat terjadi penekanan angka 4, maka:

     i++ (saya increamentkan lagi) jadi i=4

kemudian angka 4 saya simpan pada variabel array[i] jadi array[4]=4 maka didapat array[1]=6, array[2]=2, array[3]=0, array[4]=4. Kalo sudah didapat seperti diatas maka kita tinggal kumpulkan dalam satu variabel (nama variabelnya misalkan nilai) caranya :
       saat i bernilai 1, i=1 kita hitung dengan rumus :

     nilai=array[1]  //jadi nilai=6

       saat i bernilai 2, i=2 kita hitung dengan rumus :

     nilai=(array[1]*10)+array[2]  //jadi nilai=62

       saat i bernilai 3, i=3 kita hitung dengan rumus :

     nilai=(array[1]*100)+(array[2]*10)+array[3]  //jadi nilai=620

       saat i bernilai 4, i=4 kita hitung dengan rumus :

     nilai=(array[1]*1000)+(array[2]*100)+(array[3]*10)+array[4]  //jadi nilai=6204

       sudah mengerti bukan, dari rumus-rumus diatas masih dapat disederhanakan, menjadi:

     jika i=1

     nilai=array[i]
            jika i bernilai  if (i>=2 dan i<=8)

     nilai=(nilai*10)+array[i] 
           Banyaknya penekanan tombol saya batasi sampai 8 kali. Sebenarnya saya ingin membuatnya sampai 10 kali tetapi saat saya coba tidak berjalan dengan lancar saat penekanan ke 9 kali. Baiklah kembali lagi ke aplikasi yang akan kita buat. Langsung saja ke cara kerjanya, gambar rangkaiannya bisa anda lihat dibawah ini. Saat pertama kali alat ini saya nyalakan maka dalam keadaan tidak terkunci (unlock), untuk menguncinya (lock) anda harus menekan tombol = (lihat gambar keypad dibawah). Setelah terkunci, jika anda ingin membukanya kembali anda harus memasukkan passwordnya (jika sudah mengetikan password tekan tombol + untuk memasukkannya). Jika benar maka akan membuka kunci, tetapi jika salah kunci tidak akan terbuka. Ketika sudah terbuka maka cara kerjanya kembali lagi ke awal. Sedangkan tombol ON/C saya gunakan untuk menghapus password jika salah dalam pengetikannya. Untuk indikator kuncinya saya menggunakan sebuah LED, jika LED menyala maka dalam keadaan tidak terkunci dan jika mati dalam keadaan terkunci.         
H.    Kesimpulan 
       Kesimpulan yang dapat diperoleh dari pembuatan proyek ini antara lain :

    1.  Lock Door merupakan suatu aplikasi nyata berupa pintu yang diberi kode untuk bisa membukanya dengan memanfaatkan program mikrokontroler ATmega 16. 
     2.  Lock Door memiliki manfaat untuk melindungi kerahasiaan suatu dokument atau sesuatu yang           dianggap rahasia dengan memasang password pada Lock Door tersebut untuk membuka pintunya.
      3.    Kemudahan yang didapat dengan memasang Lock Door ini tinggal memasukan password pada keypad yang tersedia. 
 I.   Saran 
             Sebaiknya dalam pembuatan dan percobaan proyek dengan program Mikrokontroler harus dilakukan dengan serius dan cermat agar kedepan bisa lebih optimal.