Sabtu, 31 Juli 2010

power builder

BAB I
MENGENAL POWERBUILDER, JENIS-JENIS WINDOW,
MEMBUAT MENU


1.1 Mengenal PowerBuilder
1. Sebelum menjalankan program PowerBuilder, buatlah sebuah folder pada komputer anda yang akan digunakan sebagai folder kerja.
2. Untuk menjalankan PowerBuilder, klik Star > Programs > Sybase > PowerBuilder pada komputer anda
3. PowerBuilder menampilkan layar yang masih kosong. Pada bagian atas layar diperlihatkan menubar dan powerbar (shortcut dengan symbol bergambar icon-icon), sedangkan pada bagian kiri tampak window sistem tree dan clip
Seperti aplikasi-aplikasi berbasis Windows pada umumnya, menubar berisi item-item menu dan submenu yang bisa dijalankan oleh pengguna untuk berinteraksi dengan aplikasi yang bersangkutan. Power Bar serupa dengan toolbar, yaitu panel yang berisi tombol-tombol shortcut untuk item-item menubar. Window Sistem Tree digunakan selama aktivitas pengembangan program, misalnya menampilkan objek-objek, membuat dan menjalankan program, men-debug program dan sebagainya, Window Clip berguna untuk menyimpan pototngan-potongan kode program yang sering digunakan, jadi ia berfungsi seperti catatan pribadi.
Perhatikan bahwa pada window Sistem Tree ditampilkan tulisan “No Workspace”, artinya saat ini belum dibuka satu workspace apapun. Workspace merupakan sebuah area kerja misalnya ketika anda akan berinteraksi dengan file-file kode program dan profile database dengan konfigurasi tertentu. Workspace berfungsi sebagai meja kerja dengan penataan benda-benda kerja tertentu berkaitan dengan proyek aplikasi yang sedang dibuat.
4. Jalankan menu File > New
5. Pada window dialog, pilih tab Workspace dan pilih Workspace untuk membuat sebuah workspace baru, tekan Ok.
6. Simpan Workspace tersebut pada folder yang telah dibuat sebelumnya.
7. Langkah selanjutnya adalah membuat target didalam workspace. Jalankan menu File > New, klik tab Target dan pilih Application, klik Ok.
8. Berikutnya masukkan nama aplikasi pada kolom “Application Name”, klik Finish.
9. Pada window Sistem Tree, workspace tampak seperti gambar di bawah ini.

Workspace
Target
Library
Object Application
1.2 Jenis-jenis Window
Jika anda cukup teliti, sewaktu mendisain sebuah objek window terdapat sebuah property yang bernama WindowType yang nilainya bisa dipilih antara child!, main!, mdi!, mdihelp!, popup! dan response!, tipe window itu akan menentukan bagaimana objek itu ditampilkan.
1. Tipe mdi! dan mdihelp!
Hanya bisa digunakan untuk sebuah window utama/menu. MDI adalah kependekan dari Multiple Document Interface, artinya window tersebut adalah sebuah antar muka yang didalamnya dapat dibuka lagi window-window lain.
2. Tipe main!
Adalah yang paling sering digunakan untuk antarmuka pada umumnya. Window main adalah window yang ditampilkan didalam window mdi atau mdihelp.
3. Tipe child!
Adalah window yang dibuka dari tipe window lain, dan dianggap sebagai subwindow tersebut, tapi ini jarang digunakan.
4. Tipe popup!
Adalah window yang dibuka dari window main dan umumnya digunakan untuk tujuan window dialog.
5. Tipe response!
Adalah jenis window dialog yang selama sebuah window response terbuka maka ialah yang mendapat fokus dan pengguna tidak dapat beralih dari window itu sampai ia ditutup.
1. Jalankan menu File > New, klik tab “PB Object” dan pilih Window.
2. Sebuah window baru akan ditampilkan pada window painter.
Jalankan menu Insert > Control. Tampak bahwa PowerBuilder mempunyai banyak sekali kontrol yang bisa diletakkan pada sebuah window atau dapat menggunakan control pada power bar.
3. Pilih Static Text untuk membuat sebuah text, ketikan “window 1”, kemudian simpan dengan nama “w_1”.
4. Buat kembali window baru dengan menjalankan menu File > New >, klik tab “PB Object” dan pilih kembali Window.
5. Pilih Static Text untuk membuat sebuah text, ketikan “window 2”, kemudian simpan dengan nama “w_2”.
6. Kembali pada window 1, pilih CommandButton kemudian ketik “Tampilkan window 2”.
7. Pada window 1, DoubleClick CommandButton kemudian pada event clicked ketikan kode program: Open(w_2)
8. DoubleClick pada Object Application kemudian ketikan kode program Open(w_1). Object Application berfungsi untuk memanggil window yang pertama kali dijalankan pada aplikasi,
9. Jalankan program dengan mengklik icon Run pada power bar atau dengan menekan tombol Ctrl + R
Coba klik tombol “Tampilkan Window 2” maka window 2 akan tampil sesuai perintah.
untuk melihat jenis-jenis type window rubahlah window type pada properties menjadi type window yang lain.

1.3 Membuat menu
Sebuah menu dibuat agar pengguna dapat berinteraksi dengan aplikasi. Pada contoh berikut akan dijelaskan cara membuat sebuah objek menu dan mengasosiasikannya dengan window
1. Jalankan menu File > New >, pilih tab “PB Object”, kemudian pilih Menu
2. Pada layar akan ditampilkan menu painter, yaitu window yang digunakan untuk mendesain sebuah menu. Pada menu painter akan ditampilkan sebuah menu yang masih kosong. Untuk sementara objek menu itu diberi nama Untitled(), karena ia belum disimpan. Klik kanan pada Untitled() kemudian pilih Insert Submenu Item.
3. Pada item menu yang baru ketikan “&File” dan tekan Enter. PowerBuilder akan menambahkan sebuah item menu bernama File
4. Klik kanan pada menu File dan pilih Insert Menu Item At End, ketik “&Edit” pada item menu yang baru maka secara otomatis akan menambahkan item menu bernama Edit.
5. Untuk membuat sub menu klik kanan pada menu File kemudian pilih Insert Submenu Item dan ketikan “&Exit” maka sebuah submenu dari menu File akan dibuat dengan nama Exit.
6. Ulangi langkah selanjutnya untuk menambahkan menu dan submenu
7. Untuk menambahkan Toolbar Item Text dan Toolbar Item name, klik pada submenu Exit kemudian klik tab Toolbar pada Properties dan ketikan “Exit” pada Toolbar Item Text serta pilih icon pada Toolbar Item Name.
8. Untuk menambahkan Shortcut, pilih tab General kemudian pilih Shortcut key
9. Simpan Objek tersebut dengan nama m_menu
10. Sebuah menu tidak bisa ditampilkan begitu saja, melainkan harus diletakkan pada sebuah objek Window untuk itu buatlah sebuah window dengan cara File > New > PB Object > Window
11. Setelah sebuah jendela window ditampilkan, pada properties MenuName alamatkan pada sebuah menu yang telah dibuat yaitu m_menu, kemudian simpan window tersebut dengan nama w_menu.
12. Untuk menjalankan program klik ganda Object Application dan ketikan kode program
Open(w_menu)
Untuk menampilkan Toolbar Item Text dan Toolbar Item Name rubah type window w_menu menjadi mdi! atau mdihelp!.

BAB II
DASAR-DASAR POWERSCRIPT

2.1 Tipe Data Standar
Tipe data standar adalah tipe data umum yang banyak digunakan pada banyak bahasa pemrograman meliputi, char, integer, decimal, long dan string. Pada powerscript, anda dapat menggunakan tipe-tipe data ini untuk mendeklarasikan variabel atau array, berikut ini adalah tipe data standar powerscript:
1. Blob
Binary large object. Digunakan untuk menyimpan data biner seperti gambar atau file
2. Boolean
Bernilai true atau false. Digunakan untuk menyimpan data logikal
3. Char atau character
Sebuah karakter ASCII, contoh :
Char c
C = “T”
C = ‘T’
4. Date
Untuk mendefinisikan sebuah nilai tanggal, pisahkan tahun, bulan dan tanggal menggunakan karakter minus (-). Contoh:
1992-12-25 // 15 Desember 1992
5. Datetime
Umumnya untuk membaca atau menulis nilai datetime dari/ke database,
Contoh:
mm-dd-yy hh:mm:ss
6. Decimal atau dec
Angka decimal hingga maksimum 18 digit, anda dapat menempatkan tanda titik, anda dapat menempatkan tanda titik decimal dimana saja diantara 18 digit itu, contoh:
12.34
0.005
-6500
+3.5555

7. Double
Angka floating-point dengan presisi 15 digit, jangkauan tipe data ini adalah dari 2,2250738585073E-308 hingga 1,79769313486231E+308
8. Integer atau int
Angka bulat 16 bit yang jangkauannya dari -32768 hingga +32767, contoh:
1
123
1200
+55
-32
9. Long
Angka bulat 32 bit yang jangkauannya dari -2.147.438.648 hingga +2.147.483.647
10. Real
Angka floating-point dengan presisi 6 digit dan jangkauannya dari 1,175495E -38 hingga3,402822E+38
11. String
Karakter-karakter ASCII yang panjangnya tidak ditentukan, contoh :
String a
a=”ini adalah string”
12. Time
Waktu dalam format 24 jam meliputi jam, menit, detik untuk mendefinisikan nilai waktu.
13. Unsignedinteger, unsignedint atau uint
Angka bulat positif 16 bit dari 0 hingga 65.535
14. Unsignedlong atau ulong
Angka bulat positif 32 bit dari 0 hingga 4.294.967.295
Tipe-tipe data diatas akan sering digunakan ketika anda mendeklarasikan variabel, tapi anda perlu mengetahui sebuah istilah yang disebut identifier yaitu nama yang digunakan untuk mendeklarasikan variabel, konstanta, objek, control, fungsi dan sebagainya.

2.2 Variabel
Variabel adalah identifier yang digunakan untuk menampung data sebelum sebuah variabel digunakan dalam sebuah kode program, ia harus di deklarasikan terlebih dahulu.
1. Global
Variabel-variabel ini dapat diakses dari mana saja di dalam sebuah aplikasi. Ia tidak tergantung pada definisi objek apapun. Variabel global dapat dideklarasikan menggunakan sebuah painter, seperti application painter, window painter, user object painter, atau menu painter.
2. Instance
Variabel-variabel ini diasosiasikan dengan sebuah objek sehingga variabel ini bias dianggap sebagai sebuah property dari objek yang bersangkutan. Variabel instance dapat dideklarasikan menggunakan sebuah painter.
Ketika sebuah variabel instance dideklarasikan pada sebuah objek window, menu, atau application, variabel tersebut diinisialisasikan ketika objeknya dibuka. Nilai awal variabel itu adalah nilai default untuk tipe data yang bersesuaian. Ketika objek ditutup , variabel instance juga dihapus. Ketika objek itu dibuka lagi, variabel instance diinisialisasi lagi dari awal.
3. Shared
Variabel-variabel ini diasosiasikan dengan sebuah objek, namun mereka tidak bias dianggap sebagai property objek tersebut karena variabel-variabel shared hanya bisa diakses oleh kode program yang ada di dalam objek yang bersangkutan (private). Variabel shared sebuah objek akan mempertahankan nilainya ketika objek tersebut ditutup dan dibuka lagi. Variabel shared dapat dideklarasikan menggunakan sebuah painter.
4. Local
Variabel-variabel yang hanya dikenal didalam kode program yang mendefinisikannya. Ketika kode program tersebut berakhir, hidup variabel-variabel ini juga berakhir dan nilai-nilainya hilang. Variabel local langsung dideklarasikan di dalam kode program, misalnya pada sebuah event atau fungsi.

BAB III
OOP POWERBUILDER (INHERITANCE DAN POLYMORPHISM)

3.1 Menerapkan Inheritance
Pada latihan ini akan membuat sebuah objek window ancestor dan dua buah objek window descendent yang diturunkan dari window pertama.
1. Jalankan sebuah window baru dan letakkan sebuah control static text pada window tersebut kemudian simpan dengan nama w_ancestor dan tutup.
2. Jalankan menu File > Inherit pilihlah w_ancestor. Tampak window ini serupa dengan window w_ancestor yang tadi karena window ini diturunkan oleh window ancestor. Rubah teks menjadi “Saya adalah turunan pertama”.
3. Simpan window tersebut dengan nama w_turunan1.
4. Jalankan kembali File > Inherit dan pilihlah w_ancestor kembali untuk membuat window turunan lainnya dan rubah teks menjadi “Saya adalah turunan kedua”.
5. Simpan dengan nama w_turunan2
6. Tutup w_turunan1 dan w_turunan2 kemudian buka w_ancestor dan tambahkan kontrol CommandButton (tombol close) kemudian ketikan kode program pada event Clicked:
Close(parent)
7. Simpan dan tutup w_ancestor
8. Buka kembali w_turunan1 dan w_turunan2, perhatikan bahwa pada kedua window itu juga tampak sebuah tombol close.
9. Buatlah sebuah menu berisikan inheritance&polymorphism dengan menambahkan beberapa item sub menu ancestor, turunan 1, dan turunan 2.
10. Ketik kode program untuk masing-masing objek.
11. Simpan m_menu dan lakukan uji coba dengan menjalankan menu inheritance&polymorphism > Ancestor kemudian descendant 1 dan descendant 2 secara bergantian.

3.2 Polymorphism
1. Buka window w_ancestor dan letakkan control CommandButton dengan teks “Klik saya” dan ketikan kode program pada event Clicked, simpan dan tutup w_ancestor.
2. Buka w_turunan1 untuk menulis kode program di event clicked pada tombol klik saya.
3. Simpan dan tutup w_turunan1
4. Buka w_turunan2 dan ketik kode program pada event clicked pada tombol klik saya
5. Simpan dan tutup w_turunan2
6. Jalankan program dan buka ketiga window tersebut secara bergantian.

Namun ketika window turunan1 dan turunan2 dibuka tombol yang sama akan menampilkan pesan dari ancestor diikuti pesan dari masing-masing turunan. Artinya kode program ancestor akan dijalankan terlebih dahulu kemudian kode program dari objek itu sendiri
7. Untuk mengubah alur tersebut buka w_turunan1 dan buka script untuk objek tombol klik saya pada event clicked.
8. Klik kanan pada window script, hilangkan tanda check pada Extend Ancestor Script.
9. Simpan perubahan dan jalankan program

BAB IV
KONEKSI DATABASE

4.1 Membuat Database
Sebelum membuat aplikasi terlebih dahulu mempersiapkan database sebagai tempat penyimpanan data. Pada latihan ini kita akan membuat aplikasi sederhana penggajian karyawan dengan susunan table Karyawan, Tunjangan dan Gaji menggunakan database SQL Server.
1. Tabel karyawan
Column Name Data Type Length
Nip Char 10 *
Nama Varchar 35
Alamat Varchar 50
Tmp_Lahir Varchar 35
Tgl_Lahir Datetime -
Agama Varchar 25
J_Kelamin Varchar 25
Status Varchar 25

2. Tabel Tunjangan
Column Name Data Type Length
Kd_Tunjangan Char 5 *
Nama_Tunjangan Varchar 35
Nominal Numeric 9

3. Tabel Gaji
Column Name Data Type Length
No_Gaji Char 10 *
Nip Char 10 **
Kd_Tunjangan Char 5 **
Gapok Numeric 9
Total Numeric 9
Pot_Pajak Numeric 9
Gaji_Bersih Numeric 9


Keterangan :
* Primary Key
** Foreign Key


Strukture Query Language
Table karyawan:
Create table Karyawan(
Nip char (10),
Nama varchar(35),\
Alamat varchar(50),
Tmp_lahir varchar(25),
Tgl_lahir datetime,
Agama varchar(25),
J_kelamin varchar(25),
Status varchar(25),
Primary key(nip)
);
Table Tunjangan
Create table Tunjangan(
Kd_tunjangan char(5),
Nm_tunjangan varchar(35),
Nominal numeric(9),
Primary key(kd_tunjangan)
);
Table Gaji
Create table Gaji
Tanggal datetime,
Kd_gaji char(10),
Nip char(10),
Kd_tunjangan char(5),
Gapok numeric(9),
Total numeric(9),
Pot_pajak numeric(9),
Gaji_bersih numeric(9),
Constraint [pk_gaji] primary key clustered
(
[kd_gaji],
[nim],
[kd_tunjangan]
),
Foreign key(nim) references karyawan,
Foreign key(kd_tunjangan)references tunjangan
);
4.2 Koneksi Database SQL Server
1. Klik File > New > klik tab Database > pilih Database Painter





2. Setelah jendela database painter terbuka klik kanan pada MSS Microsoft SQL > New Profile
3. Kemudian isikan
Profile Name : nama profile
Server : diambil dari server local pada MSSQL Server
Login ID : sa
Password : kosongkan
Database : nama database pada MSSQL Server
4. Setelah selesai kemudian klik tab Preview > Test Connection jika berhasil maka akan tampil pesan Connection Succesful seperti tampilan dibawah ini.
5. Pada tab Preview terlihat kode program yang secara otomatis dibuatkan oleh database painter, kemudian Copy/salin kode program tersebut kemudian klik Ok.
6. Pada database painter telah tampil database profile yang baru saja dibuat, kemudian klik kanan pilih Connect.
7. Setelah terhubung dengan database profile kemudian klik ganda pada object application kemudian paste atau tempatkan kode program yang telah anda copy/salin dari database profile. Dan tambahkan kode program dibawah ini:
CONNECT;
IF SQLCA.SQLDBCode <> 0 THEN
Messagebox("Koneksi gagal",SQLCA.SQLErrText,stopsign!)
HALT CLOSE
END IF
8. Kemudian simpan object application yang telah berisikan kode program.
4.3 Koneksi Database Ms Access
1. Untuk koneksi database Ms Access terlebih dahulu harus membuat ODBC Data Source Name (ODBC DSN). Buka control panel > Administrative Tools > DataSources(ODBC) > pilih System DSN > klik Add > Pilih Microsoft Access Driver(mdb) atau Microsoft Access Driver(mdb,accdb) > Finish
2. Isi data source name kemudian klik select, cari alamat database yang telah dibuat, klik Ok.
3. Maka sebuah datasource(ODBC) telah dibuat, klik Ok.
4. Setelah Data Source Name (ODBC DSN) terbentuk, kembali pada powerbuilder, kemudian klik kanan pada database profile ODB ODBC > New Profile.
5. Kemudian isikan
Profile Name : nama profile
Data Source : pilih datasource yang telah dibuat
Login ID : sa
Password : kosongkan
6. Setelah selesai kemudian klik tab Preview > Test Connection jika berhasil maka akan tampil pesan Connection Succesful seperti tampilan dibawah ini
7. Pada database painter telah tampil database profile yang baru saja dibuat, kemudian klik kanan pilih Connect.
8. Setelah terhubung dengan database profile kemudian klik ganda pada object application kemudian paste atau tempatkan kode program yang telah anda copy/salin dari database profile. Dan tambahkan kode program dibawah ini:
CONNECT;
IF SQLCA.SQLDBCode <> 0 THEN
Messagebox("Koneksi gagal",SQLCA.SQLErrText,stopsign!)
HALT CLOSE
END IF
9. Kemudian simpan object application yang telah berisikan kode program.

BAB V
MENU APLIKASI PENGGAJIAN

5.1 Membuat Menu
1. Jalankan menu File > New >, pilih tab “PB Object”, kemudian pilih Menu
2. Pada layar akan ditampilkan menu painter, yaitu window yang digunakan untuk mendesain sebuah menu. Pada menu painter akan ditampilkan sebuah menu yang masih kosong. Untuk sementara objek menu itu diberi nama Untitled(), karena ia belum disimpan. Klik kanan pada Untitled() kemudian pilih Insert Submenu Item.
3. Pada item menu yang baru ketikan “&Input” dan tekan Enter. PowerBuilder akan menambahkan sebuah item menu bernama Input
4. Klik kanan pada menu Input tadi dan pilih Insert Menu Item At End, ketik “&Transaksi” pada item menu yang baru maka secara otomatis akan menambahkan item menu bernama Transaksi.
5. Untuk membuat sub menu klik kanan pada menu Input kemudian pilih Insert Submenu Item dan ketikan “Karyawan” maka sebuah submenu dari menu Input akan dibuat dengan nama Karyawan.
6. Ulangi langkah selanjutnya untuk menambahkan menu
7. Untuk menambahkan Toolbar Item Text dan Toolbar Item name, klik pada submenu Karyawan kemudian klik tab Toolbar pada Properties dan ketikan “Karyawan” pada Toolbar Item Text serta pilih icon pada Toolbar Item Name.
8. Untuk menambahkan Shortcut, pilih tab General kemudian pilih Shortcut key
9. Simpan Objek tersebut dengan nama m_menu

5.2 Window Menu
1. Sebuah menu tidak bisa ditampilkan begitu saja, melainkan harus diletakkan pada sebuah objek Window untuk itu buatlah sebuah window dengan cara File > New > PB Object > Window
2. Setelah sebuah jendela window ditampilkan, pada properties MenuName alamatkan pada sebuah menu yang telah dibuat yaitu m_menu. Rubah type window menjadi mdi! atau mdihelp! kemudian simpan window tersebut dengan nama w_menu.

3. Untuk menjalankan program buka Object Application dan tambahkan kode program
Open(w_menu)
4. Simpan perubahan dan jalankan program
BAB VI
OBJEK DATAWINDOW

6.1 DataWindow Untuk Entri Data
Pada pembahasan ini akan diperlihatkan cara membuat sebuah form entri data, form yang dimaksud adalah sebuah tampilan yang berisi kolom-kolom dari sebuah table didalam database.
1. Jalankan menu File > New > pilih tab DataWindow.
2. Pada window tersebut akan ditampilkan bermacam-macam tipe presentasi DataWindow, pilihlah Freeform, klik Ok.
3. Pilih sumber data untuk DataWindow > Ok > SQL Select > next
4. Pilihlah table yang akan dibuat DataWindow untuk entri data, saat ini pilihlah tabel karyawan > open maka akan tampil kolom-kolom dari tabel karyawan
5. Klik satu persatu kolom dari tabel karyawan atau untuk memilih semua kolom sekaligus, klik kanan pada tabel karyawan dan pilih Select All.
6. Apabila sudah selesai jalankan menu File > Return DataWindow Painter untuk melanjutkan. Window dialog akan muncul saat ini tidak perlu melakukan apa-apa klik Next > Finish.
7. Pada layar akan ditampilkan sebuah DataWindow painter.
8. Desainlah model DataWindow untuk entri data karyawan: Background Color untuk mewarnai dan 3D Lowered Border untuk mendesain entrian data.
9. Setelah tampilan DataWindow di desain klik Tab Order untuk urutan data yang lebih dulu di entri.
10. Klik menu Rows > Update Properties kemudian cheklis Allow Updates > Table To Update pilih Karyawan > pada Updateable Columns klik satu persatu kolom yang akan menyimpan data > pilih Unique Key Column > Ok.
11. Setelah selesai simpan DataWindow tersebut dengan nama dw_karyawan.

6.2 DataWindow Pada Window
Setelah anda selesai mendesain sebuah DataWindow, sekarang anda bisa menampilkan objek tersebut pada program aplikasi. DataWindow tidak bisa ditampilkan begitu saja, melainkan harus diletakkan pada sebuah objek Window sebagai sebuah kontrol.
1. Buatlah sebuah objek Window baru File > New > PB Object > Window
2. Tambahkan sebuah kontrol DataWindow pada Window w_karyawan dengan cara menjalankan menu Insert > Control > DataWindow
3. Pada window Properties DataObject pilih dw_karyawan
4. Klik ganda pada window kemudian ketikan kode program dibawah ini
Dw_1.settransobject(sqlca)
Dw_1.retrieve()
5. Simpan window dengan nama w_karyawan
BAB VII
MANIPULASI DATA LEWAT DATA WINDOW

7.1 Tambah, Batal, Simpan, Rubah dan hapus Data
Setelah selesai membuat DataWindow pada Window, kita akan menambahkan tombol tambah, rubah, simpan, Batal, dan Hapus data.
1. Tambahkan kontrol CommandButton untuk tombol Tambah, Batal, Simpan, Rubah, Hapus dan Keluar dengan nama masing-masing tombol pada properties cb_tambah, cb_batal, cb_simpan, cb_rubah dan cb_hapus dan cb_keluar.
2. Klik ganda pada w_karyawan event open tambahkan sebaris kode program
Dw_1.object.datawindow.readonly=’yes’ menonaktifkan DataWindow

Kode program tersebut digunakan untuk menonaktifkan data window sehingga user diharuskan mengklik tombol Tambah terlebih dahulu sebelum melakukan entri data.
3. Klik ganda pada tombol Tambah dan ketik kode program dibawah ini pada event clicked.
Dw_1.object.datawindow.readonly=’no’ mengaktifkan DataWindow
Long i
i=dw_1.insertrow(0)
dw_1.scrolltorow(i)
dw_1.setfocus()
dw_1.setcolumn(1)
4. Ketik kode program untuk tombol Batal pada event clicked
dw_1.object.datawindow.readonly='yes'
dw_1.retrieve()
5. Ketik kode program untuk tombol Simpan pada event clicked.
If dw_1.update() = 1 then
Messagebox(“Pesan”,”Suksess..”,information!)
dw_1.object.datawindow.readonly='yes'
Else
Messagebox(“Pesan”,”Gagal..”,information!)
End if
6. Ketik kode program untuk tombol Rubah pada event clicked.
dw_1.object.datawindow.readonly=’no'
Dw_1.setfoucus()
Dw_1.setcolumn(1)

7. Ketik kode program untuk tombol Hapus pada event clicked.
Integer i
i=messagebox(“Pesan”,”Yakin data akan dihapus”,question!,yesno!)
if i = 1 then
dw_1.deleterow(0)
dw_1.update()
messagebox(“Pesan”,”Suksess…”,information!)
dw_1.object.datawindow.readonly='yes'
else
messagebox(“Pesan”,”Gagal…”,information!)
end if
8. Ketik kode program untuk tombol Keluar pada event clicked
Close(parent)
9. Simpan perubahan dan tutup w_karyawan
10. Buka m_menu dan klik ganda pada submenu karyawan kemudian tuliskan kode program pada m_menu.m_karyawan.
Open(w_karyawan)



11. Simpan perubahan dan jalankan program

Pengontrolan aliran program untuk menjalankan aksi-aksi tertentu berdasarkan kondisi-kondisi yang ditetapkan IF… THEN memiliki dua macam sintak.
1. Format satu baris
IF kondisi THEN aksi (ELSE aksi2)
Kondisi : kondisi yang dievaluasi
Aksi1 : aksi yang dijalankan jika ekspresi logical kondisi bernilai true
aksi tersebut harus merupakan sebuah perintah yang ada pada satu baris dengan IF
Aksi2 : aksi yang dijalankan jika kondisi bernilai FALSE.
2. Format beberapa baris
IF kondisi THEN
Aksi1
(ELSEIF kondisi2 THEN
Aksi2)
(ELSE
Aksi3)
END IF
Kondisi : kondisi yang dievaluasi
Aksi1 : aksi yang dijalankan jika ekspresi logical kondisi bernilai TRUE,
aksi tersebut bisa merupakan sebuah perintah atau beberapa baris kode program.
Kondisi2 : kondisi yang dievaluasi jika kondisi1 bernilai FALSE. Beberapa
ELSEIF… THEN dapat dibuat didalam sebuah struktur kontrol IF.. THEN.
Aksi2 : aksi yang dijalankan jika kondisi2 bernilai TRUE aksi tersebut
bisa merupakan sebuah perintah atau beberapa baris kode program.
Aksi3 : aksi yang dijalankan jika semua kondisi sebelumnya bernilai
FALSE, aksi tesebut bisa merupakan sebuah perintah atau beberapa baris kode program.
Pada format beberapa baris, struktur kontrol IF… THEN harus diakhiri dengan END IF.
7.2 Merubah Format Tanggal
1. Buka dw_karyawan kemudian klik kolom tgl_lahir.
2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi EditMask
3. Pada Mask rubah format tanggal menjadi DD-MM-YYYY
format tanggal Tampilan
dd-mm-yy 01-12-09
dd/mm/yyyy 01/12/2009
dd mmm yyyy 01 Dec 2009
dddd, d mmm, yyyy Friday, 3 Dec 2009

7.3 Dropdown Listbox
Penggunaan Dropdown Listbox digunakan untuk pilihan dimana telah mempunyai ketetapan pada pilihannya sebagai contoh untuk entri data jenis kelamin hanya pria dan wanita, tidak ada pilihan atau tambahan data lainnya karena bersifat tetap.
1. Pada dw_karyawan klik tombol Jenis Kelamin.
2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi DropDownListBox
3. Ceklis pada Always Show Arrow dan V Scrollbar
4. Pada Code Table
Display Value Data Value
Pria Pria
Wanita Wanita
Dalam hal ini Display Value merupakan pilihan yang akan ditampilkan dan Data Value merupakan data yang akan disimpan dalam database.
7.4 RadioButtons
1. Pada dw_karyawan klik Agama.
2. Pada properties pilih tab Edit kemudian rubah Style Type menjadi RadioButtons.
3. Ceklis pada 3D Look dan Scale Circles
4. Pada Column Acros isi nilai berapa banyak pilihan yang akan ditampilkan.
5. Pada Code Table isikan data-data pilihan yang akan ditampilkan dan disimpan.
7.5 Tombol Navigasi
1. Buka dw_karyawan, buatlah tombol awal, sebelum, sesudah dan akhir

2. Pada properties pilihan Action
Awal = PageFirst
Sebelum = PagePrior
Sesudah = PageNext
Akhir = PageLast
Untuk mengetahui baris data yang ditampilkan harus menambahkan control computed Field
3. Klik create a computed field

4. Letakkan pada dw_karyawan dan pada exspression ketik kode program berikut:

currentrow()+“ Dari ”+rowcount()
5. Klik verify dan Ok
6. Simpan perubahan dan jalankan program

Latihan 1:
Buatlah form entri data Tunjangan lengkap dengan tombol navigasi seperti contoh diatas.


BAB VIII
DROPDOWN DATAWINDOW, DATAWINDOW DENGAN PARAMETER

Dropdown DataWindow pada dasarnya menampilkan sebuah kolom dari tabel tertentu jika terjadi perubahan atau penambahan data pada tabel itu maka perubahan itu akan tercermin juga pada Dropdown DataWindow. Pada entri transaksi penggajian terdapat data yang di entri dari tabel lain misalnya NIK yang diambil dari tabel karyawan.
8.1 DataWindow Transaksi
1. Buatlah DataWindow pilih Freeform.
2. Pilih SQL Select > Ok
3. PowerBuilder akan menampilkan layar baru, pilih tabel Gaji dan Tunjangan > Open
4. Pilih semua kolom pada tabel Gaji dan pada tabel Tunjangan cukup pilih Nominal saja, hal ini dikarenakan untuk penjumlahan yang mencakup nominal dari tabel Tunjangan.
5. Klik File > Return to DataWindow Painter
6. Simpan dengan nama dw_penggajian
7. Buatlah window untuk dw_karyawan lengkap dengan tombol navigasinya.
8. Simpan dengan nama w_penggajian.

8.2 Dropdown DataWindow
1. Buatlah sebuah objek DataWindow pilih Tabular > Ok
2. Pilih SQL Select > Ok
3. Pilih tabel Karyawan > Open
4. Pilih kolom nik dan nama saja
5. Klik File > Return to DataWindow Painter
6. Klik Next > Finish
7. Simpan dengan nama ddw_karyawan
8. Buka dw_penggajian, klik kolom NIK.
9. Pilih Edit pada properties
Style Type = DropdownDW
Always Show Arrow = ceklis
H Scrollbar = ceklis
V Scrollbar = ceklis
DataWindow = ddw_karyawan
Display Column = Nik
Data Column = Nik
10. Simpan perubahan
8.3 DataWindow Dengan Parameter
Pada DataWindow juga bisa ditampilkan data-data berdasarkan kriteria tertentu. Hal ini dilakukan dengan menambahkan kondisi itu pada perintah SELECT yang bersangkutan, misalnya menampilkan nominal untuk kode tunjangan tertentu dan sebagainya.
1. Buatlah Dropdown DataWindow untuk kode tunjangan dengan cara yang sudah dijelaskan.
2. Buka window penggajian (w_penggajian) kemudian klik ganda pada dw_1 pada event itemchanged dan ketikan kode program berikut:
string ls_kd_tunjangan
decimal a
choose case dwo.name
case "gaji_kd_tunjangan"
ls_kd_tunjangan=data

select tunjangan.kd_tunjangan,tunjangan.nominal
into :ls_kd_tunjangan,:a
from tunjangan
where tunjangan.kd_tunjangan=:ls_kd_tunjangan
;

dw_1.object.tunjangan_nominal[getrow()]=a
end choose
3. Simpan perubahan dan jalankan program


BAB IX
ARITHMETIC OPERATORS

Operator digunakan untuk membuat kalkulasi aritmetika, membandingkan nilai, manipulasi teks, operasi logikal dan sebagainya.
Operator aritmetika
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
^ Pangkat
Pada transaksi penggajian kolom Total digunakan untuk menjumlahkan tunjangan dan gaji pokok secara otomatis, ikutilah langkah-langkah berikut:
9.1 Membuat Total Gaji
1. Buka w_penggajian dan klik ganda pada dw_1 pada event itemchanged tambahkan kode program berikut:
dw_1.accepttext()
dw_1.object.gaji_total[getrow()]=dw_1.object.tunjangan_nominal[getrow()] + &
dw_1.object.gaji_gapok[getrow()]
2. Simpan perubahan dan jalankan program
Latihan 2:
Buatlah perhitungan gaji bersih dengan kriteria :
Total – Pot_Pajak = Gaji_Bersih

BAB X
DATAWINDOW LAPORAN

Telah disebutkan, bahwa fungsi utama objek DataWindow adalah sebagai antar muka untuk berinteraksi dengan database. Interaksi yang dimaksud adalah memanipulasi data (tambah, batal, simpan, rubah, hapus) atau menampilkan data. Berkaitan dengan penampilan. DataWindow digunakan untuk menyajikan data kepada pengguna sebatas untuk inquiry. Khusus pada bab ini akan diuraikan bagaimana anda dapat menambahkan fitur pencetakan data atau laporan pada aplikasi anda dengan menggunakan objek DataWindow.
10.1 Laporan Berbentuk Tabular
Untuk yang pertama akan diperlihatkan cara membuat laporan data karyawan yang sederhana.
1. Buatlah sebuah objek DataWindow baru dan pilih Tabular.
2. Pilih sumber datanya sebagai “SQL Select”. Klik Next
3. Pilihlah table yang akan dibuat DataWindow untuk laporan, saat ini pilihlah tabel karyawan > open maka akan tampil kolom-kolom dari tabel karyawan
4. Klik satu persatu kolom dari tabel karyawan atau untuk memilih semua kolom sekaligus, klik kanan pada tabel karyawan dan pilih Select All.
5. Apabila sudah selesai jalankan menu File > Return DataWindow Painter untuk melanjutkan. Window dialog akan muncul saat ini tidak perlu melakukan apa-apa klik Next > Finish.
6. Desain tampilan DataWindow untuk laporan
7. Untuk membuat judul laporan, geser kebawah header 1 berikut kolom untuk memberikan ruang pada judul laporan. Kemudian tambahkan line untuk membuat garis.
8. Untuk menambahkan Jumlah Karyawan, geser kebawah summary 1 untuk memberi ruang.
9. Klik Computed Field untuk ekspresi perhitungan jumlah karyawan, kemudian ketikan kode program:
Currentrow()
10. Klik verify, kemudian Ok.
11. Simpan dengan nama dw_lap_karyawan
10.2 Laporan Berbentuk Grafik
Pada DataWindow dapat dibuat laporan grafik dengan bentuk yang baragam tipe, diagram garis atau b, r, baik 2D maupun 3D. laporan dengan bentuk ini umumnya mempunyai perintah SELECT yang lebih sederhana karena data yang akan ditampilkan biasanya berbentuk summary.
1. Buatlah DataWindow dengan tipe Graph
2. Piih tabel Karyawan, Tunjangan, dan Gaji untuk merelasikan antar tabel > Return to DataWindow Painter.
3. Pada kolom Category pilih berdasarkan NIK dan Kolom Values pilih jumlah dari Gaji Bersih > Next.
4. Pada Title Ketikan Grafik Penggajian > Next. > Finish
5. Untuk merubah Text Category. Pada properties pilihan Axis rubah menjadi Category, pada label ketikan “NIK Karyawan”
6. Untuk merubah Text Values. Pada properties pilihan Axis rubah menjadi Values, pada label ketikan “Gaji Bersih”
7. Simpan dengan nama dw_lap_grafik

BAB XI
WINDOW LAPORAN

Semua laporan yang dibuat tadi tentunya harus dapat ditampilkan kepada pengguna. Untuk melakukan itu, kita harus membuat sebuah objek Window dengan kontrol DataWindow sehingga objek-objek DataWindow tadi bisa ditampilkan didalamnya.
11.1 Membuat Window Laporan
1. Buatlah sebuah objek Window
2. Letakkan sebuah objek DataWindow laporan karyawan.
3. Klik ganda pada Window event open dan ketikan kode program
Dw_1.settransobject(sqlca)
Dw_1.retrieve()
4. Simpan dengan nama w_karyawan

11.2 Format Laporan
11.2.1 Zoom
1. Buka w_karyawan, tambahkan kontrol DropdownListBox untuk Zoom
2. Pada properties, pilihan Item isikan nilai-nilai ukuran yang akan digunakan.
3. Klik ganda pada DropdownListBox event selectionchanged dan ketikkan kode program
dw_1.object.datawindow.print.preview='yes'
integer li_zoom
li_zoom = integer(This.text)
dw_1.Object.DataWindow.Print.Preview.Zoom = li_zoom
4. Simpan perubahan
11.2.2 Size Text
1. Tambahkan kembali kontrol DropdownListBox untuk Size Text
2. Pada properties, pilihan Item isikan nilai-nilai ukuran yang akan digunakan.
12. Klik ganda pada DropdownListBox event selectionchanged dan ketikkan kode program
dw_1.Object.DataWindow.Zoom = ddlb_2.text
dw_1.Title = "Zoom is " + String ( this.text ) + "%"
13. Simpan perubahan

11.2.3 Ruler
1. Tambahkan kontrol CheckBox untuk Ruler
2. Klik ganda pada CheckBox event clicked dan ketikkan kode program
if dw_1.describe('datawindow.print.preview')='yes' then
if this.checked then
dw_1.object.datawindow.print.preview.rulers='yes'
else
dw_1.object.datawindow.print.preview.rulers='no'
end if
end if
3. Simpan perubahan

11.2.4 Page Setup
1. Buatlah kontrol RadioButton untuk pilihan Default, Portrait dan Lanscape
2. Klik ganda pada RadioButton Default, pada event clicked ketikkan kode program
if dw_1.describe('datawindow.print.preview')='yes' then
dw_1.Object.DataWindow.Print.orientation = 0
dw_1.Modify(' datawindow.paper.orientation = 0')
end if
dw_1.object.datawindow.print.preview='yes'
3. Klik ganda pada RadioButton Portrait, pada event clicked ketikkan kode program
if dw_1.describe('datawindow.print.preview')='yes' then
dw_1.Object.DataWindow.Print.orientation = 2
dw_1.Modify(' datawindow.paper.orientation = 2')
end if
dw_1.object.datawindow.print.preview='yes'
4. Klik ganda pada RadioButton Landscape, pada event clicked ketikkan kode program
if dw_1.describe('datawindow.print.preview')='yes' then
dw_1.Object.DataWindow.Print.orientation = 1
dw_1.Modify(' datawindow.paper.orientation = 1')
end if
dw_1.object.datawindow.print.preview='yes'
5. Simpan perubahan

11.2.5 Save As
1. Buatlah kontrol CommandButton untuk tombol Save As
2. Klik ganda pada tombol event clicked dan ketikkan kode program
dw_1.saveas()
3. Simpan perubahan

11.2.5 Cetak Laporan
1. Tambahkan kontrol commandbutton untuk tombol print setup
2. Klik ganda pada tombol print setup event clicked ketikan kode program:
Printsetup()
3. Tambahkan kembali kontrol commandbutton untuk tombol print.
4. Klik ganda pada tombol print event clicked ketikkan kode program:
Dw_1.print()
5. Simpan perubahan dan jalankan program


BAB XII
APLIKASI EXE

Pada bab ini kita akan membuat executable file (EXE) dari kode program yang sudah kita kembangkan selama ini.
12.1 Membuat File Exe
1. Jalankan menu File > New, kemudian pilih tab Project dan pilih Application > Ok
2. Pada layar ditampilkan sebuah form untuuk mempersiapkan proses compiling. Pada kolom “Executable File Name” pilih lokasi penyimpanan dan ketiklah nama file.
3. Pada Rebuild, pilih Full untuk meng-compile keseluruhan kode program, jika memilih Incremental PowerBuilder hanya akan meng-compile bagian kode program yang diubah dari saat compiling terakhir.
4. Machine Code
Pcode (kependekan dari Pseudocode) adalah bahasa yang diiinterpretasikan dan didukung oleh semua platform PowerBuilder. Format ini sama dengan yang PowerBuilder gunakan didalam kode program (file PBL) untuk objek-objek individual, tapi dalam kondisi bisa eksekusi. Keuntungan Pcode adalah portability.
Machine Code adalah format executable atau dynamic library pada umumnya. Keuntungan dari Machine Code adalah kecepatan eksekusi.
5. Klik menu Run > Full Build Workspace.
6. Jika sudah selesai sebuah file .exe akan terdapat pada folder penyimpanan.
Latihan 3
Buatlah sistem aplikasi point of shale dengan struktur tabel sebagai berikut:
1. Tabel Customer
Column Name Data Type Length
Kd_Customer Char 10 *
Nama Varchar 35
Alamat Varchar 50
Tlp Varchar 35

2. Tabel Barang
Column Name Data Type Length
Kd_Barang Char 5 *
Nama_Barang Varchar 25
Merk Varchar 25

3. Tabel Penjualan
Column Name Data Type Length
No_Penjualan Char 10 *
Kd_Cutromer Char 10 **
Kd_Barang Char 5 **
Tanggal Datetime -
Jumlah_Barang Numeric 9
Harga_Satuan Numeric 9
Total Numeric 9
Discount Numeric 9
Jumlah_Discount Numeric 9
Jumlah_Bayar Numeric 9
Kriteria Transaksi:
Total = Jumlah_Barang * Harga_Satuan
Jumlah_Discount = Total * Discount / 100
Jumlah_Bayar = Total - Jumlah_Discount
Keterangan :
* Primary Key
** Foreign Key

TAFSIR

STUDI TENTANG SYARAT-SYARAT MUFASSIR AL-QURAN
Oleh

Muhammad Isa Anshory

I. PENDAHULUAN
Al-Quran merupakan kitab suci umat Islam yang menjadi sumber hukum dan pandangan hidup (way of life) bagi mereka. Kitab ini dijunjung tinggi dan dihormati oleh setiap muslim di seluruh penjuru dunia selama berabad-abad. Allah Subhânahu wa Ta‘âla memberikan jaminan untuk memelihara Al-Quran dari segala penyimpangan hingga hari kiamat. Oleh karena itu, Al-Quran yang ada di tangan kita pada hari ini tetap otentik dan sama dengan Al-Quran yang diturunkan kepada Muhammad shallallâhu ‘alaihi wa sallam 15 abad yang lampau. Al-Quran yang tetap otentik ini memberikan pengaruh kekuatan luar biasa kepada umat Islam selama mereka mau berpegang teguh dengannya. Kenyataan ini sangat dipahami dan disadari oleh musuh-musuh Islam. William Gladstone, mantan Perdana Menteri Inggris, pada 1882 menyampaikan pidatonya di hadapan parlemen, "Percuma memerangi ummat Islam. Kita tidak akan mampu menguasainya selama di dada pemuda-pemuda Islam masih bertengger Al-Quran. Tugas kita adalah mencabut Al-Quran di hati mereka. Dan kita akan menang menguasai mereka,"
Serangan terhadap Al-Quran pun beramai-ramai dilakukan oleh para orientalis Barat. Mereka berusaha untuk mengkritisi serta meragukan otentisitas dan kesakralan Al-Quran. Alphonse Mingana, seorang pendeta Kristen asal Irak dan guru besar di Universitas Birmingham Inggris, pada 1927 mengumumkan, “Sudah tiba saatnya sekarang untuk melakukan kritik teks terhadap Al-Quran sebagaimana yang telah kita lakukan terhadap kitab suci Yahudi yang berbahasa Ibrani-Arami dan kitab-kitab Kristen yang berbahasa Yunani.”
Kita tentu tidak akan heran jika orang yang melakukan penyerangan terhadap Al-Quran tersebut berasal dari kalangan Yahudi dan Kristen. Akan tetapi, menjadi sangat tragis dan ironis jika penyerangan itu juga dilakukan oleh kalangan yang menyatakan dirinya sebagai muslim; bahkan berkembang dari dan di perguruan tinggi negeri yang memakai embel-embel Islam. Dalam hasil penelitian tentang perkembangan paham-paham liberal keagamaan di sejumlah kota besar di Indonesia, Litbang Departemen Agama pada 14 November 2006 memaparkan laporannya mengenai paham “Islam Liberal” yang berkembang di lingkungan Universitas Islam Negeri (UIN) Yogyakarta. Pada bagian “Memaknai teks Al-Quran dan Al-Hadits secara liberal dengan mengutamakan semangat religio etik” dipaparkan bagaimana pandangan Islam Liberal terhadap Al-Quran,
“Al-Quran bukan lagi dianggap sebagai wahyu suci dari Allah Subhânahu wa Ta‘âla kepada Muhammad shallallâhu ‘alaihi wa sallam, melainkan merupakan produk budaya (muntâj tsaqafi) sebagaimana yang digulirkan oleh Nasr Hamid Abu Zaid. Metode tafsir yang digunakan adalah hermeneutika, karena metode tafsir konvensional dianggap sudah tidak sesuai dengan zaman. Amin Abdullah mengatakan bahwa sebagian tafsir dan ilmu penafsiran yang diwarisi umat Islam selama ini dianggap telah melanggengkan status quo dan kemerosotan umat Islam secara moral, politik, dan budaya. Hermeneutika kini sudah menjadi kurikulum resmi di UIN/IAIN/STAIN seluruh Indonesia. Bahkan oleh perguruan tinggi Islam di Nusantara ini hermeneutika makin digemari.”

Ajakan untuk melakukan penafsiran ulang (reinterpretasi) terhadap Al-Quran semakin sering terdengar. Penafsiran ulang tersebut terutama dilakukan terhadap ayat-ayat yang dipandang tidak lagi relevan dengan konteks zaman ini atau dapat menimbulkan problem dengan penganut agama lain. Hal itu sebagaimana dinyatakan oleh Endar Riyadi mengenai keharusan melakukan interpretasi terhadap teks-teks keagamaan yang selama ini dipandang dan melahirkan cara pandang yang membenci, intoleran dan tidak ramah terhadap orang-lain-agama sebagai salah satu diantara tiga agenda pokok dalam rangka menampilkan kembali wajah agama (Islam) yang ramah, toleran, dan inklusif.
Akan tetapi, apakah setiap orang memiliki otoritas untuk menafsirkan Al-Quran? Lantas, siapakah yang memiliki otoritas untuk menafsirkan Al-Quran dan apa saja yang harus dipenuhi olehnya? Tulisan ini mencoba untuk menjelaskannya.

II. DEFINISI TAFSIR DAN MUFASSIR
Tafsir dalam disiplin ilmu Al-Quran tidak sama dengan interpretasi teks lainnya; baik itu teks karya sastra maupun teks suatu kitab yang dianggap sebagai kitab suci agama tertentu. Ketika kita membahas tafsir Al-Quran, maka pengertiannya harus merujuk pada pengertian yang sesuai dengan sudut pandang (worldview) Islam. Dalam bahasa Arab, kata tafsir (التفسير) berarti (الإيضاح والتبيين) “menjelaskan”. Lafal dengan makna ini disebutkan di dalam Al-Quran,
وَلاَ يَأْتُونَكَ بِمَثَلٍ إِلاَّ جِئْنَاكَ بِالْحَقِّ وَأَحْسَنَ تَفْسِيرًا
“Tidaklah orang-orang kafir itu datang kepadamu (membawa) sesuatu yang ganjil, melainkan Kami datangkan kepadamu suatu yang benar dan yang paling baik tafsirnya.” (QS Al-Furqan: 33) Maksudnya, paling baik penjelasan dan perinciannya.
Selain itu, kata tafsir berasal dari derivasi (isytiqâq) al-fasru (الفسر) yang berarti (الإبانة والكشف) “menerangkan dan menyingkap”. Di dalam kamus, kata al-fasru juga bermakna menerangkan dan menyingkap sesuatu yang tertutup.
Adapun secara istilah, para ulama mengemukakan beragam definisi mengenai tafsir yang saling melengkapi antara satu definisi dengan definisi lainnya. Imam Az-Zarkasy dalam kitabnya, Al-Burhân fî ‘Ulûm Al-Qurân, mendefinisikan tafsir dengan:
علمٌ يُفهم به كتابُ الله تعالى المُنَزَّل على نبيّه محمد صلّى الله عليه وسلّم وبيان معانيه واستخراج أحكامه وحِكَمِه
“Ilmu untuk memahami Kitabullah yang diturunkan kepada Nabi-Nya Muhammad shallallâhu ‘alaihi wa sallam, menjelaskan maknanya, serta menguraikan hukum dan hikmahnya.”
Sementara itu, Imam Jalaluddin As-Suyuthy mendefinisikan tafsir dengan:
علم يبحث عن مراد الله تعالى بقدر الطاقة البشرية, فهو شامل لكل مايتوقف عليه فهم المعنى وبيان المراد.
“Ilmu yang membahas maksud Allah ta‘ala sesuai dengan kadar kemampuan manusiawi yang mencakup segala sesuatu yang berkaitan dengan pemahaman dan penjelasan makna.”
Definisi tafsir lainnya dikemukakan oleh Syaikh Muhammad Abdul Azhim Az-Zarqany:
علم يبحث فيه عن أحوال القرآن الكريم من حيث دلالته على مراد الله تعالى بقدر الطاقة البشرية
“Ilmu yang membahas perihal Al-Quran Al-Karim dari segi penunjukan dalilnya sesuai dengan maksud Allah ta‘ala berdasarkan kadar kemampuan manusiawi”
Oleh Az-Zarqany, definisi di atas dijelaskan sebagai berikut:
Maksud kata ilmu adalah pengetahuan-pengetahuan yang terkonsep. Abdul Hakim menjelaskan secara lebih panjang, “Sesungguhnya ilmu tafsir termasuk konsepsi (tashawwurât) karena tujuannya adalah memahami konsep makna lafal-lafal Al-Quran. Ilmu tafsir juga termasuk pengetahuan, akan tetapi kebanyakannya –bahkan semuanya— termasuk pengetahuan secara lafal. Sayid berpendapat bahwa tafsir termasuk legalisasi (tashdîqât) karena mencakup hukum atas lafal-lafal bahwa lafal-lafal tersebut bermanfaat bagi makna-makna terkait yang disebutkan dalam tafsir.”
Dengan perkataan kami, “membahas tentang perihal Al-Quran”, maka tidak termasuk di dalamnya ilmu-ilmu yang membahas perihal selain Al-Quran.
Dengan perkataan kami, “dari segi penunjukan dalilnya sesuai dengan maksud Allah ta‘ala”, maka tidak termasuk di dalamnya ilmu-ilmu yang membahas perihal Al-Quran dari segi selain segi penunjukan dalilnya. Misalnya ilmu qira’ah yang membahas keadaan Al-Quran dari segi pengaturan lafal dan cara membacanya. Demikian juga ilmu rasm ‘Utsmany yang membahas keadaan Al-Quran Al-Karim dari segi cara menuliskan lafal-lafalnya.
Tidak termasuk juga dengan perkataan ini ilmu yang membahas keadaan Al-Quran dari segi ia makhluk atau bukan makhluk karena ini termasuk pembahasan dari ilmu kalam Demikian juga ilmu yang membahas keadaan Al-Quran dari segi diharamkan untuk membacanya bagi orang yang junub dan yang semisal karena ini termasuk pembahasan dari ilmu fikih.
Perkataan kami, “berdasarkan kadar kemampuan manusiawi”, adalah untuk menjelaskan bahwa tidak dianggap cacat dalam ilmu tentang tafsir ketidaktahuan terhadap makna mutasyabihat dan ketidaktahuan terhadap maksud Allah dalam sebuah peristiwa atau perkara.
Demikianlah definisi tafsir yang dikemukakan oleh para ulama. Tafsir adalah aktivitasnya, sedangkan pelakunya disebut sebagai mufassir. Husain bin Ali bin Husain Al-Harby menjelaskan definisi mufassir secara lebih panjang:
المفسّر هو من له أهلية تامّة يعرف بها مراد الله تعالى بكلامه المتعبّد بتلاوته, قدر الطاقة, وراض نفسه علي مناهج المفسرين, مع معرفته جملا كثيرة من تفسير كتاب الله, ومارس التفسير عملياً بتعليم أو تأليف.
“Mufassir adalah orang yang memiliki kapabilitas sempurna yang dengannya ia mengetahui maksud Allah ta‘ala dalam Al-Quran sesuai dengan kemampuannya. Ia melatih dirinya di atas manhaj para mufassir dengan mengetahui banyak pendapat mengenai tafsir Kitâbullâh. Selain itu, ia menerapkan tafsir tersebut baik dengan mengajarkannya atau menuliskannya.”


III. SYARAT-SYARAT MUFASSIR
Dari penjelasan mengenai definisi tafsir di atas, kita mengetahui bahwa menafsirkan Al-Quran merupakan amanah berat. Oleh karena itu, tidak setiap orang memiliki otoritas untuk mengemban amanah tersebut. Siapa saja yang ingin menafsirkan Al-Quran harus memenuhi syarat-syarat tertentu. Adanya persyaratan ini merupakan suatu hal yang wajar dalam semua bidang ilmu. Dalam bidang kedokteran misalnya, seseorang tidak diperkenankan menangani pasien jika tidak menguasai ilmu kedokteran dengan baik. Bahkan jika ia nekad membuka praktek dan ternyata pasien malah bertambah sakit, ia akan dituduh melakukan malpraktek sehingga bisa dituntut ke pengadilan. Demikian juga halnya dengan tafsir Al-Quran, syarat yang ketat mutlak diperlukan agar tidak terjadi kesalahan atau kerancuan dalam penafsiran. Menurut Ahmad Bazawy Adh-Dhawy, syarat mufassir secara umum terbagi menjadi dua: aspek pengetahuan dan aspek kepribadian.

a. Syarat Pertama: Aspek Pengetahuan
Aspek pengetahuan adalah syarat yang berkaitan dengan seperangkat ilmu yang membantu dan memiliki urgensitas untuk menyingkap suatu hakikat. Tanpa seperangkat ilmu tersebut, seseorang tidak akan memiliki kapabilitas untuk menafsirkan Al-Quran karena tidak terpenuhi faktor-faktor yang menjamin dirinya dapat menyingkap suatu hakikat yang harus dijelaskan. Para ulama memberikan istilah untuk aspek pengetahuan ini dengan syarat-syarat seorang alim.
Syarat yang berkaitan dengan aspek pengetahuan yang harus dikuasai oleh seorang mufassir ini dibagi menjadi dua, yaitu: syarat pengetahuan murni dan syarat manhajiyah (berkaitan dengan metode). Imam Jalaluddin As-Suyuthy dalam Al-Itqân fî ‘Ulûm al-Qurân menyebutkan lima belas ilmu yang harus dikuasai oleh seorang mufassir. Lima belas ilmu tersebut adalah sebagai berikut:
1. Bahasa Arab karena dengannya seorang mufassir mengetahui penjelasan kosakata suatu lafal dan maksudnya sesuai dengan objek.
Oleh karena demikian urgennya penguasaan terhadap bahasa Arab dalam menafsirkan Al-Quran, Mujahid bahkan mengatakan,
لا يحل لأحد يؤمن بالله واليوم الآخر أن يتكلم في كتاب الله إذا لم يكن عالمًا بلغات العرب‏.
“Tidak halal bagi seorang yang beriman kepada Allah dan hari akhir berbicara mengenai sesuatu yang terdapat dalam Kitâbullâh apabila ia tidak mengetahui bahasa Arab.”
2. Nahwu karena suatu makna bisa saja berubah-ubah dan berlainan sesuai dengan perbedaan i’rab.
3. Tashrîf (sharaf) karena dengannya dapat diketahui binâ’ (struktur) dan shîghah (tense) suatu kata.
4. Isytiqâq (derivasi) karena suatu nama apabila isytiqâqnya berasal dari dua subjek yang berbeda, maka artinya pun juga pasti berbeda. Misalnya (المسيح), apakah berasal dari (السياحة) atau (المسح‏).
5. Al-Ma‘âni karena dengannya dapat diketahui kekhususan tarkîb (komposisi) suatu kalimat dari segi manfaat suatu makna.
6. Al-Bayân karena dengannya dapat diketahui kekhususan tarkîb (komposisi) suatu kalimat dari segi perbedaannya sesuai dengan jelas tidaknya suatu makna.
7. Al-Badî‘ karena dengannya dapat diketahui kekhususan tarkîb (komposisi) suatu kalimat dari segi keindahan suatu kalimat.
Ketiga ilmu di atas disebut ilmu balaghah yang merupakan ilmu yang harus dikuasai dan diperhatikan oleh seorang mufassir agar memiliki sense terhadap keindahan bahasa (i‘jâz) Al-Quran.
8. Ilmu qirâ’ah karena dengannya dapat diketahui cara mengucapkan Al-Quran dan kuat tidaknya model bacaan yang disampaikan antara satu qâri’ dengan qâri’ lainnya.
9. Ushûluddîn (prinsip-prinsip dien) yang terdapat di dalam Al-Quran berupa ayat yang secara tekstual menunjukkan sesuatu yang tidak boleh ada pada Allah ta‘ala. Seorang ahli ushul bertugas untuk menakwilkan hal itu dan mengemukakan dalil terhadap sesuatu yang boleh, wajib, dan tidak boleh.
10. Ushul fikih karena dengannya dapat diketahui wajh al-istidlâl (segi penunjukan dalil) terhadap hukum dan istinbâth.
11. Asbâbun Nuzûl (sebab-sebab turunnya ayat) karena dengannya dapat diketahui maksud ayat sesuai dengan peristiwa diturunkannya.
12. An-Nâsikh wa al-Mansûkh agar diketahui mana ayat yang muhkam (ditetapkan hukumnya) dari ayat selainnya.
13. Fikih.
14. Hadits-hadits penjelas untuk menafsirkan yang mujmal (global) dan mubham (tidak diketahui).
15. Ilmu muhibah, yaitu ilmu yang Allah ta‘ala anugerahkan kepada orang yang mengamalkan ilmunya.
Dalam sebuah hadits disebutkan,
من عمل بما علم ورثه الله علم ما لم يعلم
“Siapa yang mengamalkan ilmunya, maka Allah akan menganugerahinya ilmu yang belum ia ketahui.”
Ibnu Abid Dunya mengatakan, “Ilmu Al-Quran dan istinbâth darinya merupakan lautan yang tidak bertepi.”
Ilmu-ilmu di atas merupakan alat bagi seorang mufassir. Seseorang tidak memiliki otoritas untuk menjadi mufassir kecuali dengan menguasai ilmu-ilmu ini. Siapa saja yang menafsirkan Al-Quran tanpa menguasai ilmu-ilmu tersebut, berarti ia menafsirkan dengan ra’yu (akal) yang dilarang. Namun apabila menafsirkan dengan menguasai ilmu-ilmu tersebut, maka ia tidak menafsirkan dengan ra’yu (akal) yang dilarang.
Adapun bagi seorang mufassir kontemporer, menurut Ahmad Bazawy Adh-Dhawy , maka ia harus menguasai tiga syarat pengetahuan tambahan selain lima belas ilmu di atas. Tiga syarat pengetahuan tersebut adalah:
1. Mengetahui secara sempurna ilmu-ilmu kontemporer hingga mampu memberikan penafsiran terhadap Al-Quran yang turut membangun peradaban yang benar agar terwujud universalitas Islam.
2. Mengetahui pemikiran filsafat, sosial, ekonomi, dan politik yang sedang mendominasi dunia agar mufassir mampu mengcounter setiap syubhat yang ditujukan kepada Islam serta memunculkan hakikat dan sikap Al-Quran Al-Karim terhadap setiap problematika kontemporer. Dengan demikian, ia telah berpartisipasi dalam menyadarkan umat terhadap hakikat Islam beserta keistimewaan pemikiran dan peradabannya.
3. Memiliki kesadaran terhadap problematika kontemporer. Pengetahuan ini sangat urgen untuk memperlihatkan bagaimana sikap dan solusi Islam terhadap problem tersebut.

Selain harus menguasai ilmu-ilmu di atas, seorang mufassir harus memperhatikan manhaj yang ditempuh dalam menafsirkan Al-Quran. Imam Jalaluddin As-Suyuthy mengatakan, “Siapa yang ingin menafsirkan Al-Quran yang mulia maka pertama kali ia harus mencari tafsirnya dari Al-Quran. Ayat yang bermakna global pada suatu tempat ditafsirkan dengan ayat pada tempat lain dan ayat yang ringkas pada suatu tempat diperluas penjelasannya dengan ayat pada tempat lainnya. Apabila tidak menemukannya, maka ia harus mencarinya dari As-Sunnah karena ia (As-Sunnah) merupakan penjelas bagi Al-Quran. Apabila tidak menemukannya dari As-Sunnah, maka ia harus mengembalikannya kepada pendapat para sahabat karena mereka lebih mengetahui penafsiran Al-Quran. Sebab, merekalah yang menyaksikan konteks dan kondisi pada saat turunnya ayat. Selain itu, mereka juga diberi kekhususan berupa pemahaman yang sempurna, ilmu yang shahih, dan amal yang shalih. Ketika terjadi kontradiksi antarpendapat para sahabat, maka harus dikembalikan kepada pendapat yang paling kuat dalilnya. Misalnya perbedaan pendapat mereka mengenai makna huruf-huruf hijâ’ (alphabet), maka harus dikembalikan pada pendapat orang yang mengatakan, ‘Maknanya adalah qasam (sumpah)’.”
Manhaj (metode) seperti yang dikemukakan oleh Imam As-Suyuthy di atas di kalangan para ulama dikenal dengan istilah tafsîr bil ma’tsûr. Manhaj ini yang pertama kali harus ditempuh oleh seorang mufassir sebelum ia menafsirkan dengan ra’yu sebatas yang diperbolehkan. Manhaj tafsîr bil ma’tsûr tersebut akan dijelaskan sekilas di bawah ini.

1. Menafsirkan Al-Quran dengan Al-Quran
Ayat Al-Quran terkadang disebutkan secara global dan ditafsirkan secara rinci pada ayat lain. Demikian juga, ayat yang ringkas ditafsirkan secara lusa pada ayat lain. Contoh penafsiran Al-Quran dengan Al-Quran adalah firman Allah ta‘ala dalam surat Al-Fatihah: 6-7.
اهْدِنَا الصِّرَاطَ الْمُسْتَقِيمَ * صِرَاطَ الَّذِينَ أَنْعَمْتَ عَلَيْهِمْ غَيْرِ الْمَغْضُوبِ عَلَيْهِمْ وَلاَ الضَّالِّينَ
“Tunjukilah kami jalan yang lurus, (yaitu) jalan orang-orang yang telah Engkau anugerahkan ni`mat kepada mereka; bukan (jalan) mereka yang dimurkai dan bukan (pula jalan) mereka yang sesat.”
Orang-orang yang dianugerahi nikmat kepada mereka ditafsirkan dengan firman Allah ta‘ala,
وَمَنْ يُطِعِ اللهَ وَالرَّسُولَ فَأُولَئِكَ مَعَ الَّذِينَ أَنْعَمَ اللهُ عَلَيْهِمْ مِنَ النَّبِيِّينَ وَالصِّدِّيقِينَ وَالشُّهَدَاءِ وَالصَّالِحِينَ وَحَسُنَ أُولَئِكَ رَفِيقًا
“Dan barangsiapa yang menta`ati Allah dan Rasul (Nya), mereka itu akan bersama-sama dengan orang-orang yang dianugerahi ni`mat oleh Allah, yaitu: Nabi-nabi, para shiddiiqiin, orang-orang yang mati syahid dan orang-orang saleh. Dan mereka itulah teman yang sebaik-baiknya.” (QS An-Nisa’: 69)
Contoh lainnya adalah firman Allah,
فَتَلَقَّى ءَادَمُ مِنْ رَبِّهِ كَلِمَاتٍ فَتَابَ عَلَيْهِ إِنَّهُ هُوَ التَّوَّابُ الرَّحِيمُ
“Kemudian Adam menerima beberapa kalimat dari Tuhannya, maka Allah menerima taubatnya. Sesungguhnya Allah Maha Penerima taubat lagi Maha Penyayang.” (QS Al-Baqarah: 37)
Beberapa kalimat dalam ayat ini ditafsirkan dalam ayat lainnya, yaitu firman Allah ta‘ala,
قَالاَ رَبَّنَا ظَلَمْنَا أَنْفُسَنَا وَإِنْ لَمْ تَغْفِرْ لَنَا وَتَرْحَمْنَا لَنَكُونَنَّ مِنَ الْخَاسِرِينَ
“Keduanya berkata, ‘Ya Tuhan kami, kami telah menganiaya diri kami sendiri, dan jika Engkau tidak mengampuni kami dan memberi rahmat kepada kami, niscaya pastilah kami termasuk orang-orang yang merugi’.” (QS Al-A‘raf: 23)
Penafsiran ini diriwayatkan dari banyak mufassir dari kalangan tabi‘in.

2. Menafsirkan Al-Quran dengan As-Sunnah
Sunnah Nabawiyah berfungsi untuk mensyarah Al-Quran, menjelaskan yang mujmal (global), memuqayyadkan yang mutlak, mengkhususkan yang umum, menerangkan yang mubham (tidak dimengerti), menafsirkan yang musykil (rumit), merinci yang ringkas, menyingkap bagian yang samar, dan memperlihatkan maksudnya. Demikian juga, Sunnah Nabawiyah datang dengan hukum-hukum yang tidak terdapat dan tidak ditentukan dalam Kitabullah. Sunnah Nabawiyah tidak keluar dari kaidah, pokok, maksud, dan tujuan Kitabullah. Tidak mungkin mencampakkan Sunnah Nabawiyah dan tidak boleh pula meremehkannya dalam kondisi apa pun. Hal itu karena urgensitasnya dalam memahami agama Allah, menafsirkan Kitab-Nya, dan mengamalkannya.
Syaikhul Islam Ibnu Taimiyah menukil perkataan Imam Asy-Syafi‘i, “Setiap hukum yang diputuskan oleh Rasulullah shallallâhu ‘alaihi wa sallam berasal dari pemahamannya terhadap Al-Quran. Allah ta‘ala berfirman,
إِنَّا أَنْزَلْنَا إِلَيْكَ الْكِتَابَ بِالْحَقِّ لِتَحْكُمَ بَيْنَ النَّاسِ بِمَا أَرَاكَ اللهُ
“Sesungguhnya Kami telah menurunkan Kitab kepadamu dengan membawa kebenaran, supaya kamu mengadili antara manusia dengan apa yang telah Allah wahyukan kepadamu.” (QS An-Nisa’: 105)
Contoh penafsiran Al-Quran dengan As-Sunnah di antaranya adalah tafsir al-maghdhûb ‘alaihim (mereka yang dimurkai) dengan Yahudi dan adh-dhâllîn (mereka yang sesat) dengan Nasrani dalam surat Al-Fatihah. Ahmad, At-Tirmidzy, dan Ibnu Hiban dalam Shahîhnya meriwayatkan dari ‘Ady bin Hatim, dia berkata: Rasulullah shallallâhu ‘alaihi wa sallam bersabda, “Sesungguhnya mereka yang dimurkai adalah Yahudi dan mereka yang sesat adalah Nasrani.”
Tafsir ini diperkuat dengan firman Allah ta‘ala,
قُلْ هَلْ أُنَبِّئُكُمْ بِشَرٍّ مِنْ ذَلِكَ مَثُوبَةً عِنْدَ اللهِ مَنْ لَعَنَهُ اللهُ وَغَضِبَ عَلَيْهِ وَجَعَلَ مِنْهُمُ الْقِرَدَةَ وَالْخَنَازِيرَ وَعَبَدَ الطَّاغُوتَ أُولَئِكَ شَرٌّ مَكَانًا وَأَضَلُّ عَنْ سَوَاءِ السَّبِيلِ
“Katakanlah, ‘Apakah akan aku beritakan kepadamu tentang orang-orang yang lebih buruk pembalasannya dari (orang-orang fasik) itu di sisi Allah, yaitu orang-orang yang dikutuki dan dimurkai Allah, di antara mereka (ada) yang dijadikan kera dan babi dan (orang yang) menyembah thaghut?’ Mereka itu lebih buruk tempatnya dan lebih tersesat dari jalan yang lurus.” (QS Al-Maidah: 60)
Yang dimaksud dengan mereka adalah Yahudi. Demikian juga firman Allah ta‘ala,
قُلْ يَاأَهْلَ الْكِتَابِ لاَ تَغْلُوا فِي دِينِكُمْ غَيْرَ الْحَقِّ وَلاَ تَتَّبِعُوا أَهْوَاءَ قَوْمٍ قَدْ ضَلُّوا مِنْ قَبْلُ وَأَضَلُّوا كَثِيرًا وَضَلُّوا عَنْ سَوَاءِ السَّبِيلِ
“Katakanlah, ‘Hai Ahli Kitab, janganlah kamu berlebih-lebihan (melampaui batas) dengan cara tidak benar dalam agamamu. Dan janganlah kamu mengikuti hawa nafsu orang-orang yang telah sesat dahulunya (sebelum kedatangan Muhammad) dan mereka telah menyesatkan kebanyakan (manusia), dan mereka tersesat dari jalan yang lurus’.” (QS Al-Maidah: 77)
Nabi shallallâhu ‘alaihi wa sallam menjadikan Yahudi sebagai contoh tipikal terhadap setiap orang yang rusak irâdah (kemauan)nya. Mereka mengetahui kebenaran, namun menyimpang darinya. Nabi shallallâhu ‘alaihi wa sallam menjadikan Nasrani sebagai contoh tipikal terhadap setiap orang yang tidak memiliki ilmu dan ingin meraih kebenaran. Mereka kebingungan dalam kesesatan dan tidak mendapatkan petunjuk menuju kebenaran.
Contoh lainnya adalah tafsir azh-zhulmu (kezaliman) dalam firman Allah ta‘ala,
الَّذِينَ ءَامَنُوا وَلَمْ يَلْبِسُوا إِيمَانَهُمْ بِظُلْمٍ أُولَئِكَ لَهُمُ الْأَمْنُ وَهُمْ مُهْتَدُونَ
“Orang-orang yang beriman dan tidak mencampur adukkan iman mereka dengan kezaliman, mereka itulah orang-orang yang mendapat keamanan dan mereka itu adalah orang-orang yang mendapat petunjuk.” (QS Al-An‘am: 82)
Ahmad, Bukhari, Muslim, dan perawi lainnya meriwayatkan dari Ibnu Mas‘ud, ia berkata, “Tatkala turun ayat ini, ‘Orang-orang yang beriman dan tidak mencampur adukkan iman mereka dengan kezaliman’, para sahabat merasa keberatan. Mereka berkata, ‘Ya Rasulullah, siapakah di antara kita yang tidak berbuat kezaliman terhadap dirinya?’ Rasulullah bersabda, ‘Sesungguhnya artinya bukanlah yang kalian maksudkan. Tidakkah kalian mendengar apa yang dikatakan oleh seorang hamba shalih (Lukman), ‘Sesungguhnya syirik adalah kezaliman yang besar’. Sesungguhnya kezaliman (yang dimaksud dalam ayat itu) adalah syirik.”

3. Mengambil pendapat para sahabat
Abu Abdurrahman As-Salma, seorang tabi’in yang mulia, meriwayatkan dari para senior penghapal Al-Quran dari sahabat Rasulullah shallallâhu ‘alaihi wa sallam bahwa apabila turun kepada mereka sepuluh ayat, mereka tidak langsung melaluinya hingga mengetahui ilmu dan amal yang terdapat di dalamnya. Mereka mengatakan, “Kami mempelajari Al-Quran, ilmu, dan amal secara keseluruhan.”
Diriwayatkan dari sahabat yang mulia, Abdullah bin Mas‘ud, bahwa ia berkata, “Barangsiapa di antara kalian ingin meneladani seseorang, maka hendaknya ia meneladani para sahabat Rasulullah shallallâhu ‘alaihi wa sallam. Sesungguhnya mereka adalah orang-orang yang paling bersih hatinya di kalangan umat ini, paling mendalam ilmunya, paling sedikit bebannya, paling lurus petunjuknya, dan paling baik keadaannya. Allah memilih mereka untuk menemani Nabi-Nya shallallâhu ‘alaihi wa sallam dan menegakkan din-Nya. Kenalilah keutamaan mereka dan ikutilah atsar mereka.”
Para sahabat menafsirkan Al-Quran dengan Al-Quran, lalu dengan As-Sunnah. Apabila tidak mendapatkan tafsir dalam Al-Quran dan Sunnah Rasulullah shallallâhu ‘alaihi wa sallam, mereka melakukan ijtihad karena mereka adalah orang Arab tulen, menyaksikan turunnya Al-Quran, dan menghadiri majelis-majelis Rasulullah shallallâhu ‘alaihi wa sallam, sementara Al-Quran turun dengan bahasa Arab yang jelas. Kita mengambil tafsir sahabat dan lebih memprioritaskannya daripada tafsir generasi sesudahnya karena pada diri mereka terpenuhi sarana-sarana untuk melakukan ijtihad sebagai berikut:
Pertama, mereka mengetahui maksud dan rahasia bahasa Arab. Hal ini membantu mereka untuk mengetahui ayat-ayat yang pemahamannya berkaitan dengan pemahaman bahasa Arab.
Kedua, mereka mengetahui adat dan karakter bangsa Arab. Hal ini membantu mereka untuk memahami ayat-ayat yang berkaitan dengan perbaikan adat dan perilaku mereka, seperti firman Allah ta’ala, (إِنَّمَا النَّسِيءُ زِيَادَةٌ فِي الْكُفْرِ) “Sesungguhnya mengundur-undurkan bulan haram itu adalah menambah kekafiran” (QS At-Taubah: 37) dan (وَلَيْسَ الْبِرُّ بِأَنْ تَأْتُوا الْبُيُوتَ مِنْ ظُهُورِهَا) “Dan bukanlah kebajikan memasuki rumah-rumah dari belakangnya” (QS Al-Baqarah: 189). Ayat seperti ini hanya dapat dipahami oleh orang yang mengetahui adat Arab pada masa jahiliyah.
Ketiga, mereka mengetahui keadaan yahudi dan Nasrani di Jazirah Arab pada saat turunnya Al-Quran Al-Karim. Hal ini membantu mereka untuk mengetahui ayat-ayat yang membicarakan Yahudi dan Nasrani, perkara-perkara yang mereka (Yahudi dan Nasrani) lakukan, dan bagaimana mereka memusuhi kaum Muslimin.
Keempat, mereka mengetahui asbâb an-nuzûl (sebab-sebab turunnya ayat) karena mereka menyaksikan turunnya ayat dan ikut terlibat dalam berbagai peristiwa yang disebutkan Al-Quran. Pengetahuan mengenai hal itu membantu mereka untuk memahami banyak ayat. Oleh karena itu, Ibnu Taimiyah rahimahullâh ta‘âlâ mengatakan, ‘Mengetahui asbâb an-nuzûl dapat membantu untuk memahami suatu ayat karena pengetahuan terhadap sebab akan melahirkan pengetahuan terhadap musabab.’
Kelima, mereka memiliki kekuatan dalam pemahaman dan pengetahuan. Allah telah menganugerahkan kepada mereka akal dan pemahaman yang dengannya mereka dapat melihat banyak faktor secara jelas. Ini merupakan perkara yang sudah maklum dari sejarah perjalanan hidup para sahabat radhiyallâhu ‘anhum. Dengan faktor-faktor tersebut, para sahabat banyak memahami ayat Al-Quran Al-Karim yang tidak terdapat tafsirnya dalam Al-Quran dan As-Sunnah.
Tafsir sahabat berdasarkan hukumnya terbagi menjadi dua:
1. Apabila termasuk perkara yang di luar wilayah akal, misalnya perkara-perkara ghaib, asbâb an-nuzûl, dan sebagainya, maka hukumnya marfû‘. Wajib mengambilnya.
2. Apabila selain itu, yaitu perkara yang kembali pada ijtihad para sahabat, maka hukumnya mauqûf selama sanadnya tidak bersandar kepada Rasul shallallâhu ‘alaihi wa sallam. Sebagian ulama mewajibkan untuk mengambil tafsir sahabat yang mauqûf karena mereka menyaksikan korelasi dan kondisi yang dikhususkan kepada mereka dan tidak dikhususkan kepada selain mereka.
Imam Abu Ya‘la menyatakan wajibnya berpegang pada tafsir sahabat. Ia mengatakan, “Adapun tafsir sahabat, maka wajib kembali padanya. Inilah kesimpulan dari pendapat Ahmad rahimahullâh di beberapa tempat dalam Musnadnya bagian kitab thâ‘ah Ar-Rasûl (menaati Rasul) shallallâhu ‘alaihi wa sallam … Alasannya adalah karena mereka menyaksikan peristiwa turunnya Al-Quran dan menghadiri takwil sehingga mengetahui penafsirannya. Oleh karena itu, kami menganggap perkataan mereka sebagai hujjah.”
Contoh tafsir sahabat di antaranya adalah yang diriwayatkan dari Ibnu Abbas mengenai firman Allah ta‘ala,
أَوَلَمْ يَرَ الَّذِينَ كَفَرُوا أَنَّ السَّمَوَاتِ وَالْأَرْضَ كَانَتَا رَتْقًا فَفَتَقْنَاهُمَا وَجَعَلْنَا مِنَ الْمَاءِ كُلَّ شَيْءٍ حَيٍّ أَفَلاَ يُؤْمِنُونَ
“Dan apakah orang-orang yang kafir tidak mengetahui bahwasanya langit dan bumi itu keduanya dahulu adalah suatu yang rapat, kemudian Kami pisahkan antara keduanya. Dan dari air Kami jadikan segala sesuatu yang hidup. Maka mengapakah mereka tiada juga beriman?” (QS Al-Anbiya‘: 30)
Ibnu Abbas mengatakan, “Langit dahulu rapat, yaitu tidak menurunkan hujan. Bumi dahulu rapat, yaitu tidak mengeluarkan tumbuhan. Lalu Allah memisahkan langit dengan hujan dan bumi dengan tumbuhan.” Seseorang kemudian datang kepada Ibnu Umar radhiyallâh ‘anhumâ dan memberitahukan apa yang dikatakan oleh Ibnu Abbas. Ibnu Umar berkata, “Aku katakan, mengapa aku harus heran terhadap keberanian Ibnu Abbas dalam menafsirkan Al-Quran. Sekarang engkau telah mengetahui bahwa ia dianugerahi ilmu.” Atsar ini diriwayatkan oleh Abu Nu‘aim dalam Al-Hilyah. As-Suyuthy juga menyebutnya dalam Al-Itqân.

4. Mengambil pendapat para kibâr (senior) tabi’in, seperti Mujahid, Ibnu Jabr, Sa‘id Ibnu Jubair, ‘Ikrimah dan ‘Atha’ bin Abi Ribah, Al-Hasan Al-Bashry, Masruq bin Al-Ajda’, Sa‘id bin Musayyib, dan sebagainya yang mempelajari langsung semua tafsir dari para sahabat ridhwânullâh ‘alaihim.
Terdapat perbedaan pendapat di antara ulama mengenai hukum mengambil tafsir yang dinukil dari tabi‘in. Pendapat yang dipegang oleh jumhur ulama menyatakan bahwa tafsir tabi‘in termasuk tafsir bil ma’tsûr karena secara umum mereka mempelajarinya dari sahabat.
Al-Hafizh Ibnu Rajab menyatakan bahwa ilmu yang paling utama dalam tafsir adalah atsar dari sahabat dan tabi‘in. Ia mengatakan, “Ilmu paling utama dalam tafsir Al-Quran, makna hadits, serta pembicaraan mengenai yang halal dan yang haram adalah atsar yang berasal dari sahabat, tabi‘in, dan orang-orang yang mengikuti mereka hingga berakhir pada zaman para imam Islam yang terkenal dan terteladani.”

Setelah menempuh manhaj tafsir bil ma’tsûr terlebih dahulu, barulah seorang mufassir diperbolehkan menggunakan ra’yunya dalam menafsirkan Al-Quran dengan tetap memperhatikan ketentuan-ketentuan dan kaidah-kaidah tafsir. Sebab, menurut Syaikh Muhammad Al-Ghazali, tafsir bil ma’tsûr akan berhenti pada makna-makna, pemahaman, dan pesan-pesan yang disampaikan oleh riwayat-riwayat yang ada. Sementara itu, tafsir bir ra’yi –yang sesuai dengan kaidah— itulah yang justru berpotensi untuk terus berkembang dan tidak berhenti. Karena tafsir yang demikian yang terus berinteraksi dengan masalah-masalah sastra, kalam, bahasa, hukum, dan problematika kehidupan lainnya.
Oleh karena itu, Syaikh Yusuf Al-Qaradhawi kemudian menawarkan karakteristik tafsir ideal yang diharapkan sesuai dengan kaidah yang diakui para ulama dan pada saat yang sama dapat mengiringi ritme perkembangan zaman. Karakteristik-karakteristik tafsir ideal tersebut secara ringkas adalah sebagai berikut:
Pertama, menggabungkan antara riwayah dan dirayah.
Kedua, menafsirkan Al-Quran dengan Al-Quran.
Ketiga, menafsirkan Al-Quran dengan sunnah yang shahih.
Keempat, memanfaatkan tafsir sahabat dan tabi‘in.
Kelima, mengambil kemutlakan bahasa Arab.
Keenam, memperhatikan konteks redaksional ayat.
Ketujuh, memperhatikan asbâb an-nuzul.
Kedelapan, meletakkan Al-Quran sebagai referensi utama.

b. Syarat Kedua: Aspek Kepribadian
Adapun syarat kedua yang harus terpenuhi pada diri seorang mufassir adalah syarat yang berkaitan dengan aspek kepribadian. Yang dimaksud dengan aspek kepribadian adalah akhlak dan nilai-nilai ruhiyah yang harus dimiliki oleh seorang mufassir agar layak untuk mengemban amanah dalam menyingkap dan menjelaskan suatu hakikat kepada orang yang tidak mengetahuinya. Para ulama salaf shalih mengartikulasikan aspek ini sebagai adab-adab seorang alim.
Imam Abu Thalib Ath-Thabary mengatakan di bagian awal tafsirnya mengenai adab-adab seorang mufassir, “Ketahuilah bahwa di antara syarat mufassir yang pertama kali adalah benar akidahnya dan komitmen terhadap sunnah agama. Sebab, orang yang tertuduh dalam agamanya tidak dapat dipercaya dalam urusan duniawi, maka bagaimana dalam urusan agama? Kemudian ia tidak dipercaya dalam agama untuk memberitahukan dari seorang alim, maka bagaimana ia dipercaya untuk memberitahukan rahasia-rahasia Allah ta‘ala? Sebab seseorang tidak dipercaya apabila tertuduh sebagai atheis adalah ia akan mencari-cari kekacauan serta menipu manusia dengan kelicikan dan tipu dayanya seperti kebiasaan sekte Bathiniyah dan sekte Rafidhah ekstrim. Apabila seseorang tertuduh sebagai pengikut hawa nafsu, ia tetap tidak dapat dipercaya karena akan menafsirkan Al-Quran berdasarkan hawa nafsunya agar sesuai dengan bid‘ahnya seperti kebiasaan sekte Qadariyah. Salah seorang di antara mereka menyusun kitab dalam tafsir dengan maksud sebagai penjelasan paham mereka dan untuk menghalangi umat dari mengikuti salaf dan komitmen terhadap jalan petunjuk.”
Sementara itu, Imam As-Suyuthy mengatakan, “Ketahuilah bahwa seseorang tidak dapat memahami makna wahyu dan tidak akan terlihat olehnya rahasia-rahasianya sementara di dalam hatinya terdapat bid‘ah, kesombongan, hawa nafsu, atau cinta dunia, atau gemar melakukan dosa, atau lemah iman, atau bersandar pada pendapat seorang mufassir yang tidak memiliki ilmu, atau merujuk kepada akalnya. Semua ini merupakan penutup dan penghalang yang sebagiannya lebih kuat daripada sebagian lainnya. Saya katakan, inilah makna firman Allah ta‘ala,
سَأَصْرِفُ عَنْ ءَايَاتِيَ الَّذِينَ يَتَكَبَّرُونَ فِي الْأَرْضِ بِغَيْرِ الْحَقِّ
“Aku akan memalingkan orang-orang yang menyombongkan dirinya di muka bumi tanpa alasan yang benar dari tanda-tanda kekuasaan-Ku.” (QS Al-A‘raf: 146)
Sufyan bin ‘Uyainah mengatakan, ‘Para ulama mengatakan bahwa maksud ayat di atas adalah dicabut dari mereka pemahaman mengenai Al-Quran.’ Diriwayatkan oleh Ibnu Abi Hatim.”
Berdasarkan perkataan Imam As-Suyuthy di atas, Ahmad Bazawy Adh-Dhawy meringkaskan sejumlah adab yang harus dimiliki oleh seorang mufassir, yaitu:
1. Akidah yang lurus
2. Terbebas dari hawa nafsu
3. Niat yang baik
4. Akhlak yang baik
5. Tawadhu‘ dan lemah lembut
6. Bersikap zuhud terhadap dunia hingga perbuatannya ikhlas semata-mata karena Allah ta‘ala
7. Memperlihatkan taubat dan ketaatan terhadap perkara-perkara syar‘i serta sikap menghindar dari perkara-perkara yang dilarang
8. Tidak bersandar pada ahli bid‘ah dan kesesatan dalam menafsirkan
9. Bisa dipastikan bahwa ia tidak tunduk kepada akalnya dan menjadikan Kitâbullâh sebagai pemimpin yang diikuti.
Selain sembilan point di atas, Syaikh Manna‘ Al-Qaththan menambahkan beberapa adab yang harus dimiliki oleh seorang mufassir, yaitu:
1. Mengamalkan ilmunya dan bisa dijadikan teladan
2. Jujur dan teliti dalam penukilan
3. Berjiwa mulia
4. Berani dalam menyampaikan kebenaran
5. Berpenampilan simpatik
6. Berbicara tenang dan mantap
7. Mendahulukan orang yang lebih utama dari dirinya
8. Siap dan metodologis dalam membuat langkah-langkah penafsiran
Syaikh Thahir Mahmud Muhammad Ya‘kub juga mengemukakan syarat yang berkaitan dengan sifat-sifat mufassir. Syarat-syarat terpenting tersebut di antaranya adalah sebagai berikut
- Akidah yang shahih dan pemikiran yang bersih
- Maksud yang benar dan niat yang ikhlas
- Mentadabburi dan mengamalkan Al-Quran secara mendalam
- Mengetahui pokok-pokok ilmu yang berhubungan dengan Al-Quran Al-Karim dan tafsirnya, seperti ilmu qiraah, asbâb an-nuzûl, nâsikh dan mansûkh
- Bersandar pada naql (penukilan) yang benar
- Mengetahui bahasa Arab dan uslubnya
- Tidak segera menafsirkan berdasarkan bahasa sebelum menafsirkan berdasarkan atsar
- Ketika terdapat beragam makna i‘rab, wajib memilih makna yang sesuai dengan atsar yang shahih sehingga i‘rab mengikuti atsar
- Mengetahui kaidah-kaidah yang dikemukakan salafush shalih untuk memahami dan menafsirkan Al-Quran
- Mengetahui kaidah-kaidah tarjîh menurut para mufassir
- Tidak membicarakan secara panjang lebar perkara-perkara yang hanya diketahui oleh Allah, misalnya asma’ dan sifat-Nya, serta tidak terburu-buru dalam menetapkan sifat Allah ta‘ala dari Al-Quran Al-Karim.
- Berlepas diri dari hawa nafsu dan ta‘ashub madzhabi
- Tidak mengambil tafsir dari ahli bid’ah, seperti Mu‘tazilah, Khawarij, para pentakwil sifat Allah, dan sebagainya
- Menghindari israiliyat
- Menjauhi masalah-masalah kalamiah dan pemikiran-pemikiran filsafat yang jauh dari Al-Kitab dan As-Sunnah serta berkontradiksi dengan keduanya
- Tidak membebani diri dalam tafsir ilmiah
- Jujur ketika menukil
- Mendahulukan orang yang lebih utama darinya dalam mengambil dan menukil tafsir serta mengembalikan kepada orang yang ia mengambil darinya
Termasuk adab yang harus diperhatikan oleh mufassir adalah ia wajib menghindari perkara-perkara berikut ketika menafsirkan Al-Quran:
1. Terlalu berani menjelaskan maksud Allah ta‘ala dalam firman-Nya padahal tidak mengetahui tata bahasa dan pokok-pokok syariat serta tidak terpenuhi ilmu-ilmu yang baru boleh menafsirkan jika menguasainya.
2. Terlalu jauh membicarakan perkara yang hanya diketahui oleh Allah, seperti perkara-perkara mutasyâbihât. Seorang mufassir tidak boleh terlalu berani membicarakan sesuatu yang ghaib setelah Allah ta‘ala menjadikannya sebagai salah satu rahasia-Nya dan hujjah atas hamba-hamba-Nya.
3. Mengikuti hawa nafsu dan anggapan baik (istihsân).
4. Tafsir untuk menetapkan madzhab yang rusak dengan menjadikan madzhab tersebut sebagai landasan, sementara tafsir mengikutinya. Akibatnya, seseorang akan melakukan takwil sehingga memalingkan makna ayat sesuai dengan akidahnya dan mengembalikannya pada madzhabnya dengan segala cara.
5. Tafsir dengan memastikan bahwa maksud Allah begini dan begini tanpa landasan dalil. Perbuatan ini dilarang secara syar’i berdasarkan firman Allah ta‘ala,
وَأَنْ تَقُولُوا عَلَى اللهِ مَا لاَ تَعْلَمُونَ
“Dan (janganlah) mengatakan terhadap Allah apa yang tidak kalian ketahui.” (QS Al-Baqarah: 169)

IV. PENUTUP
Demikianlah penjelasan mengenai syarat-syarat mufassir Al-Quran yang sangat ketat. Dari uraian di atas, sampailah kita pada satu kesimpulan bahwa tafsir Al-Quran adalah interpretasi berdasarkan pada ilmu pengetahuan yang mapan. Oleh karena itu, sebagaimana dinyatakan Prof. Syed Naquib Al-Attas, di dalam tafsir tidak ada ruang bagi terkaan atau dugaan yang gegabah, atau ruang bagi interpretasi yang berdasarkan pada penafsiran atau pemahaman yang subjektif atau yang berdasarkan hanya pada ide-ide relativisme historis, seakan-akan perubahan semantik telah terjadi dalam struktur-struktur konseptual kata-kata dan istilah-istilah yang membentuk kosa-kata kitab suci ini.
Dengan begitu, batallah tudingan miring orang-orang yang menyatakan bahwa metode tafsir “klasik” Al-Quran tidak perlu digunakan lagi karena metode tafsir tradisional sangat “ahistoris” (mengabaikan konteks sejarah) dan “uncritical” (tidak kritis) sehingga kita perlu mencari alternatif ilmu tafsir pengganti yang cocok untuk saat ini, yaitu hermeneutika. Jika ingin dibandingkan antara metode tafsir yang telah dikembangkan oleh para ulama kita selama berabad-abad dengan hermeneutika yang diadopsi dari metode kritik Bible, maka jelaslah sangat tidak sebanding. Metode tafsir Al-Quran para mufassirun dari kalangan ulama kita jauh lebih unggul daripada hermeneutika. Para mufassirun kita telah menghasilkan berjilid-jilid kitab dalam bidang tafsir Al-Quran, sementara itu ada berapa jilid kitab yang telah dihasilkan oleh para pemuja buta hermeneutika tersebut?
Menafsirkan Al-Quran tanpa landasan ilmu merupakan dosa besar yang sangat berat ancamannya. Rasulullah shallallâhu ‘alaihi wa sallam bersabda,
مَنْ قَالَ فِي الْقُرْآنِ بِغَيْرِ عِلْمٍ فَلْيَتَبَوَّأْ مَقْعَدَهُ مِنْ النَّارِ
“Barangsiapa yang berkata tentang Al-Quran tanpa landasan ilmu hendaknya ia menempati posisinya di neraka.” (HR At-Tirmidzi [2874])
Orang yang terpenuhi pada dirinya syarat-syarat mufassir diperbolehkan untuk menafsirkan Al-Quran sesuai dengan kaidah dan aturan yang berlaku. Akan tetapi jika seseorang tidak dapat mencapai kriteria syarat-syarat mufassir, maka sikap yang mesti diambil adalah mengikuti penafsiran para ulama yang berkompeten dalam bidang ini; bukan malah berani membuat model tafsir baru alias bid‘ah sehingga menimbulkan kerancuan (syubhât) dalam memahami Islam. Wallâhu a‘lam.














DAFTAR PUSTAKA

Abu Syuhbah, Muhammad. 1408 H. Al-Isrâiliyât wa Al-Maudhû‘ât fî Kutub At-Tafsîr. KSA: Maktabah As-Sunnah.

Adh-Dhawy, Ahmad Bazawy. Syurûth Al-Mufassir wa Âdâbuhu dalam http://www.ahlalhdeeth.com/vb/showthread.php?t=82245 Diakses pada 30 Agustus 2007.

Adz-Dzahabi, Muhammad Husain. Tt. ‘Ilmu At-Tafsîr. Kairo: Dâr Al-Ma’ârif.

Adz-Dzahabi, Muhammad Husain. 2000. At-Tafsîr wa Al-Mufassirûn. Juz I. Kairo: Maktabah Wahbah.

Al-Harby, Husain bin Ali bin Husain. 1996. Qawâ‘id at-Tarjîh ‘Inda al-Mufassirîn; Dirâsah Nazhâriyyah Tathbîqiyyah. Riyadh: Dâr al-Qâsim. Juz 1.

Al-Kattani, Abdul Hayyie. “Al-Quran dan Tafsir” dalam Jurnal Kajian Islam Al-Insan Vol. I No. 1 Januari 2005 hal. 101.

Al-Qaththan, Manna‘. 1973. Mabâhits fî ‘Ulûm Al-Qurân. Beirut: Mansyûrât Al-‘Ashr Al-Hadîts.

Al-Qaththan, Manna‘. 2007. Pengantar Studi Ilmu Al-Quran. Jakarta: Pustaka Al-Kautsar.

Arif, Syamsuddin. “Al-Quran, Orientalisme, dan Luxenberg” dalam Jurnal Kajian Islam Al-Insan Vol. I No. 1 Januari 2005.

Arqahwah, Shalahuddin. 1987. Mukhtashar Al-Itqân Fî ‘Ulûm Al-Qurân li As-Suyûthy. Beirut: Dâr An-Nafâis.

Ar-Rumy, Fahd bin Abdurrahman bin Sulaiman. 1419 H. Buhûts fî Ushûl At-Tafsîr wa Manâhijuhu. KSA: Maktabah At-Taubah.

As-Suyuthy, Jalaluddin. Al-Itqân fî ‘Ulûm al-Qurân. E-book. Diakses dari Mauqi‘ Umm Al-Kitâb li Al-Abhâts wa Ad-Dirâsât Al-Ilikturûniyah: www.omelketab.net pada 6 September 2007.

Az-Zarqany, Muhammad Abdul Azhim. 1995 Manâhilul ‘Irfân fî ‘Ulûm Al-Qurân. Juz II. Beirut: Dâr Al-Kitâb Al-’Araby.

Husaini, Adian. “Virus Abu Zaid di Indonesia” dalam pengantar: Shalahuddin, Henri. 2007. Al-Quran Dihujat. Jakarta: Al-Qalam.

Riyadi, Endar. 2007. Melampaui Pluralisme; Etika Al-Quran tentang Keragaman Agama. Jakarta: RMBooks.

Wan Daud, Wan Mohd Nor. “Tafsir dan Ta’wil Sebagai Metode Ilmiah” dalam Majalah Islamia. No. 1 Th. I hal. 58.

Ya‘qub, Thahir Mahmud Muhammad. 1425 H. Asbâb Al-Khatha’ fî At-Tafsîr; Dirâsah Ta’shîliyyah. Juz I. Riyadh: Dâr Ibn Al-Jauziyyah.

Jumat, 21 Mei 2010

interaksi manusia dan komputer

Pengertian Interaksi Manusia-Komputer , Ketika komputer pertama kali diperkenalkan secara komersial pada tahun 50-an, mesin ini sangat sulit dipakai dan sangat tidak praktis. Hal demikian karena waktu itu komputer merupakan mesin yang sangat mahal dan besar, hanya dipakai dikalangan tertentu, misalnya para ilmuwan atau ahli-ahli teknik.

Setelah komputer pribadi (PC) diperkenalkan pada tahun 70-an, maka berkembanglah penggunaan teknologi ini secara cepat dan mengagurnkan ke berbagai penjuru kehidupan (pendidikan, perdagangan, pertahanan, perusahaan, dan sebagainya). Kemajuan-kemajuan teknologi tersebut akhirnya juga mempengaruhi rancangan sistem. Sistem rancangan dituntut harus bisa memenuhi kebutuhan pemakai, sistem harus mempunyai kecocokkan dengan kebutuhan pemakai atau suatu sistem yang dirancang harus berorientasi kepada pemakai. Pada awal tahun 70-an ini, juga mulai muncul isu teknik antarmuka pemakai (user interface) yang diketahui sebagai Man-Machine Interaction (MMI) atau Interaksi Manusia-Mesin.

Pada Man-Machine Interaction sudah diterapkan sistem yang “user friendly”. Narnun, sifat user friendly pada MMI ini diartikan secara terbatas. User friendly pada MMI hanya dikaitkan dengan aspek-aspek yang berhubungan dengan estetika atau keindahan tampilan pada layar saja. Sistem tersebut hanya menitik beratkan pada aspek rancangan antarmukanya saja, sedangkan faktor-faktor atau aspek-aspek yang berhubungan dengan pemakai baik secara organisasi atau individu belum diperhatikan [PRE94].

Para peneliti akademis mengatakan suatu rancangan sistem yang berorientasi kepada pemakai, yang memperhatikan kapabilitas dan kelemahan pemakai ataupun sistem (komputer) akan memberi kontribusi kepada interaksi manusia-komputer yang lebih baik. Maka pada pertengahan tahun 80-an diperkenalkanlah istilah Human-Computer Interaction (HCI) atau Interaksi Manusia-Komputer.

Pada HCI ini cakupan atau fokus perhatiannya lebih luas, tidak hanya berfokus pada rancangan antarmuka saja, tetapi juga memperhatikan semua aspek yang berhubungan dengan interaksi antara manusia dan komputer. HCI ini kemudian berkembang sebagai disiplin ilmu tersendiri (yang merupakan bidang ilmu interdisipliner) yang membahas hubungan tirnbal balik antara manusia-komputer beserta efek-efek yang terjadi diantaranya.

Oleh Baecker dan Buxton [dalam PRE94] HCI ini didefinisikan sebagai “set of processes, dialogues, and actions through -which a human user employs and interacts with computer”. ACM-SGCHI [dalam PRE94] lebih jauh menuliskan definisi tentang HCI sebagai berikut:

— human-computer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing system for human use and with the study of major phenomena surrounding them. “

Dengan demikian terlihat jelas bahwa fokus perhatian HCI tidak hanya pada keindahan tampilannya saja atau hanya tertuju pada tampilan antarmukanya saja, tetapi juga memperhatikan aspek-aspek pamakai, implementasi sistem rancangannya dan fenomena lingkungannya, dan lainnya. Misalnya, rancangan sistem itu harus memperhatikan kenyamanan pemakai, kemudahan dalam pemakaian, mudah untuk dipelajari dlsb.

Tujuan dari HCI adalah untuk menghasilkan sistem yang bermanfaat (usable) dan aman (safe), artinya sistem tersebut dapat berfungsi dengan baik. Sistem tersebut bisa untuk mengembangkan dan meningkatkan keamanan (safety), utilitas (utility), ketergunaan (usability), efektifitas (efectiveness) dan efisiensinya (eficiency). Sistem yang dimaksud konteksnya tidak hanya pada perangkat keras dan perangkat lunak, tetapi juga mencakup lingkungan secara keseluruhan, baik itu lingkungan organisasi masyarakat kerja atau lingkungan keluarga. Sedangkan utilitas mengacu kepada fungsionalitas sistem atau sistem tersebut dapat meningkatkan efektifitas dan efesiensi kerjanya. Ketergunaan (usability) disini dimaksudkan bahwa sstem yang dibuat tersebut mudah digunakan dan mudah dipelajari baik secara individu ataupun kelompok.

Pendapat Preece, J. di atas didasarkan pada pemikiran yang menyatakan bahwa kepentingan pemakai sistem harus didahulukan, pemakai tidak bisa diubah secara radikal terhadap sistem yang telah ada, sistem yang dirancang harus cocok dengan kebutuhan-kebutuhan pemakai.

Selanjutnya, dalam berinteraksi dengan komputer, para pemakai pertama kali akan berhadapan dengan perangkat keras komputer. Untuk sampai pada isi yang ingin disampaikan oleh perangkat lunak, pemakai dihadapkan terlebih dahulu dengan seperangkat alat seperti papan ketik (keyboard), monitor, mouse, joystick, dan lain-lain. Pemakai harus dapat mengoperasikan seperangkat alat tersebut. Selanjutnya, pemakai akan berhadapan dengan macam-macam tampilan menu, macam-macam perintah yang terdiri dari kata atau kata-kata yang harus diketikkannya, misalnya save, copy, delete, atau macam-macam ikon. Peralatan, perintah, ikon dan lain-lain yang disebutkan di atas dikenal dengan nama interface (antarmuka). Interface ini merupakan lapisan pertama yang langsung bertatap muka dengan pemakai.
Pengertian IMK ( Interaksi Manusia dan Komputer ) Interaksi manusia dan komputer adalah ilmu yang mempelajari tentang perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang terkait dengannya. Fokus IMK adalah perancangan dan evaluasi antarmuka pemakai (user interface). User interface adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer.

Faktor manusia adalah bagian utama dari permasalahan peralatan perancangan yang dapat dibedah oleh manusia selama Perang dunia II. Banyak permasalahan yang dihadapi oleh faktor manusia yang mempunyai pandangan tentang apa dia lihat (perancangan perangkat keras dan mengendalikannya). Masalah dari operasi manusia komputer adalah suatu faktor alami manusia, kalau tidak permasalahan yang baru mempunyai teori substansiil, komunikasi, dan aspek interaksi sebelumnya yang dikembangkan dalam faktor manusia, memaksa suatu pertumbuhan faktor manusia didalam arah perkembangan IMK.

Ergonomi adalah hampir mirip dengan faktor manusia, tetapi itu dari studi pekerjaan. Seperti dengan faktor manusia, perhatian ergonomi cenderung pada tingkatan, tetapi dengan selera fisiologis tambahan dan suatu tekanan. Interaksi manusia dan komputer adalah suatu topik alami untuk ergonomi, tetapi suatu perluasan teori kepada studi bidang perlu menghasilkan yang sekarang "cognitive ergonomics" and "cognitive engineering". Oleh karena sejarah IMK adalah mengenai studi komputer ergonomic yang menekankan pada hubungan pekerjaan yang menentukan dan efek faktor tekanan, seperti routinisasi pekerjaan, kenyaman penggunaan atau perancangan tampilan.


Akhirnya, kebebasan menentukan perhitungan, pemakai komputer pribadi dan penjualan komputer itu jadilah lebih secara langsung diikat kepada mutu perangakat keras mereka dibanding di masa lalu. Hasil telah menjadi evolusi yang ditandai dengan pengukuran suatu alat penghubung arsitektur yang distandardisasi dari perangkat keras pendukungnya untuk membagi sistem tanpilan untuk lapisan manajemen aplikasi. Bersama dengan perubahan ini, para perancang dan peneliti sudah mulai untuk mengembangkan teknik spesifikasi untuk pemakai menghubungkan dan menguji teknik untuk produksi alat penghubung yang praktis.