BLOGGER ABANG (AREK JOMBANG)
blogger ini semata-mata hanya sarana untuk belajar, jad bila ada kesalahan harap diperbaiki sendri
Friday 3 April 2015
Thursday 22 January 2015
IDM 6.21 build 18 full version
SILAHKAN download disini IDM 6.21 build18 FULL version
Tuesday 26 March 2013
PEMROGRAMAN CGI
PEMROGRAMAN CGI
Pengertian
CGI adalah suatu bentuk komunikasi dimana client (browser) dapat mengirimkan suatu masukan kepada server,dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser).
Program CGI adalah program yang didisain untuk menerima dan mengembalikan data sesuai dengan spesifikasi CGI. Program tersebut dapat ditulis menggunakan bahasa pemrograman seperti C, Perl, Java atau Visual Basic.
Sejarah CGI
CGI (Common Gateway Interface) merupakan skrip tertua dalam bidang pemrograman web.Skrip bisa didefinisikan sebagai rangkaian dari beberapa instruksi program.[4] Untuk membuat skrip yang dapat dijalankan pada web diperlukan pengetahuan pemrograman.[4]CGI sendiri telah muncul sejak teknologi web diperkenalkan di dunia pada awal tahun 1990, bersama dengan kemunculan CERN, web server pertama di dunia.[4] CGI disediakan sebagai tool, atau perlengkapan untuk membuat program web.[4] CGI digunakan untuk membuat program-program tampilan web yang lebih interaktif, koneksi ke basis data, bahkan membuat permainan (game).[4]
CGI pada masa-masa awalnya dibuat dengan bahasa C, bahasa yang juga digunakan untuk membuat web server pertama yaitu, CERN. CGI kemudian diadopsi oleh NCSA (National Central for Supercomputing Application) web server, dan hingga kini masih digunakan pada Apache Web Server, web server yang paling banyak digunakan oleh komunitas Internet saat ini.[4]
Walaupun demikian CGI bisa juga direalisasikan dengan banyak bahasa pemrograman lain. Mulai dari C, Perl, Python, PHP, Tcl/Tk, hingga skrip shell pada UNIX / LINUX.[4]
Aplikasi Penggunaan cgi
Dalam pemrograman web, Python dapat digunakan sebagai CGI. CGI python memang belum setenar perl atau php tapi module CGI python memiliki kemampuan yang sangat powerful dan mudah diaplikasikan.
Agar web server (contoh ini menggunakan apache) dapat mengenali CGI python ini, pada httpd.conf (file konfigurasi apache) carilah baris yang tercantum AddHandler cgi-script .pl ganti menjadi AddHandler cgi-script .py dan aktifkan option ExecCGI di webroot anda, bila ingin menyimpan cgi script Anda di cgi-bin pastikan konfigurasi cgi-bin Anda sudah disetting, contoh :
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/"
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options FollowSymLinks ExecCGI
Order allow,deny
Allow from all
</Directory>
Berikut contoh sederhana penggunaan CGI dengan python di Windows :
#!C:/Python22/python.exe
import cgi #modul yang digunakan untuk aplikasi cgi
print "Content-Type: text/html"
print
print "CGI script output"
print "This is my first CGI script"
print "Hello, world!"
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/"
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options FollowSymLinks ExecCGI
Order allow,deny
Allow from all
</Directory>
Berikut contoh sederhana penggunaan CGI dengan python di Windows :
#!C:/Python22/python.exe
import cgi #modul yang digunakan untuk aplikasi cgi
print "Content-Type: text/html"
print "CGI script output"
print "This is my first CGI script"
print "Hello, world!"
Simpanlah script diatas dengan nama cgi.py di webroot atau direktori cgi-bin Anda, untuk mencoba script di atas buka web browser kemudian panggil dengan mengetikan di address bar http://localhost/cgi.py atau http://localhost/cgi-bin/cgi.py (bila Anda menyimpan di direktori cgi-bin).
CONTOH SCRIP CGI
# Perl Routines to Manipulate CGI input
# cgi-lib@pobox.com
# $Id: cgi-lib.pl,v 2.18 1999/02/23 08:16:43 brenner Exp $
#
# Copyright (c) 1993-1999 Steven E. Brenner
# Unpublished work.
# Permission granted to use and modify this library so long as the
# copyright above is maintained, modifications are documented, and
# credit is given for any use of the library.
#
# Thanks are due to many people for reporting bugs and suggestions
# For more information, see:
# http://cgi-lib.stanford.edu/cgi-lib/
$cgi_lib'version = sprintf("%d.%02d", q$Revision: 2.18 $ =~ /(\d+)\.(\d+)/);
# Parameters affecting cgi-lib behavior
# User-configurable parameters affecting file upload.
$cgi_lib'maxdata = 131072; # maximum bytes to accept via POST - 2^17
$cgi_lib'writefiles = 0; # directory to which to write files, or
# 0 if files should not be written
$cgi_lib'filepre = "cgi-lib"; # Prefix of file names, in directory above
# Do not change the following parameters unless you have special reasons
$cgi_lib'bufsize = 8192; # default buffer size when reading multipart
$cgi_lib'maxbound = 100; # maximum boundary length to be encounterd
$cgi_lib'headerout = 0; # indicates whether the header has been printed
# ReadParse
# Reads in GET or POST data, converts it to unescaped text, and puts
# key/value pairs in %in, using "\0" to separate multiple selections
# Returns >0 if there was input, 0 if there was no input
# undef indicates some failure.
# Now that cgi scripts can be put in the normal file space, it is useful
# to combine both the form and the script in one place. If no parameters
# are given (i.e., ReadParse returns FALSE), then a form could be output.
# If a reference to a hash is given, then the data will be stored in that
# hash, but the data from $in and @in will become inaccessable.
# If a variable-glob (e.g., *cgi_input) is the first parameter to ReadParse,
# information is stored there, rather than in $in, @in, and %in.
# Second, third, and fourth parameters fill associative arrays analagous to
# %in with data relevant to file uploads.
# If no method is given, the script will process both command-line arguments
# of the form: name=value and any text that is in $ENV{'QUERY_STRING'}
# This is intended to aid debugging and may be changed in future releases
sub ReadParse {
# Disable warnings as this code deliberately uses local and environment
# variables which are preset to undef (i.e., not explicitly initialized)
local ($perlwarn);
$perlwarn = $^W;
$^W = 0;
local (*in) = shift if @_; # CGI input
local (*incfn, # Client's filename (may not be provided)
*inct, # Client's content-type (may not be provided)
*insfn) = @_; # Server's filename (for spooled files)
local ($len, $type, $meth, $errflag, $cmdflag, $got, $name);
binmode(STDIN); # we need these for DOS-based systems
binmode(STDOUT); # and they shouldn't hurt anything else
binmode(STDERR);
# Get several useful env variables
$type = $ENV{'CONTENT_TYPE'};
$len = $ENV{'CONTENT_LENGTH'};
$meth = $ENV{'REQUEST_METHOD'};
if ($len > $cgi_lib'maxdata) { #'
&CgiDie("cgi-lib.pl: Request to receive too much data: $len bytes\n");
}
if (!defined $meth || $meth eq '' || $meth eq 'GET' ||
$meth eq 'HEAD' ||
$type eq 'application/x-www-form-urlencoded') {
local ($key, $val, $i);
# Read in text
if (!defined $meth || $meth eq '') {
$in = $ENV{'QUERY_STRING'};
$cmdflag = 1; # also use command-line options
} elsif($meth eq 'GET' || $meth eq 'HEAD') {
$in = $ENV{'QUERY_STRING'};
} elsif ($meth eq 'POST') {
if (($got = read(STDIN, $in, $len) != $len))
{$errflag="Short Read: wanted $len, got $got\n";};
} else {
&CgiDie("cgi-lib.pl: Unknown request method: $meth\n");
}
@in = split(/[&;]/,$in);
push(@in, @ARGV) if $cmdflag; # add command-line parameters
foreach $i (0 .. $#in) {
# Convert plus to space
$in[$i] =~ s/\+/ /g;
# Split into key and value.
($key, $val) = split(/=/,$in[$i],2); # splits on the first =.
# Convert %XX from hex numbers to alphanumeric
$key =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
$val =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
# Associate key and value
$in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator
$in{$key} .= $val;
}
} elsif ($ENV{'CONTENT_TYPE'} =~ m#^multipart/form-data#) {
# for efficiency, compile multipart code only if needed
$errflag = !(eval <<'END_MULTIPART');
local ($buf, $boundary, $head, @heads, $cd, $ct, $fname, $ctype, $blen);
local ($bpos, $lpos, $left, $amt, $fn, $ser);
local ($bufsize, $maxbound, $writefiles) =
($cgi_lib'bufsize, $cgi_lib'maxbound, $cgi_lib'writefiles);
# The following lines exist solely to eliminate spurious warning messages
$buf = '';
($boundary) = $type =~ /boundary="([^"]+)"/; #"; # find boundary
($boundary) = $type =~ /boundary=(\S+)/ unless $boundary;
&CgiDie ("Boundary not provided: probably a bug in your server")
unless $boundary;
$boundary = "--" . $boundary;
$blen = length ($boundary);
if ($ENV{'REQUEST_METHOD'} ne 'POST') {
&CgiDie("Invalid request method for multipart/form-data: $meth\n");
}
if ($writefiles) {
local($me);
stat ($writefiles);
$writefiles = "/tmp" unless -d _ && -w _;
# ($me) = $0 =~ m#([^/]*)$#;
$writefiles .= "/$cgi_lib'filepre";
}
# read in the data and split into parts:
# put headers in @in and data in %in
# General algorithm:
# There are two dividers: the border and the '\r\n\r\n' between
# header and body. Iterate between searching for these
# Retain a buffer of size(bufsize+maxbound); the latter part is
# to ensure that dividers don't get lost by wrapping between two bufs
# Look for a divider in the current batch. If not found, then
# save all of bufsize, move the maxbound extra buffer to the front of
# the buffer, and read in a new bufsize bytes. If a divider is found,
# save everything up to the divider. Then empty the buffer of everything
# up to the end of the divider. Refill buffer to bufsize+maxbound
# Note slightly odd organization. Code before BODY: really goes with
# code following HEAD:, but is put first to 'pre-fill' buffers. BODY:
# is placed before HEAD: because we first need to discard any 'preface,'
# which would be analagous to a body without a preceeding head.
$left = $len;
PART: # find each part of the multi-part while reading data
while (1) {
die $@ if $errflag;
$amt = ($left > $bufsize+$maxbound-length($buf)
? $bufsize+$maxbound-length($buf): $left);
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
die "Short Read: wanted $amt, got $got\n" if $errflag;
$left -= $amt;
$in{$name} .= "\0" if defined $in{$name};
$in{$name} .= $fn if $fn;
$name=~/([-\w]+)/; # This allows $insfn{$name} to be untainted
if (defined $1) {
$insfn{$1} .= "\0" if defined $insfn{$1};
$insfn{$1} .= $fn if $fn;
}
BODY:
while (($bpos = index($buf, $boundary)) == -1) {
if ($left == 0 && $buf eq '') {
foreach $value (values %insfn) {
unlink(split("\0",$value));
}
&CgiDie("cgi-lib.pl: reached end of input while seeking boundary " .
"of multipart. Format of CGI input is wrong.\n");
}
die $@ if $errflag;
if ($name) { # if no $name, then it's the prologue -- discard
if ($fn) { print FILE substr($buf, 0, $bufsize); }
else { $in{$name} .= substr($buf, 0, $bufsize); }
}
$buf = substr($buf, $bufsize);
$amt = ($left > $bufsize ? $bufsize : $left); #$maxbound==length($buf);
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
die "Short Read: wanted $amt, got $got\n" if $errflag;
$left -= $amt;
}
if (defined $name) { # if no $name, then it's the prologue -- discard
if ($fn) { print FILE substr($buf, 0, $bpos-2); }
else { $in {$name} .= substr($buf, 0, $bpos-2); } # kill last \r\n
}
close (FILE);
last PART if substr($buf, $bpos + $blen, 2) eq "--";
substr($buf, 0, $bpos+$blen+2) = '';
$amt = ($left > $bufsize+$maxbound-length($buf)
? $bufsize+$maxbound-length($buf) : $left);
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
die "Short Read: wanted $amt, got $got\n" if $errflag;
$left -= $amt;
undef $head; undef $fn;
HEAD:
while (($lpos = index($buf, "\r\n\r\n")) == -1) {
if ($left == 0 && $buf eq '') {
foreach $value (values %insfn) {
unlink(split("\0",$value));
}
&CgiDie("cgi-lib: reached end of input while seeking end of " .
"headers. Format of CGI input is wrong.\n$buf");
}
die $@ if $errflag;
$head .= substr($buf, 0, $bufsize);
$buf = substr($buf, $bufsize);
$amt = ($left > $bufsize ? $bufsize : $left); #$maxbound==length($buf);
$errflag = (($got = read(STDIN, $buf, $amt, length($buf))) != $amt);
die "Short Read: wanted $amt, got $got\n" if $errflag;
$left -= $amt;
}
$head .= substr($buf, 0, $lpos+2);
push (@in, $head);
@heads = split("\r\n", $head);
($cd) = grep (/^\s*Content-Disposition:/i, @heads);
($ct) = grep (/^\s*Content-Type:/i, @heads);
($name) = $cd =~ /\bname="([^"]+)"/i; #";
($name) = $cd =~ /\bname=([^\s:;]+)/i unless defined $name;
($fname) = $cd =~ /\bfilename="([^"]*)"/i; #"; # filename can be null-str
($fname) = $cd =~ /\bfilename=([^\s:;]+)/i unless defined $fname;
$incfn{$name} .= (defined $in{$name} ? "\0" : "") .
(defined $fname ? $fname : "");
($ctype) = $ct =~ /^\s*Content-type:\s*"([^"]+)"/i; #";
($ctype) = $ct =~ /^\s*Content-Type:\s*([^\s:;]+)/i unless defined $ctype;
$inct{$name} .= (defined $in{$name} ? "\0" : "") . $ctype;
if ($writefiles && defined $fname) {
$ser++;
$fn = $writefiles . ".$$.$ser";
open (FILE, ">$fn") || &CgiDie("Couldn't open $fn\n");
binmode (FILE); # write files accurately
}
substr($buf, 0, $lpos+4) = '';
undef $fname;
undef $ctype;
}
1;
END_MULTIPART
if ($errflag) {
local ($errmsg, $value);
$errmsg = $@ || $errflag;
foreach $value (values %insfn) {
unlink(split("\0",$value));
}
&CgiDie($errmsg);
} else {
# everything's ok.
}
} else {
&CgiDie("cgi-lib.pl: Unknown Content-type: $ENV{'CONTENT_TYPE'}\n");
}
# no-ops to avoid warnings
$insfn = $insfn;
$incfn = $incfn;
$inct = $inct;
$^W = $perlwarn;
return ($errflag ? undef : scalar(@in));
}
# PrintHeader
# Returns the magic line which tells WWW that we're an HTML document
sub PrintHeader {
return "Content-type: text/html\n\n";
}
# HtmlTop
# Returns the <head> of a document and the beginning of the body
# with the title and a body <h1> header as specified by the parameter
sub HtmlTop
{
local ($title) = @_;
return <<END_OF_TEXT;
<html>
<head>
<title>$title</title>
</head>
<body>
<h1>$title</h1>
END_OF_TEXT
}
# HtmlBot
# Returns the </body>, </html> codes for the bottom of every HTML page
sub HtmlBot
{
return "</body>\n</html>\n";
}
# SplitParam
# Splits a multi-valued parameter into a list of the constituent parameters
sub SplitParam
{
local ($param) = @_;
local (@params) = split ("\0", $param);
return (wantarray ? @params : $params[0]);
}
# MethGet
# Return true if this cgi call was using the GET request, false otherwise
sub MethGet {
return (defined $ENV{'REQUEST_METHOD'} && $ENV{'REQUEST_METHOD'} eq "GET");
}
# MethPost
# Return true if this cgi call was using the POST request, false otherwise
sub MethPost {
return (defined $ENV{'REQUEST_METHOD'} && $ENV{'REQUEST_METHOD'} eq "POST");
}
# MyBaseUrl
# Returns the base URL to the script (i.e., no extra path or query string)
sub MyBaseUrl {
local ($ret, $perlwarn);
$perlwarn = $^W; $^W = 0;
$ret = 'http://' . $ENV{'SERVER_NAME'} .
($ENV{'SERVER_PORT'} != 80 ? ":$ENV{'SERVER_PORT'}" : '') .
$ENV{'SCRIPT_NAME'};
$^W = $perlwarn;
return $ret;
}
# MyFullUrl
# Returns the full URL to the script (i.e., with extra path or query string)
sub MyFullUrl {
local ($ret, $perlwarn);
$perlwarn = $^W; $^W = 0;
$ret = 'http://' . $ENV{'SERVER_NAME'} .
($ENV{'SERVER_PORT'} != 80 ? ":$ENV{'SERVER_PORT'}" : '') .
$ENV{'SCRIPT_NAME'} . $ENV{'PATH_INFO'} .
(length ($ENV{'QUERY_STRING'}) ? "?$ENV{'QUERY_STRING'}" : '');
$^W = $perlwarn;
return $ret;
}
# MyURL
# Returns the base URL to the script (i.e., no extra path or query string)
# This is obsolete and will be removed in later versions
sub MyURL {
return &MyBaseUrl;
}
# CgiError
# Prints out an error message which which containes appropriate headers,
# markup, etcetera.
# Parameters:
# If no parameters, gives a generic error message
# Otherwise, the first parameter will be the title and the rest will
# be given as different paragraphs of the body
sub CgiError {
local (@msg) = @_;
local ($i,$name);
if (!@msg) {
$name = &MyFullUrl;
@msg = ("Error: script $name encountered fatal error\n");
};
if (!$cgi_lib'headerout) { #')
print &PrintHeader;
print "<html>\n<head>\n<title>$msg[0]</title>\n</head>\n<body>\n";
}
print "<h1>$msg[0]</h1>\n";
foreach $i (1 .. $#msg) {
print "<p>$msg[$i]</p>\n";
}
$cgi_lib'headerout++;
}
# CgiDie
# Identical to CgiError, but also quits with the passed error message.
sub CgiDie {
local (@msg) = @_;
&CgiError (@msg);
die @msg;
}
# PrintVariables
# Nicely formats variables. Three calling options:
# A non-null associative array - prints the items in that array
# A type-glob - prints the items in the associated assoc array
# nothing - defaults to use %in
# Typical use: &PrintVariables()
sub PrintVariables {
local (*in) = @_ if @_ == 1;
local (%in) = @_ if @_ > 1;
local ($out, $key, $output);
$output = "\n<dl compact>\n";
foreach $key (sort keys(%in)) {
foreach (split("\0", $in{$key})) {
($out = $_) =~ s/\n/<br>\n/g;
$output .= "<dt><b>$key</b>\n <dd>:<i>$out</i>:<br>\n";
}
}
$output .= "</dl>\n";
return $output;
}
# PrintEnv
# Nicely formats all environment variables and returns HTML string
sub PrintEnv {
&PrintVariables(*ENV);
}
# The following lines exist only to avoid warning messages
$cgi_lib'writefiles = $cgi_lib'writefiles;
$cgi_lib'bufsize = $cgi_lib'bufsize ;
$cgi_lib'maxbound = $cgi_lib'maxbound;
$cgi_lib'version = $cgi_lib'version;
$cgi_lib'filepre = $cgi_lib'filepre;
1; #return true
Saturday 9 March 2013
makalah islam sebagai agama rohmatal lil'alamin
BAB I
PENDAHULUAN
A. LATAR
BALAKANG
Kalau
diperhatikan sepintas sejarah pada zaman
dahulu, akan dipahami tidak bolehnya sama sekali
berhubungan dengan orang kafir sebagaimana yang dipahami oleh para sahabat
sebelum turunnnya ayat. Akan tetapi sungguh agama ini merupakan rahmat
bagi seluruh makhluq, jin maupun manusia, Muslim maupun kafir, benda hidup
maupun mati. Allah Subhanahu wa Ta’ala berfirman:
1. وَمَآ
أَرۡسَلۡنَـٰكَ إِلَّا رَحۡمَةً۬ لِّلۡعَـٰلَمِين
“Dan
tidaklah Kami mengutus engkau (Wahai Muhammad) kecuali rahmat bagi seluruh
makhluk.” (Al Anbiya: 107).
Maka
loyalitas walaupun hanya diperuntukkan untuk Islam dan kaum Muslimin. akan
tetapi karena agama ini dibangun di atas kasih sayang bagi seluruh makhluk. Maka
Allah Subhanahu wa Ta`ala tidak melarang kaum Muslimin untuk berbuat baik dan
berlaku adil kepada orang-orang kafir sepanjang mereka tidak memerangi kaum
Muslimin. Adapun kalau mereka memerangi kaum Muslimin maka hal tersebut
terlarang dalam syariat Islam.
Sikap
ini merupakan salah satu dari keadilan Dienul Islam terhadap orang-orang kafir
yang tidak memerangi kaum Muslimin dan ini menunjukkan bahwa kaum Muslimin
adalah orang yang paling baik berinteraksi dalam kehidupan bermasyarakat.
B. RUMUSAN
MASALAH
1.
Bagaimanakah
konsep islam sebagai agama rahmatal li’alamin?
2.
Bagaimana
pandangan islam atas berbagai Ras dan Agama?
3.
Apakah pengaruh
rohmatal lil’alamin terhadap Non-Muslim?
4.
Apakah benar
islam bukan Agama Teroris?
C. TUJUAN PEMBAHASAN
1.
Mengetahui
konsep islam sebagai agama rohmatal li’alamin
2.
Mengetahui
pandangan islam atas berbagai Ras dan Agama
3.
Dapat mengetahui
pengaruh rohmatal lil’alamin terhadap non-muslim
4.
Dapat megetahui
kebenaran bahwa islam bukanlah Agama teroris
BAB II
ISLAM SEBAGAI AGAMA ROHMATAL LIL’ALAMIN
A. Konsep
Rahmatan Lil’alamin agama islam
Memang
benar agama islam adalah agama rahmatan lil’alamin. Namun banyak orang yang
salah kaprah dalam menafsirkannya. Sehingga banyak kesalahan dalam memahami
praktek beragama bahkan dalam hal yang fundamental yaitu akidah.
Pernyataan
bahwa islam adalah agama yang rahmatan lil’alamin sebenarnya adalah kesimpulan
dari firman Allah Ta’ala,
“Kami
tidak mengutus engkau (wahai
Muhammad)
melainkan sebagai rahmat bagi seluruh alam semesta”.[1]
Tugas Nabi Muhammad adalah membawa rahmat bagi sekalian alam, maka itu
pulalah risalah agama yang dibawanya. Tegasnya, risalah Islam ialah
mendatangkan rahmat buat seluruh alam. Lawan daripada rahmat ialah bencan dan
malapetaka. Maka jika dirumuskan ke dalam bentuk kalimat yang menggunakan kata
peniadaan, kita lau mendapat pengertian baru tapi lebih tegas bahwa islam itu
“bukan bencana alam”. Dengan demikian kehadiran Islam di alam ini bukan untuk
bencana dan malapetaka, tetapi untuk keselamatan, untuk kesejahteraan dan untuk
kebahagiaan manusia lahir dan batin, baik secara perseorangn maupun secara
bersama-sama dalam masyarakat.
Islam itu ibarat Ratu Adil yang menjadi tumpuan harapan manusia. Ia harus
mengangkat manusia dari kehinaan menjadi mulia, menunjuki manusia yang tersesat
jalan. Membebaskan manusia dari semua macam kezhaliman, melepaskan manusia dari
rantai perbudakan, memerdekakan manusia dari kemiskinan rohani dan materi, dan
sebagainya. Tugas Islam memberikan dunia hari depan yang cerah dan penuh
harapan. Manusia akhirnya merasakan nikmat dan bahagia karena Islam.
Kebenaran risalah Islam sebagai rahmat bagi manusia, terletak pada kesempurnaan
Islam itu sendiri. Islam adalah dalam satu kesatuan ajaran, ajaran yang satu
dengan yang lainnya mempunyai nisbat dan hubungan yang saling berkait. Maka
Islam dapat kita lihat serempak dalam tiga segi yaitu aqidah, syari’ah dan
nizam.
Dalam satu tinjuan, Islam adalah suatu aqidah atau keyakinan. Mulai
daripada Islam itu sendiri secara totalitas adalah suatu keyakinan, bahwa
nilai-nilai yang diajarkan kebenarannya mutlak karena bersumber dari yang Maha
Mutlak. Maka segala yang diperintahkannya dan diizinkannya adalah suatu yang
haq
“Dan carilah karunia yang Allah berikan kepadamu untuk keselamtan bagi negri
akhirat, tapi janganlah engkau lupakan masalahmu di dunia. Dan ciptakanlah
kebaikan sebagaimana Allah telah berbuat baik kepadamu, janganlah engkau
berbuat kerusuhan di bmi, karena sesungguhnya Allah tidak senang bagi
orang-orang yang berbuat rusuh”. [2]
Yang menjadi tantangan besar umat Islam masa kini adalah Islam belum lagi
terwujud risalahnya, ia belum lagi menjadi rahmat bagi manusia. Karenanya kita
harus mengadakan koreksi total terhadap cara-cara hidup kita, baik dalam bidang
ubudiyah maupun dalam bidang mu’amalah.[3]
Umat Islam dilarang menjadi umat pengekor, tetapi sebagai pengendali. Tidak
pula boleh menjadi gerobak yang ditarik ke mana-mana, tetapi sebagai lokomotip
yang menarik dan bertenaga besar. Islam tidak condong ke Barat dan tidak pula
miring ke Timur, tapi Islam tampil ke tengah-tengah mengajak seluruh benua, ras
dan bangsa untuk berkiblat kepadanya. Islamlah yang harus memimpin jalannya
sejarah menuju kepada hidup dan kehidupan yang bahagia (hayatun thayyibatun)
dalam rangka masyarakat yang sejahtera dan bahagia di bawah naungan ampunan
Allah (baldatun thayyibatun wa rabbun ghofuur). Betapa tinggi fungsi umat Islam
di tengah-tengah kancah kehidupan manusia Allah berfirman :
“Kamu adalah umat yang paling baik, yang ditempatkan ke tengah-tengah
manusia, untuk memimpin kepada kebaikan, mencegah kemungkaran, dan percaya
penuh kepada Allah”.[4]
B. Pandangan Islam Atas Berbagai Ras dan
Agama
Dalam agama Islam memandang agama-agama
lain dan berbagai ras pun mempunyai konsep yang baik. Islam sebagai
konstitusinya juga mewajibkan perdamaian antar manusia. Ia menyatakan mengapa
manusia dijadikan berbangsa-bangsa dan bersuku-suku tiada lain untuk memudahkan
saling berkenalan dan saling berdekatan antara sesama manusia, bukan menjadikan
jalan agar sebagian manusia itu lebih tinggi dari yang lainnya, dan agar
sebagian manusia itu dapat menjadikan dirinya tuhan.
Orang mukmin mencintai segenap manusia, karena
mereka adalah saudaranya, sama-sama keturunan Adam dan teman karibnya dalam
mengabdikan diri kepada Allah. Antara dia dengan mereka diikat oleh pertalian
darah, tujuannya sama dan musuhnya pun sama. Allah SWT menegaskan :
“Hai sekalian manusia, bertakwalah kepada Tuhan kalian yang telah
menciptakan kalian dari diri yang satu, dan dari padanya Allah menciptakan
istrinya, dan dari keduanya Allah memperkembangbiakkan laki-laki dan perempuan
yang banyak. Dan bertakwalah kepada Allah yang dengan (mempergunakan) nama-Nya
kalian saling meminta satu sama lain, dan (peliharalah) hubungan silaturahim.
Sesungguhnya Allah selalu menjaga dan mengawasi kalian.”[5]
Akidah Islam tidak membenarkan perbedaan darah dan perbedaan suku, ras,
bangsa dijadikan alasan untuk saling berpecahbelah. Seorang muslim mempercayai,
bahwa seluruh umat manusia adalah keturunan Adam. Dan Adam diciptakan dari
tanah. Perbedaan suku, bangsa, dan warna kulit, adalah bagian dari tanda-tanda
kekuasaan dan kebijaksanaan Allah, dalam menciptakan dan mengatur makhluk-Nya,
sebagaimana disebutkan dalam Al-Quran :
”Dan diantara tanda-tanda kekuasaan-Nya ialah menciptakan langit dan bumi
dan berlain-lainan bahasa kalian dan warna kulit kalian. Sesungguhnya pada yang
demikian itu benar-benar terdapat tanda-tanda bagi orang-orang yang
mengetahui.”[6]
Bagaimana mungkin seorang muslim akan merendahkan suatu bangsa dari
bangsa-bangsa manusia, sedangkan al-Quran mengajarkan supaya menghormati
segenap makhluk, baik bangsa, binatang ataupun burung.
“Dan tiadalah binatang-binatang yang ada di bumi dan burung-burung yang
terbang dengan kedua sayapnya, melainkan (umat-umat) juga seperti kalian.
Tiadalah Kami alpakan sesuatu pun di dalam al-Kitab, kemudian kepada Tuhanlah
mereka dihimpun.”[7]
Demikianlah pandangan orang mukmin terhadap umat manusia. Tiada perasaan
kebanggaan tentang nasab, tempat kelahiran, tidak ada perasaan dengki antara
kelompok satu dengan yang lain, antara individu satu dengan yang lain. Yang ada
hanyalah perasaan cinta kasih, persamaan dan persaudaraan.[8]
C. Pengaruh
Rahmatan Lil’alamin Bagi Non Muslim
Dalam memperlakukan non muslim (Ahli Dzimmah) mereka mendapatkan hak
seperti yang didapatkan oleh kaum Muslimin, kecuali pada perkara-perkara yang
terbatas dan perkecualian. Sebagaimana halnya juga mereka dikenakan kewajiban
seperti yang dikenakan terhadap kaum Muslimin. Kecuali pada apa-apa yang
diperkecualikan. Ialah hak memperoleh perindungan yaitu melindungi mereka dari
segala permusuhan eksternal. Ijma’ Ulama umat Islam terjadi dalam hal ini
seperti yang diriwayatkan Abu Daud dan Al-Baihaqi
“Siapa-siapa yang menzhalimi kafir mu’ahad atau mengurangi haknya, atau
membebaninya di luar kesanggupannya, atau mengambil sesuatu daripadanya tanpa
kerelaannya, maka akulah yang menjadi seterunya pada hari Kiamat (HR. Abu
Daud dan Al-Baihaqi)
Kemudian
melindungi darah dan badan mereka, melindungi harta mereka, menjaga kehormatan
mereka, memberikan jaminan sosial ketika dalam keadaan lemah, kebebasan
beragama, kebebasan bekerja, berusaha dan menjadi pejabat, inilah beberapa
contoh dan saksi-saksi yang dicatat sejarah mengenai sikap kaum Muslimin dan
pengaruhnya terhadap Ahli Dzimmah.[9]
D. Islam
Bukan Agama Teroris
Islam memang agama yang menyebarkan benih-benih kasih sayang, cinta dan damai.
Islam secara eksklusif bukan berarti terorisme, tetapi eksklusif dalam
pengertian akidah. Yaitu mempercayai dan meyakini bahwa Islam agama yang benar.
Dan itu harga mati di dalam akidah setiap Muslim. Dan bukan berarti Terorisme.
Nah, secara inklusifnya Islam sendiri mewajibkan umatnya untuk bertoleran
sesama manusia. Dan ini tidak bisa diartikan dengan Pluralisme agama.
Yusuf Qardhawi menyatakan bahwasanya tujuan Islam adalah membangun manusia yang
shalih. Tidak mungkin Islam menyebarkan benih-benih terorisme. Dan bila “jihad”
dalam pengertian islam adalah menyeru kepada agama yang benar, berusaha
semaksimal mungkin baik dengan perkataan ataupun perbuatan dalam berbagai
lapangan kehidupan dimana agama yang benar ini diperjuangkan dan dengannnya ia
memperoleh kemenangan maka ia, tentunya lebih luas ketimbang “perang” bahkan
terorisme.[10]
BAB III
PENUTUP
A. KESIMPULAN
Dengan
Islam yang Rahmatan lil’alamin ini, kita telah dapat memberikan kesimpulan
bahwa Islam tidak hanya sebagai agama, tetapi suatu perdaban yang di dalamnya
terdapat pandangan hidup (framework) yang jelas dan universal dalam hal
kebenaran.
B. PESAN DAN
SARAN
Subscribe to:
Posts (Atom)