APLIKASI SISTEM PENDUKUNG KEPUTUSAN PENENTUAN PENERIMAAN BEASISWA DINAS PENDIDIKAN KAB.BINTAN DENGAN METODE PROFIL MATCHING
SKRIPSI
Disusun oleh :
MUHAMMAD HAFIZ 1209011
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG 2014
APLIKASI SISTEM PENDUKUNG KEPUTUSAN PENENTUAN PENERIMAAN BEASISWA DINAS PENDIDIKAN KAB.BINTAN DENGAN METODE PROFIL MATCHING
SKRIPSI Diajukan untuk memenuhi salah satu syarat kelulusan untuk mendapatkan Gelar S-1 Program Studi Teknik Informatika pada Sekolah Tinggi Teknologi Indonesia Tanjungpinang
Disusun oleh :
MUHAMMAD HAFIZ 1209011
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG 2014
ii
APLIKASI SISTEM PENDUKUNG KEPUTUSAN PENENTUAN PENERIMAAN BEASISWA DINAS PENDIDIKAN KAB.BINTAN DENGAN METODE PROFIL MATCHING SKRIPSI Diajukan untuk memenuhi salah satu syarat kelulusan untuk mendapatkan Gelar S-1 Program Studi Teknik Informatika pada Sekolah Tinggi Teknologi Indonesia Tanjungpinang Disusun oleh: MUHAMMAD HAFIZ 1209011
Telah diperiksa dan disetujui sebagai Skripsi Tanggal : ………………….. Tim Penguji : 1. KETUA
: Drs. H. Mohd. Saleh H. Umar., MM
……………..
2. PENGUJI I
: Ade Winarni, MT
……………..
3. PENGUJI II
: Drs. H. Mohd. Saleh H. Umar., MM
……………..
Mengetahui, Pembimbing I
Pembimbing II
Ricak Agus Setiawan, ST.,M.SI NIDN. 1014085901
Dwi Nurul Huda, ST NIDN. 1023098701
Ketua Program Studi Teknik Informatika
Ade Winarni, MT NIDN. 10020486.01
iii
PERNYATAAN BEBAS PLAGIARISME
Penulis yang bertanda tangan dibawah ini : Nama
: MUHAMMAD HAFIZ
NIM
: 1209011
Judul Skripsi
: Aplikasi
Sistem
Pendukung
Keputusan
Penentuan
Penerimaan Beasiswa Dinas Pendidikan Kab. Bintan dengan Metode Profil Matching. Pembimbing I
: Ricak Agus Setiawan, ST.,M.SI
Pembimbing II
: Dwi Nurul Huda, ST
Dengan ini
menyatakan bahwa Skripsi ini yang Penulis buat dengan
sejujurnya berdasarkan norma akademik dan bukan merupakan plagiat. Adapun kutipan dalam penulisan ini telah Penlis sertakan nama pengarang / penulisnya dan telah Penulis cantumkan ke dalam Daftar Pustaka. Demikian Pernyataan ini Penulis buat dengan sebenarnya, dan jika dikemudian hari ternyata Penulis melanggar pernyataan ini, maka Penulis bersedia menerima sanksi sesuai aturan hukum yang berlaku.
Tanjungpinang, 30 September 2014 Penulis,
MUHAMMAD HAFIZ NIM. 1209011
iv
ABSTRAK Beasiswa adalah pemberian berupa bantuan keluarga yang diberikan kepada perorangan yang bertujuan untuk digunakan demi keterlangsungan pendidikan yang ditempuh. Beasiswa dapat diberikan oleh lembaga pemerintah perusahaan ataupun yayasan.pemberian beasiswa dapat dikategorikan pada pemberian CumaCuma ataupun pemberian dengan ikatan kerja. Sesuai dengan peraturan yang sudah ditentukan oleh sekolah untuk memperoleh beasiswa maka diperlukan kriteria-kriteria untuk menentukan siapa yang akan terpilih untuk menerima beasiswa.pembagian beasiswa dilakukan oleh pihak sekolah untuk membantu seseorang yang berprestasi selama menempuh studinya. Untuk membantu penentuan dalam menetapkan seseorang layak menerima beasiswa maka dibutuhkan sistem pendukung keputusan salah satu metode yang dapat digunakan untuk sistem pendukung keputusan adalah menggunakan percocokan (Profile Matching). Pada penelitian ini akan diangkat suatu kasus berdasarkan kriteria-kriteria yang telah ditentukan dengan menggunakan metode percocokan profile Matching. Metode ini dipilih karena mampu menyeleksi altrnative terbaik dan sejumlah alternatif.dalam hal ini alternatif yang dimaksudkan yaitu yang berhak menerima beasiswa berdasarkan kriteria-kriteria yang ditentukan. Penelitian dilakukan dengan sub aspek beserta mencari nilai bobot untuk stiap sub aspek, mencari GAP antara profile dengan keadaan data dari siswa dengan menggunakan metode ini ditentukan persentasi kedua unsur aspek dan ditotal kemudian dilakukan proses perangkingan yang akan menentukan alteernatif yang optimal yaitu siswa yang terbaik. Kata kunci : Beasiswa,Profile Matching,GAP
i
ABSTRACK Bursary is application as help of family that given unto by individual that aims to be utilized by keterlangsungan education that is sailed through. Bursary can be given by firm government agency or yayasan.pemberian even bursary that dikategorikan can on Free application or application even with trussed job after finish it tenure long time education this different clings to institute that give that bursary. According to regulation already being determined by school to get bursary therefore needful criterions to determine who is going elected to accept beasiswa.pembagian bursary did by school party to help someone that gets achievement up to sail through studinya. To help determination in establish someone reasonabling to accept bursary therefore needed spontaneous supporting system one of applicable method for spontaneous supporting system is utilize about match( Profile Matching ). On this research will be lifted a case which is looks for best alternative bases criterion already be determined by use of method about matches profile Matching. This method is chosen since can sort altrnative best and a number alternatif.dalam it alternative that is meant which is which deserves to accept bursary bases prescribed criterion. Research did by therewith aspect sub look for wight point for stiap aspect sub, looking for GAP among profile with data situation of student by use of this method is prescribed percentage both of aspect element and at full scale then done by perangkingan's process that will determine alteernatif that optimal which is the best one student. Key Word : Bursary, Profile Matching ,GAP
ii
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT, karena dengan limpahan rahmat dan karunianya penulis rahmat dan karunianya Penulis berhasil menyelesaikan Skripsi ini yang berjudul “Aplikasi Sistem pendukung Keputusan penenetuan penerima Beasiswa Dinas Pendidikan Kab. Bintan dengan Metode profil matching”. Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Nabi Besar Muhammad SAW beserta seluruh keluarga dan sahabatnya yang telah membaca kita kedunia yang terang benderang seperti saat sekarang ini. Dalam penulisan Karya Tulis ini, tentunya banyak pihak yang telah memberikan bantuan baik moril maupun materil. Oleh karena itu penulis ingin menyampaikan ucapan terimakasih yang tiada hingganya kepada : 1.
Bapak Prof. HM. Lois Frederick, SE, SH.,MM selaku Ketua Sekolah Tinggi Teknologi Indonesia Tanjungpinang.
2.
Bapak Drs. H. Mohd. Saleh H. Umar., MM selaku Direktur Operasional Sekolah Tinggi Teknologi Indonesia Tanjungpinang
3.
Bapak Ricak Agus Setiawan, ST.,M.SI selaku Direktur Akademik Sekolah Tinggi Teknologi Indonesia Tanjungpinang.
4.
Ibu Ade Winarni, MT selaku Ketua Program Studi Teknik Informatika Sekolah Tinggi Teknologi Indonesia Tanjungpinang.
5.
Bapak Ricak Agus Setiawan, ST.,M.SI selaku Pembimbing I yang telah memberikan saran dan bimbingan didalam penyusunan Karya Tulis ini.
iii
6.
Ibu Dwi Nurul Huda, ST selaku Pembimbing II yang telah memberikan masukan-masukan serta bimbingan yang sangat membantu Penulis didlaam penyusunan Karya Tulis ini.
7.
Bapak Drs. Makhfur Zurachman, M.Pd selaku Kepala Dinas Pendidikan Pemuda dan Olahraga Kabupaten Bintan beserta seluruh staf yang telah banyak meluangkan waktunya untuk Penulis didalam pengambilan data-data.
8.
Secara khusus penulis menyampaikan terima kasih yang tak terhingga kepada keluarga tercinta, terutama kepada ibu yang telah memberikan banyak dorongan maupun materil dan bantuan baik didalam mengikuti perkuliahan maupun didalam penyelesaian Skripsi ini.
9.
Kepada seluruh teman-teman seangkatan dan seperjuangan Program Studi Teknik Informatika Sekolah Tinggi Teknologi Indonesia Tanjungpinang yang telah banyak membantu Penulis didalam penyusunan Karya Tulis ini. Penulis menyadari bahwa Karya Tulis ini masih jauh dari kesempurnaan,
maka saran dan kritik yang konstruktif dari semua pihak sangat diharapkan demi penyempurnaan selanjutnya. Akhirnya hanya kepada Allah SWT kita kembalikan semua urusan dan semoga Karya Tulis ini dapat bermanfaat bagi semua pihak, khususnya bagi Penulis dan para pembaca pada umumnya, semoga Allah SWT meridhoi dan dicatat sebagai ibadah disisi-Nya, amin. Tanjungpinang, September 2014 Penulis
MUHAMMAD HAFIZ NIM. 1209011
iv
DAFTAR ISI
HALAMAN JUDUL ABSTRAK ............................................................................................................... iii KATA PENGANTAR ............................................................................................... v DAFTAR ISI ............................................................................................................ vii DAFTAR GAMBAR ................................................................................................ xi DAFTAR TABEL ..................................................................................................... xi DAFTAL SIMBOL ................................................................................................... xii BAB I
BAB II
PENDAHULLUAN 1.1 Latar Belakang Masalah ...................................................................
1
1.2 Identifikasi MasalahPenelitian ...........................................................
2
1.3 Tujuan dan Manfaat Penelitian ..........................................................
3
1.4 Rumusan Masalah ............................................................................
4
1.5 Batasan Masalah................................................................................
4
1.6 Metodologi Penelitian .......................................................................
4
1.7 Waktu dan Tempat Penelitian . ..........................................................
7
1.8 Sistematika Penulisan Laporan .........................................................
8
LANDASAN TEORI 2.1 Pengertian Aplikasi ........................................................................... 10 2.2 Pengertian Sistem .............................................................................. 11
2.3 Pengertian Sistem Pendukung Keputusan atau Decision Support System( DSS ), Expert Support System ( ESS ), Intelligent
Support System ( ISS ) ............................................................... 12
v
2.4 Pengertian Beasiswa .......................................................................... 20 2.5 Metode Profile Matching ................................................................... 22 2.6 Struktur Organisasi Dinas Pendidikan Kab.Bintan ............................. 25 2.7 Tool Perancangan .............................................................................. 26 2.8 Tool Pengembangan Perangkat Lunak ............................................... 29
BAB III
ANALISIS SISTEM 3.1 Analisa Sistem Yang Sedang Berjalan ............................................... 35 3.2 Analisa Kelemahan Sistem ................................................................ 38 3.3 Analisa Kebutuhan Sistem ................................................................ 38 3.4 Analisa Kebutuhan Pengguna ............................................................ 40 3.5 Analisi
PIECES
(Performance,
Information,
Economics,
Control, Efficiency, dan Service) ............................................... 40 3.6 Kriteria yang digunakan untuk menentukan penerima Beasiswa ......... 42 3.7 Contoh Kasus Penerimaan Beasiswa .................................................. 44
BAB IV
PERANCANGAN SISTEM 4.1 Prosedur Flowmap Usulan Pemberian Beasiswa ............................... 48 4.2 Flowchart ......................................................................................... 51 4.3 Diagram Konteks............................................................................... 51 4.4 Data Flow Diagram .......................................................................... 52 4.5 Entity Relationship Diagram (ERD) .................................................. 55 4.6 Perancangan Struktur File ................................................................. 56 4.7 Perancangan Struktur Program........................................................... 58 4.8 Perancangan Struktur Menu ............................................................... 58
vi
4.9 Rancangan Input ................................................................................ 59 4.10 Rancangan Output ............................................................................. 61
BAB V
IMPLEMENTASI SISTEM 5.1 Kebutuhan Perangkat Lunak .............................................................. 63 5.2 Kebutuhan Perangkat Keras ............................................................... 63 5.3 Teknik Pemrograman ........................................................................ 64 5.4 Kegiatan Implementasi ...................................................................... 65
BAB VI
KESIMPULAN DAN SARAN 6.1. Kesimpulan ....................................................................................... 68 6.2. Saran ................................................................................................. 68
DAFTAR PUSTAKA LAMPIRAN-LAMPIRAN
vii
DAFTAR GAMBAR
Gambar 1.1
Metode Waterfall ...................................................................
6
Gambar 2.1
Diagram Alir Proses Pengambilan Keptusan .......................... 13
Gambar 2.2
Struktur Utama SPK .............................................................. 15
Gambar 2.3
Struktur Organisasi................................................................. 25
Gambar 2.4
Bagian-Bagian IDE Delphi..................................................... 32
Gambar 2.5
Interface Microsoft Access ..................................................... 34
Gambar 3.1
Flowmap Pengajuan Proposal Beasiswa ................................. 37
Gambar 4.1
FlowmapUsulan Penerimaan Beasiswa................................... 50
Gambar 4.2
Flowchart............................................................................... 51
Gambar 4.3
Rancangan Diagram Konteks ................................................. 52
Gambar 4.4
Data Flow Diagram Level 0 ................................................... 53
Gambar 4.5
Data Flow Diagram Level 1 Proses 1 ..................................... 53
Gambar 4.6
Data Flow Diagram Level 1 Proses 2 ..................................... 54
Gambar 4.7
Data Flow Diagram Level 1 Proses 3 ..................................... 53
Gambar 4.8
Entity Relationship Diagram .................................................. 55
Gambar 4.9
Struktur Program Aplikasi Sistem Pendukung Keputusaan ..... 58
Gambar 4.10 Struktur Menu Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerimaan Beasiswa ......................................... 59 Gambar 4.11 Rancangan Input Form Data Proposal .................................... 59 Gambar 4.12 Rancangan Input Form Data Kriteria ...................................... 60 Gambar 4.13 Rancangan Proses Seleksi ...................................................... 60 Gambar 4.14 Rancangan Laporan Penerima Beasiswa ................................. 61 viii
DAFTAR TABEL
Tabel 1.1
Jadwal Penyusunan Skripsi ........................................................
8
Tabel 3.1 Bobot Nilai IPK .......................................................................... 43 Tabel 3.2 Bobot Semester........................................................................... 43 Tabel 3.3 Bobot Penghasilan Orangtua ....................................................... 43 Tabel 3.4 Bobot Pengeluaran Orangtua ...................................................... 44 Tabel 3.5 Bobot Tanggungan Anak ............................................................ 44 Tabel 3.6 Kriteria Profil Penerimaan Beasiswa Tahun 2013 ....................... 45 Tabel 3.7 Pendaftar Beasiswa untuk Periode 2013 ...................................... 45 Tabel 3.8 Perhitungan Gap ......................................................................... 45 Tabel 3.9 Perhitungan Hasil Bobot Nilai Gap ............................................. 46 Tabel 3.10 Perhitungan Core Factor ............................................................ 46 Tabel 3.11 Perhitungan Secondary Factor .................................................... 47 Tabel 3.12 Perhitungan Nilai Total ............................................................... 47 Tabel 4.1 Struktur File Proposal ................................................................. 56 Tabel 4.2 Struktur File Kriteria................................................................... 57 Tabel 4.3 Struktur File Data Seleksi ........................................................... 57 Tabel 5.1 Pelaksanaan
Pengujian
Perangkat
Lunak
Berdasarkan
Kebutuhan Perangkat Lunak ........................................................ 66
ix
DAFTAR SIMBOL DATA FLOW DIAGRAM ( DFD )
SIMBOL
KETERANGAN
Simbol dari proses dari sistem
Simbol suatu penyimpanan data /file
Simbol petunjuk arah aliran data
Simbol suatu entitas luar
x
DAFTAR SIMBOL ENTITY RELATIONSHIP DIAGRAM ( ERD )
SIMBOL
KETERANGAN
Simbol dari suatu entitas
Simbol dari hubungan antar entitas
Simbol penghubung
xi
DAFTAR SIMBOL FLOW MAP SIMBOL
KETERANGAN
Simbol dari suatu dokumen
Simbol dari kegiatan manual
Simbol aliran dokumen
Simbol penyimpanan data
Simbol dari proses komputer
Simbol penyimpanan dokumen/arsip
Simbol Display Peringatan/ Warning
Key In Menunjukan pemasukan data secara manual atau melalui keyboard.
xii
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah Perkembangan teknologi informasi semakin berkembang dimana hampir di segala bidang pekerjaan membutuhkan teknologi informasi sebagai alat bantu dalam menyelesaikan pekerjaan, karena teknologi informasi memiliki kelebihan yaitu dari segi kecepatan dan ketelitian yang sangat diperlukan dalam segala aspek kehidupan manusia demi tercapainya efektifitas dan efisiensi. Pekerjaan yang biasanya dilakukan secara manual oleh teknologi informasi sudah mulai diganti dengan menggunakan proses komputerisasi. Pemerintah Kabupaten Bintan melalui Dinas Pendidikan Kab. Bintan memiliki kegiatan rutinitas untuk menyalurkan bantuan dana pendidikan bagi mahasiswa yang berasal dari daerah Kab.Bintan. Bagi mahasiswa yang ingin mendapatkan beasiswa tersebut dapat mengajukan proposal permohonan bantuan dana pendidikan serta melampirkan beberapa persyaratan yang telah ditentukan. Kegiatan penyaluran bantuan dana pendidikan tersebut merupakan kegiatan yang setiap tahun berlangsung, maka proposal pengajuan bantuan dana pendidikan selalu menumpuk karena sangat banyak peminatnya. Sedangkan proses penyeleksian setiap proposal membutuhkan waktu yang tidak sedikit, dimulai dari seleksi administrasi dan seleksi kelayakan dari masing-masing mahasiswa calon penerima bantuan dana pendidikan. Selain itu, terkadang tim seleksi proposal dari Dinas Pendidikan Kab.Bintan merasa kesulitan dalam
1
2
menentukan proposal yang layak sebagai penerima bantuan dana beasiswa sehingga masih sering terjadi kesalahan atau tidak akurat dalam pemberian bantuan dana pendidikan. Metode Profile Matching merupakan metode yang cocok digunakan dalam penilaian profil dari para mahasiswa yang ingin mengajukan bantuan dana pendidikan. Dengan metode ini tim seleksi proposal atau pengambil keputusan dapat memberikan nilai-nilai dari kriteria profil para mahasiswa sehingga selanjutnya pengambil keputusan dapat menentukan nilai profil terbaik yang mendapatkan beasiswa. Dari uraian di atas maka penulis tertarik membuat penulisan skripsi ini dengan judul “Aplikasi Sistem Pendukung Keputusan Penentuan Penerima Beasiswa Dinas Pendidikan Kab.Bintan Dengan Metode Profil Matching ”.
1.2 Identifikasi Masalah Penelitian Untuk mempermudah dalam pembahasan dan tetap berfokus pada latar belakang masalah, maka penulis mengambil pokok permasalahan yaitu: 1.
Dinas Pendidikan Kab.Bintan mengalami kesulitan dalam pengolahan data pengajuan bantuan dana pendidikan setiap tahunnya.
2.
Dalam proses seleksi proposal pengajuan bantuan dana pendidikan, tim seleksi dari Dinas Pendidikan Kab.Bintan membutuhkan waktu yang lama untuk menentukan proposal yang layak untuk penyaluran bantuan dana pendidikan.
3
3.
Hasil tim seleksi dari Dinas Pendidikan Kab.Bintan terkadang kuran akurat dan kurang tepat sasaran dalam penyaluran bantuan dana pendidikan.
1.3 Tujuan Penelitian 1.3.1 Bagi Mahasiswa 1. Sebagai salah satu syarat kelulusan mata kuliah Skripsi Program Studi Teknik Informatika 2. Dapat menerapkan dan membangun suatu model pengambilan keputusan
menggunakan
metode
Profile
Matching
dalam
penyeleksian mahasiswa penerima beasiswa berdasarkan kriteria – kriteria profil yang telah ditentukan. 3. Memberi informasi atau sebagai alat ukur untuk menyeleksi mahasiswa penerima beasiswa yang dilihat dari hasil perhitungan metode Profile Matching
1.3.2 Bagi Dinas Pendidikan Kab. Bintan 1. Mempermudah Dinas Pendidikan Kab. Bintan dalam penyeleksian penerima beasiswa. 2. Menghemat
dana
karena
segala
sesuatu
menggunakan pengarsipan kertas dan tempat.
tidak
dilakukan
4
1.4 Rumusan Masalah 1. Bagaimana membangun system pendukung keputusan dalam penentuan penerima bantuan dana pendidikan di Dinas Pendidikan Kab.Bintan yang akurat dan efisien? 2. Bagaimana menerapkan metode Profile Matching dalam system penentuan penerima bantuan dana pendidikan Dinas Pendidikan Kab.Bintan?
1.5 Batasan Masalah Batasan
masalah
dimaksudkan
untuk
membatasi
ruang
lingkup
pembahasan agar aplikasi yang dirancang lebih terarah. Batasan masalah dari perancangan aplikasi ini dibatasi pada hal-hal sebagai berikut : 1.
Mengolah data kriteria beserta nilai bobotnya yang nantinya diolah untuk menentukan penerima beasiswa Dinas Pendidikan Kab.Bintan.
2.
Aplikasi ini untuk menghitung nilai, kriteria dan alternatif yang berlaku pada metode Profil Matching.
3.
Aplikasi ini hanya dapat digunakan pada penyeleksian beasiswa di wilayah Pemerintahan Kab. Bintan.
4.
Aplikasi ini menghasilkan laporan penerima beasiswa di Pemerintah Kab.Bintan.
1.6 Metodologi Penelitian Metodologi Penelitian pada dasarnya merupakan cara ilmiah untuk mendapatkan informasi dengan tujuan dan kegunaan tertentu yang bertujuan
5
untuk memperoleh pengetahuan yang bemanfaat untuk menjawab pertanyaan atau memecahkan masalah dalam kehidupan sehari hari. Dalam penulisan Skripsi ini penulis menggunakan 2 (dua) metode yaitu metode pengambilan data dan metode pengembangan sistem, antara lain sebagai berikut: 1.
Metode Pengumpulan Data a. Metode Observasi Metode observasi adalah mengadakan pengamatan langsung pada objek yang akan diteliti. Dalam metode ini kita di tuntut untuk melakukan pengumpulan data langsung dari hasil pengamatan pada sistem yang sudah ada, dan kemudian menerapkan pada aplikasi yang akan diciptakan. b. Metode Wawancara Langkah pertama yang dilakukan dalam Metode Wawancara ini adalah melakukan wawancara terhadap pihak yang berwenang dan menentukan masalah yang dihadapi sebagai tahap pengenalan terhadap objek yang akan diteliti. c. Studi Pustaka Suatu metode penelitian dengan cara membaca referensi, baik yang berasal dari buku, majalah, surat kabar ataupun media cetak lainnya. Studi kepustakaan dilakukan untuk menemukan suatu teori yang dapat digunakan untuk kepentingan penelitian yang di bahas dalam Skripsi ini.
6
2.
Metode Pengembangan Perangkat Lunak Metode
pengembangan perangkat
lunak
yang
digunakan
adalah
pendekatan terstruktur atau waterfall yang terdiri dari beberapa tahap kegiatan yaitu :
Gambar 1.1 Metode Waterfall1 Keterangan : 1. Perencanaan ( Engineering System ) adalah tahapan menangani masalah perangkat lunak, perangkat keras dan sumber daya manusia. 2. Analisis ( Analysis ) adalah melakukan analisis sistem dengan mencari penyebab-penyebab diidentifikasikan
masalah
yang
permasalahannya
timbul dan
disistem
digunakan
lama
untuk
sebagai
dasar
perancangan sistem baru.
Adi Nugroho, Analisis dan Perancangan Sistem Informasi dengan Metodologi Berorientasi Objek, hal 125, 2004. 1
7
3. Perancangan ( Design ) adalah proses mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang dimulai dengan penulisan program desain tadi harus diubah menjadi bentuk yang dimengerti sistem. 4. Implementasi ( Implementation ) adalah tahap penerjemahan desain ke dalam bahasa pemrograman yang sesuai dengan kebutuhan. 5. Pengujian ( Testing ) adalah tahap pengujian perangkat lunak yang telah dikembangkan untuk mengkover kesalahan-kesalahan dan menjamin bahwa masukan sesuai dengan hasil yang dibutuhkan. 6. Pemeliharan ( Maintenance ) adalah tahap perawatan sistem yang telah dikembangkan seperti perangkat lunak, perangkat keras dan media lain yang berhubungan dengan komputer. Pada tahap ini segala kemungkinan mengenai kekurangan perangkat lunak baik berupa kesalahan atau hal-hal yang ditambahkan kedalam perangkat lunak.
1.7 Waktu dan Tempat Penelitan Pelaksanaan penelitian ini dimulai pada pertengahan bulan Mei 2013 bertempat di Dinas Pendidikan Kab.Bintan Perencanaan terhadap jadwal kerja penelitian dengan judul Aplikasi Sistem Pendukung Keputusan Penentuan Penerima Beasiswa Dinas Pendidikan Kab.Bintan Dengan Metode Profil Matching terhitung dari bulan April 2014 sampai dengan bulan Juni 2014. Untuk pembagian jadwal kegiatannya bisa dilihat pada tabel berikut ini :
8
Tabel 1.1 Jadwal Penyusunan Skripsi Pelaksanaan No
Kegiatan 1
1
Perencanaan
2
Analisis
3
Perancangan
4
Implementasi
5
Testing
6
Pemeliharaan
April
Mei
Juni
2014
2014
2014
2
3
4
1
2
3
4
1
2
3
4
X X X X X X X X X X X X
1.8 Sistematika Penulisan Bab I Pendahuluan Bab Pendahuluan berfungsi membentuk konteks dari proposal melalui peringkasan pemahaman kita saat ini terhadap persoalan yang kita bahas dan teliti dalam proposal. Dan akan menjelaskan secara singkat jalan pikiran dan pendekatan yang kita lakukan. Pada bab ini berisi Latar Belakang Masalah, Indentifikasi Masalah, Batasan Masalah, Metodologi Penelitian, Tujuan Penelitian, Perencanaan Jadwal Penelitian dan Sistematika Penulisan.
Bab II Landasan Teori Landasan teori berfungsi mencakup telaah teori yang relevan dengan judul atau pokok permasalahan. Landasan ini akan digunakan sebagai dasar atau pedoman
dalam
bentuk
teori-teori
sehingga
mempermudah
pembahasan serta penyelesaian kasus atau suatu penelitian.
dalam
9
Bab III Analisis Sistem Bab ini membahas mengenai analisis kelemahan sistem, analisis terhadap sistem yang berjalan saat ini, semua prosedur-prosedur yang sedang berjalan, analisis dokumen dan evaluasi sistem yang sedang berjalan.
Bab IV Perancangan Sistem Bab ini berisi tentang perancangan aplikasi ( Flowmap Usulan ), tahap perancangan aplikasi meliputi perancangan berorientasi aliran data ( Data Flow Diagram ), diagram konteks ( Contex Diagram ), ERD ( Entity Relationship Diagram ).
Bab V Implementasi Sistem Berisi tentang tahap implementasi aplikasi berupa hardware dan software.
Bab VI Penutup Berisi kesimpulan-kesimpulan yang dapat diambil dari hasil penerapan aplikasi yang baru, juga berisi saran-saran dari Skripsi yang dibuat.
BAB II LANDASAN TEORI
2.1 Pengertian Aplikasi Komputer adalah sebuah mesin yang tidak dapat melakukan tugas yang dikehendaki pengguna apabila dalam komputer itu tidak adanya perangkat lunak (software). Perangkat lunak adalah sebuah program yang didalamnya terdapat sederetan instruksi atau perintah yang digunakan untuk mengendalikan sebuah komputer sehingga komputer dapat melakukan tindakan sesuai yang dikehendaki penggunanya. Berdasarkan fungsinya, perangkat lunak dibedakan menjadi 2 yaitu: a.
Perangkat lunak sistem adalah program yang digunakan untuk mengontrol sumber daya komputer seperti CPU dan peranti masukan atau keluaran. Kedudukan program ini adalah sebagai perantara antara program aplikasi dan perangkat keras komputer.
b.
Perangkat lunak aplikasi adalah program yang biasa dipakai oleh pemakai untuk melakukan tugas-tugas yang spesifik misalnya membuat dokumen, memanipulasi foto atau membuat laporan keuangan. Perangkat lunak aplikasi dapat digolongkan menjadi beberapa jenis yaitu:
a.
Perangkat lunak hiburan adalah program permainan, program memainkan musik dan program untuk memainkan film.
b.
Perangkat lunak pendidikan adalah program untuk mempelajari sesuatu atau untuk mereferensikan sesuatu.
10
11
c.
Perangkat lunak produktivitas kerja adalah program untuk meningkatkan produktivitas kerja pemakai.
d.
Perangkat lunak bisnis adalah program untuk menangani aplikasi bisnis misalnya program untuk menangani persediaan barang, pencatatan dan pembayaran piutang, dan registrasi mahasiswa.
2.2 Pengertian Sistem Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisasi, saling berinteraksi, dan salung bergantung sama lain. Mirdick dan Ross (1993) mendefinisikan “Sistem sebagai seperangkat elemen yang digabungkan satu dengan lainnya untuk suatu tujuan bersama”1. Data merupakan nilai, keadaan, atau sifat yang berdiri sendiri lepas dari konteks apapun. Sedangkan menurut Jogiyanto HM ”Sistem adalah kumpulan dari elemen - elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”2. Untuk memahami dan mengembangkan suatu sistem, maka perlu membedakan unsur-unsur dari sistem yang membentuknya. Berikut adalah karateristik sistem yang dapat membedakan suatu sistem dengan sistem lainnya: a. Batasan (boundary): Penggambaran dari suatu elemen atau unsur mana yang termasuk didalam sistem dan mana yang diluar sistem. b. Lingkungan (environment): Segala sesuatu diluar sistem, lingkungan yang menyediakan asumsi, kendali, dan input terhadap suatu sistem. 1
Hanif Al Fatta, Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan & Organisasi Modern, hal 3, 2007 2 Jogiyanto Hartono, MBA, Ph. D, Pengenalan Komputer, [Andi Yogyakarta, 1999], hal 683
12
c. Masukan (input): Sumber daya (data, bahan baku, peralatan, energi) dari lingkungan yang dikonsumsi dan dimanipulasi oleh suatu sistem. d. Keluaran (output): Sumber daya atau produk (informasi, laporan, dokumen, tampilan layar komputer, barang jadi) yang disediakan untuk lingkungan sistem oleh kegiatan dalam suatu sistem. e. Komponen (component): Kegiatan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi (output). Komponen ini bisa merupakan subsistem dari sebuah sistem. f. Penghubung (interface): tempat dimana komponen atau
sistem dan
lingkungannya bertemu atau berinteraksi. g. Penyimpanan (storage): Area yang dikuasai dan digunakan untuk penyimpanan sementara dan tetap dari informasi, energi, bahan baku, dan sebagainya. Penyimpanan merupakan suatu media penyangga diantara komponen tersebut bekerja dengan berbeda dari berbagai data yang sama3.
2.3 Pengertian Sistem Pendukung Keputusan atau Decision Support System (DSS), Expert Support System (ESS), Intelligent Support System (ISS) Salah satu aspek dalam Sistem Pendukung Keputusan (SPK) adalah keputusan itu sendiri. Keputusan merupakan suatu pilihan dari berbagai macam alternatif yang diambil berdasarkan kriteria dan alasan yang rasional. Proses pengambilan keputusan sering disebut juga sebagai penyelesaian suatu masalah.
3
Hanif Al Fatta, Op. cit, hal 6
13
Vercellis (2009: 24) menggambarkan proses pengambilan keputusan atau penyelesaian masalah dengan diagram alir berikut ini.
Gambar 2.1 Diagram Alir Proses Pengambilan Keputusan (Vercellis, 2009: 24)
Berdasarkan diagram tersebut dapat dijelaskan bahwa suatu keputusan diambil berdasarkan alternatif yang ada dengan berpatokan pada kriteria yang telah ditentukan. Jenis-jenis keputusan menurut HERBERT A. SIMON : a. Keputusan Terprogram, bersifat berulang dan rutin, sedemikian sehingga suatu prosedur pasti telah dibuat untuk menanganinya. b. Keputusan Tak Terprogram, bersifat baru, tidak terstruktur dan jarang konsekuen. Tidak ada metode yang pasti untuk menangani masalah ini. Tahap-tahap pengambilan keputusan menurut HERBERT A. SIMON : a. Kegiatan Intelijen, mengamati lingkungan mencari kondisi-kondisi yang perlu diperbaiki. b. Kegiatan Merancang, menemukan, mengembangkan dan menganalisis berbagai alternatif tindakan yang mungkin.
14
c. Kegiatan Memilih, memilih satu rangkaian tindakan tertentu dari beberapa yang tersedia. d. Kegiatan Menelaah, menilai pilihan-pilihan yang lalu. Decision Support System merupakan sistem informasi interaktif yang menyediakan informasi, pemodelan, dan pemanipulasian data4. Sistem itu digunakan untuk membantu pengambilan keputusan dalam situasi yang semiterstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun secara pasti bagaimana keputusan seharusnya dibuat. Adapun Sistem Pendukung Keputusan (SPK) merupakan aplikasi interaktif berbasis komputer yang mengkombinasikan data dan model matematis untuk membantu proses pengambilan keputusan dalam menangani suatu masalah. Vercellis (2009: 36) menyebutkan bahwa ada tiga aspek utama dalam SPK yaitu data, model matematis dan antarmuka pengguna. Aspek pertama yaitu data. Data yang digunakan dalam SPK adalah data yang diambil dari data warehouse pada organisasi tersebut. Terkadang data yang dipakai berupa data mart, yakni data dari data warehouse yang telah dikategorikan berdasarkan kebutuhan organisasi. Hal tersebut secara tidak langsung menegaskan bahwa data warehouse merupakan fondasi dalam SPK.
4
Kusrini, M.Kom., “Konsep dan Aplikasi Sistem Pendukung Keputusan”, Penerbit Andi, 2002, hal. 15-16
15
Gambar 2.2 Struktur Utama SPK (Vercellis, 2009: 36) Aspek kedua
yaitu
model matematis,
merupakan bagian untuk
menganalisis data yang berada di data warehouse. Model matematis ini dapat berupa analisis statistika yang biasa digunakan dalam mengolah data. Model matematis ini berfungsi untuk merubah data menjadi informasi dan knowledge yang berguna untuk pengambilan keputusan. Aspek ketiga adalah antarmuka pengguna (user interface). Aspek ini merupakan aspek yang secara langsung dilihat dan berinteraksi dengan end user atau dalam hal ini pemegang keputusan. Data yang ditampilkan harus memberikan informasi yang valid, reliable, dan dapat mendukung untuk pengambilan keputusan. Agar dapat memudahkan dalam pengambilan keputusan, data yang ditampilkan biasanya menggunakan berbagai jenis grafik, animasi, atau peta yang berguna untuk melengkapi data yang ada. Konsep sistem pendukung keputusan, antara lain : a. Masalah Terstruktur, merupakan suatu masalah yang memiliki struktur masalah pada 3 tahap pertama, yaitu intelijen, rancangan dan pilihan. b. Masalah Tak Terstruktur, merupakan masalah yang sama sekali tidak memiliki struktur pada 3 tahap Simon diatas.
16
c. Masalah Semi-Terstruktur, merupakan masalah yang memiliki struktur hanya pada satu atau dua tahap Simon. Dari pengertian sistem pendukung keputusan maka dapat ditentukan karakteristik antara lain : a. Mendukung proses pengambilan keputusan, menitik beratkan pada management by perception. b. Adanya interface manusia atau mesin dimana manusia (user) tetap memegang kontrol proses pengambilan keputusan. c. Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur dan tak struktur. d. Memiliki kapasitas dialog untuk memperoleh informasi sesuai dengan kebutuhan. e.
Memiliki subsistem-subsistem yang terintegrasi sedemikian rupa sehingga dapat berfungsi sebagai kesatuan item.
f.
Membutuhkan struktur data komprehensif yang dapat melayani kebutuhan informasi seluruh tingkatan manajemen. Suatu Sistem Pendukung Keputusan (SPK) memiliki tiga subsistem utama
yang menentukan kemampuan teknis sistem pendukung keputusan, antara lain : 1.
Subsistem Manajemen Basis Data Subsistem data merupakan bagian yang menyediakan data-data yang
dibutuhkan oleh Base management Subsystem (DBMS). DBMS sendiri merupakan susbsistem data yang terorganisasi dalam suatu basis data. Datadata yang merupakan dalam suatu Sistem Pendukung Keputusan dapat berasal
17
dari luar lingkungan. Keputusan pada manajemen level atas seringkali harus memanfaatkan data dan informasi yang bersumber dari luar perusahaan. Kemampuan subsistem data yang diperlukan dalam suatu Sistem Pendukung Keputusan, antara lain : a. Mampu mengkombinasikan sumber-sumber data yang relevan melalui proses ekstraksi data. b. Mampu menambah dan menghapus secara cepat dan mudah. c. Mampu menangani data personal dan non ofisial, sehingga user dapat bereksperimen dengan berbagai alternatif keputusan. d. Mampu mengolah data yang bervariasi dengan fungsi manajemen data yang luas. 2.
Subsistem Manajemen Model Subsistem model dalam Sistem Pendukung Keputusan memungkinkan
pengambil keputusan menganalisa secara utuh dengan mengembangkan dan membandingkan alternative solusi. Integrasi model-model dalam Sistem Informasi Manajemen yang berdasarkan integrasi data-data dari lapangan menjadi suatu Sistem Pendukung Keputusan. Kemampuan subsistem model dalam Sistem Pendukung Keputusan antara lain : a. Mampu menciptakan model-model baru dengan cepat dan mudah. b. Mampu mengkatalogkan dan mengelola model untuk mendukung semua tingkat pemakai.
18
c. Mampu menghubungkan model-model dengan basis data melalui hubungan yang sesuai. d. Mampu mengelola basis model dengan fungsi manajemen yang analog dengan database manajemen. 3.
Subsistem Dialog Subsistem dialog merupakan bagian dari Sistem Pendukung Keputusan
yang dibangun untuk memenuhi kebutuhan representasi dan mekanisme control selama proses analisa dalam Sistem Pendukung Keputusan ditentukan dari kemampuan berinteraksi anatara sistem yang terpasang dengan user. Pemakai terminal dan sistem perangkat lunak merupakan komponenkomponen yang terlibat dalam susbsistem dialog yang mewujudkan komunikasi anatara user dengan sistem tersebut. Komponen dialog menampilkan keluaran sistem bagi pemakai dan menerima masukkan dari pemakai ke dalam Sistem Pendukung Keputusan. Adapun subsistem dialog dibagi menjadi tiga, antara lain : a. Bahasa Aksi (The Action Language) Merupakan tindakan-tindakan yang dilakukan user dalam usaha untuk membangun komunikasi dengan sistem. Tindakan yang dilakukan oleh user untuk menjalankan dan mengontrol sistem tersebut tergantung rancangan sistem yang ada. b. Bahasa Tampilan (The Display or Presentation Langauage) Merupakan keluaran yang dihasilakn oleh suatu Sistem Pendukung Keputusan dalam bentuk tampilan-tampilan akan memudahkan user untuk
19
mengetahui keluaran sistem terhadap masukan-masukan yang telah dilakukan. c. Bahasa Pengetahuan (Knowledge Base Language) Meliputi pengetahuan yang harus dimiliki user tentang keputusan dan tentang prosedur pemakaian Sistem Pendukung Keputusan agar sistem dapat digunakan secara efektif. Pemahaman user terhadap permasalahan yang dihadapi dilakukan diluar sistem, sebelum user menggunakan sistem untuk mengambil keputusan. Expert Support System (ESS) merupakan aplikasi komputer yang ditujukan untuk membantu pengambilan keputusan atau pemechan persoalan dalam bidang yang spesifik. Expert Support System (ESS) mempunyai kemampuan untuk menjelaskan jalur penalaran yang diikuti pencapaian pemecahan tertentu, penjelasan mengenai bagaimana pemecahan dicapai akan lebih berguna dari pada pemecahan itu sendiri. Perbedaan ESS dan DSS adalah kemampuan ESS untuk menjelaskan alur penalarannya dalam mencapai suatu poemecahan tertentu. Intelligent Support System (ISS) merupakan sistem yang dirancang untuk membantu managemen perusahaan didalam menjalankan organisasinya dengan cara sistem berpikir seperti halnya manusia dimana sistem dapat menganalisa suatu masalah melalui proses belajar secara terus menerus dan dijadikan menjadi pengalaman untuk mengatasi persoalan-persoalan sistem yang lainnya.
20
2.4 Pengertian Beasiswa Beasiswa adalah pemberian berupa bantuan keuangan yang diberikan kepada perorangan yang bertujuan untuk digunakan demi keberlangsungan pendidikan yang ditempuh5. Beasiswa dapat diberikan oleh lembaga pemerintah, perusahaan ataupun yayasan. Pemberian beasiswa dapat dikategorikan pada pemberian cumacuma ataupun pemberian dengan ikatan kerja ( biasa disebut ikatan dinas ) setelah selesainya pendidikan. Lama ikatan dinas ini berbeda-beda, tergantung pada lembaga yang memberikan beasiswa tersebut. Tujuan pemberian beasiswa, antara lain : a. Membantu biaya studi. b. Mendorong prestasi studi mahasiswa. c. Menumbuhkan kepedulian terhadap almamater. Penerima beasiswa berkewajiban untuk : a. Menunjukkan perilaku yang baik dan menjadi teladan di manapun berada. b. Belajar dan berusaha meningkatkan prestasi. c.
Mendukung dan menginformasikan universitas yang bersangkutan kepada masyarakat luas.
d.
Menyampaikan laporan kemajuan studi pada setiap akhir semester (KHS).
Beasiswa dapat dihentikan apabila : a.
Penerima beasiswa terbukti melanggar ketentuan dan atau peraturan yang berlaku pada kampus yang bersangkutan.
5
http://id.wikipedia.org/wiki/Beasiswa
21
b.
Telah lulus atau dicabut status mahasiswanya dari kampus yang bersangkutan.
c.
Terbukti melakukan pemalsuan data ketika mengajukan permohonan beasiswa.
d.
Mengundurkan diri dari kampus yang bersangkutan.
e.
Tidak dapat menunjukkan prestasi maupun perilaku yang baik.
Jenis-jenis beasiswa kini bermacam-macam, antara lain : a.
Full beasiswa ( 100% tuition reduction ). Ini beasiswa yang paling diincar banyak orang, karena kalau kita bisa mendapatkannya, kita tidak akan pusing - pusing lagi memikirkan bagaimana caranya bayar uang kuliah dan makan, karena semua biaya perkuliahan sudah ditanggung pihak pemberi beasiswa.
b.
Beasiswa untuk meringankan biaya kuliah ( tuition reduction ). Beasiswa ini ditujukan bagi yang tidak menerima full beasiswa. Dengan beasiswa ini kamu bisa mendapatkan potongan biaya kuliah sebesar 60-75%, tergantung dari masing-masing pihak pemberi beasiswa.
c.
Beasiswa yang diberikan secara berkala atau rutin. Jenis beasiswa ini bertujuan untuk membantu memenuhi kebutuhan hidup sehari-hari, misalnya untuk makan, bayar asrama, beli buku, dan sebagainya. Besarnya tergantung dari masing - masing pihak pemberi beasiswa. Ada yang memberikan per bulan, ada juga yang per semester.
d.
Beasiswa yang hanya diberikan sekali waktu. Jenis beasiswa ini biasanya diberikan pada mereka yang menjuarai perlombaan.
22
e.
Ikatan dinas kerja. Beasiswa ini diberikan pada mahasiswa berprestasi yang sudah mengakhiri masa pendidikannya.
2.5 Metode Profile Matching Metode Profil Matching adalah sebuah mekanisme pengambilan keputusan dengan mengasumsikan bahwa terdapat tingkat variabel prediktor yang ideal yang harus dimiliki oleh pelamar, bukannya tingkat minimal yang harus dipenuhi atau dilewati. 6 Secara garis besar, profile matching ini bekerja dengan membandingkan antara kompetensi individu dengan kompetensi syarat penerima beasiswa sehinggan dapat diketahui perbedaan kompetensinya (disebut juga Gap). Semakin kecil gap yang dihasilkan, maka bobot nilainya semakin besar yang berarti mahasiswa calon penerima beasiswa memiliki peluang besar untuk mendapatkan beasiswa tersebut. Langkah awal metode profile matching ini adalah menghitung nilai gap untuk masing-masing kriteria. Gap merupakan perbedaan / selisih value masingmasing aspek / atribut dengan value target. Langkah kedua adalah pembobotan. Langkah ini dilakukan dengan mengganti nilai gap yang telah diperoleh dengan bobot nilai yang telah ditetapkan oleh pengambil keputusan. Langkah ketiga adalah perhitungan dan pengelompokan care factor (faktor utama) dan secondary factor (faktor pendukung). Core faktor merupakan aspek 6
Kusrini, M.Kom., “Konsep dan Aplikasi Sistem Pendukung Keputusan”, Penerbit Andi, 2002, hal. 53
23
yang paling dibutuhkan ketika akan menentukan hasil akhir suatu keputusan. Sedangkan secondary faktor merupakan faktor pendukung dari core factor Sebelum dilakukan perhitungan, manajer terlebih dahulu menentukan faktor mana yang termasuk kedalam core factor dan faktor mana yang termasuk dalam secondary factor. Rumus perhitungan core factor adalah sebagai berikut: NCF = ∑ NC ∑IC
Keterangan : NCF
: Nilai rata-rata core factor
NC
: Jumlah total nilai core factor
IC
: Jumlah item core factor
Sedangkan rumus perhitungan secondari factor adalah sebagai berikut: NSF = ∑ NS ∑IS
Keterangan : NCF
: Nilai rata-rata secondary factor
NC
: Jumlah total nilai secondary factor
IC
: Jumlah item seondary factor
24
Langkah keempat metode profile matching ini adalah perhitungan nilai total tiap-tiap aspek. Rumus untuk pehitungan nilai total ini adalah sebagai berikut: N = (x)%NCF+(x)%NSF
Keterangan: NCF
: Nilai rata-rata core factor
NSF
: Nilai rata-rata secondary factor
N
: Nilai total dari aspek
(x)%
: Nilai persen untuk masing-masing kelas faktor
Langkah terakhir dari profile matching adalah penentuan nilai akhir atau rangking dari setiap mahasiswa calon penerima beasiswa untuk mendapatka beasiswa. Rumus perhitungannya adalah sebagai berikut: Ranking = ∑(x)%Ni
Keterangan: Ni
: nilai setiap aspek penilaian
(x)%
: nilai persen ranking
25
2.6 Struktur Organisasi Dinas Pendidikan Kab.Bintan
Gambar 2.3 Struktur Organisasi
26
2.7 Tool Perancangan Pada perancangan laporan Skripsi ini penyusun menggunakan tool atau alat bantu sebagai berikut: 2.7.1 Flowchart Flowchart adalah gambaran secara grafik dari langkah-langkah dan urut urutan prosedur sebuah program7. Simbol-simbol yang biasa digunakan dalam flowchart dibagi menjadi 3 kelompok yaitu: a.
Flow Direction Symbols Flow Direction Symbols biasanya digunakan untuk menghubungkan simbol yang satu dengan simbol yang lain. Simbol ini sering disebut juga sebagai garis penghubung (connecting line).
b.
Processing Symbols Proccessing Symbols adalah simbol yang digunakan untuk menunjukkan jenis operasi pengolahan dalam suatu proses atau prosedur.
c.
Input atau Output Symbols Input
atau Output Symbols adalah simbol yang menunjukkan jenis
peralatan yang digunakan sebagai media input atau output. a)
Flowchart Program Flowchart program merupakan keterangan yang lebih rinci tentang
bagaimana setiap langkah program atau prosedur sesungguhnya yang dilaksanakan.
7
http://febriani.staff.gunadarma.ac.id. 18 Juli 2011
27
b)
Flowchart Proses Flowchart proses merupakan teknik penggambaran rekayasa industrial
yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur program atau sistem.
2.7.2 Data Flow Diagram Data Flow Diagram (Diagram Arus Data) merupakan alat yang digunakan untuk menggambarkan arus data di dalam sebuah sistem dengan terstruktur dan jelas. Pada Diagram Arus Data terdapat tingkatan yaitu: a. Diagram Konteks Diagram konteks adalah diagram yang terdapat pada level yang paling tinggi yaitu level 0 (nol) yang menggambarkan ruang lingkup sistem yang global.
Setiap
sistem
dibatasi
boundary,
diagram
arus
data
menggambarkan jaringan masukan dan keluaran dari sistem, level ini hanya ada satu proses dan tidak ada data store. b. Diagram Zero (Overview Diagram) Diagram Zero adalah diagram yang menggambarkan proses dari Data Flow Diagram atau diagram yang yang berada pada level 1 yang menggambarkan proses utama dari sistem dan didalamnya terdiri dari hubungan antar sumber, aliran data dan simpanan data. c. Diagram Rinci Merupakan diagram yang menggambarkan proses secara lebih rinci lagi dan sudah tidak dapat diuraikan lagi.
28
2.7.3
Entity Relationship Diagram Adapun komponen ERD sebagai berikut:
a. Entity (Entitas) merupakan objek didalam sistem nyata atau abstrak dimana terdapat data entity (entitas) diberi nama dengan kata benda dan secara umum dapat dikelompokkan dalam empat jenis nama adalah orang, benda, lokasi kejadian (terdapat unsur waktu didalamnya). b. Relationship (relasi) menunjukkan hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. c. Atribut secara umum sifatnya karakteristik dari tiap entity maupun tiap relationship. Atribut disimbolkan dengan sebuah lingkungan atau elips.
2.7.4
Database Relationship Database Relationship menunjukkan hubungan dari file-file database yang
digunakan dalam sistem yang dirancang. Penggambaran database relationship dilakukan setelah proses normalisasi. Ada tiga kemungkinan tingkat hubungan yang ada untuk menggambarkan relasi atribut dalam suatu file yaitu: a. Relasi satu ke satu (one to one) Suatu kejadian pada entitas yang pertama hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya. b. Relasi satu ke banyak (one to many) Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua. Sebaliknya satu
29
kejadian pada entitas yang kedua hanya dapat mempunyai satu hubungan dengan satu kejadian pada entitas yang pertama. c. Relasi banyak ke banyak (many to many) Tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya, baik dilihat dari sisi entitas yang pertama maupun dari sisi yang kedua.
2.7.5
Kamus Data Kamus data disebut juga sistem data dictionary adalah cabang kata tentang
data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi.
2.8 Tool Pengembangan Perangkat Lunak Dalam pembuatan program ini penyusun menggunakan sistem operasi Windows Xp dan bahasa pemrograman Borland Delphi 6.0 serta Microsoft Access sebagai basis datanya. 2.8.1 Sistem Operasi Microsoft Windows XP Sistem operasi adalah program yang bertindak sebagai perantara antara user dengan perangkat keras komputer. Sistem operasi digunakan untuk mengeksekusi program user dan memudahkan menyelesaikan permasalahan user. Selain itu dengan adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem operasi mempunyai tujuan untuk menggunakan perangkat keras komputer secara efisien dan bertugas untuk melakukan kontrol dan
30
koordinasi penggunaan perangkat keras pada berbagai program aplikasi untuk user- user yang berbeda. Microsoft Windows XP merupakan salah satu sistem operasi komputer yang paling banyak digunakan. Mungkin faktor penggunaan yang sangat mudah dan dengan tampilan interface yang cantik. Microsoft Windows XP merupakan generasi perkembangan dari versi-versi windows sebelumnya dengan lebih banyak penambahan fasilitas-fasilitas dan fitur-fitur baru. Penggunaan dari Microsoft Windows XP sendiri tidak jauh beda dengan penggunaan windows versi sebelumnya, akan tetapi hanya ada perbedaan sedikit letak fitur serta penambahan fitur-fitur baru. Dalam Windows XP pengaturan dan koneksi khususnya untuk jaringan lebih gampang dan mudah serta fasilitas untuk pendeteksian peripheral komponen - komponen tambahan yang diikutsertakan dalam komputer sudah semakin lengkap. Sebagai contoh pendeteksian perangkat yang menggunakan Universal Serial Bus (USB) lebih gampang tanpa menginstal driver dari perangkat tersebut.
2.8.2 Borland Delphi 7.0 Menurut Pranata (2000:xvii), ide munculnya Delphi sebenarnya berasal dari bahasa pemrograman yang cukup terkenal, yaitu pascal. Bahasa pascal sendiri telah diciptakan pada tahun 1971 oleh ilmuwan dari Swiss. Yaitu Niklaus Wirth. Nama Pascal diambil dari ahli matematika dan filsafat dari Prancis yaitu Blaise Pascal (1623-1662).
31
Sejak saat itu muncul beberapa versi Pascal di antaranya Turbo Pascal yang dirilis Borland Internasional Incorporation pada tahun 1983. Turbo Pascal yang muncul pertama kali hanya dapat dijalankan di sistem operasi DOS, namun dalam perkembangan selanjutnya, Borland International juga merilis Turbo Pascal yang berjalan di Windows 3.x, yaitu Turbo Pascal For Windows. Pada tahun 1992, Borland International menggabungkan Turbo Pascal For DOS dengan Turbo Pascal For Windows menjadi satu paket bahasa pemrograman yang dikenal dengan nama Borland Pascal versi 7. Karena pemrograman Windows dengan Borland Pascal masih dirasa cukup sulit, sejak tahun 1993 Borland Internasional mengembangkan bahasa Pascal yang bersifat visual, hasil dari pengembangan ini adalah dirilisnya Delphi 1 pada tahun 1995. Perkembangan Delphi tidak berhenti sampai di situ. Satu tahun berikutnya, Pada tahun 1996, Borland Internasional merilis Delphi 2 yang sudah bersifat 32 bit, dengan kata lain Delphi 2 hanya bisa dijalankan pada Windows 95 dan Windows NT. Pada tahun 1997, 1998, dan 1999, Borland Internasional yang berganti nama menjadi Inprise Corporation berturut-turut kembali merilis Delphi 3, 4, 5 dan yang sekarang berkembang adalah Delphi 7.0.
32
Pada dasarnya IDE milik Delphi di bagi menjadi 6 bagian utama, yaitu menu, Speed Bar, Component Pallete, Form Designer, Code Editor dan Object Inspector. Untuk lebih jelasnya lihat gambar dibawah ini.
Gambar 2.4 Bagian-bagian IDE Delphi
Di bawah ini akan di jelaskan masing-masing komponen tersebut: a.
Menu Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi
windows lainnya. Dari menu ini, anda bisa memanggil atau menyimpan program, menjalankan dan melacak bug program, dsb. Singkatnya segala sesuatu yang berkaitan dengan IDE Delphi dapat anda lakukan dari menu (Kusnassriyanto dan Sjahriyanto, 2005:4). b.
Speed Bar Speed Bar atau sering disebut juga toolbar berisi kumpulan tombol yang
tidak lain adalah pengganti beberapa menu yang sering digunakan, dengan kata lain, setiap tombol pada Speed Bar menggantikan salah satu item menu (Kusnassriyanto dan Sjahriyanto,2005:5).
33
c.
Component Palette Component Palette adalah berisi kumpulan ikon yang melambangkan
komponen-komponen pada VCL (Visual Component Library). VCL merupakan pustaka komponen yang digunakan untuk membangun aplikasi. Pada Component Pallete terdapat beberapa tab antara lain Standard, Additional, Data Access dan seterusnya (Kusnassriyanto dan Sjahriyanto, 2005:5). Komponen tersebut dapat dilihat pada gambar 2.4 di atas. d.
Form Designer Form Designer adalah tempat dimana anda dapat merancang jendela dari
aplikasi Windows (Kusnassriyanto dan Sjahriyanto, 2005:6). e.
Code Editor Code
Editor
adalah
tempat
dimana
anda
menuliskan
program
(Kusnassriyanto dan Sjahriyanto, 2005:14) f.
Object Inspector Object Inspector digunakan untuk mengubah karakteristik sebuah
komponen. Pada Object Inspector terdapat dua tab, yaitu Properties dan Events (Kusnassriyanto dan Sjahriyanto,2005:7).
2.8.3
Microsoft Access Microsoft Access adalah sebuah program aplikasi basis data komputer
relasional yang ditujukan untuk kalangan rumahan, perusahaan kecil dan perusahaan menengah. Aplikasi ini menggunakan mesin basis data Microsoft Jet
34
Database Engine dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Beberapa kelebihan dari Microsoft Access adalah sebagai berikut: a. Aplikasi ini mudah dikembangkan baik untuk kalangan pemula maupun untuk kalangan professional. b. Microsoft Access memungkinkan pengembangan yang relatif cepat karena semua table database, query, form dan report disimpan dalam berkas basis datanya sendiri. c. Microsoft Access memiliki kompatibilitas dengan bahasa pemrograman SQL.
Gambar 2.5 Interface Microsoft Access
BAB III ANALISA SISTEM
3.1 Analisa Sistem Yang Sedang Berjalan Analisa terhadap sistem yang sedang dilakukan untuk mengetahui permasalahan yang sebenarnya ada pada Dinas Pendidikan Kab.Bintan Proses analisa ini berguna untuk memberikan bentuk-bentuk alternatif dari sistem yang dibutuhkan, diharapkan dengan adanya bentuk-bentuk alternatif ini dapat memberikan bentuk laporan yang baik dan lebih mudah untuk dipahami oleh pemakai sistem ataupun pihak yang berkepentingan dengan kinerja sistem ini. Sebelum melakukan perancangan terhadap sebuah sistem yang baru, sekiranya diperlukan adanya suatu gambaran yang memuat keterangan atau informasi yang berhubungan dengan sistem yang sedang berjalan sekarang pada Dinas Pendidikan Kab.Bintan. Hal ini akan berguna agar nantinya mempermudah dalam menganalisa dan merancang sistem yang baru Dibawah ini adalah prosedur pengajuan proporsal beasiswa yang sedang berjalan: 1.
Calon penerima beasiswa memberikan proposal pengajuan
dan berkas
persyaratan kepada Dinas Pendidikan Kab.Bintan melalui Bag.Umum. 2.
Berkas persyaratan yang harus dipersiapkan oleh mahasiswa diantaranya:, Transkip Nilai, Kartu Tanda Penduduk terbaru, KHS, Kartu Tanda Mahasiswa, Surat Keterangan Aktif Kuliah, Surat Keterangan Tidak Mampu dari RT/RW.
35
36
3.
Bagian Umum melakukan seleksi administrasi persyaratan proposal pengajuan bantuan dana pendidikan. Jika tidak lengkap, maka proposal akan diarsipkan di Bagian Umum.
4.
Jika lengkap, Bagian Umum akan melakukan pencatatan ke buku besar dan membuat laporan pengajuan proposal untuk diberikan ke tim seleksi.
5.
Tim seleksi melakukan penyeleksian beasiswa dan kemudian membuat laporan penerima beasiswa untuk diberikan ke Kepala Dinas.
6.
Kepala
Dinas
Pendidikan
melakukan
tandatangan
persetujuan
dan
mengembalikan laporan penerima beasiswa ke Bagian Umum. 7.
Bagian Umum membuat pengumuman penerima beasiswa untuk diberikan ke mahasiswa.
37
Prosedur Pengajuan Proposal Beasiswa Mahasiswa Proposal & Persyaratan
Bag. Umum
Tim Seleksi
Ka.Dinas Pendidikan
Proposal & Persyaratan
Seleksi Administrasi
Laporan & Proposal
Laporan Penerima Beasiswa
T Lengkap Proposal & Persyaratan
Y Proposal & Persyaratan
Proses Seleksi Penerima Beasiswa
Penerima Beasiswa Laporan Penerima Beasiswa
Catat Ke Buku Besar Buat Laporan Penerima beasiswa
Buku Data Proposal
Buat Laporan Pengajuan Proposal
Laporan Penerima Beasiswa
Laporan Pengajuan
Laporan Penerima Beasiswa
Buat Pengumuman Pengumuman Penerima Beasiswa
Tanda Tangan persetujuan
Pengumuman Penerima Beasiswa
Gambar 3.1 Flowmap pengajuan proposal beasiswa
38
3.2 Analisa Kelemahan Sistem Analisa sistem dalam laporan tugas akhir ini dimaksudkan untuk mengidentifikasi kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya serta mengetahui permasalahan yang sebenarnya mengenai pemberian beasiswa pada Dinas Pendidikan Kab.Bintan. Adapun permasalahan yang dihadapi oleh Dinas Pendidikan Kab.Bintan dalam pemberian beasiswa adalah : 1. Dinas Pendidikan Kab.Bintan masih belum menggunakan sistem komputerisasi dalam menentukan mahasiswa penerima beasiswa. 2. Selama ini penyeleksian mahasiswa penerima beasiswa masih manual sehingga memerlukan waktu yang cukup lama. 3. Dengan penyeleksian mahasiswa penerima beasiswa secara manual hasil yang diperoleh kurang akurat. 4. Sering terjadinya kesalahan yang diakibatkan kesalahan manusia dalam menentukan mahasiswa penerima beasiswa.
3.3 Analisa Kebutuhan Sistem Analisa kebutuhan sistem sangat dibutuhkan guna menunjang penerapan sistem baru, sistem baru yang akan diterapkan harus sesuai dengan kebutuhan pada Dinas Pendidikan Kab.Bintan. Fungsi dari sistem baru ini adalah untuk membantu pihak panitia dalam melakukan perhitungan profile matching beserta laporan hasil perhitungan profile matching guna memperoleh informasi
39
penyeleksian penerima beasiswa dengan lebih cepat, tepat, dan akurat serta dapat menjamin keamanan data dan penyimpanan file tidak dilakukan secara terpisah.
3.3.1
Analisa Kriteria Yang Dibutuhkan Kriteria yang dibutuhkan untuk pengambilan keputusan, berdasarkan
persyaratan beasiswa secara umum. Dinas Pendidikan Kab.Bintan telah memiliki standarisasi kriteria untuk penerima beasiswa yang layak diberikan.
3.3.2
Analisa Kebutuhan Perangkat Lunak Kebutuhan perangkat lunak untuk menunjang pembuatan aplikasi sistem
pendukung keputusan untuk menentukan penerima beasiswa dengan metode Profile Matching pada Dinas Pendidikan Kab.Bintan, dimana perangkat lunak tersebut harus dapat mengolah data dari proposal yang akan diseleksi, selain itu perangkat lunak yang dibutuhkan juga harus dapat melakukan perhitungan metode profile matching.
3.3.3
Analisa Kebutuhan Perangkat Keras Demi menunjang kelancaran perangkat lunak yang akan digunakan untuk
perhitungan dengan metode Profile Matching, diperlukan juga perangkat keras yang menunjang sistem kerja dari perangkat lunak. Perangkat keras yang dibutuhkan dapat menyimpan data proposal dan juga memiliki kinerja yang cepat untuk melakukan proses perhitungan.
40
3.3.4
Analisa Kebutuhan Informasi Aplikasi yang dibuat diharapkan dapat memenuhi kebutuhan panitia untuk
merumuskan kebijakan Dinas Pendidikan Kab.Bintan. Aplikasi yang dibutuhkan diharapkan bekerja dibawah sistem operasi windows yang telah umum dipakai dan dipahami oleh bagian administrasi. Aplikasi yang dibutuhkan diharapkan menghasilkan laporan yang dapat memenuhi manajemen. Aplikasi tersebut bersifat dinamis dalam segi penampilan dan mudah dipakai.
3.4 Analisa Kebutuhan Pengguna User membutuhkan sebuah aplikasi yang biasa menangani segala macam persoalan pelayanan khususnya tentang segala bentuk informasi secara lengkap dan jelas. Untuk itu, program yang dirancang penulis disusun sedemikian rupa sehingga sangat mudah digunakan dan dapat dimengerti oleh pengguna.
3.5 Analisis
PIECES
(Performance,
Information,
Economics,
Control,
Efficiency, dan Service) 3.5.1
Performance Masalah yang terkait dengan performance adalah : 1. Waktu yang digunakan untuk menyeleksi penerima beasiswa masih terhitung lama, karena proses pengarsipan data yang masih menggunakan kertas sehingga akan memakan waktu pada saat proses pencarian data yang dibutuhkan.
41
3.5.2
Information Masalah yang terkait dengan information adalah : 1. Informasi yang masuk belum tentu akurat karena pada saat proses
pengecekan
kelengkapan
berkas
kadang
terjadi
kesalahan data-data yang ada belum lengkap. 2. Informasi sulit untuk diproduksi, karena seperti penjelasan diatas yaitu masih ada beberapa informasi yang belum tentu akurat. 3. Informasi yang disimpan masih menggunakan kertas, sehingga memakan tempat dan waktu pada saat pencarian informasi yang dibutuhkan.
3.5.3
Economics Masalah yang terkait dengan economics adalah : 1. Pada bagian ini dideskripsikan situasi saat ini tentang biaya yang
dikeluarkan
untuk
memproduksi
informasi,
dan
mengambil keputusan tidak diketahui jumlahnya dan pos pembiayaannya. Selain itu juga dideskripsikan penyebab biaya tidak diketahui, dan dampak yang ditimbulkan ketika hal tersebut terjadi.
42
3.5.4
Control Masalah yang terkait dengan control adalah : 1. Tidak adanya keamanan data, sehingga disini data dapat dilihat oleh semua pihak. 2. Kadang terjadi kesalahan pada saat proses penyeleksian dikarenakan terlalu banyaknya data yang masuk.
3.5.5
Efficiency Masalah yang terkait dengan efficiency adalah : 1. Masalah waktu yang digunakan pada saat proses penyeleksian dan juga pembuatan laporan yang dibutuhkan. 2. Masalah tempat penyimpanan data yang ada sekarang.
3.5.6
Service Masalah yang terkait dengan service adalah : 1. Hasil perhitungan yang tidak akurat dan tidak konsisten.
3.6 Kriteria yang digunakan untuk menentukan penerima Beasiswa Kriteria-kriteria yang digunakan untuk penyeleksian penerima Beasiswa ini yaitu : 1. Nilai IPK, didapatkan dari nilai IPK mahasiswa yang terdapat di transkrip nilai terakhir. Kriterianya adalah :
43
Tabel 3.1 Bobot Nilai IPK Kriteria
Nilai
2.75 s/d 3.00
1
3.01 s/d 3.25
2
3.26 s/d 3.5
3
3.51 s/d 3.75
4
3.76 s/d 4.00
5
2. Semester, merupakan semester yang sedang ditempuh oleh mahasiswa sekarang. Kriterianya adalah : Tabel 3.2 Bobot Semester Kriteria
Nilai
3
5
4
4
5
3
6
2
>7
1
3. Penghasilan Orangtua, berupa fotocopy slip gaji selama tiga bulan terakhir milik orangtua . Kriterianya adalah : Tabel 3.3 Bobot Penghasilan Orangtua Kriteria
Nilai
0 s/d 1 Jt
5
1 Jt s/d 2 Jt
4
2 Jt s/d 3 Jt
3
3 Jt s/d 4 Jt
2
>= 4Jt
1
44
4. Pengeluaran Orangtua, berupa fotocopy rekening listrik, air, dan telepon selama tiga bulan terakhir milik orangtua. Kriterianya adalah : Tabel 3.4 Bobot Pengeluaran Orangtua Kriteria
Nilai
0 s/d 500 Rb
1
500 Rb s/d 1 Jt
2
1 Jt s/d 1,5 Jt
3
1,5 Jt s/d 2 Jt
4
>= 2Jt
5
5. Tanggungan Anak, adalah jumlah saudara kandung yang dimiliki mahasiswa. Tabel 3.5 Bobot Tanggungan Anak Kriteria
Nilai
1
1
2
2
3
3
4
4
>5
5
3.7 Contoh Kasus Penerimaan Beasiswa Kriteria profil penerima yang digunakan untuk seleksi penerimaan beasiswa pada tahun 2013 adalah sebagai berikut :
45
Tabel 3.6 Kriteria Profil Penerimaan Beasiswa Tahun 2013 Nama Kriteria
Nilai Profil
Keterangan
Nilai IPK
5
CF
Semester
5
SF
Penghasilan Orangtua
4
CF
Pengeluaran Orangtua
3
CF
Tanggungan Anak
2
SF
Dengan keterangan bobot CF adalah 60% dan bobot SF adalah 40% yaitu : Tabel 3.7 Pendaftar Beasiswa untuk periode 2013 No Kode_Pengajuan IPK Semester Penghasilan Pengeluaran Tanggungan 1 2013/00001
3.2
8
2.300.000
1.700.000
3
2 2013/00002
3.6
3
2.800.000
1.200.000
1
3 2013/00003
3.4
6
1.500.000
1.250.000
4
Maka Proses Perhitungannya adalah sebagai berikut : 1. Perhitungan Gap Gap = Profil Mahasiswa – Profil Penerima Beasiswa Tabel 3.8 Perhitungan Gap No
Kode
IPK
Semester
1 2013/00001
2
1
3
4
3
2 2013/00002
4
5
3
3
1
3 2013/00003
3
2
4
3
4
5
5
4
3
2
-3
-4
-1
1
1
Pengajuan
Profile Jabatan 1 2013/00001
Penghasilan Pengeluaran Tanggungan
46
2 2013/00002
-1
0
-1
0
-1
3 2013/00003
-2
-3
0
0
2
2. Perhitungan Hasil Bobot Nilai Gap Tabel 3.9 Perhitungan Hasil Bobot Nilai Gap
No
Kode
IPK
Semester
1 2013/00001
-3
-4
-1
1
1
2 2013/00002
-1
0
-1
0
-1
3 2013/00003
-2
-3
0
0
2
Pengajuan
Penghasilan Pengeluaran Tanggungan
Keterangan Bobot Nilai Gap 1 2013/00001
2
1
4
4.5
4.5
2 2013/00002
4
5
4
5
4
3 2013/00003
3.5
2
5
5
3.5
1. Perhitungan Core Factor Core Factor yang digunakan adalah nilai IPK, penghasilan, dan pengeluaran. Tabel 3.10 Perhitungan Core Factor Kode No
Pengajuan
IPK
Semester
Penghasilan Pengeluaran Tanggungan CF
1 2013/00001
2
1
4
4.5
4.5
3.5
2 2013/00002
4
5
4
5
4
4.3
3 2013/00003
3.5
2
5
5
3.5
4.5
47
2. Perhitungan Secondary Factor Secondary Factor yang digunakan adalah nilai Semester dan Tanggungan. Tabel 3.11 Perhitungan Secondary Factor
Kode No
Pengajuan
IPK
Semester
Penghasilan Pengeluaran Tanggungan
SF
1 2013/00001
2
1
4
4.5
4.5
2.75
2 2013/00002
4
5
4
5
4
4.5
3 2013/00003
3.5
2
5
5
3.5
2.75
3. Perhitungan Nilai Total Nilai total didapat dari (60% * Nilai CF) + (40% * Nilai SF) Tabel 3.12 Perhitungan Nilai Total
Kode No Pengajuan CF
SF
Total Nilai
1 2013/00001 3.5 2.75
3.35
2 2013/00002 4.3
4.5
4.38
3 2013/00003 4.5 2.75
3.8
1. Perhitungan Penentuan Ranking Hasil akhir bisa ditentukan peringkat atau ranking dari kandidat berdasarkan pada semakin besarnya nilai hasil akhir sehingga semakin besar kesempatan untuk mendapatkan beasiswa yang mana pada contoh kasus ini adalah mahasiswa dengan kode pengajuan 2013/00002.
BAB IV PERANCANGAN SISTEM
4.1 Prosedur Flowmap Usulan Pemberian Beasiswa Dibawah ini adalah Prosedur flowmap usulan prosedur pemberian beasiswa sebagai berikut : 1.
Mahasiswa mengajukan proposal dan persyaratan dana bantuan pendidikan kepada bagian umum dinas pendidikan Kab.Bintan
2.
Bagian Umum Dinas Pendidikan Kab.Bintan menyeleksi persyaratan administrasi pengajuan dana bantuan pendidikan
3.
Jika terdapat persyaratan yang tidak lengkap, maka proposal dan persyaratan tersebut tidak dilanjutkan ke proses perhitungan selanjutnya diarsipkan.
4.
Sedangkan proposal dan persyaratan yang lengkap diinput datannya kedalam database untuk selanjutnya dilakukan proses perhitungan seleksi.
5.
Perhitungan seleksi penerima bantuan dana pendidikan dilakukan dengan menggunakan metode profile matching.
6.
Hasil seleksi penerimaan bantuan dana pendidikan selanjutnya disimpan kedalam database kembali yang kemudian dibuatkan laporan penerima bantuan dana pendidikan.
7.
Laporan penerima bantuan dana pendidikan tersebut serta proposal pengajuan diserahkan kepada tim seleksi untuk diperiksa lebih lanjut dan dimintai persetujuan.
48
49
8.
Jika tim seleksi setuju maka laporan penerima bantuan dana pendidikan diserahkan kepada kepala Dinas Pendidikan Kab.Bintan.
9.
Oleh kepala Dinas Pendidikan Kab.Bintan melakukan persetujuan, selanjutnya oleh bagian umum dibuatkan pengumuman penerima bantuan dana pendidikan.
10. Laporan penerima bantuan dana pendidikan selanjutnya diarsipkan oleh bagian umum. Untuk lebih jelasnya prosedur pemberian beasiswa dapat dilihat pada gambar flowmap berikut ini :
50
Gambar 4.1 Flowmap Usulan Penerimaan Beasiswa
51
4.2 Flowchart
start
Masukkan Data Proposal
Masukkan Kriteria Tahunan
c Seleksi Penerima Beasiswa dengan Profile Matching
Tampilkan Laporan hasil Perhitungan
end
Gambar 4.2 Flowchart 4.3 Diagram Konteks Diagram konteks adalah diagram yang menggambarkan Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa Menggunakan
52
Metode Profile Matching (Studi Kasus Pada Dinas Pendidikan Kab.Bintan) secara keseluruhan dengan entitas-entitas yang terlibat didalamnya. Berikut ini adalah diagram konteks yang dapat dilihat pada gambar 4.2 dibawah ini:
Gambar 4.3 Rancangan Diagram Konteks
4.4 Data Flow Diagram Diagram DFD level 0 di bawah ini adalah diagram sistem usulan yang menceritakan aliran data dalam Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa Menggunakan Metode Profile Matching secara terkomputerisasi.
53
Kepala Dinas Pendidikan Kab. Bintan
Mahasiswa
Kriteria Seleksi
1.0 Pengolahan Data Kriteria
Data Pengajuan
Data Pengajuan
Kriteria Seleksi
proposal
kriteria
2.0 Pengolahan Data Proposal
Data Pengajuan
Kriteria Seleksi 3.0 Seleksi Penerima Beasiswa Laporan Penerima Beasiswa
5.0 Cetak Laporan Penerima
Hasil Seleksi
Hasil Seleksi Hasil_seleksi
Hasil Seleksi
4.0 Cetak Pengumuman Penerima
Gambar 4.4 Data Flow Diagram Level 0
Gambar 4.5 Data Flow Diagram Level 1 Proses 1
Pengumuman Penerimaan Beasiswa
54
Gambar 4.6 Data Flow Diagram Level 1 Proses 2
Gambar 4.7 Data Flow Diagram Level 1 Proses 3
55
4.5 Entity Relationship Diagram (ERD) Entity relationship diagram (ERD) atau Diagram antar entitas adalah suatu diagram yang menggambarkan hubungan objek data yang disimpan yang ada dalam suatu sistem secara konseptual. Objek data adalah objek yang dapat dicatat atau direkam atau segala sesuatu yang ada dan dapat dibedakan entitas dapat berupa orang, benda, tempat, peristiwa atau konsep yang bisa diolah untuk menghasilkan informasi, rancangan, diagram entitas ini dibuat menurut data yang ada sehingga dapat menjalaskan hubungan-hubungan data Entity Relationship Diagram juga dapat didefinisikan sebagai suatu skema yang merupakan metode yang dipakai untuk penjabaran suatu sistematika database dari suatu sistem tertentu sehingga hubungan atau relasi antar tabel yang ada didalamnya dapat diketahui secara jelas. Untuk melakukan penyimpanan data digunakan beberapa tabel, dibawah ini merupakan relasi atau hubungan yang terjadi antar tabel yang ada. .
Gambar 4.8 Entity Relationship Diagram
56
4.6 Perancangan Struktur File Didalam pembuatan program dibutuhkan suatu spesifikasi file yang dimaksudkan untuk dapat melakukan kegiatan-kegiatan dalam pengaturan dan pencarian data dan pembuatan laporan yang dapat mempermudah kerja sistem komputer. Untuk itu sistem pengolahan data ini membutuhkan spesifikasi file untuk mempermudah dalam melakukan pemrograman, yang dapat dilihat dari tabel-tabel berikut ini : Nama Tabel
:
Proposal
Primary Key
:
Kode_peserta Tabel 4.1 Struktur file proposal
No
Nama Field
Tipe Data
Size
1
Kode_Peserta
Text
10
2
Tahun_Pengajuan
Text
4
3
Tgl_Pengajuan
Date/Time
-
4
No_Identitas
Text
15
5
Nama
Text
30
6
Alamat
Text
30
7
No_Telp
Text
15
8
Universitas
Text
20
9
Semester
Number
-
10
IPK
Number
-
11
Penghasilan_Orangtua
Currency
-
12
Pengeluaran_Orangtua
Currency
-
57
Nama Tabel
:
kriteria
Primary Key
:
kode_bobot Tabel 4.2 Struktur file kriteria
No
Nama Field
Tipe Data
Size
1
Kode_bobot
Text
20
2
Tahun_Pengajuan
Text
4
3
Nilai_Min
Number
-
4
Nilai_Max
Number
-
5
Nilai
Number
-
Nama Tabel
:
hasil_seleksi
Primary Key
:
kode_peserta Tabel 4.3 Struktur file data_seleksi
No
Nama Field
Tipe Data
Size
1
Kode_Peserta
Text
10
2
Tahun_Pengajuan
Text
4
3
Tgl_Pengajuan
Date/Time
-
4
No_Identitas
Text
15
5
Nama
Text
30
6
Nilai_Semester
Number
-
7
Nilai_IPK
Number
-
8
Nilai_Penghasilan_Orangtua
Number
-
9
Nilai_Pengeluaran_Orangtua
Number
-
10
Total_Nilai
Number
-
11
Status
Text
20
58
4.7 Perancangan Struktur Program Struktur program adalah suatu konsep pembuatan yang mempunyai fungsi untuk mengelompokkan instruksi ke dalam sub program fungsional dimana setiap sub program tersebut memiliki tugas dan fungsi tertentu yang digunakan untuk mendukung dari keseluruhan program yang dibuat. Struktur program yang dibuat adalah sebagai berikut :
Gambar 4.9 Struktur Program Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa
4.8 Perancangan Struktur Menu Struktur menu merupakan bentuk umum dalam suatu perancangan aplikasi yang dapat memudahkan pengguna dalam menggunakan sistem yang dibangun. Dengan adanya struktur menu ini, maka prosess pengolahan data diharapkan lebih cepat dilakukan, sehingga keterlambatan dalam penyajian data dapat ditekan seminimal mungkin. Struktur menu yang dibuatkan dalam sistem ini terdiri dari menu-menu dan sub menunya. Dapat dilihat dari gambar berikut :
59
Menu Utama
Master
Seleksi
Data Proposal
Laporan
Laporan Hasil Seleksi
Kriteria Beasiswa
Gambar 4.10 Struktur Menu Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa
4.9 Rancangan Input
Gambar 4.11 Rancangan Input Form Data Proposal
60
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Clear
Save
Exit
Gambar 4.12 Rancangan Input Form Data Kriteria
Kriteria Tahun Jumlah Peserta Jumlah Diterima
Gambar 4.13 Rancangan Proses Seleksi
61
4.10
Rancangan Output
Gambar 4.14 Rancangan Laporan Penerima Beasiswa
BAB V IMPLEMENTASI SISTEM
Aplikasi setelah dianalisa dan dirancang, maka aplikasi tersebut siap diterapkan atau diimplementasikan. Tahap implementasi aplikasi ini merupakan tahap meletakkan perancangan aplikasi kedalam bentuk bahasa pemrograman juga implementasi aplikasi dalam instansi atau perusahaan dan dioperasikan secepat mungkin. Dalam rencana implementasi aplikasi ada empat landasan yang akan dikemukakan, yaitu : 1.
Penjadwalan waktu kegiatan yang dilakukan dalam pembangunan aplikasi.
2.
Mengalokasikan
sumber-sumber
dan
keahlian
yang
diperlukan
pelaksanaan kegiatan. 3.
Menentukan waktu pelaksanaan untuk setiap kegiatan.
4.
Menentukan urutan pelaksanaan kegiatan yang telah diidentifikasikan.
Kegiatan
implementasi
ini
meliputi
kebutuhan
perangkat
lunak
(Implementasi Procedural), perangkat keras, pemilihan bahasa pemrograman yang sesuai, pemrograman dan pengujian aplikasi yang telah dirancang sesuai dengan kebutuhan instansi atau perusahaan.
62
63
Konsep siklus hidup mempunyai implikasi bahwa setiap proyek pengembangan sistem harus dibagi dalam tahap-tahap berbeda dengan titik pengendalian manajemen yang formal diletakkan diantara tahap-tahap. Prinsip pengendalian dasar adalah setiap tahap harus menghasilkan dokumentasi secara formal ditelaah dan disetujui sebelum memulai tahap berikutnya dari siklus hidup proyek.
5.1 Kebutuhan Perangkat Lunak Pada sub bagian ini akan dijelaskan uraian tentang tahapan inplementasi dari aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa menggunakan metode Profile Matching. Aplikasi ini dikembangkan dan diimplementasikan dengan bahasa pemrograman visual yang menggunakan tools kompilator Borland Delphi 7.0 dengan database Microsoft Access.
5.2 Kebutuhan Perangkat Keras Kebutuhan perangkat keras yang dibutuhkan untuk membangun aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa menggunakan metode Profile Matching ini sesuai dengan rekomendasi minimum yang diberikan Delphi sebagai berikut : 1. Computer Intel {R} CORE {TM}2 Duo CPU T6400 @ 2.00 GHz 1.99 GHz, 956 MB of RAM Physical Address Extension. 2. Hardisk terpasang 250 GB.
64
3. Memory terpasang 1 GB. 4. Mouse dan Keyboard. 5. Layar Monitor. 6. Printer.
5.3 Teknik Pemrograman Aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa menggunakan metode Profile Matching dikembangkan dan diimplementasi dengan bahasa Pemrograman Visual yang menggunakan Borland Delphi 7.0 Penulis berupaya mewujudkan rancangan aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa dengan menggunakan bahasa pemrograman Borland Delphi 7.0 dengan segala fasilitas yang ada pada Borland Delphi serta tool tambahan yang menurut penulis dapat memenuhi rancangan yang telah disusun. Pemilihan Borland Delphi 7.0 sebagai sarana untuk pengembangan data implementasi aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa menggunakan metode Profile Matching dengan alasan sebagai berikut: 1. Borland Delphi 7.0 mempunyai desain yang user friendly terhadap para programmer yang beginner. 2. Memiliki kecepatan kompilasi yang cepat. 3. Mempunyai komponen yang sangat komplek untuk pembuatan software aplikasi sampai database. 4. Mempunyai aplikasi plugin database bawaan.
65
5. Sangat mudah untuk membuat koneksi ke berbagai aplikasi database, misalnya BDE, Access, MySQL, SQL Server, Oracle, dan database lainnya.
5.4 Kegiatan Implementasi Kegiatan implementasi ini antara lain: 1.
Pemrograman Pemrograman merupakan kegiatan yang sangat menunjang terselenggaranya sistem yang baru karena program yang baik dan struktur dapat menghasilkan suatu informasi sesuai kebutuhan. Sebelum program diterapkan maka program harus diuji coba dulu agar dapat meminimalkan kesalahan-kesalahan yang mungkin terjadi. Pengujian
program dapat dilakukan untuk setiap modul program
(Program Utama, Sub Rutin, Sub Program) yang dilanjutkan dengan pengujian semua modul untuk meyakinkan semua modul sudah terintegrasi tanpa kesalahan. 2.
Pengujian Aplikasi Pengujian aplikasi ini dilakukan untuk memeriksa kekompakan antar komponen aplikasi dengan tujuan utamanya adalah untuk memastikan elemen-elemen aplikasi berfungsi sesuai dengan yang diharapkan.
66
3.
Pengujian Sistem Pengujian sistem yang dilakukan untuk memeriksa kekompakan antar komponen sistem, dengan tujuan utamanya adalah untuk memastikan elemen-elemen sistem yang berfungsi sesuai dengan yang diharapkan. Pengujian sistem termasuk juga pengujian program secara menyeluruh. Kumpulan program dapat menerima dengan baik, memproses dan memberikan hasil keluaran program yang baik juga.
Tabel 5.1 Pelaksanaan Pengujian Perangkat Lunak Berdasarkan Kebutuhan Perangkat Lunak No
Deskripsi Kebutuhan
1.
Menguji
Cara Pengujian
Hasil Yang Diharapkan
Ket
Mengetikan data
Data parameter calon
OK
penambahan data
peserta
peserta pengajuan
pengajuan proposal
pengajuan
beasiswa yang telah
beasiswa
dimasukan tersimpan
kemudian klik
kedalam tabel proposal
tombol simpan
dan muncul messagebox data tersimpan
2.
Mengubah kriteria
Memilih kriteria
beasiswa
yang akan diubah terubah lalu mengubah nilainya dan
Data kriteria beasiswa
OK
67
menekan tombol simpan 3.
Melakukan seleksi
proses Menekan tombol Muncul seleksi di form proses seleksi
messagebox seleksi
1
berhasil dan laporan hasil muncul
seleksi
akan
OK
BAB VI PENUTUP
Kesimpulan merupakan ringkasan yang diambil dari pembahasan terhadap perancangan perangkat lunak yang dibuat sedangkan saran diberikan untuk penggunaan aplikasi yang merupakan hasil perancangan yang dapat menjadi bahan referensi untuk meningkatkan kinerja pada aplikasi sistem pendukung keputusan untuk menentukan penerima beasiswa menggunakan metode Profile Matching.
6.1 Kesimpulan Setelah merancang dan membuat Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa Menggunakan Metode Profile Matching penulis dapat menyimpulkan bahwa: 1. Mempermudah proses penyeleksian penerima beasiswa dengan metode Profile Matching khususnya pada Pemerintah Kota Tanjungpinang. 2. Dengan penyeleksian penerima beasiswa secara terkomputerisasi hasil yang diperoleh akan lebih akurat. 3. Terjadinya kesalahan dalam menentukan mahasiswa penerima beasiswa dapat diminimalisir. 4. Membantu pembuatan laporan yang menyatakan hasil perhitungan metode Profile Matching.
68
69
6.2 Saran Setelah melakukan tugas akhir baik dalam hal penelitian dan pengerjaan pembuatan Aplikasi Sistem Pendukung Keputusan Untuk Menentukan Penerima Beasiswa Menggunakan Metode Profile Matching terdapat beberapa saran yaitu: 1. Agar dapat melakukan pemeliharaan sistem secara berkala. 2. Melakukan evaluasi tingkat keberhasilan dari aplikasi tersebut secara periodik untuk menganalisa kelebihan dan kekurangannya dan melakukan perbaikan. 3. Diharapkan aplikasi ini dapat dikembangkan terus sesuai dengan kebutuhan user.
DAFTAR PUSTAKA Nugroho, Adi. Analisis Perancangan Sistem Informasi dengan Metodologi Berorientasi Objek, 2004, Hal 125. Al fatta, Hanif. Analisis dan Perancangan Sistem Informasi untuk Keunggulan Bersaing Perusahaan & Organisasi Modern, 2007, hal 3. Hartono,Jogiyanto, Pengenalan Komputer, [Andi Yogyakarta, 1999], hal 683 Kusrini, M.kom. Konsep dan Aplikasi Sistem Pendukung Keputusan, Penerbit Andi 2002, hal. 15-16 http://id.wikipedia.org/wiki/Beasiswa http://febriani.staff.gunadarma.ac.id. 18 Juli 2011
LAMPIRAN
WAWANCARA Sumber : Bapak Sapto Tanggal : 22 September 2013
Lama Wawancara : 15 Menit Tempat : Kantor Disdik Bintan
Isi wawancara : No 1
Pertanyaan Apakah pemberian beasiswa di Kabupaten Bintan terbuka atau tertutup serta apa saja syarat-syarat pengajuan beasiswa?
2
Apakah pemberian beasiswa diberikan pada setiap tahun? Bagaimanakah kriteria siswa yang bisa mendapatkan beasiswa dari Pemerintah Kabupaten Bintan? Apakah pemberian beasiswa menggunakan sistem dalam perekrutannya atau masih menggunakan cara yang manual dengan mengelompokkan dalam kriteria-kriteria tertentu? Bagaimana proses penerimaan beasiswa?
3
4
5
6
Jawaban Pemberian beasiswa di Kabupaten Bintan secara terbuka, adapun syarat-syarat pengajuan beasiswa seperti bukti prestasi seperti IPK sesuai KHS atau nilai rata-rata Raport, sedangkan untuk yang kurang mampu dibuktikan dengan Surat Keterangan Miskin atau Daftar Gaji perbulan dari keluarga yang bersangkutan. Pemerintah Kabupaten Bintan memberikan beasiswa pada setiap tahunnya kepada siswa dengan berbagai kriteria. Kami memberikan beasiswa dengan berbagai kriteria diantaranya kepada siswa yang berprestasi dan siswa yang tidak mampu / miskin Iya, pemberian beasiswa di Kabupaten masih menggunakan cara yang manual didalam penentuan pemberian beasiswanya.
Calon penerimaan beasiswa memberikan proposal pengajuan beasiswa kepada Kasubag, lalu Kasubag memintah pengesahan Kepala Dinas untuk disahkan setelah itu bagian Sekretariat atau Tim Seleksi menjalankan instruksi dari Kepala Dinas dan Kasubag mencatat laporan proposal untuk diarsipkan Bagaimana proses Proses penerimaan beasiswa dicatat pencetakan laporannya? Kasubag kemudian dirangkap lalu diserahkan kepada bagian Sekretariat atau Tim Seleksi untuk diarsipkan
LOGIN
MENU UTAMA
DATA KRITERIA
DATA PESERTA
SELEKSI PESERTA
LAPORAN PESERTA
LAPORAN HASIL SELEKSI
program BeasiswaPM; uses Forms, UnitKriteria in 'UnitKriteria.pas' {FormKriteria}, Unitmodule in 'Unitmodule.pas' {dmBeasiswa: TDataModule}, UnitPeserta in 'UnitPeserta.pas' {FormPeserta}, UnitMenu in 'UnitMenu.pas' {FormMenu}, UnitSeleksi in 'UnitSeleksi.pas' {FormSeleksi}, UnitHasilSeleksi in 'UnitHasilSeleksi.pas' {FormHasilSeleksi}, UnitRepHasil in 'UnitRepHasil.pas' {FormLapHasil}, UnitRepPeserta in 'UnitRepPeserta.pas' {FormLapPeserta}, UnitCetakPeserta in 'UnitCetakPeserta.pas' {FormCetakPeserta}, UnitLogin in 'UnitLogin.pas' {FormLogin}; {$R *.res} begin Application.Initialize; Application.CreateForm(TFormLogin, FormLogin); Application.CreateForm(TFormMenu, FormMenu); Application.CreateForm(TFormKriteria, FormKriteria); Application.CreateForm(TFormPeserta, FormPeserta); Application.CreateForm(TdmBeasiswa, dmBeasiswa); Application.CreateForm(TFormSeleksi, FormSeleksi); Application.CreateForm(TFormHasilSeleksi, FormHasilSeleksi); Application.CreateForm(TFormLapHasil, FormLapHasil); Application.CreateForm(TFormLapPeserta, FormLapPeserta); Application.CreateForm(TFormCetakPeserta, FormCetakPeserta); Application.Run; end.
LOGIN : unit UnitLogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFormLogin = class(TForm) Label1: TLabel; Label2: TLabel; edUser: TEdit; edPass: TEdit;
MUHAMMAD HAFIZ 1209011
1
btnLogin: TButton; Button1: TButton; procedure btnLoginClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure edUserKeyPress(Sender: TObject; var Key: Char); procedure edPassKeyPress(Sender: TObject; var Key: Char); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormLogin: TFormLogin; implementation uses UnitMenu; {$R *.dfm} procedure TFormLogin.btnLoginClick(Sender: TObject); begin if edUser.Text='' then begin MessageDlg('Masukkan username',mtError,[mbOK],0); edUser.SetFocus; end else if edPass.Text='' then begin MessageDlg('Masukkan Password',mtError,[mbOK],0); edPass.SetFocus; end else if (eduser.Text<>'admin')or(edPass.Text<>'1234')then begin MessageDlg('Username/Password Salah',mtError,[mbOK],0); edUser.SetFocus; end else begin MessageDlg('Login berhasil',mtInformation,[mbOK],0); FormMenu.ShowModal; end; end; procedure TFormLogin.FormActivate(Sender: TObject); begin edUser.Text:=''; edPass.Text:='';
MUHAMMAD HAFIZ 1209011
2
edUser.SetFocus; end; procedure TFormLogin.edUserKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then edPass.SetFocus; end; procedure TFormLogin.edPassKeyPress(Sender: TObject; var Key: Char); begin if key=#13 then btnLoginClick(sender); end; procedure TFormLogin.Button1Click(Sender: TObject); begin close; end; end. unit Unitmodule; interface uses SysUtils, Classes, DB, ADODB; type TdmBeasiswa = class(TDataModule) ADOConnection1: TADOConnection; QKriteria: TADOQuery; QPeserta: TADOQuery; dsPeserta: TDataSource; QHasil: TADOQuery; dsHasil: TDataSource; QHasilkode_pengajuan: TWideStringField; QHasiltahun_pengajuan: TWideStringField; QHasilno_identitas: TWideStringField; QHasilnama: TWideStringField; QHasiluniversitas: TWideStringField; QHasilnilai_ipk: TIntegerField; QHasilnilai_semester: TIntegerField; QHasilnilai_penghasilan: TIntegerField; QHasilnilai_pengeluaran: TIntegerField; QHasilnilai_tanggungan: TIntegerField; QHasiltotal_nilai: TFloatField; QPesertakode_pengajuan: TWideStringField; QPesertatahun_pengajuan: TWideStringField; QPesertatgl_pengajuan: TDateTimeField; QPesertano_identitas: TWideStringField; QPesertanama: TWideStringField;
MUHAMMAD HAFIZ 1209011
3
QPesertaalamat: TWideStringField; QPesertano_telp: TWideStringField; QPesertauniversitas: TWideStringField; QPesertasemester: TIntegerField; QPesertaipk: TFloatField; QPesertapenghasilan_orangtua: TIntegerField; QPesertapengeluaran_orangtua: TIntegerField; QPesertatanggungan_anak: TIntegerField; QHasilketerangan: TWideStringField; private { Private declarations } public { Public declarations } end; var dmBeasiswa: TdmBeasiswa; implementation {$R *.dfm} end.
MENU : unit UnitMenu; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, jpeg, ExtCtrls, StdCtrls; type TFormMenu = class(TForm) MainMenu1: TMainMenu; DataKriteria1: TMenuItem; DataPeserta1: TMenuItem; SeleksiPeserta1: TMenuItem; Laporan1: TMenuItem; DataPeserta2: TMenuItem; HasilSeleksi1: TMenuItem; Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel;
MUHAMMAD HAFIZ 1209011
4
Timer1: TTimer; procedure DataKriteria1Click(Sender: TObject); procedure DataPeserta1Click(Sender: TObject); procedure SeleksiPeserta1Click(Sender: TObject); procedure HasilSeleksi1Click(Sender: TObject); procedure DataPeserta2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var FormMenu: TFormMenu; implementation uses UnitKriteria, Unitmodule, UnitPeserta, UnitSeleksi, UnitHasilSeleksi, UnitCetakPeserta, DateUtils, UnitLogin; {$R *.dfm} procedure TFormMenu.DataKriteria1Click(Sender: TObject); begin FormKriteria.ShowModal; end; procedure TFormMenu.DataPeserta1Click(Sender: TObject); begin FormPeserta.ShowModal; end; procedure TFormMenu.SeleksiPeserta1Click(Sender: TObject); begin FormSeleksi.ShowModal; end; procedure TFormMenu.HasilSeleksi1Click(Sender: TObject); begin FormHasilSeleksi.ShowModal; end; procedure TFormMenu.DataPeserta2Click(Sender: TObject); begin FormCetakPeserta.ShowModal; end;
MUHAMMAD HAFIZ 1209011
5
procedure TFormMenu.Timer1Timer(Sender: TObject); var jam:TTime; begin jam:=TimeOf(now); LABEL6.Caption:=FormatDateTime('HH:mm:ss',jam); end; procedure TFormMenu.FormActivate(Sender: TObject); var tgl,jam:TDateTime; begin tgl:=DateOf(now); jam:=DateOf(now); Label5.Caption:=FormatDateTime('dd MMMM yyyy',tgl); Label6.Caption:=FormatDateTime('HH:mm:ss',jam); end; procedure TFormMenu.FormClose(Sender: TObject; var Action: TCloseAction); begin FormLogin.Show; end; end.
DATA KRITERIA : unit UnitKriteria; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TFormKriteria = class(TForm) Label1: TLabel; cbTahun: TComboBox; Label3: TLabel; Label4: TLabel; editCF: TEdit; editSF: TEdit; Label2: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; cbKetIPK: TComboBox; cbKetSemester: TComboBox;
MUHAMMAD HAFIZ 1209011
6
cbKetPenghasilan: TComboBox; cbKetPengeluaran: TComboBox; cbKetTanggungan: TComboBox; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; cbNilaiIPK: TComboBox; cbNilaiSemester: TComboBox; cbNilaiPenghasilan: TComboBox; cbNilaiPengeluaran: TComboBox; cbNilaiTanggungan: TComboBox; Label15: TLabel; Shape7: TShape; Label22: TLabel; Shape8: TShape; Label23: TLabel; Shape9: TShape; Label24: TLabel; Shape10: TShape; Label25: TLabel; Label26: TLabel; Shape11: TShape; Label27: TLabel; Shape12: TShape; Shape13: TShape; Label28: TLabel; Label29: TLabel; Shape14: TShape; Label30: TLabel; Shape15: TShape; Label31: TLabel; Label32: TLabel; Shape4: TShape; Label19: TLabel; Label20: TLabel; Shape5: TShape; Label21: TLabel; Shape6: TShape; Label33: TLabel; Label34: TLabel; Shape16: TShape; Label35: TLabel; Label36: TLabel; Shape17: TShape; Label37: TLabel; Shape18: TShape; Label38: TLabel; Label39: TLabel;
MUHAMMAD HAFIZ 1209011
7
Shape19: TShape; Label40: TLabel; Shape20: TShape; Label41: TLabel; Shape21: TShape; Label42: TLabel; Label43: TLabel; Shape23: TShape; Label45: TLabel; Shape24: TShape; Label46: TLabel; Shape26: TShape; Label48: TLabel; Shape27: TShape; Label49: TLabel; Label51: TLabel; Shape29: TShape; Label52: TLabel; Shape30: TShape; Label54: TLabel; Shape32: TShape; Label55: TLabel; Shape33: TShape; Label56: TLabel; Label57: TLabel; Shape41: TShape; Label69: TLabel; Shape42: TShape; Label70: TLabel; Label58: TLabel; Shape34: TShape; Label59: TLabel; Shape36: TShape; Label61: TLabel; Shape37: TShape; Label62: TLabel; Shape39: TShape; Label64: TLabel; Shape43: TShape; Label65: TLabel; Label67: TLabel; Shape45: TShape; Shape46: TShape; Label71: TLabel; Label73: TLabel; Shape48: TShape; Label75: TLabel; Shape49: TShape; Label76: TLabel; Label78: TLabel;
MUHAMMAD HAFIZ 1209011
8
Shape51: TShape; Label80: TLabel; Shape55: TShape; Label86: TLabel; Shape57: TShape; Label88: TLabel; Shape35: TShape; Label60: TLabel; Label63: TLabel; Shape38: TShape; Shape44: TShape; Label66: TLabel; Label72: TLabel; Shape47: TShape; Shape50: TShape; Label74: TLabel; Shape53: TShape; Label77: TLabel; Label82: TLabel; Shape58: TShape; Label84: TLabel; Shape59: TShape; Label87: TLabel; Shape60: TShape; Label89: TLabel; Shape61: TShape; Label90: TLabel; Shape62: TShape; Label91: TLabel; Label92: TLabel; Shape63: TShape; Shape64: TShape; Label93: TLabel; Label94: TLabel; Shape65: TShape; Label95: TLabel; Shape70: TShape; Label102: TLabel; Shape71: TShape; Label103: TLabel; Shape72: TShape; Label104: TLabel; Label105: TLabel; Shape73: TShape; Shape74: TShape; Label106: TLabel; Label107: TLabel; Shape75: TShape; Shape76: TShape; Label108: TLabel;
MUHAMMAD HAFIZ 1209011
9
Label96: TLabel; Shape67: TShape; Label98: TLabel; Shape68: TShape; Label99: TLabel; Shape77: TShape; Label101: TLabel; Shape78: TShape; Label109: TLabel; Label111: TLabel; Shape80: TShape; Label112: TLabel; Shape81: TShape; Label114: TLabel; Shape83: TShape; Label115: TLabel; Shape84: TShape; Shape86: TShape; Label119: TLabel; Shape87: TShape; Label120: TLabel; btnExit: TButton; btnSave: TButton; Panel1: TPanel; Shape1: TShape; Label16: TLabel; Label17: TLabel; Shape2: TShape; Label18: TLabel; Shape3: TShape; Label79: TLabel; Shape52: TShape; Shape54: TShape; Label81: TLabel; Label83: TLabel; Label44: TLabel; Shape22: TShape; Label47: TLabel; Shape25: TShape; Label50: TLabel; Label53: TLabel; procedure cbTahunChange(Sender: TObject); procedure editCFChange(Sender: TObject); procedure FormActivate(Sender: TObject); procedure btnSaveClick(Sender: TObject); procedure btnExitClick(Sender: TObject); private { Private declarations } public { Public declarations }
MUHAMMAD HAFIZ 1209011
10
end; var FormKriteria: TFormKriteria; implementation uses Unitmodule, ADODB, DateUtils, DB; {$R *.dfm} procedure TFormKriteria.cbTahunChange(Sender: TObject); begin with dmBeasiswa.QKriteria do begin editCF.Text:=''; editSF.Text:=''; cbKetIPK.Text:=''; cbKetSemester.Text:=''; cbKetPenghasilan.Text:=''; cbKetPengeluaran.Text:=''; cbKetTanggungan.Text:=''; cbNilaiIPK.Text:=''; cbNilaiSemester.Text:=''; cbNilaiPenghasilan.Text:=''; cbNilaiPengeluaran.Text:=''; cbNilaiTanggungan.Text:=''; if Locate('tahun',cbTahun.Text,[])then begin editCF.Text:=FieldValues['bobot_CF']; editSF.Text:=FieldValues['bobot_SF']; cbKetIPK.Text:=FieldValues['ket_IPK']; cbKetSemester.Text:=FieldValues['ket_Sem']; cbKetPenghasilan.Text:=FieldValues['ket_Penghasilan']; cbKetPengeluaran.Text:=FieldValues['ket_Pengeluaran']; cbKetTanggungan.Text:=FieldValues['ket_Tanggungan']; cbNilaiIPK.Text:=FieldValues['profil_IPK']; cbNilaiSemester.Text:=FieldValues['profil_Sem']; cbNilaiPenghasilan.Text:=FieldValues['profil_Penghasilan']; cbNilaiPengeluaran.Text:=FieldValues['profil_Pengeluaran']; cbNilaiTanggungan.Text:=FieldValues['profil_Tanggungan']; end; end; end; procedure TFormKriteria.editCFChange(Sender: TObject); var sf:integer; begin editSF.Text:='';
MUHAMMAD HAFIZ 1209011
11
if editCF.Text<>'' then begin if (StrToInt(editCF.Text)>100) then begin MessageDlg('Jumlah bobot tidak boleh melebihi 100%',mtError,[mbOK],0); editCF.Text:=''; end else begin editSF.Text:=IntToStr(ABS(100-StrToInt(editCF.Text))); end; end; end; procedure TFormKriteria.FormActivate(Sender: TObject); var i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); cbTahunChange(sender); end; procedure TFormKriteria.btnSaveClick(Sender: TObject); begin with dmBeasiswa.QKriteria do begin if cbTahun.Text='' then begin MessageDlg('Pilih tahun kriteria',mtError,[mbOK],0); cbTahun.SetFocus; end else if editCF.Text='' then begin MessageDlg('Masukkan Persen Bobot CF',mtError,[mbOK],0); editCF.SetFocus; end else if cbNilaiIPK.Text='' then begin MessageDlg('Pilih Nilai Profil IPK',mtError,[mbOK],0); cbNilaiIPK.SetFocus; end else if cbNilaiSemester.Text='' then begin MessageDlg('Pilih Nilai Profil Semester',mtError,[mbOK],0); cbNilaiSemester.SetFocus; end else if cbNilaiPenghasilan.Text='' then
MUHAMMAD HAFIZ 1209011
12
begin MessageDlg('Pilih Nilai Profil Penghasilan',mtError,[mbOK],0); cbNilaiPenghasilan.SetFocus; end else if cbNilaiPengeluaran.Text='' then begin MessageDlg('Pilih Nilai Profil Pengeluaran',mtError,[mbOK],0); cbNilaiPengeluaran.SetFocus; end else if cbNilaiTanggungan.Text='' then begin MessageDlg('Pilih Nilai Profil Tanggungan Anak',mtError,[mbOK],0); cbNilaiTanggungan.SetFocus; end else if cbKetIPK.Text='' then begin MessageDlg('Pilih Keterangan CF / SF IPK',mtError,[mbOK],0); cbKetIPK.SetFocus; end else if cbKetSemester.Text='' then begin MessageDlg('Pilih Keterangan CF / SF Semester',mtError,[mbOK],0); cbKetSemester.SetFocus; end else if cbKetPenghasilan.Text='' then begin MessageDlg('Pilih Keterangan CF / SF Penghasilan',mtError,[mbOK],0); cbKetPenghasilan.SetFocus; end else if cbKetPengeluaran.Text='' then begin MessageDlg('Pilih Keterangan CF / SF Pengeluaran',mtError,[mbOK],0); cbKetPengeluaran.SetFocus; end else if cbKetTanggungan.Text='' then begin MessageDlg('Pilih Keterangan CF / SF Tanggungan Anak',mtError,[mbOK],0); cbKetTanggungan.SetFocus; end else begin if MessageDlg('Apakah data kriteria sudah benar?',mtWarning,[mbYes,mbNo],0)=mrYes then begin sql.Clear; sql.Add('delete from kriteria where tahun='+QuotedStr(cbTahun.Text)); ExecSQL; sql.Clear; sql.Add('select * from kriteria'); open;
MUHAMMAD HAFIZ 1209011
13
append; FieldByName('tahun').AsString:=cbTahun.Text; FieldByName('bobot_cf').AsString:=editCF.Text; FieldByName('bobot_sf').AsString:=editSF.Text; FieldByName('profil_ipk').AsString:=cbNilaiIPK.Text; FieldByName('profil_sem').AsString:=cbNilaiSemester.Text; FieldByName('profil_penghasilan').AsString:=cbNilaiPenghasilan.Text; FieldByName('profil_pengeluaran').AsString:=cbNilaiPengeluaran.Text; FieldByName('profil_tanggungan').AsString:=cbNilaiTanggungan.Text; FieldByName('ket_ipk').AsString:=cbKetIPK.Text; FieldByName('ket_sem').AsString:=cbKetSemester.Text; FieldByName('ket_penghasilan').AsString:=cbKetPenghasilan.Text; FieldByName('ket_pengeluaran').AsString:=cbKetPengeluaran.Text; FieldByName('ket_tanggungan').AsString:=cbKetTanggungan.Text; post; MessageDlg('Data Kriteria tersimpan',mtInformation,[mbOK],0); FormActivate(sender); end; end; end; end; procedure TFormKriteria.btnExitClick(Sender: TObject); begin close; end; end.
DATA PESERTA : unit UnitPeserta; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ComCtrls, StdCtrls, ExtCtrls; type TFormPeserta = class(TForm) Panel1: TPanel; Label1: TLabel; cbTahun: TComboBox; Label2: TLabel; edKode: TEdit; Label3: TLabel; DateTimePicker1: TDateTimePicker; Label4: TLabel; Label5: TLabel;
MUHAMMAD HAFIZ 1209011
14
Label6: TLabel; Label7: TLabel; Label8: TLabel; edNoID: TEdit; edNama: TEdit; edAlamat: TEdit; edNoTelp: TEdit; edUniversitas: TEdit; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; edIPK: TEdit; edSemester: TEdit; edPenghasilan: TEdit; edPengeluaran: TEdit; edTanggungan: TEdit; DBGrid1: TDBGrid; btnClear: TButton; btnSave: TButton; btnEdit: TButton; btnDelete: TButton; btnExit: TButton; procedure btnClearClick(Sender: TObject); procedure cbTahunChange(Sender: TObject); procedure FormActivate(Sender: TObject); procedure btnSaveClick(Sender: TObject); procedure edIPKKeyPress(Sender: TObject; var Key: Char); procedure edSemesterKeyPress(Sender: TObject; var Key: Char); procedure edPenghasilanChange(Sender: TObject); procedure edPengeluaranChange(Sender: TObject); procedure btnExitClick(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure btnEditClick(Sender: TObject); procedure btnDeleteClick(Sender: TObject); procedure edIPKExit(Sender: TObject); procedure edSemesterExit(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormPeserta: TFormPeserta; implementation uses Unitmodule, DateUtils, StrUtils, DB, ADODB;
MUHAMMAD HAFIZ 1209011
15
{$R *.dfm} procedure TFormPeserta.btnClearClick(Sender: TObject); var i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); cbTahunChange(sender); cbTahun.SetFocus; DateTimePicker1.Date:=DateOf(now); edNoID.Text:=''; edNama.Text:=''; edAlamat.Text:=''; edNoTelp.Text:=''; edUniversitas.Text:=''; edIPK.Text:=''; edSemester.Text:=''; edPenghasilan.Text:=''; edPengeluaran.Text:=''; edTanggungan.Text:=''; btnSave.Enabled:=true; btnEdit.Enabled:=false; btnDelete.Enabled:=false; end; procedure TFormPeserta.cbTahunChange(Sender: TObject); var kode:string; nourut:integer; begin with dmBeasiswa.QPeserta do begin edKode.Text:=''; sql.Clear; sql.Add('select * from peserta order by kode_pengajuan'); open; if cbTahun.Text<>'' then begin sql.Clear; sql.Add('select * from peserta where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; nourut:=1; if recordcount>0 then begin last; kode:=MidStr(FieldValues['kode_pengajuan'],6,5);
MUHAMMAD HAFIZ 1209011
16
nourut:=StrToInt(kode)+1; end; if (nourut>=1)and(nourut<10)then edKode.Text:=cbTahun.Text+'/0000'+IntToStr(nourut) else if (nourut>=10)and(nourut<100)then edKode.Text:=cbTahun.Text+'/000'+IntToStr(nourut) else if (nourut>=100)and(nourut<1000)then edKode.Text:=cbTahun.Text+'/00'+IntToStr(nourut) else if (nourut>=1000)and(nourut<10000)then edKode.Text:=cbTahun.Text+'/0'+IntToStr(nourut) else if (nourut>=10000)and(nourut<100000)then edKode.Text:=cbTahun.Text+'/'+IntToStr(nourut); end; end; end; procedure TFormPeserta.FormActivate(Sender: TObject); begin btnClearClick(sender); end; procedure TFormPeserta.btnSaveClick(Sender: TObject); begin with dmBeasiswa.QPeserta do begin if edNoID.Text='' then begin MessageDlg('No Identitas belum terisi',mtError,[mbOK],0); edNoID.SetFocus; end else if edNama.Text='' then begin MessageDlg('Nama belum terisi',mtError,[mbOK],0); edNama.SetFocus; end else if edAlamat.Text='' then begin MessageDlg('Alamat belum terisi',mtError,[mbOK],0); edAlamat.SetFocus; end else if edNoTelp.Text='' then begin MessageDlg('No Telp belum terisi',mtError,[mbOK],0); edNoTelp.SetFocus; end else if edUniversitas.Text='' then begin MessageDlg('Nama Universitas belum terisi',mtError,[mbOK],0); edUniversitas.SetFocus;
MUHAMMAD HAFIZ 1209011
17
end else if edIPK.Text='' then begin MessageDlg('Nilai IPK belum terisi',mtError,[mbOK],0); edIPK.SetFocus; end else if edSemester.Text='' then begin MessageDlg('Nilai Semester belum terisi',mtError,[mbOK],0); edSemester.SetFocus; end else if edPenghasilan.Text='' then begin MessageDlg('Jumlah Penghasilan Orangtua belum terisi',mtError,[mbOK],0); edPenghasilan.SetFocus; end else if edPengeluaran.Text='' then begin MessageDlg('Jumlah Pengeluaran Orangtua belum terisi',mtError,[mbOK],0); edPengeluaran.SetFocus; end else if edTanggungan.Text='' then begin MessageDlg('Nilai Tanggungan Anak dari Orangtua Belum terisi',mtError,[mbOK],0); edTanggungan.SetFocus; end else begin append; FieldByName('kode_pengajuan').AsString:=edKode.Text; FieldByName('tahun_pengajuan').AsString:=cbTahun.Text; FieldByName('tgl_pengajuan').AsDateTime:=DateTimePicker1.Date; FieldByName('no_identitas').AsString:=edNoID.Text; FieldByName('nama').AsString:=edNama.Text; FieldByName('alamat').AsString:=edAlamat.Text; FieldByName('no_telp').AsString:=edNoTelp.Text; FieldByName('universitas').AsString:=edUniversitas.Text; FieldByName('ipk').AsString:=FormatFloat('0.##',StrToFloat(edIPK.Text)); FieldByName('semester').AsInteger:=StrToInt(edSemester.Text); FieldByName('penghasilan_orangtua').AsInteger:=StrToInt(StringReplace(edPenghasilan .Text,',','',[rfreplaceAll])); FieldByName('pengeluaran_orangtua').AsInteger:=StrToInt(StringReplace(edPengeluara n.Text,',','',[rfreplaceAll])); FieldByName('tanggungan_anak').AsInteger:=StrToInt(edTanggungan.Text); post; MessageDlg('Data Peserta berhasil disimpan',mtInformation,[mbOK],0); btnClearClick(sender);
MUHAMMAD HAFIZ 1209011
18
end; end; end; procedure TFormPeserta.edIPKKeyPress(Sender: TObject; var Key: Char); begin if not(key in['0'..'9','.',#8,#9,#13])then key:=#0; end; procedure TFormPeserta.edSemesterKeyPress(Sender: TObject; var Key: Char); begin if not(key in['0'..'9',#8,#9,#13])then key:=#0; end; procedure TFormPeserta.edPenghasilanChange(Sender: TObject); var x:string; begin if edPenghasilan.Text<>'' then begin x:=StringReplace(edPenghasilan.Text,',','',[rfReplaceAll]); edPenghasilan.Text:=FormatCurr('#,0',StrToCurr(x)); edPenghasilan.SelStart:=length(edPenghasilan.Text); end; end; procedure TFormPeserta.edPengeluaranChange(Sender: TObject); var x:string; begin if edPengeluaran.Text<>'' then begin x:=StringReplace(edPengeluaran.Text,',','',[rfReplaceAll]); edPengeluaran.Text:=FormatCurr('#,0',StrToCurr(x)); edPengeluaran.SelStart:=length(edPengeluaran.Text); end; end; procedure TFormPeserta.btnExitClick(Sender: TObject); begin close; end; procedure TFormPeserta.DBGrid1CellClick(Column: TColumn); begin with dmBeasiswa.QPeserta do begin if recordcount>0 then begin
MUHAMMAD HAFIZ 1209011
19
cbTahun.Text:=FieldValues['tahun_pengajuan']; edKode.Text:=FieldValues['kode_pengajuan']; DateTimePicker1.Date:=FieldValues['tgl_pengajuan']; ednoid.Text:=FieldValues['no_identitas']; edNama.Text:=FieldValues['nama']; edAlamat.Text:=FieldValues['alamat']; edNoTelp.Text:=FieldValues['no_telp']; edUniversitas.Text:=FieldValues['universitas']; edIPK.Text:=FormatFloat('0.##',FieldValues['ipk']); edSemester.Text:=FieldValues['semester']; edPenghasilan.Text:=FieldValues['penghasilan_orangtua']; edPengeluaran.Text:=FieldValues['pengeluaran_orangtua']; edTanggungan.Text:=FieldValues['tanggungan_anak']; edNoID.SetFocus; btnSave.Enabled:=false; btnEdit.Enabled:=true; btnDelete.Enabled:=true; end; end; end; procedure TFormPeserta.btnEditClick(Sender: TObject); begin with dmBeasiswa.QPeserta do begin if edNoID.Text='' then begin MessageDlg('No Identitas belum terisi',mtError,[mbOK],0); edNoID.SetFocus; end else if edNama.Text='' then begin MessageDlg('Nama belum terisi',mtError,[mbOK],0); edNama.SetFocus; end else if edAlamat.Text='' then begin MessageDlg('Alamat belum terisi',mtError,[mbOK],0); edAlamat.SetFocus; end else if edNoTelp.Text='' then begin MessageDlg('No Telp belum terisi',mtError,[mbOK],0); edNoTelp.SetFocus; end else if edUniversitas.Text='' then begin MessageDlg('Nama Universitas belum terisi',mtError,[mbOK],0); edUniversitas.SetFocus; end
MUHAMMAD HAFIZ 1209011
20
else if edIPK.Text='' then begin MessageDlg('Nilai IPK belum terisi',mtError,[mbOK],0); edIPK.SetFocus; end else if edSemester.Text='' then begin MessageDlg('Nilai Semester belum terisi',mtError,[mbOK],0); edSemester.SetFocus; end else if edPenghasilan.Text='' then begin MessageDlg('Jumlah Penghasilan Orangtua belum terisi',mtError,[mbOK],0); edPenghasilan.SetFocus; end else if edPengeluaran.Text='' then begin MessageDlg('Jumlah Pengeluaran Orangtua belum terisi',mtError,[mbOK],0); edPengeluaran.SetFocus; end else if edTanggungan.Text='' then begin MessageDlg('Nilai Tanggungan Anak dari Orangtua Belum terisi',mtError,[mbOK],0); edTanggungan.SetFocus; end else begin Locate('kode_pengajuan',edKode.Text,[]); Edit; FieldByName('kode_pengajuan').AsString:=edKode.Text; FieldByName('tahun_pengajuan').AsString:=cbTahun.Text; FieldByName('tgl_pengajuan').AsDateTime:=DateTimePicker1.Date; FieldByName('no_identitas').AsString:=edNoID.Text; FieldByName('nama').AsString:=edNama.Text; FieldByName('alamat').AsString:=edAlamat.Text; FieldByName('no_telp').AsString:=edNoTelp.Text; FieldByName('universitas').AsString:=edUniversitas.Text; FieldByName('ipk').AsString:=FormatFloat('0.##',StrToFloat(edIPK.Text)); FieldByName('semester').AsInteger:=StrToInt(edSemester.Text); FieldByName('penghasilan_orangtua').AsInteger:=StrToInt(StringReplace(edPenghasilan .Text,',','',[rfreplaceAll])); FieldByName('pengeluaran_orangtua').AsInteger:=StrToInt(StringReplace(edPengeluara n.Text,',','',[rfreplaceAll])); FieldByName('tanggungan_anak').AsInteger:=StrToInt(edTanggungan.Text); post; MessageDlg('Data Peserta berhasil disimpan',mtInformation,[mbOK],0); btnClearClick(sender);
MUHAMMAD HAFIZ 1209011
21
end; end; end; procedure TFormPeserta.btnDeleteClick(Sender: TObject); begin with dmBeasiswa.QPeserta do begin if MessageDlg('Hapus Data peserta ini?',mtWarning,[mbYes,mbNo],0)=mrYes then begin sql.Clear; sql.Add('delete from peserta where kode_pengajuan='+QuotedStr(edKode.Text)); ExecSQL; FormActivate(sender); MessageDlg('Data berhasil dihapus',mtInformation,[mbOK],0); end; end; end; procedure TFormPeserta.edIPKExit(Sender: TObject); begin if (edIPK.Text<>'')then begin if StrToFloat(edIPK.Text)>4 then begin MessageDlg('IPK tidak boleh melebihi 4',mtError,[mbOK],0); edIPK.Text:=''; edIPK.SetFocus; end; if StrToFloat(edIPK.Text)<2.75 then begin MessageDlg('IPK tidak boleh kurang dari 2.75',mtError,[mbOK],0); edIPK.Text:=''; edIPK.SetFocus; end; end; end; procedure TFormPeserta.edSemesterExit(Sender: TObject); begin if (edSemester.Text<>'')then begin if StrToInt(edSemester.Text)<3 then begin MessageDlg('Semester tidak boleh dibawah 3',mtError,[mbOK],0); edSemester.Text:=''; edSemester.SetFocus; end; end; end; end.
MUHAMMAD HAFIZ 1209011
22
SELEKSI PESERTA : unit UnitSeleksi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFormSeleksi = class(TForm) Label1: TLabel; cbTahun: TComboBox; btnSeleksi: TButton; btnKeluar: TButton; Label2: TLabel; edDiterima: TEdit; procedure FormActivate(Sender: TObject); procedure btnKeluarClick(Sender: TObject); procedure btnSeleksiClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormSeleksi: TFormSeleksi; implementation uses DateUtils, Unitmodule, DB, ADODB, UnitHasilSeleksi; {$R *.dfm} procedure TFormSeleksi.FormActivate(Sender: TObject); var i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); cbTahun.SetFocus; end; procedure TFormSeleksi.btnKeluarClick(Sender: TObject); begin close; end;
MUHAMMAD HAFIZ 1209011
23
procedure TFormSeleksi.btnSeleksiClick(Sender: TObject); var i:integer; kode_pengajuan,no_id,nama,universitas,ketsemester,kettanggungan,ketpenghasilan,ketpe ngeluaran,ketipk:string; semester,tanggungan,penghasilan,pengeluaran,nipk,nsemester,ntanggungan,npenghasilan, npengeluaran:integer; profilsemester,profiltanggungan,profilpenghasilan,profilpengeluaran,profilipk,cf,sf:intege r; gapsemester,gaptanggungan,gappenghasilan,gappengeluaran,gapipk:integer; bobotsemester,bobottanggungan,bobotpenghasilan,bobotpengeluaran,bobotipk:double; ipk,totalcf,totalsf,jumlahcf,jumlahsf,totalnilai:Double; begin with dmBeasiswa.QPeserta do begin if cbTahun.Text='' then begin MessageDlg('Pilih tahun penyeleksian',mtError,[mbOK],0); cbTahun.SetFocus; end else begin //cek data peserta yang diinputkan sql.Clear; sql.Add('select * from peserta where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; if recordcount=0 then begin MessageDlg('Belum ada data peserta yang diinputkan untuk tahun '+cbTahun.Text,mtError,[mbOK],0); cbTahun.SetFocus; end else begin if MessageDlg('Lakukan penyeleksian?',mtWarning,[mbYes,mbNo],0)=mrYes then begin with dmBeasiswa.QKriteria do begin cf:=FieldValues['bobot_CF']; sf:=FieldValues['bobot_SF']; ketipk:=FieldValues['ket_IPK']; ketsemester:=FieldValues['ket_Sem']; ketpenghasilan:=FieldValues['ket_Penghasilan']; ketpengeluaran:=FieldValues['ket_Pengeluaran']; kettanggungan:=FieldValues['ket_Tanggungan'];
MUHAMMAD HAFIZ 1209011
24
profilipk:=FieldValues['profil_IPK']; profilsemester:=FieldValues['profil_Sem']; profilpenghasilan:=FieldValues['profil_Penghasilan']; profilpengeluaran:=FieldValues['profil_Pengeluaran']; profiltanggungan:=FieldValues['profil_Tanggungan']; end; with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('delete * from hasil_seleksi'); ExecSQL; sql.Clear; sql.Add('select * from hasil_seleksi'); open; end; first; while not eof do begin kode_pengajuan:=FieldValues['kode_pengajuan']; no_id:=FieldValues['no_identitas']; nama:=FieldValues['nama']; universitas:=FieldValues['universitas']; ipk:=FieldValues['ipk']; semester:=FieldValues['semester']; penghasilan:=FieldValues['penghasilan_orangtua']; pengeluaran:=FieldValues['pengeluaran_orangtua']; tanggungan:=FieldValues['tanggungan_anak']; //cek nilai ipk if (ipk>=2.75)and(ipk<=3) then nipk:=1 else if (ipk>=3.01)and(ipk<=3.25) then nipk:=2 else if (ipk>=3.26)and(ipk<=3.5) then nipk:=3 else if (ipk>=3.51)and(ipk<=3.75) then nipk:=4 else if (ipk>=3.76)and(ipk<=4) then nipk:=5; //cek nilai semester if (semester=3) then nsemester:=5 else if (semester=4) then nsemester:=4 else if (semester=5) then nsemester:=3 else if (semester=6) then nsemester:=2 else if (semester>=7) then nsemester:=1; //cek nilai penghasilan if (penghasilan>=0)and(penghasilan<1000000) then npenghasilan:=5 else if (penghasilan>=1000000)and(penghasilan<2000000) then npenghasilan:=4 else if (penghasilan>=2000000)and(penghasilan<3000000) then npenghasilan:=3 else if (penghasilan>=3000000)and(penghasilan<4000000) then npenghasilan:=2 else if (penghasilan>=4000000) then npenghasilan:=1;
MUHAMMAD HAFIZ 1209011
25
//cek nilai pengeluaran if (pengeluaran>=0)and(pengeluaran<500000) then npengeluaran:=1 else if (pengeluaran>=500000)and(pengeluaran<1000000) then npengeluaran:=2 else if (pengeluaran>=1000000)and(pengeluaran<1500000) then npengeluaran:=3 else if (pengeluaran>=1500000)and(pengeluaran<2000000) then npengeluaran:=4 else if (pengeluaran>=2000000) then npengeluaran:=5; //cek nilai tanggungan if (tanggungan=1) then ntanggungan:=1 else if (tanggungan=2) then ntanggungan:=2 else if (tanggungan=3) then ntanggungan:=3 else if (tanggungan=4) then ntanggungan:=4 else if (tanggungan>=5) then ntanggungan:=5; //cari gap gapipk:=nipk-profilipk; gapsemester:=nsemester-profilsemester; gappenghasilan:=npenghasilan-profilpenghasilan; gappengeluaran:=npengeluaran-profilpengeluaran; gaptanggungan:=ntanggungan-profiltanggungan; //cari bobot ipk if gapipk=0 then bobotipk:=5 else if gapipk=1 then bobotipk:=4.5 else if gapipk=-1 then bobotipk:=4 else if gapipk=2 then bobotipk:=3.5 else if gapipk=-2 then bobotipk:=3 else if gapipk=3 then bobotipk:=2.5 else if gapipk=-3 then bobotipk:=2 else if gapipk=4 then bobotipk:=1.5 else if gapipk=-4 then bobotipk:=1; //cari bobot semester if gapsemester=0 then bobotsemester:=5 else if gapsemester=1 then bobotsemester:=4.5 else if gapsemester=-1 then bobotsemester:=4 else if gapsemester=2 then bobotsemester:=3.5 else if gapsemester=-2 then bobotsemester:=3 else if gapsemester=3 then bobotsemester:=2.5 else if gapsemester=-3 then bobotsemester:=2 else if gapsemester=4 then bobotsemester:=1.5 else if gapsemester=-4 then bobotsemester:=1; //cari bobot penghasilan if gappenghasilan=0 then bobotpenghasilan:=5 else if gappenghasilan=1 then bobotpenghasilan:=4.5 else if gappenghasilan=-1 then bobotpenghasilan:=4
MUHAMMAD HAFIZ 1209011
26
else if gappenghasilan=2 then bobotpenghasilan:=3.5 else if gappenghasilan=-2 then bobotpenghasilan:=3 else if gappenghasilan=3 then bobotpenghasilan:=2.5 else if gappenghasilan=-3 then bobotpenghasilan:=2 else if gappenghasilan=4 then bobotpenghasilan:=1.5 else if gappenghasilan=-4 then bobotpenghasilan:=1; //cari bobot pengeluaran if gappengeluaran=0 then bobotpengeluaran:=5 else if gappengeluaran=1 then bobotpengeluaran:=4.5 else if gappengeluaran=-1 then bobotpengeluaran:=4 else if gappengeluaran=2 then bobotpengeluaran:=3.5 else if gappengeluaran=-2 then bobotpengeluaran:=3 else if gappengeluaran=3 then bobotpengeluaran:=2.5 else if gappengeluaran=-3 then bobotpengeluaran:=2 else if gappengeluaran=4 then bobotpengeluaran:=1.5 else if gappengeluaran=-4 then bobotpengeluaran:=1; //cari bobot tanggungan if gaptanggungan=0 then bobottanggungan:=5 else if gaptanggungan=1 then bobottanggungan:=4.5 else if gaptanggungan=-1 then bobottanggungan:=4 else if gaptanggungan=2 then bobottanggungan:=3.5 else if gaptanggungan=-2 then bobottanggungan:=3 else if gaptanggungan=3 then bobottanggungan:=2.5 else if gaptanggungan=-3 then bobottanggungan:=2 else if gaptanggungan=4 then bobottanggungan:=1.5 else if gaptanggungan=-4 then bobottanggungan:=1; //cari nilai total cf totalcf:=0; jumlahcf:=0; if ketipk='CF' then begin totalcf:=totalcf+bobotipk; jumlahcf:=jumlahcf+1; end; if ketsemester='CF' then begin totalcf:=totalcf+bobotsemester; jumlahcf:=jumlahcf+1; end; if ketpenghasilan='CF' then begin totalcf:=totalcf+bobotpenghasilan; jumlahcf:=jumlahcf+1; end; if ketpengeluaran='CF' then begin totalcf:=totalcf+bobotpengeluaran;
MUHAMMAD HAFIZ 1209011
27
jumlahcf:=jumlahcf+1; end; if kettanggungan='CF' then begin totalcf:=totalcf+bobottanggungan; jumlahcf:=jumlahcf+1; end; //totalcf = totalcf / jumlahcf totalcf:=totalcf/jumlahcf; //totalcf = totalsf * bobot persen totalcf:=totalcf*(cf/100); //cari nilai total SF totalSF:=0; jumlahSF:=0; if ketipk='SF' then begin totalSF:=totalSF+bobotipk; jumlahSF:=jumlahSF+1; end; if ketsemester='SF' then begin totalSF:=totalSF+bobotsemester; jumlahSF:=jumlahSF+1; end; if ketpenghasilan='SF' then begin totalSF:=totalSF+bobotpenghasilan; jumlahSF:=jumlahSF+1; end; if ketpengeluaran='SF' then begin totalSF:=totalSF+bobotpengeluaran; jumlahSF:=jumlahSF+1; end; if kettanggungan='SF' then begin totalSF:=totalSF+bobottanggungan; jumlahSF:=jumlahSF+1; end; //totalsf = totalsf / jumlahsf totalsf:=totalsf/jumlahsf; //totalsf = totalsf * bobot persen totalsf:=totalsf*(sf/100); totalnilai:=totalcf+totalsf; with dmBeasiswa.QHasil do begin append; FieldByName('kode_pengajuan').AsString:=kode_pengajuan;
MUHAMMAD HAFIZ 1209011
28
FieldByName('tahun_pengajuan').AsString:=cbTahun.Text; FieldByName('no_identitas').AsString:=no_id; FieldByName('nama').AsString:=nama; FieldByName('universitas').AsString:=universitas; FieldByName('nilai_ipk').AsInteger:=nipk; FieldByName('nilai_semester').AsInteger:=nsemester; FieldByName('nilai_penghasilan').AsInteger:=npenghasilan; FieldByName('nilai_pengeluaran').AsInteger:=npengeluaran; FieldByName('nilai_tanggungan').AsInteger:=ntanggungan; FieldByName('total_nilai').AsString:=FormatFloat('0.##',totalnilai); FieldByName('keterangan').AsString:='x'; post; end; next; end; with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)+' order by total_nilai desc'); open; first; if recordcount>StrToInt(edDiterima.Text) then begin for i:=1 to StrToInt(edDiterima.Text) do begin edit; FieldByName('keterangan').AsString:='Diterima'; post; next; end; while not eof do begin edit; FieldByName('keterangan').AsString:='Tidak Diterima'; post; next; end; end else begin sql.Clear; sql.Add('update hasil_seleksi set keterangan='+QuotedStr('Diterima')+' where tahun_pengajuan='+QuotedStr(cbTahun.Text)); ExecSQL; sql.Clear; sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; end;
MUHAMMAD HAFIZ 1209011
29
end; MessageDlg('Seleksi berhasil',mtInformation,[mbOK],0); FormHasilSeleksi.cbTahun.Text:=cbTahun.Text; FormHasilSeleksi.ShowModal; end; end; end; end; end; end.
CETAK PESERTA unit UnitCetakPeserta; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls; type TFormCetakPeserta = class(TForm) Label1: TLabel; cbTahun: TComboBox; btnCetak: TButton; DBGrid1: TDBGrid; procedure FormActivate(Sender: TObject); procedure cbTahunChange(Sender: TObject); procedure btnCetakClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormCetakPeserta: TFormCetakPeserta; implementation uses DateUtils, Unitmodule, UnitRepPeserta; {$R *.dfm} procedure TFormCetakPeserta.FormActivate(Sender: TObject); var
MUHAMMAD HAFIZ 1209011
30
i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); end; procedure TFormCetakPeserta.cbTahunChange(Sender: TObject); begin with dmBeasiswa.QPeserta do begin sql.Clear; sql.Add('select * from peserta order by tahun_pengajuan'); open; if cbTahun.Text<>'' then begin sql.Clear; sql.Add('select * from peserta where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; end; end; end; procedure TFormCetakPeserta.btnCetakClick(Sender: TObject); begin with dmBeasiswa.QPeserta do begin if recordcount=0 then begin MessageDlg('Tidak ada laporan yang dapat dicetak',mtError,[mbOK],0); cbTahun.SetFocus; end else begin FormLapPeserta.QRLabelDaftar.Caption:='Laporan Peserta Beasiswa tahun '+(cbTahun.Text); FormLapPeserta.QuickRep1.Preview; end; end; end; end.
MUHAMMAD HAFIZ 1209011
31
HASIL SELEKSI unit UnitHasilSeleksi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids; type TFormHasilSeleksi = class(TForm) Label1: TLabel; cbTahun: TComboBox; DBGrid1: TDBGrid; Label2: TLabel; Label3: TLabel; LabelIPK: TLabel; LabelSemester: TLabel; LabelPenghasilan: TLabel; LabelPengeluaran: TLabel; LabelTanggungan: TLabel; edIPK: TEdit; edSemester: TEdit; edPenghasilan: TEdit; edPengeluaran: TEdit; edTanggungan: TEdit; btnCetak: TButton; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; procedure FormActivate(Sender: TObject); procedure edJumlahKeyPress(Sender: TObject; var Key: Char); procedure cbTahunChange(Sender: TObject); procedure btnCetakClick(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormHasilSeleksi: TFormHasilSeleksi; implementation uses DateUtils, Unitmodule, DB, ADODB, UnitRepHasil;
MUHAMMAD HAFIZ 1209011
32
{$R *.dfm} procedure TFormHasilSeleksi.FormActivate(Sender: TObject); var i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); cbTahunChange(sender); end; procedure TFormHasilSeleksi.edJumlahKeyPress(Sender: TObject; var Key: Char); begin if not(key in['0'..'9',#8,#9,#13])then key:=#0; end; procedure TFormHasilSeleksi.cbTahunChange(Sender: TObject); begin with dmBeasiswa.QKriteria do begin edIPK.Text:=''; edSemester.Text:=''; edPenghasilan.Text:=''; edPengeluaran.Text:=''; edTanggungan.Text:=''; LabelIPK.Caption:='Nilai IPK'; LabelSemester.Caption:='Semester'; LabelPenghasilan.Caption:='Penghasilan Orangtua'; LabelPengeluaran.Caption:='Pengeluaran Orangtua'; LabelTanggungan.Caption:='Tanggungan Anak dari Orangtua'; if Locate('tahun',cbTahun.Text,[])then begin edIPK.Text:=FieldValues['profil_IPK']; edSemester.Text:=FieldValues['profil_Sem']; edPenghasilan.Text:=FieldValues['profil_Penghasilan']; edPengeluaran.Text:=FieldValues['profil_Pengeluaran']; edTanggungan.Text:=FieldValues['profil_Tanggungan']; if FieldValues['ket_IPK']='CF' then LabelIPK.Caption:='Nilai IPK*'; if FieldValues['ket_sem']='CF' then LabelSemester.Caption:='Semester*'; if FieldValues['ket_penghasilan']='CF' then LabelPenghasilan.Caption:='Penghasilan Orangtua*'; if FieldValues['ket_pengeluaran']='CF' then LabelPengeluaran.Caption:='Pengeluaran Orangtua*'; if FieldValues['ket_tanggungan']='CF' then LabelTanggungan.Caption:='Tanggungan Anak dari Orangtua*'; end; end;
MUHAMMAD HAFIZ 1209011
33
RadioButton3.Checked:=true; RadioButton3Click(sender); end; procedure TFormHasilSeleksi.btnCetakClick(Sender: TObject); begin with dmBeasiswa.QHasil do begin if recordcount=0 then begin MessageDlg('Tidak ada data yang dapat dicetak',mtError,[mbOK],0); cbTahun.SetFocus; end else begin if (RadioButton1.Checked=true)or(RadioButton3.Checked=true) then begin FormLapHasil.QRLabel4.Enabled:=true; FormLapHasil.QRLabel14.Enabled:=true; end else begin FormLapHasil.QRLabel4.Enabled:=false; FormLapHasil.QRLabel14.Enabled:=false; end; FormLapHasil.QRLabelDaftar.Caption:='Daftar Penerima Beasiswa Tahun '+cbTahun.Text; FormLapHasil.QuickRep1.Preview; end; end; end; procedure TFormHasilSeleksi.RadioButton3Click(Sender: TObject); begin with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)+' order by total_nilai desc'); open; end; end; procedure TFormHasilSeleksi.RadioButton1Click(Sender: TObject); begin with dmBeasiswa.QHasil do begin sql.Clear;
MUHAMMAD HAFIZ 1209011
34
sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)+' and keterangan='+QuotedStr('Diterima')+' order by total_nilai desc'); open; end; end; procedure TFormHasilSeleksi.RadioButton2Click(Sender: TObject); begin with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)+' and keterangan='+QuotedStr('Tidak Diterima')+' order by total_nilai desc'); open; end; end; end.
REPORT HASIL unit UnitRepHasil; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, QuickRpt, QRCtrls, ExtCtrls; type TFormLapHasil = class(TForm) QuickRep1: TQuickRep; ColumnHeaderBand1: TQRBand; DetailBand1: TQRBand; PageHeaderBand1: TQRBand; QRImage1: TQRImage; QRLabel1: TQRLabel; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabelDaftar: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRLabel8: TQRLabel; QRLabel9: TQRLabel;
MUHAMMAD HAFIZ 1209011
35
QRSysData1: TQRSysData; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRShape1: TQRShape; QRShape2: TQRShape; QRShape3: TQRShape; QRShape4: TQRShape; QRShape5: TQRShape; QRShape7: TQRShape; QRShape8: TQRShape; QRShape9: TQRShape; QRShape10: TQRShape; QRShape11: TQRShape; SummaryBand1: TQRBand; QRLabel11: TQRLabel; QRSysData2: TQRSysData; QRLabel12: TQRLabel; QRLabel13: TQRLabel; QRLabel14: TQRLabel; QRLabel10: TQRLabel; QRShape6: TQRShape; QRShape12: TQRShape; QRDBText5: TQRDBText; private { Private declarations } public { Public declarations } end; var FormLapHasil: TFormLapHasil; implementation uses Unitmodule; {$R *.dfm} end.
MUHAMMAD HAFIZ 1209011
36
REPORT PESERTA unit UnitRepPeserta; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, QRCtrls, QuickRpt, ExtCtrls; type TFormLapPeserta = class(TForm) QuickRep1: TQuickRep; ColumnHeaderBand1: TQRBand; QRShape6: TQRShape; QRShape5: TQRShape; QRShape4: TQRShape; QRShape3: TQRShape; QRShape2: TQRShape; QRShape1: TQRShape; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRLabel8: TQRLabel; QRLabel9: TQRLabel; QRLabel10: TQRLabel; DetailBand1: TQRBand; QRShape12: TQRShape; QRShape11: TQRShape; QRShape10: TQRShape; QRShape9: TQRShape; QRShape8: TQRShape; QRShape7: TQRShape; QRSysData1: TQRSysData; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRDBText5: TQRDBText; PageHeaderBand1: TQRBand; QRImage1: TQRImage; QRLabel1: TQRLabel; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabelDaftar: TQRLabel; QRShape13: TQRShape; QRLabel4: TQRLabel; QRShape14: TQRShape; QRDBText6: TQRDBText; QRLabel15: TQRLabel;
MUHAMMAD HAFIZ 1209011
37
QRShape15: TQRShape; QRShape16: TQRShape; QRLabel16: TQRLabel; QRShape17: TQRShape; QRLabel17: TQRLabel; QRDBText7: TQRDBText; QRShape18: TQRShape; QRDBText8: TQRDBText; QRShape19: TQRShape; QRDBText9: TQRDBText; QRShape20: TQRShape; private { Private declarations } public { Public declarations } end; var FormLapPeserta: TFormLapPeserta; implementation uses Unitmodule; {$R *.dfm} end.
MUHAMMAD HAFIZ 1209011
38
UNIT SELEKSI unit UnitSeleksi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFormSeleksi = class(TForm) Label1: TLabel; cbTahun: TComboBox; btnSeleksi: TButton; btnKeluar: TButton; Label2: TLabel; edDiterima: TEdit; procedure FormActivate(Sender: TObject); procedure btnKeluarClick(Sender: TObject); procedure btnSeleksiClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var FormSeleksi: TFormSeleksi; implementation uses DateUtils, Unitmodule, DB, ADODB, UnitHasilSeleksi; {$R *.dfm} procedure TFormSeleksi.FormActivate(Sender: TObject); var i:integer; begin cbTahun.Items.Clear; for i:=2014 to YearOf(now) do cbTahun.Items.Add(IntToStr(i)); cbTahun.Text:=IntToStr(YearOf(now)); cbTahun.SetFocus; end; procedure TFormSeleksi.btnKeluarClick(Sender: TObject); begin close;
MUHAMMAD HAFIZ 1209011
39
end; procedure TFormSeleksi.btnSeleksiClick(Sender: TObject); var i:integer; kode_pengajuan,no_id,nama,universitas,ketsemester,kettanggungan,ketpenghasilan,ketpe ngeluaran,ketipk:string; semester,tanggungan,penghasilan,pengeluaran,nipk,nsemester,ntanggungan,npenghasilan, npengeluaran:integer; profilsemester,profiltanggungan,profilpenghasilan,profilpengeluaran,profilipk,cf,sf:intege r; gapsemester,gaptanggungan,gappenghasilan,gappengeluaran,gapipk:integer; bobotsemester,bobottanggungan,bobotpenghasilan,bobotpengeluaran,bobotipk:double; ipk,totalcf,totalsf,jumlahcf,jumlahsf,totalnilai:Double; begin with dmBeasiswa.QPeserta do begin if cbTahun.Text='' then begin MessageDlg('Pilih tahun penyeleksian',mtError,[mbOK],0); cbTahun.SetFocus; end else begin //cek data peserta yang diinputkan sql.Clear; sql.Add('select * from peserta where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; if recordcount=0 then begin MessageDlg('Belum ada data peserta yang diinputkan untuk tahun '+cbTahun.Text,mtError,[mbOK],0); cbTahun.SetFocus; end else begin if MessageDlg('Lakukan penyeleksian?',mtWarning,[mbYes,mbNo],0)=mrYes then begin with dmBeasiswa.QKriteria do begin cf:=FieldValues['bobot_CF']; sf:=FieldValues['bobot_SF']; ketipk:=FieldValues['ket_IPK']; ketsemester:=FieldValues['ket_Sem']; ketpenghasilan:=FieldValues['ket_Penghasilan'];
MUHAMMAD HAFIZ 1209011
40
ketpengeluaran:=FieldValues['ket_Pengeluaran']; kettanggungan:=FieldValues['ket_Tanggungan']; profilipk:=FieldValues['profil_IPK']; profilsemester:=FieldValues['profil_Sem']; profilpenghasilan:=FieldValues['profil_Penghasilan']; profilpengeluaran:=FieldValues['profil_Pengeluaran']; profiltanggungan:=FieldValues['profil_Tanggungan']; end; with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('delete * from hasil_seleksi'); ExecSQL; sql.Clear; sql.Add('select * from hasil_seleksi'); open; end; first; while not eof do begin kode_pengajuan:=FieldValues['kode_pengajuan']; no_id:=FieldValues['no_identitas']; nama:=FieldValues['nama']; universitas:=FieldValues['universitas']; ipk:=FieldValues['ipk']; semester:=FieldValues['semester']; penghasilan:=FieldValues['penghasilan_orangtua']; pengeluaran:=FieldValues['pengeluaran_orangtua']; tanggungan:=FieldValues['tanggungan_anak']; //cek nilai ipk if (ipk>=2.75)and(ipk<=3) then nipk:=1 else if (ipk>=3.01)and(ipk<=3.25) then nipk:=2 else if (ipk>=3.26)and(ipk<=3.5) then nipk:=3 else if (ipk>=3.51)and(ipk<=3.75) then nipk:=4 else if (ipk>=3.76)and(ipk<=4) then nipk:=5; //cek nilai semester if (semester=3) then nsemester:=5 else if (semester=4) then nsemester:=4 else if (semester=5) then nsemester:=3 else if (semester=6) then nsemester:=2 else if (semester>=7) then nsemester:=1; //cek nilai penghasilan if (penghasilan>=0)and(penghasilan<1000000) then npenghasilan:=5 else if (penghasilan>=1000000)and(penghasilan<2000000) then npenghasilan:=4 else if (penghasilan>=2000000)and(penghasilan<3000000) then npenghasilan:=3
MUHAMMAD HAFIZ 1209011
41
else if (penghasilan>=3000000)and(penghasilan<4000000) then npenghasilan:=2 else if (penghasilan>=4000000) then npenghasilan:=1; //cek nilai pengeluaran if (pengeluaran>=0)and(pengeluaran<500000) then npengeluaran:=1 else if (pengeluaran>=500000)and(pengeluaran<1000000) then npengeluaran:=2 else if (pengeluaran>=1000000)and(pengeluaran<1500000) then npengeluaran:=3 else if (pengeluaran>=1500000)and(pengeluaran<2000000) then npengeluaran:=4 else if (pengeluaran>=2000000) then npengeluaran:=5; //cek nilai tanggungan if (tanggungan=1) then ntanggungan:=1 else if (tanggungan=2) then ntanggungan:=2 else if (tanggungan=3) then ntanggungan:=3 else if (tanggungan=4) then ntanggungan:=4 else if (tanggungan>=5) then ntanggungan:=5; //cari gap gapipk:=nipk-profilipk; gapsemester:=nsemester-profilsemester; gappenghasilan:=npenghasilan-profilpenghasilan; gappengeluaran:=npengeluaran-profilpengeluaran; gaptanggungan:=ntanggungan-profiltanggungan; //cari bobot ipk if gapipk=0 then bobotipk:=5 else if gapipk=1 then bobotipk:=4.5 else if gapipk=-1 then bobotipk:=4 else if gapipk=2 then bobotipk:=3.5 else if gapipk=-2 then bobotipk:=3 else if gapipk=3 then bobotipk:=2.5 else if gapipk=-3 then bobotipk:=2 else if gapipk=4 then bobotipk:=1.5 else if gapipk=-4 then bobotipk:=1; //cari bobot semester if gapsemester=0 then bobotsemester:=5 else if gapsemester=1 then bobotsemester:=4.5 else if gapsemester=-1 then bobotsemester:=4 else if gapsemester=2 then bobotsemester:=3.5 else if gapsemester=-2 then bobotsemester:=3 else if gapsemester=3 then bobotsemester:=2.5 else if gapsemester=-3 then bobotsemester:=2 else if gapsemester=4 then bobotsemester:=1.5 else if gapsemester=-4 then bobotsemester:=1;
MUHAMMAD HAFIZ 1209011
42
//cari bobot penghasilan if gappenghasilan=0 then bobotpenghasilan:=5 else if gappenghasilan=1 then bobotpenghasilan:=4.5 else if gappenghasilan=-1 then bobotpenghasilan:=4 else if gappenghasilan=2 then bobotpenghasilan:=3.5 else if gappenghasilan=-2 then bobotpenghasilan:=3 else if gappenghasilan=3 then bobotpenghasilan:=2.5 else if gappenghasilan=-3 then bobotpenghasilan:=2 else if gappenghasilan=4 then bobotpenghasilan:=1.5 else if gappenghasilan=-4 then bobotpenghasilan:=1; //cari bobot pengeluaran if gappengeluaran=0 then bobotpengeluaran:=5 else if gappengeluaran=1 then bobotpengeluaran:=4.5 else if gappengeluaran=-1 then bobotpengeluaran:=4 else if gappengeluaran=2 then bobotpengeluaran:=3.5 else if gappengeluaran=-2 then bobotpengeluaran:=3 else if gappengeluaran=3 then bobotpengeluaran:=2.5 else if gappengeluaran=-3 then bobotpengeluaran:=2 else if gappengeluaran=4 then bobotpengeluaran:=1.5 else if gappengeluaran=-4 then bobotpengeluaran:=1; //cari bobot tanggungan if gaptanggungan=0 then bobottanggungan:=5 else if gaptanggungan=1 then bobottanggungan:=4.5 else if gaptanggungan=-1 then bobottanggungan:=4 else if gaptanggungan=2 then bobottanggungan:=3.5 else if gaptanggungan=-2 then bobottanggungan:=3 else if gaptanggungan=3 then bobottanggungan:=2.5 else if gaptanggungan=-3 then bobottanggungan:=2 else if gaptanggungan=4 then bobottanggungan:=1.5 else if gaptanggungan=-4 then bobottanggungan:=1; //cari nilai total cf totalcf:=0; jumlahcf:=0; if ketipk='CF' then begin totalcf:=totalcf+bobotipk; jumlahcf:=jumlahcf+1; end; if ketsemester='CF' then begin totalcf:=totalcf+bobotsemester; jumlahcf:=jumlahcf+1; end; if ketpenghasilan='CF' then begin totalcf:=totalcf+bobotpenghasilan; jumlahcf:=jumlahcf+1;
MUHAMMAD HAFIZ 1209011
43
end; if ketpengeluaran='CF' then begin totalcf:=totalcf+bobotpengeluaran; jumlahcf:=jumlahcf+1; end; if kettanggungan='CF' then begin totalcf:=totalcf+bobottanggungan; jumlahcf:=jumlahcf+1; end; //totalcf = totalcf / jumlahcf totalcf:=totalcf/jumlahcf; //totalcf = totalsf * bobot persen totalcf:=totalcf*(cf/100); //cari nilai total SF totalSF:=0; jumlahSF:=0; if ketipk='SF' then begin totalSF:=totalSF+bobotipk; jumlahSF:=jumlahSF+1; end; if ketsemester='SF' then begin totalSF:=totalSF+bobotsemester; jumlahSF:=jumlahSF+1; end; if ketpenghasilan='SF' then begin totalSF:=totalSF+bobotpenghasilan; jumlahSF:=jumlahSF+1; end; if ketpengeluaran='SF' then begin totalSF:=totalSF+bobotpengeluaran; jumlahSF:=jumlahSF+1; end; if kettanggungan='SF' then begin totalSF:=totalSF+bobottanggungan; jumlahSF:=jumlahSF+1; end; //totalsf = totalsf / jumlahsf totalsf:=totalsf/jumlahsf; //totalsf = totalsf * bobot persen totalsf:=totalsf*(sf/100); totalnilai:=totalcf+totalsf;
MUHAMMAD HAFIZ 1209011
44
with dmBeasiswa.QHasil do begin append; FieldByName('kode_pengajuan').AsString:=kode_pengajuan; FieldByName('tahun_pengajuan').AsString:=cbTahun.Text; FieldByName('no_identitas').AsString:=no_id; FieldByName('nama').AsString:=nama; FieldByName('universitas').AsString:=universitas; FieldByName('nilai_ipk').AsInteger:=nipk; FieldByName('nilai_semester').AsInteger:=nsemester; FieldByName('nilai_penghasilan').AsInteger:=npenghasilan; FieldByName('nilai_pengeluaran').AsInteger:=npengeluaran; FieldByName('nilai_tanggungan').AsInteger:=ntanggungan; FieldByName('total_nilai').AsString:=FormatFloat('0.##',totalnilai); FieldByName('keterangan').AsString:='x'; post; end; next; end; with dmBeasiswa.QHasil do begin sql.Clear; sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)+' order by total_nilai desc'); open; first; if recordcount>StrToInt(edDiterima.Text) then begin for i:=1 to StrToInt(edDiterima.Text) do begin edit; FieldByName('keterangan').AsString:='Diterima'; post; next; end; while not eof do begin edit; FieldByName('keterangan').AsString:='Tidak Diterima'; post; next; end; end else begin sql.Clear; sql.Add('update hasil_seleksi set keterangan='+QuotedStr('Diterima')+' where tahun_pengajuan='+QuotedStr(cbTahun.Text)); ExecSQL; sql.Clear;
MUHAMMAD HAFIZ 1209011
45
sql.Add('select * from hasil_seleksi where tahun_pengajuan='+QuotedStr(cbTahun.Text)); open; end; end; MessageDlg('Seleksi berhasil',mtInformation,[mbOK],0); FormHasilSeleksi.cbTahun.Text:=cbTahun.Text; FormHasilSeleksi.ShowModal; end; end; end; end; end; end.
MUHAMMAD HAFIZ 1209011
46