3;/n,/sflf;W/
PROTOTYPE APLIKASI FUZZY LOGIC
DALAM PENYELEKSIAN INTJE:RNAL
PROMOSI JABATAN KARY AW AN
MUHAMMAD RlDHA PRATAMA
(100091020233)
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SY ARIF HIDA YATULLAH
JAKARTA
2004 MI 1425 H
PROTOTYPE APLIKASI FUZZY LOGIC
DALAM PENYELEKSIAN INTERNAL
PROMOSI JABATAN KARYAWAN
Oleh:
MUHAMMAD RIDHA PRATAMA
100091020233
Skripsi
Scbagai Salab Satu Syarat untuk Mempcrolcb Gclar
Sarjana Tclmik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Ncgcri SyarifHidayatullah Jakarta
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SY ARIF HIDA YATULLAH
JAKARTA
2004 l'!I I 1425 H
Kupersembahkan karya ini untuk Jbunda Neni Husnaeni, Ayahanda Firdaus
Adik-adikku M. Bagi a Januardi (olm) - I miss u much, Filria Fird(vani dan Ferdian Jhsain.
PROTOTYPE APLIKASI FUZZY LOGIC
DALAM PENYELEKSIAN INTERNAL
PI~OMOSI JABATAN KARYAWAN
Skripsi Scbagai Salah Satu Syarat untuk Mcmpcrolch Gclar
Smjana Teknik Informatika Pacla Fakultas Sains clan Teknologi UIN Jakarta
Oleh: MUHAMMAD RIDHA. PRAT AMA
100091020233
Mtnyetujui Pembimbing I,
Ir. Bakri La Katjong, M.T, M.Kom
Pcmbimbing 2,
~ L?7 L-~:c---
victor Amrizal, M.Kom
JURUSAN TEI<NIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UIN SY ARIF HIDAY A TULLAR JAI<ART A
Dcngan ini menyatakan bahwa skripsi yang clitulis olch:
Nama
NIM
Program Studi
Juclul Skripsi
Muhammad Rid ha Pratama
100091020233
Tcknik Jnfi:mnatika
Prototype Aplikasi Fuzzy Logic clalam
Penyeleksian Internal Promosi Jabatan Karyawan
Dapat cliterima sebagai syarat kclulusan untuk memperoleh gelar smjana Komputer
pacla jurusan Teknik Jnformatika, Fakultas Sains clan Teknologi UIN Syarif
Hiclayatullah Jakarta.
Jakarta, September 2004
Menyetujui
Dosen Pembimbing
Pembimbing 1,
~~~.--Pembimbing 2,
~~ ,___. Ir. Bakri La Katjong, M.T, M.Kom Victor Amrizal, M.Kom
Mengetahui Dcka 1,
.Java Putra M.Sis 7 96
Ketua Jurusan,
(/Zyvl,___,,_ Ir. Balz.:ii~a Katjong, M.T, M.Kom Nip. 470 035 764
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARY A SENDIRI YANG BELUM PERNAH DIA.JU KAN SEBA GAi SKRIPSI ATAU KARYA ILMIAtf PAI>A PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Sep tern bcr 2004
Muh. Ridha Pratama 100091020233
ABSTRAK
MUHAMMAD RIDHA PRATAMA, Prototype Aplikasi Fuzzy Logic dalam Penyeleksian Internal Promosi Jabatan Karyawan. (Di bawah bimbingan Ir. Bakri La Katjong, M.T, M.Kom dan Victor Amrizal, M.Kom).
Menurut Drs. Moekijal ( 1986:24 ), tidak ada organisasi yang mcngt:ndalkan pengadaan tenaga kei:ia dari luar untuk memenuhi semua kebutuhannya. Pengadaan tenaga kerja dari dalam merupakan suatu cara mengadakan seleksi/pcmilihan Dengan melihat karyawan bekei;ja beberapa tahun memungkinkan manajemen rnembuat penilaian (dilakukan oleh sckelompok penilai) yang benar tantang kecakapan karyawan. Penilaian ini dirasakan cukup sulit dilakukan karena kandidat-kandidat yang dipromosikan merupakan karyawan berkualitas karena telah menempati posisi tertentu dalarn perusahaan dan hubungan rclevansi karyawan dengan persyaratan-persyaratan ideal/fakta real kandidat yang ditcntukan merupakan hubungan yang tidak pasti, bcrsifat tidak tegas atau kabur (fuzzy).
Melihat dari kondisi tersebut, me/ode ft1zzy merupakan salah satu alternatif terbaik pemecahan masalah di dalam melakukan sebuah penilaian yang objektif terhadap kecakapan karyawan dengan didukung oleh perangkat lunak yang tepat. Oleh karena itu, penulis mencoba rnengembangkan suatu perangkat lunak yang mampu melakukan ha! tersebut di alas menggunakan Borland Delphi 7 dan Paradox 7.0 sebagai database.
Tahapan yang penulis lakukan dalam pengembangan perangkat lunak tersebut pertarna adalah tahapar Pendekatan Sistem (analisis kebu111han, identifikasi masalah) dan kedua adalah tahapan Pengembangan Sistem (menggunakan tiga tahap siklus model RAD-Rapid Aplication Development: Perencanaan Syarat-syarat, Workshop Design, Pelaksanaan).
Terdapat tiga standar fakta penilaian dalam perangkat lunak ini, yaitu [deal A, Ideal B dan Ideal C yang didefinisikan kedalam gugus fuzzy dan sernb1lan nilai pereferensian yang nantinya akan digunakan dalam mereferensikan ketiga fakta penilaian di alas. Kesemuanya itu direpresentasikan menggunakan representasi tinier di dalam gugus fuzzy.
Perangkat lunak ini memiliki 12 sub-program yang marnpu di jalankan dengan konsfigurasi minimal menggunakan operating system Windows 98/2000/XP/NT, prosessor setara Pentium II, memory 64 MB, monitor dengan resolusi l 024x768 dan VGA32 MB.
KATAPENGANTAR
Sujud syukur hanya untuk Illahi Robbi Tuhan sekalian alam yang mempunyai
Dzat Maha Sempurna, karena izin-Nya penulis dapat menyclesaikan pcnyusunan
skripsi dengan judul " Prototype Aplikasi Fuzzy Logic Dalam Pcnyclcksian Internal
Promosi .Jabatan Karyawan" dcngan segala kckurangan didalarnnya.
Shalawat serta salarn tertambatkan kepada rnanusia lennulia Muhammad Bin
Abdullah, yang jutaan bibir dan detak jantung alarn semesta akan selalu menyebut
namanya hingga akhir zaman kelak.
Kesadaran, ucapan terima kasih dan penghargaan terbesar penulis sampaikan
atas motivasi, pengarahan, bimbingan, diskusi, informasi dan do'a yang diberikan
kepada:
I. lbunda Neni Husnaeni dan Ayahanda Firdaus tercinta, ketiga ;idikku tersayang
Muhammad Bagja Januardi, Fitria Firdiyani dan Muhammad Ferdian Husain.
2. Bapak Dr. Syopiansyah Jaya Putera, M.Sis, selaku Dekan Fakultas Sains dan
Tekno.ogi atas keikhlasan dorongan, motivasi dan i)imbingan yang diberikan.
3. Bapak Ir. Bakri La Katjong, M.T, M.Kom, selaku Ketua Jurusan Teknik
Informatika.dan selaku Pembimbing I atas kesabaran, bimbingan dan motivasi
yang diberikan
4. Bapak Victor Amrizal, M.Kom, selaku dosen Pembimbing II atas arahan,
motivasi, pandangan, motivasi dan nasehat yang diberikan.
5. !bu Khoclijah, S.Kom, selaku Sekretaris Jurusan Teknik Jnfonnatika.
6. Ira Ardhini, thanks for the best support and love i've got.
7. Para Dosen dan Staff Administrasi Fakultas Sains dan Teknologi.
8. Seluruh rekan-rekan rnahasiswa sernua jurusan angkatan 2000 khususnya
jurusan Tl B, juga untuk Rusdiana, Ary, Koko, Dcdi dan Riza atas surnbangan
ide dan fasilitas yang diberikan, juga tidak lupa untuk kawan seperjuangan yaitu
Iqbal, !lacker, Dwi Satria, Fuad, Wahyu, Deni, fhnu, Herry, Khumaidi, Kevin,
Hendra, Fahrizal, Bambang, Luthfy, Sukron, Uyunk, Dzia, David, Ilham, Risdi,
Dadan, Hadi dll.
9. Pihak pcrpustakaan Fakultas Sains <lan Teknologi atas sumbangan lembaran
lembaran ilmu pengetahuan yang diberikan.
I 0. clan kepada semua pihak yang tidak dapat penulis sebutkan satu persatu.
Scmoga kebaikan yang tercurah rnenjadi amal sholeh yang tak terputus dan
semoga mendapatkan balasan yang setimpal dari Allah S\VT.
Penulis menyadari banyak kekurangan di dalam pcnulisan karya ilmiah ini, oleh
karena itu rnasukkan yang membangun sangat penulis harnpkan kearnh perbaikan agar
manfaat clari karya ilmiah ini dapat lebih dirasakan.
Ciputat, September 2004
Penulis
DAFTARISI
Halaman
Persetujuan Pembimbing ........................................................................... •··················
Pengesahan ... .. . .. . ... .. . .. . . . . . . . ..... .. . .. . .. . . . . .. . .. . . . . .. ... . .. ... ... . .. . .. . . . . . . . . .. . .. .. .. . ... ... ... .. . . . . . .. ... . . . . . . 11
Pernyataan .................................................................................................................... 111
Abstrak ......................................................................................................................... iv
Kata Pengantar. .... .. ...... ....... ..... ... .. . .. . .. ... . . . ... ...... ....... .. . .. .... ... ... . ....... ..... .... ... . .. .... ...... ... vi
Daftar Isi ....................................................................................................................... vii
Daftar Tabel.. ........................................................................ ...................................... x1
Daftar Gambar ........................................................................................................... xii
Daftar Lampiran ........................................................................................................ xvi
BAB I PENDAHULUAN ......................................................................................... I
I. I Latar Belakang ........................................................................................... I
I .2 Tuj uan Penelit ian .. . . .. . .. .. . .. . .............. ....... .. . .. . .. . ... ... . .. . ... .. . . .. . .. . .. .. ... .. . .. .. . . ... 2
1.3 Perumusan Masalah ................................................................................... 2
1.4 Batasan Masalah ......................................................................................... 3
1.5 Manfaat Penelitian ..................................................................................... 3
1.6 Metodologi Penelitian ................................................................................ 3
l.7 Kerangka Pemikiran ................................................................................... 4
1.8 Sistematika Penulisan ................................................................................ 7
BAB II LANDASAN TEORI ................................................................................. 9
II. I Pendahuluan ............................................................................................... 9
ll.2 Pengertian Fuzzy Logic (Logika Fuzzy) .................................................... 9
ll.3 Mengapa Menggunakan Fuzzy Logic........................................................ 11
Il.4 Himpunan Crisp dan Himpunan Fuzzy ...................................................... 11
ll.5 Operator-operator Fuzzy ............................................................................ 12
II.5.1 Operasi Himpunan Crisp ............................................................. 12
Il.5.2 Tipe Dasar Zedah untuk Operasi Himpunan Fuzzy .................... 13
ll.6 Metodologi Desain Sistem Fuzzy .............................................................. 14
ll.6.1 Mendefinisikan Karakteristik Model Secara Fungsional
Operasional ................................................................................. 15
11.6.2 Melakukan Dekomposisi Variabel Model Menjadi Himpunan
Fuzzy ........................................................................................... 15
ll.6.3 Membuat Aturan Fuzzy ............................................................... 16
I! .6.4 Menentukan Metode De Fuzzy untuk Tiap-tiap Variate!
Solusi ........................................................................................... 16
11.6.5 Menjalankan Simulasi Sistem ..................................................... 17
11.6.0 Pengujian: Peng(lturan & Validasi Model.. ................................. 17
11.7 Variabel Linguistik ..................................................................................... 17
ll.8 Ala! Perancangan Sistem ............................................................................ 18
11.8.1 STD (State Transition Diagram)................................................. 18
11.8.2 Spesifikasi Proses ........................................................................ 19
ll.8.3 Struktur Program ......................................................................... 20
11.9 Sekilas Tentang Delphi 7 ........................................................................... 21
11.9. l Menu ........................................................................................... 21
11.9.2 Speed l3ar .................................................................................... 21
11.9.3 Component Pallctte .................................................................... 22
Il.9.4 Form Designer ............................................................................. 22
11.9.5 Code Editor ................................................................................. 23
11.9.6 Object Inspector ......................................................................... 23
II. I 0 Database Desktop ....................................................................................... 2.4
BAB III METODE PENELITIAN ......................................................................... 26
III.! Tahapan Pendekatan Sistem ...................................................................... 26
111.2 Tahapan Pengembangan Sistem ................................................................ 26
BAB IV ANALISA DAN PERANCANGAN SISTEM ......................................... 29
IV. I Analisa Kebutuhan Si stem ......................................................................... 29
IV.2 Konsep Sistem Penyeleksian Internal Promosi Jabatan Karyawan ........... 29
IV .2.1 Penilaian ...................................................................................... 29
IV .2.2 Standar Penilaian ......................................................................... JI
IV.2.3 Aplikasi Penilaian ....................................................................... 31
IV.2.4 Representasi Linicr. ..................................................................... 32
IV .3 Perancangan Si stem ................................................................................. 41
IV.3.1 Rancangan Proses ........................................................................ 41
!V.3.2 Rancangan Menu ......................................................................... 50
BAB V IMPELEMENTASI .................................................................................... 55
V .1 Tools Pcndukung Si stem ............................................................................ 55
V .1.1 Pcrangkat Keras .......................................................................... 55
V .1.2 Pcrangkat Lunak.. .. ... . .. . .. . .. ... . .. ... . .. .. .. ... ... . . . ..... ... . . . ... . . . ... .... ... ... ... 5 5
V.2 Gambaran dan Fungsi Modul-modul Program .......................................... 56
V.3 Rancangan M')dul ...................................................................................... 57
BAB VI PENUTUP .................................................................................................. 67
Vl. l Kesirnpulan ............................................................................................... 67
VI.2 Saran ........................................................................................................... 68
DAFTARPUSTAKA ................................................................................................. 69
LAMPIRAN ................................................................................................................ 70
DAFT ART ABEL
Halaman
Tabel 4.1 : N ilai ......................................................................................................... 34
Tabel 4.2 : Perefcrensian Fakta dengan Kategori Ideal A ......................................... 35
Tabel 4.3 : Ideal A ...................................................................................................... 35
Tabel 4.4 : Pereferensian Fakta dengan Kategori Ideal B ........................................... 36
Tabel 4.5 : Ideal B ....................................................................................................... 37
Tabel 4.6 : Pereferensian Fakta dengan Kategori Ideal C ........................................... 38
Tabel 4.7 : ldeal C ..................................................................................................... 38
Tabel 4.8 : Fakta-fakta yang Diatur l3erdasarkan Kumpubn Nilai Idea' A .............. 39
Tabel 4.9 : Fakta-fakta yang Diatur Berdasarkan Kumpulun Nilai Ideal IL .............. t,O
Tabel 4. l 0 : Fakta-fakta yang Diatur Berdasarkan T<.umpulrm Nilai Ideal C ................ 40
DAFTAR GAMBAR
1-lalaman
Gambar 1.1 : Pemetaan Input-Output.. ..................................................................... 5
Gambar 1.2 : Diagram Alir ....................................................................................... 6
Gambar 2.1 : Operasi Himpunan Crisp .................................................................... 13
Gambar 2.2 : Metodologi Pengembangan Sistem Fuzzy .......................................... 15
Gambar 2.3 : Contoh Perubahan State ...................................................................... 18
Gambar 2.4 : Notasi Modul ...................................................................................... 19
Gambar 2.5 : Notasi Tampilan .................................................................................. 19
Gambar 2.6 : Notasi Tindakan .................................................................................. 19
Gambar 2.7 : Bagian-bagian IDE Delphi .................................................................. 21
Gambar 2.8 : Speed Bar pada !DE Delphi ............................................................... 22
Gambar 2.9 : Componen Pallette pada IDE Delphi .................................................. 22
Garnbar 2.10 : Form Designer pada IDE Delphi ........................................................ 22
Garn bar 2.11 : Code Editor pada IDE Delphi ............................................................. 23
Gambar :'..12 : Object Inspector pada IDE Delphi ...................................................... 23
Gambar 2.13 : Tampilan Form Database Desktop .................................................... 24
Garn bar 2.14 : Form Pengisian Spesifikasi Field Paradox 7 ...................................... 24
Gambar 2.15 : Form Create Table Paradox 7 ............................................................. 25
Gambar 2.16 : Tampilan Tabel Dibuat dalam Paradox 7 ........................................... 25
Gambar 3.1 : Siklus Pengemgangan Sistem Model RAD ................... : .................... 27
Garn bar 4.1 : Representasi Linier Naik .................................................................... 32
Gambar 4.2 : Himpunan Fuzzy: Nilai ....................................................................... 34
Gambar 4.3 : Grafik Nilai ........................................................................................ 34
Gambar 4.4 : Grafilc Fungsi Keanggotaan Ideal A ................................................... 36
Gambar 4.5 : Grafik Fungsi Keanggotaan Ideal B ................................................... 37
Gambar 4.6 : Grafik Fungsi Keanggotaan Ideal C ................................................... 38
Gambar 4. 7 : STD Sistem ......................................................................................... 41
Gambar 4.8 : Rancangan ERD Antar Tabel ............................................................. 42
Gambar 4.9 : Spcsifikasi Tabel Karyawan ............................................................... 43
Gambar 4.10 : Spesifikasi Jabatan Kosong ............................................................... 43
Gambar 4.11 : Spesifikasi Tabel Cabang ..................................................................... 43
Gambar 4.12 : Spesifikasi Tabel Divisi ...................................................................... 44
Gambar 4.13 : Spesifikasi Tabel Jabatan .................................................................... 44
Garn bar 4.14 : Spesifikasi Tabel Pendidikan Terakhir ............................................... 44
Gambar 4.15 : Spesifikasi Tabel Golongan ................................................................ 45
Gambar 4.16 : Spesifikasi Tabel Usia ........................................................................ 45
Gambar 4.17 : Spesifikasi Tabel Penilaian Kinerja .................................................... 45
Gambar 4.18 : Spesifikasi Tabel Masa Kerja ............................................................ 46
Gambar 4.19 : Spesifikasi Tabel Kesetiaan ................................................................ 46
Garn bar 4.20 : Spesifikasi Tabel Kandidat Karyawan ................................................ 46
Gambar 4.21 : Spesifikasi Tabel Kinerja .................................................................... 4 7
Gambar 4.22 : Spesifikasi Tabel Nilai Pereforensian ................................................. 47
Gambar 4.23 : Spesifikasi Tabel Nilai ........................................................................ 47
Gambar 4.24 : Spesifikasi Tabcl Kalimat A ............................................................... 48
Gambar 4.25 : Spcsifikasi Tabel Derajat Keanggotaaa Ideal A ................................. 48
Gambar 4.26 : Spesifikasi Tabcl Derajat Keanggotaan Kandidat A .......................... 49
Garn bar 4.27 : Spesifikasi Tabel Derajat Keanggotaan Akhir .................................... 49
Gambar 4.28 : Rancangan STD Menu ........................................................................ 50
Garn bar ·t.29 : Rancangan STD Input Data ................................................................ 5 J
Gambar 4.30 : STD Data Karyawan ........................................................................... 52
Gambar 4.31 : STD Data Kebutuhan Posisi .............................................................. 52
Gambar 4.32 : STD Data pcncarian Kandidat.. ......................................................... 53
Gambar 4.33 : STD Penyelcksian Kandidat ................................................................ 54
Gambar 5.1 : Gambaran dan Fungsi Modul-modul Program ................. : ................. 57
Gambar 5.2 : Fonn Menu Utama .............................................................................. .'i8
Gambar 5.3 : Form Data Karyawan .......................................................................... 58
Gambar 5.4 : Form Kebutuhan Posisi ....................................................................... 59
Gambar 5.5 : Form Pilihan Input Data ..................................................................... 59
Gambar 5.6 : Form Pilihan Input Fakta Penilaian .................................................... 60
Gambar 5.7 : Form Input Fakta Penilaian Ideal A .................................................... 60
Gambar 5.8 : Fom1 Input Nilai Pereferensian ........................................................... 61
Gambar 5.9 : Form Check Nilai Pereferensian ......................................................... 61
Gambar 5.10 : Form Derajat Keanggotaan Nilai Pereferensian ................................. 62
Garnbar 5.11 : Form Grafik Derajat Keanggotaan Nilai Pereforcnsian ...................... 62
Gambar 5.12 : Form Pencarian Kandidat Awai. ......................................................... 63
Gambar 5.13 : Form Kandidat Memenuhi Syarat.. ..................................................... 63
Gambar 5.14 : Form Pilihan Penilaian ........................................................................ 64
Gambar 5.15 : Form Penilaian Ideal A ....................................................................... 64
Gambar 5.16 : Form Grafik Derajat Keanggotaan !deal A ......................................... 65
Gambar 5.17 : Form Nilai Derajat Keanggotaan Ideal A ........................................... 65
Gan1bar 5.18 : Form Derajat Keanggotaan Ideal A .................................................... 66
Gambar 5 .19 : Form Nilai Akhir ................................................................................ 66
DAFTAR LAMPIRAN
Lamp. I : Source Code Menu Utama ..................................................................... 70
Lamp. 2 : Source Code Data Lengkap Karyawan .................................................. 74
Lamp. 3 · Source Code Kebutuhan Posisi.. ............................................................ 79
Lamp. 4 : Source Code Pilihan Input Data .............................................................. 82
Lamp. 5 : Source Code Pilihan Input Fakta Penilaian ........................................... 84
Lamp. 6 : Source Code Input Fakta Penilaian ......................................................... 86
Lamp. 7 : Source Code Input Nilai Perefcrensian .................................................. 89
Lamp. 8 : Source Code Check Nilai Perefcrensian ............................................... 93
Lamp. 9 : Source Code Derajat Keanggotaan Nilai Perefcrensian ........................ 96
Lamp. I 0 : Source Code Grafik Derajat Keanggotaan Nilai Pereferensian ............. 99
Lamp. I I : Source Code Pencarian Kandidat Awai. ................................................ 10 I
Lamp. I 2 .. : Source C1de Kandidat Karyawan Memenuhi :Syarat ............................ I 04
Lamp. 13 : Source Code Pilihan Tipe Model Penilaian ........................................... 110
Lamp. 14 : Source Code Analisa Penilaian Ideal A ................................................. I 12
Lamp. 15 : Source Code Grafik Dentjat Keanggotaan Ideal A ................................ 118
Lamp. I 6 : Source Code Nilai Derajat Keanggotaan Ideal A .................................. 120
Lamp. 17 : Source Code Derajat Keanggotaan Ideal A ........................................... I 23
Lamp. 18 : Source Code Penilaian Akhir ................................................................. 125
I.1 Latar Bclakang
BABI
PENDAHULUAN
Dalam menunjang kelancaran operasinya, setiap perusahaan rnernbutuhkan
beraneka ragam sumber daya yang dikombinasikan dengan tujuan menghasilkan
produk atau jasa untuk dipasarkan. Perusahaan umumnya mengkombinasikan lima
tipe sumber daya utama, yaitu personil (manusia), malerial .. mesin (termmukfasilitas
dan energi), keuangan dan informasi. (Hopeman, 1969).
Lima tipe sumber daya utama tersebut, diantaranya rnemiliki satu sumber daya
yang terpcnting yang dapat mempengaruhi efisiensi dan efoktifitas perusahaan, yaitu
Manusia. Sumber Daya Manusia (SDM) adalah elemen yang selalu ada dalam setiap
perusahaan dan mernbuat sumber daya lainnya di dalam perusahaan tempat ia bekerja.
Kesuksesan dan nilai jual suatu perusahaan tergantung pada kreativitas para
pekerjanya. Perusahaan tidak akan dapat memaksimalkan produktivitas dan labanya
tanpa adanya pekerja yang merniliki dedikasi tinggi terhadap perusahaan.
Dalam memenuhi kebutuhan akan SDMnya, maka perusahaan dianggap perlu
untuk melakukan suatu perencanaan di dalam mencari orang-orang yang berkualitas
untuk menempati posisi/jabatan yang dibutuhkan olch perusahaan, yaitu melalui
proses perekrutan. Proses perekrutan ini dibagi menjadi dua, yaitu perekrutan secara
internal (melihat kandidat karyawan yang telah tersedia daiam perusahaan) dan
ekslenwl (kandidat dari luar pcrusahaan/belum mcnjadi karyawan perusahaan).
Penyeleksian internal seorang karyawan yang dianggap mampu untuk
ditempatkan pada posisi/jabatan tertentu di dalam perusahaan sulit dilakukan karena
2
kandidat yang ada mcrupakan karyawan yang berkualitas karena telah menempati
posisi tertcntu dalam perusahaan. Penilaian yang dilakukan harus secara lepat, akural
dan tidak bcrsifat subjektif sesuai dcngan persyaratan-persyaratan yang tclah
ditentukan. Hubungan relcvansi karyawan dengan syarat-syarat yang ditcntukan
merupakan hubungan yang tidak pasti, bcrsifat tidak tcgas atau kabur (fuzzy).
Teknik penyeleksian karyawan menggunakan pendekatanfuzzy ini diharapkan
mampu mengatasi bcberapa permasalahan di atas.
l.2 Tujuan l'cnelitian
Tujuan penulisan karya ilmiah ini adalah untuk membuat sistem (perangkat
lunak) sebagai solusi yang dapat memb,mtu pengambilan keputusan para pemegang
perusahaan dalam mencari karyawan-karyawan berkualitas yang memiliki sumber
daya yang sesuai dengan posisi/jabatan yang dibutuhkan.
I.3 l'erumusan Masalah
Permasalahan penelitian penulis rumuskan sebagai berikut :
I. Bagaimana perangkat lunak ini mampu rnencari kandidat karyawan untuk
mengisi posisi tertentu diantara karyawan-karyawan berkualitas yang dimiliki
perusahaan dengan menampilkan nilai akhir kandidat terbaik yang
perhitungannya menggunakan pendekatan gugus fuzzy.
2. Bagaimana langkah-langkah perancangan sistem ini dan tools apa yang
digunakan agar sesuai dengan poin pertama di atas.
3. Bagaimana dan di mana sistem ini seharusnya diaplikasikan.
3
I.4 Batasan Masalah
Berdasarkan penelitian yang penulis lakukan, kenyataannya, banyak sekali
parameter yang hams digunakan sehingga penulis merasa kesulitan dalam
mengembangkan sistem ini. Untuk itu penulis batasi pengcmbangan sistem ini hanya
pada pe11yeleksia11 i11ter1111/ k11ryawa11 (dalam lingkup perusahaan itu sendiri).
l.5 Manfaat Penelitian
Sesuai dengan pennasalahan dan tujuan penelitia.1 yang sudah disebutkan,
maka manfaat penelitian dapat dirumuskan sebagai berikut:
1. Man'aat yang bersifat akademis, yaitu : Memberikan sumbangan ilmiah bagi
pengembangan sistem menggunakan metode FUZZY LOGIC.
2. Manfaat yang bersifat praktis (non-Akademis), yaitu memberikan kemudahan
bagi para pengembil keputusan dalam peruahan dalam menentukan penilaian
yang tepat dan akurat bagi para kandidat yang dianggap pantas menduduki
posisi/jabatan kosong yang dibutuhkan, sehingga produktititas perusahaan
dalam berjalan dengan baik.
I.6 Metodologi Penelitian
a. Metode yang penulis lakukan untuk mendapatkan data dan informasi, yaitu :
I. Metode Stucli Pustaka
Yaitu pengumpulan data dan informasi dengan cara membaca buku-buku
reforensi yang dapat dijadikan acuan pembahasan dalam masalah ini.
2. Metode Interview
Koentjaraningrat (1985:167) mengartikan interview sebagai sebuah
tindakan pengumpulan infomiasi dengan cam mengajukan sejumlah
4
pert<1nyaan secara lisan dan dijawab secara I isan pula. Dalam ha! ini
penulis mengadakan tanya jawab dengan para stack holder dari berbagai
perusahaan dan lembaga tentang fakta-fakta penilaian yang dibutuhkan
dalam perekrutan karyawan.
3. Metode Observasi
Obscrvasi yang penulis lakukan adalah observasi pustaka, yaitu
mengumpulkan informasi dengan cara peng.amatan atau peninjauan
tcrhadap obyck penclitian lewat buku-buku yang terkait.
b. Metodc Pengembangan Sistem
Pengembangan sistem dalam penelitian ini penulis lakukan menggunakan lima
tahap siklus pengembangan model RAD (Rapid Aplication Development),
Kendal & Kendal ( 1998, 200), yaitu: (I) Fase menentukan syarat-syarat, yaitu
mcnentukan tujuan dan syarat-syarat informasi; (2) Fase perancangan, yaitu
perancangan proses-proses yang akan tci:jadi di dalam sistem, perancangan
basis data yaitu perancangan tabel-tabel yang akan digunakan, dan
perancangan antamrnka yaitu perancangan antarmuka masukkan dan
antarmuka keluaran; (3) Fase konstruksi, pada tahap ini dilakukan pengkodean
terhadap rancangan-rancangan yang telah didefinisikan; (4) Fase pelaksanaan,
pada tahap ini dilakukan pengujian terhadap sistem dan melakukan
pengenalan terhadap sistem, dan; (5) Fase Lnplementasi.
1.7 Kcrn.1gka Pcmikiran
Garis besar kerangka berpikir sistem penyeleksian internal promosi jabatan
karyawan menggunakan gugus fuzzy seperti terlihat pada gambar 1.1 di bawah ini:
Ruang INPUT
posisi/jabatan kosong
Ruang OUTPUT A <I TAM
~~c:)o FUZZY
LOGIC llasil akhir penilaian lundidat yang panta.s
\ unruk 1nc11gi~i
1w.sisiljabati111 ko~ong
5
Gambar 1.1 Pe111etaa11 input-output pada Sisteni pe11yeleksian Internal Promos/ Jabllltln Karyawa11
Untuk menempati suatu posisi/jabatan tertentu dalam suatu perusahaan,
seorang kandidat harus dinilai terlebih dahulu oleh sekelompok penilai. Menurut
Capaldo & G. Zollo (1993), penilaian ini terdiri atas penilaian umum (yang terdiri
dari hal-hal/kriteria-kriteria umum - public memory) dan penilaian khusus (mencakup
nilai-nilai/kriteria-kriteria yang sifatnya khusus - private memory).
Sistem Internalitas Pencarian Karyawan dengan pendekatan gugus fuzzy
dilakukan dalam beberapa langkah, yaitu:
1. Identifikasi posisi/jabatan kornng perusahaan.
2. Melakukan pencanan karyawan yang m~menuhi kriteria awal
penyeleksian yang telah ditentukan. Karyawan yang terpilih akan menjadi
kandidat yang nantinya akan mengisi posisi/jabatan kosong.
3. Menentukan nilai-nilai (terms) pereferensian yang akan digunakan dalam
perefcrensian fakta-fakta dengan kategori kandidat. Nilai pereferensian ini
tergantung kepada kebijaksanaan perusahaan.
4. Menentukan fungsi keanggotaan dan menghitung derajat keanggotaan
nilai-nilai tersebut.
5. Pereferensian antara fakta-fakta yang terbentuk (hasil penilaian
6
6. Menentukan timgsi keanggotaan nilai pereferensian masing-masing
kategori kandidat dan menentukan derajat keanggotaan nilai-nilai tersebut.
7. Hitung derajat keanggotaan akhir kandidat dengan mengacu pada derajat
keanggotaan nilai-nilai pcrefcrensian yang telah ditetapkan perusahaan.
8. Menentukan hasil akhir penilaian kandidat yang nantinya akan menduduki
posisi/jaba.an kosong perusahaan.
~iulni
ldemifikasi Jabatan kosong
Seleksi awal
Tentukan nilai pereferensian
Hitungdc.rajat keanggo1aan nilai
Pereferensian fakti;-] dcngan katcgori J
Tentukan derajat keanggotaan tiup nilai
Hilung dcrajrtt J kcanggo111.sn nlhir
Hasil akhir ixnilaian
( Selesa1 )
Gambnr 1.2 Diagrtl/11 alir J/iagra1n a/Ir dari Siste1n Penyeleksian /11li'!r11al Pron1osi Jabalan Karya1va11 tle11ga11 pe11dehata11 gugus fuz;Ji.
7
1.8 Sistcmatika Pcnulisan
BAB! PENDAHULUAN
Dalam bab ini, penulis mengemukakan tcntang btar bclakang penelitian,
tujuan penelitian, perumusan mi salah, batasan masalah, manfaat penclitian,
metodologi penclitian, kerangka pcmikiran dan sistematika pcnulisan.
BAB II LANDASAN TEORI
Dalam bab ini, penulis mengemukakan dan membahas teori tentang pcngertian
Gugus Fuzzy Logic, Himpunan Crisp dan Himpunan Fuzzy, Operator
operator Fuzzy, Metodologi De.min Sistem Fuzzy, Variabel Linguistik, Seki/as
tentang Delphi 7 dan penggunaan Database Desk/Op di dalam menangani
tabel dari Paradox sebagai media penyimpanan data.
BAB Ill METODOLOGI PENELITIAN
Dalam bab ini, penulis menjelaskan tahapan-•ahapan metodologi penelitian
yang digunakan yaitu tahapan pendekatan sistem dan tahapan pengembangan
sisten1.
BAB IV ANALISA DAN PERANCANGAN
Dalam bab ini, penulis menjelaskam analisa kebutuhan sistem, konsep
pcnilaian karyawan menggunakan gugus fuzzy, pcrancangan sistem yang
meliputi perancangan proses, perancangan basis data, pcrancangan menu
perancangan masukan dan perancangan keluaran.
8
BAB V IMPLEMENTASI
Dalam bab ini, penulis mcndeskripsikan sarana-sarana pendukung sistem,
gambaran modul-modul fungsi program dan rancangan interface (antarmuka)
masing-masing modul.
BAB VI Pli:NUTUP
Dalam bab ini, pcnulis mencoba menyimpulkan pennasalahan-p~rmasalahan
yang dibahas scrta mencoba mengemukakan saran-sarnn yang dianggap pcrlu.
II.1 Pendahnluan
BAB II
LANDASAN TEORI
Dalam kehidupan schari-hari, kita tidak dapat memutuskan sesuatu masalah
dengan jawaban "Ya" atau "Tidak". Sebagai contoh, untuk menyatakan orang
berbadan "tinggi", amat bersifat relatif. Demikian juga untuk mengatakan warna
"abu-abu" yang merupakan campuran antara hitam dan putih.
Pada tahun 1965, zedah memodifikasi teori himpunan dimana setiap
anggotanya memilliki derajat keanggotaan yang bernilai kontinyu antara 0 sampai l.
himpunan ini disebut himpunan kabur (Fuzzy Set).
Selama beberapa dekade yang lalu, himpunan fuzzy dan hubungannya dengan
fuzzy logic telah digunakan pada lingkup domain permasalahan yang cukup luas.
Lingkup ini antara lain mencakup kendali proses, klasifikasi dan pencocokan pola,
manajemen dan pengambilan keputusan, rise! operasi, ekonomi dan lain-lain. Sejak
tahun 1985, terjadi perkembangan yang sangat pesat pada fuzzy logic tersebut
terutama yang bersifat non-linier, ill-defined, lime-varying, dan situasi-situasi yang
sangat kompleks.
U.2 Pengcrtian Fuzzy Logic (Logika Fuzzy)
Logika fuzzy dikatakan sebagai logika baru yang lama, sebab ilmu tentang
logika fuzzy modern dan metodis baru ditemukan beberapa tahun yang lalu, padahal
sebenarnya konsep tentang logika fuzzy itu sendiri telah ada pada diri kita sejak lama.
Logika Fuzzy adalah suatu cara yang tcpat dalam memetakan suatu
ruang input kcdalam suatu ruang output. Sebagai contoh:
10
1. Manajer pergudangan mengatakan pada manajer prnduksi seberapa banyak
persediaan barang pada akhir minggu ini, kemudian manajer produksi akan
menetapkan jumlah barang yang harus diproduksi esok hari.
2. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kcndaraan yang
diinginkan. sopir taksi akan mengatur pijakan gas taksinya.
3. Anda mengatakan pada saya seberapa sejuk ruangan yang anda inginkan, saya
akan mengatur putaran kipas angin yaag ada pada ruangan ini.
Salah satu contoh pemetaan suatu input-output dalam bentuk grafis terlihat
pada Bab I gambar 1.1 di alas.
Antara input dan output terdapat satu kotak hitam yang harus memetakan
input ke output yang sesuai. Selama ini, ada beberapa cara yang mampu bekerja pada
kotak hitam tersebut, antara lain:
I. Sistcm frizzy;
2. Sistem tinier;
3. S istem pakar;
4. Jaringan syaraf;
5. Pcrsamaan differensial;
6. Tabel interpolasi multi-dimensi; di!.
Meskipun ada beberapa cara yang mampu bekerja d8lam kotak hitam tersebut,
namun fuzzy akan memberikan solusi yang paling baik. Mengapa demikian?
Sebagaimana telah dikemukakan oleh Lotti A. Zadeh, bapak logika fuzzy: "pada
hampir semua kasus k:ta dapat menghasilkan suatu produk tanpa menggunakan logika
fuzzy, namun menggunakan logika fuzzy akan lebih cepat dan lebih munh".
11
II.3 Mcngapa Mcnggunakan Fuzzy Logic (Logika Fuz:zy)
Ada beberapa alasan mengapa orang menggunakan logika fuzzy, diantaranya
yaitu:
I. Konsep matematis yang mendasari penalaran logika fuzzy mudah dimcngerti.
2. Logika fuzzy sangat fleksibel.
3. Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.
4. Logika fuzzy mampu memodelkan fungsi-fungsi nonlinier yang sangat
kompleks.
5. Logika fuzzy dapat membangun dan menga.plikasikan pengalaman
pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
6. Logika Fuzzy dapat beke1jasama dengan teknik-teknik kcndali secara
konvensional.
7. Logika fuzzy didasarkan pada bahasa alami.
H.4 Himpunan Crisp dan Himpunan Fuzzy
Himpunan Crisp A didefinisikan oleh item-item yang ada pada himpunan itu.
Jika a E A, maka nilai yang berhubungan dengan a adalah I. Namun, jika a,E A,
rnaka nilai yang berhubungan dengan a adalah 0. Notasi A,; {x I P(x)} menunjukkan
bahwu A berisi item x dengan P(x) benar. Jika XA merupakan fungsi karakteristik A
dan properti P, maka dapat dikatakan bahwa P(x) benar,jika dan hanyajika XA(x)=I.
Himpunan fuzzy didasarkan pada gagasan untuk memperluas jangkauan
fungsi karakteristik sedemikian hingga fungsi tersebut akan mencangkup bilangan
real pada interval [0,1]. Nilai keanggotwnnya menunjukkan bahwa suatu item dalam
semesta pembicaraan tidak hanya berada pada 0 atau I, namunjuga nilai yang terletak
!2
diantaranya. Dengan kata lain, nilai kebenaran suatu item tidak hanya bemilai benar
atau salah. Nilai 0 menunjukkan salah, nilai I menunjukkan benar, dan masih ada
nilai-nilai diantara benar atau salah.
Misalkan diketahui klasifikasi sebagai berikut:
MUDA
SETENGAH BAY A
TUA
umur < 35 tahun
35 S umur S 55 tahun
umur > 55 tahun
Dengan menggunakan pendekatan crisp, amatlah tidak adil untuk menetapkan
nilai SETENGAH BAY A. Pendekatan ini bias saja dilakukan untuk hal-hal yang
bersifat diskontinyu. Misalkan klasifikasi untuk umur 55 dan 56 sangatjauh berbeda,
umur 55 tahun termasuk SETENGAH BAY A, sedangkan umur 56 tahun sudah
termasuk tua. Demikian pula untuk kategori MUDA dan TUA. Orang yang berumur
34 tahun dikatakan MUDA, sedangkan orang yang berumur 35 tahun sudah TIDAK
MUDA lagi. Orang yang berumur 55 tahun tennasuk SETENGAH BAY A, orang
yange bermumur 55 tahun lebih l hari sudah T!DAK S.ETENGAH BAY A lagi.
Dengan dem;kian pendekatan crisp ini sangat tidak cocok u.ntu!' diterapkan pada hal
hal yang bersifat kontinyu, seperti umur.
II.5 Operator-operator Fuzzy
II.5.1 Operasi Himpunan Crisp
Pada logika tradisional, fungsi keanggotaan himpunan terbagi atas 2 daerah:
µA[x] = 0, jika x ,€:'. A atau
µA[x] = l,jika x EA.
0 Scmcsta
INTER~iEKSI
(H) • Pcmbicarsum
t---t-·· (,~ ~J
KOMPLEMEN UNION
Garn bar 2.1 Oper(IS/ Ililnpunan L'risp
""1
EXCLUSIVE UNION
13
Dengan kata lain, fungsi keanggotaan himpunan A bernilai nol (0), jika x bukan
merupakan elemen dari himpunan A. sebaliknya, fungsi keanggotaan himpunan A
akan bernilai satu (I) jika x merupakan &nggota A. keanggotaan himpunan crisp
selal u dapat dikategorikan secara pen uh tan pa ada dikotorni atau ambiguitas. Pada
himpunan crisp, ada 4 operasi dasar seperti terlihat pada gambar 2.1.
Union dari himpunan A dan B (AUB) berisi semua elemen yang berada pada
himpunan A atau pada himpunan B. lnterseksi dari himpunan A dan B (AUB) berisi
semua elemen yang berada pada himpunan A atau pada himpunan B.
1!.5.2 Tipe Dasar Zcdah uutuk Opcrasi Himpunau Fuzzy
Seperti halnya himpunan konvensional, ada beberapa op.;rasi yang
didefinisikan secara khusus untuk mcngkombinasi dan memouifikasi himpunan fuzzy.
Berikut ini beberapa operasi logika fuzzy konvensional yang didefinisikan oleh
Zedah:
14
Interseksi µArni =min (ftA[x], [ts[y])
Union µAUil =max (µA[x], µa[y])
Komplemen fLA = I - µA[x]
Karena himpunan fuzzy tidak dapat dibagi dengan tepat seperti halnya pada
himpunan crisp, maka operasi-operasi ini diaplikasikan pada tingkat keanggotaan.
Suatu eleme•1 dikatakan menjadi anggota himpunan fuzzy jika: ·
I. Berada pada domain himpunan tersebut.
2. Nilai kcbenaran anggotanya 2: 0.
3. Bcrada diatas ambang ex -cut yang berlaku.
II.6 Metodologi Dcsain Sistem Fnzzy
Untuk melakukan perancangan (desain) suatu sistem fuzzy perlu dilakukan
beberapa tahapan yaitu:
I. Mendefinisikan karakteristik model secara fungsional dan operasional;
2. Melakukan dckomposisi variable model mcmjadi himpunan fuzzy;
3. Membuat aturan fuzzy;
4. Menentukan metode defuzzy untuk tiap-tiap table sol.usi;
5. Menjalankan simulasi sistem;
6. Pengujian pengnturan & validasi model.
Mcnyusun model dalam segmcn kebijakan
Mcndefinisikan karakteristik model
secara fungsional dan
f\.fendckomposisikan variabcl-variabel kedalam himounan~himouan fuzzv JI
Membentuk atumn
Mendefinisikan mcto<le defuzzikasi
tvfenjalankan simulas1 sistem
Pengujian: mengatur dan menvalldasi model
Gambar 2.2 Afetodologi Penge111ba11gan Sistent Fuzzy
M1:ndefinisikun norma!isasi post-model
Mcndtfinisikan matriks tJntuk kerja
Menghubungkan ke sistem produksi
II.6.1 Mcndcfinisikan Karaktcristik Model secara Fungsional & Operasional
15
Pada bagian ini perlu diperhatikan karakteristik apa saja yang dimiliki oleh
sistem yang ada, kemudian dirurnuskan karakteristik operasi-operasi yang akan
digunakan dalam model fuzzy. Ditentukan pula batasan-batasan model, berupa:
perbendaharaan hirnpunan fuzzy, hedge dan definisi dari beberapa variabel.
II.6.2 Melakukan Dckomposisi Variabcl Model Menjadi Himpunan Fuzzy
Dari variabel-variabel yang telah dirumuskan pada bagian !1.6. I dibentuk
hirnpunan-himpunan fuzzy yang berkaitan. Dalam membentuk himpunan fuzzy perlu
diperhatikan domain yangjuga telah disebutkan pada 11.6.1.
16
H.6.3 Membuat Aturan Fu1.zy
Aturan-aturan pada suatu model fuzzy menunjukkan bagaimana suatu sistem
beroperasi. Secara umum aturan dituliskan sebagai:
IF (x1 is A1)o (x2 is A2)• (x3 is A3)• ... • (x0 is Ao) lliEN y is B
Dengan • adalah operator (missal: OR atau AND), Xi adalah skalar dan Ai adalah
variabcl linguistik. Apabila sistem tidak menggunkan hedge, maka variabel
linguistiknya sama dengan himpunan fuzzy.
Untuk menulis aturan perlu diperhatikan hal-hal berikut ini:
I. Kclompokkan aturan yang memiliki solusi pada variabel yang sama.
2. Urutkan aturan sehingga mudah dibaca.
3. Gunakan identitas unh1k memperlihatkan struktur aturan.
4. Gunakan penamaan yang umum untuk mengidentifikasi variabel-variabel pada
kelas yang berbeda.
5. Gunakan kom-:ntar untuk mendeskripsikan tujuan dari suatu atau sekelompok
aturan.
6. Berikan spasi antar aturan.
7. Tulis variabel dengan huruf besar-kecil, himpunan fuzzy dengan huruf besar
dan demen-elemen bahasa lainnya dengan hurufkedl.
II.6.4 Menentukan Metode DcFuzzy untnk Tiap-tiap Variabel Solusi
Pada tahap defuzzikasi akan dipilih suatu nilai dari suatu variabel solusi yang
merupakan konsekuen dari daerah fuzzy.
17
II.6.5 Mcnjalankan Simulasi Sistem
Pada tahap ini, dibuat simulasi sistem secara lengkap. Simulasi harus
memberikan kemudahan bagi user. Perlu dipertimbangkan juga kemungkinan
pengembangannya. Untuk itu, pada program simulasi perlu disertakan editor untuk:
a. Perbaikan variabel model input/output;
b. Perbaikan himpunan fuzzy;
c. Perbaikan aturan;
d. Pilihan metode defuzzikasi.
H.6.6 Pengujian: Pengaturan & Validasi Model
Dari program simulasi yang sudah dibentuk, diuji.kan untuk beberapa nilai
input untuk mendapatkan kebenaran dan validasi output. Apabila hasil yang diperoleh
selama pengujian kurang sesuai dengan yang diharapkan, maka diulangi lagi pada
proses dekomposisi variabel ke himpunan fuzzy. Sebaliknya, jika hasil yang diperoleh
sudah sesuai dengan yang diinginkan, maka program langsung dapat dihubungkan
dengan sistcm produksi.
Il.7 Variabcl Linguistik
Menurut Zadeh ( 1988), variabel linguistik (linguistic variabe/) adalah suatu
variabel yang nilainya adalah kata atau kalimat di dalam bahasa natural. Sebagai
contoh, "umur" adalah variabel linguistikjika nilainya "muda", "tidak muda", "sangat
muda"~ ''tua", "tidak tua", atau Hsangat tua".
Umumnya, nilai variabel linguistic dapat dibangkitka.1 dari nilai yang paling
utama (contohnya "muda"), lawwan katanya (contohnya ''tua", kumpulan modifier
(contohnya "sangat", "cukup"), dan kata hubung ("dan" dan "atau").
18
H.8 Alat Perancangan Sistem
Menurut Pressma (I 997, 186) ada tiga alasan dalam merancang untuk
mcmbuat suatu sistem:
I. Agar dapat terfokus pada bagian sistem yang penting.
2. Agar dapat terfokus pada bagian yang akan mengalami perubahan ·perubahan
dan koreksi, serta dokumentasi.
3. Agar dapat mengerti akan lingkungan pemakai, sehingga sistem tersebut lebih
baik.
ll.8.1 STD (State transition Diagram)
State Transition Diagram mcrupakan diagram yang menggambarkan
bagaimana state I dihubungkan dengan state yang lain pada satu waktu. STD
menggambarkan suatu state yang mempunyai kondisi di mana dapat menyebabkan
perubahan satu state ke state yang lain. (Hoffer, George dan Valacich, 1996, 364).
State Transition Diagram pada dasarnya merupakan sebuah diagram yang
terdiri dari state dan transisi atau perpindahan state. Transisi atau perpindahan state
terdiri dari kondisi dan aksi. Transisi diantara kedua keadaan pada umumnya
disebabkan oleh suatu kondisi. Kondisi adalah suatu kejadian yang dapat diketahui
oleh sistem. Sedangkan aksi adalah tindakan yang dilakukan oleh sistem apabila
te1jadi perubahan state atau merupakan reaksi dari sif.tem.
State I
Aksi
State 2
Gnn1bar 2.3 Contoh perubahan state
19
Adapun komponen atau simbol y1ng digunakan dalam diagram STD adalah:
a. Modul
Menggunakan simbol lingkaran keci: (gambar 2.4) yang mcwakili modul yang
dipanggil apabila tc1jadi suatu tindakan.
0 Gan1bar 2.4 Notasi 111otful
b. Tampilan kondisi (state)
Mcrupakan layer yang ditampilkan menurut keadaan atau atribut, untuk
memenuhi suatu tindakan pada wawktu tertentu yang mewakili suatu bentuk
keberadaan atau kondisi tertentu. Disimbolkan dengan gambar kotak sepcrti
yang terlihat pada gambar 2.5.
,____] Ga1nbar 2.5 Nolasi tatnpilan
c. Tindakan (state transition)
Mcnggunakan simbol anak panah (gambar 2.6) disertai keterangan tindakan
yang dilakukan.
Gan1bar 2.6 Notasi tintlakan
Il.8.2 Spcsifikasi Proses
Spesifikasi proses merupakan penjclasa dari proses-proses yang terjadi di
dalam sisten 1. Spesifikasi proses . harus dimengerti baik oleh pemakai maupun
20
pembuat sistem. Spesifikasi proses akan menjadi pedoman bagi pembuat program
dalam membuat kode program maupun dokumentasi. Banyak cara untuk membuat
spesifikasi proses antara lain dengan memakai:
a. Tabet keputusan (Decision table)
b. Bahasa terstruktur (Pseudo code) dengan:
I . Bahasa lngg··is terstruktur
2. Bahasa Indonesia terstruktur
c. Bagan alur (flowcharl)
d. Diagram notasi - Sneiderman (Diagram N-S)
e. Bentuk narasi atau cerita (misal dalam bahasa lnggris a/au Indonesia)
(Pressman, 1997, 341-358).
H.8.3 Struktur Program
Struktur program menggambarkan bagan atau diagram control distribusi yang
bersifat top - down, penampilnya dibagi tingl:at pertingkat, ar.tara lain:
a. Top Level Module, yaitu model yang menentukan atau mengambil keputusan
(decision making).
b. Low Level Module, yaitu digunakan sebagai mm;ukkan, pemrosesan atau
control sehingga menghasilkan keluaran.
Struktur program ini bertuj uan untuk mem berikan gambaran proses informasi
yang masuk, mengalir dan keluar pada program yang akan dibuat secara garis
besar dengan menggunakan bagan terstruktur (pressman, 1997, 337).
21
II.9 Sckilas tcntang Delphi 7
Pada dasarnya IDE (Integrated Development Envirintment) milik Delphi
dibagi menjadi enam bagian utama, yaitu Menu, Speed Bar, Component Palette, Form
Dcsigne:, Code Editor Jan Object Inspector.
"' '"'"" Nq _.n,.~·
Afl >Nd f,<~,
~ .w1;,1.., ;s;; ffi.\rcl 11 f~l.:11,,..fu;-,j
hk. <!<ii r,..., 1w:,,.,. f:J.o em >1'> td.~1!«'<-J1
"' 1 Objoct Inspector
m
'" Or.IDl,.f.;ce !TSio<f.<'"""'"I fo~,
0Vofa$
¥Ar'-"'<f0<:r. rot-.
i\1------.1., >-~ Tfoml
+ _J V•ndi::~""' • _J U101
Gan1bar 2.7 Bagia11-bagia11 !DE Delphi
U.9.1 Menu
Fonn Dwlgner
Menu pada IDE Dephi memiliki kegunaan sepeiti menu pada aplikasi
windows lainnya. Dari menu ini, kita bisa memanggil dan menyimpan program,
menjalankan dan melacak bug program, dsb. singkatnya segala sesuatu yang
berhubungan dengan IDE Delphi, dapat dilakukan di Menu.
Il.9.2 Speed Bar
Speed Bar atau sering juga disebut tool bar berisi kumpulan tombol yang tidak
lain adalah pengganti beberapa menu item yang sering digunakan. Dengan kala lain,
setiap tombol pada Speed Bar menggantikan salah satu item menu. Sebagai rnntoh,
22
tombol kiri atas adalah pengganti menu File I New, tombol clisebelah kanannya adalah
pengganti menu File I Open, dst.
v_, _,,.J "' f:j 1f '-.} b ~~ 4fl _,o 5J T..:. l':I J ,/
Gambar 2.8 Speed Bar pad" l/JE Delphi
ll.9.3 Component Palette
Component Palette bcrisi kumpulan ikon yang melambangkan komponen-
komponen pada VCL (Visual Component Library). VCL adalah pustaka komponen
yang dcngan ini kita dapat membangun scbuah aplikasi.
Pada Component Palette, terlihat bebcrapa tab, yaitu Standard, Additionals,
Data Access, dan seterusnya.
Stand<lld : Adciliooal Wlf'l32 i Svstem Dul.a Access i Data Controls: d:£1De» i D&aSMO i BOE i J..00 ! lnterl~_L!: ..
~ :5j :if ~ A i"1 ~ J!.i IX Ci :llfl §1 ~ - ·· Jf Garnbar 2.9 Ca111po11e11t Palette pat/a IDE Delp/ti
II.9.4 Form Designer
Sesuai dengan namanya, Form Designer merupakan tempat dimana dapat
merancang jendela dari aplikasi windows. perancangan form dilakukan dengan
meletakkan komponcn-komponen yang diambil dari Componen Palette.
~Fom1t
Gan1bur 2, 10 f~orn1 Designer pada /DE Delphi
23
II.9.5 Code Editor
Code editor adalah tempat dimana bisa menuliskan program. Di sini
diletakkan pernyataan-pernyataan dalam Object Pascal. Pemrogram Borland Pascal
pasti tidak asing lagi dengan code editor karena sangat serupa dcngan editor milik
Pascal.
Yang perlu diperhatikan dari Code Editor adalah tidak perlu menuliskan
seluruh kode sumber. Delphi telah menuliskan semacam kernngka secara otomatis.
,JUu>tlJU
~Ind<>.,., ha-•, 5j'11llt1l•, Vor1..it•, Clsnn, ij
H•ic?:
•n• Tron.I ~ Glaa"(lT<><>•! trlUU
{ i•;u-;,~ d~<l=•"'"' ' _, rcnu' TJomdl
Gambur 2.11 Cotle Editor put/a /DE Delphi
II.9.6 Object Inspector
Object Inspector digunakan untuk mengubah karaktt:ristik sebuah komponen.
pada Object Inspector, terlihat dua tab,) aitu Properties dan Event (diaktifkan dengan
mengklik teks Properties atau Event).
l~L ·-· '~:~ ,,_ 0
1ilR""°"""'
i :=j!, 1-,""""' I~ ·~ '~ 1~ ,_ I Dodl; .. ·-
··~ ~ , ....... _ .. !wj
·~ ·~ M"''dlif'
14'•""""'-"' t~""--""
" r .... , ill ~
Ous•..i~ u;;,,.,:.. .... ,..,q ,,. ~ .. """'""'"" . ..
ll!.jo<l ..... -1r.;;.1 --~--------
:~ c-1
24
Tab Properties, bisa mengubah prope1ti dari ko.[l'ponen-komponen IDE
Delphi. Secara mudah, properti dapat dijelaskan sebagai data yang menetukan
karakteristik komponen.
Tab Event, dapat menyisipkan kode untuk menangani kejadian tertentu.
kejadian bisa dibangkitkan karena beberapa hal, scperti pengklikkan mouse,
penckanan tombol key-board, penutupanjendela, dsb.
11.10 Database Desktop
Database Desi.top adalah fasilitas yang dimiliki Delphi untuk membantu
dalam membuat, menampilkan, mengurutkan dan mencari data yang adCI pada tahel.
Database Desktop dapat menangani table dari Paradox, dBASE dan Format SQL.
Dalam hal ini penulis menggunakan Paradox 7 sebagai database .
.,,! ............. .., , .. ""·-~- .. .,
._. .... Ga1nbar 2.13 Tantpilan For1n Database Desktop
·~-f,.;;,_ 111" i;.,. 14y "-°"°" r r imm
>.1~ .. ;r..u
25
Gambar 2.15 F't.1r1n Cre11te Table Paradox 7
l"~!l,\{,\i>,)\" il•t1klGj>
fie hit v..... 1"1.lo Jll)U>'d Tools w.tl>w ttdp
Nam11 Caba nu OM~
Aly Adh~ya PT. Pra1uma N<UNTANSl Rosdiuna PT. Pra1~mu IT °"'i S11uia WijLriatko PT Pr.ilama Ak\.INTANSI Mochlar Sani PT. Prij\ama PEMASAAAt~
5 1 UXXl16 Kaku Kocharunarnmi PT Pfii1ama IT 6 110C017 Hon S1ragar PT. P1ulama IT 7 1100016 Iqbal Medarii PT. Pr.i1~ma IT 6 1 HlXH9 fshnza! l~kandar PT. Pralama PEMASAAAN 9 1100l4J Khum~id1 Hamb~li PT. Prij10mQ IT
10 11COJ21 N-Hadi Must~qillm PT. Pl'lllama IT 11 11llXQ2 w~hyu Mmyantu PT. Praluma " 12 1100:00 Heri Silhram PT. Pratama Alrnnl~Mi
\. ''
Ga1nbar 2.16 Sa/ah satu cont oh tan1p/lt111 table yang dlbuat de11ga11 Paradox 7
BAB III
METODE PENELITIAN
Seperti yang telah dibahas sccara singkat pada bab I, dalam pengembangan
perangkat lunak yang menjadi penelitian penulis, ada bebcrapa tahapan yang penulis
lakukan diantaranya adalah scbagai berikut:
Ill.l Tahapan Pcndelmtan Sistcm
Tahapan ini dilakukan sebelum tahapan pengembangan sistem. Pada tahapan
ini dilakukan analisis kebutuhan dan identifikasi sistem.
a. Analisis Kebutuhan
Pada tahapan ini, ditentukan pengguna dan kebutuhannya terhadap sistem.
Pengguna dari sistem adalah pihak yang berwenang dalam meiakukan
penilaian dan pengambilan keputusan terhadap kandidat karyawa1 yang
mcnduduki posisi kosong dalam suatu perusahaan.
b. Identifikasi Sistem
Penyeleksian karyawan yang bertujuan menentukan siapa yang berhak
menduduki posisi/jabatan kosong, adalah mutlak harus dilakukan dalam
sebuah perusahaan baik penyeleksian secara internal maupun penyeleksian
secara eksternal.
Dalam penyeleksian tersebut, penilaian yang objektif amat sulit dilakukan
karena fakta-fakta penilaian sekclompok kandidat bersifat tidak jelas/tidak
tetap/kabur. Oleh karena itu, sebuah sistem yang mampu melakukan penilaian
sekelompok kandidat secara objektif amat diperlukan.
27
III.2 Tahapan Pengembangan Sistem
Pengembangan sistem yang pcnulis lakukan menggunakan tiga tahap siklus
pengembangan model RAD (Rapid Aplication Development) seperti yang terlihat
pada gamabar 3.1, Kendall & Kendall (I 003:237).
Fa:;c Pcrcncanunn Syarat-syarut
Menentukan l 'fujuan dan Syarat~syarat
lnforn1asi
Fnse konstruksi I workshop ~------------,
~ ...... ·--·-···-···-···-------·-J n ' llmpan Balik i-Pengguna !
~ [____.________, Bekerja dcngan Men1bangun
Pengguna untul\: sisten1 Sisten1
Perancangan
r·· ·····-··-··-··-······- ············-·····--i
!Vlcnggunakan 1\-lasukkan da1i
Memperkcnalkan Sisten1
Fase Pelaksarumn
L---'
(;~unbar 3.1 Slklus Penge111ba11gan Sisten11nodel RAD
a. Perencanaan Syarat-syarat
Dalam fase ini, pengguna (pihak yang melakukan penilaian terhadap kandidat-
lrnndidat) dan pihak yang menganalisa bertemu untuk mengidentifikasi syarat-
syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut. Hal ini penulis
uraikan sebagai analisa terhadap sistem yang berjalan dan sistem yang akan
diterapkan.
28
b. Workshop Design
Pada tahapan ini dilakukan perancangan proses yaitu perancangan proses
proses yang akan te1jadi di dalam sistem, perancangan basis data yaitu
perancangan tabel-tabel yang akan digunakan, perancangan antarmuka
rnasukkan dan antarmuka keluaran serta dilakukan pengkodean terhadap
rancangan-rancangan yang telah didefinislkan.
c. Pelaksanaan
Pada tabapan ini dilakukan pengujian dan pengenalan terhadap sistem.
BAB IV
ANALISA DAN PERANCANGAN SISTEM
IV.1 Analisa Kcbntnhan Sistem
Proses pembuatan Sistem Penyeleksian Internal Promosi Jabatan Karyawan
menggunakan Metode Fuzzy Logic, penulis mendefinisikan data-dat1 yang
diperlukan adllah:
I . Data-data lengkap karyawan perusahaan. Seperti Nomor Induk Karyawan, Nama,
Umur, jabatan, Lama Pengabdian, Depaiiemen dan lain-lain.
2. Data jabatan kosong dalam perusahaan.
3. Listing kategori-kategori ideal yang harus dimiliki seorang kandidat untuk
menduduki jabatan kosong yang diperlukan perusahaan. Kategori ideal ini
ditetapkan berdasarkan keperluan perusahaan.
4. Listing fakta-fakta berupa kalimat. Kalimat-kalimat ini mengacu kepada kriteria
kriteria/persyaratan yang diinginkan dan telah dibuat oleh perusahaan dengan
tujuan untuk mendavatkan hubungan fuzzy terhadap kate:gori ideal.
5. Nilai Pereferensian (Terms). Nilai ini tergantung kepada kebijaksanaan
pcrusahaan.
IV.2 Konsep Sistcm Penyelcksian Internal Promosi Jabatan Karyawan
IV.2.1 Penilaian
Salah satu tugas sulit bagi seorang manajer perusahaan adalah menentukan
siapa yang akan dipromosikan, karena biasanya terdapat lebih banyak calon daripada
posisi(jabatan yang kosong.
30
Menurut Ors. Moekijat (1986:24), tidak ada organisasi yang mengandalkan
pengadaan tenaga ke1ja dari luar untuk memenuhi semua kebutuhannya. Pengadaan
tenaga kerja dari dalam juga merupakan suatu cara mengadakan seleksi/pemilihan.
Kcbanyakan prosedur seleksi, seperti mengadakan wawancara, memberikan
gambaran tentang nilai potensial pelamar baru dirnsa tidak sempurna. Akan tetapi,
dengan melihat seseorang bekerja selama beberapa tahun, mernungkinkan manajemen
membuat penilaian yang benar tentang kecakapannya. Seleksi/pemilihan ini biasanya
berdasarkan atas penilaian oleh perusahaan yang dilakukan sekelompok penilai.
Penjelasan ha;il penilaian seorang kandidat dapat menggunakan suatu
pernyataan tertentu, seperti: "Nilai penyeleksian kandidat X untuk posisi P adalah V
karena {S 1, S2, S3 ... Sn}. Cannavacciolo (1994) menyatakan bahwa pernyataan
terscbut dapat dituliskan dalam bentuk notasi:
Di mana µp(X) merupakan derajat keanggotaan X untuk menemp~ti posisi P.
Namun, tidak setiap pernyataan itu jelas. Beberapa fakta dapat merupakan
kriteria penilaian yang tidak jelas dan dapat mengandung kriteria penilaian lain yang
tersembunyi Oleh karena itu, suatu kriteria penilaian daprt merupakan kriteria yang
kompleks yang dapat diperluas.
Karena ha! tersebut di atas, maka setiap kalimat S yang menerangkan suatu
fakta F, dapat menyatakan satu atau lebih kondisi. Kalimat S yang diperluas dapat
dituliskan dalam bentuk:
Dimana: J = 1, 2, 3, ... ,n
31
IV.2.2 Standar Penilaian
Terdapat tiga konsep kategori kandidat ideal yang dibentuk oleh penulis, dan
penilaian tersebut relatif terhadap beberapa standar/kategori. Ketiga konsep kategori
kandidat ideal tersebut adalah:
I. Ideal A
Kategori ini mengandung kriteria-kriteria atau profil khusus yang didapat dari diri
kandidat dan tidak termasuk kedalam kriteria-kriteria yang telah ditetapkan
pcrusahaan.
2. Ideal B
Kategori ini mengandung kriteria-kriteria atau profil yang diinginkan atau telah
ditetapkan oleli perusahaan.
3. Ideal C
Kategori in; mengandung hasil penilaian atas kepercayaan yang diberikan
perusahaan.
Konsep-konsep kandidat ideal A, B dan C didefinisikan kedalam gugus fi1zzy
A, B, C dengan fungsi keanggotaan µA, µ8, µc. Hasil penilaian seorang kandidat
tcrhadap konsep-konsep kandidat akan menghasilkan derajat keanggotaan kandidat
tersebut.
IV.2.3 Aplikasi Penilaian
Hasil pereferensian suatu fakta dengan kategori-kategori kandidat ideal akan
menghasilkan nilai (terms). Nilai pereferensian ini tergantmig pada kebijaksanaan
perusahaan.
32
Nilai pereferensian yang penulis gunakan adalah:
I. SSB : Sangat-sangat Buruk,
2. SB : Sangat Buruk,
3. B : Buruk,
4. A- ; Di bawah Rata-rata,
5. A : rata-rata,
6. A+ : Di alas Rata-rata,
7. G : Baik,
8. SG : Sangat Baik,
9. SSG : Sangat-sangat Baik.
IV.2.4 Rcpresentasi Linier sebagai Pcnentnan Derajat Keanggotaan Kandidat
Pada representasi linier, permukaan digambarkan s1;bagai suatu garis Jurus.
Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu
konsep yang kurangjelas.
Ada dua keadaan himpunan fuzzy linier. Pertama, kenaikan himpunan dimulai
pada nilai domain yang memiliki derajat keanggotaan no! [OJ bergerak ke kanan
menuju ke nilai domain yang memiliki derajat keanggotaan Jebih tinggi (Gambar 4.1).
Kedua, merupakan kebalikan yang pe1tama. Pada kasus ini penulis memakai keadaan
himpunan fuzzy yang pertama.
Dcmjm kcanggotaan
µ1xJ
"'-~~~~~~~~~~--..
0 a Domain b
Fungsi Kcanggotaan:
µ[x] = {
O; (x-a) I (b-a); l;
X:S\
a:Sx:Sb X2:b
33
Setiap perusahaan menentukan nilai pereferensiannya masing-masing. Contoh
dalam kajian skripsi ini penulis memakai nilai dengan selang dari SSB sampai SSG.
Setiap nilai memiliki derajat keanggotaan masing-masing. Derajat keanggotaan
d1dapat dari suatu fungsi keanggotaan basil asumsi bahwa nilai-nilai tersebut - yang
digunakan untuk mengevaluasi fakta - adalah nilai-nilai yang memang telah biasa
digunakan untuk menilai baik/buruk dan memiliki karakteristik (bobot) yang sama
dengan jarak nilai pada skala adalah sama.
Pada gambar 4.2 nilai-nilai pereferensian yang digunakan adalah SSB sampai
SSG dengan batas bawah adalah 0 dan batas atas adalah 9, sehingga derajat
keanggotaan setiap nilai pereferensian adalah:
= Qarak suatu nilai x - batas bawah)/(batas atas - batas bawah)
= Qarak suatu nilai x -- 0)/(9 - 0)
= (Jarak suatu nilai x 19)
Contoh fungsi keanggotaan untuk himpunan NILA! (TERMS) pada variabel
nilai pereferensian G adalah:
= (7-0) I (9-0)
= 719 = 0.78
34
NILA! (terms) mm -• --mm7 0.78 ~ /< .
Dcrnjat / kcanggotaan
~l[XJ
-+ 0 I 2 3 4 5 6 7 8 9
+ + t SSB G ... SSG
Nilai perefercnsian
(;;unb:.1r 4.2 Ilin1p1111a11 Fuzzy: NJLAI
Hasil dari pencarian fungsi keanggotaan dan derajat keanggotaan ini dapat
dilihat pada Tabel 4.1 kolom 'Nilai'.
Derajat Nilai Dala1n Selan Kean otaan
I l 0.11 SB I 2 0.22 B I 3 0.33 A- 4 0.44 A 5 0.56
A+ 6 0.67 G 7 0.78
SG 8 0.89 SSG 9
T;d.irl 4.1 Tabel NILA/
0.89
0.78
0_67
056
0.44
0 33
0.22
0.11
SSB Sil B A- A A+ G SO SSG
35
Berikut ini adalah contoh pertama fungsi keanggotaan untuk himpunan Ideal
A pada variabel fakta pereferensian ke- 5 berdasarkan pengaturan pereferensian
fakta-fakta dengan kategori pada tabel 4.3 adalah:
µIDEAL_A[fakta ke-5] = (3 - 0) I (6- 0)
Nomor Fakta
2 3 4 5 6
= 3 I 6 = 0.50
Kalimat Katcgori Kriteria
Tabel 4.2 Tube/ PEREFERENSIAN FAKTA DENGAN KATEGORI /D'EALA
Nilai Nomor Jumlah Jarak Fakta Pcrcferensian Fakta Fakta Dalam Selan
SSB 0 0 SB 2 I I 0.17 B 3 I 2 0.33 A- 0 2 0.33 A 5 I 3 0.50
A+ 0 3 0.50 G 1.4 2 5 0.83
SG 6 I 6 I SSG 0 6
Tnbel 4.3 Ttihe/ IDEAL A
36
• SSG 9
SG - 8
G 7
A+ 6
A - 5
A· 4
~ 3
SB c--- 2
SSl3 I
-2 3 5 4 6
Gambar 4.4 Graf/k FUNGS/ KEANGGOTAAN X PADA KATEGORI Jf)EALA
Contoh !;edua fungsi kcanggotaan untuk himpunan ldeal B pada variabd
fakta percfcrcnsian ke- 5 berdasarkan pengaturan pereferensian fakta-fakta dengan
kategori p::ida tabel 4.5 adalah:
µmEAL_B[Fakta ke- 5) =(I - 0) I (8 - 0)
Non1or Fakta
2
= I I 8 = 0.13
Kriteria l(alin1at Katcgori
f(rcatifitas karya\van dalan1 pekerjaan Kcteram ilan karya\vnn d.1la1n bcrdiskl'si dan bt!kon1unikasi
3 Kcman1 uan kcrjasmna dcn_gan kolega 4 Kccakapan karyawan d:ilu~pcndt!lcgasinn wewenang kcpada kolcga 5 l<.en1a1u uan 111en1otivasi <liri pribadi dan kolega 6 K.crapihan n1anaje1nen a<ln1inistrasi karya\van
r---7--+~1'._"e.,.11_u_1rn_,_1i=Hll!_pt:llgen1bangan diri karya\van 8 Tolcransi terha<lap stress
Tabet 4.· Tabc/ l'EREFERENSIAN FAKTA DENGAN KATEGORI IDEAL B
37
Nilai Non1or Jumlah Jal'ak Fakta Derajat Pcrcfcrcnsian Fakta Fakta Dalam Sclang Keanggotann
SSll 5 0.13 Sll 4 2 0.25 B 0 2 0.25 A- 0 2 0.25 A I I 3 0.38
A+ 7.8 2 5 0.63 G 0 5 0.63
SG 2.3.6 3 8 SSG 0 8
Tabel 4.5 Tabe/ IDEAL B
• SSG 9
SG 8
G 7
A+ 6
A 5 -A· 4
3 .---. SB 2 ....-SSB I
5 4 7 8 2 3
Gnmbar 4.5 Grnflk FUNGSI KEANGGOTAAN X PADA KATEGORJ WEAL B
Terakhir adalah contoh ketiga fungsi keanggotaan untuk himpunan Ideal C
pada variabel fakta pereforensian ke- 3 :
µrnEAL_c[Fakta ke- 3] = (2 - 0) I (t> - 0)
= 2 I 6 = 0.33
Non1or Fakta
2
3
4 5 6
Kriteria Kalimat J(ategori
Tabel 4.6 Tabet PEREFERENSL4N FAKTA DENGAN KATEGORI IDEAL C
Nilai Nontor Jumlah Jarak Fakta Dcrajat Perefercnsian Fakta Fukta Dalam Selang Keanggotaan
SSB 4 I 0.17 SB 0 I 0.17 ll 3 2 0.33 A- 0 2 0.33 A 2 3 0.50
A+ 4 0.67 G 0 4 0.67
SG 0 4 0.67 SSG 5.6 2 6 I
Tabel 4. 7 Tabet IDEAL C
SSG 9
SG 8
G 7
A+ ~ 6
A - '.
A· 4
B - 3
SB 2 ,....._ SSB I
4 3 2 5 6
38
39
Perhitungan derajat keanggotaan kandidat X untuk kategori tertentu (Ideal A,
[deal B dan Ideal C) didapatkan dari menjumlahkan hasil pcrkalian jumlah fakta
dengan panjang/jarak nilai dalam sclang dan membaginya dcngan hasil perkalian
antara batas bawah nilai(terms) dengan jumlah fakta yang cligunakan pada masing-
masing katcgori ideal.
Dari tabel 4.8, tabcl 4.9 dan tabel 4.10 berturut-turut didapat derajat
keanggotaan Ideal A, Ideal B dan Ideal C adalah µmEAL_A(X) = 32/54 = 0.59,
µlllEAL_a(X) = 44/72 = 0.61 dan µIDEAL_c(X) = 33/54 = 0.61. Bila nilai-nilai tersebut
direfercnsikan pada derajat keanggotaan nilai pada masing-masing kategori (tabel 4.3,
tabel 4.5 dan tabel 4. 7 pada kolom Derajat Keanggotaan), maka untuk Ideal A, X
memiliki nilai A+. Sedangkan untuk kategori Ideal B dan Ideal C berturut-turut
adalah A dan A.
Nilai Bob<Jt Jarak Nilul Jumlab Has ii rerefereusian Nilai Dal.Jun Scl11og Fa kt a
(a) (b) (c) (e) (c * c)
SSB I () 0 SB 2 I 2 B 3 3 A- 4 0 0 A 5 I 5
A+ 6 0 0 G 7 2 14
SG 8 8 SSG 9 ') 0
[' 32
l'abel 4.8 Filkta-faktayang diatur berdasarka11 kun1pula11 nilai IDEAL .A
40
Nil.ai Bobot Jaruk Nilai Jumlah Jlasil Pcrcfcrcnsian Nllai Dalnm Sclang Fukta
(•) (b) (c) (c) (c" c)
SSB I I I Sil 2 2 B 3 0 0 A- 4 0 ()
A 5 5 A+ 6 2 12 G 7 0 ()
S(i g 3 24 SSG 9 () 0
[ 44
T:ibel 4.9 Fakta~fakta yang diatur berd(lsark1111 ku1np11/a1111ilai /Dl!."'AL B
Percfcrcnsian
' (c() -1 I SB 2 0 B 3 A- 4 0 0 A 5 I 5
A+ 6 I 6 G 7 0 0
SG 8 0 ()
SSG 9 2 18
[ 33
Tabel 4. JO Fakta-fakt11 y1mg tlialur bertl11sark1111 k11mp11/a11111/ai IDEAL C
Selanjutnya setelah perhitungan derajat keanggotaan pada masing-masing
kategori didapat, maka diperoleh penilaian akhir seorang kandidat untuk menempati
suatu posisi/jabatan kosong perusahaan dengan cara mencari rata-rata dari
penjumlahan nilai-nilai derajat keanggotaan.
Derajat keanggotaan/nilai akhir kandidat tersebut adalah:
µp(X) = (µmEAL_A(X) + ~l10EAL_c(X) + µmEAL_c(X)) I 3
(0.59 + 0.61 + 0.61) I 3 = 0.60
41
Dari derajat keanggotaan/nilai akhir tersebut bila mengacu pada tabel 4.1
kolom Dcrajat Keanggotaan maka X memiliki nilai akhir untuk mencmpati
jabatan/posisi kosong adalah 'di atas A' atau 'disekitar rata-rata (A)'.
Dalam kasus unik yang mungkin saja ditcmukan yaitu jika tcrdapat kandidat
yang mcmiliki dcrajat kcanggotaan yang sama, maka langkah penyelcsaiannya adalah
dengan memberikan fakta-fakta/kalimat-kalimat penilaian baru untuk menilai
kandidat-kandidat tersebut.
IV.3 Perancangan Sistem
Dalam merancang Sistem Penyeleksian Internal Promosi Jabatan Karyawan
penulis menggunakan 5 langkah perancangan sistem, yang terdiri dari Rancangan
Proses, Rancangan Basis Data, Rancangan Menu, Rancangan Masukkan, dan
Rancan1'.an Keluaran.
IV.3.1 Rancangan Proses
Rancangan proses ditujukan untuk menentukan urutan kejadian, sehingga
dihasilkan output seperti yang diharapkan.
!upul da1a 11.i!ai pc1efcrcnsian, da!a J..alimat till.ta dan da111 kategori ideal.
Input data katcgmi l..m)'il\\iln yang d1b111uhkan pcrusahaan.
Cari k:· 1didat kiuyawan yaug memcnuhi kalcgori awal Jtt!msal1aan unh1k di romo5ika11.
Tidak
y
Sck.ksi karyawau de11gan UICtt:fctensikau fakta dengan L:a!egori Ideal A. ll dan C.
KANDIDAT
42
l. Rancangan Basis Data
Data-data yang diperlukan pada proses masukan disimpan dalam basis data.
Hal ini dimaksudkan agar data bersifat dinamis yaitu dapat melakukan
pcnambahan dan penghapusan data.
Di bawah ini adalah rancangan ERO (Entity Relationship Diagram) sistem
Pcnyelcksian Internal Promosi Jabatan Karyawan (gambar 4.8) dari 23 tabcl
yang digunakan. Penulis hanya mendcfinisikan 19 tabcl pada rancangan proses
dibawah ini.
~I
['."' j f.--,.. . ...=1,,..,..,..,_ i"J_--1 ;_~~
~:.
Gani bar 4.8 Ra11ca11gan ERD Antar Tabet p1u/a Prototype Penseleksian Internal Karyawau
a. Tabel Karyawan, untuk menyimpan data lengkap seluruh karyawan.
Field Name
1 No lnduk 21lm9 1191+-3 Cabang 4 Divisi 5 Jabatan 6 Golongan 7 · Pendidikan_Terakhir B Usia(Th) 9 Masa_i<erja(Th)
10 Meng.kuti_PK_Sebanyak 11 Penilaian_Kesetiaan
Type
A A A A A A A A A A A
Garn bur 4.9 Spesijikasi Tabel Karya1van
Size l<ey,
10i • 20: 20: 20 20! 5' 5 5 5 5.
15•
43
b. Tabel Jabatan Kosong, untuk menyimpan data posisi/jabatan kosong
perusahaan.
Field Name Type
;umu.nu+MPB. A 2 Divisi A 3 Keperluan Karyawan A
Size Key
30 30
51
Garn bar 4.10 Spesifikasi Tabe/ Jabata11 Kosmrg
c. Tabel Cabang, untuk menyimpan data cabang perusahaan.
Field Name
1.~ili 2, Nama_ Cabang
Type, =A
A
Size .. Key 5 •
20!
d. Tabel Divisi, berisi data divisi-divisi yang ada di perusahaan.
Field Name Type
1~A 2 Nama_Divisi A
Gambar 4.12 S[Jesijlkasi Tube/ DMsi
Size Key 5 •
20.
c. Tabcl Jabatan, berisi data macam-macam tipe jabatan karyawan.
Field Name Type
1~A 2 Nama_~Jabatan A :
Gambar 4.13 Spesijlkasi Tabel Jabattm
Size jKey
5 .• 20:
f. Tabel Pend. Terakhir, berisi data selang pendidikan karyawan.
Field Name Type
1!!!Jli~!MFllA 2 Pendidikan_Terakhir A
Size :Key_
5: • i fi:
G'unhar 4.14 Spesijikasi Tabet Pendidikan Terakhir
44
g. Tabel Golongan, berisi data tipe golongan karyawan.
Field Name Type -A 2 Golongan A
G:unbar 4.15 Spesijikasi Tabel Golonga11
Size Key 5 • 5
h. Tabel Usia, rerisi data selang usia karyawan.
Field Name Type
11li~A 2 Usia(Th) A
Gnmbar 4.16 Spesijlkasi Tabet Usia
Size Key
5, • 5
45
i. Tabel Penilaian Kinerja, berisi daca penilaian kinerja yang pernah diikuti.
Field Name Type
iD~A 2 Mengikuti_PK_Sebanyak A
Size Key 5 • 5
(~arnhnr 4. l 7 ~Ypesljikasl Tabel J>e11ilult111 Kinerja.
J. Tabel Masa Kerja, berisi data masa kerja karyawan.
Field Name Type . Size __ ,Key
1 l!Pll!&111Dl!i'!J'IH 2 Masa_ Kerja(Th)
3 A 5 • A 5;
Gambar4.lf Spesiflkasl Tabel Masa Kerja
k. Tabel Kesetiaan, berisi data tipe penilaian kesetiaan karyawan.
,Type
1.imtmllB!llll!lllli\I A 2 Kesetiaan A
Field Name Size jKeY, 3 1
1 ...
' 2Uj
Gambar 4.19 Spesiflkasl Tabel Kesetiaa11
I. Tabel Kandidat Karyawan, untuk menyimpan data kandidat terpilih.
Field Name !Type· Size Key
1 No lnduk ' A 10 • 2 m!R;.&• ,. 4111: A 20! 3'Cabang A 201 4 Divisi A 20 5 Jabatan A 20 6 Golonga·1 A 5: 7 Pendidikan_Terakhir A 5i 8 Usia(Th) A 3: 9 Masa_Kerja(Th) A ' 51
10 Mengikuti_Pl(_Sebanyak A 5i 11 Penilaian_Keseti_aan A 15'
Gambar 4.20 Spesiflkasl Tabe/ Kam/Ida/ Karyawan
46
m. Tabel Kincrja, berisi data macam-macam tipe k.incrja k.aryawan.
Field Name ,Type.
R'tlffU.,!@il ' 'tt•1: A I
2 'Kinerja A
Gani bar 4.21 ~"Tpesifikasi 1i1bel Kinerja
Size Key 5 .,, i
20
n. Tabel Nilai Pereferensian, berisi data nilai pereferensian.
Field Name
1 IDJ',m!!ll\Ml!lli1M jType Size .. iKey,
5: 2: Pereferensian 3'Kalimat
5; 20:
Gambar 4.22 Spesijikasi Tabel Nilai Perefere11sia11
o. Tabel Nilai, berisi data hasil penilaian k.andidat terpilih.
Field Name 1Type .
: ~IIDll!l1!llMllllll!!!l'!!lBlliliilill·lfi MllilllWllll ! A 2 · No_Pereferensian
1
A 3: Pereferensian A 4 No_Fakta A 5 Nilai_Absolut N 6 Jumlah_Fakta N 7 Nilai N
Gambar 4.23 Spesifikasi Tabe/ Ni/ai
Size ;Key 10: • 10' •
5 20
47
48
p. Tabel Kalimat A, berisi kalimat fakta penilaian untuk kandidat ideal A.
Kalimat faKta penilaian untuk kandidat ideal B clan C memiliki spesifilrnsi
label (Tabcl Kalima! B dan Tabel Kalimat C) sama seperti gambar 4.24.
Field Name Typo
1 [;1Jll'i~ A 2 Kalirnat_Penllaian A
Size Key;
5 1t ! i
255
(;a1nbar 4.24 Spesijikasi Tabel J(ulinu1t A
q. T7tbcl Derajat Keanggotaan Ideal A, berisi nilai .. nilai derajat keanggotaan
untuk tipe ideal A. Tabel Derajat Keanggotaan Ideal B dan C memiliki
spesilikasi tabcl sama seperti gambar 4.25 di bawah.
Field Name Type
l~A 2 No A 3. Pereferensian A 4 No_Fakta A 5 Nilai_Absolut N 6 Nilai N
Size .Key"
101 "' 10: • 5,
10':
(;anibar 4.25 Spesifikasi Tabel Derajat Keanggotaau Ideal A
r. Tabel Derajat Keanggotaan Kandidat A, berisi nilai derajat keanggotaan
kandidat untuk tipe ideal A. Tabel Derajat Keanggotaan Kandidat B dan
Tabel Derajat Keanggotaan Kandidat C memiliki spesifikasi sama seperti
gambar 4.26 di bawah.
Field Name !Type;
1~A 2 Nama A 3.Derajat_Keanggotaan_A ! N
Si~e ,Key,
5! * 20
Gan1bnr 4.26 Spesijikasi Tabe/ Derajat Keanggotaan Kandidat A
49
s. Tabel Derajat Keanggotaan Akhir, berisi nilai derajat keanggotaan akhir
kandidat.
Field Name Type
1 ~ililltl©fPHf* + A 2 Nama A 3 Derajat_i<eanggotaan_Akhir N
Size -Key 51 *
20:
Garn bar 4.27 Spesiflkasi Tabet Derajat Kea11ggotaa11 AkfJir
50
IV.3.2 Rancangau Menu
Layar Intro FormlnpulDl11<1_Klik [ Form Input -Data
FormKaryawan_Klik .[ Forni Karya\van f-FormKeb"t"hanl'osisi_Klik • [ Form Kebutuhan -
Posisi
Fom1Kandidat_Klik
[ f-Forni Kandidat
MENU - FormPencKandidat Klik : [ Forn1 Pencari2n
l(andidat -PILIHAN
·- [ ' FormPenyK.andidat_Klik Form Penyeleksian -Kandidat
FonnProscsPenilaian_Klik • [ Form Proses Penilaian -Akbir Kandidat
FormKandidatTerpilih_Klik I Form Proses Tampilkan Kandidat -
l Terpilih
Tutup_Klik
Gan1bar 4.28 Ra11ca11gan STD !tfenu
Rancangan STD (State Transition Diagram) menu berfungsi untuk memanggil
sub-program lain untuk dijalankan seperti tcrlihat dalam gambar 4.28 di atas.
a. Rancangan Masukan
Rancangan masukan dilakukan agar tingkatan keakuratan data tiuggi dan
proses pemasukan data benar sehingga dapat dit<:rima dan dimengerti oleh
pengguna sistem. Ada 3 rancangan masukkan yang didefinisikan yaitu
rancangan Input Data, rancangan Data Karyawan dan rancangan Kebutuhan
Posisi. Ketiga rancangan masukan tersebut dapat dijelaskan sebagai berikut:
51
1. Rancangan STD Input Data
Rancangan 'ni berfungsi untuk menginput data fakta dan data nilai
pereferensian yang dibutuhkan oleh sistem seperti yang dijelaskan dalam
gambar 4.29 di bawah ini:
Labc!Canccl klik
I Navignsi_klik I I L1bcllnputFakta._klik
FORM INPUT •'AKTA I I Pilihan Navigasi I ~ "' "' ·-. . 25 :;;, ~:;:;;; ~I " • "' " • • " .~l ' u
" iJ > u .~ "
FORM INPUT
FORM INPUT I DATA
FORMINPFr I ., "' ~ - ~ " ~ ~~ ~ - ~
• 8 ;;::: . ~
> c ·"-• • ' "'u ill . ' '
Navignsi_klik I Pilihan Navigasi :
LabellnputPcrf_klik ~ I FORM INPtrr
I I , I NILA! l'EREFEEltNSIAN
La!:i¢1Canccl_klik I Gambar 4.29 Ra11ca11ga11 STD Input Datu
2. Rancangan STD Data Karyawan
Rancangan Data Karyawan, berfungsi untuk J11(mambah data karyawan,
mengurutkan data karyawan, menghapus data karyawan, mencari data
karyawan, dan navigasi untuk pindah ke record awal, record akhir, record
sebelum, dan record berikut. Hal ini digambarkan dalam STD dibawah ini
(Gambar 4.30).
52
Sorting C'ilihau Sorting (Nama)
Tampilkan I
FORM DATA NavigasiKlik
I Piliha11' Navigasi
KARY AW AN I AwulKlik
AkhirKlik Tam bah
. SebelumKlik Data_K!ik
BerikulKlik
'i Sirnpan Klik Form Tambab~.,._ Balal_Klik Ka1)'aw;u1
Hapus_Klik Form Hapus Data 1-4--Datal Klik
Karyawan
Hapll';Data_Klik
Gambar 4.30 STD Data Karymva11
3. Rancangan STD Data Kebutuhan Posisi
!'ORM DATA KEBUTUHAN Navig:L~iKhk
~"'~' I POSIS!
Tambah Data
t Simpan_Klik For1n Tan1bah Data
Batal Klik l(ebutuhan Posisi
Garn bar 4.31 Rnncangan STD Data Kehutuhan Posisi
Rancangan data kebutuhan posisi berfungsi untuk menampilkan data
posisi/jabatan kosong perusahaan, menambah data posisi kosong, dan
menghapus data posisi kosong.
53
b. Rancangan Keluaran
Rancangan keluaran ditujukan untuk mendapatkan hasil sesuai dengan yang
diinginkan oleh pengguna. Kduaran sistem berupa derajat keanggotaan
masing-masing kandidat dan hasil penilaian akhir/derajat keanggotaan akhir
kandidat yang menentukan seorang kandidat itu pantas menduduki
jabatan/posisi kosong berdasarkan nilai terbesar. Ked.ua rancangan STD untuk
keluaran dapat dilihat pada gambar dibawah ini. (gambar 4.32 & gambar 4.33)
I . Rancangan STD Data Pencarian kandidat
Rancangan Data Pencarian Kandidat, berfungsi untuk mencari kandidat
karyawan untuk mengisi jabatan/posisi kosong perusahaan berdasarkan
data-data karyawan yang dimiliki perusaha.)n (internal).
LkUpJabatan_Klik Pilihan Jnbatan Dipegang r--
LkUpDivisi_Ktik Piliban Divis,i ~
LkUpGol_K!ik Pilihan Golongan ~
LkUpPK_KHk Pilihan Penilaian l{inerja ~ .
FORM PENCARIAN ;:._ LkUpSctiu_K/ik .._ Pilih_Klik TA!\.IPILl:AN
Pilihan Kesetiaian KANDIDAT I= I
. KAND!llAT
LkUpRata2_Klik I Pilihan Rata-rata J(inerja ~
I
LkUpPend_K\ik Pilihan Pend. Terakbir ~ -
LkUpr-.1asa_Klik I Pilihan J\ilasa Kerja f-LkUpPetatihan_K!ik Pilihan Pelatihan yang
Pernah Diikuti -Gnn1bar 4.32 Rt111c1111ga11 STD Data Pencarian Kandldat
54
2. Rancangan STD Penyeleksian Kandidat
Rancangan Penyelcksian Kandidat, berfungsi untuk mcnyclcksi dan
mcmilih kandidat tcrbaik dengan mcnampilkan nilai derajat kcanggotaan
Ideal A, B dan C dan menghitung nilai derajat keanggotaan akhir kandidat.
Kandidat dengan derajat keanggotaan yang terbesar berhak mengisi
jabatan/posisi kosong perusahaan. (gambar 4.33 )
LkUpNolnd_Klik ~
->~_No_lnduk Sdcksi - I'ORJ\f FORM Khh. LkUpPi!Fuk
l'ENYELEKSl.AN PILllIAN . KANDI DAT
i
NIL..\l HEU.AJAT
KEANGGOTAAN
A,n,c
ID£AL A. n, C
cm1ccl_Khk
lliiung_Klik 1---:.=----I>
RdBtnNi!Pc
NILAI llERAJAT KEANGGOTAAN
AKlllR KANDIDA'f
Gan1bar 4.33 Rancangan STD Penye/ekslan Ka111!ldut
Pihhan Fakta Kc~
Pilih:m Nilai J l'crc!Crcnsian
T111npilk1111_Khk TAJ\IPILKAN KANUIDAT TEIU'll.111
BABY
IMPLEMENTASJ
Tahap implementasi meliputi pemrograman sistem clan pengujian sistem. Bab
ini membahas sarana-sarana pendukung yang diperlukan agar sistem perangkat lunak
ini dapat berjalan dengan baik.
V.l Tools Pcndukung Sistcm
V.1.1 Pcrangkat Kcras
Perangkat keras untuk mcnjalankan system perangkat lunak yang penulis
rancang adalah sebuah unit komputer dengan konfigurasi minimal sebagai berikut:
a. Prosesor setara Pentium II.
b. Mem01y 64 MB.
c. Monitor dengan resolusi 1024 X 768
d. Keyboard dan Mouse.
e. VGA 32MB.
V.1.2 Pcrangkat Lunak
Spesifikasi Operating Systems (OS) dan perangkat lunak yang digunakan
sebagai berikut:
a. Windows 98/2000/XP/NT
b. Borland Delphi 7.0
c. Paradox 7.0
56
V.2 Gambaran dan Fungsi Modul-modul Program
Fungsi dari 12 sub-program sistem dijelaskan dibawah ini dan dapat dilihat
secara grafis pada gambar 5.1:
1. Sub-program utama, sebagai tempat dalam memanggil sub-program lain
dijalankan serta berisi gambaran keseluruhan program.
2. Sub-program input data, merupakan menu pilihan untuk masuk kedalam sub
menu input nilai pereferensian dan menu input fakta peni laian.
3. Sub-program input 11i/ai perefere11sia11, berfungsi sebagai media penginput data
nilai pereferensian yang akan digunakan dalam menilai kandidat.
4. Sub-program inputfakta pe11ilaia11, berfungsi sebagai media penginput datl. fukta
penilaian ideal A, ideal B dan ideal C yang nantinya akan direferensikan terhadap
nilai pereferensian.
5. Sub-program data karyawa11, merupakan menu yang dapat menampilkan,
menambah, menyimpan, mengubah dan menghapus data karyawan perusahaan.
6. Sub-program keb11tulta11 posisi, merupakan menu yang dapat menginput,
menghapus dan menampilkan data lengkap posisi/jabatan kosong perusahaan.
7. Sub-program pe11caria11 kandidat, berfungsi mencari kandidat yang
dipromosikan untuk menduduki jabatan/posisi kosong perusahaan berdasarkan
persyaratan awal yang sebelumnya telah ditetapkan oleh perusahaan.
8. Sub-program kandidat terpililt,, menu ini berfungsi untuk menampilkan kandidat
terpilih yang akan dipromosikan untuk menduduki jabatan/posisi kosong.
9. Sub-program keselurulza11 kandidat, menu ini bcrfungsi untuk menampilkan
seluruh kandidat yang terpilih melalui sub-program pencarian kandidat.
57
J 0. Sub-prog -am pe11yeleksia11, menampilkan menu pilihan analisis penilaian
kandidat untuk ideal A, ideal B dan ideal C.
11. Sub-program a11111isis penil11ia11 ka11didat, melakukan proses penilaian kandidat
dcngan cara mereferensikan fakta dengan nilai perefcrensian yang akan
menghasilkan derajat keanggotaan masing-masing fakta.
12. Sub-program pe11ilain aklzir, melakukan proses penilaian kandidat dengan cara
menjumlahkan nilai rata-rata derajat keanggotaan kandidat untuk masing-masing
tipe ideal A, ideal B dan ideal C yang menghasilkan derajat keanggotaan
akhir/nilai akhir kandidat.
I PENGGLINA I
Sl!B-PROGltAl\t llTA!\lA ~
~---'-'r='~~~~~~~~.~-~~~u_.~~ i~-SllB-PROGRAM
h:EBlll'llllAN POSJSI
SUB.PROGRAM DATA KARYAWAN
Sl!U..PROGUAM INPUT DATA
- Suh-1>rogntm input fakta.
- Suh-progriuu nilni pereferensian
.
.
SUB-PROGRA~I PENCAIUAN KANDIOAT
Sub-program kandidat tcrpilih.
Sub-program scluruh kaud,ldat terpilih.
Garn bar 5.1 Ga1nhara11 dan Fuugsi Modut-Jt.fodul Progranz.
V.3 Rancangan Modul
.
.
.
-
SllB-PHOGRAM PENYEtEKSJAN
Sub-program aualisis pcnilaiun ideal A. S11b-progr.tm analisl<i penilnian ideal B. Sub-1Jrogra1n analisis lll!nilaian idea.JC. Sub-program penilafun akhir.
Sesuai dengan modul-modul fungsi program diatas, t•:rdapat 9 rancangan yang
penulis buat, mcliputi :
58
a. Rancangan Menu Utama
Rancangan ini berfungsi sebagai interface tempat sub program lain dipanggil
untuk dijalankan, yang terdiri dari data karyawan,, kebutuhan posisi, input
data, pencarian kandidat dan penyeleksian kandidat (Gambar 5.2).
Gambar 5.2 Form Menu Utama
b. Rancangan Data Karyawan
Rancangan ini berfungsi sebagai interface untuk memodifikasi data karyawan
yaitu menambah data karyawan, mengubah data karyawan, menyimpan data
karyawan dan menhapus data karyawan. (Gambar 5.3)
59
d. Rancangan Kebutuhan Posisi
Rancangan ini sebagai interface untuk melihat, menambah, mengubah,
menyimpan dan menghapus data kebutuhan posisi kosong. (Gambar 5.4)
Gambar 5.4 Form Kehutulta11 Posis/
e. Rancangan Pilihan Input Data
Rancangan ini sebagai interface untuk memilih input data mana yang user
ingin terlebih dahulu lakukan. Terdapat 2 pilihan input data dal8m form ini
yaitu input data nilai pereferensian dan input data fakta penilaian.
Gambar 5.5 Form Pi/J/ia11 lllput Data
60
f. Rancangan Pilihan Input Fakta Penilaian
Rancangan ini sebagai interface untuk memilih input data fakta pcnilaian
mana yang user ingin lakukan terlebih dahulu. Ada tiga pilihan tipc yaitu tipe
fakta penilaian kandidat Ideal A, Ideal B dan Ideal C seperti tcrlihat dalam
gambar 5.6 di bawah ini.
Gambar 5.6 Form Pili/tan Input Fakta Penl/aian
g. Rancangan Input Fakta Penilaian
Interface ini berfungsi menyimpan input fakta untuk penilaian kandidat.
Terdapat 3 tipe input kalimat fakta yaitu Ideal A, Idea.I B dan Ideal C.
61
h. Rancangan Input Nilai Pereferensian
Interface ini herfungsi menyimpan input nilai pereferensian yang akan
direferensikan dengan fakta penilaian kandidat ideal A, ideal B dan ideal C.
Garn bar 5.8 Form Input Ni/al Perefere11Sian
i. Rancangan Check Nilai Pereferensian
Gambar 5.9 Form Clteck Nilai Pereferenslan
62
j. Rancangan Derajat Keanggotaan Nilai Pereferensian
Interface ini menampilkan derajat keanggotaan dari nilai perefc:·ensian yang
digunakan.
Gambar 5.10 Form Derajat Kea11ggotaan Nilai (terms) Pereferensian
k. Rancangan Grafik Derajat Keanggotaan Nilai Perefer•ensian
Gambar 5.11 Form Grajlk Derajat Keanggotaan Ni/al (terms) P Jrefere11sia11
63
I. Rancangan Pencarian Kandidat Awai
Rancangan ini sebagai interface untuk mencari kandidat awal di antara
karyawan-karyawan yang tersedia dalam perusahaan.
Gambar 5.12 Form Pencarian Kandidat Awai
m. Rancangan Kandidat Karyawan Memenuhi Syarat
Rncangan ini sebagai media dalam menampilkan kandidat karyawan yang
memenuhi persyaratan awal perusahaan.
Garn bar 5.13 Form Kantlldat Karyawanyang Memen1111/ Syarat
64
n. Rancangan Pilihan Tipe Model Penilaian
Rancangan ini sebagai interface untuk memilih model penilaian mana yang
user ingin lakukan terlebih dahulu. Ada tiga tipe model penilaian yaitu untuk
Ideal A, Ideal B dan Ideal C seperti terlihat dalam gambar 5.14 di bawah ini.
Gambar 5.14 Form Pllil1a11 Pe111/aia11
o Rancangan Analisa Penilaian Ideal A
Interface ini sebagai media penilaian kandidat karyawan dengan
mereferensikan fakta-fakta dengan nilai pereferensian yang digunakan. Untu:<:
analisa penilaian Ideal B & Ideal C memiliki fungsi dan tampilan yang sama.
65
p. Rancangan Grafik Derajat Keanggotaan Ideal A
Interface grafik untuk derajat keanggotaan Ideal B dan Ideal C memiliki
fungsi dan tampilan yang sama.
Gambar 5.16 Form Grajlk Derajat Keanggotaan Ideal A
q. Rancangan Nilai Derajat Keanggotaan Ideal A
Interface form untuk nilai derajat keanggotaan Ideal B dan Ideal C memiliki
fungsi dan tampilan yang sama.
Gambar 5.17 Form Nllai Derajat Keanggotaa11 Ideal A
66
r. Rancangan Derajat Keanggotaan Ideal A untuk Kandidat X
lnteface ini berfungsi menampilkan nilai derajat keanggotaan kandidat X
untuk tipe penilaian Ideal A. Fungsi dan tampilan untuk Ideal B dan Ideal C
sama.
Gamb:.r 5.18 Form Derajat Kea11ggotaa11 Ideal A
s. Rancangan Penilaian Akhir/Derajat Keanggotaan Akhir untuk Kandidat X
Berikut ini adalah tampilan hasil penilaian akhir kandidat X yang merupakan
rata-rata dari derajat keanggotaan Ideal A, Ideal B dan Ideal C.
Gambar 5.19 Form Nl/ai Akllir/ Derajat Kea11ggotaa11 Ak/1ir
VI.I Kcsimpulan
BAB VI
PENUTUP
Berdasarkan permasalahan yang ada tentang penye:leksian internal promosi
jabatan karyawan dan pemecahannya yang penulis penulis coba tawarkan, dapat
diambil kesimpulan sebagai berikut:
a. Pada permasalahan penyeleksian internal promosi jabatan karyawan, metodc
gugus fuzzy dapat menjadi pilihan pemecahannya.
b. Sistem yang penulis buat dapat secara umum digunakan dalam ruang lingkup
instansi/organisasi manapun selama instansi/organi:msi tersebut menerapkan
penyeleksian karyawannya secara internal.
c. Sistem yang penulis buat memiliki kelemahan dan tidak sepenuhnya
memecahkan setiap permasalahan yang dimiliki oleh instansi/organisasi
bersangkutan. Oleh karena itu butuh penyempurnaan iebih lanjut.
d. Sistem ini memiliki batasan hanya pada penyeleksii.n internal bukan eksternal.
e. Sebagai tambahan pustaka - khususnya untuk Universitas Islam Negeri
Syarief Hidayatullah Jakata Jurusan Teknik Informatika - bagi perkembangan
penerapan gugus fuzzy sebagai salah satu solusi terbaik pemecahan masalah
dalam kehidupan sehari-hari.
VI.2 Saran
Sebagai penyempurnaan sistem yang penulis buat agar lebih tepat sasaran
dalam pengJunaannya, penulis menyarankan poin-poin sebagai berikut:
68
a. Pengembangan kedepan penulis harapkan sistem ini dapat melakukan
penyeleksian secara eksternal dengan memperhatikan kaidah gugus filzzy dan
mcnsinkronisasikannya dengan kebutuhan perusahaan.
b. Penyeleksian kandidat karyawan seharusnya dapat dilakukan antar department
untuk satu posisi/jabatan kosong dalam perusahaan. Karna dimungkinkan
untuk satu posisi/jabatan kosong, kandidat yang memenuhi syarat terdapat
dalam depaiiment yang berlainan.
c. Diharapkan bagi pengguna sistem ini telah mem iliki dasar pengetahuan
pengoperasian komputer yang man tap.
d. Jika terdapat lebih dari satu kandidat yang memiliki nilai derajat keanggotaan
yang sama, maim langkah yang diambil adalah dengan memberikan fakta
fakta penilaian baru (yang dihasilkan dari pengujian/kepercayaan yang
diberikan) untuk direferensikan dengan nilai pereferensian.
e. Penulis mengharapkan kedepan sistem ini memiliki alur proses yang lebih
mudah digunakan (more user friendly).
69
DAFTAR PUSTAKA
Sri Kusuma Dewi, Artificial lntelegence (Teknik dan Aplikas1), Edisi l
(Y ogyakarta: Graha Ilmu, 2003 ).
Klir, G.J. & Bo Y., FuzzySets and Fuzzy Logic. Tlteory and Ap/ication, 2°d Edition
(America, New Jersey: Prentice-Hall, 1995).
Cannavacciulo, G. Capaldo, An Approaclt to Tlte Evaluation of Human Resources
Using Fuzzy Set Tlteo1y, The Third IEEE (America, New York: IEEE, 1994).
Jeffry L. Whitten, , Kevin C. Dittman, Lonny D. Bentley Systems Analysis And
Design Metltods, 5th Edition (America, New York: McGrawHill Companies
Inc., 2000).
Moekijat, Ors, Perencanaa11 i/an Pen1 'embangan Karier Pegawai, Cetakkan ke-4
(Bandung: Remaja karya CV Bandung, 1986).
Kartini Kartono, Ora, Pemimpin da11 RP-pemimpilwn, Cetakkan ke-5 (Jakarta:
Rajawali Pers, 1990).
Kendal & Kendal, A1wlisis Dan Pera11ca11gan Sistem, Jilid Pertama Edisi Bahasa
Indonesia (Jakarta : Pearson Education Asia Pte. Ltd. dan PT. Prenhallindo,
2003).
Roger S. Pressman, Ph.D, Rekayasa Perang/wt Lunak, Buku I (Yogyakarta: Andi
Yogyakrta, 200 l ).
Antony Pranata, Pemrograma11 Borland Delphi., Edisi ke-3 (Yogyakarta: Andi
Yogyakarta, 200 l ).
Abdul Kadir, Pemrograman Database Me11gg1111aka11 Delphi, Jilid ke-l (Jakarta:
Salemba Infotek, 200 I).
Jogiyanto H.M., Baltusa Pascal, Jilid ke-1 (Yogyakarta: Andi Yogyakarta, 1999).
70
LAMPIRAN-LAMPIRAN
Lamp. 1: Source Code Meuu Utama
unit Unit I PcrekrutanKyw;
interface
uses Windov1s, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg;
type Tform I = class(TForn>)
CloseButton I: TLabel; CloseButton2: TLabel; Pane!Posisi: TPanel; Pane!Posisi2: TPanel; Pane!Kandidatl: TPanel; Pane1Kandidat2: TPanel; Pane!Penyeleksian I: TPanel; Pane1Penyeleksian2: TPanel; Labe!Judull: TLabel; Labe!Judul2: TLabel; PanclDatal.aryawan I: TPanel; Pane1DataKaryawan2: TPanel; Panel I: TPanel; Label I: TLabel; Bevell: TBevel; Image I: Tlmage; lmage2: Tlmage; Label2: TLabel; PanellnputDatal: TPanel; PanellnputData2: TPanel; Pane1Prograrnrner2: TPanel; PanelProgrammcrl: TPanel; Timer!: Trimer; procedure CloseButton I Click( Sender: TObject); procedure CloseButton2Click(Sender: TObject); procedure CloseButton I MouseEnter(Sender: TObjecl); procedure ForrnMouseMove(Sender: TObject; Shift: TShiftSlate; X,
Y: Integer); procedure PanelPosisiMouscMove(Sender: TObject; Shift: TShiftSu1te; X,
Y: Integer); procedure PanclKandidallMouseMove(Sender: TObjecl; Shift: TShiftState;
X, Y: Integer); procedure PanelPenyeleksian I MouseMove(Sender: TObjec~ Shift: TShiflState; X, Y: Integer);
procedure PanelKandidat!Click(Sender: TObject); procedure Pane1Kandidat2Click(Sender: TObject); procedure PanelDataKaryawan I MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure PanelDataKaryawan2Click(Sender: TObject); procedure PanelDataKaryawanlCJick(Sender: TObject); . ... ..... ·~-·· . ,_ .
procedure PanelPosisiClick(Sendcr: TObject); procedure TimerlTimer(Scnder: TObject); procedure lmagelMouseMove(Sender: TOb."ect; Shift: TShiftStatc; X,
Y: Integer); procedure PanellnputDatalMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer); procedure Panel Programmer I MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer); procedure PanellnputData2Click(Sender: TObject);
procedure Pane1Penyeleksian2Click(Sender: TObject); private { Private declarations }
public { Public declarations }
end;
var Form!: TForml;
implementation
71
uses Unit2PcncarianKandidat, Unit3KandidatKaryawan, Unit4DataLengkapKaryawan, Unit5KebutuhanKaryawan, Unit7NilaiPereferensian,Unit9KallmatFaktaAnalisa, Unitl3Pilihanln~ut, Unit I PenilaianFakta _A, Unit I 21nputPereferensian, Unit_ I 5 _PilihanlnputData, Unit I OGrafikTerms;
($R *.dfm}
procedure TFom1 l .CloseButtonl Click( Sender: TObject); begin
Close; end;
procedure TForm I .CloseButton2Click(Sender: TObject); begin
Clo;.e; end;
procedure TForml .CloseButton I MouseEnter(Sender: TObject); begin
CloseButtonl.Visible :=False; CloseButton2.Visible :=true;
end;
procedure TForm 1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Intege:); begin
Pane!Programn1er2. Visible := False; PanelProgrammcrl.Bcve!Outer := BvNone; Pane1Posisi2.Visible :=False; PanelPosisi.BevclOuter := BvNonc; CloseButton I.Visible:= True; CloseButton2. Visible :=False; Pane1Kandidat2.Visible :=False; Pane!Kandidatl .BevclOuter := BvNone; Pane1Penyeleksian2.Visible :=False; PanelPenyelcksian I .Bevel Outer := BvNonc; Pane1Dat"Karyawan2.Visiblc := Fals~; PanelDataKaryawan I .Bevel Outer := BvNone; PancllnputData2.Visible :=False;
End. procedure TForml.PaneJPosisiMouseMove(Sender: TObject; Shift: TShiftState; X, Y: lnte£er); begin
PanelPosisi Beve!Outer := BvLowered; Pane1Posisi2.Visible :=True;
end;
procedure TForml.Pane!Kandidat!MouseMove(Scnder: TObject; Shift: TShiftState; X, Y: Integer); begin
PanelKandidatl.BevelOuter := BvLowered; Pane1Kandidat2. Visible :=True;
end;
procedure TForm l.PanelPenyelcksian I MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
PanelPenyeleksianl.BevelOuter := BvLowered; Pane1Penyeleksian2.Visible :=True;
end;
procedure TForm l .PanelKandidatl Click( Sender: TObject); begin
Form2.Show; end;
procedure TForm l.Pane1Kandidat2Click(Sender: TObject); begin
Form2.Show; end;
procedure TForml.PanelDataKaryawanIMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
PanelDataKaryawan l .BeveJOuter := BvLowered; PanelDataKaryawan2.Visible :=True;
end;
procedure TForm l.PanelDataKaryawan2Click(Sender: TObject); begin
Form4.Show; end;
procedure TForm I.Panel DataKaryawan I Click( Sender: TObject); begin
Fonn4.Sho\v; end;
procedure TForm l .Pane1Posisi2Click(Sender: TObject); begin
Form5.Show; end;
procedure TForm l .PanelPosisiClick(Sender: TObject); begin
Form5.Show; end;
procedure 1'Form l .Tin1crlTin1er(Sendcr: 'fObiect):
72
Label I .Left:= Label I .Left- I; If Label I .Left<-300 then Labell .Lell:=300;
end;
procedure TForm l.lmage!MouscMove(Sender: TObjcct; Shill: TShillState; X,Y: Integer); begin
CloseButton I .Visible:= True; CloseButton2.Visible := False;
end;
73
proce<'ure TFonn I .PanellnputDatal MouseMove(Sender: TObject; Shi It: TShiitStatc; X, Y: Integer); begin
PanellnputData I .Bevel Outer := BvLowered; PanellnputData2.Visible :=True;
end;
procedure TForm 1.PanelProgrammerJMouseMove(Sender: TObject: Shill: TShillState; X, Y: Integer); begin
Pane!Programmerl.Beve!Outcr := BvLowercd; Pane1Prot,:rrammcr2.Visible :=True;
end;
procedure TForm J .PanellnputData2Click(Sender: TObject); begin
Form 15Pilihanlnput.Show; end;
procedure TForm l .Pane1Penyeleksian2Cl ick(Sender: TObject); begin
Form9.Show; end;
end.
74
Lamp. 2: Source Code Data Lengkap Karyawan
unit Unit4DataLengkapKarya\vun;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fonns, Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, ExtCtrls, DB, DBTables;
type TForm4 ~ class(TForm) GroupBoxl: TGroupBox; DBGridl: TDBGrid; Label I: TLabel; DBEditl: TDBEdit; Pane!Sebelumnya: TPanel; Pane!Berikutnya: TPanel; Pane!Pertama: TPanel; Pane!Terakhir: Tl'anel; GroupBox2: TGroupBox; Label Cari 1: TLabel; Labe!Cari2: TLabel; Label4: TLabel; GroupBox3: TGroupBox; Labe!TambahDatal: TLabel; Labe!TambahData2: TLabel; Labe!Hapusl: TLabel; Labe!Hapus2: TLabcl; Label Close 1: TLabel; Labe!Close2: TLabel; Table 1: TT able; DataSourcel: TDataSource; Labe!Simpan 1: TLabe!; Labe!Simpan2: TLabel; Labe!Batal I: TLabel; Label3: TLabel; Labe!BataI2: TLabel; Editl: TEdit; procedure Labe!Close2Click(Sender: TObject); procedure Label Close I Click( Sender: TObjcct); procedure Labe!TambahDatalMouseEnter(Sender: TObject); procedure Labe!Hapusl MouseEnter(Sender: TObject); procedure Label Cari 1 MouseEnter(Sender: TObject); procedure Labe!CloseIMouseEnter(Sender: TObject); procedure GroupBox3.vfouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure GroupBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure Pane!PertamaMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure Pane!BerikutnyaMouseMovc(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Pane!SebeiumnyaMouseMovc(Sender: TObject; Shift: TShiftState;
procedure PanelTerakhirMouseMove(Sender: TObject; Shit\: TShiftState; X, Y: Integer);
procedure Group Box I MouscMove(Sender: TObject; Shill: TShift;;Ulte; X, Y: Integer);
procedure PanelPertamaCJick(Scndcr: TObject); procedure PanelTerakhirClick(Sender: TObject); procedure J'aneISebelumnyaCiick(Sender: TObject); procedure I anelBerikutnyaCJick(Sender: TObject); procedure LabelTambahData2Click(Sci1der: TObject); procedure LabelSimpan I MouscEntcr(Sender: TObject); procedure Labe1Simpan2Click(Sender: TObject); procedure Labc1Hapus2Click(Sendcr: TObject); procedure LabelBatal l MouseEnter(Sender: TObject); procedure Labe1Batal2Click(Sender: TObject); procedure Labe1Cari2Click(Sender: TObject);
private { Private declarations }
public { Public declarations )
end;
var Porm4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.LabelClose2Click(Sender: TObject); begin
Close; end;
procedure TForm4.LabelCloselClick(Sender: TObject); begin
Close; end;
procedure TF orm4.LabelTarnbahData I MouseEnter(Sender: TObject); begin
LabelTambahDatal .Visible:= False; LabelTambahData2.Visible :=true;
end;
procedure TForm4.LabelHapus I MouseEnter(Sender: TObject); begin
LabelHapusl.Visible :=False; Labe1Hapus2.\'isible :=true;
end;
Procedure TForm4.Labe1Cari!MouscEnter(Sender: TObject); begin
Label Cari I. Visible := False; Labc1Cari2. Visible := true;
end;
procedure TForm4.LabelClose I MouseEnter(Sendcr: TObjeet); beC?in
75
Labe!Close2.Visible :=true; end;
procedure TForm4.GroupBox3MouseMove(Sonder: TObject: Shit\: TShillStatc; X, Y: Integer); begin
Labe!TambahDatal.Visible :=True; LabelTambahData2.Visible :=False; Labe!Hapusl .Visible:= True; Labe1Hapus2.Visible :=False; LabelSimpanl.Visible :=True; Labe!Simpan2. Visible:= False; Labe!Batal I .Visible :=True; Labe1Bata12.Visible :=False;
end;
procedure TForm4.GroupBox2MouseMove(Sender: TObjcct; f.hit\: TShit\State; X, Y: Integer); begin
Labe!Caril.Visible :=True; Labe!Cari2.Visible :=False;
end;
procedure TForm4.FormMouseMove(Scnder: TObject; Shift: TShil\State; X, Y: Integer); begin
LabelClosel.Visible :=True; l.abcJClose2.Visible :=False;
end;
procedure TForm4.Pane!PertamaMouseMove(Sender: TObject; Shift: TShit\State; X, Y: Integer); begin
Pane!Pertama.Beve!Outer := BvLowered; Pane!Pertama.Color := $00FF8000; Pane!Pertama.Font.Color := $0080FF80;
end;
76
procedure TFom14.Pane!BerikutnyaMouseMovc(Sender: TObject; Shift:: TShit\State; X, Y: Integer); begin
PanelBerikutnya.Beve!Outer := BvLowercd; PanelBerikutnya.Color := $00FF8000; Pane!Berikutnya.Font.Color := $0080FF80;
end;
procedure TForm4.Pane1SebelumnyaMouseMove(Sender: TObject; Shit\: TShit\Statc; X, Y: Integer); begin
Pane!Sebclumnya.Beve!Outer := BvLowered; Pane!Sebclu.nnya.Color := $00FF8000; Pane!Sebclumnya.Font.Color := $0080FF80;
end;
procedure TForm4.Pane!TerakhirMouseMove(Sender: TObject; Shift: TShit\State; X, Y: Integer); begin
Pane!Terakhir.Beve!Outer := BvLowered; Pane!Terakhir.Color := $00FF8000; Pane!Terakhir.Font.Color := $0080FF80;
0nd;
procedure TForm4.GroupBoxIMouseMove(Sender: TObject; Shift: TShit\Statc; X, Y: Integer); begin
PancJScbclumnva.BcvclOutcr := BvNone:
PandSebelumnya.Font.Color :=cl Silver; PanelBerikutnya.BevelOuter := BvNone; Pane!Berikutnya.Color := c!Black; PanelBerikutnya.Font.Color := clSilvcr; PanelPertama.BevelOuter := BvNonc; PanelPcrtama.Color := cll31ack; PanclPertama.Font.Color := clSilver; PanelTerakhir.BevelOuter := BvNone; PanelTerakhir.Color := clBlack; PanelTerakhir.Font.Color := clSilver;
end;
procedure TForm4.Pane1PertamaClick(Sender: TObjccl); begin
Table I.First; end;
procedure TForm4.PanelTerakhirClick(Sender: TObject); begin
Table I.Lan; end; procedure TFurm4.Panc1SebelumnyaClick(Scnder: TObject); begin
Table I.Prior; end;
procedure TForm4.Pane!BerikutnyaClick(Sender: TObject); begin
Table I .Next; end;
procedure TForm4.LabelTambahData2Click(Sender: TObject); begin
Table I .Append; end;
procedure TForm4.LabclSimpan!MouscEnter(Sender: TObject); begin
Labe!Simpan I. Visible := False; Labe1Simpan2. Visible := true;
end;
procedure TForm4.LabelSimpan2Click(Sender: TObject); begin
Table I.Post; end;
procedure TForm4.LabelHapus2Click(Sender: TObject); begin
77
If messageDlg('Anda benar-benar ingin menghapus data ini?',mtConfirmati0n,[mbYes, mbNo],O)=mrYes then
table I.Delete; end;
procedure TForm4.LabelBatal I MouseEnter(Sender: TObject); begin
LabelBatal I .Visible := False:
end;
procedure TForm4.Labe1Batal2Cliek(Sender: TObject); begin
Table I .Cancel; end;
procedure TForm4.LabclCari2Click(Sender: TObject); begin
with table I do begin
setkey; FieldB yName('Nama').A sString:=Editl. Text; GoToNcarcst;
end; end;
end.
79
Lamp. 3: Source Code Kebutuhan Posisi
unit U11it5KcbutuhanKaryawan;
interface
uses Windows, Messages, SysUtils, Variants, Clusses, Graphics, Controls, Forms, Dialogs, DB, l)B'fublc~, Grids, DBGrids, StdCtrls;
type TForm5 = class(TForm)
GroupBox 1: TGroupBox; DB Grid 1: TDBGrid; Table 1: lTablc; DataSourcel: TDataSourcc; GroupBox2: TGroupBox; LabelTambahDatal: TLabel; LabelHapus I: TLabel; Label Close 1: TLabel; Label 1: TLabel; LabelTam'>ahDala2: TLabel; LabelHapu,2: TLabel; Labe1Close2: TLabel; LabelBatal 1: TLabel; Labe1Batal2: TLabel; LabelSimpan I: TLabel; Labe1Simpan2: TLabcl; procedure Label Close I Click( Sender: TObjecl); procedure Labe!TambahDatal MouseEnler(Sender: TObject); procedure LabelHapus IMouseEnter(Scnder: TObject); procedure Label Close 1 MouseEnter(Sender: TObject); procedure GroupBox2MouseMove(Sender: TOqject; Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObjcct; Shift: TShiftState; X, Y: Integer);
procedure Labe1Close2Click(Sender: TObjcct); procedure LabelTambahData2Click(Sender: TObjcct); procedure Labe1Hapus2Click(Sender: TObjecl); procedure LabelBatall MouseEnter(Sender: TObject); procedure Labe1Batal2Click(Sender: TObject); procedure LabelSimpan I MouseEntcr(Sendcr: TObject); procedure Labe!Simpan2Click(Sender: TObject);
private ( Private declarations )
public { Public declarations )
end;
var Form5: TFom15;
implementation
($R *.dfm)
procedure TFonn5.Labc!Closel Click( Sender: TObjcct); begin
Close; end;
procedure TForm5.Labc!TambahDala I MouseEntcr(Sendcr: TObjcct); begin
Labe!TambahDatal.Visiblc :=False; Labe!TambahData2.Visiblc :~true;
end;
procedure TForm5.Labe!Hapus1MouseEnter(Sendcr: TObject); begin
Labe!Hapus I. Visible := False; Labe!Hapus2. Visible := true;
end;
procedure TForm5.LabelClosc I MouseEntcr(Sender: TObject); begin
LabclClosel.Visible :=False; Labe!Close2.Visible :=true;
end;
procedure TFonn5.GroupBox2MouseMove(Sender; TObject; Shift: TShiftState; X, Y: Integer); begin
Labe!TambahDalal.Visible :=True; Labe!TambahData2.Visible :=False; LabelHapus I. Visible :=True; Labe!Hapus2. Visible := False; Labe!Batal I.Visible:= True; Labe!Batal2.Visible ;=False; Labe!Simpan I. Visible :=True; Labc!Simpan2.Visible :=False;
end;
procedure TForm5.FormMouseMove(Sender: TO!<ject; Shift: TShiftState; X, Y: Integer); begin
Labe!Closel.Visible :=True; Labe!Close2.Visible :=False;
end;
procedure TForm5.Labe!Close2Click(Sender: TObject); begin
Close; end;
procedure TForm5.Labe!TambahData2Click(Scnder: TObject); begin
Table I .Append; end;
procedure TFonn5.Labe!Hapus2Click(Sender: TObject); begin
ifmessagcDlg( 1Anda benar-bcnar ingin menghapus data ini'?1,mtConfirmation,[mbYes, mbNo],O)=mrYes then table I.Delete;
,. ... rl.
80
procedure TForm5.Labe1Batal J MouseEnter(Sender: TObject); begin
Labe!Batal !.Visible:= False; Labe1Batal2.Visible :=true;
end;
procedure TForm5.Labe!Batal2Click(Sender: TObject); begin
Table J.Cancc!; end;
procedure TForm5.Labe!Simpan I MouseEntcr(Sender: TOl<ject); begin
LabelSimpanl.Visible :=False; Labe!Simpan2.Visible :=true;
end;
procedure TForm5.LabelSimpan2Click(Sendcr: TObject); begin
Table I.Append; end;
end.
81
Lamp. 4: Source Code Pilihan Input Data
unit Unit_ 15 _PilihaninputData;
interface
uses Windows, Mcs:;agcs, SyslJtils, Variants, Classes, Graphics, Controls, fiorms, l)ialogs, StdCtrls;
type TForm 15Pilihanlnput = class(TForm)
Group Box I: TGroupBox; Label I: TLabel; Button l: TButton; Button2: TButtnn; Labe1Close2: TLabel; Label Close 1: TLabel; procedure Label Close I MouseEnter(Scnder: TObject); procedure Labc1Close2Click(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure Button 1 Click( Sender: TObjcct); procedure Button2Click(Sender: TObject);
private { Private declarations )
public { Public declarations )
end;
var Form 15Pilihanlnput: TForm 15Pilihanlnput;
implementation
uses Unitl3Pilihanlnput, Unit 121nputPercfcrcnsian;
{$R *.Jfm)
procedure TF orm 15Pi I ihanlnput.Label Close 1 MouseEnter(Scndcr: TOl!Ject); begin
LabelCloscl.Visible :=False; Labe1Close2. Visible := true;
end;
procedure TFom115Pilihanlnput.LabelClose2Click(Sender: TObject); begin
Close; end;
82
procedure TForml5Pilihanlnput.FonnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabelClosel .Visible:= True; Labe!Close2. Visible := False;
end;
procedure norm l 5Pilihanlnput.Button I Click( Sender: TObject); hnnin
Form 13.Show; end;
procedure TF orm I 5Pilihanl nput.Button2Click(Scndcr: TObjcct); begin
Fonn 121 nputPerefcrensian.Sho\v; end;
end.
83
Lamp. 5: Source Code Pilihan Input Fakta Penilaian
unit Unitl3Pilihanlnput;
interface
uses \Vindo\vs, Messages, SysUtils. Variants, Classes, (Jraphics, Controls, Forms, Diulogs, StUCtrls;
type TForm13 '" cluss(TFon'l)
GroupBox I: TGroupBox; But onl: ·mutton; Button2: ·mutton; Button3: Tllutton; Label I: TLabel; Label Close I: TLabel; Labe1Close2: TLabcl; procedure Button I Click( Sender: TObject); procedure Labc1Close2Click(Sender: TObject); procedure LabelCloselClick(Sender: TObject); procedure FormMousoMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure LabelClosc I MouseEnter(Sender: TObject); procedure llutton2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject);
private { Private declarations }
public ( Public declarations }
end;
vm· Forml3: TForml3;
implementation
uses Unit 14 InputKalin1atPcni laianA, InputKali1natPcnilaianB, Unit 15 ln putKalimatPenilaian_C, Unitl5NilaiAkhir;
{$R *.dfm}
procedure TForm I 3.Button J Click( Sender: TObject); begin
Form 14.Show; end;
procedure TForm 13.Labe1Close2Click(Sender: TObject); begin
Close; end;
procedure Tforml3.Labe1Closel Click( Sender: TObject); begin
Close; .-.nA•
84
procedure TForm 13.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabelClosel.Visible :~True; Labe1Close2.Visible :~False;
end;
procedure TForm 13.LabclClosel MouscEnter(Sendcr: TObjcct); begin
Label Close l. Visible :~ False; Labc1Close2. Visible:~ true;
end;
procedure TForm 13.Button2Click(Sender: TObject); begin
Form l51npulKalimalB Show; end;
procedure TForm l3.Button3Click(Scnder: TObjcet); begin
Form 15Kalimatldeal_ C.Show; end;
procedure TForml3.Button4Click(Sender: TObject); begin
Form 1 SNilaiAKhir.ShO\V; end;
end.
85
]Lamp. 6: Source Code Input Fakta Penilaian
unit Unitl4lnputKalimatPenilaianA;
interface
uses Windows, tvf jSsages, SysUti!s, Variants, Classes, Graphics, Controls, Fonns. I)ialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Grids, DBGrids;
type TForm 14 = class(TForm)
GroupBox I: TGroupBox; Label I : TLabel; Label2: TLabel; DataSourcc I: TDataSourcc; Table I: TTable; DBEditl: TDBEdit; DBEdit2: TDBEdit; Label3: TLabel; GroupBox2: TGroupBox; Label Close 1: TLabel; Labc!Close2: TLabel; Labe!Okl: TLabel; Labe!Cancel l: TLabel; Labe!Ok2: TLabel; Labe!Cancel2: TLabel; GroupBox3: TGroupBox; DBGrid I: TDBGrid; Labe!Delete2: TLabel; Labe!Delete I: TLabel; procedure FormActivate(Sender: TObjcct); procedure Labe1Close2C!ick(Sender: TObject); procedure Label Close! MouseEnlcr(Scndcr: TObject); procedure FormMouseMove(Sender: TObject; Shit\: TShif\State; X,
Y: Integer); procedure Label Cancel l MouseEnter(Sender: TObject); procedure Labe!Okl Mouse Enter( Sender: TObject); procedure GroupBox2MouseMove(Sender: TObject; Shift: TShif\Stai:e; X,
Y: Integer); procedure Labe10k2Click(Sender: TObject); procedure Labe!Next2Click(Sender: TObject); procedure Labe1Cancel2Click(Sender: TObject); procedure Labe!Delete I MouseEnter(Sender: TObject); procedure Labe1Delete2Click(Sender: TObject); procedure Labellnsert2Click(Sender: TOt>ject);
private { Private dec!Prations }
public ( Public declarations }
end;
var Forml4: TForml4;
implementation
86
uses Unit 15PerefercnsiunFaktaKategori;
{$R *.dfm}
procedure TForm 14.FormActivate(Scndcr: TObject); begin
D8Editl.Clear; D8Edit2.Clear;
end;
procedure TForm 14.Labc1Closc2Click(Scnder: TObjccl); begin
Close; end;
procedure TForm 14.LabelClose I MouseEntcr(Scndcr: TObjcct); begin
Label Close l. Visible := False; Labe1Close2. Visible := true;
end;
procedure TForm 14.FormMouseMove(Sender: TObject; Shift: TShirtState; X, Y: Integer); begin
LabelClosel.Visible := Trne; Labe1Close2.Visible :=False;
end;
procedure TForm 14.LabelCancel l MouseEnter(Sender: TObject); begin
Label Cancel l. Visible := False; Labe1Cancel2.Vlsible :=true;
end;
procedure TForm 14.LabclOk l MouseEnter(Sender: TObject); begin
LabelOkl.Visible :=False; Label0k2. Visible :=true;
end;
procedure TForml4.Group8ox2MouseMove(Sender: TObject; Shift: TShiftStatc; X, Y: Integer);
begin LabelOkl.Visible :=True; Labe10k2. Visible := False; Labe!Caocel l. Visible :=True; Labe1Cancel2.Visible :=False; LabelDeletel.Visible :=True; Labe1Deletc2.Visible := False;
end;
procedure TForm l4.Labcl0k2Click(Scnder: TObject); begin
Tablel.Append; DBEditl.Clear; D8Edit2.Clear; D8Editl .SetFocus();
end;
87
begin Table I .Append; DB Edit I .SetFocus();
end;
procedure TForml4.LabelCancel2Click(Scndcr: TObjcct); begin
Table I.Cancel; DB Edit I .SetFocus();
end;
procedure TForrn 14.Labe!Delete 1 MouseEnter(Sender: TObject); begin
Labe!Deletel.Yisible :=False; Labe1Delete2. Visible := true;
end;
procedure TForrn I 4.Labc!Delete2Click(Scndcr: TObject); begin
Table I .Delete; Table I .Refresh; DBEditl .SetFocus();
end;
procedure TForrn 14 .Labellnscrt2Click(Sender: TObject); begin
Table I.Post; DBEditl.SetFocus();
end;
end.
88
89
Lamp. 7: Source Code Input Nilai Pereferensia!!
unit Unitl2InputPereferensian;
interface
uses Windows, Messages, Sy:.Utils, Variants, Classes, Graphics, Controls, Fonns, Dialogs, StdCtrls, DB, DBTables, Mask, DBCtrls, Grids, DBGrids, Buttons;
type TForm 12lnputPereferensian = class(TForm)
GroupBoxl: TGroupBox; GroupBox2: TGroupBox; DBGridl: TDBGrid; Table I: TT able; DataSourcel: TDataSource; Table!No_pereferensian: TStringField; Table I Pereferensian: TStringField; Table!Kalimat: TStringField; Table!LUDerajat: TFloatField; Label!: TLabel; Labe!Edit2: TLabel; Labe!Editl: TLabel; Labe!Batal2: TLabel; Labe!Batal I: TLabel; LabelSavel: TLabel; Labe1Save2: TLabel; Label Delete I: TLabel; Labe1Delete2: TLabel; Labellnsert2: '!'Label; Labellnsertl: '!'Label; Labe!Checkl: '!'Label; Labe!Check2: TLabel; Labe!Close I: '!'Label; Labe!Close2: TLabel; procedure FormActivate(Sender: TObject); procedure Table! CalcFields(DataSet: TDataSct);
procedure Labe!EditlMouseEnter(Sender: TObjc>ct); procedure GroupBox2MouseMove(Sender: TObjecl; Shift: TShifiState; X,
Y: Integer); procedure Labe!Edit2Cliek(Sendcr: TObject); procedure Labe!Batal I MouseEnter(Sender: '!'Object); procedure Labe!Batal2Click(Sender: '!'Object); procedure Label Save IMouseEnter(Sender: TObject); procedure Labe!Save2Click(Sender: TObject); procedure LabelDeletel MouseEnter(Sender: TObject); procedure Labe1Delete2Click(Sender: TObject); procedure Labellnsertl MouseEnter(Sender: TObject); procedure Labellnsert2Click(Sender: TObject); procedure Label Check I MouseEntcr(Sender: TObject); procedure Labe1Check2Click(Sender: TObjcct); procedure FormMouseMove(Sender: '!'Object; Shift: TShiftState; X,
Y: Integer); procedure LabelClosel MouseEnter(Scnder: '!'Object); . -~ ... -- .
private { Private declarations }
public { Public declarations l
end;
var Form 12InputPcrefercnsian: l'Form 12InputPcrcfcrensian; Derajat:a1Tay[ 1 .. 1 SJ of double; Jarak:array[J.. I SJ of string; Bobot:array[ I.. I SJ of string; Percfercnsian:array[ 1 .. 15J of string;
implen1entation
uses Unit7NilaiPerefercnsian, Unit8l1asi1Pcrefcrcnsian, Unit12;
{$R *.dfm}
procedure TForm 121nputPereferensian.FormActivate(Sender: ·robject); begin
Labe1Save2.Enabled:=False; Labe!Batal2.Enabled:=False; DB Grid I .ReadOnly:=True; Table l .IndexFieldNames:=1No _Pe ref crcnsian1
;
end;
procec Jre TF onn I 2JnputPereferensian.Tablc I CalcFields(DataSet: TDat<iSet); var
i:integcr; begin
i:=table I .Record Count; Table I LUDcrajat.Value:=table I .RccNo/i;
end;
procedure TForm 12lnputPeref erensian. Label Edit I MouseEnter(Sender: TObjeet); begin
Labe!Editl.Visible :=False; Labe1Edit2. Visible := true;
end;
90
procedure TForm 121nputPerefcrensian.GroupBox2MouseMove(Sender: TObject; Shift: TShil\Statc; X, Y: Integer); begin
Labe!Editl.Visiblc :=True; Labe!Edit2.Visiblc :=False; Labc!Batal i .Visible:= True; Labe!Batal2 Visible := False; Label Save I. Visible:= True; Labe!Save2. Visible :=False; Label Delete I .Visible :=True; Labe1Delete2.Visible :=False; Labellnsertl .Visible:= True; Labellnscrt2.Visible :=False; Labc!Chcckl.Visiblc :=True; Labe!Check2.Visiblc :=False;
end;
begin Labe!Save2.Enablcd:=True; Labe!Batal2.Enabled:=True; DBGrid I .ReadOnly:=False; Labe!Edit2.Enabled:=False;
end;
procedure TF orm 12 lnputPereferensian.Labc!Batal I MouseEnter(Sen<ler: TObject); begin
Labe!Batal I .Visible:= False; Labe!Batal2. Visible := true;
end;
procedure TForm I 2lnputPereferensian.Labe!Batal2CI ick(Sender: TObject); begin
Table I.Cancel; Labe!Batal2.Enabled:=False; Labe!Save2.Enabled:=False; Labe!Edit2.Enabled:=true;
end;
procedure TF orm I 2lnputPerefcrensian.Labe!Save I MouseEnter(Sender: TObject); begin
Labe!Savel.Visible :=False; Labe!Save2.Visible :=true;
end;
procedure TForm 12InputPereferensian.Labe!Save2Click(Sender: TObject); begin
Table 1.Refresh; Labe!Batal2.Enabled:=False; Labe!Save2.Enabled:= .'alse; DB Grid 1.ReadOnly:=True; Labc!Edit2.Enabled:=true; Labe!Batal2.Enabled:=True;
end;
procedure TForm 12lnputPereferensian.Label Delete I MouseEntcr(Sender: TObject); begin
Labe!Deletel.Visible :=False; Labe!Dclete2. Visible := true;
end;
procedure TForm 12lnputPereferensian.Labe!Delete2Cliek(Sender: TObjeet); begin .
ifmessageDlg('Anda benar-benar ingin n1enghapus data ini?',n1tConfirmation,[mbYes, mbNo],O)=mrYes then table I.Delete;
end;
procedure TF orm 121 nputPcreferensian.Label Insert I MouscEnter(Sender: TObject); begin
Labellnsertl.Visiblc :=False; Labcllnsert2. Visible := true;
end;
procedure TForm 12InputPereferensian.Labellnsert2Click(Sender: TOqject); begin
Table J.lnsert:
91
92
DBGridl.RcadOnly:=False; Labe1Edit2.Enablcd:=Falsc; Labe1Batal2.Enablcd:= frue; Labc 1Savc2.Enabled:=True; DBGrid l .SetFocus;
end;
procedure TF arm 12InputPerefcrcnsian.LabelChcek I MouseEnter( Sender: TObject); begin
Label Check I. Visible := False; Labe1Check2. Visible := true;
end;
procedure TForm I 2InputPeref erensian. Labe1Check2Click(Sender: TObject); var
i:integer; begin
with Form? do begin
check box I .Checked:=true; checkbox2.Checked:=true; checkbox3.Checked:=true; checkbo>. 4.Checked:=truc; checkboxo .Checked:=true; checkbox6.Checked:=true; checkbox7 .Checked:=true; checkbox8.Checked:=true; checkbox9.Checked:=true;
end; table I.First; for i:=l to tablcl.RecordCount do begin
Derajat[i] :=Table I LUDerajat. Value; Jarak[i] :=lntToStr(i); Bobot[i]:='l'; Pereferensian[i] :=Table I Perefcrcnsian. Value; Table I.Next;
end; Form7.Show;
end;
procedure TForml2InputPereferensian.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabelClosel.Visible :=True; Labe1Close2.Visible := 1-alse;
end;
procedure TF orm 121nputPereferensian.Labe1Close I MouseEnter(Sender: TObject); begin
LabelClose 1. Visible := False; Labe1Close2.Visible :=true;
end;
procedure TF arm 12 InputPereferensian.LabelClose2CI ick(Sender: TObject); begin
Close; end;
Lamp. 8: Source Code Check Nilai Perefereusian
unit Unit7NilaiPcrcfercnsian;
interface
uses Windo\vs, l\Icssagcs, SysUtils, Variants, Classes, Graphics, Controb, Forms, f)ialogs, StdCtrls, DBCtrls, DB DBTables;
type TForm7 = class(TForm)
Group Box l: TGroupBox; GroupBox2: TGroupBox; Labe!Okl: TLabel; Labe10k2: TLabel; Label Cancel I: TLabel; Labe!Cancel2: TLabel; LabelClosel: TLabel; Labe1Close2: TLabel; Label l 0: TLabel; Check Box I: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; CheckBox5: TCheckBox; CheckBox6: TCheckBox; CheckBox7: TCheckBox; CheckBox8: TCheckBox; CheckBox9: TCheckBox; Table I: TT able; CheckBox2: TCheckBox; procedure LabelOklMouseEnter(Sender: TObject); procedure Labe!Cancel IMouseEnter(Sender: TObject); procedure GroupBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure LabelClose2MouseEnter(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Label Close I MouseEnter(Sender: TObject); procedure LabelClose2Click(Sender: TObject); procedure Label0k2Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure LabelCancel2Click(Sender: TObject);
private { Private declarations )
public ( Public declarations )
end;
var Form7: TFonn7;
implementation
uses Unit8Hasi1Percfcrcnsian, Unit121nputPcrefercnsian;
91
procedure TForm7.LabclOk I MouscEnter(Sendcr: TOqiect); begin
LabelOkl.Visible := Fal;c; Label0k2. Visible := true;
end;
procedure TForm7.Labc1Cancel l MouseEntcr(Sender: TObject); begin
Label Cancel l. Visible := False; Labe1Cancel2. Visible := true;
end;
procedure TForm7.GroupBox2MouseMovc(Scnder: TObject; Shift: TShif\State; X, Y: Integer); begin
LabelOkl.Visible :=True; Labc!Ok2.Visible :=False; LabelCancel I .Visible :=True; Labe1Cancel2.Visible :=False;
end;
procedure TForm7.LabelClose2MouseEnter(Sender: TObject); begin
LabelClosel.Visible :=False; Labe1Close2.Visible :=true;
end;
procedure TForm7.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabelClosel.Visible :=True; Labe!Close2. Visible := False;
end;
procedure TForm7 .LabelClosel MouseEnter(Sender: TObject); begin
LabelClosel .Visible:= False; Labc!Close2.Visible :=true;
end;
procedure TForm7.Labc!Close2Click(Sendcr: TObjcct); begin
Close; end;
procedure TForm7.LabclOk2Click(Scnder: TObject); begin
form8.Shov1; end;
procedure TForm7.FormActivate(Sender: TObject); var
i:intcger; checkB: array[l .. 9] of String;
begin Tablel.First; fori:=I to Tablel.RecordCount do begin
checkB[i] :=Table l .FicldByName('Pcrefcrcnsian').AsString;
94
end; checkbox 1.Caption:=checkB (1 ]; checkbox2.Caption:=chcckB[2]; checkbox3.Caption:=checkB[3]; checkbox4.Caption:=checkB[ 4 ]; checkbox5.Caption:=chcckB[5); checkbox6.Caption:=chcckB[6]; checkbox7 .Caption:=checkB[7]; chcckbox8.Caption:=chcckB[8]; checkbox9.Caption:=chcckB[9);
end;
procedure TForm7.LabclCancel2Click(Scnder: TObject); begin
Close; end;
end.
95
Lamp. 9: Source Code Derajat Keanggotaan Nilai Pc•referensian
unit Unit811asi1Perefercnsian;
interface
uses Windows. Messages. SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, Grids, DB, DBTables, ExtCtrls;
type TFonn8 = class(TForm)
GroupBoxl: TGroupBox; Label32: TLabel; StringGridl: TStringGrid; Table2: TTable; Table I: TTable; Table2No_lnduk: TStringField; Table2No_Pereferensian: TStringField; Table2Percferensian: TStringField; Table2No_Fakta: TStringField; Table2Nilai_Absolut: TFloatField; Table2Jumlah_Fakta: TFloatField; Table2Nilai: TFloat 'ield; GroupBox2: TGroupBox; Lnbe!Grafikl: TLabel; Labe1Grafik2: TLabel; Label Close I: TLabcl; Labe!Close2: TLabel; Label I: TLabel; procedure ButtonlClick(Sender: TObjeet); procedure FormActivate(Sender: TObject); procedure Button2Click(Sender: TObjcct); procedure LabelGrafikl MouseEnter(Sender: TObject); procedure GroupBo.'2MouseMove(Scnder: TObject; Shift: TShiftStale; X,
Y: Integer); procedure Labe1Grafik2Click(Sender: TObject); procedure Labe1Dcrajat2Click(Sender: TObject); procedure Labe!Closel MouseEnter(Sender: TObjecl); procedure Labe!Close2Click(Sender: TObject); procedure FormMouseMovc(Sender: TObject; Shit1: TShiftState; X,
Y: Integer); private
( Private. declarations } public
( Public ceclarations } end;
var Form8: TForm8;
in1pJementation
uses UnitlOGrafikTcnns, Unitl2InputPcreferensian;
($R *.dfin}
96
procedure TForm8.Bu!lon I Click( Sender: TObjcct); begin
Form IO.Show; end;
procedure TForm8.FormActivatc(Sendcr: TObject); var
i:integer; begin
stringGrid I .Ce! ls[ 0,0] :='No'; stringGrid 1.Cclls[J ,O]:""''Nilai Perefcrcnsian1
;
slringGridl .Cells[2,0]:='Bobol Nilai'; slringGridl.Cclls[3,0]:='Jarak Nilai'; stringGrid I .Cells[ 4,0]:='Derajat Keanggotaan'; for i:=I to Forml2InputPereferensian.Tablel.RecordCount do begin
slringGrid I .RowCount:=StringGrid I .RowCount+ I; stringGrid I .Cells[O,i]:=IntToStr(i); slringGrid I .Cells[ I ,i]:=Pereferensian[i]; slringGrid I .Cells[2,i]:=Bobot[i]; stringGrid I .Cells[3,i]:= Jarak[i]; stringGrid I .Cells[ 4,i] :=FloatToSlr(Derajat[i));
end; end;
procedure TForm8.Button2Click(Scnder: TObject); var
i,tot:integer; begin
tot:=O; table2.Firsl; for i :=I to table2.RecordCount do begin
Tot:= Tot+ Table2Jumlah_Fakta.Asinlcger • SlrToint(StringGridl.Cells[3,i)); table2.Next;
end; end;
procedure TForm8. Label Grafik I MouseEnter(Sendcr: TObject ); begin
Labe!Grafikl.Visiblc :=False; Labe1Grafik2.Visible :=true;
end;
procedure TForm8.GroupBox2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabelGrafikl.Visible :=True; Labe!Grafi.<2.Visible :=False;
end;
procedure TForm8.LabelGrafik2Click(Sender: TObject); begin
Form IO.Show; end;
procedure TForm8.Labe1Derajat2Click(Sendcr: TObjecl);
97
i,tot:integcr; begin
tot:=O; table2.First; for i:=I to table2.RecordCounl do begin
Tot:= Tot+ Table2Jumlah_Fakta.Aslntegcr * StrTolnt(SlringGridl.Cells[3,i]); lable2.Next;
end; end;
procedure TFonn8.Labe1Close I MouscEnler(Sender: TObjcct); begin
Label Close I. Visible := False; Labe1Close2. Visible := true;
end;
procedure TForm8.LabclClose2Click(Sender: TObject); begin
Close; end;
procedure TFurm8.FormMouseMove(Sendcr: TObjcct; Shift: TShiftStatc; X, Y: Integer); begin
LabclClosel .Visible:= True; Labe1Close2. Visible := False;
end;
end.
98
99
Lamp. 10: Source Code Grafik Derajat Keanggotaan Nilai Pereferensian
unit Unit 1 OGrafikTcrms;
interface
uses \Vindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forrns~ J)ialogs, TcEnginc, Series, ExtClrls, TeeProcs, Char~ DbCharl, DB, DBTablcs, StdCtrls, TceFunci;
type TForm I 0 ~ class(TForm)
GroupBoxl: TGroupBox; Table I: TI'able; DB Chart I: TDBChart: Series I: TBarSeries; Table 1 No_Pereferensian: TStringField; Table! Pereferensian: TStringFicld; Table I Kali mat: TSlringField; Table! LUDerajat: TFloatField; Timer]: ITimer~ GroupBox2: TGroupBox; DBChart2: TDBChart; Tablc2: TTable; Series2: 1~PieSeries; CheckBoxl: TCheckBox; Label!: TLaoel; Labe!Closel: TLabel; Labe1Close2: TLabel; procedure Button!Click(Sendcr: TObject); procedure Table! CalcFields(DataSet: TDataSet); procedure FormActivate(Sender: TObject); procedure Check Box I Click(Sender: TObject); procedure Timer! Timer( Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Label Close I MouseEntcr(Sender: TObjcct); procedure Labc1Closc2Click(Scndcr: '!'Object);
private { Private declarations }
public tmpX, tmp Y : Longlnt;
end;
var FormlO: TFormlO;
implementation
uses Unit! !PieGrapikTerms;
{$R •.dfm}
procedure TForm IO.Button l Cllck(Scnder: '!'Object); begin
Form I J .Sho\v; end~
procedure TForrn l 0.FonnActivatc(Sender: TObject); begin
tmpX:=-4; UnpY:=-3; end;
procedure TForrn l O.ChcckBox l Click( Sender: TObjcct); begin Timer 1.Enabled:=CheckBox I .Checked; if not Timer! .Enabled then begin
Series2.CustomXRadius:=O; Series2.Custom YRadius:=O;
end; end; procedure TForm l O.Table I CalcFields(DataSet: TDatuSet); begin
Table I LUDerajat. Value:=tablc I .RccNo/9; end;
procedure TForm 10.Timer!Timer(Sender: TObject); begin
Series2.Rotatc(3 );
with Series2 do begin
if unpX>O then begin
ifXRadius+tmpX>DBChart2.ChartWidth div 3 then trnpX:=-tmpX; end else ifXRadius+tmpX<30 then trnpX:=-tmpX;
customXRadius:=XRadius+tmpX;
if unp Y>O then begin
if YRadius+tmp Y>DBCharl2.ChartHeight div 3 then tmp Y :=-tmp Y; end else if YRadius+trnpY<30 then trnpY:=-tmpY;
custom YRadius:= YRadius+tmp Y; end;
end;
procedure TForm I O.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin LabelClosel.Visible :=True; LabelClose2. Visible := False;
end;
procedure TForm I 0.LabelClosel MouseEnter(Sender: TObject); begin
LabelClosel.Visible :=False; Labe!Close2.Visible :=true;
end;
procedure TForm I O.Labe!Close2Click(Sender: TObject); bc.-gin
Close; end;
JOO
101
Lamp. 11: Source Code Pencarian Kandidat Awai
unit Unit2PcncarianKandidat;
interface
uses Windo\vs, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fonns, IJialogs, StdCtrls, DBCtrls, Mask, ExtCtrls, DB, DBTablcs;
type TForm2 ~ class(TF orm)
Group Box 1: TGroupBox; GroupBox2: TGroupBox; Labell: TLabel; Labc12: TLabel; Labc13: TLabel; Label4: TLabel; Labe15: TLabel; Labe16: TLabcl; GroupBox3: TGroupBox; Label?: TLabel; Label8: TLabel; Label 11: TLabel; GroupBox4: TGroupBox; GroupBox6: TGroupBox; Labell 7: TLabel; Label 19: TLabel; Label20: TLabel; Label21: TLabel; Labcl23: TLabel; Labc124: TLabel; LabclDafKandidatl: '!'Label; LabclClosel: TLabel; LabclDafKandidat2: TLabel; Labe1Close2: TLabel; DBLookupComboBox I: TDBLookupComboBox; DBLookupComboBox2: TDBLookupComboBox; DBLookupComboBox3: TDBLookupCombt Box; DBLookupComboBox5: TDBLookupComboBox; DBLookupComboBox6: TDBLookupComboBox; DBLookupComboBox7: TDBLookupComboBox; DBLookupComboBox8: TDBLookupComboBo>; DBLookupComboBox9: TDBLookupComboBox; DataSource 1: TDataSourcc; DataSource2: TDataSource; DataSource3: TDataSource; DataSource5: 1'DataSource; DataSource6: TDataSourcc; DataSource7: 'fDataSource; DataSomcc8: TDataSourcc; DataSource9: TDataSource; Query!: TQuery; DataSourcelO: TDataSource; DataSomcc 11: TDataSource; DBLookupComboBox!O: TDBLookupComboBox; DBLookupComboBox4: TDBLookupComboBox; T'lnl" C' ''" ,,.,..,.,t • 'f'l""'\,.o n C1 "' ·--·"•
Label26: TLabel; DataSource 12: TDataSource; DataSource 13; TDataSource; DBLookupComboBoxl2: TDBLookupComboBox; PanelPilih; TPanel; Labell 2: TLabel; Label 13: TLabel; DBLookupComboBox 11: TDBLookupComboBox; procedure FormMouseMove(Sender: TObject; Shilt: TShil\State; X,
Y: Integer); procedure Labe1Close2Click(Sender; TObjct L); procedure Label Close I Click( Sender: TObjcct); procedure Label Close I MouseEntcr(Sendcr: TObject); procedure LabelDalKandidatl MouseEnter(Scnder: TObject); procedure Panc!PilihMouseMove(Sendcr: TO~ic'ot; Shill: TShiftState; X,
Y: Integer); procedure GroupBox51v1ouseMovc(Scnder. '!'Object; Shill: TShift3tatc; X, Y: Integer);
prncedure Pane!PilihClick(Sender: TObject); procedure GroupBox4MouseMovc(Scndcr: '!'Object; Shift: TShiftState; X, Y: Integer);
private ( Private declarations }
public ( Public declarations }
end;
var Form2: TFonn2;
implementation Uses Unit3KandidatKaryawan, UnitlDataModul;
($R *.dfm}
procedure TForm2.FormMouseMove(Sender: TObjcct; Shill: TShit\Statc; X, Y: Integer); begin
Labe!Closel.Visible :=True; LabclCiose2. Visible := False; LabelDafKandidatl.Visible :=True; Labe1Da!Kandidat2.Vi,ible :=False;
end;
procedure TFonn2.LabclClose2Click(Sender: TObject); begin
Close; end;
procedure TForm2.LabelClose I Click( Sender: TObject); begin
Close; end;
procedure TFonn2.LabclClose!MouseEnter(Sender: TObject); begin
LabelCloscl.Visible :=False; Labe1Close2. Visible :=true;
end;
102
procedure TF orm2.LabeluafKandidal I MouscEnler(Sender: TObjeel); begin
LabelDafKandidatl.Visible :=False; Labe1DafKandidat2.Visible :=true;
end;
procedure TForm2.PanelPilihMouseMovc(Sender: TObject; Shi fl: TShiflState; X, Y: Integer); begin
Pane!Pilih.BevelOutcr := BvLowcrcd; PanelPilih.Color := $00FF8000; Pane!Pilih.Font.Color :~ $0080FF80;
end;
procedure TForm2.GroupBox5MouseMovc(Sender: TObject; Shift: TShif\Statc; X, Y: Integer); begin
PaneIPilih.BevelOutcr := BvNone; PanelPilih.Color := c!Black; Pane!Pilih.Font.Color := c!Silver;
end;
procedure TForm2.PanelPilihCiick(Sender: TObjectl; begin
query I.Close; queryl.SQL.Clear; queryl.SQL.Add('Select • From Karyawan Where Jabatan =:JB and Divisi =:DV and'+
103
Golongan =:GL and Penilaian_Kesetiaan =:KS and Penilaian_Kinerjfa =:KJ and Pendidikan_Terakhir =:PD'+ and Mengikuti_PK_Sebanyak =:PK and Masa_Kerja_Th =:MK and Usia_Th =:US'); query I.Prepare; query! .ParamByName('JB').AsString:=DBLookUpcombobox4.Text; query I .PararnByName('DV').AsString:=DBLookUpcombobox5.Text; query I .PararnByName('GL').AsString:=DBLookUpcombobox6. Text ; queryl.ParamByNamel'KS').AsString:=DBLookUpcombobox8.Text; query I .ParamByName('KJ').AsString:=DBLookUpcombobox9.Text ; query! .ParamByName('PD').AsString:=DBLookUpcombobox7.Text; query l .ParamByName('PK').AsString:=DBLookUpcombobox I O.Tcxt ; query I .ParamByNamc('MK').AsString:=DBLookUpcombobox I I .Text ; query l .ParamByNarne('US').AsString:=DBLook Upcombohox 12.Tcxt ; query I.Open; Form3.Show;
end;
procedure TForm2.GroupBox4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
Pane!Pilih.Beve!Outer :~ BvNonc; PanelPilih.Color := clBlack; PanelPilih.Font.Color :~ c!Silver;
end;
end.
Lamp. 12: Source Code Kandidat Karyawan Memenubi Syara~
unit Unit3KandidatKaryawan;
interface
uses Windo\vs, Messages, SysUtils, Variants, Classes, Graphics, •Controls, Forn1s1
Dialogs, MMSystcrn, Grids, DBGrids, StdCtrls, ExtCtrls, Mask, DBCtrls, DB, DllTablcs;
type TForrn3 = class(TForrn)
Group Box 1: TGroupBox; Groupl3ox2: TGroupBox; LabclLihatData I: TLubcl; LabclLihalData2: TLuhcl; PanclBerikutnya: TPancl; Pan( ·!Pertarna: TPanel; Panc!Terakhir: TPanel; PancJScbelumnya: TPanel; DBEditl: TDBEdit; LabclClosel: TLabcl; Labe1Close2: TLabcl; LabelJudul: TLabcl; GroupBox3: TGroupBox; Label2: TLabel; Label Caril: TLabcl; Labe1Cari2: TLabcl; DataSource l: TDataSource; LabclSirnpan I: TLabel; Labe1Sirnpan2: TLabel; Edit I: TEdit; Memo 1: TMemo; DB Grid l: TDBGrid; Table l: TI'ablc; Table 1 No _Jnduk: TStringFicld; Table 1 Nana: TStringFicld; Table 1 Cabang: TStringField; Table!Divisi: TStringField; Table!Jabatan: TStringField; Table 1 Golongan: TStringField; Table JPendidikan_ Terakhir: TStringField; Table] Usia_Th: TStringField; TablelMasa_Kerja_Th: TStringField; Table l Mengikuti_PK _ Sebanyak: TStringFicld; Table!Penilaian_Kcsetiaan: TStringField; Table 1 Penilaian _ Kinerja: TStringField; procedure LabelCJoseJMouseEnter(Sender: TObject); procedure LabeJLihatData JMouseEnter(Sender: TObject); procedure ForrnMouseMove(Scnder: TObject; Shilt: TShiftState; X,
Y: Integer); procedure GroupBox2MouscMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure Labe!Close2Click(Sender: TObject); procedure LabeJCloselClick(Sender: TObject); procedure PaneJScbelumnynMouseMove(Sender: TObject; Shift: TShiftStatc; X,
Y: Integer);
104
procedure Group Box I MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Pane!PertamaMouseMove(Sendcr: TObject; Shift: TShif>:State; X, Y: Integer);
procedure Pane!TerakhirMouseMove(Sender: TObject; Shift: TShitlState; X, Y: Integer);
procedure Pane!BerikutnyaMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure PanellMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Labe!LihatData2Click(Scndcr: TObjccl); procedure Labcl3Click(Sendcr: TObjcct); procedure LabeI2Click(Sender: TObject); procedure Label2MouseEnter(Sender: TObject); procedure Label Cari I MouseEnter(Sender: TObject); procedure GroupBox3MouseMove(Sender: TObject; Shift: TShiftS·ratc; X,
Y: Integer); procedure Button I Click( Sender: TObject); procedure FormActivate(Sender: TObjcct); procedure FormCiose(Sender: TObject; var Action: TCJoseAction); procedure Labe!Simpan I MouseEnter(Sender: TObjcct); procedure Labe!Simpa.12Click(Sender: TObject); procedure Pane!PertamaCJick(Sender: TObject); procedure PanelTerakhirClick(Sender: TObject); procedure Pane!BerikutnyaClick(Sender: TObject); procedure Pane!SebelumnyaClick(Sender: TObjcct); procedure Labe1Cari2Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form3: TForm3;
implementation Uses unit4DataLengkapKaryawan, Unit2PencarianKandidat, Unit6All:Kandidat;
{$R *.dfmj
procedure TForm3 .Label Close I MouscEnter(Sender: TObject); begin
Label Close 1. Visible := False; Labe1Close2.Visible :=true;
end;
procedure TForm3 .Labe!LihatData I MouseEnter(Sender: TObject); begin Labe!LihatDatal.Visible :=False; Labe!LihatData2.Visible :=true; end;
procedure TForm3.FormMouseMove(Sender: TObjcct; Shift: TShiftState; X, Y: Integer); begin
Labe!Closel.Visible :=True; Labe1Close2.Visible := False; I .ahell ,ihntnntn 1 Vi<:ihlP ·= TrnP·
105
end;
procedure TForm3.GroupBox2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: ·nteger); begin
LabelLihatData I. Visible :=True; l.abelLihatData2. Visible := False; LabelSimpan I .Visible:= True; Labe1Simpan2.Visible :=False;
end;
procedure TF01m3.Labc1Ck1se2Click(Scndcr: TObjcct); begin
Close; end;
procedure TForm3.Labc!ClosclClick(Sender: TObjcct); begin
Close; end;
106
procedure TForm3.Pane1SebelumnyaMouseMovc'(Sender: TObject; Shift: TShiftStatc; X, Y: Integer); begin
PanelSebelumnya.BevclOuter := BvLo\vered; PanelSebelumnya.Color := $00FF8000; Pane!Sebelumnya.Font.Color := $0080FF80;
end;
procedure TForm3.GroupBox!MouseMove(Sendcr: TObject; Shift: TShiftState; X, Y: Integer); begin
PanelScbelumnya.BcvelOuter := BvNone; Pane!Sebelumnya.Color := clBlack; PanelSebelumnya.Font.Color := c!Silver; Pane!Berikutnya.Beve!Outer := BvNone; PanelBerikutnya.Color :=cl Black; Pane!Berikutnya.Font.Color := clSilver; Pane!Pertama.Bcve!Outer := BvNone; Pane!Pertama.Color :=cl mack; Pane!Pe11ama.Font.Color :=cl Silver; Pane!Terakhir.Beve!Outer := BvNone; Pane!Terakhir.Color := c!Bluck; Pane!Terakhir.Font.Color := clSilvcr;
end;
procedure TForm3.Pane1PertumaMouseMove(Sender: TObjcct; Shift: TShifiState; X, Y: Intrger); begin
Pune!Pertama.Bevc!Outer := BvLowered; PanelPcrtama.Color := $00FF8000; Pane!Pertama.Font.Color := $0080FF80;
end;
procedure TForm3.Pane1TcrakhirMouseMove(Scnder: TObject; Shift: TShiftState; X, Y: Integer); begin
Pane!Terakhir.Beve!Outer := BvLo\vered; PanelTerakhir.Color := $00FF8000; Pane!Terakhir.Font.Color := $0080FF80;
end;
procedure TForm3.Panc!Bc·rikutnyaMouseMove(SenJcr: TObject; Shift: TShiftStute; X, Y: Integer); begin
PanelBerikutnya.Color := $00FF8000; PanelBerikutnya.Font.Color := $0080FF80;
end;
procedure TForm3.Pancl I MouseMove(Sendcr: TObject; Shift: TShil\Stmc; X,Y: Integer); begin
Panc!Scbelumnya.Bcvc!Outcr := BvLo\vercd; Pane!Scbelumnya.Color := $00FF8000; Pane!Scbelumnya.Font.Color := $0080FF80;
end;
procedure TForm3.Labc!LihatData2Click(Sender: TObjcct); begin
Form6.Tablel .Close; Form6.Show;
end;
procedure TForm3.Label3Click(Sendcr: TObject); begin
Close; end;
procedure TForm3.Label2Click(Sendcr: TObject); begin
Close; end;
procedure TForm3.Label2MouseEnter(Sender: TObject); begin
Labe!Closel.Visible :=False; Labc1Closc2.Visible :=true;
l!nd;
procedure TForm3.Labe!Cari I MouseEnter(Sendcr: TObject); begin
Label Cari I. Visible := False; Labc!Cari2. Visible := true;
end;
procedure TForm3.GroupBox3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
Labe!Caril.Visible :=True; Labc!Cari2.Visible :=False;
end;
procedure TForm3.Button!Click(Sender: TObject); begin
Table I.Append;
107
Table I .FieldBy Name('No _!nduk').AsString := fonm2.Qucry 1.FieldByName('No _lnduk').AsString; Table 1.FieldB yName('Nama').AsString := form2.Query 1.Fie!dB yName('Nama').AsString; Table I .FicldByName('Cabang').AsString := form2.Query 1.FicldBy Name('Cabung').AsString; Table I .FieldByName('Divisi').AsString := form2.Query 1.FieldByName('Divisi').AsSt,ing; Table I .FieldByName('Jabatan').AsString := j( rm2.Query l .FieldB yName('Jabatan').AsString; Table I .FieldByName('Golongan').AsString := form2.Query I .FietdByName('Golongan').AsString; Table I .FieldByNamc('Pendidikan_ Tcrakhir').AsString := form2.Query I .Fi el dB yName('Pendidikan _ Terakhir').AsString;
Table l .FieldByName('Masa_ Kerja_ Th'}.AsString := form2.Query l .FieldByName('Masa _ Kerja_ Th').AsString; Table l .FieldB yName('Mengikuti_PK _ Sebanyak').AsString := form2.Query l .FieldBy Name('Mengikuti _PK_ Sebanyak').AsString; Table l .FicldByName('Pcnilaian _ Kesctiaan').AsString := form2. Query I .Fi el dB y Namc('Peni laian _Kesetiaan').AsString; Table l .FieldByName('Penilaian _ Kinerja').AsSlring := form2.Queryl .FicldByNamc('Penilaian_Kinerja').AsString; Table I.Post; Table I.Refresh;
end;
procedure TForm3.FormAclivale(Sender: TObjccl); begin
Table I.Open; end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin
Table I.Close; end;
procedure TForm3.LabelSimpan 1 MouseEnter(Sender: TObject); begin
LabelSimpan I .Visible := False; Labe1Simpan2.Visible :=true;
end;
procedure TForm3.LabelSimpan2Click(Sen<ler: TObject); begin
PlaySound('SUARAffombol',SND_ASYNC,0); Table I.Append;
108
Tablel.FieldByName('No_lnduk'}.AsString := fonn2.Queryl.FieldByName('No_lnduk').AsString; Table l .FieldByName('Nama').AsString := form2.Query l .FieldByName('Nama'}.AsString; Table l .FieldByName('Cabang').AsString := form2.Query l .FieldByName('Cabang').AsString; Table l .FieldB yName('Divisi').AsString := form2.Query l .FieldByNa.me('Divisi').AsString; Table 1.FicldByName('Jabatan').AsString := form2. Query I .Fi el dB yName('Jabatan').AsString; Tablcl.FieldByNume('Golongan').AsString := form2.Queryl .FieldByName('Golongan').AsString; Table l .FieldByNamc('Pendidikan_Terakhir').AsString := form2.Query ! .FieldByNamc('Pendidikan_Terakhir').AsString; Table l .FieldB yName('Usia _Th').AsString := form2.Query l .FieldByN ame('Usia _ Th'}.AsString; Table l .FieldByName('Masa_Kerja_ Th').AsString := form2.Query l .FieldByName('Masa_Kcrja_ Th').AsString; Table l .FieldByName('Mengikuti_PK _ Sebanyak').AsString := form2.Query l .FieldByN ame('Mengikuti_PK_ Sebanyak').AsString; Table 1.FicldB yName('Pcnilaian _ Kesetiaan').AsString := form2.Query l .FieldBy Name('Penilaian _ Kesetiaan').AsString; Table I .Fi el dB yName('Penilaian _ Kincrja').AsString := form2.Query I .Fi el dB yN amc('Penilaian _ Kinerja').AsString; Table I.Pas~ Table! .Refresh;
end;
procedure TForm3.Pane1PertamaClick(Scnder: TObject); begin
1'able1.First; end;
begin Table I.Last;
end;
procedure TFonn3.Panc1BerikutnyaClick(Sendcr: TObjcct); begin
Table I .Next; end;
procedure TForm3.Panc!ScbclumnyaClick(Scnder: TObject); begin
Table I .Prior; end;
procedure TForm3.LabelCari2Click(Sendcr: TObjcct); begin with table I do
begin sctkey;
FieldByName('Nama').AsString:~Editl .Text; GoToJ\carest;
end; end;
end.
109
Lamp. 13: Source Code Pilihan Tipe Model Penilaian
unit Unit9KalimutFaktaAnalisu;
interface
uses WindcHvs, lv1cssagcs, Sy~lJtils, Varianls, Classes, Graphics, (':ontrols, Forins, Dialogs, StdCtrls, D13, DBTables, Grids, DBGrids;
type TForm9 ~ class(TForm)
Group Box I: TGroupBox; Button]: 'fButton; Button2: TButton; llutton3: T13utton; Label 1: TLabel; Label Close I: TLabel; Labe1Close2: TLabel; Button4: TBulton; procedure Button!Click(Sender: TObject); procedure Label Close I MouscEnter(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shi fl: TShif\State; X,
Y: Integer); procedure Labe!Close2Click(Sender: TObject); procedure 13utton2Click(Sender: TObjcct); procedure ButtonJClick(Sender: TObjeet); procedure Button4Click(Scnder: TObject);
private { Private dc1·Jara1ions }
public { Public declarations }
end;
var Form9: TForn19;
implementation
uses Unit l 2PenilaianModelA, Unit 15 PereforensianFaktaKategori, Unit I PenilaianFakta _A, Unit! 5PenilaianFakta_B, Unit !5PenilaianFakta_ C, Unitl 5NilaiAkhir;
{SR *.dtin}
procedure TForm9.Button !Click(Scndcr: TObject); begin
forml6.Shov1; end;
procedure TForm9.Labe!Close I MouseEnter(Sender: TObject); begin
LabclClosel.Visible :=False; LabclC!osc2.Vlslble :=true;
end;
pro?cdure TForm9.FormMouseMove(Sender: TObject; Shift: TShitlStai:c; X, Y: Integer);
110
Label Close 1.Visiblc := 'J'ruc; Labc:lC!ose2.Vbib!c :'--'False;
l'nJ;
;1n1,_·...::<lur...: 'I f'orn11J. [ .~tbL·iC'l1 ),',c2( 'I ii..:k(SenJer: ·1·l )bjl'cl ): l1...:gin
(:Jose; end;
procedure TForm9.Button2Click(Sender: TObject); begin
For11115Pcnilaianldcal_B.Sho\v; cnd~
pn.1.:cJu:c 'rF1..1n1,(}.P.ut\l1nJClil:k(S1..'nJcr: '! Ubji:ct};
hc.:Iin I ~uttnn-1.LnabkJ:---" tru t.;; Funn l 5PcnilaianKan<liJat_ C.Shovv;
end;
pnJccJurc 'IT'orn19.!Jutton-1Ctick(St:nJcr: 1'()bjc~t); begin
Form I 5NilaiAkhir.Show; end;
end.
111
112
Lamp. 14: Source Code Analisa Penilaian Ideal A
unit UnitIPcnilaianFakta_A;
interface
uses Windo1,vs, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, lJB, DB'fables, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids;
type TForrn 16 = class(TFonn)
Table!: TTable; DataSource I: TDataSource; Table2: TTable; Table3: TTable; RadioGroup I: TRadioGroup; DataSource2: TDataSource; GroupBoxl: TGroupBox; Label3: TLabel; DBLookupCornboBox I: TDBLookupCornboBox; Label4: TLabel; DBEditl: TDBEdit; GroupBox2: TGroupBox; GroupBox4: TGroupBox; Label2: TLabel; DBLookupCornboBox2: IDBLookupComboBox; DBEdit2: TDBEdit; Labell: TLabel; GroupBoxS: TGroupBox; Label5: TLabel; Table4: TTable; DataSource4: TDataSource; DBGridl: TDBGrid; Query I: TQuery; Table3No_Induk: TStringField; Table3No_Pereferensian: TStringField; Table3Pereferensian: TStringField; Table3No _Fukta: TStringField; Table3Nilai_Absolut: TFloatField; Table3Nilai: TFloatField; Table2No_Pereforensian: TStringField; Table2Pereferensian: TStringField; Table2Kalimat: TStringField; ListBoxl: TListBox; LabelCJosel: TLabel; Table4No_lnduk: TStringField; Table4Nama: TStringField; Table4Cabang: TStringField; Table4Divisi: TStringField; Table4Jabatan: TStringField; Table4Golongan: TStringField; Table4Pendidikan _ Terakhir: TStringField; Table4Usia_ Th: TStringField; Table4Masa_Kerja_Th: TStringField; Table4Mengikuti_ PK_ Sebanyak: TStringField; Table4Penilaian Kcsetiuan: TStrin~Field:
Tablc4Pcnilaiun_Kinerja: TStringField; QucrylNo ... lmluk: TStringField; f}uei·y I Nn_)\.·ri..:Ji.:n.'.nsian: TS!1 ingFielJ; <)1h:f')' 11 'l'i ;_;fi.;rc11',i:1,1: ·1-stringl,.icld; ()uc-ry l No_Faktu: 'l'Stri ngFit:IJ; Qucry!Nilai_Absolut: TFloatField; Qucry!Jumlah_Fakta: TFloalField; Query!Nilai: TFloalFicld; Query l No _lnduk _ l: TStringFicld; QucrylNama: TStringField; Qucry!Cabang: TSlringFicld; Query lDivisi: TStringField; Qucry!Jabatan: TStringFicld; Query!Golongan: TStringField; Que ·yl Pendidikan_ Terakhir: TStringField; Query I Usia_ Th: TStringField; Query!Masa_Kci:ja_Th: TStringField; Query I Mengikuti_PK _.Scbanyak: TStringField; ()u1.:ryl Peni!aian_Kcsc:tiann: ·rstringFk,Jd; Query I Penilaian_Ki111.:rju: TStringFiclJ; 'L1b1::3Ju1r1l.ih _Fal~ta: 'J'Fln•~tFii:!d; Lt!b...:lGrafiL2: TLab..;!; LabelClo.sc2: TLabel; LabcJGraiikl: TLabcl· LabelDcrajatKcanggotaan2: TLabel; LabclDcrajatKeanggotaan 1 : TLabel; Labe!Ok2: TLabel; Label Ok 1: TLabel; LabclCancc12: 1Label; Label Cancel I: TLabcl; LabclDclele I: TLabel; Labe!Delete2: TLabel; Labe!Hasi12: TLabel; LabelHasi' I: TLabel; procedure FormAclivatc(Sender: TObject); procedure DBLookupComboBoxl Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure RadioGroup I Click(Sender: TObject); procedure DBLookupComboBox2Click(Sender: TObjcct); procedure Labe!Close2Click(Sender: TObject); procedure LabelClose l MouseEntcr(Sender: TObject); procedure FormMouscMove(Scn<lcr: TObjcct; Shi!\: TShiftStatc; X,
Y: Integer); procedure Button4Click(Scnder: TObject); procedure Labe1Graiik2Click(Sender: TObject); procedure Labe!Grafikl MouseEnter(Sender: TObject); procedure GroupBox5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); procedure LabelDerajatKeanggotaan2Click(Sender: TObject); procedure LabelDerajatKeanggotaan I MouseEnter(Send"r: TObject); procc'<lure LabelOkl MouscEnter(Sendcr: TObjccl); procedure Labcl0k2Click(Sendcr: TObjG'Cl); procedure GroupBox 1 MouseMove(Scnder: TObject; Shift: TShiftStatc; X,
Y: Integer); procedure Labe!Cancel2Click(Sender: TObject); procedure Labc!Canccl IMouseEnter(Sendcr: TObjcct); procedure Label Delete I .vlouseEntcr(Sender: TObject); procedure LabelDclctc2Click(Scndcr: TObject);
113
procedure LabclHasil l MouscBntcr(Scndcr: TObjcct); procedure FonnClose(Sender: TObject; var Action: TCloseAction);
private { Private declarations }
public { Public declarations )
end;
var Form 16: TForm 16; jum:integer; jumsebelumjumFakta:integer; str:string; NPre:array[ I..10] of String; fakta:string; i:integcr;
implementation
uses Unitl2, Unit! 5GrafikKandidatldealA;
($R *.dfm}
procedure TForml6.FormActivate(Sender: TObjecc\; var col,i:integer; begin
jun1sebclum:=O; jum:=O; i:=O; fakta:= 0
;
col:=table2.RecordCount; Radiogroup l .Columns:=col; table2.First; radiogroup l .ltems. Cle'>r; for i:= 1 to col do begin
mdiogroup ! .items.Add( tablc2.fieldByName('perefercnsian').AsString); NPrc[i]:=tablc2.FicldByNarne('No_Pcrefcrensian').A:;String; table2.Next;
end; end;
procedure TForm 16.DBLookupComboBox l Click( Sender: TObject); begin
listbox l .ltems.Add(dblookupcombobox I .Text); jum:=jun1+ 1; fakta:=fakta+dblookupcom bobox I .Text+',';
end;
procedure TForm l 6.Button2Click(Sender: TObject); begin try
query I.Delete; except
sho\vn1cssagc('Gagal 1);
end;
I 14
procedure TForm 16.RadioGroup I Click(Scnder: TObject); \'Ur
Abs:integcr; begin
abs:=radiogroup l .ltemindcx; str:=radiogroup l .Itcms[abs];
end;
procedure TForm l 6.DBLookupComboBox2Click(Scnder: TObject); begin
query I.Clos-'; query I .SQL.Clear; queryl.SQL.Add('select •from Nilai, kandidat' +' \Vherc' +' nilai.No _Induk=Kandidat.No _Induk' +' and Nilai.No _Induk =:KD' +' order by No _Pereferensian1
);
query I.Prepare; query! .PararnByName('KD'),AsString:=DBLookUpCombobox2.Text; query I .Open; i:=O;
end;
procedure TForm J 6.Labe1Close2Click(Sender: TObject); begin
Close; end;
procedure TForm 16.LabelCloseI MouseEnler(Sender: TObjcct); begin
Lube!Closel.Visible :=False; Lubc1Close2.Visible :=true;
end;
procedure TForm 16.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
LabclClose 1. \'isiblc := True; Lube!Closc2.Visible :=False;
end;
procedure TForrn l 6.Button4Click(Sender: TObject); begin
Form I 2Hasi1DerajatKcunggotaanA.Show; end;
procedure TForm 16.Labe1Gralik2Click(Scnder: TObject); begin
Form 15GrafikKandidatldcalA.ShowModaI; end;
procedure TForm 16.LabelGrafik I MouseEnter(Sender: TObject); begin
Labe!Grafik I. Visible := False; LabelGrafik2.Visibie :=true;
end;
procedure TFormI6.GroupBox5MouseMovc(Sender: TObject; Shift: TShiftStute; X, Y: Integer); h,,,,: ...
115
Labc1Grafik2. Visible:= False; LabelDerajatKeanggotann I. Visible := True; Labe!DerajatKeanggotaan2. Visible := False; LabelHasil I. Visible :=True; Labe1Hasil2. Visible := False;
end;
procedure TForm J6.Labc1DerajatKcanggotaan2Click(Sender: TObjcct); var i:integer;
begin table3.First; for i:=J to table3.RccordCount do begin table3.Edit;
table3.FieldByName('Nilai').AsFloat:=tablc3.FicldbyName('Nilai_Absolut').Aslntcgcr/jumfakta; tablc3.Next; table3.Refresh; end; query I .Close; query I .Open;
end;
procedure TForm 16.LabelDerajatKeanggotaan I MouseEnter(Sender: TObject); begin
LabclDerajatKeanggotaanl.Visible :=False; LabelDerajatKeanggotmm2.Visible :=true;
end;
procc,,ure TForml6.LabelOklMouseEntcr(Sender: TObject); begin
Label Ok I. Visible := False; Label0k2.Visible :=true;
end;
procedure TForm 16.Label0k2Click(Sender: TObject); begin
jumFakta:=jum+JumSebelum; i~=i+1;
table3.Append; table3.FieldByName('No_Perefcrensian').AsString:=NPrc[i]; table3.FieldByName('Perefcrensian').AsString:=str; table3. Fi el dB yName('No _Fakta').AsString:=fakta; table3 .Fi cl dB y Name('Ni lai _Ab sol ut').Aslntcger:=jumFakta; table3.FieldByName('Jumlah_Fakta').Aslnteger:=Jum; Table3.Post; table3.Refresh; query I.Close; query I.open;
jun1scbclum:=jun1Fakta; jum:=O; fakta:= 0
;
listbox I .Items.Clear; end;
procedure TForml6.Grouplloxl MouscMovc(Scnder: TObject; Shift: TShiftState; X, Y: Integer); begin
Labe!Ok I.Visible:= True; l -1--IAl.'"1 '\F:-!t..L, ·- T' .• 1- ..
116
LabclCanccl !.Visible:~ True; Labc1Cancc12. Visible := False; LLJbclJ)c!cte l .Vbible :0= True; LabclJ)clctc2. Visible := Palsc;
cnd;
procedure TForm 16.Labe1Cancel2Click(Sender: TObject); begin
Query I.Caned; ListBo~, l .llcrns.Cl1.:ar;
end;
proccdur0 TFonn [().f ,abc!C'ancc! I fvhiuseEnh:r(StnJ..:r; T<Jbject); begin
Labi:JCancel J. Visible :~ False; Lubi:!Canccl2.\'i~;ib!~ :"""true;
end;
procedure TFonn 16.LabelDelete J MouseEnter(Sender: TObject); begin
L::bclDcl;;tc 1.Vbible :""~ F<dsc; LabL:lUclctc2.Visibl...; :=true;
end;
procedure '!'Form 16.Labe1Dclcle2Click(Sendcr: '!'Object); begin try
query l .D\:lct;;; c:\..:cpt sho\ vn1cssage('Gagal');
end; end;
procedure TForm 16.Labdl lasil2Click(Scndcr: TObject); begin
Form J 2Hasil DerajatKeanggotaanA.ShowModal; end;
procedure '!Torm 16.Labcll lasil I MouscEnter(Scndcr: TObjcct); b.:;;in
l ,,,h;:ll !.i:.iJ ! .\'i'-,ibk' > J\1LL·; !.,1:, 1'. L.,_,\L?.VLii:k'; ~i 11,.';
1.:nd;
pf1>ccJurc TFunn 16.FunnL'lu:-;c(S..;nJi:r: TObjc-.:l; vur ,\~tion: TC!usc1\ction); begin
queryl .Close; end;
end.
117
Lamp. 15: Source Code Grafik Derajat Keanggotaan Ideal A
unit U 1itl5GrafikKandidatldealA;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, DB, ExtCtrls, TeeProcs, Chart, DbChart, StdCtrls;
type TForml5GrafikKandidatldcalA = class(TForm)
DB Chart I: TDBChart; Series 1 : TBarScries; Label I: TLabel; Label2: TLabel; Label Close I: TLabcl; Labe1Close2: TLabcl; procedure Labe1Close2Click(Sender: TObject); procedure Label Close l MouseEntcr(Scnder: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; ;;,
Y: Integer\; procedure FormActivate(Sender: TObject);
private ( Private declarations }
public { Public declarations }
end;
var Form l 5GrafikKandidatldcalA: TForm J 5GrafikKandidatldealA;
i1nplemcntation
uses Unit1PenilaianFakta_A;
{$R *.dfm}
procedure TForm l 5GrafikKandidatl dealA.LabclClose2Click(Sender: TObjcct); begin
Close; end;
procedure TF orm l 5Grafiki<andidatl dcalA.LabclClose I MouseEnter(Sender: TObject); begin
Label Close l. Visible := False; Labe1Close2.Visible :=true;
end;
118
procedure TForml5GrafikKandidatldealA.FormMouscMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin
Label Close I. Visible := True; Labe1Close2.Visible :=False;
end;
procedure TForm 15GralikKandidulldcalA.FormActivatc(Scndcr: TObjcct); begin
Form 16.Quer; ! .Open; end;
end.
119
Lamp. 16: Source Code Nilai Derajat Keanggotaan Idt!al A
unit Unit12;
interface
uses Windo\vs, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, f)ialogs, StdCtrls, Grids, Mask, DBCtrls, DB, DBTables;
type TForm 12Hasi1DerajatKeanggotaanA = class(TForm)
Group Box I: TGroupBox; StringGridl: TStringGrid; Edit!: TEdit; Labell: TLabel; Labe12: TLabel; GroupBox2: TGroupBox; Label Close I: TLabel; Labc1Close2: TLabel; Label0k2: TLabel; LabelOkl: TLabcl; GroupBox3: TGroupBox; Label3: TLabcl; Label4: TLabel; DBEditl: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Table!: TTable; Label5: TLabel; procedure FormActivate(Sendcr: TObject); procedure Labe1Close2Click(Sender: TObject); procedure LabelClose I MouseEnter(Sendcr: TObjcct); procedure FormMouscMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure GroupBox2MouscMove(Sender: ~object; Shift: TShiftState; X, Y: Integer);
procedure LabelOk!MouseEnter(Sender: TObject); procedure Label0k2Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form l 2Hasi!DcrajatKeanggotaanA: TForm 121-lasi lDerajatKcanggotaanA; tot,JumRec:integer;
implementation
uses Unit! 2InputPereferensian, Unit I PcnilaianF akta _A, Unit I SDerajatKeanggotaan _A;
{$R *.dfin}
procedure TForm 12HasilDerajalKeanggotaanA.Fom1Activate(Scnder: TObjcct); var
ij:integer; t.,,,,.: ..
120
Fonn l 2InputPereferensian.Table I .First; for i:=l to Form I 21nputPereferensian.Tablc 1.RecordCount do begin
Derajat[i] :=Form 121 nputPerefercnsian.Table I LUDcrajat. Value; Jarak[i]:=lntT0St1{i); Bobot[i]:='I'; "'lcrefCrensian[i] :=Form 12lnputPerefcrcnsian. Table I PereJCrcnsian. Value; Form I 21nputPcrcferensian.Tablc I .Next;
end;
StringGrid 1. Cells[O,O] :='No'; StringGrid 1.Cclls[l ,O]:='Nilai Pcrcfcrensian (a)'; StringGrid1.Cclls[2,0]:='Bobot Nilai (b)'; StringGrid1.Cells[3,0]:='Jarak Nilai (c)'; StringGrid I .Cells[ 4,0]:='Ju111lah Fakla (d)'; StringGrid l.Cells[5,0]:='Hasil ( c*d)';
Form I 21nputPcreferensian. Table I .First; Form 16.Queryl .First;
tot:""'O; for i:=l to Form12InputPercferensian.Tablel.RecordCount do
begin StringGrid I .Cells[O,i]:=lntToStr(i); StringGrid 1.Cclls[ I ,i] := Perefcrensian[i]; StringGrid I .Cells[2,i]:=Bobot[i]; StringGrid I .Cells[3,i] :=Jarak[i]; StringGrid I .Cclls[4,i] :=lntToStr(Form 16.Query I .FieldByName{' J umlah_F akta'). Value); j :=StrTolnt(Form 16.Queryl .FicldByName('J umlah _Fakta'). Val uc )*StrTolnt(Jarak[i]); StringGrid I .Cells[ 5,i]:=lntToStr(j); Form I 2InputPerefercnsian. Table I .Next; StringGrid I .RowCount:=StringGrid I .RowCount+ I; tot:=tot+j; Form 16.Qucryl .Next; end; jun1 Rec:= Form J 2InputPeref erensian. Table l .RccordCount; Edit I. Text:=lntToStr( tot); DBEdit3. Text:=FloatToStr(tot/(JumFakta* J um Rec)); table I.Insert; table!.FieldByName('No_Induk').AsS!ring:=Forml6.DBLookupComboBox2.Text; tablel.FieldByName('Numa').AsString:=Form 16.DBE<lit2.Text; table 1.Fieldll yName('Dcrajat_ Keanggotaan_ A'). AsFloat:=StrToFloat(DBEdiG.Text); Table 1.Post;
end;
procedure TForm l 2Hasi1DerajatKeanggotaanA.LabelClose2Click(Sender: TObject); begin Close;
end;
procedure TForm 12Hasi IDerajatKeanggotaanA.LabclClose 1 MouseEnter(Scnder: TObject); begin
Label Close 1. Visible := False; Labe!Close2. Visible := true;
end;
121
begin LabelClosel.Visible :=True; Labe1Close2.Visible :=False;
end;
prncedure TForm I 2Hasi1DerajatKeanggotaanA. GroupBox2MouseMove(Sender: TObject; Shill: TShiftState; X, Y: Integer); begin
Label Ok I .Visible :=True; Labe10k2.Visible :=False;
end;
procedure TForm 12Hasi!DerajatKeanggotaanA.Labc!Ok 1 MouscEnter(Scnder: TObject); begin
Labc!Okl.Visihle :=False; Label0k2.Visible :=true;
end;
procedure TForm I 2Hasi I DerajatKeanggotaanA. Lube!Ok2CI ick(Scndr:r: TObjecl); begin
Form I 5Hasi!Derajati\.ShowModal; end;
end.
122
Lamp. 17: Source Code Derajat Keanggotaan Ideal A
unit Unitl 5J)crajatKeanggotaan_A;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGrids, StdCtrls, Mask, DllC!rls;
type TForm l 5Hasi!DerajutA ~ class(TForm)
Group Box 1: TGroupBox; f)utaSource 1: TDataSourcc; DB Edit I: TDllEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Lubell: TLabcl; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; GroupBox2: TGroupBox; Labe!Closel: TLabel; Labe1Close2: TLabel; procedure Labe1Closc2Click(Sender: TObjcct); procedure Label Close 1 MouseEnter(Sendcr: TObjcct); procedure GroupBox2MouseMove(Sender: TObject; Shift: TShiftStale; X,
Y: Integer); private
{ Private declarations } public
{ Public declarations } end;
var Form I 5HasilDerajatA: Tform 15HasilDerajatA;
implementation
uses Unit12;
{$R •.dfm) procedure TForm l 5Hasi1DerajatA.LabelClose2Clid (Sender: TObject); begin
Close; end;
procedure TForm 15HasilDerajatA.LabelClosel MouscEnter(Sender: TObject); begin
LabelClosel.Visible :~False; Labe1Close2.Visiblc :~true;
end;
123
procedure TForm l51-lasil0crajatt\.GroupBox2Mousclv1ove(Scnder; 'PJbject; Shift; TShiftStatc; X, Y: Integer); hPPin
Labe!Closel.Visible :=True; Labe1Close2.Visible :=False;
end;
end.
124
Lamp. 18: Source Code Peuilaian Akhir
unit Unit! 5NilaiAkhir;
interface
uses Windo\vs, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, f)iulogs, StdCtrls, Mask, DBCtrls, DB, DBTables;
type TForm I 5NilaiAkhir ~ class(TFom1)
Group Box l: TGroupBox; Label I: TLabcl; Label2: TLabel; Table l: TTablc; DalaSourcc l : TDalaSource; DBEdill: TDBEdit; DBEdit2: TDBEdil; Gro11pllox2: TGroupBox; GroupBox3: l'GroupBox; Label3: TLabel; Labe14: TLabcl; Label5: TLabel; Label6: TLabel; Label7: TLabel; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; Table2: Tfable; DataSource2: TDataSource; procedure Label3Click(Sendcr: TObject);
private { Private declarations )
public { Public declarations }
end;
var Form l 5NilaiAkhir: TForm I 5NilaiAkhir;
i1nplcmcntation
uses Unit! 5DerajatKeanggotaanC;
{$R *.dfm}
procedure TForm l 5NilaiAkhir.Label3Click(Sender: TObjcct); begin
Close; end;
end.
125