Sadar, Bertahan, dan Bangkit dalam Keber-Agama-an

Checkout Form html { scroll-behavior: smooth; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } input[type=”number”] { -moz-appearance: textfield; }

List Produk

Silahkan pilih produk yang ingin dibeli


Pilih Variant

Jumlah

Checkout Detail

Silahkan isi form dibawah untuk melengkapi data checkout


Data Penerima

Email
Nama Lengkap
No. Handphone / Whatsapp
Alamat Lengkap
Kode Pos
Kota / Kecamatan

Data Pengiriman

Pilih Kurir
Pilih Layanan

Metode Pembayaran

bank

Bank Transfer


Kode Referral

Masukkan Kode Referral Disini

Rincian Pesanan

Silahkan cek data pesanan kamu apakah sudah sesuai atau belum


Beli Sekarang

Powered By

squids
  <script type="text/javascript"></script>
    <script src="https://cdn.tailwindcss.com"></script>
  <script type="text/javascript">
    const BASE_URL = "https://api-storefront.squids.id/api/v1";
    const params = {
      domain: "//demoalpha.staging.squids.id",
    };
    const autosElement = document.getElementById("autos");
    const districtFields = document.getElementById("district");
    const courierPackagesElement = document.getElementById("courier_packages");
    const courierFields = document.getElementById("courier");
    const cartElement = document.getElementById("carts");
    const totalSection = document.getElementById("total-section");
    const shippingCost = document.getElementById("shipping-cost");
    const buttonConfirm = document.getElementById("confirm-btn");

    let listWarehouse = [];
    let isChangeCourier = true;
    let isChangeDistrict = true;
    let isChangeCart = true;
    const uniq_code =
      sessionStorage.getItem("uniq_code") ??
      Date.now().toString(36) + Math.random().toString(36).substr(2);
    const checkStocks = async (id, variants) => {
      const stocks = await fetch(
        BASE_URL +
          "/products/" +
          id +
          "/stocks?" +
          new URLSearchParams({
            ...params,
            variants: JSON.stringify(variants),
          })
      );
      return await stocks?.json();
    };
    const getCarts = async () => {
      const carts = await fetch(
        BASE_URL +
          "/orders/temp_shopping_carts?" +
          new URLSearchParams({ ...params, uniq_code })
      );
      return await carts?.json();
    };
    const checkShippingCost = async () => {
      const cityId = districtFields?.getAttribute("cityId");
      const courier_service = courierPackagesElement?.value;

      await fetch(BASE_URL + "/orders/checker_shopping_costs", {
        method: "POST",
        headers: {
          accept: "application/json, text/plain",
          "content-type": "application/json;charset=UTF-8",
        },
        body: JSON.stringify({
          shipping_cost: {
            source: listWarehouse?.[0]?.city_id,
            target: parseInt(cityId),
            courier: courierFields?.value,
            courier_service,
          },
        }),
      }).then(async (res) => {
        const shipps = await res?.json();
        const h1 = `// <h1
               //   class="not-italic font-normal text-xs leading-5 text-gray-800 font-['Nunito']"
               // >
               //   (300 gr)
               // </h1>`;

        shippingCost.innerHTML = ` <div
             class="flex items-center justify-between w-full py-4 border-t border-dashed border-t-[#F4F4F4] border-b border-b-[#F4F4F4]"
           >
             <div class="w-1/4">
               <h1
                 class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
               >
                 Biaya Pengiriman
               </h1>

             </div>
             <p
    id="sp"
    value="${shipps?.value}"
               class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
             >
               Rp. ${shipps?.value?.toLocaleString()}
             </p>
           </div>`;
        isChangeCart = false;
      });
    };
    const changeService = () => {
      isChangeCart = true;
    };
    const addToCart = async (id, qty, uniq_codes, variants) => {
      const adds = await fetch(
        BASE_URL + "/orders/temp_shopping_carts/add_to_cart",
        {
          method: "POST",
          headers: {
            accept: "application/json, text/plain",
            "content-type": "application/json;charset=UTF-8",
          },
          body: JSON.stringify({
            shopping_cart: {
              productable_id: id,
              productable_type: "Product",
              product_id: id,
              variants,
              quantity: qty,
              uniq_code: uniq_codes,
              variants: variants,
              domain: params?.domain?.slice(2, params?.domain?.length),
            },
          }),
        }
      );
      return await adds?.json();
    };
    const updateCart = async (
      id,
      qty,
      uniq_codes,
      variants,
      current_variants
    ) => {
      const adds = await fetch(
        BASE_URL + "/orders/temp_shopping_carts/update_cart",
        {
          method: "PUT",
          headers: {
            accept: "application/json, text/plain",
            "content-type": "application/json;charset=UTF-8",
          },
          body: JSON.stringify({
            shopping_cart: {
              productable_id: id,
              productable_type: "Product",
              product_id: id,
              variants,
              quantity: qty,
              uniq_code: uniq_codes,
              variants: variants,
              current_variants,
              domain: params?.domain?.slice(2, params?.domain?.length),
            },
          }),
        }
      );
      return await adds?.json();
    };
    async function addminQty(elem, variants, index) {
      const newVariants = variants ?? {};
      isChangeCart = true;
      const id = elem.getAttribute("id");

      if (id.includes("min")) {
        const qty = document.getElementById("qty-" + index);
        let value = parseInt(qty.value);

        await updateCart(
          parseInt(id.replace(/min-/g, "")),
          value > 0 ? value - 1 : 0,
          uniq_code,
          newVariants,
          newVariants
        ).then((res) => {
          if (value > 0) {
            value = value - 1;
          } else {
            value = 0;
          }
          qty.value = value;
          getCarted();
        });
      } else {
        const qty = document.getElementById("qty-" + index);
        const stock = await checkStocks(id.replace(/add-/g, ""), newVariants);
        let value = parseInt(qty.value);
        if (stock?.data?.quantity > 0) {
          addToCart(id.replace(/add-/g, ""), value + 1, uniq_code, newVariants)
            .then((res) => {
              sessionStorage.setItem("uniq_code", uniq_code);
              value = value + 1;
              qty.value = value;
            })
            .catch((err) => alert(err));
        } else {
          alert("Barang Tidak Tersedia!");
        }
      }
    }
    function showAutos() {
      isChangeDistrict = true;
      autosElement.classList.add("block");
      autosElement.classList.remove("hidden");
    }
    function hideAutos() {
      document.addEventListener(
        "click",
        function (e) {
          if (e?.target?.id !== "autos") {
            isChangeDistrict = false;
            autosElement.classList.add("hidden");
            autosElement.classList.remove("block");
          }
        },
        false
      );
    }
    function chooseDistrict(elem) {
      const cityId = elem.getAttribute("cityId");
      const value = elem.getAttribute("value");
      const districtId = elem.getAttribute("id");
      districtFields.value = value;
      districtFields.setAttribute("cityId", cityId);
      districtFields.setAttribute("districtId", districtId);
      setTimeout(() => {
        isChangeCourier = true;
      }, 200);
    }
    const changeVariantCart = async () => {
      const variantCart = document.getElementById("variant-cart");
      const qty = variantCart.getAttribute("qty");
      const productID = variantCart.getAttribute("productId");
      const values = variantCart?.options[
        variantCart.selectedIndex
      ].value?.replace(/'/g, '"');
      const currentVariant = variantCart
        .getAttribute("currentVariant")
        .replace(/'/g, '"');
      if (values) {
        await updateCart(
          productID,
          qty,
          uniq_code,
          JSON.parse(values),
          JSON.parse(currentVariant)
        );
        getCarted();
      }
    };
    const changeDistricts = async (val) => {
      autosElement.classList.add("block");
      autosElement.classList.remove("hidden");

      const res = await fetch(
        BASE_URL + "/districts?" + new URLSearchParams({ name: val })
      );
      const district = await res?.json();
      let html = "";
      district?.data?.forEach((dis) => {
        let htmlSegment = `<div onclick="chooseDistrict(this)" value="${dis?.formatted_name}" id="${dis?.id}" cityId="${dis?.city_id}"
                     class="cursor-pointer px-4 py-2 border-l border-r border-solid border-[#f4f4f4]"
                   >
                     <p
                       class="font-['Nunito'] not-italic font-normal text-sm leading-5 text-gray-800"
                     >
                      ${dis?.formatted_name}
                     </p>
                   </div>`;

        html += htmlSegment;
      });
      autosElement.innerHTML = html;
      isChangeDistrict = false;
    };
    const changePackages = () => {
      isChangeCourier = true;
      const courierId =
        courierFields.options[courierFields.selectedIndex].getAttribute(
          "courierid"
        );
      courierFields.setAttribute("courierid", courierId);
    };
    const changeCourierPackages = async (courier) => {
      const cityId = districtFields?.getAttribute("cityId");

      await fetch(
        BASE_URL + "/orders/checker_shopping_costs/courier_packages",
        {
          method: "POST",
          headers: {
            accept: "application/json, text/plain",
            "content-type": "application/json;charset=UTF-8",
          },
          body: JSON.stringify({
            shipping_cost: {
              courier: courier,
              source: listWarehouse?.[0]?.city_id,
              target: cityId,
            },
          }),
        }
      ).then(async (res) => {
        isChangeCourier = false;
        const courierPackages = await res?.json();
        let html = "<option value=''>Pilih Layanan</option>";
        if (courierPackages?.code === 400) {
          alert(courierPackages?.description);
        } else if (courierPackages?.courier_packages !== []) {
          courierPackages?.courier_packages?.forEach((cours) => {
            let htmlSegment = `<option value="${cours?.service}">${
              cours?.description
            }${cours?.etd && `(${cours?.etd})`}</option>`;

            html += htmlSegment;
          });
        } else {
          alert("Tidak Ada Layanan Kurir untuk tujuan Kota anda!");
        }

        courierPackagesElement.innerHTML = html;
      });
    };
    const getCarted = async () => {
      const carts = await getCarts();
      const sp = document?.getElementById("sp");
      const shipCosts = sp?.getAttribute("value");

      if (carts?.data) {
        let html = "";
        carts?.data?.items.forEach((cart, index) => {
          const newVariant = {};
          if (cart.variants && cart?.variants?.length > 0) {
            const arr = [];
            cart?.variants?.map((val) => {
              if (val?.variant_item.id === "") {
                arr.push(val?.variant_name);
              } else {
                cart?.variants?.map((val2) => {
                  newVariant[val2.variant_id] = val2.variant_item.id.toString();
                });
              }
            });
          }
          let htmlSegment = ` <div class="flex items-center justify-between w-full py-4 ${
            index + 1 !== carts?.data?.items.length &&
            " border-b border-b-solid border-b-[#F4F4F4]"
          }">
               <div class="w-2/4">
                 <h1
                   class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
                 >
                   ${cart?.product_name} (${cart?.quantity})
                 </h1>
                 <h1
                   class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
                 >
                   @ ${cart?.formated_price}
                 </h1>
                 <div class="flex items-center mt-2">

    		  ${
            cart.product_variants?.length > 0
              ? `
                   <label
                     for="variant"
                     class="not-italic font-normal text-xs leading-4 text-gray-800"
                   >
                     Variant
                   </label>
                   <select
                     class="bg-gray-100 ml-3 box-border resize-none rounded-md p-2 w-full font-['Nunito'] not-italic font-normal text-[10px] leading-5 text-gray-800 outline-none border border-solid border-[#f4f4f4]"
                     name="variant"
                     id="variant-cart"
					 productId="${cart?.product_id}"
					 currentVariant="${JSON.stringify(newVariant)?.replace(/"/g, "'")}"
					 qty="${cart?.quantity}"
					 onchange="changeVariantCart()"
                   >
       ${cart.product_variants?.map(
         (it) =>
           `<option ${
             JSON.stringify(newVariant)?.replace(/"/g, "'") ===
             JSON.stringify(it.variants)?.replace(/"/g, "'")
               ? 'selected="selected"'
               : ""
           } value="${JSON.stringify(it?.variants)?.replace(/"/g, "'")}">
        ${Array.from(Array(it?.variant_combination?.length).keys()).map(
          (i) => (i !== 0 ? " " : "") + it?.variant_combination?.[i]
        )}
             </option>`
       )}
                   </select>`
              : ""
          }
                 </div>
               </div>
               <p
                 class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
               >
                ${cart?.formated_amount}
               </p>
             </div>`;

          html += htmlSegment;
        });
        cartElement.innerHTML = html;
        totalSection.innerHTML = `
    	<div class="flex items-center justify-between w-full py-4">
               <div class="w-1/4">
                 <h1
                   class="not-italic font-extrabold leading-5 text-gray-800 font-['Nunito']"
                 >
                   Total
                 </h1>
               </div>
               <p
                 class="not-italic font-extrabold leading-5 text-gray-800 font-['Nunito']"
               >
                Rp. ${(
                  carts?.data?.amount_total +
                  (shipCosts ? parseInt(shipCosts) : 0)
                )?.toLocaleString()}
               </p>
             </div>
    	`;
        isChangeCart = false;
      }
    };
    setInterval(() => {
      if (isChangeDistrict && districtFields.value?.length > 0) {
        changeDistricts(districtFields.value);
      }
    }, 100);
    setInterval(() => {
      if (document.getElementById("bank").checked) {
        const bankElement = document.getElementById("bank_accounts");
        bankElement.classList.add("block");
        bankElement.classList.remove("hidden");
      }
    }, 100);
    setInterval(() => {
      if (isChangeCourier && courierFields.value.length > 0) {
        changeCourierPackages(courierFields.value);
      }
    }, 1000);
    setInterval(() => {
      if (isChangeCart && sessionStorage.getItem("uniq_code")) {
        getCarted();
      }
    }, 1000);
    setInterval(() => {
      if (
        isChangeCart &&
        districtFields?.value?.length > 0 &&
        courierFields?.value?.length &&
        courierPackagesElement?.value?.length
      ) {
        checkShippingCost();
      }
    }, 1000);
    const fetchAPI = async () => {
      const products = await fetch(
        BASE_URL + "/products/536?" + new URLSearchParams(params)
      );
      const couriers = await fetch(
        BASE_URL + "/shipment_setups/couriers?" + new URLSearchParams(params)
      );
      const warehouses = await fetch(
        BASE_URL + "/warehouses?" + new URLSearchParams(params)
      );
      const banks = await fetch(
        BASE_URL + "/bank_accounts?" + new URLSearchParams(params)
      );
      const product = await products?.json();
      const courier = await couriers?.json();
      const warehouse = await warehouses?.json();
      const bank = await banks?.json();
      if (product?.data) {
        const productElement = document.getElementById("product");

        let html = "";
        product?.data?.map_stock_attr?.length > 0 &&
          product?.data.map_stock_attr?.forEach((prods, index) => {
            let htmlSegment = `<div
                   class="flex items-center justify-between w-full py-4 pl-3 pr-[48px] border-b border-b-solid border-b-[#F4F4F4]"
                 >
                   <p
                     class="not-italic font-normal text-sm leading-5 text-gray-800 font-['Nunito']"
                   >
                     ${
                       prods?.variant_combination?.length &&
                       Array.from(
                         Array(prods?.variant_combination?.length).keys()
                       ).map(
                         (i) =>
                           (i !== 0 ? " " : "") +
                           prods?.variant_combination?.[i]
                       )
                     }
                   </p>
                   <div class="flex text-center items-center justify-between w-[90px]">
                     <img
                       src="https://i.ibb.co/h29N7Zz/Frame-50.png"
                       alt="min"
                       class="cursor-pointer"
                       id="min-${product.data.id}"
                       onclick="addminQty(this, ${JSON.stringify(
                         prods?.variants
                       )?.replace(/"/g, "'")}, ${index})"
                     />
                     <input
                       type="number"
                       id="qty-${index}"
                       value="0"
					   disabled
                       min="0"
                       class="not-italic w-auto max-w-[30px] font-normal w-auto text-center outline-none border-none bg-transparent text-sm leading-5 text-gray-800 font-['Nunito']"
                     />

                     <img
                       src="https://i.ibb.co/HTx11Q8/Frame-51.png"
                       alt="min"
                       class="cursor-pointer"
                       id="add-${product.data.id}"
                       onclick="addminQty(this, ${JSON.stringify(
                         prods?.variants
                       )?.replace(/"/g, "'")}, ${index})"
                     />
                   </div>
                 </div>`;

            html += htmlSegment;
          });

        productElement.innerHTML = html;
      }
      if (courier?.data) {
        const courierElement = document.getElementById("courier");

        let html = "<option value=''>Pilih Kurir</option>";
        courier?.data.forEach((cour) => {
          let htmlSegment = `<option value="${cour?.code}" courierid="${cour?.id}">${cour?.name}</option>`;

          html += htmlSegment;
        });
        courierElement.innerHTML = html;
      }
      if (warehouse?.data) {
        listWarehouse = warehouse.data;
      }
      if (bank?.data) {
        const banksElement = document.getElementById("bank_accounts");

        let html = "<option value=''>Pilih Bank Tujuan</option>";
        bank?.data.forEach((b) => {
          let htmlSegment = `<option value="BANK_TRANSFER_${b?.number}" >${b?.bank_name}-${b?.name}-${b?.number}</option>`;

          html += htmlSegment;
        });
        banksElement.innerHTML = html;
      }
    };
    fetchAPI();

    const handleCheckout = async () => {
      if (!isChangeCourier && !isChangeCart && !isChangeDistrict) {
        buttonConfirm.innerHTML = "Loading...";
        const courier_service = courierPackagesElement?.value;
        const courier_id = parseInt(courierFields?.getAttribute("courierid"));
        const shoppingCarts = {
          shopping_cart: {
            uniq_code,
            postal_code: document.getElementById("postal_code")?.value,
            address: document.getElementById("address")?.value,
            email: document.getElementById("email")?.value,
            name: document.getElementById("name")?.value,
            district_id: parseInt(districtFields?.getAttribute("districtId")),
            city_id: parseInt(districtFields?.getAttribute("cityId")),
            phone_number: document.getElementById("phone")?.value?.toString(),
            warehouse_id: listWarehouse?.[0].id.toString(),
            dropship: false,
            courier: courierFields?.value,
            courier_service,
            affiliate_code: null,
            ref: document.getElementById("refferral")?.value?.length
              ? document.getElementById("refferral")?.value
              : null,
            reseller_id: null,
            courier_id,
            domain: params?.domain?.slice(2, params?.domain?.length),
          },
        };
        if (document.getElementById("bank").checked) {
          await fetch(BASE_URL + "/orders/temp_shopping_carts/guest_checkout", {
            method: "POST",
            headers: {
              accept: "application/json, text/plain",
              "content-type": "application/json;charset=UTF-8",
            },
            body: JSON.stringify(shoppingCarts),
          })
            .then(async (res) => {
              const response = await res?.json();
              if (response?.data?.status) {
                await fetch(BASE_URL + "/orders/temp_shopping_carts/proceed", {
                  method: "POST",
                  headers: {
                    accept: "application/json, text/plain",
                    "content-type": "application/json;charset=UTF-8",
                  },
                  body: JSON.stringify({
                    proceed: {
                      order_id: response?.data?.order?.id?.toString(),
                      selected_payment_channel:
                        document.getElementById("bank_accounts")?.value,
                      uniq_code: response?.data?.order?.order_uniq_code,
                    },
                  }),
                }).then(async (resp) => {
                  const responde = await resp.json();
                  if (responde) {
                    sessionStorage.removeItem("uniq_code");
                    const url = `https:${params?.domain}/payments-custom/${response?.data?.order?.id}?uniq_code=${response?.data?.order?.order_uniq_code}`;
                    window.open(url, "_self");
                  }
                });
              } else {
                alert("Terjadi Kesalahan!");
                buttonConfirm.innerHTML = "Beli Sekarang";
              }
            })
            .catch((err) => {
              alert(err);
              buttonConfirm.innerHTML = "Beli Sekarang";
            });
        } else {
          alert("Pilih Metode Pembayaran!");
          buttonConfirm.innerHTML = "Beli Sekarang";
        }
      }
    };
  </script>

Ketika kondisi masyarakat negeri ini jauh dari moralitas dan nilai-nilai luhur suatu agama, maka janganlah mengotori konteks kesucian agama itu sendiri. Ketika mereka tidak menjadikan agama sebagai pedoman hidup, maka sebetulnya saat itulah mereka mengotori kehidupannya sendiri. Ketika kebobrokan masyarakat tersebut begitu meluas, maka keraguan mereka pada aturan agama semakin membesar. Ketika logika dan kebutuhan hidup menguasai mereka, maka mereka tidak peduli apakah yang mereka lakukan benar atau salah menurut agama. Mereka seolah-olah tidak menghargai agama yang mereka anut. Akhirnya muncullah ketakutan dari diri mereka sendiri apabila hukum yang tertera dalam agama ditegakkan secara penuh. Mungkin karena mereka sendiri menyadari jika akan ada banyak hukuman berat yang akan mereka peroleh, atau setidaknya akan ada banyak batasan yang menghalangi mereka untuk menikmati hidup.

Ketika proses perniagaan dan pemenuhan kebutuhan hidup menggunakan aturan yang tidak sesuai dengan tuntunan agama, maka muncullah ketidakadilan dan kesenjangan dalam taraf hidup masyarakat. Praktek riba, suap-menyuap, pencurian, penipuan, dan sikap mau untung sendiri merebak dimana-mana. Masyarakat semakin bersifat materialistis, semakin kaya semakin bisa menikmati hidup. Lapangan kerja semakin sulit, persaingan usaha semakin sengit, produk halal dan thayyib semakin raib, dan tagihan utang semakin buat menjerit. Hukum muamalat syariah yang seharusnya bisa ditegakkan, nyatanya hanya masih masuk dalam kajian terbatas. Rekayasa pun dilakukan beberapa lembaga keuangan agar praktek dagang mereka hanya bisa terlihat syariah untuk menarik segmen pasar tertentu.

Ketika era globalisasi dan liberalisasi digalakkan, maka semuanya dibuat terbuka, terlepas apakah aturan agama menutupnya atau tidak. Tidaklah semua yang terbuka itu baik. Jika perdagangan dibuat terbuka tanpa persiapan dan perhitungan yang matang, maka bisa berarti menutup puluhan hingga ratusan ribu UKM dalam negeri. Produk impor dengan kualitas lebih baik dan harga lebih murah membanjiri pasar tradisional dan modern. Dalam waktu dekat ini, ASEAN Economic Community harus disikapi dengan hati-hati. Regulasi pemerintah nampaknya menjadi peran sentral untuk menyelamatkan kestabilan usaha dan produk dalam negeri, apakah nantinya mereka menjadi pemain atau penonton. Demikian juga ketika akses pornoaksi dan pornografi dibuat terbuka atas nama kebebasan berekspresi, maka bisa berarti menutup mata sebagian besar masyarakat untuk sesuatu yang halal. Yang lebih luar biasa lagi ketika praktek maksiat terbuka didukung atas nama ladang penghidupan, mau dibawa kemana lagi keterbukaan tanpa agama di negeri ini. Jangankan agama, tanggung jawab pun nampaknya tidak dihiraukan.

Ketika media dan televisi menunjukkan selera buruk masyarakat yang menontonnya, maka keburukan itu sendiri akan menyerebak dengan sistematis. Begitu sulit menemukan acara yang enak dan bergizi untuk ditonton sehari-hari. Kriminalitas, sensualitas, aib, dan berbagai budaya buruk dicerna dalam pikiran dari acara yang ada. Aspek ekonomi dan kepentingan pribadi begitu kental dalam media dan televisi negeri ini. Lagi-lagi acara berbau agama dan nilai-nilai luhur yang dikandungnya nampaknya menjadi pilihan paling buncit bagi si penyedia jasa. Jika ada beberapa orang yang sadar, maka rumah tanpa televisi adalah lebih baik untuk memfilter asupan otak keluarga mereka.

Ketika kondisi politik negeri ini didera pertarungan sengit pun kesucian agama layak untuk diperjuangkan. Sebuah hembusan angin segar ketika partai-partai berbasis agama masih bisa menjadi pilihan masyarakat. Namun, ada sesuatu yang dianggap genting, sehingga partai-partai ini mengadakan pertemuan dan bersepakat untuk bersatu dan membentuk koalisi. Sebegitu kuat alasannya, sehingga kiai-kiai kondang negeri ini menyeru masyarakat untuk bersikap dalam pemilu tahun ini. Padahal jarang sekali mereka ikut campur dalam perpolitikan secara terbuka.

Ketika salah satu pemimpin partai berbasis agama yang berlambang Ka’bah, yang juga menjabat sebagai menteri agama, dituduh melakukan korupsi dalam pelaksanaan ibadah haji, terjadilah pembunuhan karakter dengan tembakan “Head Shot”. Saya tidak berbicara apakah beliau terbukti salah atau tidak, tetapi mengapa kasus ini digulirkan kebetulan ketika koalisi partai agama telah terbentuk? Padahal kasusnya sendiri terjadi pada periode 2012-2013. Yang di sisi lain, secara asumsi dan rahasia umum masyarakat, sebegitu sulitnya menemukan pejabat yang benar-benar bersih di seluruh jajaran pemerintah, termasuk kementrian. Yang di tatanan masyarakat bawah saja, praktek-praktek kotor begitu menggurita, sampai ada perumpamaan “Jika semua pelaku kejahatan (terutama KKN) diadili, maka penjara di negeri ini tak akan cukup menampungnya”. Sebegitu rumit dan peliknya sistem politik negeri ini sehingga peluru panasnya bisa ditembakkan kapan dan dimana saja ketika merasa dibutuhkan. Nampaknya penegakan hukum “tebang pilih” sulit dihilangkan dari asumsi.

Lalu, apakah masih ada yang tidak menyadari jika kondisi negeri ini sedang genting? Apakah masih ada yang mengesampingkan aspek agama dalam perbaikan negeri ini? Jawabannya adalah masih banyak, selama masyarakat negeri ini mementingkan dirinya sendiri dan apatis terhadap yang lain, terutama agamanya sendiri. Masa bodoh jika saya dianggap SARA dan fanatik terhadap agama saya sendiri. Saya hanya berusaha untuk membela apa yang saya yakini kebenarannya. Ijinkanlah saya pribadi untuk menyerukan :

Wahai umat yang sedikit,
Wahai umat yang terasing,
Wahai umat yang “memegang bara api di tangannya”,
Wahai umat yang meyakini agama ini sebagai pedoman hidup,
Wahai umat yang meyakini takdir dan ketetapan Allah,
Mari kita perkuat barisan,
Mari kita perbaiki akhlak kita dalam keterasingan,
Mari kita saling meringankan beban dan keperihan saudara kita,
Mari kita amalkan keyakinan kita dalam setiap aspek kehidupan,
Mari kita terus memohon kepada Allah agar terus diberikan ketetapan terbaik,

Mari kita jadikan momen saat ini untuk bersatu padu membangun peradaban yang adil sesuai tuntunan agama kita.

Karena 4 Perkara Ini Telah Ditentukan Oleh-Nya

Berbicara mengenai takdir dalam Islam memang menarik jika dikaitkan dengan pola pikir dan perilaku kita sehari-hari. Ada sebuah hadits yang menyebutkan jika pada saat janin berusia 4 bulan, maka Allah memerintahkan malaikat-Nya untuk mencatat 4 perkara bagi si jabang bayi, yaitu rezekinya, ajalnya, amalannya, dan kehidupan setelah matinya : surga atau neraka. Ketika orang awam seperti saya pertama kali mendengar hadits ini, reaksinya adalah kebingungan. Bagaimana bisa 4 perkara gaib yang terbilang sangat penting bagi kehidupan seorang hamba ditentukan sebelum ia lahir, mengerti, dan beraktivitas di dunia? Bagaimana bisa usaha dan amalan yang telah dan akan kita lakukan sebetulnya sudah di-judge oleh Allah mengenai besaran dan akhirannya?

Alhamdulillah saya mendapat sebuah kajian mengenai hadits ini, meski melalui siaran radio. Sebagaimana yang diketahui, Allah memiliki sebuah buku bernama Lauhul Mahfudz yang berisi semua perkara sebelum segala sesuatu diciptakan. Lauhul Mahfudz ini bisa disebut bank data. Semua isi dari Lauhul Mahfudz ini hanya Allah saja yang mengetahui. Tidak ada satu pun makhluk-Nya, termasuk malaikat, yang mengetahui isi dari Lauhul Mahfudz tersebut. Jadi, ketika Allah memerintahkan malaikat untuk mencatat 4 perkara di atas, malaikat pun tidak tahu apakah itu yang tertera di Lauhul Mahfudz atau bukan.

Ketika ada hadits yang mengatakan jika silaturahim dapat memperluas rezeki dan memperpanjang umur, maka sesungguhnya ini tidak bertentangan dengan hadits mengenai 4 perkara di atas. Allah bisa saja memerintahkan malaikat untuk memperluas rezeki dan memperpanjang umur seseorang karena dia sering menjalin silaturahim, di luar ketentuan 4 perkara tersebut, karena memang itulah yang tercatat di Lauhul Mahfudz. Ada pula ulama yang mengatakan jika umur yang diperpanjang itu maksudnya adalah keberkahan umurnya yang diperpanjang, bukan besaran umur itu sendiri.

Bukan keilmuan saya, untuk membahas aqidah dan fiqih mengenai hadits 4 perkara ini, tetapi ijinkan saya untuk berbagi mengenai apa makna yang tersirat dari hadits ini. Sekali lagi dikaitkan dengan pola pikir dan perilaku kita di dunia. Pertama, ketika rezeki setiap makhluk sudah ditentukan oleh Allah, maka yang perlu kita usahakan adalah mencari dan meluaskan rezeki tersebut. Maksudnya adalah kita tidak berhak dengki, menghakimi kondisi ekonomi diri sendiri dan orang lain, dan kemudian membanding-bandingkannya. Kita tidak pernah tahu bagaimana rezeki kita di masa depan. Bisa saja seseorang yg miskin hari ini adalah seorang milyarder di masa depan, dan sebaliknya, seorang hartawan hari ini bisa saja adalah seorang pengemis di masa depan.

Setiap makhluk menerima rezeki yang Allah berikan, bukan yang ia dapatkan. Maka sangat mudah bagi Allah untuk mengambil atau menambah kembali rezeki yang telah ia berikan. Contoh yang menarik ketika seseorang yg membangun kekayaan dengan utang dan riba jatuh ke dalam keterpurukan, karena caranya yang salah dan tidak berkah dalam memaknai perluasan rezeki. Ada yang terpikat gaya hidup mewah karena terdorong kecemburuan dan kesenjangan sosial, meski sebetulnya rezekinya tak mampu mengakomodasi itu semua. Akan tetapi, ada juga orang yang berbahagia dengan hidup sederhana, yang dengan rezekinya yang sedikit, dia masih dapat bersedekah dengan apa yang ia bisa dan punyai. Miris rasanya ketika sebagian besar orang mencap si kaya dan si miskin dari apa yang terlihat olehnya, dan merasa sombong atau tak beruntung karena hal itu. Yang kemudian kebahagiaan hidupnya sangat bergantung pada seberapa besar materi yang ia punya. Mungkin sebagian besar orang tersebut tidak mampu meyakini rezekinya sendiri dan memaknai yang telah Allah berikan kepadanya.

Kedua, ketika ajal setiap makhluk telah ditetapkan oleh Allah, maka yang perlu kita usahakan adalah memperbanyak keberkahan yang bisa kita dapatkan dan berikan di rentang umur kita sendiri. Kita tidak berhak menghakimi yang tua akan segera mati, dan yang muda mempunyai waktu yang masih lama sebelum mati. Kita tidak bisa hanya melakukan kebaikan ketika nanti sudah tua, dan kita tidak bisa berleha-leha menikmati hidup ketika masih muda. Ajal itu ditentukan agar kita bisa mempersiapkan diri dan menjemputnya sebaik mungkin, tidak bergantung umur kita hari ini. Meski umur kita ditakdirkan pendek, kita bisa melakukan kebaikan sebanyak mungkin sehingga keberkahan yang kita dapatkan bisa jauh melebihi umur kita setelah mati. Dan jika umur kita ditakdirkan panjang, kita bisa menghindari keburukan yang dapat mengurangi keberkahan hidup. Karena kita tidak tahu apakah pertambahan umur kita hari ini akan menambah dosa atau pahala kita.

Ketiga, ketika amalan setiap makhluk telah ditetapkan oleh Allah, maka yang bisa kita usahakan adalah melakukan amalan terbaik bagi diri kita sendiri. Kita tidak berhak menghakimi amalan kita lebih baik dari orang lain, dan juga sebaliknya. Kita tidak bisa menilai amalan kita lebih kecil dibandingkan amalan orang lain yang terlihat besar. Amalan kita tidak bisa dibandingkan dengan orang lain yang mempunyai kekayaan, kekuasaan, ataupun ilmu berlebih. Tidak ada yang tahu besaran keikhlasan dan penerimaan Allah terhadap setiap amalan yang telah dilakukan. Kita tidak perlu berkecil hati ketika melihat diri kita adalah seorang manusia biasa yang hanya bisa beramal sedikit. Dan kita pun tidak boleh berbesar hati ketika kita mampu beramal besar ketika kita adalah seorang dermawan ataupun dianggap seorang ulama. Sekali lagi, ketentuan besar kecilnya amalan kita hanya Allah yang tahu, maka fokuslah pada diri sendiri, bersikap tawadhu, dan berusaha seikhlas mungkin.

Keempat, ketika Allah telah menentukan setiap makhluk-Nya akan memasuki surga atau neraka sebelum ia dilahirkan, maka yang bisa kita usahakan adalah keistiqomahan kita dalam beramal dan bertaubat. Sebaik-baiknya keistiqomahan adalah khusnul khotimah, yaitu kematian yang baik. Dan sebaik-baiknya taubat adalah taubatan nasuha, yaitu kita tidak akan mengulangi keburukan yang telah kita lakukan. Kita tidak berhak menghakimi dan berpikiran seorang ahli maksiat hari ini akan masuk neraka nantinya, dan kita tidak berhak beranggapan seorang ulama hari ini akan masuk surga nantinya. Kita tidak pernah tahu jika Allah menakdirkan si ahli maksiat mendapatkan hidayah dan menjadi seseorang yang dikehendaki-Nya untuk masuk surga di penghujung umurnya. Dan kita tidak pernah tahu jika Allah menakdirkan seorang ulama melakukan sebuah dosa besar di penghujung umurnya yang akhirnya memasukkannya ke dalam neraka. Sekali lagi, kita hanya bisa menilai diri kita sendiri dan berusaha istiqomah melakukan amalan terbaik setiap detiknya hingga ajal menjemput.

Dengan begitu, keempat perkara yang telah ditentukan oleh Allah sebelum kita lahir tersebut, yaitu rezeki, ajal, amalan, dan surga/neraka, dapat dimaksudkan agar kita selalu mengontrol setiap pikiran dan perilaku kita. Begitu luar biasa akhlak seorang muslim ketika dia mampu meyakini hal ini dengan sesungguhnya. Dia akan pandai mengevaluasi diri, namun tidak lihai menghakimi orang lain. Dia akan elok dalam bersikap dan berpikiran terhadap diri sendiri dan orang lain. Memang sungguh indah ilmu dan pengetahuan Allah yang tercantum dalam agama Islam ini. Keempat perkara ini bukanlah wujud dari ketidakadilan dan keberpihakan Allah terhadap sebagian makhluk-Nya, melainkan justru salah satu bentuk peringatan dan pedoman hidup bagi setiap makhluk-Nya. Dan sungguh tulisan ini, saya tujukan bagi diri saya pribadi dan semoga bisa menjadi amal jariyah berupa ilmu bagi diri saya pribadi dan kita semua yang membaca dan menyadarinya. Mohon koreksi saya jika ada yang salah dengan tulisan saya ini. Wallahu ‘Alam.