SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PEMBERIAN KREDIT DI KOPERASI ADIL Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer Oleh : Ni Ketut Munika NIM : 043124025 PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2008
132
Embed
SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PEMBERIAN KREDIT …repository.usd.ac.id/26372/2/043124025_Full.pdf · Sistem Pendukung Pengambilan Keputusan Pemberian Kredit di Koperasi Adil.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PEMBERIAN
KREDIT DI KOPERASI ADIL
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh :
Ni Ketut Munika
NIM : 043124025
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PEMBERIAN
KREDIT DI KOPERASI ADIL
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh :
Ni Ketut Munika
NIM : 043124025
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
i
CREDIT DECISION SUPPORT SYSTEM OF KOPERASI ADIL
A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain The Sarjana Sains Degree
in Computer Science Study Program
By :
Ni Ketut Munika
Student Id: 043124025
COMPUTER SCIENCE STUDY PROGRAM
DEPARTMENT OF MATHEMATICS
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
ii
PERSEMBAHAN
Karya ini jauh dari kata ‘SEMPURNA’,
Tapi apapun yang tertulis didalamnya akan ku persembahkan untuk :
IDA SHANG WIDI WASA & DHEWI MARIA
Aku percaya engkau selalu menyertaiku walaupun aku kadang jauh darimu
BAPAK & MEMEK (Blasius & Clara) Aku seperti sekarang ini karena kalian berdua, Bapak & memek adalah orang tua yang hebat, aku bangga jadi anak kalian berdua.
KAKAK – KAKAKKU
(Bli Pur, Bli Kadek, dan Bli Komang) Kalian semua kakak – kakak yang baik dan perhatian sekali,
aku bangga menjadi adik kalian. SEEGET PETEK Aku senang bisa mengenalmu, Kamu mewarnai hidup dan hari – hariku.
Teman-temanku Via, Putu, Amel, Fitri, Ayu, dan
Semua teman yang tidak dapat terucapkan satu per satu, yang mendukung dan manbantu dalam susah dan senang
Terima kasih semua!!!!!! I Love You All
v
ABSTRAK Ni Ketut Munika. 2008. Sistem Pendukung Pengambilan Keputusan Pemberian Kredit di Koperasi Adil. Skripsi. Progrm Studi Ilmu Komputer, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
Sistem pemberian kredit di Koperasi Adil yang masih manual, banyaknya kriteria yang digunakan untuk mempertimbangkan dan banyaknya anggota yang melakukan peminjaman membuat pihak koperasi (khususnya manajer) kewalahan untuk melayani anggotanya dan proses pemberian menjadi kurang efisien. Untuk mengatasi masalah tersebut dibangun Sistem Pendukung Pengambilan Keputusan untuk pemberian kredit yaitu sistem yang membantu pihak koperasi (manajer) dalam proses pemberian kredit.
Dalam sistem yang dibangun pada Koperasi Adil, pertimbangan (kriteria) yang digunakan berdasarkan prinsip – prinsip penilaian dunia perbankan yaitu 5C (Character, Capacity, Capital, Collateral, Condition). Sistem yang dibangun kriteria – kriterianya tidak hanya berpatokkan pada prinsip – prinsip diatas, tapi kriterianya dapat diupdate sesuai kebutuhan koperasi oleh administrator. Selain itu, sistem dapat memberi keputusan seorang anggota layak atau tidak layak mendapatkan kredit berdasarkan skor terakhir.
Sistem yang dibangun menggunakan bahasa program Delphi 7.0 dan database menggunakan mysql. Sistem yang dibangun digunakan oleh dua pihak yaitu administrator dan manajer. Dari hasil percobaan sistem yang telah dibangun dapat disimpulkan sebagai berikut : sistem dapat memberi kemudahan dalam memperoleh informasi, sistem menjadi lebih selektif dalam pemberian kredit, dan segi tampilan sistem tidak terlalu rumit, sistem dapat mengurangi resiko – resiko seperti kesalahan memutuskan, anggota tidak bertanggung jawab, dan pengembalian tidak tepat waktu.
vii
ABSTRACT Ni Ketut Munika. 2008. Decision Support System for Credit Extension In Adil Cooperation. Thesis. Computer Science Study Program, Faculty of Science and Technology, Sanata Dharma University, Yogyakarta.
System for credit extension in Adil cooperation that still manually, many criteria that used to consider and many members that have loan make cooperation (especially manager) have difficulties to serve members and credit extension process lack efficient. To solve the problems, Decision Support System for Credit Extension is constructed and the system helps cooperation (manager) in credit extension process.
In the system that was constructed on Adil Cooperation, consideration (criteria) that was used based on the evaluation principles of banking such as 5C (character, capacity, capital, collateral, condition). Criteria on the system that was constructed not only based on the principles, but the criteria can be updated according to cooperation needs by administrator. Otherwise, the system makes decision the member proper or not to get credit based the final score.
The system that was constructed used Delphi program language and database used mysql. The system is used by two directions (administrator and manager). Based on the result of experiment, the system that constructed was found conclusion such as the system can give ease in found the information, the system becomes more selective for credit extension, and interface of system is not difficult, the system can decrease some risks such as mistake of decision, the member is not responsible, and the member does not pay back on time.
viii
KATA PENGANTAR
Puji dan syukur kepada Tuhan yang masa mengetahui atas rahmat dan
kasih yang berlimpah sehingga penulis dapat menyelesaikan skripsi ini. Skripsi ini
ditulis untuk memenuhi salah satu syarat memperoleh gelar sarjana sains di
Program Studi Ilmu Komputer, Fakultas Sains dan Teknologi Universitas Sanata
Dharma.
Dalam penulisan skripsi ini, penulis menyadari ada banyak pihak yang
telah memberikan bantuan berupa bimbingan dan dorongan kepada penulis
dengan segenap pikiran, waktu dan tenaga. Oleh karena itu, dengan ketulusan dan
kerendahan hati, penulis mengucapkan terima kasih kepada :
1. Ibu A. Rita Widiarti S.Si, M.Kom selaku dosen pembimbing dan penguji
skripsi atas kesabaran, perhatian, pikiran, waktu dan tenaga dalam
memberikan bimbingan dan arahan selama proses mengerjaan skripsi
berlangsung.
2. Ibu P.H Prima Rosa, S.si, M.Sc selaku dosen penguji dan KaProDi Ilmu
Komputer untuk masukan yang berharga yang telah diberikan selama
proses mengerjakan skripsi dan ujian, atas dorongan dan semangat selama
masa perkuliahan.
3. Ibu Sri Hartati Wijono, S.Si, MKom selaku dosen penguji atas kritik dan
saran yang telah diberikan selama ujian.
4. Bapak Tukijo, Ibu Linda, dan Mas Susilo atas kerelaan dan kesabaran
dalam memberikan bantuan secara teknis kepada penulis.
x
5. Bapak Sugeng Iman Diryo, Bapak Mursidik dan semua pihak koperasi
yang telah membantu, meluangkan waktu, tenaga, dan pikiran dalam
proses mengerjakan skripsi.
6. Segenap dosen Universitas Sanata Dharma, khususnya Program Studi
Ilmu Komputer yang banyak berperan dalam proses belajar penulis di
Universitas Sanata Dharma.
7. Keluargaku tercinta : Blasius I Nyoman Mudung dan Clara Ni Wayan
Kurniati, Damianus I Wayan Purwanto dan Fransiska Hendra, Antonius I
Made Purnawan, Albertinus I Nyoman Sudiarta yang selalu
menyemangati, memperhatikan, mendoakan yang tulus dan tiada lelah.
8. Stefanus Sigit Purno Nugroho atas bantuan, semangat, perhatian, dan
cintanya selama ini.
9. Ni Putu Feronika Darmayanti atas dorongan semangat, bantuan, perhatian
dan doanya selama ini.
10. Teman – teman kost Flamboyan atas dukungan semangat, doa dan
perhatian kalian semua.
11. Teman – teman IKOM angkatan 2004 atas kerja sama, semangat,
perhatian dan doa kalian semua. Semoga angkatan 2004 selalu kompak.
12. Semua pihak yang tidak dapat disebutkan satu persatu yang telah banyak
berperan dalam penulisan skripsi ini dan perjalanan studi penulis.
Penulis menyadari masih banyak terdapat kekurangan dalam penulisan
skripsi ini. Oleh karena itu, penulis mengharapkan kritik dan saran demi
xi
DAFTAR ISI
HALAMAN JUDUL................................................................................................ i
HALAMAN JUDUL (Bahasa Inggris) ................................................................... ii
HALAMAN PERSETUJUAN............................................................................... iii
HALAMAN PENGESAHAN................................................................................ iv
HALAMAN PERSEMBAHAN ............................................................................. v
HALAMAN KEASLIAN KARYA ....................................................................... vi
ABSTRAK ............................................................................................................ vii
Pada tahapan ini seorang pemecah masalah mencoba mengembangkan
satu set alternatif jawaban yang berbeda serta mencari pendekatan –
pendekatan apa yang tersedia untuk memecahkan masalah seperti :
menyederhanakan fakta dan merumuskan hubungan seluruh variabel.
3. Tahap pemilihan (Choice)
Dalam tahap ini seorang pengambil keputusan memilih salah satu dari
jawaban – jawaban yang telah digariskan. Beberapa langkah – langkah
yang digunakan untuk memilih meliputi pencarian alternatif terbaik,
evaluasi alternatif solusi, dan rekomendasi solusi dari masalah yang
dihadapi.
12
4. Tahap implementasi
Dalam tahapan ini terdapat penerapan solusi yang direkomendasikan
agar dapat bekerja.
Realisasi Fase inteligensi
Sasaran organisasi Prosedur pemindaian dan penelitian Pengumpulan data Identifikasi masalah Kepemilikan masalah Klasifikasi masalah Pernyataan permasalahan
Fase Desain
Formulasi sebuah model Menentukan kriteria untuk dipilih Mencari alternatif Memprediksi dan mengukur hasil akhir
Fase Desain
Solusi untuk model Analisis sensitivitas Memilih alternatif terbaik Rencana Implementasi
Implementasi solusi
Kegagalan
Simplifikasi
Asumsi
Validasi Modal
Verifikasi, menguji solusi yang diusulkan.
Pernyataan masalah
Alternatif
solusi
Sukses
Gambar 2.1 Tahapan – tahapan Pengambilan Keputusan (Turban, 1995)
13
4. Karakteristik dan manfaat dari SPPK sebagai berikut :
Dilihat dari definisi SPPK yang belum jelas dan kenyataan yang ada
bahwa hanya sebagian dari karakteristik dan kemampuan yang diutamakan,
seperti pada gambar 2.2 Karakteristik dan kemampuan SPPK sebagai berikut :
1. SPPK memberikan dukungan untuk pengambilan keputusan, terutama
pada permasalah yang semi terstruktur dan tidak terstruktur, dengan
menyertakan penilaian manusia dan informasi terkomputerisasi.
2. Dukungan untuk semua level manajerial, antara manajer eksekutif puncak
sampai manajer yang terbawah.
3. Dukungan untuk individu maupun kelompok. Masalah yang kurang
terstruktur sering memerlukan keterlibatan individu dari departemen dan
tingkat organisasional yang berbeda atau bahkan dari organisasi lain.
4. Dukungan untuk keputusan independen dan sekuensial. Keputusan dapat
dibuat satu kali, beberapa kali atau berulang (dalam interval yang sama).
5. Dukungan untuk di semua tahapan proses pengambilan keputusan yaitu
penelusuran, desain, pemilihan.
6. Dukungan diberbagai proses dan gaya pengambilan keputusan.
7. Adaptivitas sepanjang waktu. Pengambilan keputusan seharusnya reaktif,
dapat menghadapi perubahan kondisi secara cepat, dan dapat
mangadaptasikan SPPK untuk menghadapi perubahan tersebut. SPPK
bersifat fleksibel sehingga pengguna dapat menambahkan, menghapus,
menggabungkan, mangubah, atau menyusun kembali elemen – elemen
14
dasar. SPPK juga fleksibel dalam hal memodifikasi untuk memecahkan
masalah lain yang sejenis.
8. Pengguna merasa seperti dirumah. Ramah pengguna, kapabilitas grafis
yang sangat kuat, dan antarmuka manusia – mesin interaktif dengan satu
bahasa alami sangat meningkatkan keefektifan SPPK.
9. Peningkatan terhadap keefektifan pengambilan keputusan (akurasi,
timeliness, kualitas) ketimbang pada efisiensinya (biaya pengambilan
keputusan). Ketika SPPK disebarkan, pengmabilan keputusan sering
menbutuhkan waktu lebih lama, tetapi keputusannya lebih baik.
10. Kontrol penuh oleh pengambil keputusan terhadap semua langkah proses
pengmabilan keputusan dalam memecahkan suatu masalah. SPPK secar a
khusus menekankan untuk mendukung pengambil keputusan, bukannya
menggantikan.
11. Penguna terakhir dapat mengembangkan dan memodifikasi sendiri sistem
sederhana. Sistem yang lebih besar dapat dibangun dengan bantuan ahli
sistem informasi.
12. Model - model digunakan untuk menganalisis situasi pengambilan
keputusan. Kapabilitas pemodelan memungkinkan eksperimen dengan
berbagai stragegi yang berbeda di bawah konfigurasi yang berbeda.
13. Akses disediakan untuk berbagai sumber data, format,dan tipe, mulai dari
sistem informasi geografis (SIG) sampai sistem berorientasi-objek.
14. Dapat dilakuan standalone yang digunakan oleh seorang pengambil
keputusan pada satu lokasi atau didistribusikan di satu organisasi
15
keseluruhan dan dibeberapa organisasi sepanjang rantai persedia. Dapat
diintegerasikan dengan SPPK lain atau aplikasi lain, dan dapat
didistribusikan secara internal dan eksternal dengan menggunakan
networking dan teknologi web.
1. Masalah semi terstruktur dan
tidak terstruktur2.
Mendukung manajer di semua level
3. Mendukung individu
dan kelompok
4. Keputusan yang saling
bergantung atau sekuensial
5. Mendukung
Inteligensi, desain, pilihan
6. Mendukung berbagai
proses keputusan gaya dan
7. Dapat beradaptasi dan
fleksibel
8. Mudah penggunaan
interaktif
14. Standalone,
integrasi, dan berbasis web
12 Pemodelan dan analisis
13. Akses data
11. Kemudahan
pengembangan oleh penguna akhir
10. Manusia
mengontrol mesin
9. Keefektifan ,
bukan efisiensi
SPPK
Gambar 2.2 Karakter dan kemampuan SPPK (Turban, 1995)
16
5. Komponen – komponen SPPK
SPPK disusun dalam beberapa komponen subsistem yaitu (Turban, 1995) :
a. Manajemen Data
Manajemen data termasuk database yang mengandung data relevan untuk
situasi dan diatur dengan perangkat lunak DBMS. Subsistem manajemen
data disusun dari beberapa elemen berikut :
1) Database
Database adalah kumpulan data yang saling berhubungan,
diorganisir sedemikian rupa sehingga memenuhi kebutuhan dan
struktur organisasi. Selain itu, database dapat digunakan lebih
dari satu orang dan lebih dari satu aplikasi. Data dalam database
memuat bebepara komponen diantaranya : data internal, data
eksternal.
2) Database management sistem (DBMS)
Sebuah DBMS memiliki 3 fungsi utama sebagai berikut :
a. penyimpanan data dalam database, tapi dibatasi
kemampuan komputer yang digunakan.
b. Menampilkan kembali data dalam database yaitu
dengan pencarian data.
c. Pengendalian database. Dalam pengendalian ini
DBMS berperan sebagai filter data ketika data – data
diakses.
17
3) Data direktori
Direktori data merupakan sebuah katalog dari semua data yang
ada dalam database. Direktori digunakan untuk mendukung fase
pemikiran dari proses pengambilan keputusan dengan melakukan
scan data dan mengidentifikasi wilayah masalah. Direktori
mendukung proses penambahan input baru, hapus input, dan
pencarian informasi.
4) Fasilitas query
Komponen fasilitas query menyajikan database untuk akses data.
Query merupakan salah satu fasilitas dalam DBMS yang
dilengkapi dengan bahasa query khusus sehingga memungkinkan
DBMS menerima permintaan data dari komponen lainnya.fungsi
penting dari query adalah seleksi dan manipulasi.
b. Manajemen Model
Manajemen model merupakan paket software yang finansial, statistikal,
management science dan model kuantitatif yang lainnya, dimana
memungkinkan kemampuan analisis dan software manajemen yang tepat.
Subsistem manajemen model disusun beberapa elemen diantaranya :
1) Model base
Model base termasuk program statistik khusus, keuangan,
management science dan model kuantitaf lain yang dapat
menyajikan kemampuan analisis dalam SPPK.
18
2) Model base management systems
Model base management systems merupakan sebuah software
yang berfungsi untuk pembuatan model.
3) Modelling language
Beberapa model dalam model base telah ditulis sebelumnya. Tapi,
terkadang kita perlu membuat model sendiri. Pembuatan model
dapat dilakukan dengan bahasa pemrograman tingkat tinggi atau
4GL.
4) Model direktori
Aturan model direktori menyerupai direktori database yaitu
katalog seluruh model dalam model base. Fungsi utamanya
adalah untuk menjawab pertanyaan mengenai ketersediaan dan
kemampuan model.
5) Model execution, integration, dan command.
Tabel A.1 Jenis – jenis model (Turban ,1995)
Jenis Proses Teknik dasar
Optimasi dengan
sedikit alternatif
Menemukan solusi
terbaik dari sedikit
alternatif
Tabel keputusan, pohon
keputusan
Optimasi dengan
algoritma
Menemukan solusi
terbaik dari banyak
alternatif yang tidak
terhingga dengan
menggunakan proses
Model program dan
program matematika
lainnya, model jaringan
19
pembuktian bertahap
Optimasi dengan
analisis rumus
Menemukan solusi
terbaik dengan
menggunakan rumus
Beberapa model
inventaris
Simulasi Menemukan solusi yang
cukup baik atau yang
terbaik dari beberapa
alternatif dipilih dengan
menggunakan metode
percobaan
Beberapa model simulasi
Heuristik Menemukan solusi yang
cukup baik dengan
menggunakan aturan –
aturan
Pemrograman heuristik,
sistem pakar
Model – model
deskriptif
lainnya
Menemukan ”What if
(bagaimana jika) “dengan
menggunakan rumus
Model keuangan
Model – model
prediktif
Meramalkan masa depan
dari keadaan yang
diberikan
Analisa Markov, model –
model ramalan lainnya
c. Manajemen Dialog
Subsistem manajemen dialog dapat membantu user berkomunikasi dan
dapat memberi perintah pada SPPK. Subsistem ini juga menyediakan
fasilitas antarmuka dan mengontrol keluar masuknya informasi.
20
d. Manajemen Pengetahuan
Subsistem manajemen pengetahuan dapat mendukung SPPK yang tidak
mampu lagi menyelesaikan masalah semi terstrktur dan tidak terstruktur
atau dapat pula berdiri sendiri. Komponen manajemen pengetahuan
disusun dari sistem pakar sama seperti manajemen data dan manajemen
model, dimana subsistem ini menyediakan kebutuhan eksekusi dan
integrasi sistem pakar.
Hubungan komponen SPPK tersebut diatas dapat dilihat pada gambar 2.3
dibawah ini.
Manajemen data
Manajemen model
Manajemen pengetahuan
Manajemen Dialog
Manajer /user
Data ekternal dan internal
Sistem lainnya yang berbasis komputer
Gambar 2.3 Hubungan Komponen SPPK (Turban, 1995)
21
6. Keuntungan SPPK
Keuntungan dari SPPK sebagai berikut (Turban, 1995) :
a. Kemampuan menyelesaikan masalah yang kompeks.
b. Memiliki respon yang cepat terhadap situasi tak terduga yang
mengakibatkan perubahan kondisi.
c. Kemampuan untuk mencoba beberapa strategi berbeda dengan
konfigurasi yang berbeda secara cepat dan objektif.
d. Keputusan yang dihasilkan lebih efektif.
e. pengambilan keputusan bersifat objektif.
f. menghemat biaya dan waktu. Dalam pengambilan keputusan yang
masih manual pastinya akan menjadi rumit, dimana variabelnya juga
banyak sehingga mengeluarkan waktu dan biaya yang lebih banyak.
7. Tahap – tahap Pengembangan SPPK
Dalam proses pengembangan sistem dibutuhkan beberapa tahapan untuk
membangun sebuah SPPK yaitu :
a. Perencanaan
Dalam tahapan perencanaan terdapat proses menentukan kebutuhan,
diagnosa masalah, menentukan sumber daya apa saja yang dibutuhkan.
dan menentukan tujuan atau sasaran SPPK yang akan dibuat.
22
b. Analisis
Dalam tahapan analisis terdapat menentukan strategi pengembangan
yang terbaik, dimana kita perlu analisis masalah, deskripsi organisasi
dan deskripsi sistem yang sudah digunakan.
c. Desain / perancangan
Dalam tahapan perancangan terdapat beberapa proses diantaranya :
a. Perancangan Diagram Aliran Data
b. Perancangan basisdata.
c. Perancangan model.
d. Perancangan dialog.
e. Perancangan Pengetahuan
d. Konstruksi
Tahapan ini merupakan proses penggabungan semua komponen,
dimana perancangan yang sudah ada dikembangkan menjadi
implementasi teknis kemudian terdapat proses pengujian sistem
tersebut dan selanjutnya perbaikan.
e. Implementasi
Dalam tahapan implementasi terdapat beberapa proses diantaranya :
testing, evaluasi, demonstrasi
C. Pemrograman Borland Delphi
Berdasarkan buku Panduan Praktis Pemrograman Borland Delphi 7.0,
Borland Delphi merupakan sarana pemrograman aplikasi visual. Bahasa
23
pemrograman yang digunakan adalah bahasa pemrograman pascal atau yang
kemudian disebut juga bahasa pemrograman delphi. Delphi merupakan
generasi penerus dari turbo pascal, dimana delphi diluncurkan pertama kali
tahun 1995 dan dirancang untuk beroperasi dibawah sistem operasi windows.
Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai
dari sarana untuk pembuatan form, menu, toolbar, hingga kemampuan untuk
menangani pengelolaan basis data yang besar.
Kelebihan – kelebihan yang dimiliki Delphi antara lain karena pada
delphi, form dan komponen – komponennya dapat dipakai ulang dan
dikembangkan, mampu mengakses VBX, tersedia templete aplikasi dan
template form, memiliki lingkungan pengembangan visual yang dapat diatur
sesuai kebutuhan, menghasilkan file terkompilasi yang berjalan lebih cepat,
serta kemampuan mengakses data dari bermacam – macam format.
Feature baru dan perbaikan yang terdapat pada borland delphi 7.0
diantaranya pada IDE, Web, COM, Database, Component Library, Runtime
Library, Compiler, Rave Report, ModelMaker, dan Documentation.
D. Kredit
Istilah kredit berasal dari bahasa Yunani (credere) yang berarti
kepercayaan (truth atau faith). Oleh karena itu dasar dari kredit adalah
kepercayaan. Kredit dalam arti ekonomi adalah penundaan pembayaran dari
prestasi yang diberikan sekarang, baik dalam bentuk barang, uang dan jasa.
Raymond P. Kent dalam buku karangannya money and Banking mengatakan
24
bahwa kredit adalah hak untuk menerima pembayaran atau kewajiban untuk
melakukan pembayaran pada waktu diminta, atau pada waktu yang akan
datang, karena penyerahan barang – barang sekarang (Suyatno, 1991).
Menurut pasal 1 ayat 11 UU No. 10/1998 tentang perubahan UU No.
7/1992 tentang perbankan. Kredit adalah penyediaan uang atau tagihan –
tagihan yang dapat disamakan dengan itu, berdasarkan persetujuan atau
kesepakatan pinjam – meminjam antara bank dengan pihak lain yang
mewajibkan pihak peminjam untuk melunasi utangnya setelah jangka waktu
tertentu dengan pemberian bunga.
E. Koperasi Kredit (Simpan Pinjam)
Koperasi kredit atau koperasi simpan pinjam adalah koperasi yang
bergerak dalam bidang pemupukan simpanan dari para anggotanya, untuk
kemudian dipinjamkan kembali kepada anggota – anggota yang memerlukan
bantuan modal. Disamping bertujuan untuk mendidik anggotanya agar
bersikap hemat serta gemar menabung, Koperasi kredit biasanya juga
bertujuan untuk membebaskan para anggotanya dari jeratan rentenir.
Dengan menabung serta memperoleh modal dari perusahan yang
mereka miliki sendiri, maka para anggota koperasi kredit tidak hanya akan
menikmati hasil simpanan serta hasil usaha perusahaannya, tapi mereka juga
memiliki peluang untuk memperoleh modal dengan biaya yang murah.
Dengan demikian koperasi kredit akan menyebabkan terbatasnya ruang
25
operasi yang tersedia bagi para pelepas uang atau rentenir, yang cenderung
sangat merugikan para pengusaha dan pedagang kecil (Baswir,1997).
F. Prinsip – prinsip pemberian kredit
Dalam melakukan penilaian permohonan pinjaman pada koperasi,
perlu memperhatikan beberapa prinsip utama yang berkaitan dengan kondisi
keseluruhan dari calon nasabah. Di dunia perbankan prinsip – prinsip
penilaian tersebut dikenal dengan 5c, yaitu :
1. Character merupakan Penilaian terhadap karakter atau kepribadian calon
peminjam dengan tujuan untuk memperkirakan kemungkinan perilaku
karakter peminjam dalam memenuhi kewajibannya.
2. Capacity merupakan Penilaian secara subjektif tentang kemampuan
peminjam untuk malakukan pembayaran. Kemampuan diukur dengan
catatan prestasi peminjam dimasa lalu yang didukung dengan pengamatan
di lapangan atas sarana usahanya sepertinya toko, karyawan, alat – alat,
pabrik serta metode kegiatan.
3. Capital merupakan penilaian terhadap kemampuan modal yang dimiliki
oleh calon peminjam yang diukur dengan posisi perusahaan secara
keseluruhan yang ditujukan oleh rasio finansial dan penekanan pada
komposisi modalnya.
4. Condition merupakan penilaian terhadap kondisi ekonomi yang tejadi
dalam masyarakat secara spesifik melihat adanya keterkaitan dengan jenis
26
usaha yang dilakukan oleh calon peminjam. Hal tersebut karena kondisi
eksternal berperan besar dalam proses berjalannya usaha calon peminjam.
5. Collateral merupakan Penilaian terhadap jaminan yang akan dimiliki oleh
peminjam. Penilaian ini bertujuan untuk lebih meyakinkan bahwa jika
suatu resiko kegagalan pembayaran terjadi, maka jaminan dapat dipakai
sebagai pengganti dari kewajiban.
BAB III
TAHAP – TAHAP MENGEMBANGAN SPPK
A. Analisa
1. Deskripsi Organisasi
Koperasi Kredit adil berdiri sejak tanggal 20 April 1983 dengan
modal awal Rp.106.000, jumlah anggota 76 orang di sebuah desa yang
bernama Terong, Kecamatan Dlingo, Kabupaten Bantul, Daerah Istimewa
Yogyakarta. Di desa Terong mayoritas penduduknya sebagai petani.
Koperasi waktu itu pelayanannya satu kali dalam sebulan serta wilayah
kerjanya hanya tingkat pedukuhan. Koperasi berdiri atas binaan dari
Lembaga Swadaya Masyarakat Internasional yaitu, Pembina
Kesejahteraan Anak dan Keluarga (PKAK).
Dengan berbekal Badan Hukum No : 1747/BH/XI/1994, maka
Pengurus mulai bekerja keras agar dapat memberikan yang terbaik atau
melayani dengan baik bagi anggota khususnya dan calon anggotanya. Pada
tahun 1995 Pengurus mengangkat seorang manajer dan karyawan, dengan
harapan koperasi dapat dikelola dengan professional. Dan pada saat itulah
mulai dirintis untuk dapat melayani anggota setiap hari.
Pada saat ini koperasi kredit adil merupakan kantor pusat,
sedangkan kantor unit terdapat dibeberapa tempat seperti berikut : (1).
Setelah skor semua kriteria dihitung, selanjutnya skor dapat dihitung dengan
rumus yaitu
Skor akhir = ∑−
∗j
i i
ii
1 BK)SKBK(
BK : Bobot kriteria yang dimasukkan sendiri oleh manajer
SK : Skor per kriteria
i : Indeks sub kriteria
j : Jumlah sub kriteria
56
contoh :
Bobot kriteria yang dimasukkan sendiri oleh manajer yaitu
Character 40, Capacity 30, Collateral 15, Capital 7,
Condition 8
Skor per kriteria yaitu
Skor Character 4,375; Skor Capacity 2,125; Skor Collateral 2,5
Skor Capital 1,71; Skor Condition 2,69
Skor akhir = )87153040(
)69,2*8()71,1*7()5,2*15()125,2*30()375,4*40(++++
++++
= 3,1
Setelah skor akhir dihitung, selanjutnya menentukan layak atau tidak seorang
anggota mendapatkan pinjaman sesuai yang diinginkan.
Untuk mengeluarkan keputusan tersebut terdapat perbandingan antara
skor akhir dengan skor minimal. Sebelum membandingkan, kita harus cek
terlebih dahulu besar pinjaman anggota yang meminjam agar mengetahui skor
minimal yaitu Bawah <= Besar pinjaman < = Atas. Setelah skor minimalnya
ditemukan, kita bandingkan dengan skor akhir yaitu
Jika, Layak skor akhir >= skor minimal
Jika, Tidak Layak skor akhir < skor minimal
Tabel dibawah ini merupakan tabel batas kredit yang berisi data batas bawah,
batas atas dan skor minimal. Untuk skor minimal diperoleh dari hasil seleksi
beberapa anggota yang sudah meminjam dikoperasi.
57
Tabel B.2 Batas kredit
Batas Kredit No
Bawah Atas
Skor Minimal
1 500.000 1.000.000 1,75
2 1.000.001 2.500.000 2,25
3 2.500.001 5.000.000 2,75
4 5.000.001 10.000.000 3
5 10.000.001 25.000.000 4
5. Perancangan Dialog
Dalam suatu sistem yang dimaksud dengan perancangan dialog
merupakan perancangan antar muka pemakai, dimana antar muka pemakai
sangat berperan penting dalam suatu sistem karena tampilan yang paling
kelihatan. Pemakai atau pengguna dalam sistem ini adalah manager koperasi
dan administrator. Perancangan dialog dalam sistem ini dijabarkan dalam
bentuk struktur form (gambar 3.9).
Dalam gambar tersebut menjelaskan aliran antara form yang satu
dengan yang lain, dimana aliran tersebut digambarkan dengan bentuk tanda
panah. Dalam gambar 3.9, perancangan dialog diawali dengan form splash
kemudian form login dan selanjutnya form menu utama. Form menu utama
terdiri dari empat bagian yaitu update data, Proses Keputusan, Bantuan dan
keluar. Sub form menu utama digunakan oleh dua pihak yaitu administrator
dan manajer.
58
Bagian update data digunakan oleh pihak administrator, dimana sub ini
terdapat form anggota, kriteria, batas kredit, plan dan user. Pada bagian proses
keputusan digunakan oleh pihak manajer. Bagian about terdiri dari form
bantuan dan form penulis dan pada bagian keluar berfungsi untuk keluar dari
sistem. Untuk bagian sub menu about dan keluar digunakan kedua pihak
pemakai.
Gambar 3.9 Diagram Struktur Form
Form Menu Utama
About Keluar Update data
Form Update Anggota
Form Update Kriteria
Form Update Batas Pinjaman
Form Update Plan
Proses Keputusan
Form Seleksi Form Bantuan
Form Penulis
Form Splash Form Login
Form Update Login
Admin Manajer
59
Dalam gambar diagram struktur form diatas, kita dapat melihat secara
garis besar aliran data atau hubungan antar form. Selain gambar struktur form
diatas, dibawah ini juga akan dijelaskan rancangan tiap interface (form) yang
dibuat sebagai berikut :
Gambar 3.10 Rancangan Form Login
Gambaran 3.10 merupakan rancangan form login yang dibuat sebelum
masuk form menu utama. Form login ini dirancang untuk menjaga kerahasiaan
data. Setiap pengguna yang memakai sistem, pasti melalui form login.
Gambar 3.11.a Rancangan Form Menu Utama untuk admin
Rancangan form menu utama untuk admin terdapat sub menu seperti
update data, about dan keluar sistem. Rancangan ini mirip dengan rancangan
menu utama untuk manajer. Tapi bedanya pada sub menunya. Menu utama
60
untuk manajer terdapat sub menu seperti : proses keputusan, about, keluar.
Untuk lebih jelasnya, lihat gambar 3.11.b
Gambar 3.11.b Rancangan Form Menu Utama untuk manajer
Gambar 3.12 Rancangan form Update anggota
Gambar 3.12 merupakan rancangan untuk update data anggota.
Rancangan ini akan digunakan oleh administrator.
61
Gambar 3.13 Rancangan Form Update Kriteria
Gambar 3.13 merupakan rancangan form update data kriteria.
rancangan ini akan digunakan oleh administrator.
Gambar 3.14 Rancangan Form Update Sektor (segi)
Gambar 3.14 merupakan rancangan form update data sektor (segi)
yang digunakan oleh administrator. Rancangan ini berkaitan dengan data
kriteria.
62
Gambar 3.15 Rancangan Form Update Sub sektor (fakta)
Pada rancangan form update Sub sektor (fakta) digunakan untuk
mengupdate data sub sektor. Pengguna yang memakai rancangan ini adalah
administrator.
Gambar 3.16 Rancangan Form Update Plan
Gambar 3.16 merupakan rancangan update plan yang digunakan oleh
administrator. Data plan merupakan data jenis pinjaman.
63
Gambar 3.17 Rancangan Form Update Batas Kredit
Rancangan form update batas kredit digunakan untuk mengupdate data
batas kredit. Data batas kredit digunakan sebagai pembanding pada saat
pengambilan keputusan pemberian kredit.
Gambar 3.18 Rancangan Form Update User
Rancangan form update user digunakan untuk mengupdate data
username dan password dari pengguna sistem. Administrator mempunyai hak
penuh untuk mengubah data user ini
64
Untuk rancangan form bagian proses pengambilan keputusan, kita
akan bahas dibawah ini tahap demi tahap. Proses pengambilan keputusan
diawali pencarian data anggota berdasarkan nomor anggota. Setelah itu,
pengguna (manajer) memasukkan jenis pinjaman, besar pinjaman, dan jangka
waktu. Untuk lebih jelas, perhatikan rancangan form anggota dibawah ini.
Gambar 3.19.a Rancangan Form Seleksi
Pada tampilan dibawah ini merupakan tahap memilih sub sektor (fakta)
pada kolom fakta berdasarkan bahan pertimbangan, dimana pada kolom fakta
disediakan fasilitas combobox.
65
Gambar 3.19.b Rancangan form seleksi (Penilaian)
Pada rancangan form keputusan akan menampilkan keputusan layak
atau tidak layak seorang anggota mendapatkan kredit. Dalam tampilan ini
manajer juga akan memasukkan bobot untuk setiap kriteria, kemudian
diseleksi sehingga menghasilkan keputusan yang akan dijadikan pertimbangan
oleh manajer dalam pemberian kredit.
Gambar 3.19.c Rancangan form seleksi (Keputusan)
BAB IV
IMPLEMENTASI
A. Implementasi Manajemen Data
Dalam tahap implementasi basis data, SPPK pemberian kredit
menggunakan beberapa tabel sebagai berikut :
1. Tabel anggota
Tabel anggota digunakan untuk menyimpan data – data anggota
koperasi, terutama anggota – anggota yang melakukan pinjaman. Dalam
tabel ini yang menjadi primary key adalah nomor anggota.
Tabel C.1 Anggota.dbf
2. Tabel Kriteria(model)
Dalam tabel Kriteria terdapat data 5C yaitu character, capacity,
collateral, capital, dan condition. Tapi data kriteria dapat diupdate sesuai
kebutuhan koperasi. Pada tabel ini yang menjadi primary key yaitu
kodemodel. Data model ini dapat diupdate.
66
67
Tabel C.2 Kriteria (model).dbf
3. Tabel Sektor / segi
Tabel sektor berhubungan dengan tabel model yaitu one to many
sehingga dalam tabel model primary keynya yaitu kodekri dan kunci
tamunya yaitu kode 5C. tabel ini merupakan penghubung antara tabel 5C
dan tabel sub kriteria.
Tabel C.3 Sektor.dbf
4. Tabel Sub Sektor (Fakta)
Tabel sub sektor berhubungan dengan tabel sektor yaitu one to
many sehingga terdapat primary key yaitu kode_sub dan kunci tamu yaitu
kode_kri. Tabel ini digunakan untuk proses penghitungan rata – rata skor
karena didalamnya terdapat data skor tiap sub sektor.
Tabel C.4 Sub Sektor.dbf
68
5. Tabel Batas kredit
Tabel batas kredit digunakan untuk menentukan layak atau
tidaknya seorang anggota mendapatkan kredit karena didalamnya terdapat
rata skor minimal. Primary key dalam tabel ini adalah kode_batas.
Tabel C.5 Batas Kredit.dbf
6. Tabel Pengajuan
Tabel pengajuan berhubungan dengan tabel Batas kredit yaitu
many to one sehingga KodeBatas gabung dengan tabel Pengajuan dan
berhubungan dengan tabel Plan yaitu many to one sehingga NoPlan
gabung dengan tabel Pengajuan. Untuk lebih jelasnya, perhatikan tabel C.6
Tabel C.6 Pengajuan.dbf
69
7. Tabel Plan (Jenis Pinjaman)
Tabel plan digunakan untuk menyimpan data – data jenis
pinjaman. Primary key dalam tabel ini adalah noplan.
Tabel C.7 Plan.dbf (Jenis Pinjaman)
8. Tabel Username
Tabel username digunakan untuk menyimpan data – data pemakai
sistem seperti operator dan manajer (penilai). Selain itu dalam tabel ini
tersimpan password dari pemakai sistem. Id menjadi primary key
sekaligus auto increment yaitu id dapat muncul dengan sendirinya.
Tabel C.8 UserName.dbf
9. Tabel Historis Skor
Tabel transaksi kriteria merupakan tabel baru yang muncul karena
hubungan many to many antara tabel anggota dan tabel Fakta(SubSektor).
Tabel C.9 Historis Skor.dbf
70
B. Implementasi Manajemen Dialog
1. Form Splash
Form splash mengawali SPPK pemberian kredit. Form ini dijalankan
beberapa menit dengan tampilan progressbar.
Gambar 4.1 Form Splash
2. Form Login
Form login muncul setelah form splash dijalankan. Pada form ini
pengguna memasukkan username dan password kemudian klik login.
Setelah klik login muncul form menu utama.
Gambar 4.2 Form Login
3. Form Menu Utama
Pada form menu utama, ditampilkan dua versi yaitu untuk
administrator dan manajer. Dalam form menu utama untuk admin
disediakan sub menu seperti : update data about dan keluar. Pada sub
menu update data terdapat bagian – bagian seperti : update anggota,
kriteria, plan, batas kredit dan user.
71
Gambar 4.3.1 Form Menu utama untuk admin
Pada form menu utama untuk manajer terdapat sub menu seperti :
proses keputusan, about dan keluar.
Gambar 4.3.2 Form Menu utama untuk manajer
4. Form Anggota
Pada form anggota, pengguna dapat melakukan tambah, ubah, hapus dan
cari data anggota. Untuk proses tambah pengguna klik tambah, kemudian
masukkan data anggota dan klik simpan. Untuk proses ubah dan hapus,
pengguna mencari data yang akan diubah atau dihapus dengan pencarian.
Selain itu, pengguna dapat langsung cari digrid, kemudian diklik dan
diubah atau hapus. Untuk proses pencarian, pengguna mencari
berdasarkan nomor anggota dan nama anggota
72
Gambar 4.4 Form Anggota
5. Form kriteria (model)
Pada form kriteria terdapat fasilitas seperti menambah, mengedit,
menghapus dan pencarian. Untuk proses menambah, pengguna mengklik
button tambah kemudian pengguna dapat mengisi data – data prinsip
seperti kode dan nama kemudian disimpan. Untuk proses mengedit dan
menghapus, pengguna melakukan pencarian terlebih dahulu, kemudian
muncul digrid, diklik dan klik ubah atau hapus. Selain itu, pengguna dapat
langsung klik digrid tanpa pencarian.
Gambar 4.5 Form Kriteria
73
6. Form Sektor
Pada form Sektor terdapat fasilitas menambah, mengubah dan menghapus
dan pencarian. Dalam form sektor juga ditampilkan data kriteria(model)
berupa combobox karena merupakan bagian dari sektor. Pada fasilitas
pencarian, pengguna dapat mencari berdasarkan kriteria dan sektor. Untuk
proses menambah, pengguna mengklik button tambah kemudian pengguna
dapat mengisi data – data sektor dan disimpan. Untuk proses mengedit dan
menghapus, pengguna melakukan pencarian terlebih dahulu, kemudian
muncul digrid, diklik dan klik ubah atau hapus. Selain itu, pengguna atau
dapat langsung klik digrid tanpa pencarian .
Gambar 4.6 Form Sektor
7. Form Sub sektor
Pada form Sub sektor, pengguna disediakan fasilitas menambah,
mengubah, menghapus dan mencari data fakta sama seperti update data
yang lain. Untuk proses pencarian, pengguna menginputkan data yang
dicari berdasarkan kriteria, sektor, dansub sektor (fakta). Dari hasil
74
pencarian, data yang diinginkan muncul digrid. Untuk proses menambah,
pengguna klik tambah, kemudian pengguna memasukkan data sub sektor
dan klik simpan. Untuk proses mengubah dan menghapus, pengguna klik
data digrid yang akan diupdate kemudian klik ubah atau hapus.
Gambar 4.7 Form Sub sektor
8. Form Plan (Jenis Pinjaman)
Pada form Plan terdapat fasilitasyang sama dengan form kriteria seperti
menambah, mengedit, menghapus dan pencarian. Untuk proses
menambah, pengguna mengklik button tambah kemudian pengguna dapat
mengisi data – data plan diatas dan disimpan. Untuk proses mengedit dan
menghapus, pengguna melakukan pencarian terlebih dahulu, kemudian
muncul digrid, diklik dan klik ubah atau hapus.
75
Gambar 4.8 Form Plan (Jenis Pinjaman)
9. Form Batas Kredit
Form batas kredit mempunyai fasilitas yang sama dengan form – form
lainnya seperti form anggota, plan, prinsip kredit, kriteria, sub kriteria dan
user. Fasilitas yang ada seperti menambah, mengubah, menghapus, dan
pencarian data. Form ini berfungsi untuk mengupdate data – data batas
pinjaman, dimana data – data tersebut menentukan layak tidaknya anggota
mendapatkan kredit.
Gambar 4.9 Form Batas Pinjaman
76
10. Form User
Pada form user, pengguna disediakan fasilitas menambah, mengubah, dan
menghapus. Form user mempunyai fasilitas yang hampir sama dengan
form lainnya. Data user yang sudah tersimpan ditampilkan pada grid.
Gambar 4.10 Form User
11. Form Seleksi
Pada form seleksi terdapat tiga tahap yaitu pencarian data anggota
dan memasukkan data plan, memasukkan kriteria anggota, dan tampilan
data transaksi, skor anggota, keputusan.
Pada gambar 4.11.1 merupakan tampilan pencarian data anggota
berdasarkan nomor anggota sehingga muncul data anggota dan transaksi
yang sudah anggota tersebut lakukan. Selain itu, pengguna juga
memasukkan jenis pinjaman, besar pinjaman dan jangkawaktu. Bunga dan
skor minimum muncul dengan sendirinya.
77
Gambar 4.11.1 Form Seleksi
Setelah gambar 4.11.1 dijalankan dan klik ok, gambar 4.11.2
dijalankan. Pada gambar ini pengguna memasukkan (memilih) pada kolom
sub kriteria. pada kolom tersebut pengguna memilih didalam combobox
berdasarkan pertanyaan dikolom keterangan dan tentunya berdasarkan
hasil analisis anggota yang diseleksi. Setelah selesai klik proses.
Gambar 4.11.2 Form Seleksi
78
Pada gambar 4.11.3 merupakan tampilan keputusan dari seleksi seorang
anggota, dimana manajer menginputkan bobot untuk setiap kriteria.
Besarnya bobot tergantung manajer. Setelah itu, diklik seleksi sehingga
muncul skor tiap kriteria, skor akhir, dan keputusan layak atau tidak layak.
Dalam tampilan ini juga disediakan untuk mencetak hasil seleksi agar
dapat melihat data lebih detail dan jelas. Selain itu manajer juga dapat
menyimpan hasil transaksi peminjaman.
Gambar 4.11.3 Form Seleksi
12. Form help
Form help digunakan sebagai panduan (manual sistem) untuk pengguna
sistem (admin dan manajer). Form untuk setiap pengguna berbeda. Untuk
lebih jelas perhatikan gambar 4.12.a dan 4.12.b
Gambar 4.12.a Form help (manajer)
79
Gambar 4.12.b Form help (administrator)
13. Form Programer
Dalam form ini terdapat indentitas penulis (pembuat program).
Gambar 4.13 Form Programer
C. Implementasi Program
1. Proses koneksi
Pada proses koneksi perlu menggunakan data module. Data
module dapat digunakan untuk meletakkan komponen – komponen non
visual (seperti query, bila dirancang komponen tersebut terlihat, tapi pada
saat program dijalankan komponen tidak terlihat.). Dalam data module
berisi beberapa query, datasource, dan connection, dimana komponen –
80
komponen tesebut digunakan untuk koneksi dengan tabel – tabel pada
database koperasi di dalam mysql.
Gambar 4.13 Data Module
Pada potongan program dibawah ini menjelaskan cara koneksi atau
pemanggilan database koperasi di mysql.
procedure TDM.KoneksiDB; begin zKoneksi.Disconnect; zKoneksi.HostName := Server; zKoneksi.User := UserName; zKoneksi.Password := Pass; zKoneksi.Database := 'koperasi'; zKoneksi.Protocol := 'mysql'; zKoneksi.LoginPrompt := false; zKoneksi.Connect; xQuery.Connection := zKoneksi; zQuery.Connection := zKoneksi; qTemp.Connection := zKoneksi; xShow.Connection := zKoneksi; xDS.DataSet := xQuery; zDS.DataSet := zQuery; xDShow.DataSet := xShow; end; fungsi – fungsi dibawah ini digunakan pada saat mengeksekusi query –
query, dimana proses ini berhubungan dengan database koperasi.
Pemanggilan fungsi - fungsi ini dapat dilihat pada proses update data
anggota yaitu DM.RunSQL(SqlInsertData);
function TDM.RunSQL(str: string): integer;
81
begin with xQuery do begin Close; SQL.Clear; SQL.Add(str); ExecSQL; Result := RowsAffected; end; end; function TDM.OpenSQL(str: string): Boolean; begin try with xQuery do begin Close; SQL.Clear; SQL.Add(str); Open; if IsEmpty then result:= False else result:= True; end; except Result := false; end; end; function TDM.OpenSqlZ(str :string): boolean; begin try with zQuery do begin Close; SQL.Clear; SQL.Add(str); Open; if IsEmpty then result:= False else result:= True; end; except Result := false; end; end; function TDM.RunSqlZ(str :string):integer; begin with zQuery do begin Close; SQL.Clear; SQL.Add(str); ExecSQL; Result := RowsAffected; end; end; function TDM.OpenSqlShow(str :string): boolean;
82
begin try with xShow do begin Close; SQL.Clear; SQL.Add(str); Open; if IsEmpty then result:= False else result:= True; end; except Result := false; end; end; function TDM.OpenSqlTemp(str :string): boolean; begin try with qTemp do begin Close; SQL.Clear; SQL.Add(str); Open; if IsEmpty then result:= False else result:= True; end; except Result := false; end; end; function TDM.RunSqlTemp(str :string):integer; begin with qTemp do begin Close; SQL.Clear; SQL.Add(str); ExecSQL; Result := RowsAffected; end; end;
2. Proses Login
Function ProsesLogin merupakan proses menampilkan username
dan password berdasarkan username dan password yang dimasukkan
pengguna pada saat awal login. Setelah itu dicek apakah username benar
83
atau salah. Function ProsesLogin akan dipanggil pada saat pengguna
mengklik button login dan yang dikirim adalah variable booleannya yaitu
true dan false.
Pada saat mengklik button login, jika pengguna belum
memasukkan username atau password akan keluar pesan. Jika pengguna
sudah memasukkan username dan password, maka function ProsesLogin
dijalankan. Jika username dan password benar, maka dicek kembali
apakah username dan password tersebut setara penilai atau admin. Jika
setara penilai akan tampil MenuUtama dengan sub menu pengambilan
keputusan dan about. Jika setara admin, maka akan tampil semua sub dari
MenuUtama. Selain itu dicek juga username dan password yang
dimasukkan, jika salah maka akan keluar pesan. Pengguna diberikan
kesempatan tiga kali dalam memasukkan kesalahan, jika masih salah,
maka sistem akan close sendirinya.
function TFrmLogin.ProsesLogin(xHit:Integer;xUser,xPass:String): Boolean; var xsql:String; begin xsql := 'SELECT username,password FROM login '+ 'WHERE username ="'+xUser+'" ' + 'and password =PASSWORD("'+xPass+'") limit 1'; if DM.OpenSQL(xsql) then begin
procedure TFrmLogin.btnLoginClick(Sender: TObject); begin if (edUser.Text = '') or (edPass.Text = '') then begin
84
ShowMessage('Nama User Atau Password belum terisi, Tolong cek kembali!');
if edUser.Text = '' then edUser.SetFocus else edPass.SetFocus; Exit; end; if ProsesLogin(glHit,Trim(edUser.Text), Trim(edPass.Text)) = True then
begin TampilSetara(Trim(edUser.Text)); //eduser disembunyikan FrmLogin.Hide; if edStr.Text = 'Penilai' then begin with Menu do begin frmMenu.MainMenu1.Items.Items[0].Visible := False;
frmMenu.ShowModal; end; end else if edStr.Text = 'Admin' then begin frmMenu.MainMenu1.Items.Items[1].Visible := False; frmMenu.MainMenu1.Items.Items[2].Items[0].Visible :=
False; frmMenu.ShowModal; end; end else begin glHit := glHit - 1;
if glHit = 2 then ShowMessage('Password Salah, kesempatan tinggal '+IntToStr(glHit)+' kali')
else if glHit = 1 then ShowMessage('Password salah, kesempatan tinggal '+IntToStr(glHit)+' kali')
else begin
ShowMessage('Maaf, anda tidak dapat login program'); Close; end; end; end;
3. Proses update data
Untuk proses update data terdapat beberapa tabel yang diproses
seperti :anggota, kriteria, sektor, sub sektor, plan, batas kredit dan user.
Dalam proses update data, kita bahas salah satu yaitu update data anggota
karena prosesnya semua sama.
85
Proses update pada data anggota ada tiga diantara proses tambah,
ubah,hapus, cek data anggota, tampil data, dan tampil grid. Untuk proses
tambah dijalankan pada saat pengguna mengklik button tambah, proses
ubah dijalankan pada saat mengklik button ubah, proses hapus dijalankan
pada saat mengklik button hapus, proses cek data anggota dijalankan pada
saat mengklik button tambah. Proses cek data berfungsi untuk mencek
data anggota berdasarkan nomor anggota, apakah nomor anggota
didatabase ada yang sama dengan data yang dimasukkan. Jika ada yang
sama akan keluar pesan.
Untuk proses tampil data, dijalankan pada saat pengguna mengklik
data digrid, maka data – data yang diklik tampil di textbox. Untuk proses
tampil grid, dijalankan pada saat pencarian data dan setelah pengguna
menyimpan data anggota yang dimasukkan, maka akan ditampilkan
kembali digrid. Selain itu, pada saat pengguna membuka form anggota,
proses tampil grid sudah dijalankan. Untuk lebih jelasnya, perhatikan
potongan program dibawah ini
a. Proses tambah
function TfrmAnggota.SqlInsertData :string; var xsql:string; begin xsql :=''; xsql := 'INSERT INTO anggota (No_Anggota,No_KTP,Nama, ' + 'Telp,Alamat,Jenis_Usaha,Pekerjaan, ' + 'No_KTP_SI,Nama_SI,Alamat_SI,Pekerjaan_SI) ' + 'VALUES("'+edNomor.Text+'","'+edKtp.Text+'", ' + '"'+edNama.Text+'","'+edTelp.Text+'", '+ '"'+richAlamat.Text+'","'+edUsaha.Text+'", ' + '"'+edPekerjaan.Text+'","'+EdKtpS.Text+'", '+ '"'+edNamaS.Text+'","'+RichAlmtS.Text+'", ' + '"'+edPekerjaanS.Text+'")'; Result :=xsql; end;
86
b. Proses ubah
function TfrmAnggota.SqlUpdateData(xKode:string):string; var xsql:string; begin xsql:=''; xsql:='UPDATE anggota '+ 'SET No_KTP="'+edKtp.Text+'", ' + 'Nama="'+edNama.Text+'", ' + 'Telp="'+edTelp.Text+'", ' + 'Alamat="'+richAlamat.Text+'", ' + 'Jenis_Usaha="'+edUsaha.Text+'", '+ 'Pekerjaan="'+edPekerjaan.Text+'", ' + 'No_KTP_SI="'+EdKtpS.Text+'", ' + 'Nama_SI="'+edNamaS.Text+'", '+ 'Alamat_SI="'+RichAlmtS.Text+'", ' + 'Pekerjaan_SI="'+edPekerjaanS.Text+'" ' + 'WHERE No_Anggota ="'+xKode+'" limit 1'; Result :=xsql; end; c. Proses hapus
function TfrmAnggota.SqlDeleteData(xKode:string):string; var xsql :String; begin xsql :=''; xsql := 'DELETE FROM anggota ' + 'WHERE No_Anggota ="'+xKode+'" limit 1'; Result :=xsql; end;
d. Proses cek
function TfrmAnggota.SqlCekData(xKode :string):Boolean; var xsql :String; begin xsql :=''; xsql := 'SELECT * FROM anggota ' + 'WHERE No_Anggota ="'+xKode+'" '; if DM.OpenSql(xsql) then begin Result := true; MessageDlg('Data yang dimasukkan sudah ada, tolong cek
kembali',mtInformation,[mbok],0); end else Result := false; end; e. Proses tampil data anggota ditextbox
procedure TfrmAnggota.TampilData; begin with DM.xShow do
fieldbyname('Pekerjaan_SI').AsString; KunciTombol(True,true,true); end; end; end; f. Proses tampil data anggota digrid
procedure TfrmAnggota.TampilGrid(xCari :string); var xsql :string; begin xsql :=''; xsql := 'SELECT No_Anggota,No_KTP,Nama,Telp, ' + 'Alamat,Jenis_Usaha,Pekerjaan, '+ 'No_KTP_SI,Nama_SI,Alamat_SI,Pekerjaan_SI '+ 'FROM anggota'; if xcari <>'' then xsql:=xsql +'WHERE No_Anggota like "%'+xCari+'%" ' + ' OR Nama like "%'+xCari+'%"'; xsql := xsql +' order by No_Anggota asc'; if DM.OpenSqlShow(xsql) then begin Grid1.DataSource := DM.xDShow; SetJudul; end; end; g. Proses menjalankan Fungsi - fungsi update
Dalam potongan program ini menjalankan proses tambah, update, dan
pengecekkan data anggota. Procedure dibawah ini juga untuk menyimpan
data anggota.
procedure TfrmAnggota.btnTambahClick(Sender: TObject); begin
if btnTambah.Caption = '&Tambah' then
88
begin KunciPanel(False,True,False); bersih(true); warna(true); ednomor.SetFocus; KunciTombol(true,true,false); SetTombol(bSimpan,bBatal); glProses := True; // variable global end else if btnTambah.Caption = '&Simpan' then begin // proses penyimpanan data if CekKosong = False then exit;
if MessageDlg('Apakah data Anggota akan disimpan?',mtConfirmation,[mbYes,mbNo],0)= mryes then
begin if glProses then // jika true maka Simpan data baru begin if SqlCekData(ednomor.Text)=True then exit proses cek else begin DM.RunSQL(SqlInsertData); proses tambah end; end else DM.RunSQL(SqlUpdateData(glNomor)); proses ubah // jika false untuk updata data // setelah data disimpan kembalikan seperti semula KunciPanel(true,false,true); KunciTombol(true,false,false); SetTombol(bTambah,bUbah); bersih(True); warna(false); glProses := False; TampilGrid(''); end;
end; end; Dalam potongan program dibawah ini menjalankan proses hapus data
anggota. Potongan program ini terdapat pemanggilan fungsi pada proses
hapus yaitu SqlDeleteData(xKode:string.
procedure TfrmAnggota.btnHapusClick(Sender: TObject); var xsql :String; begin if MessageDlg('Apakah data Anggota akan dihapus?',mtConfirmation,[mbYes,mbNO],0)= mrYes then
begin xsql :=''; xsql := 'SELECT distinct no_anggota ' + 'FROM transaksi_pin ' + 'WHERE no_anggota ="'+Trim(glNomor)+'" limit 1'; if DM.OpenSqlTemp(xsql) then
MessageDlg('Maaf data anggota tidak bisa dihapus ',mtInformation,[mbOK],0)
89
else begin DM.RunSQL(SqlDeleteData(glNomor)); proses hapus KunciPanel(True,False,True); KunciTombol(True,False,False); SetTombol(bTambah,bUbah); bersih(True); warna(False); TampilGrid('');
MessageDlg('data sudah terhapus...! ',mtInformation,[mbOK],0);
end; end; end;
4. Proses umum
Pada proses umum ini menampilkan fungsi atau prosedur yang
biasanya digunakan disetiap unit program diantaranya :
procedure TfrmAnggota.KunciPanel(xCar,xInp,xGrd:boolean); begin panCari.Enabled:=xCar; panInput.Enabled:=xInp; panGrid.Enabled:=xGrd; end; procedure TfrmAnggota.SetTombol(xTmb:TTmb;xUbh:Tubh); begin case xTmb of bTambah:btnTambah.caption:='&Tambah'; bSimpan:btnTambah.caption:='&Simpan'; end; case xUbh of bUbah:btnUbah.caption:='&Ubah'; bBatal:btnUbah.caption:='&Batal'; end; end; procedure TfrmAnggota.KunciTombol(xTmb,xUbh,xHps:boolean); begin btnTambah.enabled:=xTmb; btnUbah.enabled:=xUbh; btnHapus.enabled:=xHps; end; procedure TfrmAnggota.warna(xWrn:Boolean); var xColor:TColor; begin if xWrn = True then xColor:=clWhite else xColor:= $00BEE0D5; edNomor.Color := xColor; edKtp.Color := xColor; edNama.Color := xColor; edTelp.Color := xcolor; richAlamat.Color := xColor; edUsaha.Color := xColor;
procedure TfrmAnggota.bersih(xCari:Boolean); begin if xCari = true then edCari.Clear; edNomor.Clear; edKtp.Clear; edNama.Clear; edTelp.Clear; richAlamat.Clear; edUsaha.Clear; edPekerjaan.Clear; edKtpS.Clear; edNamaS.Clear; RichAlmtS.Clear; edPekerjaanS.Clear; end; function TfrmAnggota.CekKosong:boolean; var xRetval :boolean; xPesan :string; begin xRetval := true; if trim(ednomor.Text) = '' then begin xRetval := False; xPesan :='No Anggota masih Kosong'; end else if (xRetval = true) and (trim(edktp.Text) = '') then begin xRetval := False; xPesan :='No KTP Anggota masih Kosong'; end else if (xRetval = true) and (edNama.Text='')then begin xRetval := false; xPesan := 'Nama anggota masih kosong'; end else if (xRetval = true) and (EdTelp.Text='')then begin xRetval := false; xPesan := 'Nomor telpon anggota masih kosong'; end else if (xRetval = true) and (richAlamat.Text='')then begin xRetval := false; xPesan := 'Alamat anggota masih kosong'; end else if (xRetval = true) and (EdUsaha.Text='')then begin xRetval := false; xPesan := 'Usaha anggota masih kosong'; end else if (xRetval = true) and (EdPekerjaan.Text='')then begin xRetval := false; xPesan := 'Pekerjaan anggota masih kosong'; end else
91
if (xRetval = true) and (EdKtpS.Text='')then begin xRetval := false; xPesan := 'nomor ktp suami/istri anggota masih kosong'; end else if (xRetval = true) and (EdNamaS.Text='')then begin xRetval := false; xPesan := 'nama suami/istri anggota masih kosong'; end else if (xRetval = true) and (RichAlmtS.Text='')then begin xRetval := false; xPesan := 'Alamat suami/istri anggota masih kosong'; end else if (xRetval = true) and (EdPekerjaanS.Text='')then begin xRetval := false; xPesan := 'Pekerjaan suami/istri anggota masih kosong'; end; if xRetval = true then Result := xRetval else begin Result := xRetval; MessageDlg(xPesan+',Cek data yang dimasukkan
',mtInformation,[mbok],0); end; end; procedure TfrmAnggota.SetJudul; var nIdx : Integer; const Judul : Array[0..9] of String = ('No Anggota','No.ktp','Nama Anggota','No
Suami/Istri','Alamat Suami/Istri'); begin Grid1.Columns.Clear; For nIdx := 0 to 9 do begin Grid1.Columns.Add; Grid1.Columns[nIdx].Title.Caption := Judul[nIdx]; Grid1.Columns[nIdx].Title.Alignment := taCenter; Grid1.Columns[nIdx].FieldName :=
Pada proses seleksi anggota, terdapat beberapa sub proses
diantaranya : pencarian data anggota, memasukkan jenis pinjaman dan
besar pinjaman, penilai anggota dengan memasukkan kriteria – kriteria
berdasarkan data analisis kredit, menampilkan data transaksi pinjaman,
data kriteria, skor, keputusan dan proses menyimpan data transaksi.
a. Proses pencarian data anggota
Untuk proses pencarian, pada saat pengguna mengklik atau
mencari nomor anggota didalam combobox, prosedur dibawah ini
dijalankan yaitu dengan menampilkan data anggota di textbox masing –
masing berdasarkan nomor anggota yang dicari. Selain menampilkan pada
text box, pencarian ini juga menampilkan data transaksinya anggota yang
dicari. Dari tampilan data transaksi ini, pengguna mendapat informasi
beberapa kali anggota ini sudah meminjam. Proses tampilan ini dapat kita
lihat pada prosedur TampilGrid.
procedure Tfrmseleksi.sqlCariData(xdata :string); var xsql :string; begin xsql :=''; xsql :='SELECT No_Anggota,No_KTP,Nama,Telp,Alamat, ' + 'Jenis_Usaha,Pekerjaan, '+ 'No_KTP_SI,Nama_SI,Alamat_SI,Pekerjaan_SI '+ 'FROM anggota'; if xData <>'' then xsql := xsql + ' WHERE No_Anggota = "'+xdata+'"'; if DM.OpenSqlShow(xsql) then begin with DM.xShow do begin
93
if RecordCount <> 0 then begin cbNomor.Text := fieldbyname('No_Anggota').AsString; glNomor := fieldbyname('No_Anggota').AsString; edKtp.Text := fieldbyname('No_KTP').AsString; edNama.Text := fieldbyname('Nama').AsString; edTelp.Text := fieldbyname('Telp').AsString; RichAlmt.Text := fieldbyname('Alamat').AsString; edUsaha.Text :=
fieldbyname('Pekerjaan_SI').AsString; SetJudul; TampilGrid(Trim(cbNomor.Text)); proses tampilGrid end; end; end; end;
procedure Tfrmseleksi.TampilGrid(xTampil:String); var xsql:String; begin xsql := ''; xsql := 'SELECT NoHistori,NoAnggota, '+ 'NoPlan,date_format(TglPinjam,"%d-%m-%Y") TglPinjam, ' + 'date_format(TglTempo,"%d-%m-%Y") TglTempo, '+ 'SkorAkhir,BesarPinj,Jangkawkt '+ 'FROM pengajuan '; if xTampil <>'' then xsql := xsql+ 'WHERE NoAnggota LIKE "%'+xTampil+'%" '; xsql := xsql+ 'ORDER BY NoAnggota asc'; if DM.OpenSqlShow(xsql) then begin Gridtransaksi.DataSource := DM.xDShow; SetJudul; end; end; fungsi dibawah ini memanggil prosedur sqlCariData(xdata :string),
dimana combobox Nomor anggota dengan event click.
procedure Tfrmseleksi.cbNomorOnClick(Sender: TObject); begin SqlCaridata(cbNomor.Text); panAng2.Enabled := False; end;
94
b. Proses Memasukkan data Plan (jenis pinjaman)
Proses memasukkan data jenis pinjaman, hampir sama dengan
mencari nomor anggota. Dari proses pemilihan data plan menampilkan
bunga (lihat proses pada procedure TampilBunga). Prosedur IsiPlan
merupakan proses yang menampilkan semua data plan didalam combobox.
Prosedur IsiPlan dijalankan pada event show.
procedure Tfrmseleksi.IsiPlan(xCb:TComboBox); var xsql:String; begin xsql := 'SELECT concat(Noplan,". ",Ket)Ket From plan '; if DM.OpenSqlZ(xSql) then begin xCb.Items.Clear; while not DM.zQuery.Eof do begin xCb.Items.Add(DM.zQuery.fieldByName('Ket').AsString); DM.zQuery.Next; end; end; DM.zQuery.Close; end; procedure Tfrmseleksi.TampilBunga(xTampil:String); var xSql:String; begin xSql := ''; xSql := 'SELECT Bunga FROM plan '; if xTampil <> '' then xSql := xSql + 'WHERE Noplan= "'+copy(xTampil,1,3)+'" '; if DM.OpenSqlZ(xSql) then edBunga.Text := DM.zQuery.fieldbyname('Bunga').AsString; end; Dibawah ini pemanggilan prosedur TampilBunga(xTampil:String),
dimana combobox jenis pinjaman menggunakan event click.
procedure Tfrmseleksi.cbJenisOnClick(Sender: TObject); begin TampilBunga(Trim(cbJenis.Text)); edBesar.SetFocus; end;
95
c. Proses memasukkan kriteria
Prosedur TampilPilihan menampilkan data Kriteria, sektor dan
keterangannya dalam grid. Data – data ini ditampilkan berdasarkan data
dalam database. Untuk prosedur IsiKriteria, bagian ini menampilkan data
sub sektor (fakta) dalam combobox. Data – data ini ditampilkan
berdasarkan kode sektor. Setiap sektor menampilkan data sub sektor dalam
combobox.
procedure Tfrmseleksi.TampilPilihan; var xSql : String; i : Integer; begin xSql := 'Select kodekri,kode5c,namamodel, ' + 'namakri, keterangan ' + 'from kriteria kr inner join model md ' + 'on kr.kode5c = md.kodemodel ' + 'order by kode5c,kodekri asc '; if DM.OpenSqlZ(xSql) then begin i := 0; while not DM.zQuery.Eof do begin Inc(i); gridNilai.AddRow; gridNilai.AutoNumberCol(0); gridNilai.Alignments[0,i] := taCenter; gridNilai.Cells[1,i] :=
begin xSql := 'select kode_sub,nama_sub,skor,kode_kri ' + 'from sub_kriteria ' + 'where kode_kri ="'+xkri+'" ' + 'order by kode_sub asc '; if DM.OpenSqlZ(xSql) then begin gridNilai.ClearComboString; while not DM.zQuery.Eof do begin
DM.zQuery.Next; end; end; end; prosedur dibawah ini untuk memanggil prosedur IsiKriteria, dimana
prosedur ini merupakan GridNilai yang menggunakan event
OnGetEditorType. Prosedur dibawah ini menjalankan isikriteria di kolom
ke-6 sehingga menampilkan data fakta dalam bentuk combobox.
procedure Tfrmseleksi.GridOnGetEditorType(Sender: TObject; ACol,ARow: Integer; var AEditor: TEditorType); begin case ACol of 6:begin AEditor := edComboList; IsiKriteria(gridNilai.Cells[3,arow]); end; end; end; Pada prosedur BuatGrid ini membuat grid untuk grid penilaian, bobot dan
skor tiap kriteria. Prosedur ini akan dipanggil pada waktu form event
Proses tampil skor akhir dijalankan pada saat pengguna mengklik
button seleksi. Button ini diklik setelah pengguna (manajer) masuk
tampilan hasil akhir. Tapi sebelum klik seleksi manajer memasukkan
bobot kriteria. setelah mengklik seleksi akan muncul keputusan, skor tiap
kriteria dan skor akhir
procedure Tfrmseleksi.btnSelekClick(Sender: TObject); var j,p:Integer; Xdate :String; mu,nu,jum,total :Real; begin ProgressBar1.Visible := True; for p:=1 to 100000 do begin ProgressBar1.Position:=p; end; TampilSkorPerKri(SqlNoRekening(cbNomor.Text)); jum := 0; nu := 0; for j := 1 to GridAkhir.RowCount - 1 do begin GridAkhir.Cells[1,j]; GridAkhir.Cells[2,j]; GridAkhir.Cells[3,j]; GridRata.Cells[2,j]; mu := StrToFloat(GridAkhir.Cells[3,j]) * StrToFloat(GridRata.Cells[2,j]); //bobot sektor*nilai fakta nu := nu + StrToFloat(GridAkhir.Cells[3,j]); // jumlah
bobot yang dimasukkan manajer jum := jum + mu; end; total := jum/nu; edRata.Text := FormatFloat('#,##0.00',total); xdate :=(copy(trim(glTanggal),7,4)+'-'+copy(trim(glTanggal),4,2)+'-'+copy(trim(glTanggal),1,2)); edtglj.Text := TglJatuhTempo(xdate,edJangka.Text); edtglj.Visible := False; Keputusan; DM.RunSQL(InsertRataSemen); ProgressBar1.Visible := False; btnSelek.Enabled := False; end; procedure Tfrmseleksi.TampilSkorPerKri(xNomor:String); var //proses perhitungan skor setiap kriteria xSql:String; i:Integer; begin
99
xSql:= ''; xSql:='select m.namamodel, '+ '(sum(se.Bobot*ss.skor)/sum(se.Bobot))as Skor_kri '+ 'from skorsementara ss inner join sektor2 se '+ 'on ss.kodeSek=se.KodeSektor '+ 'inner join model m on se.KodeKri=m.kodemodel '+ 'where ss.noTrans="'+xNomor+'" '+ 'group by m.kodemodel '; if DM.OpenSqlShow(xSql) then begin i := 0; GridRata.RowCount := 2; GridRata.ClearNormalCells; while not DM.xShow.Eof do begin Inc(i); GridRata.AddRow; GridRata.AutoNumberCol(0); GridRata.Alignments[0,i] := taCenter; GridRata.Cells[1,i] := DM.xShow.fieldbyname('namamodel').AsString; GridRata.Cells[2,i] := DM.xShow.fieldbyname('Skor_kri').AsString; DM.xShow.Next; end; GridRata.RemoveRowsEx(GridRata.RowCount-1,1); end; end;
e. Proses Tampil Keputusan
Pada proses tampil keputusan, terdapat pembandingan skor akhir
anggota dengan skor minimum. Jika skor akhir anggota lebih besar dari
data skor minimum, maka keputusannya layak. Jika kebalikannya, maka
keputusannya tidak layak. Prosesnya dapat kita lihat pada prosedur
dibawah ini.
procedure Tfrmseleksi.Keputusan; begin if StrToFloat(edRata.Text) >= StrToFloat(edMin.Text) then edPutus.Text := ' LAYAK' else edPutus.Text := ' TIDAK LAYAK'; end;
100
f. Proses Menyimpan Data Transaksi
Fungsi SqlInsertTransaksi merupakan proses penyimpanan data
transaksi. Proses ini dijalankan jika pengguna mengklik button simpan.
function Tfrmseleksi.SqlInsertTransaksi:String; var xsql:String; begin xsql := ''; xsql := 'Insert into pengajuan (NoAnggota, '+ 'NoKTP,NoPlan,NoHistori,TglPinjam,'+ 'TglTempo,SkorAkhir,BesarPinj, '+ 'Jangkawkt,KodeBatas) '+ 'Values("'+trim(cbNomor.Text)+'", '+ '"'+edktp.Text+'", '+ '"'+copy(cbJenis.Text,1,3)+'",'+ '"'+SqlNoRekening(cbNomor.Text)+'", '+ '"'+copy(trim(glTanggal),7,4)+'-'+ ''+copy(trim(glTanggal),4,2)+'-'+ ''+copy(trim(glTanggal),1,2)+'", '+ '"'+copy(trim(edtglj.Text),7,4)+'-'+ ''+copy(trim(edtglj.Text),4,2)+'-'+ ''+copy(trim(edtglj.Text),1,2)+'", '+ '"'+edRata.Text+'","'+edBesar.Text+'", '+ '"'+edJangka.Text+'","'+edBts.Text+'")'; Result := xsql; end;
g. Proses Cetak
procedure Tfrmseleksi.CetakData(xNoTrans :string); var xSql : String; begin xSql := ''; xSql := 'select ss.noTrans,a.No_Anggota,a.nama, '+ 'a.Alamat,c.namamodel,k.NamaSektor, '+ 'k.Ket,ss.skor,tk.rata, '+ 'tk.besar,tk.keput '+ 'from anggota a inner join ratasemen tk '+ 'on a.No_Anggota=tk.noang '+ 'inner join skorsementara ss ' + 'on tk.kodetrans=ss.noTrans '+ 'inner join sektor2 k on ss.kodeSek=k.KodeSektor '+ 'inner join model c on k.KodeKri=c.kodemodel '+ 'where ss.noTrans="'+xNoTrans+'" '+ 'order by c.kodemodel asc '; if DM.OpenSqlTemp(xSql) then