Sunday, January 24, 2016

PEMROGRAMAN SOCKET

PEMROGRAMAN SOCKET

 
A.  Sejarah Socket
Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang terkenal dengan kepeloporannya pada bidang penanganan jaringan, sehingga sering disebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2 tahun 1983 sebagai kelanjutan dari implementasi protokol TCP/IP yang muncul pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap variant Unix dan Linux mengadopsi BSD Socket. Pada lingkungan Unix, socket memberikan keleluasaan pemrograman gaya Unix yang terkenal dengan ideologinya, Semua di Unix/Linux adalah file. Komunikasi antar program dapat berlangsung lewat penggunaan deskriptor file standar Unix dengan bantuan socket.
Keunggulan dari penggunaan socket adalah anda dapat melakukan komunikasi antar proses/program melalui jaringan berbasis yang TCP/IP tentunya, bahkan dengan program lain yang berjalan pada platform non-unix seperti Microsoft Windows, sepanjang program tersebut berbicara dalam protokol transfer yang sama. Fasilitas-fasilitas yang disediakan oleh mesin unix seperti rlogin, ssh, ftp, dan lain-lain menggunakan socket sebagai sarana komunikasi mereka. Socket dibentuk dan digunakan dengan cara yang berbeda. Komunikasi socket terutama diciptakan untuk tujuan menjembatani komunikasi antara dua buah program yang dijalankan pada mesin yang berbeda. Jangan khawatir, ini tentu saja berarti dua program pada mesin yang sama dapat juga saling berkomunikasi. Kelebihan lain dari komunikasi socket adalah mampu menangani banyak klien sekaligus (multiple clients).

B.   Jenis Socket
 Ada dua golongan socket di Unix yang paling umum dipakai yaitu:
1.   Socket Lokal atau AF_UNIX
Socket Lokal adalah socket yang melakukan komunikasi dengan perantaraan sebuah file yang biasanya diletakkan pada direktori /tmp atau /usr/tmp ataupun /var/tmp. Socket semacam ini digunakan umumnya terbatas untuk komunikasi antar aplikasi dalam satu mesin.
2. Socket Networking atau AF_INET
Socket Networking ditujukan untuk komunikasi antar aplikasi antar mesin dalam lingkungan jaringan TCP/IP. Identifikasi socket dilakukan dengan sebuahservice identifier yaitu berupa nomor port TCP/IP yang dapat di sambung oleh client.
 Socket Networking memiliki beberapa jenis, yang paling umum digunakan yaitu:
a.   Socket Stream atau SOCK_STREAM
 Socket Stream adalah socket komunikasi full-duplex berbasis aliran (stream) data. Pada model komunikasi Socket Stream, koneksi dua aplikasi harus dalam kondisi tersambung dengan benar untuk dapat bertukar data. Ini dapat dianalogikan seperti komunikasi telepon. Jika sambungan telepon di salah satu titik putus, maka komunikasi tidak dapat terjadi. Koneksi model seperti ini akan menjamin data dapat dipertukarkan dengan baik, namun memiliki kelemahan dalam hal penggunaan jalur data yang relatif besar dan tidak boleh terputus.
b.   Socket Datagram atau SOCK_DGRAM
Socket Datagram berkomunikasi dengan cara yang berbeda. Socket ini tidak membutuhkan koneksi yang tersambung dengan benar untuk mengirimkan dan menerima data. Model koneksi semacam ini tidak dapat menjamin data dapat dipertukarkan dengan baik, namun memiliki keunggulan dalam hal penggunaan jalur data yang minimal. Socket Datagram dapat dianalogikan dengan komunikasi yang terjadi pada kelas, misalnya pada saat guru melakukan broadcasting materi pelajaran untuk diterima oleh setiap murid. Tidak ada yang dapat menjamin materi pelajaran dapat diterima oleh semua murid dengan baik, kecuali diterapkan metoda rechecking. Rechecking ini dapat dilakukan baik oleh guru maupun murid. Guru bertanya untuk memastikan jawaban dari murid benar, atau murid bertanya untuk memastikan kebenaran materi yang diterimanya. Socket Datagram pun menggunakan metoda ini untuk menjamin pengiriman data dapat dilakukan dengan baik.
 
C.  Sekilas Tentang Socket, TCP Dan UDP
1.   Mengenal Socket
Pengertian socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesin pada Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data dan informasi jaringan.
Socket terdiri dari elemen-elemen utama sebagai berikut:
1. Protokol.
2. Local IP.
3. Local Port.
4. Remote IP.
5. Remote Port.
Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP.
Contoh komunikasi sederhana adalah komunikasi antara komputer A dan komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IP masing-masing. Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harus memiliki port yang dapat diakses satu sama lain.
2.   TCP dan UDP
Pemrograman socket adalah cara untuk menggunakan komponen/API (Application Programming Interface) socket untuk membuat sebuah aplikasi.
Aplikasi socket umumnya terdiri dari dua kategori berdasarkan pengiriman datanya, yaitu:
a. Datagram socket (menggunakan UDP).
b. Stream socket (menggunakan TCP).
Terdapat perlakuan yang berbeda antara UDP dan TCP, walaupun sama-sama berfungsi sebagai protokol pertukaran data.
UDP tidak memerlukan proses koneksi terlebih dahulu untuk dapat mengirimkan data, paket-paket data yang dikirimkan UDP bisa jadi melalui rute yang berbeda-beda, sehingga hasil yang diterima bisa jadi tidak berurutan.
Contohnya jika aplikasi socket pengirim mengirimkan berturut-turut pesan 1, pesan 2, dan pesan 3, maka aplikasi socket penerima belum tentu mendapatkan pesan yang berurutan dimulai dari pesan 1, pesan 2, dan terakhir pesan 3. Bisa saja pesan 2 terlebih dulu diterima, menyusul pesan-pesan yang lain, atau berbagai kemungkinan lainnya. Bahkan, dapat terjadi pesan yang dikirimkan tidak sampai ke penerima karena kegagalan pengiriman paket data.
Tidak demikian halnya dengan stream socket yang menggunakan TCP. Jenis ini mengharuskan terjadinya koneksi terlebih dahulu, kemudian mengirimkan paket-paket data secara berurutan, penerima juga dijamin akan menerima data dengan urutan yang benar, dimulai dari data pertama yang dikirimkan hingga data terakhir. TCP dapat menangani data yang hilang, rusak, terpecah, ataupun terduplikasi.  
Dari sekilas perbedaan ini, kita dapat menarik kesimpulan bahwa aplikasi socket yang menggunakan TCP memerlukan pertukaran data dua arah yang valid. Sedangkan, aplikasi socket yang menggunakan UDP lebih memprioritaskan pada pengumpulan data.
Karena itu aplikasi socket dengan TCP sering diterapkan untuk aplikasi chat, transfer le, ataupun transaksi-transaksi penting. Sedangkan aplikasi socket dengan UDP cocok diterapkan untuk aplikasi monitoring jaringan, game online, dan aplikasi-aplikasi broadcast.

D.  Port dan Winsock
1.   Port
Salah satu elemen penting yang digunakan dalam aplikasi socket adalah port. Port merupakan sebuah koneksi data virtual yang digunakan aplikasi untuk bertukar data secara langsung.
Terdapat banyak port di dalam sebuah sistem komputer dengan fungsinya masing-masing. Sebagai contoh, dalam mengirim e-mail digunakan service SMTP yang umumnya menggunakan port 25. Sementara service POP3 untuk menerima e-mail menggunakan port 110, port 80 digunakan untuk HTTP, port 443 digunakan untuk HTTPS, dan seterusnya.
Nomor-nomor port dikategorikan dalam tiga jenis sebagai berikut:
a.   Well-known ports.
Merupakan port yang telah digunakan secara internal oleh sistem Windows, misalnya port untuk koneksi Internet, service FTP, dan seterusnya. Port yang telah digunakan ini adalah port 0 sampai dengan port 1023.
b.   Registered ports.
Port ini dapat digunakan dalam aplikasi Anda, range-nya adalah port 1024 hingga port 49151, cukup banyak port yang tersedia yang bebas Anda pilih sehingga Anda tidak perlu kuatir kekurangan port untuk aplikasi Anda.
c.   Dynamic/Private ports.
Dari port 49152 sampai dengan port 65535.
2.   Winsock
Untuk pemrograman aplikasi socket berbasis Windows, maka komponen API yang sering digunakan adalah Winsock (Win-dows Socket API) yang mendukung interface standar TCP/IP, yang merupakan protokol jaringan paling popular saat ini (contoh protokol jaringan yang lain adalah NetBIOS, IPX dari Novell, AppleTalk dari Apple, dan sebagainya).
Pengertian TCP/IP (TCP over IP) mungkin dapat menjadi sedikit rancu jika diartikan TCP/IP hanya mengizinkan pengiriman TCP (dan tidak UDP), padahal seperti yang telah kita bahas, pengiriman socket dapat melalui TCP maupun UDP.
Pengertian TCP/IP di sini sebenarnya digunakan untuk menunjukkan teknologi jaringan/Internet, termasuk di dalamnya adalah UDP. Jika Anda menggunakan UDP, dapat juga disebut sebagai UDP/IP (UDP over IP), tetapi umumnya istilah ini jarang digunakan dan istilah TCP/IP telah mencakup, baik TCP maupun UDP.
Pada bahasa pemrograman visual seperti Visual Basic/Delphi, Anda dapat menggunakan control Winsock yang telah disediakan untuk mengembangkan aplikasi socket.
Walaupun kita akan mencontohkan aplikasi socket dalam environment Windows, Anda tidak perlu khawatir jika aplikasi socket yang menggunakan Winsock tidak dapat berkomunikasi dengan aplikasi socket berbasis Unix/Linux, karena komunikasi tetap dapat terjadi selama aplikasi tersebut menggunakan protokol jaringan yang sama.
Bagi Anda yang terpaksa hanya menggunakan satu komputer, dapat memanfaatkan alamat localhost atau 127.0.0.1 yang mengizinkan dua aplikasi berjalan pada satu mesin komputer dan berkomunikasi satu sama lain.
3.   Tools Tambahan
Aplikasi socket merupakan aplikasi jaringan dan jika Anda mendalami seluk-beluk jaringan, tentu akan familiar dengan tools tambahan yang umumnya digunakan dalam jaringan. Tools ini kemungkinan dapat berguna untuk diimplementasikan ke dalam aplikasi socket Anda.
Tools yang dimaksud, antara lain:
a.   Ping.
Ping digunakan untuk memeriksa keberadaan remote host dengan jalan mengirimkan sinyal kepada remote host. Keberadaan remote host dapat ditentukan dengan melihat response yang diterima. Ping juga dapat digunakan untuk mengukur kecepatan transfer data. Salah satu contoh penggunaan ping dalam aplikasi socket adalah memeriksa server yang tersedia sebelum mengirimkan data (dengan asumsi tersedia lebih dari 1 server).
b.   Telnet.
Telnet merupakan singkatan dari TELecommunication NET-work. Umumnya istilah telnet saat ini merujuk pada aplikasi telnet client yang tersedia pada kebanyakan operating sys-tem. Telnet mengizinkan Anda mengakses remote host dan menggunakan service-nya. Sebagai contoh, Anda dapat mengirimkan e-mail melalui telnet yang menggunakan port 25 (service SMTP) pada remote host tertentu. Jika Anda telah masuk ke dalam environment telnet, command line yang digunakan adalah command berbasis Unix/Linux. Aplikasi socket dapat dimodikasi bekerja seperti telnet dengan mengakses remote host dan port tertentu. Di dalam aplikasi socket, Anda dapat mengambil dan mengolah response yang didapat dari remote host.
c.   Netstat.
Netstat menampilkan status jaringan yang terjadi. Dapat menampilkan port yang sedang terkoneksi, atau dalam kondisi menunggu/listening, juga menampilkan protokol yang digunakan, apakah TCP atau UDP. Dengan Netstat, Anda dapat mengetahui koneksi jaringan yang terjadi, hal ini dapat dimanfaatkan di dalam aplikasi socket, misalnya untuk melihat port yang sedang aktif dan digunakan.
Ada kalanya Anda perlu menjalankan tools jaringan yang telah disebutkan di atas melalui aplikasi Anda. Untuk keperluan ini, Anda dapat menggunakan shell command yang disediakan oleh bahasa pemrograman yang Anda gunakan.
Misalnya pada Visual Basic, dapat digunakan perintah Shell diikuti parameter yang diperlukan.
Jika ingin mengolah response yang dihasilkan oleh tools tertentu, Anda dapat menuliskan hasilnya pada sebuah le teks, contohnya jika Anda menjalankan perintah netstat –an > hasil.txt pada Command Prompt Windows, maka informasi mengenai koneksi yang aktif akan tersimpan dalam le hasil.txt, di mana Anda dapat mengolah le hasil.txt tersebut lebih lanjut di dalam aplikasi Anda.

E.  Socket Programming 

Socket adalah sebuah cara untuk berkomunikasi dengan program atau node lain menggunakan file deskriptor. Di UNIX (dimana socket diciptakan) kita sering mendengar slogan: “everything is a file”, jadi untuk berkomunikasi dengan program atau node lain semudah kita membaca dan menulis file deskriptor. Antarmuka socket dan file adalah mirip, jika pada file kita membukanya dengan open() sedangkan pada socket kita manggunakan socket(). Pada file deskriptor yang menjadi tujuan adalah sebuah file, sedangkan pada socket adalah komputer atau node lain. Intinya ketika kita telah terhubung dengan socket(), maka antarmukanya sama saja dengan sebuah file. Sebuah abstraksi perangkat lunak yang digunakan sebagai suatu “terminal” dari suatu hubungan antara dua mesin atau proses yang saling berinterkoneksi
Penggunaan socket programming memungkinkan adanya komunikasi antara client dan server. Salah satu contoh sederhana penggunaan socket programming adalah pembuatan program untuk chatting. Program tersebut sebenarnya merupakan bentuk aplikasi berupa komunikasi antara client dan server. Ketika seorang user (client) melakukan koneksi ke chat server, program akan membuka koneksi ke port yang diberikan, sehingga server perlu membuka socket pada port tersebut dan “mendengarkan” koneksi yang datang. Socket sendiri merupakan gabungan antara host-adress dan port adress. Dalam hal ini socket digunakan untuk komunikasi antara client dan server.
Socket merupakan fasilitas IPC (Inter Proses Communication) untuk aplikasi jaringan. Agar suatu socket dapat berkomunikasi dengan socket lainnya, maka socket butuh diberi suatu alamat unik sebagai identifikasi. Alamat socket terdiri atas Alamat IP dan Nomer Port. Contoh alamat socket adalah 192.168.29.303000, dimana nomer 3000 adalah nomer portnya. Alamat IP dapat menggunakan alamat Jaringan Lokal (LAN) maupun alamat internet. Jadi socket dapat digunakan untuk IPC pada LAN maupun Internet.

F.   Model Aplikasi Client Server
Untuk membuat aplikasi socket yang sederhana diperlukan dua aplikasi. Yaitu, pertama adalah aplikasi server yang akan menerima data, sedangkan aplikasi kedua adalah aplikasi client yang mengirimkan data pada server. Baik aplikasi server dan aplikasi client mendenisikan port yang sama sebagai jalur komunikasi.
Obyek socket pada sisi client dan server berbeda sedikit. Pada sisi aplikasi server, suatu socket server dibentuk dan melakukan operasilisten/menunggu. Operasi ini pada intinya menunggu permintaan koneksi dari sisi client. Sedangkan pada sisi client, dibentuk suatu socket biasa.
Pada saat socket client, informasi alamat socket server dilewatkan sebagai argumen dan socket client akan otomatis mencoba meminta koneksi ke socket server. Pada saat permintaan koneksi client sampai pada server, maka server akan membuat suatu socket biasa. Socket ini yang nantinya akan berkomunikasi dengan socket pada sisi client. Setelah itu socket server dapat kembali melakukan listen untuk menunggu permintaan koneksi dari client lainnya. Langkah ini umumnya hanya dilakukan jika aplikasi server mengimplementasikan multithreading.
Setelah tercipta koneksi antara client dan server, maka keduanya dapat saling bertukar pesan. Salah satu atau keduanya kemudian dapat mengakhiri komunikasi dengan menutup socket.
Untuk protokol UDP, perbedaanya adalah socket di sisi server sama dengan socket di sisi client, dan tidak ada operasi listen pada sisi server. Kemudian saat paket data dikirimkan, alamat socket penerima harus disertakan sebagai argumen.
Program Aplikasi Client Server bisa dibuat dengan menggunakan Visual Basic 6, NET, Delphi, dan lain sebagainya. Sebagai contoh yaitu Aplikasi Client Server sederhana dengan Delphi dimana tugas aplikasi server cukup sederhana, yaitu hanya siap sedia menerima data yang masuk pada sebuah port.

a.   Dasar Pemrograman Socket Menggunakan Delphi

Apa yang harus dipersiapkan oleh seorang programmer dalam membuat program mengunakan socket ini? Yaitu:
1.   Komponen Pengirim dan Penerima
Pertama kali anda harus tahu terlebih dahulu mekanisme dari socket ini. Sebagai contoh logikanya, jika seseorang mengirim suatu barang pasti ada penerimanya. Begitu juga di socket, jika mengirimkan data harus ada yang menerima. Kalau anda sudah mengerti apa yang sudah dijelaskan tadi, maka yang mengirim adalah komponen TClientSocket dan yang menerima adalahTServerSocket.
2.   Tujuan Pengiriman
Selanjutnya jika seseorang akan mengirim suatu surat maka harus ada alamat tujuan pengiriman. Jika di socket ini disebut sebagai host atau IP Address dan Port. Jadi pada saat TClientSocket akan mengirim pesan harus diisi terlebih dahulu IP Address dan port tadi.
3.   Status Penerimaan
Setelah TClientSocket mengirim sinyal untuk terhubung ke TServerSocketmaka perlu adanya status bahwa keduanya telah terhubung. Atau bahkan jika diantara keduanya sudah tidak terhubung lagi. Ini sangat penting mengingat pada saat akan mengirim data, harus mengetahui terlebih dahulu status keterhubungan ini.
b.   Pengolahan Data
Komunikasi data antara server dan client di atas merupakan bentuk komunikasi satu arah sederhana. Data yang dikirimkan dari client pun merupakan data mentah yang tidak memerlukan pengolahan data lebih lanjut.
Anda dapat membuat sendiri function dan rutin untuk mengolah data yang dikirim dan diterima sesuai dengan kebutuhan aplikasi, karena data yang dikirimkan antarmesin bisa jadi sangat bervariasi. Misalnya saja aplikasi server/client Anda memerlukan pertukaran data identitas mesin, tanggal, jam, header pesan, isi pesan, dan lain sebagainya. Anda dapat mengirimkannya dalam format tertentu, misalnya bentuk string dengan karakter pemisah untuk membedakan masing-masing field.
Dalam komunikasi data di dalam jaringan, Anda perlu mempertimbangkan besarnya data yang lalu-lalang pada jaringan, baik dengan menggunakan TCP maupun UDP. Keduanya harus dipersiapkan untuk mampu menangani data yang besar jika memang pengguna aplikasi socket Anda sangat luas. Pastinya tidak terdapat masalah yang berarti jika Anda mencobanya dengan dua atau beberapa komputer dalam sebuah jaringan lokal, tetapi coba bayangkan seberapa besar total data yang harus dikirim dan diterima pada sebuah aplikasi, misalnya game online. Pada contoh game online, sebuah server harus dipersiapkan untuk mampu melayani sedemikian banyak client, dan jaringan yang digunakan bukan lagi jaringan lokal, tetapi sudah merupakan jaringan Internet, di mana siapapun dapat menggunakan aplikasi Anda selama ia memiliki koneksi Internet.
Mungkin Anda bertanya, jika data yang keluar-masuk memerlukan pengolahan lebih lanjut, mengapa tidak digunakan database, sehingga Anda tidak perlu pusing membuat rutin atau modul untuk mengolah data yang dikirim/diterima melalui komunikasi socket? Pada umumnya, aplikasi socket client/server memang menggunakan database pada sisi server, tetapi jika aplikasi socket mengharuskan sisi client menggunakan database tertentu, maka akan membatasi penggunaan aplikasi itu sendiri.
Selain itu, kegunaan komunikasi socket adalah agar dapat berjalan lintas platform. Tidak peduli operating system apa yang digunakan pengguna aplikasi, komunikasi socket tetap berjalan selama digunakan protokol yang sama. Sebenarnya jika Anda melihat software database seperti SQL Server, intinya juga merupakan aplikasi socket, di mana menggunakan port tertentu sebagai jalur komunikasi, tetapi software tersebut telah dikemas menjadi produk database yang spesik.

G.  Trouble Shooting Jaringan
Kadang sebagai admin jaringan, kita kerap kali menemukan masalah-masalah, untuk itu diperlukan ilmu yang mempelajari tentang trouble shooting jaringan. Di sini akan dijabarkan beberapa trouble shooting dan penanganannya :
1.  Antar komputer 1 dan lainnya tidak bisa berkomunikasi :
a. Cek apakah pembagian IP pada class yang sama
b. Cek apakah komputer dalam 1 workgroup yang sama
c. Restart Komputer
2. Komputer sudah diset dengan ip calss yang benar dan dalam 1 workgroup tetapi tidak dapat berkomunikasi
a. Cek apakah LAN card rusak, yaitu dengan menjalankan perintah ping 127.0.0.1 atau ping localhost.
b.  Cek Apakah Kabel LAN sudah benar pembuatannya, untuk komputer yang melewati Hub tidak perlu crossing pada kabelnya, tetapi untuk komputer yang tidak melewati Hub harus memakai metode crossing 1-3, 2-6.

Tuesday, March 17, 2015

Ilmuwan yang Masuk Islam


5 Ilmuwan yang Masuk Islam Setelah Riset Ilmiah

1. Maurice Bucaille, masuk Islam karena jasad Fir’aun 

         Prof Dr Maurice Bucaille adalah adalah ahli bedah kenamaan Prancis dan pernah mengepalai klinik bedah di Universitas Paris.
Ia dilahirkan di Pont-L’Eveque, Prancis, pada 19 Juli 1920. Kisah di balik keputusannya masuk
Islam diawali pada tahun 1975.
         Pada saat itu, pemerintah Prancis menawari bantuan kepada pemerintah Mesir untuk meneliti, mempelajari, dan menganalisis mumi Firaun. Bucaille lah yang menjadi pemimpin ahli bedah sekaligus penanggung jawab utama
dalam penelitian.
        Ternyata, hasil akhir yang ia peroleh sangat mengejutkan. Sisa-sisa garam yang melekat pada tubuh sang mumi adalah bukti terbesar bahwa dia telah mati karena tenggelam. Jasadnya segera dikeluarkan dari laut dan kemudian dibalsem untuk segera dijadikan mumi agar awet.
Namun penemuan yang dilakukan Bucaille menyisakan pertanyaan. Bagaimana jasad tersebut bisa terjaga dan lebih baik dari jasad-jasad yang lain (tengkorak bala
tentara Firaun), padahal telah dikeluarkan dari laut?
Bucaille lantas menyiapkan laporan akhir tentang sesuatu yang diyakininya sebagai penemuan baru, yaitu tentang penyelamatan mayat Firaun dari laut dan pengawetannya.
Laporan akhirnya ini dia terbitkan dengan judul ‘Mumi Firaun; Sebuah Penelitian Medis Modern’, dengan judul aslinya, ‘Les Momies des Pharaons et la Midecine’.
         Saat menyiapkan laporan akhir, salah seorang rekannya membisikkan sesuatu di telinga Bucaille seraya berkata:
“Jangan tergesa-gesa karena sesungguhnya kaum Muslimin telah berbicara tentang tenggelamnya mumi ini”.
Dia mulai berpikir dan bertanya-tanya. Bagaimana mungkin hal itu bisa terjadi? Bahkan, mumi tersebut baru ditemukan sekitar tahun 1898 M, sementara Alquran telah ada ribuan tahun sebelumnya.
Setelah perbaikan terhadap mayat Firaun dan pemumiannya, Prancis mengembalikan mumi tersebut ke Mesir. Namun, ia masih bertanya-tanya tentang kabar bahwa kaum Muslimin telah saling menceritakan tentang penyelamatan mayat tersebut. Dan akhirnya setelah pemikiran panjang, akhirnya dia masuk islam.

2. Jacques Yves Costeau, di lautan terdalam menemukan Islam
         Mr Jacques Yves Costeau adalah seorang ahli 
Oceanografer dan ahli selam terkemuka dari Perancis yang lahir pada 11 Juni 1910. Sepanjang hidupnya ia menghabiskan waktu dengan menyelam ke berbagai dasar samudera di seantero dunia dan membuat film
dokumenter tentang keindahan alam dasar laut untuk ditonton oleh seluruh dunia melalui stasiun tv Discovery Channel.
Pada suatu hari ketika sedang melakukan eksplorasi di bawah laut, tiba-tiba Costeau menemui beberapa kumpulan mata air tawar-segar yang sangat sedap rasanya karena tidak bercampur atau tidak melebur
dengan air laut yang asin di sekelilingnya. Sehingga seolah- olah ada dinding atau membran yang membatasi keduanya.
Fenomena ganjil itu mendorongnya untuk mencari tahu penyebab terpisahnya air tawar dari air asin di tengah-tengah lautan.
Sampai pada suatu hari ia bertemu dengan seorang profesor muslim dan menceritakan fenomena ganjil itu kepadanya. Profesor tersebut lalu teringat ayat Alquran tentang bertemunya dua lautan (surat Ar-Rahman ayat
19-20) yang sering diidentikkan dengan Terusan Suez. Ayat itu berbunyi: “Dia membiarkan dua lautan mengalir yang keduanya kemudian bertemu, antara keduanya ada batas yang tidak dilampaui masing-masing”.
Kemudian dibacakan surat Al-Furqan ayat 53 : “Dan Dialah yang membiarkan dua laut mengalir (berdampingan); yang ini tawar lagi segar dan yang lain masin lagi pahit; dan Dia jadikan antara keduanya dinding dan batas yang menghalangi.”
Terpesonalah Mr Costeau mendengar ayat-ayat Alquran itu, melebihi kekagumannya melihat keajaiban pemandangan yang pernah dilihatnya di lautan yang dalam.
Costeau pun berkata bahwa Alquran memang
sesungguhnya kitab suci yang berisi firman Allah, yang seluruh kandungannya mutlak benar. Tak lama, Mr Costeau memeluk Islam.

3. Demitri Bolykov, meyakini matahari akan terbit dari Barat

         Sebagai seorang ahli fisika asal Ukraina, Demitri Bolykov mengatakan bahwa pintu masuk ke Islam baginya adalah fisika.
Demitri tergabung dalam sebuah penelitian ilmiah
yang dipimpin oleh Prof Nicolai Kosinikov, yang juga merupakan pakar fisika.
Teori yang dikemukan oleh Prof Kosinov merupakan teori yang paling baru dan paling berani dalam menafsirkan fenomena perputaran bumi pada porosnya. Kelompok peneliti ini merancang sebuah sampel berupa bola yang diisi
penuh dengan papan tipis dari logam yang dilelehkan, ditempatkan pada badan bermagnit yang terbentuk dari elektroda yang saling berlawanan arus.
Ketika arus listrik berjalan pada dua elektroda tersebut maka menimbulkan gaya magnet dan bola yang dipenuhi papan tipis dari logam tersebut mulai berputar pada porosnya fenomena ini dinamakan “Gerak Integral Elektro
Magno-Dinamika”. Gerak ini pada substansinya menjadi aktivitas perputaran bumi pada porosnya.
Pada tingkat realita di alam ini, daya matahari merupakan “kekuatan penggerak” yang bisa melahirkan area magnet yang bisa mendorong bumi untuk berputar pada porosnya.
Kemudian gerak perputaran bumi ini dalam hal cepat atau lambatnya seiring dengan daya intensitas daya matahari.
Atas dasar ini pula posisi dan arah kutub utara bergantung. Telah diadakan penelitian bahwa kutub magnet bumi hingga
tahun 1970 bergerak dengan kecepatan tidak lebih dari 10 km dalam setahun, akan tetapi pada tahun-tahun terakhir ini kecepatan tersebut bertambah hingga 40 km dalam setahun
Bahkan pada tahun 2001 kutub magnet bumi bergeser dari tempatnya hingga mencapai jarak 200 km dalam sekali gerak. Ini berarti bumi dengan pengaruh daya magnet tersebut mengakibatkan dua kutub magnet bergantian
tempat. Artinya bahwa “gerak” perputaran bumi akan mengarah pada arah yang berlawanan. Ketika itu matahari akan terbit (keluar) dari Barat.

4. Dr.Fidelma O’Leary, menemukan rahasia sujud dalam salat

         Dr Fidelma, ahli neurologi asal Amerika Serikat mendapat hidayah saat melakukan kajian terhadap saraf otak manusia. Ketika melakukan penelitian, ia menemukan beberapa urat saraf di dalam otak manusia yang tidak dimasuki darah.
Padahal setiap inci otak manusia
memerlukan suplai darah yang cukup agar dapat berfungsi secara normal.
Penasaran dengan penemuannya, ia mencoba mengkaji lebih serius. Setelah memakan waktu lama, penelitiannya pun tidak sia-sia. Akhirnya dia menemukan bahwa ternyata darah tidak akan memasuki urat saraf di dalam otak
manusia secara sempurna kecuali ketika seseorang tersebut melakukan sujud dalam salat. Artinya, kalau manusia tidak menunaikan ibadah shalat, otak tidak dapat menerima darah yang secukupnya untuk berfungsi secara normal.
Rupanya memang urat saraf dalam otak tersebut hanya memerlukan darah untuk beberapa saat tertentu saja. Ini
artinya darah akan memasuki bagian urat otak dengan mengikuti waktu salat.

5. Profesor William, menemukan tumbuhan yang bertasbih
         Sebuah majalah sains terkenal, Journal of Plant Molecular Biologies, mengungkapkan hasil penelitian yang dilakukan sebuah tim ilmuwan Amerika Serikat tentang suara halus
yang tidak bisa didengar oleh telinga biasa (ulstrasonik), yang keluar dari tumbuhan. Suara tersebut berhasil disimpan dan direkam menggunakan alat perekam canggih.
Dari alat perekam itu, getaran ultrasonik kemudian diubah menjadi menjadi gelombang elektrik optik yang dapat
ditampilkan ke layar monitor. Dengan teknologi ini, getaran ultrasonik tersebut dapat dibaca dan dipahami, karena suara yang terekam menjadi terlihat pada layar monitor dalam bentuk rangkaian garis.
Para ilmuwan ini lalu membawa hasil penemuan mereka ke hadapan tim peneliti Inggris di mana salah seorangnya adalah peneliti muslim.
Yang mengejutkan, getaran halus ultrasonik yang
tertransfer dari alat perekam menggambarkan garis-garis yang membentuk lafadz Allah dalam layar. Para ilmuwan Inggris ini lantas terkagum-kagum dengan apa yang mereka saksikan.
Peniliti muslim ini lalu mengatakan jika temuan tersebut sesuai dengan keyakinan kaum muslimin sejak 1400 tahun yang lalu. Para ilmuwan AS dan tim peneliti Inggris yang mendengar ucapan itu lalu memintanya untuk menjelaskan lebih dalam maksud yang dikatakannya.
Setelah menjelaskan tentang Islam dan ayat tersebut, sang peneliti muslim itu memberikan hadiah berupa mushaf Alquran dan terjemahanya kepada Profesor William, salah satu anggota tim peneliti Inggris.
Selang beberapa hari setelah peristwa itu, Profesor William berceramah di Universitas Carnegie Mellon. Ia mengatakan:
“Dalam hidupku, aku belum pernah menemukan fenomena semacam ini selama 30 tahun menekuni pekerjaan ini, dan tidak ada seorang ilmuwan pun dari mereka yang melakukan pengkajian yang sanggup menafsirkan apamakna dari fenomena ini. Begitu pula tidak pernah ditemukan kejadian alam yang bisa menafsirinya. Akan tetapi, satu-satunya tafsir yang bisa kita temukan adalah dalam Alquran. Hal ini tidak memberikan pilihan lain buatku selain mengucapkan Syahadatain,” demikian ungkapan William.

Semoga bisa menjadi inspirasi dan bisa di ambil hikmahnya

Wednesday, January 7, 2015

CARA MEMBUAT KUE SAPIT DAN RESEP NYA



Membuat Resep Kue Sapit.
Kue sapit adalah salah satu kue warisan leluhur kita yang perlu kita jaga kelestariannya. Tak ada salahnya kali ini kita belajar membuat kue sapit. Selain rasanya yang renyah dan gurih.

 caranya gak terlalu sulit kok. Ini dia resepnya. . .




Komposisinya :
  • 150 gram tepung kanji
  • 50 gram gula pasir
  • 1/8 sdt garam
  • 1 butir telur
  • 375 ml santan dari 1 butir kelapa
 Cara Membuat :
  1. Pertama kocok telur dan gula pair sampai berbusa.
  2. Lalu masukkan tepung kanji, santan, dan garam sambil aduk rata.
  3. Taburi catakan kue semprong dengan kelapa parut. Masak sambil dibolak-balik hingga kelapa mengering.
  4. Bersihkan cetakan dan panaskan. Tuang adonan hingga rata. Tangkupkan cetakan lalu bakar sambil di bolak-balik hingga kering.
  5. Setelah itu keluarkan dari cetakan, panas-panas gulung dan sisihkan.
Selamat memasak ya gan. . J

Monday, January 5, 2015

PERBEDAAN METODE CAI, CBI, CBE, CAL, CBL

      Pada awalnya komputer digunakan hanya sebagai alat untuk menghitung. Lalu para peneliti melihat adanya kebutuhan komputer untuk pembelajaran. Akhirnya diadakan penelitian yang berfokus pada komputer untuk pendidikan. Dalam perkembangannya komputerlah yang paling populer dipakai sebagai alat bantu pembelajaran secara elektronik. Karena itu dikenal dengan istilah CBL (Computer Based Learning) atau dalam bahasa Indonesia disebut sebagai pembelajaran berbasis komputer. Saat pertama kali komputer mulai diperkenalkan khususnya pada pembelajaran, maka ia akan menjadi dikenal atau populer di kalangan siswa karena berbagai variasi teknik mengajar yang bisa dibuat dengan bantuan komputer tersebut. Dalam CBL dikenal 5 (lima) istilah dalam penggunaan komputer untuk pendidikan yaitu :

  1. CAI (computer assisted instruction) atau pembelajaran dengan bantuan komputer.
  2. CBI (computer based instruction) atau program pembelajaran yang menggunakan komputer.
  3. CBL  (computer based learning) atau pembelajaran yang sepenuhnya menggunakan komputer.
  4. CBE (computer based education) atau komputer sebagai alat bantu dalam pendidikan.
  5. CAL (computer assisted learning) atau pembelajaran yang menggunakan alat bantu utama komputer..
Perbedaan dan persamaan kelima istilah tersebut adalah sebagai berikut :

  1. CAI : Komputer digunakan untuk membantu proses pembelajaran dalam menyampaikan materi yang sudah diprogramkan. Di CAI peran guru tidak semuanya dihilangkan dan komputer hanya berperan sebagai pendamping guru dalam menyampaikan materi.
  2. CBI : Pembelajaran terprogram yang menggunakan komputer sebagai alat bantu utama untuk mengkomunikasikan materi kepada siswa, komputer menjadi pusat pembelajaran (center of learning) dimana siswa berperan lebih aktif dalam mempelajari suatu materi dengan media utama komputer. Siswa belajar secara mandiri tanpa bantuan peran guru.
  3. CBL : Pembelajaran yang sepenuhnya menggunakan komputer, siswa berhadapan dan berinteraksi secara langsung dengan komputer. Interaksi antara komputer dengan siswa ini terjadi secara individual dan belajar secara mandiri tanpa bantuan guru.
  4. CBE : Bersifat menyeluruh, semua aplikasi komputer dalam pendidikan dapatyang digunakan untuk menunjang kegiatan pendidikan seperti : mengolah data, mencatat kehadiran pengajar dan siswa, menyimpan arsip data pribadi, dan lain-lain. Aplikasi-aplikasi pada CBE buakn digunakan untuk menunjang kegiatan pembelajaran.
  5. CAL : Pembelajaran yang melibatkan penggunaan komputer untuk mempresentasikan materi belajar, tutorial dan umpan balik kemajuan belajar siswa.
          Maka dalam topik ini istilah yang tepat digunakan ialah CBL (Computer Based Learning) yang mana segala jenis belajar siswa yang berhubungan dengan belajar. Karena kata “learning’ disini dianggap masih sebaga istialh yang umum karena istilah kata ‘learning” itu sendiri secara alamiah mencakup situasi dimana komputer digunakan sebagai alat pembelajaran, tetapi tidak untuk menyampaikan informasi atau mengajar siswa.

Tahap-tahap penelitian dalam CBL

Adapun tahap-tahap yang dilakukan dsalam penelitian CBL tentunya mempunyai tahap-tahap yang dilakukan untuk menemukan masalah serta hasilnya. Berikut adalah tahap-tahap penelitian pada CBL:

  1. Pertama  penggunaan komputer dalam pendidikan adalah untuk latihan dan praktek dalam aritmatika dan membaca.
  2. Kedua penggunaan komputer dapat digunakan sebagai guru, sebagai alat. Di sini, peran "tradisional" komputer dalam pendidikan dibalik.  Dalam rangka untuk mengajarkan komputer, siswa harus belajar dan mengerti bahasa komputer, dengan demikian para siswa harus dapat bekerja dengan bahasa pemrograman.
  3. Ketiga memberikan arah pada guru tentang di mana dan bagaimana menggunakan komputer dalam pembelajaran.
  4. Keempat perangkat lunak pendidikan akan menampilkan peningkatan kognisi yang memungkinkan manusia untuk memperpanjang/mempertajam kemampuan kognitif mereka melalui aplikasi komputer.
Dari tahap-tahap yang ada diatas maka didapatkan masalah dan hasil penelitian, beserta nama-nama peneliti yang meneliti tentang CBL,dan kelemahan penelitian akan dibahas seperti berikut ini :

           Penelitian awal tentang komputer di sekolah-sekolah yang menggunakan replikasi mengalami kesalahan terhadap studi perbandingan media sebelumnya (Clark, 1985). Studi cenderung hanya berfokus pada "komputer" sebagai variabel bebas dan dengan demikian komputer itu sendiri diasumsikan dapat mempengaruhi proses belajar. Selain itu, variabel terikat bagi banyak studi ini tidak memadai. Seperti studi perbandingan media, penelitian awal cenderung menggunakan pencapaian tradisional sebagai ukuran hasil. Kurangnya instrumen merupakan masalah yang serius bagi para peneliti di lapangan, dan banyak studi yang gagal karena ukuran variabel terikat yang tidak semestinya. Namun ada beberapa peneliti yang meneliti bagian ini sehingga mendapatkan ukuran hasil yang lebih tepat. (Haechan & Baker, 1989; Rebok, 1989; Shoenfeld, 1985).

       Selain masalah dengan variabel bebas dan terikat, banyak pekerjaan penelitian di bidang CBL, sama seperti  penelitian dengan media lain, telah dikritik karena masalah desainnya. Dalam banyak penelitian tidak ada pengawasan yang baik untuk konten kurikulum atau metode pengajaran.  Selain itu, bukti menunjukkan dari penelitian bahwa efek baru dapat menjelaskan banyak hasil yang mendukung komputer dalam penelitian ini (Clark & ​​Salomon, 1986; Clark, 1990). 

        Kulik melengkapi tiga hal besar dalam studi meta analisis, satu studi memeriksa efek dari belajar berbasis komputer terhadap murid sekolah dasar, satu lagi terhadap murid sekolah menengah dan yang terakhir terhadap mahasiswa. Meta analisis yang dilakukan Kulik pada level sekolah dasar mengungkapkan adanya peningkatan dalam prestasi siswa dengan ukuran efek standar deviasi .47. Kulik, Bangert dan Williams (1983) menganalisis 51 studi dari CBE yang dilaksanakan dalam tingkat 6-12. Secara keseluruhan, mereka menemukan bahwa CBE meningkatkan nilai ujian siswa dengan standar deviasi .32 dan juga memiliki efek positif dalam membentuk sikap siswa dan dalam jumlah waktu yang diperlukan dalam pembelajaran. Kulik menyimpulkan bahwa pendekatan komputer merupakan cara paling efektif untuk siswa sekolah dasar dan paling tidak efektif untuk mahasiswa.
  
Kesimpulan Kulik yang paling familiar adalah bahwa pendekatan pembelajaran berbasis komputer dapat meningkatkan prestasi siswa, menghemat waktu siswa dan guru, selain itu juga meningkatkan tingkah laku siswa ke arah yang lebih baik terhadap sekolah dan pada pelajaran tertentu. Karyanya telah sering dikutip sebagai bukti bahwa pendekatan pembelajaran berbasis komputer efektif untuk digunakan. Namun metodologinya telah menerima kritik keras dari banyak orang. Perhatian besar adalah fakta bahwa persentase yang tinggi dari penelitian yang termasuk dalam ulasan yang dilakukan adalah penelitian tentang meluasnya penggunaan mikrokomputer di sekolah. Banyak orang menyarankan bahwa studi yang dilakukan dengan menggunakan mainframe komputer yang penerapannya masih dipertanyakan untuk situasi saat ini.
  
Penelitian tentang pembelajaran berbasis komputer, yang diteliti oleh MD Robyler. Studi penelitian memberikan informasi yang berguna tentang prosedur dan hasil penelitian. Robyler menjelaskan pada hasil di bidang sikap, konten, jenis aplikasi, tingkat kelas dan jenis siswa. Robyler mengkonfirmasi laporan sebelumnya bahwa aplikasi komputer lebih efektif untuk mengajar matematika daripada membaca dan keterampilan berbahasa. Robyler juga mencatat bahwa penggunaan aplikasi komputer untuk mengajarkan keterampilan kognitif (pemecahan masalah, berpikir kritis) menghasilkan efek yang sama seperti untuk membaca dan matematika.
  
Robyler menemukan bahwa efek dari penggunaan komputer yang tertinggi berada pada tingkat perguruan tinggi dan terendah pada tingkat sekolah menengah. Dia menyarankan bahwa aplikasi komputer dapat efektif pada tingkat yang lebih tinggi (perguruan tinggi), dan bahwa mungkin CBL mungkin paling efektif pada tingkat ini. Robyler menemukan kecenderungan, yang telah dilaporkan sebelumnya, dalam penggunaan komputer agar lebih efektif bila digunakan oleh siswa dengan prestasi rendah. Dia menyatakan bahwa, "Perlu dicatat dalam ringkasan tersebut, sebab dalam ringkasan tinjauan sebelumnya menerangkan bahwa perangkat lunak terutama yang dirancang untuk peserta didik yang lambat dalam memahami pelajaran mungkin lebih efektif dengan mereka daripada perangkat lunak yang dirancang untuk masyarakat umum "(Robyler, hal. 123). Dia menemukan perbedaan dalam efek terhadap pria dan wanita, meski penelitian ini buktinya belum meyakinkan, tapi sangat disarankan bahwa ini adalah bidang yang membutuhkan penelitian lebih lanjut.
  
Meskipun informasi dari tinjauan tentang penelitian dalam pembelajaran berbasis komputer memberikan masukan yang berharga, kecenderungan untuk meneliti dalam studi perbandingan media harus dipertanyakan. Secara jelas, studi yang berfokus pada efek dari atribut tertentu dan penggunaan komputer pada hasil belajar tertentu adalah sulit untuk digabungkan dan dianalisis. Hal ini perlu dicatat bahwa sebagian besar variabel terikat kognitif dalam studi termasuk dalam penelitian yang menggunakan langkah-langkah pencapaian standar. Sebuah deskripsi singkat dari beberapa contoh  yang baik dalam bidang pembelajaran berbasis komputer berikut; studi ini dimaksudkan sebagai model untuk pekerjaan masa depan dalam kajian ini.

 Pada tahun 1983 Becker melaporkan dalam penelitiannya bahwa siswa menggunakan komputer untuk latihan dan praktek, dasar pemrograman, serta bermain game. Mereka menghabiskan waktu sangat sedikit dengan peralatan terbatas yang tersedia. Dia juga menyatakan siswa lebih banyak belajar tentang perangkat keras dan lunak daripada materi yang terkait dengan konten. Lalu pada atahun 1985 Becker melaporkan hasilnya yaitu bahwa guru jarang menggunakan komputer sebagai alat dalam menyajikan pembelajaran atau  praktek kepada siswa pada mata pelajaran tradisional. Namun, komputer hanya digunakan dalam mempelajari komputer dan menghitung.

Memperhatikan hasil-hasil penelitian terdahulu, dibawah ini merupakan saran untuk penelitian lebih lanjut :
Robyler menyarankan bahwa kedepannya penelitian dalam pembelajaran berbasis komputer harus berkonsentrasi pada:

      • Aplikasi dalam berbagai keterampilan dan konten wilayah.
      • Aplikasi komputer dalam bahasa Inggris sebagai bahasa kedua (ESL).
      • Menggunakan pengolah kata.
      • Kreativitas dan pemecahan masalah dengan Logo dan CAI.
      • Efek dari penggunaan komputer pada sikap dan tingkat drop-out.
      • Perbedaan efek dari penggunaan komputer pada pria dan wanita.
  
            Palumbo menyarankan bahwa penelitian kedepannya harus fokus pada anak usia sekolah yang tinggi, karena kesiapan anak muda untuk belajar bahasa pemrograman dipertanyakan, dan studi dari siswa usia perguruan tinggi telah menghasilkan beberapa hasil yang positif. 
  
Hasil penelitian Lehrer mengusulkan perlunya penelitian lebih lanjut untuk memeriksa pemecahan masalah yang mungkin dan hasil metakognitif dari kerja komputer dengan bahasa pemrograman atau lingkungan pemecahan masalah lainnya. Temuannya dalam wilayah perencanaan dan belajar geometri menyarankan suatu jalan yang bermanfaat untuk pekerjaan yang lebih lanjut. Studi Lehrer mencontohkan pilihan yang tepat dari kedua variabel independen dan dependen. Variabel bebas dalam penelitian ini adalah komputer berbasis strategi pemecahan masalah dan variabel dependen (terikat) adalah semua langkah-langkah yang dibangun dengan hati-hati atau dipilih terlebih dahulu untuk mengukur hasil kognitif yang sesuai.

Semoga artikel ini bermanfaat untuk anda, terima kasih :)