1 BAB II LANDASAN TEORI 2.1 Pengertian Kredit Menurut Islam Semua transaksi yang dilakukan oleh orang muslim haruslah berdasarkan prinsip rela sama re...
Pengertian Kredit Menurut Islam Semua transaksi yang dilakukan oleh orang muslim haruslah berdasarkan
prinsip rela sama rela, dan tidak boleh ada pihak yang menzalimi atau yang dizalimi. Prinsip dasar ini mempunyai implikasi yang sangat luas dalam bidang ekonomi dan bisnis, termasuk dalam praktik perbankan. Allah berfirman dalam surat An-Nisa ayat 29 yang berbunyi:
Artinya: “Hai orang-orang yang beriman, janganlah kamu saling memakan harta sesamamu dengan jalan yang batil, kecuali dengan jalan perniagaan yang berlaku dengan suka sama suka di antara kamu. Dan janganlah kamu membunuh dirimu. Sesungguhnya Allah adalah Maha Penyayang kepadamu”. (QS: An-Nisa: 29). Allah SWT melarang hamba-hamba Nya yang beriman memakan harta sebagian mereka terhadap sebagian lainnya dengan bathil, yaitu dengan berbagai macam usaha yang tidak syar’i seperti riba, judi dan berbagai hal serupa yang penuh tipu daya, sekalipun pada lahiriahnya cara-cara tersebut berdasarkan keumuman hukum syar’i, tetapi diketahui oleh Allah dengan jelas bahwa 13
14
pelakunya hendak melakukan tipu muslihat terhadap riba (Abdullah, 2003 dalam Saputra, 2009). Dalam bahasa sehari-hari kata kredit sering diartikan memperoleh barang dengan membayar dengan cicilan atau angsuran dikemudian hari atau memperoleh pinjaman uang yang pembayarannya dilakukan dikemudian hari dengan cicilan atau angsuran sesuai dengan perjanjian. Jadi dapat diartikan bahwa kredit dapat berbentuk barang atau berbentuk uang. Baik kredit berbentuk barang maupun kredit berbentuk uang dalam hal pembayarannya adalah dengan menggunakan metode angsuran atau cicilan tertentu. Kredit dalam bentuk uang lebih dikenal dengan istilah pinjaman. Dewasa ini pengertian pemberian kredit di samping dengan istilah pinjaman oleh bank yang berdasarkan prinsip konvensional adalah istilah pembiayaan yang digunakan oleh bank berdasarkan prinsip syari’ah. Menurut asal mulanya kata kredit berasal dari kata credere yang artinya adalah kepercayaan, maksudnya adalah apabila seseorang memperoleh kredit maka berarti mereka memperoleh kepercayaan. Sedangkan bagi orang yang memberi kredit artinya memberikan kepercayaan kepada seseorang bahwa uang yang dipinjamkan pasti kembali. Pengertian kredit menurut Undang-Undang Perbankan nomor 10 tahun1998 adalah penyediaan uang atau tagihan yang dapat dipersamakan dengan itu, berdasarkan persetujuan atau kesepakatan pinjam meminjam antara bank dengan pihak lain yang mewajibkan pihak meminjam melunasi utangnya setelah jangka waktu tertentu dengan pemberian bunga.
15
Sedangkan pengertian pembiayaan adalah penyediaan uang atau tagihan yang dapat dipersamakan dengan itu, berdasarkan persetujuan atau kesepakatan antara bank dengan pihak lain yang mewajibkan pihak yang dibiayai untuk mengembalikan uang atau tagihan tersebut setelah jangka waktu tertentu dengan imbalan atau bagi hasil (Kasmir, 2000 dalam Saputra, 2009). Dari pengertian di atas dapatlah dijelaskan bahwa baik kredit atau pembiayaan dapat berupa uang atau tagihan yang nilainya diukur dengan uang. Misalnya bank membiayai kredit untuk pembelian rumah atau mobil, kemudian adanya kesepakatan antara bank (kreditur) dengan nasabah penerima kredit (debitur), dengan perjanjian yang telah dibuatnya.
2.2
Unsur-unsur Kredit Setiap pemberian kredit sebenarnya jika dijabarkan secara mendalam
mengandung beberapa arti. Jadi dengan menyebutkan kata kredit sudah terkandung beberapa arti. Atau dengan kata lain pengertian kata kredit jika dilihat secara utuh mengandung beberapa makna, sehingga jika kita bicara kredit maka termasuk membicarakan unsur-unsur yang terkandung didalamnya. Adapun unsur-unsur yang terkandung dalam pemberian suatu fasilitas kredit adalah sebagai berikut: 1. Kepercayaan Yaitu syarat keyakinan pemberi kredit (bank) bahwa kredit yang diberikan bank berupa uang, barang atau jasa akan benar-benar diterima kembali dimasa mendatang. Kepercayaan ini diberikan oleh bank, karena
16
sebelum dana dikucurkan, sudah dilakukan penelitian dan penyelidikan yang mendalam tentang nasabah. Penelitian dan penyelidikan dilakukan untuk mengetahui kemauan dan kemampuannya dalam membayar kredit yang disalurkan. 2. Kesepakatan Disamping unsur kepercayaan didalam kredit juga mengandung unsur kesepakatan antara pemberi kredit dengan penerima kredit. Kesepakatan ini dituangkan dalam suatu perjanjian dimana masingmasing pihak menandatangani hak dan kewajibanya masing-masing. Kesepakatan penyaluran kredit dituangkan dalam akad kredit yang ditangani oleh kedua belah pihak yaitu bank dan nasabah. 3. Jangka waktu Setiap kredit yang diberikan pasti memiliki jangka waktu teretentu, jangka waktu ini mencakup masa pengembalian kredit yang telah disepakati. Hampir dapat dipastikan bahwa tidak ada kredit yang tidak memiliki jangka waktu. 4. Resiko Faktor resiko kerugian dapat diakibatkan dua hal yaitu resiko kerugian yang diakibatkan nasabah sengaja tidak mau membayar kreditnya padahal mampu dan resiko kerugian yang diakibatkan karena nasabah tidak sengaja yaitu akibat terjadinya musibah seperti bencana alam. Penyebab tidak tertagih sebenarnya dikarenakan adanya suatu tenggang waktu pengembalian (jangka waktu). Semakin panjang jangka
17
waktu suatu kredit semakin besar resikonya tidak tertagih, demikian pula sebaliknya. Resiko ini menjadi tanggungan bank, baik resiko yang disengaja maupun resiko yang tidak disengaja. 5. Balas Jasa Akibat pemberian fasilitas kredit bank tentu mengharapkan suatu keuntungan dalam jumlah tertentu. Keuntungan atas pemberian suatu kredit atau jasa tersebut yang kita kenal dengan nama bunga bagi bank prinsip konvensional. Balas jasa dalam bentuk bunga, biaya provisi dan komisi serta biaya administrasi kredit ini merupakan keuntungan utama bank. Sedangkan bagi bank yang berdasarkan prinsip syari’ah balas jasanya ditentukan dengan bagi hasil (Kasmir, 2000 dalam Saputra, 2009).
2.3
Prinsip-prinsip Pemberian Kredit Jaminan kredit yang diberikan nasabah kepada bank hanyalah merupakan
tambahan, terutama untuk melindungi kredit yang macet akibat suatu musibah. Akan tetapi apabila suatu kredit diberikan telah dilakukan penelitian secara mendalam, sehingga nasabah sudah dikatakan layak untuk memperoleh kredit, maka fungsi jaminan kredit hanyalah untuk berjaga-jaga. Oleh karena itu dalam pemberian kredit bank harus memperhatikan prinsipprinsip pemberian kredit yang benar. Artinya sebelum suatu fasilitas kredit diberikan maka bank harus merasa yakin terlebih dahulu bahwa kredit yang diberikan benar-benar akan kembali. Keyakinan tersebut diperoleh dari hasil
18
penilaian kredit sebelum kredit tersebut disalurkan. Penilaian kredit oleh bank dapat dilakukan dengan berbagai prinsip untuk mendapatkan keyakinan tentang nasabahnya. Prinsip-prinsip penilaian kredit yang sering dilakukan yaitu dengan analisis 5C. Prinsip pemberian kredit dengan analisis 5C dapat dijelaskan sebagai berikut: 1. Character Pengertian character adalah sifat atau watak seseorang dalam hal ini calon debitur. Tujuannya adalah untuk memberikan keyakinan kepada bank bahwa sifat atau watak dari orang-orang yang akan diberikan kredit benar-benar dapat dipercaya. Keyakinan ini tercermin dari latar belakang nasabah baik yang bersifat latar belakang pekerjaan maupun yang bersifat pribadi. Seperti cara hidup atau gaya hidup yang dianutnya, keadaan keluarga, hobi dan sosial. Character merupakan ukuran untuk menilai “kemauan” nasabah membayar kreditnya. Orang yang memilki karakter baik akan berusaha untuk membayar kreditnya dengan berbagai cara. 2. Capacity Untuk melihat kemampuan calon nasabah dalam membayar kredit yang dihubungkan dengan kemampuannya mengelola bisnis serta kemampuannya mencari laba. Sehingga pada akhirnya akan terlihat kemampuannya dalam mengembalikan kredit yang disalurkan. Semakin banyak
sumber
pendapatan
seseorang
kemampuannya untuk membayar kredit.
maka
semakin
besar
19
3. Capital Biasanya bank tidak akan bersedia untuk membiayai suatu usaha 100%, artinya setiap nasabah yang mengajukan permohonan kredit harus pula menyediakan dana dari sumber lainnya atau modal sendiri. Dengan kata lain, Capital adalah untuk mengetahui sumber-sumber pembiayaan yang dimilki nasabah terhadap usaha yang akan dibiayai oleh bank. 4. Collateral Merupakan jaminan yang diberikan calon nasabah baik yang bersifat fisik maupun nonfisik. Jaminan hendaknya melebihi jumlah kredit yang diberikan. Jaminan juga harus diteliti keabsahannya, sehingga jika terjadi suatu masalah, maka jaminan yang dititipkan akan dapat dipergunakan secepat mungkin. Fungsi jaminan adalah sebagai pelindung bank dari resiko kerugian. 5. Condition of Economy Dalam menilai kredit hendaknya juga dinilai kondisi ekonomi sekarang dan untuk dimasa yang akan datang sesuai sektor masingmasing. Dalam kondisi perekonomian yang kurang stabil sebaiknya pemberian kredit untuk sektor tertentu jangan diberikan terlebih dahulu dan kalaupun jadi diberikan sebaiknya juga dengan melihat prospek usaha tersebut dimasa yang akan datang (Kasmir, 2000 dalam Saputra, 2009).
20
2.4
Pengertian Bank Syari’ah Bank Syari’ah adalah lembaga intermediasi dan penyedia jasa keuangan
yang bekerja berdasarkan etika dan sistem nilai Islam yang mempunyai sifat khusus yakni bebas dari kegiatan spekulatif yang nonproduktif seperti perjudian, bebas dari hal-hal yang tidak jelas dan meragukan (tidak pasti), berprinsip pada keadilan dan hanya membiayai kegiatan usaha yang halal. Selain itu juga didasari oleh larangan dalam agama Islam untuk memungut maupun meminjam dengan bunga atau yang disebut dengan riba serta menonjolkan aspek keadilan dalam bertransaksi, investasi yang beretika, mengedepankan nilai-nilai kebersamaan dan persaudaraan dalam berproduksi, dan menghindari kegiatan spekulatif dalam bertransaksi keuangan. Dalam pelaksanaannya yang menjadi tujuan bank syari’ah adalah tercapainya kesejahteraan sosial yang baik. Dalam menjalankan kegiatan operasional, Bank Syari’ah harus mematuhi prinsip syari’ah serta Fatwa Dewan Syari’ah Nasional (DSN), yakni satu-satunya dewan yang mempunyai kewenangan mengeluarkan fatwa atas jenis-jenis kegiatan, produk dan jasa keuangan syari’ah, serta mengawasi penerapan fatwa oleh lembaga-lembaga keuangan syari’ah di Indonesia. Prinsip syari’ah yang dimaksud adalah aturan perjanjian berdasarkan hukum Islam antara bank dan pihak lain untuk penyimpanan dana dan/atau pembiayaan kegiatan usaha, atau kegiatan lainnya yang sesuai dengan syari’ah. Dengan adanya ketentuan-ketentuan baku yang harus ditaati oleh bank-bank yang menjalankan syari’ah secara benar, ternyata telah membuktikan bahwa bank syari’ah telah teruji keberadaannya dengan keadaan pada saat krisis keuangan
21
global. Inilah yang merupakan salah satu keunggulan yang dapat dibuktikan oleh keberadaan bank syari’ah. Secara spesifik dalam menjalankan kegiatan operasionalnya, perbankan syari’ah harus memastikan dengan jelas transaksi yang dilakukan olehnya. Aset yang jelas merupakan hal utama yang mutlak. Sistem keuangan syari’ah hanya membolehkan memberikan pembiayaan berdasarkan aset jelas dengan nilai pembiayaan wajar. Salah satu kegiatan operasional perbankan syari’ah adalah memberikan pembiayaan-pembiayaan yang dapat membantu masyarakat dalam menjalankan kegiatan usahanya. Undang-Undang Nomor 21 Tahun 2008 tentang Perbankan Syari’ah memberikan pengertian mengenai pembiayaan yang diberikan oleh bank syari’ah yaitu penyediaan dana atau tagihan yang dipersamakan dengan itu berupa transaksi bagi hasil dalam bentuk mudharabah dan musyarakah; transaksi sewamenyewa dalam bentuk ijarah atau sewa beli dalam bentuk ijarah muntahiya bittamlik; transaksi jual beli dalam bentuk piutang murabahah, salam, dan istishna’; transaksi pinjam meminjam dalam bentuk piutang qardh; dan transaksi sewa-menyewa jasa dalam bentuk ijarah untuk transaksi multijasa berdasarkan persetujuan atau kesepakatan antara bank syari’ah dan/atau unit usaha syari’ah dan pihak lain yang mewajibkan pihak yang dibiayai dan/atau diberi fasilitas dana untuk mengembalikan dana tersebut setelah jangka waktu tertentu dengan imbalan ujrah, tanpa imbalan, atau bagi hasil. Dari segi pembiayaan inilah bank syari’ah dipergunakan oleh masyarakat sebagai lembaga keuangan yang merupakan alternatif yang tidak dapat diberikan oleh bank konvensional. Setelah itu diharapkan bank syari’ah dapat memberikan
22
dukungan kepada stabilitas sistem keuangan secara keseluruhan. Ada beberapa karakteristik esensial yang membedakan bank syari’ah dengan bank konvensional yaitu: a. Fungsi dan kegiatan Bank mekanisme dan objek usahanya adalah intermediasi, manager investasi, investor, sosial, jasa keuangan; b. Prinsip dasar operasinya adalah antiriba dan antimaysir; c. Prioritas pelayanan berupa tidak bebas nilai (prinsip syari’ah Islam), uang sebagai alat tukar dan bukan komoditi dan bagi hasil, jual beli, sewa; d. Orientasi pada kepentingan publik; e. Bentuk berupa tujuan sosial-ekonomi Islam dan keuntungan; f. Evaluasi nasabah pada bidang bank konvensional. bank pembangunan, bank universal atau multi-porpose; g. Hubungan nasabah: lebih hati-hati karena partisipasi dalam risiko; h. Sumber likuiditas Jangka Pendek: erat sebagai mitra usaha; i. Pinjaman yang diberikan terbatas; j. Lembaga
Penyelesaian
sengketa
komersial
dan
nonkomersial,
berorientasi laba dan nirlaba; k. Resiko usaha dapat diselesaikan di pengadilan dan Badan Arbitrase Syari’ah Nasional; l. Struktur Organisasi Pengawas dihadapi bersama antara bank dan nasabah dengan prinsip keadilan dan kejujuran dan tidak mungkin terjadi negative spread;
23
m. Investasi oleh Dewan Komisaris, Dewan Pengawas Syari’ah dan Dewan Syari’ah Nasional; dan n. Pelayanan yang diberikan harus bersifat halal. Dalam salah satu buku yang dituliskan oleh Bank Indonesia dijelaskan mengenai peran utama dari bank syari’ah, yaitu sebagai badan usaha dan badan sosial. Jika Bank Syari’ah sebagai badan usaha maka bank syari’ah mempunyai beberapa fungsi yaitu sebagai manajer investasi, investor dan penyedia jasa. Bila sebagai manajer investasi, bank syari’ah melakukan penghimpunan dana dari para investor/nasabahnya dengan prinsip wadi’ah yad dhamanah, mudharabah atau ijarah. Jika sebagai investor, bank syari’ah melakukan penyaluran dana melalui kegiatan investasi dengan prinsip bagi hasil, jual beli dan sewa. Sedangkan bila sebagai penyedia jasa perbankan, bank syari’ah menyediakan jasa keuangan, jasa non keuangan dan jasa keagenan. Pelayanan jasa keuangan antara lain dilakukan dengan prinsip wakalah, kafalah, hiwalah, rahn, qardh, sharf dan lain-lain. Pelayanan jasa non keuangan dalam bentuk wadi’ah yad amanah dan mudharabah muqayyadah. Sementara itu, di sisi yang lain, bank syari’ah juga berperan sebagai badan sosial. Dalam hal ini bank syari’ah mempunyai fungsi sebagai pengelola dana sosial untuk penghimpunan dan penyaluran zakat, infak dan sadaqah serta penyaluran qardhul hasan.
2.5
Konsep Dasar Bank Syari’ah Didalam dunia perbankan yang diutamakan adalah kepercayaan dari
masyarakat. Terutama perbankan syari’ah dalam menjalankan kegiatan usahanya
24
mengutamakan keadilan untuk semua pihak. Setiap kelembagaan yang menjalankan usaha syari’ah harus memperhatikan hal berikut: 1. Menjauhkan diri dari kemungkinan a. Menghindari penggunaan sistem yang menetapkan dimuka suatu hasil usaha, seperti penetapan bunga simpanan atau bunga pinjaman yang dilakukan pada bank konvensional. b. Menghindari penggunaan sistem persentase biaya terhadap utang atau imbalan terhadap simpanan yang mengandung unsur melipat gandakan secara otomatis utang/simpanan tersebut hanya karena berjalannya waktu. c. Menghindari penggunaan sistem perdagangan/penyewaan barang ribawi dengan imbalan barang ribawi lainnya (barang yang sama dan sejenis, seperti uang rupiah dengan uang rupiah yang masih berlaku) dengan memperoleh kelebihan baik kuantitas maupun kualitas. d. Menghindari penggunaan sistem yang menetapkan dimuka tambahan atas utang yang bukan atas prakarsa yang mempunyai utang secara sukarela, seperti penetapan bunga pada bank konvensional. 2. Menerapkan Prinsip Sistem Bagi Hasil dan Jual Beli Dengan mengacu kepada petunjuk Al-Quran, QS. Al-Baqarah (2):275 dan surat An-Nisa (4):29 yang intinya: Allah SWT, telah menghalalkan jual beli dan mengharamkan riba, maka setiap transaksi kelembagaan ekonomi islami harus selalu dilandasi atas dasar sistem bagi hasil dan perdagangan atau yang transaksi didasari oleh adanya
25
pertukaran antara uang dengan barang/jasa. Akibatnya pada kegiatan muamalah berlaku prinsip “ada barang/jasa dulu baru ada uang”, sehingga akan mendorong produksi barang/jasa, mendorong kelancaran arus barang/jasa, dapat menghindari adanya penyalahgunaan kredit, spekulasi dan inflasi. Berdasarkan pelaksanaan dari prinsip-prinsip di atas, Bank Syari’ah mempunyai tujuan sebagai berikut: 1. Mengarahkan kegiatan ekonomi umat untuk bermuamalah secara Islam, khususnya muamalah yang berhubungan dengan perbankan, agar terhindar dari praktik-praktik riba atau jenis-jenis usaha/perdagangan lain yang mengandung unsur tipuan, dimana jenis-jenis usaha tersebut selain dilarang dalam Islam, juga telah menimbulkan dampak negatif terhadap kehidupan ekonomi umat. 2. Untuk menciptakan suatu keadilan dibidang ekonomi, dengan jalan memeratakan pendapatan melalui kegiatan investasi agar tidak terjadi kesenjangan yang amat besar antara pemilik modal dengan pihak yang membutuhkan dana. 3. Untuk meningkatkan kualitas hidup umat, dengan jalan membuka peluang berusaha yang lebih besar terutama kepada kelompok miskin, yang diarahkan kepada kegiatan usaha yang produktif, menuju terciptanya kemandirian berusaha (berwira usaha). 4. Untuk membantu menanggulangi (mengentaskan) masalah kemiskinan, yang pada umumnya merupakan program utama dari Negara-negara
26
yang sedang berkembang. Upaya Bank Islam didalam mengentaskan kemiskinan ini berupa pembinaan nasabah yang lebih menonjol sifat kebersamaan dari siklus usaha yang lengkap seperti program pembinaan pengusaha
produsen,
pembinaan
pedagang
perantara,
program
pembinaan konsumen, program pengembangan modal kerja dan program pengembangan usaha bersama. 5. Untuk menjaga kestabilan ekonomi/moneter pemerintah. Dengan aktivitas-aktivitas Bank Islam yang diharapkan mampu menghindarkan inflasi akibat penerapan sistem bunga, menghindarkan persaingan tidak sehat antara lembaga keuangan, khususnya bank dan menanggulangi kemandirian lembaga keuangan, khususnya bank dari pengaruh gejolak moneter baik dari dalam maupun luar negeri. 6. Untuk menyelamatkan ketergantungan umat Islam terhadap bank konvensional yang menyebabkan umat Islam berada di bawah kekuasaan bank, sehingga umat Islam tidak bisa melaksanakan ajaran agamanya secara penuh, terutama dibidang kegiatan bisnis dan perekonomiannya.
2.6
Sistem Pendukung Keputusan
2.6.1 Pengertian Sistem Sistem merupakan kumpulan elemen yang saling berkaitan yang bertanggung jawab memproses masukan (input) sehingga menghasilkan keluaran (output) (Kusrini, 2007 dalam Saputra, 2009).
27
Dalam kamus inggris – Indonesia – nya John M. Echols dan Hassan Shadily, “sistem” diartikan sebagai susunan. Seperti misalnya yang terdapat dalam kata sistem syaraf, berarti susunan syaraf, sistem jaringan berarti susunan jaringan, dan lain sebagainya. Menurut M. J Alexander dalam buku Information System Analysis: Theory and Application, sistem merupakan suatu group dari elemen-elemen baik yang berbentuk fisik maupun non fisik yang menunjukkan suatu kumpulan saling berhubungan diantaranya dan berinteraksi bersama-sama menuju satu atau lebih tujuan, sasaran atau akhir dari suatu sistem. Dalam pengertian lain, “sistem” juga bisa diartikan sebagai “cara”. Seperti misalnya kita sering mendengar kata-kata seperti sistem pengamatan, sistem penilaian, sistem pengejaran, dan lain sebagainya. Istilah sistem juga banyak dipakai dan dihubungkan dengan kata-kata seperti sistem pendidikan, sistem perangkat lunak, sistem transportasi, dan lain sebagainya. Dari sekian banyaknya arti kata sistem, kita akan mengambil pengertian bahwa sistem adalah suatu kesatuan utuh yang terdiri dari beberapa bagian yang saling berhubungan dan berinteraksi untuk mencapai tujuan tertentu (Wahyono, 2004 dalam Saputra, 2009). Fungsi sistem yang utama adalah menerima masukan, mengolah masukan, dan menghasilkan masukan. Agar dapat menjalankan fungsinya ini, sistem akan memiliki komponen-komponen input, proses, keluaran, dan kontrol untuk menjamin bahwa semua fungsi dapat berjalan dengan baik (Winarno, 2004 dalam Saputra, 2009).
28
2.6.2 Pengertian Keputusan Keputusan merupakan kegiatan memilih suatu strategi atau tindakan dalam pemecahan masalah. Tindakan memilih strategi atau aksi yang diyakini manajer akan memberikan solusi terbaik atas sesuatu itu disebut pengambilan keputusan. Tujuan dari keputusan adalah untuk mencapai target atau aksi tertentu yang harus dilakukan. Kriteria atau ciri-ciri dari keputusan adalah: 1. Banyak pilihan/alternatif. 2. Ada kendala atau syarat. 3. Mengikuti suatu pola/model tingkah laku, baik yang terstruktur maupun tidak terstruktur. 4. Banyak input/variabel. 5. Ada faktor resiko. 6. Dibutuhkan kecepatan, ketepatan, dan keakuratan (Kusrini, 2007 dalam Saputra, 2009).
2.6.3 Pengertian Sistem Pendukung Keputusan Definisi Sistem Pendukung Keputusan menunjukan Sistem Pendukung Keputusan sebagai sebuah sistem yang dimaksudkan untuk mendukung para pengambil keputusan manajerial dalam situasi keputusan semistruktur. Sistem Pendukung Keputusan dimaksudkan untuk menjadi alat bantu bagi para pengambil keputusan untuk memperluas kapabilitas mereka, namun tidak untuk menggantikan penilaian mereka. Sistem Pendukung Keputusan ditujukan untuk
29
keputusan-keputusan yang memerlukan penilaian atau pada keputusan-keputusan yang sama sekali tidak dapat didukung oleh algoritma (Turban, 2005 dalam Ramdhani, 2012). Little (1970) mendefinisikan Sistem Pendukung Keputusan sebagai “sekumpulan prosedur berbasis model untuk data pemrosesan dan penilaian guna membantu para manajer mengambil keputusan”. Dia menyatakan bahwa untuk sukses, sistem tersebut haruslah sederhana, cepat, mudah dikontrol, adaptif, lengkap dengan isu-isu penting dan mudah berkombinasi. Tata Sutabri (2005) dalam bukunya “Sistem Informasi Manajemen” mengatakan bahwa “dibandingkan dengan Executive Support System (ESS), Sistem Pendukung Keputusan memang lebih luas wawasannya karena pada umumnya program Sistem Pendukung Keputusan mempunyai kemampuan ESS ditambah kemampuan analisis, meskipun tidak mempunyai kemampuan penyajian presentasi sebagus ESS. Definisi Sistem Pendukung Keputusan dapat ditulis sebagai rangkuman sistem komputer yang digunakan untuk membantu manajer membuat keputusan”.
2.6.4 Komponen Sistem Pendukung Keputusan Aplikasi sistem pendukung keputusan terdiri dari beberapa subsistem sebagai berikut: a. Subsistem manajemen data Subsistem manajemen data memasukkan satu database yang berisi data yang relevan untuk situasi dan dikelola oleh perangkat lunak yang
30
disebut DBMS (Database Management System). Subsistem manajemen data dapat diinterkoneksikan dengan data warehouse perusahaan, suatu repositori untuk data perusahaan yang relevan untuk mengambil keputusan. Subsistem manajemen data terdiri dari elemen-elemen berikut ini: 1) Database Database adalah kumpulan data yang saling terkait yang diorganisasi untuk memenuhi kebutuhan dan struktur sebuah organisasi dan dapat digunakan oleh lebih dari satu orang untuk lebih dari satu aplikasi. 2) Database Management System Database dibuat, diakses, dan diperbarui oleh sebuah DBMS (Database Management System). Sistem pendukung keputusan dibuat dengan sebuah DBMS relasional standar yang memberikan berbagai kemampuan, diantaranya adalah: a) Mengcapture atau mengekstrak data untuk masuk kedalam sebuah database sistem pendukung keputusan. b) Memperbarui record data dan file. c) Membuat data dari berbagai sumber dapat saling terhubung. d) Mendapatkan kembali data dari database untuk query dan laporan. e) Memberikan keamanan data yang komprehensif.
31
f) Menangani data personal dan tidak resmi sehingga para pengguna dapat bereksperimen dengan berbagai solusi alternatif, berdasarkan penilaian mereka sendiri. g) Melakukan tugas-tugas manipulasi data yang rumit berdasarkan query. h) Melacak data yang digunakan dalam sistem pendukung keputusan. i) Mengelola data melalui sebuah kamus. 3) Direktori data Direktori data merupakan sebuah katalog dari semua data didalam database. Direktori data berisi definisi data, dan fungsi utamanya adalah untuk menjawab pertanyaan mengenai ketersediaan item-item data, sumbernya dan makna eksak dari data. 4) Fasilitas query Fasilitas query bertugas untuk menyediakan akses manipulasi dan query data. Selain itu juga harus dapat menentukan bagaimana permintaan data dapat dipenuhi, memformulasi permintaan data dengan detail, dan menampilkan hasilnya pada pemintaan data.
b. Subsistem perangkat analisis 1) What-if analysis Analisis ini digunakan untuk mengetahui apa yang terjadi apabila satu atau beberapa variabel berubah.
32
2) Sensitivity analysis Analisis ini digunakan untuk mengetahui pengaruh perubahan suatu variabel terhadap variabel yang lain. Analisis ini akan melakukan perubahan secara berkali-kali terhadap suatu variabel, sehingga dapat diketahui apakah pengaruhnya konsisten atau tidak. 3) Goal-seeking analysis Analisis ini digunakan untuk mencari solusi terbaik (misalnya laba tertinggi atau biaya terendah atau waktu tersingkat) dari suatu masalah. 4) Optimization analysis Analisis ini digunakan untuk mencari solusi yang paling menguntungkan bagi perusahaan, dan mirip dengan goal-seeking analysis.
Analisis
ini
biasanya
memanfaatkan
perhitungan
menggunakan linier programming.
Gambar 2.1 Komponen DSS yang berupa alat analisis
33
2.6.5 Tahap Pembuatan Keputusan Cara orang membuat keputusan bisa berbeda-beda, tergantung kepada sifat keputusan yang akan dibuat, keadaan saat timbul masalah, atau kebiasaan orang yang membuat keputusan. Menurut Herbert A. Simon, pembuatan keputusan melibatkan empat langkah, seperti tampak pada Gambar 2.2.
Gambar 2.2 Tahap Pembuatan Keputusan Tahap intelligence adalah tahap pengakuan adanya masalah. Masalah dapat merupakan persoalan maupun kesulitan yang muncul dalam kehidupan organisasi, atau dapat juga merupakan persoalan yang ditimbulkan sendiri oleh pembuat keputusan. Tahap intelligence merupakan tahap yang paling penting dari tahapantahapan pembuatan keputusan yang lain. Tahap design adalah tahap perancangan berbagai alternatif yang akan dipilih.
34
Tahap choice adalah tahap memilih salah satu diantara berbagai alternatif yang sudah disiapkan dalam tahap design. Dalam tahap ini, pembuat keputusan akan menggunakan model pemilihan alternatif. Setelah memutuskan untuk memilih salah satu alternatif, maka manajemen akan melaksanakan keputusan itu. Tahap ini merupakan tahap implementation (Winarno, 2004 dalam Saputra, 2009). Dalam mengambil keputusan dilakukan langkah-langkah sebagai berikut: 1. Identifikasi masalah. 2. Pemilihan metode pemecahan masalah. 3. Pengumpulan data yang dibutuhkan untuk melaksanakan model keputusan tersebut. 4. Mengimplementasikan model tersebut. 5. Mengevaluasi sisi positif dari setiap alternatif yang ada. 6. Melaksanakan solusi yang ada.
2.7
Metode TOPSIS (Technique For Order Preference By Similarity To Ideal Solution) TOPSIS didasarkan pada konsep dimana alternatif terpilih yang terbaik tidak
hanya memiliki jarak terpendek dari solusi ideal positif, namun juga memiliki jarak terpanjang dari solusi ideal negatif (Hwang, 1981) (Zeleny, 1982). Konsep ini banyak digunakan pada beberapa model MADM untuk menyelesaikan masalah keputusan secara praktis (Hwang, 1993) (Liang, 1999) (Yeh, 2000). Hal ini disebabkan konsepnya sederhana dan mudah dipahami; komputasinya efisien; dan
35
memiliki kemampuan untuk mengukur kinerja relatif dari alternatif-alternatif keputusan dalam bentuk matematis yang sederhana.
2.7.1 Prosedur TOPSIS Secara umum, prosedur TOPSIS mengikuti langkah-langkah sebagai berikut: 1. Membuat matriks keputusan yang ternormalisasi; 2. Membuat matriks keputusan yang ternormalisasi terbobot; 3. Menentukan matriks solusi ideal positif dan solusi ideal negatif; 4. Menentukan jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matriks solusi ideal negatif; 5. Menentukan nilai preferensi untuk setiap alternatif; a. Decision matrix D mengacu terhadap m alternatif yang akan dievaluasi berdasarkan kriteria yang didefinisikan sebagai berikut: [
]
b. Dengan xij menyatakan performansi dari perhitungan untuk alternatif ke-i terhadap atribut ke-j.
36
2.7.2 Langkah-langkah Metode TOPSIS 1. Membangun normalized decision matrix. Elemen rij hasil dari normalisasi decision matrix R dengan metode Euclidean length of a vector adalah:
√∑ 2. Membangun weighted normalized decision matrix. Solusi ideal positif A+ dan solusi ideal negative A- dapat ditentukan berdasarkan rating bobot ternormalisasi (yij) sebagai:
4. Menentukan jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matrik solusi ideal negatif. Jarak antara alternatif Ai dengan solusi ideal positif dirumuskan sebagai: √∑
(
)
Jarak antara alternatif Ai dengan solusi ideal negatif dirumuskan sebagai: √∑
(
)
37
5. Menentukan nilai preferensi untuk setiap alternatif. Kedekatan setiap alternatif terhadap solusi ideal dihitung berdasarkan rumus:
2.8
Model Proses Sistem
2.8.1 Pandangan Umum Tentang Rekayasa Sistem Usaha yang berhubungan dengan rekayasa sistem dapat dikategorikan ke dalam tiga fase umum dengan tanpa mempedulikan area aplikasi, ukuran proyek atau kompleksitasnya. Masing-masing fase akan memberikan tekanan pada pertanyaan-pertanyaan: 1. Fase definisi (Definition Phase) berfokus pada “apa” (what) dimana pada definisi ini pengembang sistem harus mengidentifikasi informasi apa yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku system seperti apa yang diharapkan, interface apa yang akan dibangun, batasan desain apa yang ada dan kriteria validasi apa yang dibutuhkan untuk mendefinisikan sistem yang sukses. Kebutuhan (requirement) kunci dari sistem dan perangkat lunak yang didefinisikan. Metode yang diaplikasikan selama fase definisi berbeda, tergantung pada paradigma rekayasa perangkat lunak (atau kombinasi paradigma) yang diaplikasikan. 2. Fase Pengembangan (Development Phase) berfokus pada how (bagaimana), yaitu dimana selama masa pengembangan sistem, teknisi
38
harus mendefinisikan bagaimana data dikonstruksikan, bagaimana detil prosedur akan diimplementasikan, bagaimana interface ditandai dll. 3. Fase Pemeliharaan (Maintenance Phase) berfokus pada perubahan yang dihubungkan dengan koreksi kesalahan, penyesuaian yang dibutuhkan ketika lingkungan sistem berkembang, serta perubahan sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan.
2.8.2 Model Sekuensial Linier (Waterfall) Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing dan maintenance (diperlihatkan pada Gambar 2.3). Sesuai dengan namanya waterfall (air terjun) maka tahapan dalam model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya (lihat tanda anak panah). Selain itu dari satu tahap kita dapat kembali ke tahap sebelumnya. Model ini biasanya digunakan untuk membuat sebuah software dalam skala besar dan yang akan dipakai dalam waktu yang lama.
39
Gambar 2.3 Pengembangan Perangkat Lunak dengan Model Waterfall Pada metode pengembangan waterfall terdapat beberapa proses yaitu: 1. Rekayasa dan pemodelan sistem/informasi Karena perangkat lunak selalu merupakan bagian dari sebuah sistem (bisnis) maka langkah pertama dimulai dengan membangun syarat semua elemen sistem dan mengalokasikan ke perangkat lunak dengan memeperhatikan hubungannya dengan manusia, perangkat keras dan database. 2. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan difokuskan khususnya untuk perangkat lunak, perekayasa perangkat lunak (Analis) harus memahami domain permasalahan (problem domain), tingkah laku, unjuk kerja dan antarmuka (interface) yang diperlukan.
Kebutuhan
baik
untuk
sistem
maupun
perangkat
lunak
didokumentasikan dan dilihat lagi dengan pelanggan. 3. Desain Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda (struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Proses desain menerjemahkan syarat/kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode (coding). Sebagaimana analisis, desain ini juga didokumentasikan.
40
4. Generasi kode Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode meliputi pekerjaan dalam langkah ini, dan dapat dilakukan secara mekanis. 5. Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan seudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi karena kesalahan-kesalahan karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi. Khusus untuk tahap pemeliharaan tidak dilakukan, karena tahap pengembangan perangkat lunak hanya akan sampai tahap pengujian.
2.9
Pemodelan Data
2.9.1 Diagram Konteks (Context Diagram) Diagram konteks merupakan alat pemodelan atau suatu diagram yang menggambarkan sistem berbasis komputer yang dirancang secara global dan
41
merupakan suatu diagram alir data tingkat atas, dimana didalam diagram konteks ini menggambarkan seluruh jaringan, baik masukan maupun sebuah keluaran sebuah sistem. Diagram konteks terdiri dari sebuah simbol proses tunggal yang menggambarkan sebuah sistem dan menunjukan data aliran utama untuk dan dari terminator. Diagram ini merupakan dasar yang digunakan untuk menentukan aliran data yang mengalir menuju sistem (input system) dan keluar dari sistem (output system), yang meliputi objek berupa kesatuan luar (ekseternal entity). Diagram konteks dapat mendefinisikan jangkauan proses penurunan sistem informasi yaitu menetukan apa yang menjadi bagian dari sistem informasi dan apa yang tidak menjadi bagian sistem informasi.
2.9.2 Diagram Alir Data (Data Flow Diagram) Diagram Aliran Data memodelkan kejadian dan proses (aktifitas yang mengubah data) dalam sebuah sistem. Dari DFD dapat terlihat bagaimana data mengalir kedalam, keluar dan didalam sistem tersebut. DFD merupakan alat yang digunakan pada metodelogi pengembangan sistem yang terstruktur. DFD merupakan alat yang cukup populer, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Lebih lanjut DFD merupakan dokumentasi dari sistem yang baik. Beberapa simbol yang digunakan dalam Data Flow Diagram (DFD) antara lain terlihat pada Tabel 2.1.
42
Tabel 2.1 Simbol-Simbol DFD No
Simbol
1
Keterangan External Entity a) Merupakan simbol entitas eksternal untuk menunjukkan tempat asal data (sumber) atau tempat tujuan data (Tujuan). b) Nama entitas eksternal (terminator) ditulis dalam bentuk tunggal.
2
Arus Data (Flow) a) Menunjukkan alur data (informasi/objek) yang mengalir. b) Nama alur data menunjukkan nama dari data yang mengalir tersebut, dan bisa lebih dari satu.
3
Proses Proses n
a) Menunjukkan tugas atau proses yang dilakukan baik secara manual atau otomatis. b) Simbol Proses ini tidak hanya menunjukkan alur data yang keluar dari proses tersebut, tetapi juga menunjukkan alur data yang masuk dalam proses ini. c) Nama proses hendaknya berupa kalimat perintah yang berupa kata kerja aktif dan diikuti oleh klausa objek untuk menjelaskan proses tersebut.
4
Simpanan Data (Data Store) a) Terlepas dari media penyimpanan fisik, simbol ini menunjukkan gudang informasi atau data. b) Sangat sering terjadi bahwa unsur-unsur data tidak berjalan dari suatu proses ke proses berikutnya secara langsung, melainkan disimpan terlebig dahulu, sementara operasi lainnya atau penyusunan ulang unsur-unsur data berlangsung.
43
2.9.3 Bagan Alir (Flowchart) Flowchart merupakan grafik formal yang menggambarkan urutan logis dari pekerjaan suatu proyek atau proses. Setiap notasi flowchart memiliki arti khusus. Bagan, nama dan fungsinya yang bisa dilihat pada Tabel 2.2. Tabel 2.2 Simbol-Simbol Flowchart Simbol
Arti
Definisi
Oval
Terminasi atau Start, menunjukan awal atau akhir bagan alir
Aliran Data Aliran data fisik dari satu bagan ke bagan yang lain Data
Rectangle
Suatu proses input dan output
Menunjukan
suatu
proses
yang
keputusan
atau
digunakan Diamond
Notasi
suatu
percabangan, sehingga hanya dipilih salah satu.
Keterangan: 1. Tanda Oval, biasanya disebut sebagai start and end symbol. Biasanya diberi nama “Mulai” dan “Selesai”, atau “Start” dan “End”. Ataupun frase lain yang menunjukkan bahwa program/bagan alir tersebut mulai dan selesai. 2. Diamond sebagai tanda pemilihan adalah Conditional (or decision). Simbol ini mengandung pertanyaan Yes atau No atau Ya atau Tidak atau Benar atau Salah. Simbol ini memiliki dua simbol aliran data yang keluar, biasanya dari
44
sudut yang bawah dan sudut yang kanan, satunya menyatakan “Benar (true)” dan satunya menyatakan “Salah (false)”.
2.9.4 Entity Relationship Diagram (ERD) Diagram ER adalah diagram yang berisi komponen-komponen Himpunan Entitas dan Himpunan Relasi yang masing-masing dilengkapi dengan atributatribut yang merepresentasikan seluruh fakta dari ‘dunia nyata’ yang kita tinjau. Setiap simbol ERD memiliki arti khusus. Bagan, nama dan fungsinya yang bisa dilihat pada Tabel 2.3. Tabel 2.3 Simbol-Simbol ERD No 1
Simbol
Arti Entitas
Definisi a) Entitas/Entity adalah sesuatu yang dibedakan dalam dunia nyata, diman informasi
yang
berkaitan dengannya dikumpulkan. Entity set (Himpunan entitas) adalah kumpulan dari entity yang sejenis, berupa proyek, kendaraan, pegawai, konsumen,
pemasok,
penjualan
dan
lain
sebagainya. Suatu kumpulan objek atau sesuatu yang dapat dibedakan atau didefinisikan secara unik. 2
Relationship
a) Hubungan yang terjadi antara satu atau lebih entity. b) Relationship tidak mempunyai keberadaan fisik kecuali yang diwarisi dari hubungan antara entity tersebut.
45
No
Simbol
Arti
3
Atribut
Definisi a) Karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship tersebut. b) Nilai atribut (Attribute value) adalah suatu data aktual atau informasi tertentu yang disimpan pada tiap
atribut
di
dalam
suatu
entitas
atau
relationship (Nonkey attribute). Identifier (key) digunakan untuk menentukan suatu entity secara unik. Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik. 4
Atribut Kunci ______
a) Atribut yang digunakan untuk menentukan suatu entity secara unik.
5
a) Atribut yang memiliki sekelompok nilai untuk setiap instant entity
2.9.5 Kamus Data Kamus data tidak menggunakan notasi garis sebagaimana DFD, tetapi porsinya dalam memodelkan sistem yang tidak perlu diragukan lagi karena sebuah model tidak lengkap tanpa kamus data. Kamus data berfungsi mencari kata arti kata baru, membantu pelaku sistem untuk mengerti aplikasi secara detail dan mengorganisasikan semua elemen data yang digunakan dalam sistem secara presisi sehingga pemakai dan penganalisa sistem punya dasar pengertian yang sama
tentang
masukan,
keluaran
dan
proses.
Dan
digunakan
untuk
46
mendeskripsikan data sesungguhnya maupun penyimpanan data yang ada pada Data Flow Diagram (DFD). Atribut dari kamus data meliputi: Nama, Deskripsi, Sumber dan Tujuan serta Struktur Data.
2.10 Entity, Atribut dan Relationship 2.10.1 Entity Entity adalah objek yang mempunyai eksistensi dan terdefinisi dengan baik. Himpunan entity yang sejenis disebut entity set. Untuk model dari ER digambarkan dengan simbol 4 persegi panjang. Sedangkan relationship set yang merupakan hubungan yang terjadi antara entity set. Gambar 2.4 dengan simbol layang-layang. Praktikan
Mengambil
Mata Kuliah
Gambar 2.4 Contoh Entity Daftar Praktikum
2.10.2 Atribut 1. Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. 2. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. a. Jenis – Jenis Atribut 1. Key: Atribut yang digunakan untuk menentukan suatu entity secara unik. 2. Atribut Simple: Atribut yang bernilai tunggal.
47
3. Atribut Multivalue: Atribut yang memiliki sekelompok nilai untuk setiap instan entity. Tampilannya terlihat seperti pada Gambar 2.5. TglLahir
Ge Gelar
Nama
NIP
Dosen Gambar 2.5 Contoh Atribut Multivalue 4. Atribut Composite: Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu. Tampilannya terlihat seperti pada Gambar 2.6. Nama Depan
Nama Tengah
Nama Belakang
NAMA
DOSEN Gambar 2.6 Contoh Atribut Composite 5. Atribut Derivatif: Suatu atribut yang dihasilkan dari atribut yang lain. Tampilannya terlihat seperti pada Gambar 2.7.
48
Tgl Lahir
Umur
Dosen Gambar 2.7 Contoh Atribut Derivatif
2.10.3 Relationship Menurut Kristanto, Harianto (1994:35) bentuk relasi antar file dapat dikategorikan menjadi tiga macam yaitu: a. Hubungan satu lawan satu (One To One Relationship) Hubungan satu lawan satu mempunyai ciri-ciri: 1. Hubungan antara file pertama dengan file kedua adalah satu berbanding satu. 2. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan tabel dan relasi antara keduanya diwakilkan dengan tanda panah tunggal. Contoh: Pada nomor induk siswa, dimana siswa hanya memiliki satu nomor induk siswa dan nomor induk siswa hanya dimiliki oleh seorang siswa.
Gambar 2.8 Hubungan Satu Lawan Satu
49
b. Hubungan satu lawan banyak (One To Many Relationship) Hubungan satu lawan banyak mempunyai ciri-ciri: 1. Hubungan antara file pertama dengan file kedua adalah satu berbanding banyak atau dapat dibalik banyak lawan satu. 2. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan tabel dan relasi antara keduanya diwakilkan dengan tanda panah ganda. Contoh: Pada sistem pengajaran di sekolah dasar, dimana satu guru mengajar banyak siswa dan siswa hanya diajar oleh satu guru.
Gambar 2.9 Hubungan Satu Lawan Banyak c. Hubungan banyak lawan banyak (Many To Many Relationship) Hubungan banyak lawan banyak mempunyai ciri-ciri: 1. Hubungan antara file pertama dengan file kedua adalah banyak berbanding banyak. 2. Hubungan tersebut dapat digambarkan dengan tanda lingkaran untuk menunjukkan tabel dan relasi antara keduanya diwakilkan dengan tanda panah ganda untuk menunjukkan hubungan banyak tersebut. Contoh: Pada sistem pengajaran di perguruan tingi, dimana satu guru mengajar banyak siswa dan siswa diajar oleh banyak guru.
50
Gambar 2.10 Hubungan Banyak Lawan Banyak
2.11 Bahasa Pemrograman 2.11.1 PHP PHP singkatan dari Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan web yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien. PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenis. PHP difokuskan pada pembuatan script server-side, yang bisa melakukan apa saja yang dapat dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis dan kemampuan mengirim serta menerima cookies, bahkan lebih dari pada kemampuan CGI. PHP tidak terbatas pada hasil keluaran HTML (Hypertext Markup Language). PHP juga memiliki kemampuan untuk mengolah keluaran gambar, file PDF dan movies Flash. PHP juga dapat menghasilkan teks seperti XHTML dan file XML lainnya. Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungannya terhadap banyak database seperti Adabas D, dbase, Direct MS-SQL, Empress,
FrontBase,
(Peranginangin, 2006).
MYSQL,
ADBC,
Oracle
Sybase,
dan
lain-lain.
51
Sintaks program/script PHP ditulis dalam apitan tanda khusus PHP. Ada empat macam pasangan tag PHP yang dapat digunakan untuk menandai blok script PHP. 1. 2. <script language = “PHP”> … 3. … ?> 4. <% … %> Saat ini banyak website yang menggunakan program PHP sebagai dasar pengolahan data. Beberapa keunggulan yang dimiliki program PHP adalah: 1. PHP memiliki tingkat akses yang lebih cepat 2. PHP memiliki tingkst lifecycle yang cepat sehingggaselalu mengikuti perkembangan teknologi internet. 3. PHP mampu berjalan di beberapa server yang ada, misalnya Apache, Microsoft IIS, PWS, AOLServer, phttpd, fhttpd, dan Xitami. 4. PHP mampu berjalan di LINUX sebagai platformsistem operasi utama bagi PHP, namun juga dapat berjalan di FreeBSD Unix, Solaris, Windows, dan yang lain. 5. PHP juga mendukung akses ke beberapa database yang sudah ada, baik yang bersifat gratis ataupun komersial. Database itu antara lain MySQL, PosgreSQL, mSQL, Informix, dan MicrosotSQL server. 6. PHP bersifat free atau gratis (Madcoms, 2009).
52
2.11.2 Fungsi Session Session digunakan untuk menyimpan data sementara setiap pengunjung atau pelanggan. Selain itu, data session juga dibutuhkan untuk membedakan user yang satu dengan yang lainnya. Pada pembuatan aplikasi sistem pendukung keputusan kelayakan pemberian kredit manfaat session antara lain membatasi pengaksesan halaman, misalnya beberapa halaman hanya bisa dibuka oleh admin dan subadmin. Data session dapat dibuat sebagai variabel yang akan terus aktif sepanjang user menggunakan aplikasi tersebut. Cara kerja session pada aplikasi sistem pendukung keputusan kelayakan pemberian kredit sebagai berikut: 1. Session dibuat menggunakan fungsi php session_start() setelah member berhasil login. 2. Data session kemudian dideklarasikan sebagai variabel yang isinya user id. Variabel tersebut akan dipakai pada halaman yang memerlukan validasi user dan akan dihapus ketika user logout.
2.11.3 HTML (HyperText Markup Language) HTML (HyperText Markup Language) adalah bahasa dengan tanda-tanda khusus yang digunakan diawal era web untuk menyajikan informasi. Kode HTML diawali dengan dan diakhiri dengan . Namun, sebelum diharuskan untuk diberikan deklarasi !DOCTYPE. Fungsi deklarasi ini adalah sebagai Public Text Identifier (Kadir, 2009). Berikut adalah beberapa hal peting dalam kode HTML:
53
1. Tanda <> menyatakan sebuah tag. 2. Pada umumnya tag berpasangan. Contoh dengan . 3. Tag yang tidak berpasangan antara lain adalah dan . 4. Pada tag yang berpasangan, tag yang berkedudukan sebagai tag penutupan mempunyai bentuk berupa >. Secara mendasar, dokumen HTML mempunyai susunan seperti berikut: Tabel 2.4 Struktur Penulisan Halaman Web dengan HTML
2.11.4 Cascading Style Sheet (CSS) CSS (Cascading Style Sheet) adalah pengaturan format standar halaman web yang direkomendasikan oleh W3C. CSS memiliki fungsi mengatur tampilan dari halaman web yang akan dibuat. Dengan menggunakan css, maka halaman web dapat memiliki tampilan yang sesuai dengan yang dikehendaki dan format penulisannyapun cukup mudah. Dalam penulisannya, css memiliki tiga macam format penulisan yaitu: a. External style sheet Cara penulisan external style sheet adalah dengan menliskan semua style yang dipakai pada suatu dokumen HTML yang terpisah
54
dengan dokumen HTML. Untuk mengakses file css pada dokumen HTML yang diinginkan maka pada bagian kepala dokumen HTML perlu
ditambahkan
tag
rel=”stylesheet”
type=”text/css”
href=”nama_file_css.css”/>. Pengunaan cara penulisan external style sheet lebih memiliki keuntungan daripada dua cara penulisan lainnya. Dengan menggunakan cara penulisan ini, maka 1 file css dapat dipakai untuk beberapa dokumen yang berbeda. Selain itu, dengan memisahkan file css dengan HTML, maka proses pengubaha masingmasing file menjadi lebih mudah karena antara file css dan HTML tidak saling tercampur. b. Internal style sheet Penulisan dengan menggunakan internal style sheet ini hampir sama dengan metode external style sheet, namun berbeda dengan external style sheet, style yang dipakai tidak ditulis terpisah dengan HTML melainkan langsung ditulis dibagian kepala HTML. Tabel 2.5 Struktur Penulisan Internal Style Sheet <style type="text/css"> hr {color: sienna} p {margin-left: 20px} body { background-image: url ("images/back40.gif")}
55
c. Inline style sheet Cara penulisan inline style sheet ini dilakukan dengan cara menuliskan langsung efek style yang ingin dipakai pada tag yang diinginkan di dokumen HTML dan diletakkan di bagian tubuh HTML. Sekilas cara ini tampak lebih mudah daripada cara lainnya. Tetapi bila style yang akan digunakan sama untuk setiap bagian atau dokumen HTML, maka cara ini sangat merepotkan karena style yang dipakai harus ditulis berulang kali pada tag yang diinginkan. Tabel 2.6 Struktur Penulisan Inline Style Sheet
This is a paragraph
2.11.5 JavaScript JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk di browser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program. Yang harus diperhatikan dalam pengelolaan pemrograman JavaScript, diantaranya JavaScript adalah “case sensitive”, yang artinya JavaScript
56
membedakan huruf besar dan huruf kecil. Jika Anda pernah belajar bahasa pemrograman seperti Turbo C atau C++, maka sama seperti bahasa pemrograman tersebut, dimana huruf T tidak sama dengan huruf t. Dalam bahasa pemrograman JavaScript juga, sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga tidak boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil semua). Perintah lain adalah new Date tidak boleh ditulis new date (huruf kecil semua), dsb. JavaScript bekerja pada sisi browser. maksudnya begini: untuk menampilkan halaman web, user menuliskan alamat web di address bar url. setelah itu, browser “mengambil” file html (dengan file JavaScript yang melekat padanya jika memang ada) ke server yang beralamat di URL yang diketikan oleh user. Selesai file diambil, file ditampilkan pada browser. Nah, setelah file JavaScript berada pada browser, barulah script JavaScript tersebut bekerja. Implementasi terpopuler saat ini dari pemrograman JavaScript adalah teknik AJAX. (Asynchronous JavaScript and XMLHTTP). Teknik ini sering digunakan oleh aplikasi berbasis web seperti Gmail, Google Reader, dan lain-lain. Teknik yang membuat pertukaran data antara server dan browser terjadi di belakang layar sehingga interaksi antara user dan aplikasi web semakin responsif. Post tersendiri untuk membahas hal ini akan kita siapkan.
2.12 Algoritma Message Digest 5 (MD5) Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart
57
Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat). Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan.
2.12.1 Cara Kerja MD5 MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit. Keluaran algoritma diset menjadi 4 blok yang masing-masing berukuran 32 bit yang setelah digabungkan akan membentuk nilai hash 128 bit.
2.12.2 Algoritma MD5 Pesan diberi tambahan sedemikian sehingga panjang menjadi k-bit, dimana k = 512n – 64 bit. n merupakan blok masukan. Tambahan ini diperlukan hingga pesan menjadi k bit. Kemudian 64 bit yang masing kosong, dibagian akhir, diisi panjang pesan. Inisiasi 4 variabel dengan panjang 32 bit yaitu a,b,c,d. Variabel a,b,c,d dikopikan ke variabel a,b,c,d yang kemudian diolah melalui 4 tahapan yang sangat serupa. Setiap tahapan menggunakan 16 kali operasi berbeda,
58
menjalankan fungsi nonlinear pada tiga variabel a,b,c, atau d. Hasilnya ditambahkan ke variabel keempat, subblok pesan dan suatu konstanta. Kemudian dirotasi kekiri beberapa bit yang kemudian ditambahkan ke salah satu dari a,b,c, atau d. Kemudian nilai a,b,c, dan d menggantikan nilai a,b,c, dan d. Kemudian dikeluarkan output yang merupakan gabungan dari a,b,c, dan d. Fungsi kompresi yang digunakan oleh algoritma md5 adalah a ← b + (( a + g ( b,c,d) + X[k] + T[i] <<< s ), dimana g adalah salah fungsi primitif F,G,H,I.
2.13 Basis Data Basis data (Database) dapat dibayangkan sebagai sebuah lemari arsip yang ditempatkan secara berurutan untuk memudahkan dalam pengambilan kembali data tersebut. Basis data menunjukkan suatu kumpulan data yang dipakai dalam suatu lingkungan perusahaan atau instansi. Penerapan basis data dalam sistem informasi disebut sebagai sistem basis data (database system). Basis data terdiri dari kata basis dan data. Menurut (Fathansyah, 2001) Basis Data diartikan sebagai gudang atau tempat bersarang dan Data yang berarti representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
59
Atau bisa diartikan sebagai kumpulan file atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elekronis. Adapun cara berinteraksi / berkomunikasi antara pemakai dan basisdata tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai Bahasa Basisdata yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali / diproses oleh DBMS untuk melakukan suatu aksi / pekerjaan tertentu. Sebuah bahasa basisdata biasanya dapat dipilah ke dalam 2 bentuk, yaitu: 1. Data Definition Language (DDL) Struktur atau skema basisdata yang menggambarkan/mewakili desain basisdata secara keseluruhan dispesifikasikan dengan bahasa khusus yang disebut Data Definition Language (DDL). Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). 2. Data Manipulation Language (DML) Data Manipulation Language (DML) merupakan bentuk bahasa basisdata yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basisdata. Manipulasi dapat berupa: a. Penyisipan / penambahan data baru ke suatu basisdata. b. Penghapusan data dari suatu basisdata. c. Pengubahan data di suatu basisdata.
60
2.13.1 Normalisasi Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basisdata relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal. Sebuah basisdata dapat dikatakan baik, jika setiap tabel yang menjadi unsur pembentuk basisdata tersebut juga telah berada dalam keadaan baik atau normal. Selanjutnya, sebuah tabel dapat dikategorikan baik jika telah memenuhi beberapa kriteria berikut: 1. Lossless – Join Decomposition Dekomposisi memang merupakan upaya untuk mendapatkan tabel yang baik. Tetapi jika tidak hati-hati, upaya ini justru dapat menghasilkan kesalahan. Dekomposisi yang benar terjadi jika tabel-tabel hasil dekomposisi kita
gabungkan
kembali
dapat
menghasilkan
tabel
awal
sebelum
didekomposisi. 2. Dependency Preservation Dependency Preservation merupakan kriteria kedua yang harus dicapai untuk mendapatkan tabel dan basisdata yang baik. Ketika kita melakukan perubahan data, maka harus bisa dijamin agar perubahan tersebut tidak menghasilkan inkosistensi data yang mengakibatkan KF yang sudah benar menjadi tidak terpenuhi. 3. Boyce-Codd Normal Form (BCNF) Kriteria berikutnya untuk mendapatkan tabel yang baik adalah dengan menerapkan Boyce-Code Normal Form (BCNF). Sebuah tabel dapat dikatakan
61
berada dalam Boyce-Code Normal Form (BCNF) jika untuk semua KF dengan notasi X → Y, maka X harus merupakan superkey pada tabel tersebut. Jika tidak demikian, maka tabel tersebut harus didekomposisi berdasarkan KF yang ada, sedemikian hingga X menjadi superkey dari tabel-tabel hasil dekomposisi. 4. Bentuk Normal Tahap Ketiga (3rd Normal Form) Bentuk Normal Tahap Ketiga (3NF) merupakan kriteria alternatif, jka kriteria BCNF yang ketat tidak dapat terpenuhi. Sebuah tabel dikatakan berada dalam bentuk normal tahap ketiga (3NF), jika untuk setiap KF dengan notasi X → A, dimana A mewakili semua atribut tunggal di dalam tabel yang tidak ada di dalam X, maka: a. X haruslah superkey pada tabel tersebut. b. Atau A merupakan bagian dari key primer pada tabel tersebut. 5. Bentuk Normal Tahap Pertama (1st Normal Form) Bentuk Normal Form Pertama (1NF) terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (Multivalued Attribute) atau lebih dari satu atribut dengan domain nilai yang sama.
6. Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk Normal Tahap Kedua (2NF) terpenuhi jika pada sebuah tabel, semua atribut yang tidak termasuk dalam key primer memiliki ketergantungan fungsional (KF) pada key primer secara utuh. Sebuah tabel dikatakan tidak
62
memenuhi 2NF, jika ketergantungannya hanya bersifat parsial (hanya tergantung pada sebagian dari key primer). 7. Bentuk Normal Tahap Keempat (4th Normal Form) dan Bentuk Normal Tahap Kelima (5th Normal Form) Penerapan aturan normalisasi sampai dengan tahap ketiga sesungguhnya sudah sangat memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Namun demikian, dari sejumlah literatur dapat pula kita jumpai adanya pembahasan tentang Bentuk Normal Tahap Keempat (4NF) dan Bentuk Normal Tahap Kelima (5 NF). Bentuk Normal Tahap Keempat berkaitan dengan sifat Ketergantungan Banyak-Nilai (Multivalued Dependency) pada suatu tabel yang merupakan pengembangan dari Ketergantungan Fungsional. Sedangkan Bentuk Normal Tahap Kelima merupakan nama lain dari ProjectJoin Normal Form (PJNF) berkenaan dengan Ketergantungan Relasi antar Tabel (Join Dependency) (Fathansyah, 1999).
2.13.2 Database Management Sistem (DBMS) Pengelolaan basisdata secara fisik tidak dilakukan oleh pemakai secara langsung tetapi ditangani oleh sebuah perangkat lunak atau sistem yang khusus atau spesifik. Sistem ini yang menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. Disamping itu sistem ini juga menerapkan mekanisme pengaman data, pemakaian data secara bersama, pemaksaan keakuratan atau konsistensi data tersebut.
63
Perangkat lunak yang termasuk DBMS misalnya dBase II +, dBase IV, FoxBase, Rbase, MS-Access dan Borland Paradox atau Borland-Interbase, MSSQL Server, CA-Open, Oracle, Informix dan Sybase. Sumber dari informasi adalah data. Data merupakan fakta-fakta atau pesan-pesan yang belum dievaluasi atau bahan mentah dari informasi yang melalui pengolahan tertentu dibentuk menjadi suatu informasi. Data terbentuk dari karakter-karakter yang dapat berupa alfabet, angka maupun simbol khusus. Data disusun untuk diolah dalam bentuk struktur data, struktur file dan database. Database Management System (DBMS) merupakan perantara bagi pemakai dengan basisdata dalam disk. Cara berinteraksi atau berkomunikasi antara pemakai dengan basisdata tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai bahasa basisdata yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali atau diproses oleh DBMS untuk melakukan suatu aksi atau pekerjaan tertentu. Contoh-contoh bahasa basis data adalah SQL, dBase, QUEL dan sebagainya. Sebuah bahasa basisdata biasanya dapat dikelompokkan kedalam dua bentuk, yaitu: a. Data Definition Language (DDL) dan b. Data Manipulation Language (DML)
64
2.13.3 MySQL MySQL merupakan software yang tergolong sebagai DBMS (Database Management Sistem) yang bersifat Open Source. Open Source menyatakan bahwa ini dilengkapi dengan Source Code (kode yang dipakai untuk membuat MySQL), selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara men-download di Internet secara gratis. Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang dijelaskan dibawah ini: a. Multiplatform. b. MySQL tersedia pada beberapa platform (Windows, Linux, Unix). c. Andal, cepat, dan mudah digunakan. d. MySQL tergolong sebagai database server yang andal, dapat menangani database yang besar dengan kecepatan yang tinggi, mendukung banyak sekali fungsi untuk mengakses database, dan sekaligus mudah untuk digunakan. Perlu diketahui MySQL dapat menangani sebuah tabel yang berukuran dalam terabyte (1 terabyte = 1024 gigabyte). e. Jaminan keamanan akses. f. MySQL mendukung pengamanan database dengan berbagai kriteria pengaksesan. g. Seperti tersirat dalam namanya MySQL mendukung perintah SQL (Structure Query Language). SQL merupakan standar dalam pengaksesan database relasional. (Kadir, 2008)
65
2.14 Teknik Pengujian Pentingnya pengujian perangkat lunak mengacu pada kualitas perangkat lunak yang melibatkan sederetan aktivitas produksi dimana peluang terjadinya kesalahan manusia sangat besar dan karena ketidakmampuan manusia dalam melakukan komunikasi dengan sempurna terhadap kebutuhan yang diinginkan user maka pengembangan perangkat lunak harus diiringi dengan aktivitas jaminan kualitas dengan melakukan pengujian terhadap perangkat lunak tersebut. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak unuk mencari kesalahan yang terdapat pada perangkat lunak sebelum perangakat lunak tersebut digunakan. Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah: 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Untuk mendapatkan kesalahan pada perangkat lunak, digunakan beberapa teknik pengujian diantaranya: 1. Pengujian White-Box Pengujian white-box adalah metode desain yang meggunakan struktur kontrol desain procedural untuk memperoleh tase case. Dengan menggunakan metode pengujian white-box, perekayasa dapat melakukan test case yang:
66
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali. 2. Mengguanakan semua keputusan logis pada sisi true dan false. 3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional meraka. 4. Menggunkan struktur data internal untuk menjamin validasinya. Berikut ini adalah teknik pengujian dari white-box yaitu: 1. Uji Coba Basis Path Merupakan teknik uji coba white box yang diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran
kekomplekan
logical
dari
perancangan
prosedural
dan
menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.
2. Notasi Flow Graph
Gambar 2.11 Notasi Flow Graph
67
Lingkaran (node), menggambarkan satu/lebih perintah prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu node. Tanda panah (edge), menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node. Region adalah daerah yang dibatasi oleh edge dan node.
3. Cyclomatic Complexity Cyclomatic complexity adalah metrik software yang menyediakan ukuran kuantitatif dari kekomplekan logikal program. Apabila digunakan dalam konteks metode uji coba basis path, nilai yang dihitung untuk cyclomatic complexity menentukan jumlah jalur independen dalam basis set suatu program dan memberi batas atas untuk jumlah uji coba yang harus dikerjakan untuk menjamin bahwa seluruh perintah sekurangkurangnya telah dikerjakan sekali. Cyclomatic complexity digunakan untuk mencari jumlah path dalam satu flow graph. Dapat dipergunakan rumusan sebagai berikut: 1. Jumlah region grafik alir sesuai dengan cyclomatic complexity. 2. Cyclomatix complexity V(G) untuk grafik alir dihitung dengan rumus: V(G) = E - N + 2 Dimana: E = jumlah edge pada grafik alir N = jumlah node pada grafik alir
68
3. Cyclomatix complexity V(G) juga dapat dihitung dengan rumus: V(G) = P + 1 Dimana: P = jumlah predicate node pada grafik alir
4. Graph Metric Graph metrik merupakan software yang dikembangkan untuk membantu ujicoba basis path atau struktur data. Graph metrik adalah matrik empat persegi yang mempunyai ukuran yang sama dengan jumlah node pada flow graph. Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan dan pemasukan data matrik berhubungan dengan hubungan (edge) antar node. Contoh sederhana pemakaian graph metrik dapat digambarkan sebagai berikut:
Gambar 2.12 Graph Matrik
69
2. Pengujian Black-Box Pengujian
Black-box
memungkinkan
perekayasa
perangkat
lunak
mendapatkan serangakaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut: 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi.