BAB 2 LANDAS AN TEORI Untuk memudahkan pengkajian skripsi ini, maka dibutuhkan teori-teori untuk dipakai dalam pengerjaan aplikasi layanan zakat. teori-teori tersebut dibagi menjadi dua bagian yaitu teori dasar/umum yang menjelaskan tentang teori-teori yang berkaitan dengan aplikasi berbasis web dan teori khusus yang menjelaskan tentang masalah zakat.
2.1
Teori-teori Dasar/Umum 2.1.1
Intranet M enurut Bidgoli (2004, p290) Intranet adalah sebuah jaringan dalam
organisasi yang menggunakan teknologi web (TCP/IP, HTTP, FTP, SMTP, HTM L dan XM L) untuk mengumpulkan, menyimpan, dan menyebarluaskan informasi yang berguna di dalam organisasi tersebut. M enurut syafrizal (2005, p204), intranet adalah jaringan komputer berbasis protokol TCP/IP seperti internet, hanya saja digunakan dalam internal perusahaan/kantor dengan aplikasi berbasis web dan teknologi komunikasi data seperti internet. Walaupun menggunakan teknologi yang sama, internet berbeda dengan intranet. Internet adalah jaringan yang luas dan untuk umum, setiap orang dapat mengakses internet selama dia mempunyai akun di ISP (Intenet Service Provider). Sedangkan intranet adalah jaringan private, hanya terhubung dengan jaringan tertentu di dalam perusahaan, dan biasanya pengguna dari intranet adalah karyawan perusahaan tersebut. Pada umumnya, Intranet memiliki performa yang lebih unggul dan juga lebih aman dibandingkan dengan internet.
7
8 2.1.2
TCP/IP (Transmission Control Protocol/Internet Protocol) M enurut Blank (2004, p2) TCP/IP adalah kumpulan protokol yang
memungkinkan komunikasi antar komputer. M enurut syafrizal (2005, p63) TCP/IP adalah protokol standar pada jaringan internet yang tidak tergantung pada jenis komputer yang digunakan sehingga memungkinkan berbagai komputer untuk berinteraksi satu dengan yang lain. M enurut Sardiman (2008, p102) TCP/IP adalah suatu set protocol standar yang digunakan untuk menghubungkan jaringan komputer, mengamati lalu lintas dalam jaringan, mengatur format data yang diizinkan, penanganan kesalahan dan standar komunikasi lainnya. Selama 20 tahun lebih sudah protokol TCP/IP digunakan, dan waktu telah membuktikannya bahwa protokol ini telah teruji dan sangat stabil. TCP/IP memiliki beberapa fitur dan keuntungan, seperti: 1. Dukungan dari berbagai vendor Seperti yang telah disebutkan diatas, TCP/IP sangat kompatibel dengan hardware dan software dari berbagai vendor, sehingga tidak terikat pada satu vendor saja. 2. Interoperability Alasan mengapa TCP/IP sangat populer dan banyak digunakan adalah TCP/IP dapat diinstall dan dipakai di berbagai platform sistem operasi. Contohnya host yang berplatform Linux dapat berkomunikasi dan berbagi data dengan host yang berplatform windows. 3. Flexibility TCP/IP merupakan protokol yang sangat fleksibel. Contoh dari fleksibilitas TCP/IP adalah seorang administrator dapat menentukan dan memindahkan
9 alamat IP, menetapkan alamat IP ke dalam host secara manual ataupun otomatis dan dapat merubah TCP/IP host menjadi sebuah nama yang mudah diingat seperti www.google.com. 4. Routability TCP/IP dapat beradaptasi dengan baik terhadap proses routing data dari satu segmen jaringan ke segmen jaringan yang lain atau dari host ke host yang lain.
2.1.3
WWW (World Wide Web) Web merupakan nama lain dari world wide web. M enurut Levine, Young
(2010, p89) web adalah sekelompok halaman informasi yang saling berhubungan satu dengan yang lain di seluruh dunia. Pada setiap halaman web bisa berupa kombinasi dari text, gambar, suara, atau video dan hal-hal lainnya. M enurut Quinn (2000, p14), web bukan nama lain dari internet, tetapi bagian dari internet yang menampilkan text, gambar, suara dan animasi. Sebelum kehadiran web, informasi dari internet hanya berupa layar text saja dan tidak ada link yang menghubungkan situs-situs lain. Dengan kehadiran web, kita dapat dengan mudah mendapatkan informasi dari sebuah halaman yang tidak hanya sekedar text saja tetapi kombinasi dari gambar, suara, video dan beberapa media lainnya. Selain itu, pada halaman tersebut terdapat link yang mengantarkan kita secara langsung menuju halaman lain dari situs tersebut atau halaman lain dari berbagai situs. Web ditemukan pada tahun 1989 di Lab Pusat Penelitian Nuklir Eropa, sebuah tempat yang tidak cocok untuk revolusi komputer. Penemunya adalah seorang peneliti dari Inggris yang bernama Sir Tim Berners-Lee, direktur dari World Wide
10 Web Consortium (W3C) sebuah organisasi yang membuat standarisasi dan mengawasi pengembangan web. Tim juga menemukan HTTP, protokol yang mengkomunikasikan web browser dengan web server; HTM L yang merupakan bahasa untuk pembuatan web; dan URL yaitu alamat dari web pages. Tim menginginkan web sebagai sebuah cara untuk mempublikasikan atau mengambil informasi dari internet.
2.1.4
HTTP (HyperText Transfer Protocol) M enurut Sunarto (2005, p22) HTTP adalah sebuah protokol yang menetukan
aturan main antara software client dan software server dalam penyediaan dokumen yang diminta browser. M enurut Wong (2000, p1), HTTP adalah protokol dibalik sebuah web, dipanggil pada setiap transaksi web, dan merupakan protokol yang digunakan web untuk mendistribusikan informasi ke dalam internet. M enurut J.R.Okin (2005, p120) HTTP adalah suatu mekanisme yang memungkinkan komputer menjangkau internet, mengambil salinan informasi dari file tertentu atau resource yang diminta sehingga bisa ditampilkan dan digunakan pada komputer lokal. HTTP termasuk application layer yang berjalan melalui TCP/IP dengan membuat hubungan TCP ke port tertentu (biasanya port 80). Sebagaimana internet protokol lainnya, HTTP berfungsi sebagai model client-server, dimana browser bertindak sebagai client dan membuat kode permintaan data (request) kemudian web server menjawab request tersebut dan menyediakan data yang diinginkan.
11 2.1.5
URL (Uniform Resorce Locator) M enurut Suyanto (2003, p195), URL adalah alamat sebuah file yang dapat
diakses di internet, berisi nama protokol internet yang dibutuhkan untuk mengkases file, nama komputer yang berisi file tersebut, dan direktori dimana file tersebut berada. M enurut Colmer (2006, p145), URL adalah sistem pengalamatan standar yang digunakan untuk mengakses informasi melalui internet. M enurut Peltzer (2004, p243), URL adalah elemen dari halaman web yang menunjukkan komponen yang digunakan browser untuk meminta halaman web. Secara umum, URL dibagi menjadi tiga bagian. Bagian pertama menunjukan protokol yang dipakai seperti http:// atau https://. Bagian kedua menunjukan alamat host seperti www.yahoo.com. Bagian ketiga menunjukan path direktori file, yaitu tempat dimana file yang ingin diakses disimpan dalam server.
2.1.6
Web Browser M enurut Sunarto (2005, p23), web browser atau biasa disebut browser adalah
sebuah program aplikasi yang digunakan untuk menjelajahi dunia maya internet dan menampilkan web page yang ada di internet. M enurut Price, wix (2002, p32) web browser adalah sebuah program yang memungkinkan kita untuk melihat informasi yang berada di internet. M enurut Comer (2007, p209) web browser adalah program yang menampilkan dan menyediakan akses dokumen hypermedia yang ada di internet. Lynx dan mosaic adalah contoh web browser yang pertama. Lynx adalah web browser yang hanya menampilkan text, karena itu browser ini dapat membuka web pages dengan cepat. M osaic adalah web browser yang dapat menampilkan text dan gambar.
12 Saat ini, perkembangan web browser sudah demikian pesat. Para developer telah berkreasi dengan menciptakan browser yang memiliki banyak kemampuan dengan performa yang lebih baik baik, baik yang komersial seperti internet explorer ataupun open sorce seperti mozilla firefox.
2.1.7
Web S erver M enurut Supardi (2009, p181) web server adalah perangkat lunak yang
mengatur atau mengelola program berdasarkan permintaan browser dan mengirimkan hasil dari permintaan tersebut. M enurut Zaki dan Komunitas Smitdev (2008, p21), web server adalah sebuah hardware dan software yang bertugas melakukan interpretasi HTTP request untuk kemudian melakukan respon atas HTTP request tersebut dalam bentuk kode HTM L, dan kode-kode lainnya yang bisa dipahami browser. Ada banyak sekali web server yang bisa digunakan diantaranya: 1.
Apache Tomcat
2.
M icrosoft windows Server 2003 Internet Information Services (IIS)
3.
Lighttpd
4.
Sun Java System Web Server
5.
Xitami Web Server
6.
Zeus Web Server
13 2.1.8
Web Programming
2.1.8.1
HTML (Hyper Text Markup Language) M enurut Richardson (2005, p15) HTM L adalah sebuah bahasa dasar
pemrograman yang digunakan untuk membuat website. M enurut Brooks (2007, p1) HTM L bukanlah sebuah bahasa pemrograman, tapi lebih mirip sebagai kumpulan instruksi tentang bagaimana menampilkan sebuah content. M enurut Callihan (2003,p3) HTM L adalah bahasa yang terdiri dari dua elemen. Sebagai bahasa hypertext yang memungkinkan kita menulis dokumen interlinking non-sequential. Sebagai bahasa markup yang merupakan kode atau tag-tag untuk menentukan format dokumen saat ditampilkan di web. Saat ini HTM L merupakan bahasa standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Dokumen HTM L terdiri dari 4 elemen: 1.
….., sebagai format dokumen itu sendiri
2.
….., sebagai bagian pendahuluan
3.
….., sebagai bagian judul
4.
….., sebagai bagian isi Sebuah file yang merupakan file HTM L dapat dibuka dengan
menggunakan browser web seperti Mozilla Firefox atau M icrosoft Internet Explorer. HTM L juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.
14 2.1.8.2
PHP (PHP Hypertext Prepocessor) M enurut Quigley, Gargenta (2007, p4) PHP adalah bahasa scripting yang
simple, cepat dan portable sangat sesuai digunakan untuk membuat website yang memiliki database. M enurut Stobart, Vassileiou (2004, p106) PHP adalah bahasa scripting open source untuk membuat web secara dinamis seperti web untuk e-commerce dan aplikasi web lainnya. M enurut Brooks (2008, p2), PHP adalah bahasa scripting server-side, artinya dokumen php diolah diserver bukan di browser, php juga menerima informasi dari dokumen HTM L dan menjadikan sebuah web menjadi lebih dinamis. Versi pertaman PHP dibuat oleh Rasmus Leodorf pada tahun 1995. Versi ini berupa sekumpulan skrip PERL yang digunakan oleh Rasmus Lerdorf untuk membuat halaman Web yang dinamis pada hompage pribadinya. Rasmus menulis ulang skrip-skrip PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas Form HTM L, koneksi MySQL dan meluncurkan PHP/F1 pada tahun 1996. Selanjutnya, PHP terus dikembangkan hingga saat ini telah meluncur PHP versi 5.0. Karena script ini bersifat open source, maka php bisa didapatkan secara gratis di www.php.net. PHP juga mendapatkan dukungan dari sebagian besar komunitas di internet. Komunitas ini menyediakan dukungan fasilitas untuk pengembangan seperti laporan kesalahan-kesalahan pada script php kemudian memperbaikinya. Kelebihan lain dari PHP adalah dukungan kepada banyak paket database, seperti PostgreSQL, MySQL, Oracle, M icrosoft SQL Server, Sybase dan lain lain.
15 2.1.8.3
Javascript M enurut Brooks (2007, p3) Javascript adalah bahasa pemrograman yang
diinterpretasikan bukan dikompile, diadopsi dari bahasa C/C++ yang dikembangkan menjadi bahasa pemrograman web client-side. Javascript didesain untuk bekerja sama dengan HTM L membuat web page yang interaktif. M enurut M cFarland (2008, p1),
Javascript adalah bahasa pemrograman yang digabungkan dengan
HTM L untuk membuat halaman web yang beranimasi, interaktif dan memiliki visual effect yang dinamis. Javascript pertama kali dirancang oleh perusahaan Netscape yang ingin melengkapi fitur browser miliknya –Navigator- yang sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan oleh programmer non-Java. Diciptakanlah bahasa pemrograman yang bernama Livescript untuk mengakomodasi hal tersebut. Dari bahasa pemrograman inilah kemudian berkembang menjadi Javascript, walaupun tidak ada hubungannya antara bahasa Java dengan Javascript. Javascript merupakan bahasa pemrograman yang cukup mudah dikuasai dan memiliki banyak fungsi yang dapat digunakan untuk meningkatkan efek visual dari halaman web. Kode dari javascript harus diapit oleh tag, diawali dengan tag <script language=”javascript”> dan diakhiri dengan dengan tag .
2.1.8.4
JQuery M enurut Beighley (2010, p8) jQuery adalah open source add-on pustaka
JavaScript yang menekankan pada interaksi antara JavaScript dan HTM L. JQuery merupakan kode javascript yang telah ditulis, kita tinggal menambahkan satu atau dua baris koding untuk memanggil koding jQuery.
16 jQuery memberikan cara yang mudah dalam membuat efek-efek webpage yang canggih kepada para pengembang dan perancang website, karena jQuery sangat mudah diimplementasikan pada setiap halaman web. Pustaka ini dirilis pada Januari 2006 di BarCamp NYC oleh John Resig dan berlisensi ganda di bawah Lisensi M IT dan GPL.
2.1.8.5
CSS (Cascading S tyle Sheets) M enurut Sulistyawan, Rubianto, Saleh (2008, p32), CSS adalah suatu
bahasa stylesheet yang mengatur tampilan suatu dokumen. Pada umumnya CSS digunakan untuk memformat halaman web yang ditulis dengan HTM L dan XHTM L. M enurut Juju, M atamaya Studio (2008, p95) CSS adalah bahasa stylesheet yang digunakan untuk mengatur tampilan dokumen. CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. Dengan CSS, tampilan website akan lebih cantik dan konsisten. Ada dua cara untuk menuliskan kode CSS. Pertama secara internal, yaitu menuliskan langsung diantara tag HTM L/XHTM L. Kedua secara eksternal, yaitu kode CSS disimpan dalam file yang terpisah kemudian dipanggil saat halaman web dibuka. CSS sendiri merupakan sebuah teknologi internet yang direkomendasikan oleh World Wide Web Consortium (W3C) dan diperkenalkan pada tahun 1996. Sampai saat ini, hampir seluruh website yang ada di dunia menggunakan CSS untuk memformat halaman webnya. Beberapa alasan web developer selalu menggunakan CSS dalam memformat tampilan webnya adalah: 1.
CSS dapat memecahkan permasalahan keseragaman style pada suatu dokumen HTM L/XHTM L.
17 2.
CSS meringankan pekerjaan untuk memformat seluruh tampilan dokumen
3.
M ultiple style akan tersimpan dalam satu dokumen
2.1.8.6
MySQL M enurut Wahana Komputer (2010, p26), MySQL adalah salah satu
software sistem manajemen database (DBM S) Structured Query Language (SQL). M enurut Sakur (2005, p57) MySQL merupakan sistem manajemen database, relasional sistem database dan software open source SQL yang sangat popular. MySQL dikembangkan oleh perusahaan MySQL AB, yaitu perusahaan komersial yang didirikan oleh dua orang swedia untuk memberikan pelayanan seputar MySQL database termasuk mengembangkan kembali software tersebut
2.1.9
Database dan Database Management S ystem Dalam manajemen data, file diperlukan untuk menyimpan data-data secara
permanent. File tersebut dapat digunakan untuk menyimpan dan mencari data dengan meknisme yang sederhana untuk mengakses dan sharing data. Koleksi data tersebut adalah database (Atzeni et al, 1999, p3). M enurut Date (1990, p9) Database adalah koleksi data-data tetap yang digunakan oleh sistem aplikasi sebuah perusahaan. M enurut Connolly, Begg (2004, p15), database adalah kumpulan data yang terhubung secara logis beserta deskripsi dari masing-masing data, dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Umtuk memudahkan akses ke database diperlukan DBM S, yaitu software yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara dan mengontrol akses ke database (Connolly, Begg, 2005, p16). Secara khusus, DBM S
18 menyediakan fasilitas untuk mendefinisikan database (DDL), memanipulasi seperti insert, update, delete, dan retrieve database (DM L), dan menyediakan akses kontrol database.
2.1.9.1
DDL (Data Definition Language) M enururt Connolly, Begg (2004, p40), DDL adalah sebuah bahasa yang
memungkinkan database administrator atau user untuk menggambarkan dan memberi nama entitas, attribute, dan hubungan yang dibutuhkan aplikasi, termasuk didalamnya integritas terkait dan masalah keamanan. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi statement DDL adalah satu set table yang disimpan didalam file khusus secara bersama yang disebut dengan sistem katalog. Tabel 2.1 : Daftar perintah DDL pada Mysql 5.0 Pembuatan (Create)
Perubahan (Alter & Rename)
Penghapusan (Drop)
Create database
Alter database
Drop database
Create function
Alter function
Drop function
Create index
Alter procedure
Drop index
Create procedure
Alter table
Drop procedure
Create table
Alter view
Drop table
Create trigger
Rename table
Drop trigger
Create view
Drop view
19
2.1.9.2
DML (Data Manipulation Language) M enururt Connolly, Begg (2004, p40), DM L adalah sebuah bahasa yang
menyediakan kumpulan perintah yang mendukung operasi manipulasi data yang berada di database. Operasi manipulasi data biasanya adalah: •
M emasukan data baru ke dalam database.
•
M odifikasi data yang disimpan di database.
•
M engambil data yang berada di database.
•
M enghapus data dari database.
Tabel 2.2 : Daftar perintah DML pada Mysql 5.0
DATA MANIPUL ATION LANGU AGE
2.1.9.3
CALL
LOAD DATA INFILE
INSERT
REPLACE
UPDATE
TRUNCATE
DELETE
DO
SELECT
HANDLER
ERD (Entity Relationship Diagram) ERD adalah pendekatan top-down dalam perancangan database yang
dimulai dengan mengidentifikasi entitas dan hubungan antara entitas tersebut. Kemudian kita menambahkan informasi-informasi yang berhubungan dengan keduanya (Connolly, Begg, 2004, p343). Model ERD merupakan teknik yang
20 penting dalam perancangan database. Untuk membuat ERD, ada tiga buah komponen yang harus diidentifikasi yaitu: 1. Entitas M enurut Connolly, Begg (2004, p343) entitas adalah representasi dari kumpulan obyek yang ada di dunia nyata dengan properti yang sama, yang diidentifikasi oleh lingkungan sebagai obyek yang memiliki keberdaan independent. Secara sederhana, entitas adalah obyek yang harus berada pada lingkungan tertentu. Contoh: entitas ‘mahasiswa’ harus ada pada lingkungan kampus, demikian pula dengan entitas ‘dosen’, ‘mata kuliah’ dsb. 2. Attribute M enurut
Connolly,
Begg (2004,
p346)
elemen-elemen
dari entitas
disebut atribut untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. 3. Hubungan (Relation) M enurut Connolly, Begg (2004, p346) relation adalah hubungan antara sejumlah entitas. M asing-masing relasi diberi nama untuk menggambarkan fungsinya.
21
Memesan
Pemesan
M akanan
Kode pemesan
Kode Makanan
Jenis Makanan
Nama Pemesan Nomor meja
Kode Makanan
Nama Makanan
Gambar 2.1 : Potongan ERD pemesanan makanan
2.1.10
Normalisasi Normalisasi adalah teknik perancangan database, yang dimulai dengan
memeriksa hubungan antara attribut. Normalisasi menggunakan berbagai tahap tes (yang
disebut
dengan
normal
form)
untuk
membantu
mengidentifikasi
pengelompokan atribut tersebut secara optimal, sehingga membentuk serangakaian hubungan data yang sesuai (Connolly, Begg, 2005, p387). Database yang memiliki hubungan data optimal akan memberikan manfaat, diantaranya memudahkan user untuk mengakses dan memelihara data serta meminimalisir ruang penyimpanan pada komputer. Selain itu, normalisasi juga bertujuan untuk menghilangkan data yang berulang dan membuat data independent (hanya data yang berhubunga saja yang berada dalam satu table)
22 Pada dasarnya tahapan proses normalisasi atau normal form ada tiga tahap, yaitu First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). Kemudian, R. Boyce and E.F. Codd memperkenalkan normal form ketiga yang lebih baik yang disebut dengan Boyce-Codd Normal Form (BCNF). Tahapan selanjutnya setelah BCNF adalah Fourth Normal Form (4NF) dan Fifth Normal Form (5NF), namun dalam penerapannya sangatlah jarang.
Gambar 2.2 : Hubungan antar normal form
23
Data sources
User
User’s requirements specification
Forms/report that are used or generated by the enterprise
Sources describing the enterprise such as data dictionary and corporate data model
Transfer attributes into tabl e f t
Unnormalized Form (UNF)
Romov e repeating groups
First Normal Form (1NF)
Remov e partial dependencies
Second Normal Form (2NF)
Remov e transitive dependencies
Third Normal Form (3NF)
Gambar 2.3 : Ilustrasi proses normalisasi hingga bentuk ketiga (3NF)
24 2.1.10.1 Bentuk Tidak Normal Bentuk ini merupakan kumpulan data yang disimpan dari sumber data kedalam format table dengan baris dan kolom. Tidak ada keharusan mengikuti suatu aturan, sehingga data dapat terduplikasi (Connolly, Begg, 2005, p403).
Gambar 2.4 : ‘Client Rental’ dalam bentuk tidak normal (UNF)
2.1.10.2 Bentuk Normal Pertama Untuk mengubah tabel bentuk tidak normal menjadi bentuk normal pertama adalah dengan menghilangkan repeating group yang berada di dalam tabel. Repeating group adalah attribut atau kelompok attribut di dalam tabel yang memiliki beberapa nilai (Connolly, Begg, 2005, p403).
Gambar 2.5 : ‘Client Rental’ dalam bentuk normal pertama (1NF)
25 2.1.10.3 Bentuk Normal Kedua Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, dan setiap atribut yang bukan primary key memiliki ketergantungan sepenuhnya terhadap primary key (Utami, Raharjo, 2006, p33).
Gambar 2.6 : ‘Client Rental’ dalam bentuk normal kedua (2NF)
2.1.10.4 Bentuk Normal Ketiga Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua, dan setiap attribute yang bukan primary key tidak memiliki ketergantungan secara transitif terhadap primary key (Utami, Raharjo, 2006, p33). Suatu atribut disebut memiliki ketergantungan transitif jika A, B, dan C adalah atribut dari sebuah relasi, dimana A → B dan B → C, maka C secara transitif memiliki ketergantungan dengan A (Connolly, Begg, 2005, p397).
26
Gambar 2.7 : ‘Client Rental’ dalam bentuk normal ketiga (3NF)
2.1.11 IMK (Interaksi Manusia dan Komputer) 2.1.11.1
Definisi Ketika seseorang bekerja dengan sebuah komputer, secara disadari
atau tidak, dia melakukan interaksi dengan komputer dengan menggunakan caracara tertentu. Interaksi terjadi ketika pengguna memasukan data, yang kemudian akan ditanggapi oleh komputer dengan menampilkan suatu keluaran ke layer tampilan atau pencetak (Santoso, 2009, p2). Pembuat interface bisa dikatakan sebagai pahwalan transformasi dikarenakan pekerjaannya yang membuat personal computer sebagai social computer, yang memungkinkan user untuk berkomunikasi dengan komputer dan berkolaborasi dengan cara yang luar biasa (Shneiderman, Plaisant, 2010, p22). Dalam membuat interface ada ukuran atau parameter yang harus diperhatikan para designer interface agar interface yang dibuatnya dapat dikatan
27 user-friendly. Ukuran atau parameter tersebut adalah (Shneiderman, Plaisant, 2010, p32): 1. Waktu untuk belajar. Berapa lama waktu yang dibutuhkan user untuk mempelajari aksi yang harus dilakukan pada suatu tugas. 2. Kecepatan
performa.
Berapa lama waktu
yang dibutuhkan
untuk
melaksanakan tugas. 3. Tingkat kesalahan user. Berapa banyak dan apa saja jenis kesalahan yang dilakukan orang dalam melaksanakan tugas? meskipun waktu untuk membuat dan memperbaiki kesalahan mungkin dimasukkan ke dalam kecepatan kinerja, penanganan kesalahan adalah suatu komponen penting dari penggunaan antarmuka utamanya layak studi ekstensif 4. Retensi dari waktu ke waktu. Seberapa baik pengguna mempertahankan pengetahuan mereka setelah satu jam, sehari, atau seminggu? retensi sangat berhubungan erat dengan waktu untuk belajar, dan frekuensi pemakaian. 5. Kepuasan subjektif. Berapa banyak pengguna menyukai penggunaan berbagai macam aspek dari penampilan? jawabannya dapat dipastikan dengan wawancara atau kuesioner.
2.1.11.2
Delapan Aturan Emas Golden Rules adalah 8 prinsip yang berlaku untuk kebanyakan
sistem-sistem interaktif. Prinsip-prinsip ini berasal dari pengalaman dan telah disempurnakan lebih dari tiga decade (Ben Shneiderman 2010, p88).
28 1. Berusaha untuk konsisten. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, atau layar bantuan. 2. Menyediakan usability universal (shortcut). Untuk meningkatkan kecepatan interaksi, maka diperlukan tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan user, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi untuk tindakan yang penting, maka umpan balik sebaiknya lebih substansial. M isalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog yang memberikan penutupan (keadaan akhir). Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dari bagian awal, tengah, samapi akhir. Pada bagian akhir tindakan, sebaiknya diberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan pencegahan dan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang agar pengguna tidak melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan.
29 6. Mudah untuk kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekhawatiran pengguna karena mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung pusat kendali internal (internal locus of control). User adalah pengontrol sistem dan sistem akan merespon tindakan yang dilakukannya. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek. Karena keterbatasan ingatan manusia maka interface sebaiknya dibuat dengan tampilan yang sederhana, serta tidak memakan waktu untuk melatih, dan mengetahui urutan-urutan tindakan.
30 2.1.12
Rekayasa Piranti Lunak
2.1.12.1
Definisi dan Tujuan M enurut Steward (1987, p4), rekayasa piranti lunak adalah mengatur
keseluruhan proses pengembangan sistem komputer untuk memecahkan suatu masalah. M enurut Sommerville (2011, p7), rekayasa piranti lunak adalah rekayasa dengan konsentrasi terhadap seluruh aspek produksi software mulai dari spesifikasi sistem hingga memelihara sistem dan dipakai oleh user. Rekayasa piranti lunak adalah pembangunan dan pengunaan prinsip-prinsip perekayasaan untuk mendapatkan software ekonomis yang dapat bertahan dan bekerja secara efisien di mesin-mesin yang nyata. (Pressman, 2005, p53). Tujuan dari rekayasa perangkat lunak adalah untuk menghasilkan software yang berkualitas tinggi, tidak terlalu banyak memakan biaya produksi, cepat dalam produksinya dan juga termasuk didalamnya dokumentasi yang menjelaskan bagaimana menginstall dan memakai software tersebut. Disiplin rekayasa perangkat lunak dimunculkan akibat krisis pengembangan perangkat lunak selama tahun 1960-an dan tahun 1970-an sebagai reaksi terhadap kegagalan proyek peranngkat lunak, kerugian ekonomi, keterlambatan jadwal, pasar kompetitif yang terus meningkat, dan peningkatan permintaan untuk kemampuan, kualitas, dan keandalan. Dalam disiplin rekayasa piranti lunak, terdapat sebuah pondasi yang digunakan untuk membangun software secara lengkap dengan mengidentifikasi beberapa aktifitas-aktifitas kecil yang dapat diaplikasikan ke seluruh proyek pembuatan software tanpa melihat besar atau kompleksnya software tersebut. Proses aktifitas-aktifitas tersebut ada lima yaitu:
31
1. Communication; aktifitas ini melibatkan komunikasi yang intensif serta kolaburasi dengan customer guna mendapatkan kebutuhan-kebutuhan yang terkait dalam pembuatan software. 2. Planning; aktifitas ini berguna untuk membangun sebuah rencana sebagai panduan para software engineer dalam membuat software. Aktifitas ini menggambarkan teknik lapangan yang harus dilakukan, resiko-resiko yang didapat, sumber daya yang dibutuhkan, jadwal kerja, dan produk yang dihasilkan. 3. Modeling; aktifitas ini meliputi perancangan atau pembuatan model yang memungkinkan developer dan customer untuk dapat memahami kebutuhan dengan baik. 4. Construction; aktifitas ini melibatkan pembuatan koding (entah itu manual atau otomatis) dan testing yang digunakan untuk mengidentifikasi kesalahan pada koding 5. Deployment; software diberikan kepada user untuk dievaluasi, kemudian user memberikan feedback berdasarkan evaluasinya terhadap software tersebut. Lima aktifitas ini dapat digunakan selama masa pengembangan software yang kecil atau besar dan rumit. Walaupun detail dari masing-masing aktifitas mungkin akan sedikit berbeda namun aktifitasnya tetap sama.
32 2.1.12.2
Incremental Model M enurut
mengkombinasikan
Pressman
(2005,
element-element
dari
p80),
model
waterfall
incremental
dengan
sifat
iterasi/perulangan. M odel incremental mengaplikasikan urutan pengerjaan yang berurutan dan berulang, dimulai dari fase pertama sampai fase akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya.
Demikian
seterusnya hingga semua spesifikasi memenuhi
kebutuhan yang ditetapkan oleh pengguna.
Gambar 2.8 : Model incremental Produk hasil increment pertama biasanya merupakan produk inti yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna dan dilakukan review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang dihasilkan telah komplit dan memenuhi kebutuhan. M odel
33 ini mampu mengakomodasi perubahan secara fleksibel sehingga cocok digunakan untuk proses pengembangan yang kebutuhannya berubah-ubah atau tidak lengkap. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi sesuai dengan spesifikasi dasar.
2.1.13
UML (Unified Modeling Language) M enurut Booch, Rumbaugh, dan Jacobson (1999, p14), UM L adalah bahasa
untuk visualisasi, menentukan, membangun, dan mendokumentasikan artifak-artifak dari sistem perangkat lunak-intensif. UM L adalah bahasa pemodelan yang memiliki kosa kata dan aturan fokus pada representasi konseptual dan fisik sistem. Kosakata dari UM L meliputi tiga jenis blok bangunan:
Things
Relationships
Diagrams UM L pertama kali diperkenalkan pada tahun 1990-an ketika Grady Booch,
Ivar Jacobson dan James Rumbaugh mengadopsi ide serta kemampuan tambahan dari masing-masing metodanya dan berusaha membuat metodologi terpadu yang kemudian dinamakan UM L (Unified M odeling Language).
34
Gambar 2.9 : Struktu r diagram UML
Hubungan dalam UML
Dependency; hubungan yang menyatakan bahwa objek yang satu dapat mempengaruhi objek lain yang menggunakannya, tetapi tidak sebaliknya.
Gambar 2.10 : Notasi hubungan dependency
Generalisasi; hubungan antara hal yang umum (biasa disebut superclass atau parent) dengan hal yang lebih spesifik (biasa disebut subclass atau child). Generalisasi adalah hubungan yang menyatakan “ bagian dari “.
35
Gambar 2.11 : Notasi hubungan generalisasi
Asosiasi; hubungan yang menyatakan bahwa objek yang satu dengan objek yang lain saling berhubungan
Gambar 2.12 : Notasi hubungan asosiasi
M ultiplicity; angka dihubungan asosiasi yang menyatakan berapa kali objek yang satu dengan yang lain saling berhubungan.
Gambar 2.13 : Notasi multiplicity
36
Agregasi; hubungan dimana terdapat objek yang digambarkan lebih besar dan memiliki objek yang lebih kecil. A gregasi adalah hubungan yang menyatakan “mempunyai”
Gambar 2.14 : Notasi hubungan agregasi
1.1.1.1.
Class Diagram M enurut Booch, Rumbaugh, dan Jacobson (1999, p25), Class
diagram menunjukkan set kelas, interface, kolaborasi dan hubungan mereka. Diagram ini adalah diagram yang paling umum ditemukan dalam sistem pemodelan berorientasi objek. Class diagram menangani tampilan desain statis dari suatu sistem. Class diagram biasanya terdiri dari:
Gambar 2.15 : Notasi Class diagram
37 1. Nama kelas; setiap kelas harus mempunyai nama yang akan membedakannya dengan kelas yang lain. Nama kelas berupa text yang dapat berisi bilangan dan huruf. Pada prakteknya, nama kelas merupakan kata benda atau kata frasa yang menggambarkan atributnya. 2. Atribut; nama atribut berupa text. Atribut merupakan nama benda atau frasa yang menggambarkan kelasnya. Satu kelas bisa memiliki banyak atribut atau tidak sama sekali. 3. Operasi; nama operasi berupa text. Operasi merupakan sesuatu yang dapat dilakukan oleh object class.
Gambar 2.16 : Class diagram
38
1.1.1.2.
Use Case Diagram M enurut Booch, Rumbaugh, dan Jacobson (1999, p25), Use case
diagram menunjukkan set aktivitas, pelaku, dan hubungan mereka. Use case menangani tampilan statis use case dari sebuah sistem. Diagram ini sangat penting dalam mengatur dan pemodelan perilaku sistem. Use case diagram biasanya terdiri dari: 1. Use cases; sesuatu yang dilakukan oleh aktor pada sistem 2. Aktor; merupakan suatu kumpulan yang mempunyai peran dengan use case. Aktor bisa berupa manusia atau sistem yang otomatis 3. Hubungan dependency, generalisasi dan asosiasi
Gambar 2.17 : Use case diagram
39
1.1.1.3.
Sequence Diagram M enurut Booch, Rumbaugh, dan Jacobson (1999, p25), Sequence
diagram menunjukkan interaksi, yang terdiri dari sekumpulan objek dan hubungan mereka, termasuk pesan yang dapat dikirim di antara mereka. Diagram ini
menekankan waktu pemesanan pesan; Sequence diagram menangani
tampilan dinamis dari sistem. Sequence diagram biasanya terdiri dari: 1. Objek 2. Link 3. M essage
Gambar 2.18 : Sequence diagram
40
1.1.1.4.
Activity Diagram M enurut Booch, Rumbaugh, dan Jacobson (1999, p25), Activity
diagram adalah jenis khusus dari statechart diagram yang menunjukkan alur dari kegiatan ke kegiatan yang lain dalam sistem. Activity diagram menangani tampilan dinamis sistem, diagram ini penting terutama dalam pemodelan fungsi sistem dan menekankan aliran kontrol antara objek-objek. Activity diagram biasanya terdiri dari: 1. Action states dan activity states 2. Transitions
Triggerless transition
Branching
Forking dan joining
Swimlanes
3. Objects
Gambar 2.19 : Activity diagram
41
2.2
Teori-teori Khusus 2.2.1
Zakat Ditinjau dari segi bahasa, kata zakat memiliki beberapa arti, yaitu
al-Barakatu ‘keberkahan’, al-namaa ‘pertumbuhan dan perkembangan’, ath-thaharatu ‘kesucian’, dan ash-shalahu ‘keberesan’. Sedangkan secara istilah, meskipun para ulama mengemukakannya dengan redaksi yang berbeda antara satu dengan yang lainnya, akan tetapi pada prinsipnya sama, yaitu bagian dari harta dengan persyaratan tertentu, yang Allah SWT mewajibkan kepada pemiliknya, untuk diserahkan kepada yang berhak menerimanya dengan persyaratan tertentu pula (Hafidhudin, 2002, p7). Harta yang wajib untuk dikeluarkan zakatnya adalah: 1.
Zakat Penghasilan atau profesi.
2.
Zakat emas, perak, uang, dan deposito.
3.
Zakat perdagangan atau perusahaan.
4.
Zakat pertanian dan perternakan.
5.
Zakat barang tambang dan barang temuan
Adapun persyaratan harta yang wajib dizakatkan itu, adalah (Hafidhudin, 1998, p13): 1.
al-milk at-tam yang berarti harta tersebut dimiliki secara sah dan dikuasai penuh.
2.
an-namaa yaitu harta yang berkembang atau memiliki potensi untuk berkembang seperti harta perniagaan, peternakan, pertanian dan sebagainya.
3.
Telah mencapai nishab, yaitu ukuran minimal harta yang dikenai kewajiban zakat. M isalnya untuk zakat emas atau perak, ukuran minimalnya adalah 85 gram dan 85 gram emas untuk zakat perdagangan atau perusahaan. Jika
42 seseorang memiliki harta yang lebih dari ukuran minimal, maka harta tersebut wajib untuk dizakati. 4.
Telah melebihi kebutuhan pokok, yaitu kebutuhan minimal yang diperlukan seseorang untuk kelangsungan hidupnya atau keluarganya.
5.
Telah mencapai haul, yaitu masa yang sudah mencapai satu tahun untuk harta-harta tertentu seperti perdagangan, emas atau perak. Namun jika harta tanaman, dikeluarkan zakatnya pada setiap panen. Haul adalah masa satu tahun yang harus dilewati oleh nishab harta tertentu tanpa berkurang sedikitpun dari nishab sampai akhir tahun. Zakat adalah ibadah dalam harta dan termasuk dalam rukun Islam yang
ketiga. Keberadaan zakat memiliki peranan penting dalam kehidupan Islam, karena memiliki banyak sekali manfaat dan hikmah, diantaranya (Hafidhudin, 2002, p10): 1.
Sebagai perwujudan keimanan seorang muslim kepada Allah SWT sebagai rasa syukur atas nikmat-Nya, menumbuhkan akhlak yang mulia dengan rasa kemanusiaan yang tinggi, dan menghilangkan sifat kikir dan rakus.
2.
Zakat merupakan hak mustahiq, sehingga berfungsi untuk menolong, membantu, dan membina mereka ke arah kehidupan yang lebih baik dan sejahtera.
3.
Salah satu bentuk konkret jaminan sosial yang disyariatkan oleh ajaran agama Islam.
4.
Sebagai salah satu sumber dana bagi pembangunan sarana dan prasarana yang harus dimiliki umat Islam, seperti sarana ibadah, pendidikan, kesehatan, sosial maupun ekonomi. Sekaligus sebagai pengembangan kualitas sumber daya manusia muslim.
43 2.2.2
Infaq Infaq berasal dari anfaqa yang berarti ‘mengeluarkan sesuatu (harta) untuk
kepentingan tertentu. Sedangkan menurut terminologi syariat, infaq
adalah
mengeluarkan sebagian dari harta/pendapatan untuk suatu kepentingan yang diperintahkan ajaran agama Islam. Jika zakat memiliki nishab, maka infaq tidak mengenal nishab. Infaq dikeluarkan oleh siapa saja dan berapapun jumlahnya tanpa ada persyaratan tertentu. Jika zakat harus diberikan kepada mustahiq, maka infaq boleh diberikan kepada siapa saja. M isalnya orang tua, sahabat, keluarga, anak yatim, dan sebagainya (Hafidhudin, 1998, p14).
2.2.3
Sedekah Sedekah berasal dari kata shadaqa yang berarti ‘benar’. Orang yang
bershadaqah adalah orang yang benar pengakuan imannya. Sedangkan secara terminologi, pengertian sedekah hampir sama dengan pengertian infaq termasuk hukum dan ketentuan-ketentuannya. Hanya saja, jika infaq selalu dikaitkan dengan materi, sedekah tidak hanya materi namun juga nonmaterial. Bentuk-bentuk shadaqah nonmaterial, diantaranya (Hafidhudin, 1998, p15): 1.
Tasbih, Tahlil, dan Tahmid
2.
Amar M a’ruf Nahi M ungkar
3.
Hubungan Intim Suami Istri
4.
Bekerja dan memberi nafkah pada sanak keluarganya
5.
M embantu urusan orang lain
6.
M enjenguk orang sakit
7.
Berwajah manis atau memberikan senyuman.
44 2.2.4
Muzaki M uzakki adalah orang atau badan lembaga yang memiliki harta dan telah
mencapai nishab dan haulnya, kemudian mengeluarkan zakatnya
2.2.5
Mustahik M enurut Utomo (2009, p42) Mustahiq adalah orang-orang yang berhak
menerima zakat. Sebagaimana Q S: Al-Taubah (9): 103, menyebutkan bahwa mustahiq dibagi menjadi 8 golongan. Adapun 8 golongan tersebut adalah: 1.
Fakir yaitu orang yang tidak mempunyai harta untuk memenuhi kebutuhan dirinya sendiri dan keluarganya baik dalam berupa makanan, minuman, pakaian, ataupun tempat tinggal.
2.
M iskin adalah orang yang memiliki penghasilan, namun belum mencukupi kebutuhan hidupnya sehari-hari.
3.
Amil yaitu orang yang kerjanya mengurusi, mengumpulkan, dan menakar zakat. Petugas zakat diberi upah dari zakat kendati ia orang kaya.
4.
Untuk memerdekakan budak
5.
Muallaf yaitu orang yang baru memeluk Islam.
6.
Fii Sabilillah, yaitu amal perbuatan yang diridhai oleh Allah dan mencakup kepentingan orang banyak, seperti pembangunan masjid, madrasah, rumah sakit, dan lain sebagainya.
7.
Gharimiin yaitu orang yang dililit hutang.
8.
Ibnu Sabil yaitu orang yang melakukan perjalanan yang jauh meninggalkan negerinya dengan tujuan yang baik dan kehabisan bekal.
45 2.2.6
Badan dan Lembaga Zakat BAZ (Badan Amil Zakat) dan LAZ (Lembaga Amil Zakat) adalah Badan dan
Lembaga Zakat yang bergerak dalam pengelolaan zakat meliputi kegiatan perencanaan, pengorganisasian, pelaksanaan, dan pengawasan terhadap pengumpulan dan pendistribusian serta pendayagunaan zakat. BAZ dan LAZ merupakan lembaga resmi yang dibentuk pemerintah berdasarkan Undang-undang Nomor 38 Tahun 1999. BAZ dan LAZ mempunyai tingkatan-tingkatan dari tingkat Nasional hingga tingkat kecamatan.