Minggu, 19 September 2010


MENGKAFIRKAN SESAMA MUSLIM

Hal tersebut amat berbahaya dan telah menjadi perhatian
besar bagi kaum Muslimin khususnya, karena timbulnya pikiran
yang terlampau ekstrim. Dalam hal ini, saya sudah menyiapkan
sebuah buku khusus mengenai masalah tersebut diatas. Saya
kemukakan perlunya pengkajian akan sebab-sebab timbulnya
pikiran yang ekstrim dan cara-cara menghadapinya, sehingga
dapat diatasi dengan seksama.
Pertama, tiap-tiap pikiran atau pendapat harus dilawan
dengan pikiran, pandangan dan diobati dengan keterangan
serta dalil-dalil yang kuat, sehingga dapat menghilangkan
keragu-raguan dan pandangan yang keliru itu. Jika kita
menggunakan kekerasan sebagai alat satu-satunya, maka tentu
tidak akan membawa faedah.

Kedua, mereka itu (orang-orang yang berpandangan salah)
umumnya adalah orang-orang baik, kuat agamanya dan tekun
ibadatnya, tetapi mereka dapat digoncang oleh hal-hal yang
bertentangan dengan Islam dan yang timbul pada masyarakat
Islam. Misalnya akhlak buruk, kerusakan di segala bidang,
kehancuran dan sebagainya. Mereka selalu menuntut dan
mengajak pada kebaikan, dan mereka ingin masyarakatnya
berjalan di garis yang telah ditentukan oleh Allah, walaupun
jalan atau pikirannya menyimpang pada jalan yang salah dan
sesat karena mereka tidak mengerti.
Maka, sebaiknya kita hormati niat mereka yang baik itu, lalu
kita beri penerangan yang cukup, jangan mereka digambarkan
atau dikatakan sebagai binatang yang buas atau penjahat bagi
masyarakat. Tetapi hendaknya diberi pengarahan dan bimbingan
ke jalan yang benar, karena tujuan mereka adalah baik, akan
tetapi salah jalan.
Mengenai sebab-sebab timbulnya pikiran-pikiran tersebut
adalah sebagai berikut:
1. Tersebarnya kebatilan, kemaksiatan dan kekufuran, yang
secara terang-terangan dan terbuka di tengah masyarakat
Islam tanpa ada usaha penccgahannya. Bahkan sebaliknya,
untuk meningkatkan kemungkaran dan kemaksiatan dia
menggunakan agama sebagai alat propaganda untuk menambah
kerusakan-kerusakan akhlak dan sebagainya.
2. Sikap para ulama yang amat lunak terhadap mereka yang
secara terang-terangan menjalankan praktek orang-orang kafir
dan memusuhi orang-orang Islam.
3. Ditindaknya gerakan-gerakan Islam yang sehat dan segala
dakwah yang berdasarkan Al-Qur’an dan As-Sunnah. Maka,
tiap-tiap perlawanan bagi suatu pikiran yang bebas, tentu
akan melahirkan suatu tindakan kearah yang menyimpang, yang
nantinya akan melahirkan adanya gerakan bawah tanah
(ilegal).
4. Kurangnya pengetahuan mereka tentang agama dan tidak
adanya pendalaman ilmu-ilmu dan hukum-hukum Islam secara
keseluruhan. Oleh karena itu, mereka hanya mengambil
sebagian dan meninggalkan sebagian yang lain, dengan paham
yang keliru dan menyesatkan.
Keikhlasan dan semangat saja tidak cukup sebagai bekal diri
sendiri, jika tidak disertai dasar yang kuat dan pemahaman
yang mendalam mengenai hukum-hukum Islam. Terutama mengenai
hukum syariat dan ilmu fiqih, maka mereka ini akan mengalami
nasib yang sama dengan para Al-Khawarij di masa lampau,
sebagaimana keterangan Al-Imam Ahmad.
Oleh karena itu, orang-orang saleh yang selalu menganjurkan
untuk menuntut ilmu dan memperkuat diri dengan pengetahuan
Islam sebelum melakukan ibadat dan perjuangan, agar teguh
pendiriannya dan tidak kehilangan arah.
Al-Hasan Al-Bashri berkata:
“Segala amalan tanpa dasar ilmu, seperti orang yang berjalan
tetapi tidak pada tempatnya berpijak (tidak pada jalannya).
Tiap-tiap amal tanpa ilmu akan menimbulkan kerusakan lebih
banyak daripada kebaikannya. Tuntutlah ilmu sehingga tidak
membawa madharat pada ibadat dan tuntutlah ibadat yang tidak
membawa madharat pada ilmu. Maka, ada segolongan kaum yang
melakukan ibadat dan meninggalkan ilmu, sehingga mereka
mengangkat pedangnya untuk melawan ummat Muhammad saw. yang
termasuk saudaranya sesama Muslim (saling berperang tanpa
adanya alasan). Jika mereka memiliki ilmu, tentu ilmu itu
tidak akan membawa ke arah perbuatan itu.”



DASAR-DASAR
 
ALGORITMA
  



3.1   Pemrograman  Komputer

Dalam kehidupan sehari-hari, untuk berkomunikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersebut.  Apabila kita menggunakan bahasa Indonesia, lawan bicara kita juga harus mengerti bahasa Indonesia.  Kalau lawan bicara kita tidak mengerti bahasa Indonesia, kita masih berkomunikasi dengannya melalui seorang penerjemah.

Dalam pemrograman komputer, berlaku juga hal seperti diatas. Kita harus menggunakan bahasa yang dimengerti oleh komputert untuk memberikan suatu instruksi atau perintah. Langkah-langkah yang kita lakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan dengan pemrograman komputer.

Dalam pemrograman komputer, ada beberapa langkah yang harus kita perhatikan, yaitu:
1)    Mendefinisikan masalah. Pada langkah ini tentukan masalahnya seperti apa, kemudian apa saja yang harus dipecahkan dengan komputer, dan yang terakhir adalah apa masukannya dan bagaimana keluarannya.
2)    Menentukan solusi.  Setelah masalah didefinisikan dengan jelas, masukan apa yang diberikan sudah jelas, keluaran apa yang diinginkan sudah jelas, langkah selanjutnya adalah mencari jalan bagaimana masalah tersebut diselesaikan.
3)    Memilih algoritma.  Langkah ini merupakan langkah penting dalam pemrograman komputer, karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.  Algoritma  pemrograman akan dibahas lebih lanjut pada suba bab berikutnya.
4)    Menulis program.  Pada langkah ini kita mulai menuliskan program komputer untuk memecahkan masalah. Ada beberapa hal yang harus dipertimbangkan saat memilih bahasa pemrograman diantaranya adalah masalah yang dihadapi dan bahasa pemrograman yang dikuasai.
5)    Menguji program.  Setelah program selesai ditulis, kita harus mengujinya. Pengujian pertama adalah apakah program berhasil dikompilasi dengan baik? Pengujian berikutnya apakah program dapat menampilkan keluaran yang diinginkan?


6)    Menulis dokumentasi. Hal ini biasanya dilakukan bersamaan menulis program, artinya pada setiap baris program atau pada setiap beberapa baris program, kita menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan.
7)    Merawat progam.  Langkah ini dilakukan setelah program selesai dibuat, diuji dan sudah digunakan oleh pengguna. Contoh perawatan adalah melakukan revisi jika pengguna ingin menbambahkan suatu fasilitas baru pada program tersebut.



3.2   Istilah-istilah Dasar

Ada beberapa istilah dasar yang perlu dipahami sebelum mempelajari pemrograman  komputer, yaitu:
a)    Program adalah kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
b)    Bahasa pemrograman merupakan prosedur atau tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting yang harus diperhatikan yaitu sintak (aturan-aturan atau tata cara penulisan) dan semantic (aturan-aturan untuk menyatakan suatu makna/arti)
c)    Pemrograman  merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
d)    Pemrograman terstruktur merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program yang memiliki rancang bangun yang terstruktur dan tidak berbelit-belit sehingga mudah ditelusuri, dipahami dan dikembangkan oleh siapa saja.



3.3   Algoritma

Dalam bidang pemrograman, algoritma dedifinisikan sebagai suatu metode        khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur            dan dituliskan secara sistematis, yang akan dikerjakan untuk       menyelesaikan suatu masalah dengan bantuan komputer.

Proses dari masalah hingga menjadi suatu algoritma disebut tahap pemecahan masalah. Sedangkan tahap dari algoritma hingga menjadi suatu program komputer disebut tahap implementasi.




Algoritma pemrograman yang baik memiliki cirri-ciri sebagai berikut.
1)    tepat, benar, sederhana, standard an efektif
2)    logis, terstruktur dan sistematis
3)    semua operasi terdefinisi
4)    semua proses harus berakhir setelah sejumlah langkah dilakukan
5)    ditulis dengan bahasa standar dengan format pemrograman agar mudah diimplementasikan dan tidak menimbulkan arti bias maupun ganda.



3.4         Penyajian  Algoritma

Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode English structure),  sedangkan penyajian  algoritma dalam bentuk gambar atau simbol biasanya menggunakan metode flowchart  program.


3.4.1     English Structure

Basis dari English Structure  adalah bahasa inggris, tetapi boleh juga menggunakan bahasa lain sesuai dengan bahasa negara masing-masing. Oleh karena  bahasa manusia yang digunakan sebagai dasar pembuatan algoritma, maka English Structure   lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemrogram maupun pemakai program.


3.4.2     Flowchart  Program

Flowchart program adalah suatu skema atau bagan yang menggambarkan urutan kegiatan dari suatu program dari awal sampai akhir.

Simbol-simbol yang  digunakan dalam flowchart program adalah sebagai berikut.

Simbol
Keterangan
Terminal
Menunjukkan awal dan akhir dari suatu flowchart program
Input / Output
Menunjukkan masukan yang diperlukan dan keluaran yang dihasilkan
Pengolahan / Proses
Menunjukkan suatu proses yang dikerjakan oleh program
Keputusan / Pengujian
Menunjukkan suatu seleksi yang harus dikerjakan untuk melakukan suatu proses tertentu
Proses terdefinisi
Menunjukkan sejumlah proses yang detailnya tidak ditunjukkan disini, tetapi terpisah terdefinis sendiri, yang dapat berupa program bagian (procedure/subroutine)
Nilai awal
Menunjukkan nilai awal dari suatu variabel
Penghubung pada halaman yang sama
Menunjukkan sambungan flowchart yang berada pada halaman yang sama
Penghubung  pada halaman yang berbeda
Menunjukkan sambungan flowchart yang berada pada halaman yang berbeda
                
              

Garis alir
Menunjukkan arah / alir kegiatan dalah flowchart program

Sistem Informasi

1. Embedded Komputer :
Embedded Computer adalah komputer yang berfungsi sebagai unit kontrol dan ditempatkan di peralatan yang membutuhkan pengendalian otomatis. Biasanya, embedded computer mempunyai sebuah mikroprosesor tunggal. Beberapa peralatan yang mempunyai embedded computer di dalamnya adalah telepon, videotape recorder, pendingin ruangan, dan mobil yang dilengkapi sistem pengapian yang dikendalikan, dan sebagainya.

2. Artificial Intelligence:
didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola.
Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.





Nomor 3 :
>> Machine Language :
adalah sistem instruksi dan data dijalankan langsung oleh komputer 's central processing unit. Machine code may be regarded as a primitive (and cumbersome) programming language or as the lowest-level representation of a compiled and/or assembled computer program . kode mesin mungkin dianggap sebagai primitif (dan rumit) bahasa pemrograman atau sebagai representasi tingkat terendah dari disusun dan / atau dirakit program komputer .
>>Assembly Language:
adalah jenis bahasa tingkat rendah untuk pemrograman komputer, mikroprosesor, mikrokontroler, dan lainnya (biasanya) sirkuit terpadu. Mereka melaksanakan sebuah representasi simbolis dari kode mesin angka dan konstanta lain yang dibutuhkan untuk program arsitektur CPU tertentu. Representasi ini biasanya ditentukan oleh produsen perangkat keras, dan didasarkan pada singkatan (disebut mnemonik) yang membantu programmer ingat instruksi individu, register, dll Sebuah keluarga bahasa assembly dengan demikian spesifik untuk suatu fisik tertentu (atau virtual) arsitektur komputer. Hal ini berbeda dengan kebanyakan bahasa tingkat tinggi, yang (idealnya) portabel.

>>Higher-Level Language:
 adalah bahasa pemrograman dengan abstraksi yang kuat dari rincian komputer. Dibandingkan dengan tingkat rendah bahasa pemrograman, mungkin akan menggunakan unsur bahasa alami, lebih mudah untuk menggunakan, atau lebih portabel di seluruh platform. bahasa seperti menyembunyikan rincian seperti operasi CPU model akses memori dan ruang lingkup manajemen.

Abstraksi ini lebih besar dan bersembunyi rincian umumnya dimaksudkan untuk membuat pemakai bahasa-ramah, karena mencakup konsep-konsep dari domain masalah bukan orang mesin yang digunakan. Sebuah bahasa tingkat tinggi isolat semantik eksekusi dari suatu arsitektur komputer dari spesifikasi program, membuat proses pengembangan program yang lebih sederhana dan lebih mudah dimengerti sehubungan dengan bahasa tingkat rendah.

>>Fourth Generation Language:
adalah bahasa pemrograman atau lingkungan pemrograman dirancang dengan tujuan khusus, seperti pengembangan perangkat lunak bisnis komersial . Dalam evolusi komputasi, 4GL mengikuti 3GL dalam tren kenaikan terhadap abstraksi yang lebih tinggi dan kekuasaan pernyataan. The 4GL diikuti dengan upaya untuk mendefinisikan dan menggunakan 5GL.

Bahasa-alami, modus blok-terstruktur dari bahasa pemrograman generasi ketiga meningkatkan proses pengembangan software. Namun, metode pengembangan 3GL bisa lambat dan rawan kesalahan. Ini menjadi jelas bahwa beberapa aplikasi dapat dikembangkan lebih cepat dengan menambahkan sebuah bahasa pemrograman tingkat tinggi dan metodologi yang akan menghasilkan setara dengan sangat rumit 3GL instruksi dengan lebih sedikit kesalahan.
Dalam beberapa hal, rekayasa perangkat lunak muncul untuk menangani 3GL pembangunan. 4GL dan 5GL proyek lebih berorientasi pada pemecahan masalah dan rekayasa sistem. [Rujukan?]

Semua 4GLs dirancang untuk mengurangi upaya pemrograman, waktu yang diperlukan untuk mengembangkan perangkat lunak, dan biaya pengembangan perangkat lunak. Mereka tidak selalu berhasil dalam tugas ini, kadang-kadang menghasilkan kode janggal dan unmaintainable.
Namun, mengingat masalah yang tepat, penggunaan sebuah 4GL yang tepat dapat spektakuler sukses seperti yang terlihat dengan MARK-IV dan mapper (lihat Bagian Sejarah, Santa Fe pelacakan real-time dari gerbong barang mereka - keuntungan produktivitas diperkirakan menjadi 8 kali lipat dari COBOL). Peningkatan kegunaan yang diperoleh oleh beberapa 4GLs (dan lingkungannya) diperbolehkan eksplorasi lebih baik daripada solusi heuristik melakukan 3GL.

Definisi kuantitatif 4GL telah ditetapkan oleh Capers Jones, sebagai bagian dari karyanya pada analisis fungsi titik.
Jones mendefinisikan berbagai generasi bahasa pemrograman dalam hal produktivitas pengembang, diukur dalam hal fungsi per staf-bulan. Sebuah 4GL didefinisikan sebagai bahasa yang mendukung 12-20 FP / SM. Ini berkorelasi dengan sekitar 16-27 baris kode per titik fungsi diimplementasikan dalam 4GL.
Teknik Informatika

Struktur Data

Linked List :
Linked list (list bertaut) adalah salah satu struktur data dasar yang sangat fundamental dalam bidang ilmu komputer. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).
Pada array, apabila programmer ingin menyimpan data, programmer diharuskan untuk mendefinisikan besar array terlebih dahulu, seringkali programmer mengalokasikan array yang sangat besar(misal 100). Hal ini tidak efektif karena seringkali yang dipakai tidak sebesar itu. Dan apabila programmer ingin menyimpan data lebih dari seratus data, maka hal itu tidak dapat dimungkinkan karena sifat array yang besarnya statik. Linked list adalah salah satu struktur data yang mampu menutupi kelemahan tersebut.
Secara umum linked list tersusun atas sejumlah bagian-bagian data yang lebih kecil yang terhubung (biasanya melalui pointer). Linked list dapat divisualisasikan seperti kereta, bagian kepala linked list adalah mesin kereta, data yang disimpan adalah gerbong, dan pengait antar gerbong adalah pointer.




Linked List Circular :


          SLLC adalah Single Linked List Circular yang pointer nextnya menunjuk pada dirinya sendiri.Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya.
          Pengertian:
          Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
          Linked List : artinya node-node tersebut saling terhubung satu sama lain.
          Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar


Double Linked List :
Double Linked List (DLL) adalah suatu cara pengolahan data yang bekerja dengan record dalam jumlah besar, sehingga membutuhkan alokasi memori dinamis yang besar pula. DLL biasanya digunakan pada saat alokasi memori konvensional tidak lagi bisa diandalkan. Sedangkan bekerja dengan data yang besar tidak dapat dihindari lagi, karena tidak jarang pula, data besar tersebut memiliki hubungan yang erat.



Ketika kita meminta Allah menukar ibadah kita dengan sejimpit rizki
Maka hanya sebesar itulah yang kita peroleh
Jangan pernah berhitung dengan Allah atas apa yang akan diberikan Allah atas ibadah kita
Maka Allah akan memberikan Alam semesta kepadamu


Sumber: KUMPULAN KATA MUTIARA ISLAM & KATA2 MOTIVASI ISLAM - Peluang Usaha